fix #1928 valid NMEA sentences

raytac-diy
Thomas Göttgens 2022-11-09 23:42:52 +01:00
rodzic 4dd140a887
commit b004706eff
1 zmienionych plików z 6 dodań i 3 usunięć

Wyświetl plik

@ -17,7 +17,10 @@
uint32_t printWPL(char *buf, const Position &pos, const char *name)
{
uint32_t len = sprintf(buf, "$GNWPL,%07.2f,%c,%08.2f,%c,%s", pos.latitude_i * 1e-5, pos.latitude_i < 0 ? 'S' : 'N', pos.longitude_i * 1e-5, pos.longitude_i < 0 ? 'W' : 'E', name);
uint32_t len = sprintf(buf, "$GNWPL,%07.2f,%c,%08.2f,%c,%s",
abs(pos.latitude_i) * 1e-5, pos.latitude_i < 0 ? 'S' : 'N',
abs(pos.longitude_i) * 1e-5, pos.longitude_i < 0 ? 'W' : 'E',
name);
uint32_t chk = 0;
for (uint32_t i = 1; i < len; i++) {
chk ^= buf[i];
@ -55,8 +58,8 @@ uint32_t printGGA(char *buf, const Position &pos)
uint32_t len = sprintf(buf, "$GNGGA,%06u.%03u,%07.2f,%c,%08.2f,%c,%u,%02u,%04u,%04d,%c,%04d,%c,%d,%04d",
pos.time / 1000,
pos.time % 1000,
pos.latitude_i * 1e-5, pos.latitude_i < 0 ? 'S' : 'N',
pos.longitude_i * 1e-5, pos.longitude_i < 0 ? 'W' : 'E',
abs(pos.latitude_i) * 1e-5, pos.latitude_i < 0 ? 'S' : 'N',
abs(pos.longitude_i) * 1e-5, pos.longitude_i < 0 ? 'W' : 'E',
pos.fix_type,
pos.sats_in_view,
pos.HDOP,