This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
sdk:gps-udp-client-gnsstogps [2019/07/09 13:49] – fachet | sdk:gps-udp-client-gnsstogps [2019/11/28 11:10] – fachet | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Background ====== | ||
+ | GPS was the first Global Navigation Satellite System (GNSS) and the termt GPS is often used as a synonym for GNSS. | ||
+ | |||
+ | Because of this older software only check for NMEA 0183 sentences starting with < | ||
+ | Unfortunately with newer GNSS receiver often multiple GNSS systems are used and therefore < | ||
+ | It would be better to us instead of < | ||
+ | |||
+ | < | ||
+ | " | ||
+ | BD = Beidu | ||
+ | GA = Galileo | ||
+ | GL = GLONASS | ||
+ | GP = GPS | ||
+ | GN = GNSS(multiple sources e.g. GPS " | ||
+ | " | ||
+ | RMC = Recommended Minimum Sentence C | ||
+ | GGA = Global Positioning System Fix Data | ||
+ | GNS = GNSS fixed data | ||
+ | GLL = Geographic Position - Latitude/ | ||
+ | |||
====== SDK Script gps-udp-client-GNSStoGPS.are ====== | ====== SDK Script gps-udp-client-GNSStoGPS.are ====== | ||
<code c gps-udp-client-gnsstogps.are> | <code c gps-udp-client-gnsstogps.are> | ||
Line 70: | Line 90: | ||
chars = explode(s); | chars = explode(s); | ||
for (i = 1; i < pos; i++) { /* skip $ and *XX */ | for (i = 1; i < pos; i++) { /* skip $ and *XX */ | ||
- | | + | c = ord(chars[i]); |
- | | + | |
cs ^= c; | cs ^= c; | ||
} | } | ||
Line 144: | Line 163: | ||
a_arr = explode(data); | a_arr = explode(data); | ||
a_arr[2] = " | a_arr[2] = " | ||
- | data = implode(a_arr); | + | data = checksum(implode(a_arr)); |
} | } | ||
/* skip all messages different from GPGGA | /* skip all messages different from GPGGA |