Example #1
0
 private void ORDER_moveIfChecked(e_rot rot)
 {
     if (GET_cbSendValuesToMotor(rot).IsChecked == true)
     {
         Ms[rot].ORDER_move();
     }
 }
Example #2
0
 //private void UPDATE_motorsFromSliders()
 //{
 //    //foreach(e_rot
 //}
 private void UPDATE_motorFromSlider(e_rot rot) //nn
 {
     if (C_State.FURTHER(e_stateMotor.ready))
     {
         Ms[rot].angleWanted.Dec = GET_slAngle(rot).Value;
         Ms[rot].speedWanted.Dec = GET_slSpeed(rot).Value;
     }
 }
Example #3
0
 public C_Packet(C_Motor _mot, byte _instructionByte, List <byte> _lsParameters = null)
 {
     byteId                 = _mot.id;
     rotMotor               = _mot.rotMotor;
     returnStatusLevel      = _mot.StatusReturnLevel;
     byteInstructionOrError = _instructionByte;
     Par = _lsParameters;
 }
Example #4
0
 private void UPDATE_slidersFromMotor(e_rot rot)  //nn
 {
     if (C_State.FURTHER(e_stateMotor.ready))
     {
         GET_slSpeed(rot).Value = Ms[rot].speedWanted.Dec;
         GET_slAngle(rot).Value = Ms[rot].angleWanted.Dec;
         //LOG_logger(string.Format("{0} = angle[{1}], speed[{2}]", rot, M(rot).angle.Dec, M(rot).speed.Dec));
     }
 }
Example #5
0
        private void SET_motStringsFromRegister(C_Motor mot)
        {
            e_rot rot = mot.rotMotor;

            // show it as byte
            SET_motStrings(rot,
                           string.Format("0x{0:X2}=\t{0}", //{0,4:###0}",
                                         mot.Reg.GET(address, regByteType).Val
                                         ));
        }
Example #6
0
 public float this[e_rot mot]
 {
     get
     {
         return(YawPitchRoll[(int)mot]);
     }
     set
     {
         YawPitchRoll[(int)mot] = value;
     }
 }
Example #7
0
        private void RAISE_PropertyChanged(e_rot rot)
        {
            switch (rot)
            {
            case (e_rot.yaw): onPropertyChanged(this, "yaw"); break;

            case (e_rot.pitch): onPropertyChanged(this, "pitch"); break;

            case (e_rot.roll): onPropertyChanged(this, "roll"); break;
            }
        }
Example #8
0
        //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        #endregion properties
        //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        public C_MotorControl()
            : base()
        {
            lock_yaw   = new object();
            lock_pitch = new object();
            lock_roll  = new object();
            M          = new List <C_Motor>();

            INIT_individualMotors();
            actMrot = e_rot.yaw;
        }
Example #9
0
        public CheckBox GET_cbSendValuesToMotor(e_rot rot)
        {
            switch (rot)
            {
            case (e_rot.yaw):
                return(cbSendValuesToMotorYaw);

            case (e_rot.pitch):
                return(cbSendValuesToMotorPitch);

            case (e_rot.roll):
                return(cbSendValuesToMotorRoll);
            }
            return(null);
        }
Example #10
0
        public Slider GET_slAngle(e_rot rot)
        {
            switch (rot)
            {
            case (e_rot.yaw):
                return(slAngleYaw);

            case (e_rot.pitch):
                return(slAnglePitch);

            case (e_rot.roll):
                return(slAngleRoll);
            }
            return(null);
        }
Example #11
0
        public Slider GET_slSpeed(e_rot rot)
        {
            switch (rot)
            {
            case (e_rot.yaw):
                return(slSpeedYaw);

            case (e_rot.pitch):
                return(slSpeedPitch);

            case (e_rot.roll):
                return(slSpeedRoll);
            }
            return(null);
        }
Example #12
0
 private void slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs <double> e)
 {
     if (C_State.FURTHER(e_stateMotor.ready))
     {
         Slider sl = sender as Slider;
         if (sl != null)
         {
             sl.Value = Math.Round(e.NewValue, 2);
             e_rot rot = GET_rot(sl);
             UPDATE_motorFromSlider(rot);
             UPDATE_slidersFromMotor(rot);
             ORDER_moveIfChecked(rot);
         }
         REFRESH_motorData();
     }
 }
Example #13
0
 public static bool GET_motorRotFromId(int id, out e_rot rot)
 {
     if (id == C_DynAdd.ID_BROADCAST)
     {
         rot = e_rot.yaw;
         return(false);
     }
     else
     {
         foreach (C_Motor mot in M)
         {
             if (mot.id == id)
             {
                 rot = mot.rotMotor;
                 return(true);
             }
         }
         rot = e_rot.yaw;
         return(false);
     }
 }
