NMEA-0183 语句解析器,含 21 个语句类型 codec 与配套单元测试。 - codecs/:APB/BWC/DBT/GGA/GLL/GRMT/GSA/GSV/HDG/HDM/HDT/MWV/RDID/ RMB/RMC/ROT/RSA/TXT/VTG/VWR/ZDA - test/:各 codec 对应的 mocha 用例 - .github/workflows/:node与 npm-publish 流水线 许可证:MIT(原作者 James Penn)
36 lines
896 B
JavaScript
36 lines
896 B
JavaScript
var helpers = require("../helpers.js")
|
|
/*
|
|
=== ROT - Rate Of Turn ===
|
|
|
|
------------------------------------------------------------------------------
|
|
1 2 3
|
|
| | |
|
|
$--ROT,x.x,A*hh<CR><LF>
|
|
------------------------------------------------------------------------------
|
|
|
|
Field Number:
|
|
|
|
1. Rate Of Turn, degrees per minute, "-" means bow turns to port
|
|
2. Status, "A" means data is valid
|
|
3. Checksum
|
|
*/
|
|
exports.TYPE = 'rate-of-turn';
|
|
exports.ID = 'ROT';
|
|
|
|
exports.decode = function (fields) {
|
|
return {
|
|
sentence: exports.ID,
|
|
type: exports.TYPE,
|
|
rateOfTurn: +fields[1],
|
|
valid: fields[2] === "A",
|
|
}
|
|
};
|
|
|
|
exports.encode = function (talker, msg) {
|
|
var result = ['$' + talker + exports.ID];
|
|
result.push(helpers.encodeFixed(msg.rateOfTurn, 2));
|
|
result.push('A');
|
|
var resultMsg = result.join(',');
|
|
return resultMsg + helpers.computeChecksum(resultMsg);
|
|
}
|