@signalk/n2k-signalk
Version:
NMEA 2000 to SignalK conversion library
125 lines • 4.72 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const ts_pgns_1 = require("@canboat/ts-pgns");
const debug = require('debug')('n2k-signalk-126720');
const camelcase_1 = __importDefault(require("camelcase"));
module.exports = [
{
// Display Brightness
pgnClass: ts_pgns_1.PGN_126720_Seatalk1DisplayBrightness,
filter: function (n2k) {
return (n2k.fields.group !== undefined);
},
node: (n2k) => {
return `electrical.displays.raymarine.${(0, camelcase_1.default)(n2k.fields.group.toString())}.brightness`;
},
allowNull: true,
value: (n2k) => {
let val = n2k.fields.brightness;
return val !== undefined ? val / 100.0 : null;
}
},
{
// Display Color
pgnClass: ts_pgns_1.PGN_126720_Seatalk1DisplayColor,
filter: function (n2k) {
return (n2k.fields.group !== undefined &&
n2k.fields.color !== undefined);
},
node: (n2k) => {
return `electrical.displays.raymarine.${(0, camelcase_1.default)(n2k.fields.group.toString())}.color`;
},
allowNull: true,
value: (n2k) => {
return (0, camelcase_1.default)(n2k.fields.color.toString());
}
},
{
pgnClass: ts_pgns_1.PGN_126720_Seatalk1PilotMode,
// filters for SmartPilot behind Seatalk-STNG-Converter
filter: function (n2k) {
return (typeof n2k.fields.pilotMode !== undefined &&
typeof n2k.fields.subMode !== undefined);
},
node: 'steering.autopilot.state',
value: function (n2k) {
var mode = n2k.fields.pilotMode;
var subMode = Number(n2k.fields.subMode);
if (n2k.fields.pilotMode == 10) {
}
if ((mode == 0 || mode == ts_pgns_1.SeatalkPilotMode.Standby || mode == 68 || mode == 72) &&
subMode == 0) {
return 'standby';
}
else if (mode == ts_pgns_1.SeatalkPilotMode.Wind &&
(subMode == 0 || subMode == 4 || subMode == 8 || subMode == 12)) {
// submodes: 0=on course, 4=off course pt/stb, 8=wind shift, submode 12 tbd
return 'wind';
}
else if (mode == ts_pgns_1.SeatalkPilotMode.Track && subMode == 0) {
return 'route';
}
else if (mode == ts_pgns_1.SeatalkPilotMode.Auto && (subMode == 0 || subMode == 4)) {
//subMode 4 means offcourse
return 'auto';
}
else {
debug('Unknown PGN 126720 AP state found - Mode: ' +
mode +
', SubMode: ' +
subMode);
return;
}
/*
if ( mode == SeatalkPilotMode.Standby ) {
return 'standby'
} else if ( mode == SeatalkPilotMode.Wind ) {
return 'wind'
} else if (mode == 'Track') {
return 'route'
} else if (mode == 'Auto') {
return 'auto'
} else {
debug(
'Unknown PGN 126720 AP state found - Mode: ' +
mode
)
return
}
*/
}
},
{
pgnClass: ts_pgns_1.PGN_126720_Seatalk1PilotHullType,
node: 'steering.autopilot.hullType',
value: function (n2k) {
switch (n2k.fields.hullType) {
case ts_pgns_1.SeatalkPilotHullType.Power:
return 'power';
case ts_pgns_1.SeatalkPilotHullType.Sail:
return 'sail';
case ts_pgns_1.SeatalkPilotHullType.SailCatamaran:
return 'sailCatamaran';
case ts_pgns_1.SeatalkPilotHullType.SailslowTurn:
return 'sailSlowTurn';
case ts_pgns_1.SeatalkPilotHullType.PowerfastTurn:
return 'powerFastTurn';
case ts_pgns_1.SeatalkPilotHullType.PowerslowTurn:
return 'powerSlowTurn';
default:
return 'unknown';
}
}
},
{
pgnClass: ts_pgns_1.PGN_126720_SeatalkPilotAutoTurn,
node: 'steering.autopilot.autoTurn.state',
value: function (n2k) {
return n2k.fields.enabled === ts_pgns_1.YesNo.Yes ? true : false;
}
}
];
//# sourceMappingURL=126720.js.map