Ejemplo n.º 1
0
 public SensorsDialog(ConnectionContext connection)
 {
     InitializeComponent();
     Accelerations.StartPolling(connection);
     updateThread = new Thread(UpdateInstruments);
     updateThread.IsBackground = true;
     updateThread.Start();
 }
 public double ChangeAccelerationUnit(double AccelerationValue, Accelerations fromAccelerationUnit, Accelerations toAccelerationUnit)
 {
     object[] results = this.Invoke("ChangeAccelerationUnit", new object[] {
         AccelerationValue,
         fromAccelerationUnit,
         toAccelerationUnit
     });
     return((double)(results[0]));
 }
 /// <remarks/>
 public void ChangeAccelerationUnitAsync(double AccelerationValue, Accelerations fromAccelerationUnit, Accelerations toAccelerationUnit, object userState)
 {
     if ((this.ChangeAccelerationUnitOperationCompleted == null))
     {
         this.ChangeAccelerationUnitOperationCompleted = new System.Threading.SendOrPostCallback(this.OnChangeAccelerationUnitOperationCompleted);
     }
     this.InvokeAsync("ChangeAccelerationUnit", new object[] {
         AccelerationValue,
         fromAccelerationUnit,
         toAccelerationUnit
     }, this.ChangeAccelerationUnitOperationCompleted, userState);
 }
Ejemplo n.º 4
0
        private void ConnectButton_Click(object sender, EventArgs e)
        {
            Button button = (Button)sender;

            if (button.Text.Equals("Connect"))
            {
                this.openConnection = connectionManager.GetConnectionContext(selectedConnection);
                if (openConnection.OpenConnection())
                {
                    //check authorization
                    string userPassword = null;
                    //TODO: Figure out if API will close socket or not.
                    while (!openConnection.Authorize())
                    {
                        //prompt user for correct password
                        userPassword = Dialog.ShowPrompt("Password Please:", selectedConnection.Password);
                        selectedConnection.Password = userPassword;
                        openConnection.connection   = selectedConnection;
                        connectionManager.Save(selectedConnection);
                        if (userPassword.Equals(""))
                        {
                            return;
                        }
                    }
                    //TODO: Refactor maybe
                    button.Text = "Disconnect";
                    //Accelerations.StartPolling(openConnection);
                    setConnectionListItemDisplayConnected(true);
                    //start mesh if controller available
                    if (SelectedController != null && ControllerManager.IsControllerConnected(SelectedController))
                    {
                        InitiateMesh();
                    }
                }
                else
                {
                    Dialog.ShowMessageDialog("Error Opening Connection to ROV. Most likely Connection Refused.");
                }
            }
            else
            {
                StopMesh();
                Accelerations.StopPolling();
                openConnection.Close();
                button.Text = "Connect";
                //TODO: Refactor
                setConnectionListItemDisplayConnected(false);
            }
        }
Ejemplo n.º 5
0
        public override bool Run()
        {
            // There is no input assumed. This is a dedicated acceleration sensor.

            vRadius = MassBalance.StructuralToBody(vLocation);

            //aircraft forces
            vAccel = (Accelerations.GetBodyAccel()
                      + Accelerations.GetPQRidot() * vRadius
                      + Propagate.GetPQRi() * (Propagate.GetPQRi() * vRadius));

            // transform to the specified orientation
            vAccel = sensorOrientation.mT * vAccel;

            input = vAccel[sensorOrientation.axis - 1];

            ProcessSensorSignal();

            SetOutput();

            return(true);
        }
 /// <remarks/>
 public void ChangeAccelerationUnitAsync(double AccelerationValue, Accelerations fromAccelerationUnit, Accelerations toAccelerationUnit)
 {
     this.ChangeAccelerationUnitAsync(AccelerationValue, fromAccelerationUnit, toAccelerationUnit, null);
 }
Ejemplo n.º 7
0
 private void SensorsDialog_FormClosing(object sender, FormClosingEventArgs e)
 {
     Accelerations.StopPolling();
     updateThread.Abort();
 }