GPS, decoding of NEMA strings
H2O2
Posts: 9
Hi!
I am in the process of developing an GPS based navigator, the exact functionality is not yet decided...
However, during this work I've been using an object for decoding NEMA strings aka GPS_IO_mini.spin.
This routine have some 'glitches'...
The problems discovered and fixed are:
1. Failure of decoding the last field in NEMA strings.
No comma character present, '*' is the last character!
2. Empty NEMA fields are now assigned an address to a null character.
3. Preventing access to the pointers to the decoded NEMA fields
while 'copy_buffer' is executing.
4. Removed decoding of $PGRMZ as it is never received...
Furthermore the following enhancements is introduced:
1. Validation of the NEMA checksum.
2. Added decoding of the $GPGSA string.
3. Conserving memory requirements by changing the declaration of some variables from
LONG to WORD and WORD to BYTE.
Attached please find the updated routine, GPS_IO_mini_full.spin.
//G
I am in the process of developing an GPS based navigator, the exact functionality is not yet decided...
However, during this work I've been using an object for decoding NEMA strings aka GPS_IO_mini.spin.
This routine have some 'glitches'...
The problems discovered and fixed are:
1. Failure of decoding the last field in NEMA strings.
No comma character present, '*' is the last character!
2. Empty NEMA fields are now assigned an address to a null character.
3. Preventing access to the pointers to the decoded NEMA fields
while 'copy_buffer' is executing.
4. Removed decoding of $PGRMZ as it is never received...
Furthermore the following enhancements is introduced:
1. Validation of the NEMA checksum.
2. Added decoding of the $GPGSA string.
3. Conserving memory requirements by changing the declaration of some variables from
LONG to WORD and WORD to BYTE.
Attached please find the updated routine, GPS_IO_mini_full.spin.
//G
Comments
It stands for National Marine Electronic Association, if I remember correctly.