45 lines
1.2 KiB
JavaScript
45 lines
1.2 KiB
JavaScript
/*
|
|
=== GSA - GPS DOP and active satellites ===
|
|
|
|
This is one of the sentences commonly emitted by GPS units.
|
|
|
|
------------------------------------------------------------------------------
|
|
1 2 3 4 14 15 16 17 18
|
|
| | | | | | | | |
|
|
$--GSA,a,a,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x.x,x.x,x.x*hh
|
|
------------------------------------------------------------------------------
|
|
|
|
Field Number:
|
|
|
|
1) Selection mode
|
|
2) Mode
|
|
3) ID of 1st satellite used for fix
|
|
4) ID of 2nd satellite used for fix
|
|
...
|
|
14) ID of 12th satellite used for fix
|
|
15) PDOP in meters
|
|
16) HDOP in meters
|
|
17) VDOP in meters
|
|
18) Checksum
|
|
*/
|
|
exports.TYPE = 'active-satellites';
|
|
exports.ID = 'GSA';
|
|
|
|
exports.decode = function(fields) {
|
|
// $GPGSA,A,3,12,05,25,29,,,,,,,,,9.4,7.6,5.6
|
|
var sats = [];
|
|
for (var i=1; i < 13; i++) {
|
|
if (fields[i+2]) sats.push(+fields[i+2]);
|
|
};
|
|
return {
|
|
sentence: exports.ID,
|
|
type: exports.TYPE,
|
|
selectionMode: fields[1],
|
|
mode: +fields[2],
|
|
satellites: sats,
|
|
PDOP: +fields[15],
|
|
HDOP: +fields[16],
|
|
VDOP: +fields[17],
|
|
systemId: +fields[18]
|
|
};
|
|
} |