Example #1
0
        private WimuData readWimuData()
        {
            WimuData wimudata = new WimuData();
            string   message  = string.Empty;

            do
            {
                try
                {
                    message = wimuSerialPort.ReadLine();
                }
                catch
                {
                    //cancelar al trabajador
                    //retornar nada
                    trabajador.CancelAsync();
                    wimudata.SetNullValue();
                    return(wimudata);
                }
            }while (!message.StartsWith("#YPR") || !message.EndsWith("\r"));

            string[] words = message.Split('=', ',', '\r');
            //#YPR=Yaw, Pitch, Roll, Yaw+Pitch+Roll, alfa, beta, gama, alfa+beta+gama, timeStamp
            //ver si el último carácter es una "r" para saber si esta completo

            /*
             *  [0]: "#YPR"
             *  [1]: "-18.16" yaw
             *  [2]: "-10.29" pitch
             *  [3]: "21.03" roll
             *  [4]: "-7.42"
             *  [5]: "-3.60"
             *  [6]: "-30.02"
             *  [7]: "-4.13"
             *  [8]: "-37.75"
             *  [9]: "285980" timestamp
             *  [10]: ""
             */

            try
            {
                wimudata.yaw              = Convert.ToDouble(words[1], CultureInfo.InvariantCulture); // X YAW
                wimudata.pitch            = Convert.ToDouble(words[2], CultureInfo.InvariantCulture); // PITCH
                wimudata.roll             = Convert.ToDouble(words[3], CultureInfo.InvariantCulture); // Y ROLL
                wimudata.timeStampMiliSec = Convert.ToDouble(words[9], CultureInfo.InvariantCulture);
                wimudata.validValue       = true;
            }
            catch
            {
                wimudata.SetNullValue();
            }

            return(wimudata);
        }
Example #2
0
        private WimuData readWimuData()
        {
            WimuData wimudata = new WimuData();
            string message = string.Empty;

            do
            {
                try
                {
                    message = wimuSerialPort.ReadLine();
                }
                catch
                {
                    //cancelar al trabajador
                    //retornar nada
                    trabajador.CancelAsync();
                    wimudata.SetNullValue();
                    return wimudata;
                }

            }
            while (!message.StartsWith("#YPR") || !message.EndsWith("\r"));

            string[] words = message.Split('=',',','\r');
            //#YPR=Yaw, Pitch, Roll, Yaw+Pitch+Roll, alfa, beta, gama, alfa+beta+gama, timeStamp
            //ver si el último carácter es una "r" para saber si esta completo
            /*
                [0]: "#YPR"
                [1]: "-18.16" yaw
                [2]: "-10.29" pitch
                [3]: "21.03" roll
                [4]: "-7.42"
                [5]: "-3.60"
                [6]: "-30.02"
                [7]: "-4.13"
                [8]: "-37.75"
                [9]: "285980" timestamp
                [10]: ""
             */

            try
            {
                wimudata.yaw = Convert.ToDouble(words[1], CultureInfo.InvariantCulture); // X YAW
                wimudata.pitch = Convert.ToDouble(words[2], CultureInfo.InvariantCulture); // PITCH
                wimudata.roll = Convert.ToDouble(words[3], CultureInfo.InvariantCulture); // Y ROLL
                wimudata.timeStampMiliSec = Convert.ToDouble(words[9], CultureInfo.InvariantCulture);
                wimudata.validValue = true;
            }
            catch
            {
                wimudata.SetNullValue();
            }

            return wimudata;
        }