UNPKG

@signalk/n2k-signalk

Version:

NMEA 2000 to SignalK conversion library

59 lines 2.29 kB
"use strict"; 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