Exemplo n.º 1
0
 private void btnSetForce3_Click(object sender, EventArgs e)
 {
     if (USBSerial.advConfig.max_hall_value1 > 100)
     {
         int force = Int32.Parse(cbxForce3.GetItemText(cbxForce3.SelectedItem));
         USBSerial.SetServoAngle(2, (int)USBSerial.map(force, 0, 100, USBSerial.advConfig.min_servo_angle3, USBSerial.advConfig.max_servo_angle3));
     }
 }
Exemplo n.º 2
0
 private void btnSetMaxAngle3_Click(object sender, EventArgs e)
 {
     if (USBSerial.advConfig.max_hall_value1 > 100)
     {
         int angle = 0;
         if (Int32.TryParse(txtMaxServoAngle3.Text, out angle) && angle <= 180 && angle >= 0)
         {
             USBSerial.SetServoAngle(2, angle);
         }
     }
 }
Exemplo n.º 3
0
        private void updateSharedMemory()
        {
            int force1 = -1;
            int force2 = -1;
            int force3 = -1;

            try
            {
                smMutex.WaitOne();
                // read force set data
                Marshal.Copy(smAddr, smData.data, 0, (int)SMPos.sm_set_length);
                force1 = smData.getAimForce1();
                force2 = smData.getAimForce2();
                force3 = smData.getAimForce3();
                // clear setting flag
                smData.setAimForce1(-1);
                smData.setAimForce2(-1);
                smData.setAimForce3(-1);
                smData.setData();
                Marshal.Copy(smData.data, 0, smAddr, (int)SMPos.sm_length);
                sharedMemoryLastTime = DateTime.Now.Ticks / 10000;
            }
            catch (Exception ex)
            {
                MessageBox.Show("更新共享内存出错:" + ex.Message);
            }
            finally
            {
                smMutex.ReleaseMutex();
            }

            // check if aim forces are set
            if (force1 >= 0)
            {
                USBSerial.SetServoAngle(0, (int)USBSerial.map(force1, 0, 100, USBSerial.advConfig.min_servo_angle1, USBSerial.advConfig.max_servo_angle1));
            }

            if (force2 >= 0)
            {
                USBSerial.SetServoAngle(1, (int)USBSerial.map(force2, 0, 100, USBSerial.advConfig.min_servo_angle2, USBSerial.advConfig.max_servo_angle2));
            }

            if (force3 >= 0)
            {
                USBSerial.SetServoAngle(2, (int)USBSerial.map(force3, 0, 100, USBSerial.advConfig.min_servo_angle3, USBSerial.advConfig.max_servo_angle3));
            }
        }