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; } } }
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"; } }