@@ -66,30 +66,38 @@ void UBLOX::begin(){
66
66
67
67
CONSOLE.print (" sizeof(int64_t):" );
68
68
CONSOLE.println (sizeof (int64_t ));
69
-
70
-
71
- // relPosN... PAYLOAD: ofs=8size=4 2D,6,0,0, relPosN: 15.81
72
- /*
73
- payload[8] = 0x2D;
74
- payload[9] = 0x06;
75
- payload[10] = 0x00;
76
- payload[11] = 0x00;
77
- relPosN = ((float)(int)this->unpack_int32(8))/100.0;
78
- CONSOLE.print("test relPosN=");
79
- CONSOLE.println(relPosN);
80
-
81
- // relPosE... PAYLOAD: ofs=12size=4 95,F9,FF,FF, relPosE: 42949656.00 (wrong)
82
- payload[12] = 0x95;
83
- payload[13] = 0xF9;
69
+
70
+ // ---- UBX-NAV-RELPOSNED decode test (will detect compiler conversion issues) -----------
71
+ payload[12 ] = 0x10 ;
72
+ payload[13 ] = 0xFD ;
84
73
payload[14 ] = 0xFF ;
85
74
payload[15 ] = 0xFF ;
86
75
relPosE = ((float )(int )this ->unpack_int32 (12 ))/100.0 ;
87
- CONSOLE.print("test relPosE=");
88
- CONSOLE.println(relPosE);
89
- exit(0);
90
- */
76
+ CONSOLE.print (" ublox UBX-NAV-RELPOSNED decode test: relPosE=" );
77
+ CONSOLE.print (relPosE,2 );
78
+ if (abs (relPosE- -7.52 ) < 0.01 ) {
79
+ CONSOLE.println (" TEST SUCCEEDED" );
80
+ } else {
81
+ CONSOLE.println (" TEST FAILED" );
82
+ }
83
+
84
+ // ---- UBX-NAV-HPPOSLLH decode test (will detect compiler conversion issues) -----------
85
+ payload[12 ] = 0xA1 ;
86
+ payload[13 ] = 0x62 ;
87
+ payload[14 ] = 0x27 ;
88
+ payload[15 ] = 0x1F ;
89
+ payload[25 ] = 0xE2 ;
90
+ double lat = 1e-7 * ( ((float )((int32_t )this ->unpack_int32 (12 ))) + ((float )((int8_t )this ->unpack_int8 (25 ))) * 1e-2 );
91
+ CONSOLE.print (" ublox UBX-NAV-HPPOSLLH decode test: lat=" );
92
+ CONSOLE.print (lat,8 );
93
+ if (abs (lat- 52.26748477 ) < 0.00000001 ) {
94
+ CONSOLE.println (" TEST SUCCEEDED" );
95
+ } else {
96
+ CONSOLE.println (" TEST FAILED" );
97
+ }
91
98
}
92
99
100
+
93
101
void UBLOX::begin (Client &client, char *host, uint16_t port){
94
102
CONSOLE.println (" UBLOX::begin tcp" );
95
103
useTCP = true ;
@@ -628,8 +636,8 @@ long UBLOX::unpack_int8(int offset) {
628
636
}
629
637
630
638
long UBLOX::unpack (int offset, int size) {
631
- // relPosN... PAYLOAD: ofs=8size=4 2D,6,0,0, relPosN: 15.81
632
- // relPosE... PAYLOAD: ofs=12size =4 95,F9,FF,FF, relPosE: 42949656.00
639
+ // relPosN... PAYLOAD: ofs=8 size=4 2D,6,0,0, relPosN: 15.81
640
+ // relPosE... PAYLOAD: ofs=12 size =4 95,F9,FF,FF, relPosE: 42949656.00
633
641
if (verbose){
634
642
CONSOLE.print (" UNPACK: ofs=" );
635
643
CONSOLE.print (offset);
0 commit comments