Example #14
0
        public C_Motor(e_rot _rot, byte _id, C_Value _angle, C_Value _speed)
        {
            id  = _id;
            reg = new C_ByteRegister();

            angleWanted = _angle;
            speedWanted = _speed;

            C_Value.angleFull.DecDefault = angleWanted.DecDefault;
            C_Value.angleFull.Dec        = angleWanted.Dec;
            angleSeen = new C_Value(C_Value.angleFull);
            speedSeen = new C_Value(C_Value.speedFull);
            angleSent = new C_Value(C_Value.angleFull);
            speedSent = new C_Value(C_Value.speedFull);



            rotMotor = _rot;
            switch (rotMotor)
            {
            case (e_rot.yaw):
                motorLog = e_LogMsgSource.mot_yaw;
                break;

            case (e_rot.pitch):
                motorLog = e_LogMsgSource.mot_pitch;
                break;

            case (e_rot.roll):
                motorLog = e_LogMsgSource.mot_roll;
                break;
            }

            //angleHex = new byte[2] { 0, 0 };
            if (cmdinEx_initialized == false)
            {
                INIT_cmdinEx();
            }
        }
Example #15
0
        public static void ACTUALIZE_motorRegister(e_rot rot, e_regByteType type, List <byte> pars)
        {
            if (pars.Count > 0)
            {
                byte   addressByte = pars[0];
                byte[] parValues   = pars.Skip(1).ToArray();

                C_Packet.LOG_statusPacket(string.Format(
                                              "Status OK - actualizing mot[{0}] register type[{1}]: From address[{2}]=[{3}], these values[{4}]",
                                              rot, type, addressByte, MainWindow.Ms[rot].Reg.GET_name(addressByte),
                                              C_CONV.byteArray2strHex_space(parValues)));
                foreach (byte byteValue in parValues)
                {
                    C_SPI.LOG_unimportant(string.Format(
                                              "going to acualize mot[{0}] register on address [{1}]",
                                              rot, addressByte
                                              ));
                    MainWindow.Ms[rot].ACTUALIZE_register(addressByte, byteValue, type);
                    addressByte++;
                }
            }
        }
Example #16
0
        public void GET_dataStringsForMotors(e_motorDataType _dataType)
        {
            //SystMessageBox.Show(str.ToString());

            foreach (C_Motor mot in MainWindow.Ms)
            {
                e_rot rot = mot.rotMotor;
                switch (_dataType)
                {
                case (e_motorDataType.angleWanted):
                    SET_motStrings(rot, string.Format(form_2dec + "°", mot.angleWanted.Dec));
                    break;

                case (e_motorDataType.angleSent):
                    SET_motStrings(rot, string.Format(form_2dec + "°", mot.angleSent.Dec));
                    break;

                case (e_motorDataType.angleSeen):
                    SET_motStrings(rot, string.Format(form_2dec + "°", mot.angleSeen.Dec));
                    break;

                case (e_motorDataType.speedWanted):
                    SET_motStrings(rot, string.Format(form_2dec + "RPM", mot.speedWanted.Dec_inRPM));
                    break;

                case (e_motorDataType.speedSent):
                    SET_motStrings(rot, string.Format(form_2dec + "RPM", mot.speedSent.Dec));
                    break;

                case (e_motorDataType.speedSeen):
                    SET_motStrings(rot, string.Format(form_2dec + "RPM", mot.speedSeen.Dec_inRPM));
                    break;

                case (e_motorDataType.packetsDiedOfOldAge):
                    SET_motStrings(rot, mot.packetsDiedOfOldAge.ToString());
                    break;

                case (e_motorDataType.packetsInLastSent):
                    SET_motStrings(rot, mot.packetsDiedOfOldAge.ToString());
                    break;

                case (e_motorDataType.LED):
                    SET_motStrings(rot, mot.LedValue.ToString());
                    break;

                case (e_motorDataType.LED_seen):
                    SET_motStrings(rot, mot.LedValueSeen.ToString());
                    break;

                case (e_motorDataType.statusReturnLevel):
                    SET_motStrings(rot, mot.StatusReturnLevel.ToString());
                    break;

                case (e_motorDataType.torqueEnable):
                    SET_motStrings(rot, mot.torqueEnable.ToString());
                    break;

                case (e_motorDataType.isMoving):
                    SET_motStrings(rot, mot.isMoving.ToString());
                    break;

                case (e_motorDataType.returnDelayTime):
                    SET_motStrings(rot, string.Format(form_2dec + "us", mot.returnDelayTime * 2));
                    break;


                case (e_motorDataType.regByteValue):
                    SET_motStringsFromRegister(mot);
                    break;
                }
            }
        }
Example #17
0
 public C_Motor this[e_rot rot]
 {
     get { return(M[(int)rot]); }
     set { M[(int)rot] = value; }
 }
Example #18
0
 public string this[e_rot rot]
 {
     get { return(GET_motStrings(rot)); }
     set { SET_motStrings(rot, value); }
 }
Example #19
0
 private string GET_motStrings(e_rot rot)
 {
     return(motStrings[(int)rot]);
 }
Example #20
0
 public static C_Motor GET_M(e_rot rot)
 {
     return(M[(int)rot]);
 }
Example #21
0
 private void SET_motStrings(e_rot rot, string value)
 {
     RAISE_PropertyChanged(rot);
     motStrings[(int)rot] = value;
 }