MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / validateChecksum

Function validateChecksum

app/rcc/scripts/parser/js/nmea_0183.js:136–150  ·  view source on GitHub ↗

* Validates NMEA checksum. * Checksum is XOR of all characters between $ and *.

(sentence)

Source from the content-addressed store, hash-verified

134 * Checksum is XOR of all characters between $ and *.
135 */
136function validateChecksum(sentence) {
137 var starPos = sentence.indexOf('*');
138 if (starPos === -1)
139 return false;
140
141 var data = sentence.substring(1, starPos);
142 var checksumStr = sentence.substring(starPos + 1);
143 var expectedChecksum = parseInt(checksumStr, 16);
144
145 var calculatedChecksum = 0;
146 for (var i = 0; i < data.length; i++)
147 calculatedChecksum ^= data.charCodeAt(i);
148
149 return calculatedChecksum === expectedChecksum;
150}
151
152//------------------------------------------------------------------------------
153// Frame Parser Function

Callers 1

parseFunction · 0.70

Calls 1

indexOfMethod · 0.45

Tested by

no test coverage detected