private void TcpDataProcess(Object sender, TcpTransmissionEventArgs e)
        {
            byte[] data = e.Data;
            string resp = Encoding.Default.GetString(data);

            if (resp.Contains("ACK"))
            {
                ackCount++;
                SetLabelText(ackCountLabel, ackCount.ToString());
            }
        }
        private void TcpReadBackDataProcess(Object sender, TcpTransmissionEventArgs e)
        {
            byte[] data = e.Data;
            if (data.Length != 15)
            {
                return;
            }
            var roll_imu  = BitConverter.ToInt16(data, 2);
            var roll_abs  = BitConverter.ToInt16(data, 4);
            var pitch_imu = BitConverter.ToInt16(data, 6);
            var pitch_abs = BitConverter.ToInt16(data, 8);
            var yaw_imu   = BitConverter.ToInt16(data, 10);
            var yaw_abs   = BitConverter.ToInt16(data, 12);

            SetTextBox(currentRollTextBox, roll_abs.ToString());
            SetTextBox(currentPitchTextBox, pitch_abs.ToString());
            SetTextBox(currentYawTextBox, yaw_abs.ToString());

            var msg = "Read IMU_angles: [" + roll_imu.ToString() + " " + pitch_imu.ToString() + " " + yaw_imu.ToString() + "]" + Environment.NewLine;

            SetRichTextBox(richTextBox1, msg);
            msg = "Read abs_angles_ref_home: [" + roll_abs.ToString() + " " + pitch_abs.ToString() + " " + yaw_abs.ToString() + "]" + Environment.NewLine;
            SetRichTextBox(richTextBox1, msg);
        }