Ejemplo n.º 1
0
        private void bw_serial_data_DoWork(object sender, DoWorkEventArgs e)
        {
            string[] received_serial_data;
            float    yaw, pitch, roll;


            SerialData Data = new SerialData();

            Data.OpenConn(this.COM_port.Text, 115200);

            while (!bw_serial_data.CancellationPending)
            {
                try
                {
                    received_serial_data = Data.receive_serial_data();

                    pitch = float.Parse(received_serial_data[0], CultureInfo.InvariantCulture.NumberFormat);
                    roll  = float.Parse(received_serial_data[1], CultureInfo.InvariantCulture.NumberFormat);
                    yaw   = float.Parse(received_serial_data[2], CultureInfo.InvariantCulture.NumberFormat);

                    Sensors_structure serial_data = new Sensors_structure();
                    serial_data.pitch = pitch;
                    serial_data.roll  = roll;
                    serial_data.yaw   = yaw;

                    bw_serial_data.ReportProgress(0, serial_data);
                }
                catch (Exception error)
                {
                    //MessageBox.Show(error.ToString());
                    //bw_serial_data.CancelAsync();
                    //Data.port.Close();
                }
            }

            Data.port.Close();
            e.Result = 0;
        }
Ejemplo n.º 2
0
        private void bw_serial_data_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            Sensors_structure serial_display_data = new Sensors_structure();

            serial_display_data = e.UserState as Sensors_structure;



            sender_info.Text = serial_display_data.pitch.ToString() + ',' + serial_display_data.roll.ToString() + ',' + serial_display_data.yaw.ToString();

            yaw_dcm.Text   = serial_display_data.yaw.ToString();
            pitch_dcm.Text = serial_display_data.pitch.ToString();
            roll_dcm.Text  = serial_display_data.roll.ToString();

            //offset compensated yaw
            float compensated_yaw = serial_display_data.yaw - f_yaw_offset;

            graphics.userControl11.Rotate(serial_display_data.roll, serial_display_data.pitch, compensated_yaw);

            chart_1.euler_angles[0] = serial_display_data.yaw;
            chart_1.euler_angles[1] = serial_display_data.pitch;
            chart_1.euler_angles[2] = serial_display_data.roll;
        }