Esempio n. 1
0
        public void GenerateConfigPortMessage()
        {
            Configuration.Port cfg_prt = new Configuration.Port()
            {
                PortID          = 1,
                StopBit         = Configuration.Port.StopBitType.OneStop,
                Parity          = Configuration.Port.ParityType.NoParity,
                CharacterLength = Configuration.Port.CharacterLengthType.Bit8,
                BaudRate        = 115200,
                InputProtocol   = Configuration.Port.Protocol.UBX | Configuration.Port.Protocol.NMEA,
                OutputProtocol  = Configuration.Port.Protocol.UBX | Configuration.Port.Protocol.NMEA
            };

            var generated_data = cfg_prt.ToBinaryData();

            byte[] correct = { 0xB5, 0x62, 0x06, 0x00,
                               0x14, 0x00, 0x01, 0x00,
                               0x00, 0x00, 0xD0, 0x08,
                               0x00, 0x00, 0x00, 0xC2,
                               0x01, 0x00, 0x03, 0x00,
                               0x03, 0x00, 0x00, 0x00,
                               0x00, 0x00, 0xBC, 0x5E };

            Assert.AreEqual(correct.Length, generated_data.Length, "Content Length");

            for (int i = 0; i < correct.Length; i++)
            {
                if (correct[i] != generated_data[i])
                {
                    Assert.Fail("Incorrect data on index: " + i);
                    break;
                }
            }
        }
Esempio n. 2
0
        private async void Page_Loaded(object sender, RoutedEventArgs e)
        {
            string aqs = SerialDevice.GetDeviceSelector();
            var    dis = await DeviceInformation.FindAllAsync(aqs);

            Configuration.Port cfg_prt = new Configuration.Port()
            {
                PortID          = 1,
                StopBit         = Configuration.Port.StopBitType.OneStop,
                Parity          = Configuration.Port.ParityType.NoParity,
                CharacterLength = Configuration.Port.CharacterLengthType.Bit8,
                BaudRate        = 115200,
                InputProtocol   = Configuration.Port.Protocol.UBX,
                OutputProtocol  = Configuration.Port.Protocol.UBX
            };

            gps = new UBXSerialGPS(dis[0], cfg_prt);
            gps.MessageReceived += Gps_MessageReceived;


            statusTextBox.Text = "GPS Started";

            await gps.Start();

            statusTextBox.Text = "GPS init completed";

            Configuration.Message cfg_msg = Configuration.Message.GetConfigurationForType <Navigation.GeodeticPosition>();

            bool res = await gps.WriteConfigAsync(cfg_msg);

            if (res)
            {
                statusTextBox.Text = "Success configuring message";
                await Task.Delay(5000);
            }
            else
            {
                statusTextBox.Text = "Failed configuring message";
                await Task.Delay(5000);
            }

            statusTextBox.Text = "Polling message Monitor Receiver Status";
            Navigation.Clock resp = await gps.PollMessageAsync <Navigation.Clock>();

            if (resp != null)
            {
                statusTextBox.Text = "Poll message success: " + resp.TimeMillisOfWeek;
            }
            else
            {
                statusTextBox.Text = "Poll message failed";
            }

            var status = await gps.PollMessageAsync <Navigation.Status>();

            if (resp != null)
            {
                statusTextBox.Text = "Poll status success- Time to first fix: " + status.TimeToFirstFix;
            }
            else
            {
                statusTextBox.Text = "Poll status failed";
            }
        }