Skip to content

Commit

Permalink
Create NmeaChecksum.h
Browse files Browse the repository at this point in the history
  • Loading branch information
mgrouch authored Nov 5, 2024
1 parent 8824b5f commit de3865e
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions bbn_m5atomS3_lite_env/NmeaChecksum.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#ifndef NmeaChecksum_h
#define NmeaChecksum_h

#define NMEA_END_CHAR_1 '\r'

/*
NMEA-0183 checksum
*/

uint8_t nmea0183_checksum(const char *sentence);

uint8_t nmea0183_checksum(const char *sentence) {
const char *n = sentence + 1;
uint8_t chk = 0;
/* While current char isn't '*' or sentence ending (newline) */
while ('*' != *n && NMEA_END_CHAR_1 != *n && '\0' != *n) {
chk ^= (uint8_t) *n;
n++;
}
return chk;
}

#endif

0 comments on commit de3865e

Please sign in to comment.