@@ -95,14 +95,22 @@ const uint8_t rawDataStream[] =
9595 0xa3 , 0x2a , 0x00 , 0x00 , 0x00 , 0xf6 , 0x8e , 0xaa ,
9696 0xaa , 0x00 , 0x40 , 0x3f , 0x50 , 0x69 , 0x70 ,
9797
98- // Message too long
99- 0xb5 , // 0x160
100- 0x62 , 0x02 , 0x13 , 0x29 , 0x00 , 0x02 , 0x09 , 0x05 ,
101- 0x00 , 0x08 , 0x40 , 0x02 , 0x43 , 0x55 , 0x55 , 0x95 ,
102- 0x00 , 0x55 , 0x55 , 0x55 , 0x55 , 0x55 , 0x55 , 0x55 ,
103- 0x55 , 0x00 , 0x40 , 0xbd , 0x52 , 0x00 , 0x00 , 0xe5 ,
104- 0xa3 , 0x2a , 0x00 , 0x00 , 0x00 , 0xf6 , 0x8e , 0xaa ,
105- 0xaa , 0x00 , 0x40 , 0x3f , 0x50 , 0x00 , 0x6a , 0x05 ,
98+ // Message too long - needs BUFFER_LENGTH of at least 100 bytes
99+ // Valid u-blox NAV-PVT message // 0x160
100+ 0xB5 ,0x62 ,0x01 ,0x07 ,0x5C ,0x00 , // Header
101+ 0x50 ,0x32 ,0x20 ,0x17 ,0xE3 ,0x07 ,0x0A ,0x11 , // Payload
102+ 0x0B ,0x2E ,0x08 ,0x37 ,0x0F ,0x00 ,0x00 ,0x00 ,
103+ 0x2E ,0x3A ,0x01 ,0x00 ,0x03 ,0x01 ,0xEA ,0x0F ,
104+ 0x46 ,0x4E ,0x44 ,0x04 ,0xFE ,0x81 ,0x90 ,0x1E ,
105+ 0x03 ,0x9A ,0x03 ,0x00 ,0x46 ,0xE4 ,0x02 ,0x00 ,
106+ 0xD3 ,0x10 ,0x00 ,0x00 ,0xB9 ,0x1B ,0x00 ,0x00 ,
107+ 0x89 ,0xFF ,0xFF ,0xFF ,0xE5 ,0xFF ,0xFF ,0xFF ,
108+ 0x7C ,0xFF ,0xFF ,0xFF ,0x7A ,0x00 ,0x00 ,0x00 ,
109+ 0x63 ,0xFD ,0xC9 ,0x00 ,0xFF ,0x01 ,0x00 ,0x00 ,
110+ 0x1C ,0x0D ,0x4B ,0x00 ,0x8D ,0x00 ,0x00 ,0x00 ,
111+ 0xB8 ,0x41 ,0x47 ,0x3D ,0x00 ,0x00 ,0x00 ,0x00 ,
112+ 0x00 ,0x00 ,0x00 ,0x00 ,
113+ 0x9D ,0x7C // Checksum
106114};
107115
108116// Number of bytes in the rawDataStream
@@ -178,6 +186,20 @@ void processMessage(SEMP_PARSE_STATE *parse, uint16_t type)
178186 Serial.println ();
179187 sempPrintParserConfiguration (parse, &Serial);
180188 }
189+
190+ // Test UBX data parse routines
191+ if (sempUbloxGetMessageClass (parse) == 0x01 ) // Class: NAV
192+ if (sempUbloxGetMessageId (parse) == 0x07 ) // ID: PVT
193+ {
194+ Serial.println (" UBX-NAV-PVT:" );
195+ Serial.printf (" Payload Length: %d\r\n " , sempUbloxGetPayloadLength (parse));
196+ Serial.printf (" iTOW: %ld\r\n " , sempUbloxGetU4 (parse, 0 ));
197+ Serial.printf (" Year: %d\r\n " , sempUbloxGetU2 (parse, 4 ));
198+ Serial.printf (" Month: %d\r\n " , sempUbloxGetU1 (parse, 6 ));
199+ Serial.printf (" Day: %d\r\n " , sempUbloxGetU1 (parse, 7 ));
200+ Serial.printf (" Latitude: %ld\r\n " , sempUbloxGetI4 (parse, 28 ));
201+ Serial.printf (" Longitude: %ld\r\n " , sempUbloxGetI4 (parse, 24 ));
202+ }
181203}
182204
183205// Display the contents of a buffer
0 commit comments