@signalk/n2k-signalk
Version:
NMEA 2000 to SignalK conversion library
59 lines • 2.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const ts_pgns_1 = require("@canboat/ts-pgns");
module.exports = [
{
pgnClass: ts_pgns_1.PGN_65288_SeatalkAlarm,
filter: function (n2k) {
return (typeof n2k.fields.alarmGroup !== 'undefined' &&
typeof n2k.fields.alarmStatus !== 'undefined');
},
node: function (n2k) {
var alarmName;
if (typeof n2k.fields.alarmId === 'string') {
alarmName = n2k.fields.alarmId.replace(/ /g, '');
}
else {
alarmName = `unknown${n2k.fields.alarmId}`;
}
var alarmGroup = n2k.fields.alarmGroup !== undefined ? n2k.fields.alarmGroup.toString() : "unknownGroup";
var path = alarmGroup.toLowerCase().replace(/ /g, '') + '.' + alarmName;
return 'notifications.' + path;
},
value: function (n2k) {
var state = n2k.fields.alarmStatus;
var method = ['visual'];
if (state === ts_pgns_1.SeatalkAlarmStatus.AlarmConditionMetAndNotSilenced) {
method.push('sound');
}
let notifState;
if (state == ts_pgns_1.SeatalkAlarmStatus.AlarmConditionNotMet) {
notifState = 'normal';
}
else {
notifState = 'alarm';
}
var alarmName;
const alarmId = n2k.fields.alarmId;
if (alarmId === undefined || typeof alarmId !== 'string') {
alarmName = `Unknown Seatalk Alarm ${alarmId}`;
}
else {
alarmName = alarmId;
if (notifState == 'alarm' &&
(alarmId === ts_pgns_1.SeatalkAlarmId.WpArrival ||
alarmId === ts_pgns_1.SeatalkAlarmId.PilotWayPointAdvance ||
alarmId === ts_pgns_1.SeatalkAlarmId.PilotRouteComplete)) {
notifState = 'alert';
}
}
return {
message: alarmName,
method: method,
state: notifState,
timestamp: n2k.timestamp
};
}
}
];
//# sourceMappingURL=65288.js.map