Skip to content

Commit d934b50

Browse files
committed
add ublox decode test
1 parent 670fabc commit d934b50

File tree

1 file changed

+29
-21
lines changed

1 file changed

+29
-21
lines changed

sunray/src/ublox/ublox.cpp

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -66,30 +66,38 @@ void UBLOX::begin(){
6666

6767
CONSOLE.print("sizeof(int64_t):");
6868
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;
8473
payload[14] = 0xFF;
8574
payload[15] = 0xFF;
8675
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+
}
9198
}
9299

100+
93101
void UBLOX::begin(Client &client, char *host, uint16_t port){
94102
CONSOLE.println("UBLOX::begin tcp");
95103
useTCP = true;
@@ -628,8 +636,8 @@ long UBLOX::unpack_int8(int offset) {
628636
}
629637

630638
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
633641
if (verbose){
634642
CONSOLE.print("UNPACK: ofs=");
635643
CONSOLE.print(offset);

0 commit comments

Comments
 (0)