UNPKG

@signalk/n2k-signalk

Version:

NMEA 2000 to SignalK conversion library

143 lines 4.83 kB
"use strict"; 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 aisFromStarboard_1 = __importDefault(require("../aisFromStarboard")); const schema = require('@signalk/signalk-schema'); module.exports = [ { node: '', filter: (n2k) => n2k.fields.atonName, value: function (n2k) { return { name: n2k.fields.atonName }; } }, { filter: (n2k) => n2k.fields.longitude && n2k.fields.latitude, value: function (n2k) { return { longitude: Number(n2k.fields.longitude), latitude: Number(n2k.fields.latitude) }; }, node: 'navigation.position' }, { node: 'design.length', value: function (n2k) { return { overall: Number(n2k.fields.lengthDiameter) }; }, filter: function (n2k) { return n2k.fields.lengthDiameter; } }, { node: 'atonType', value: function (n2k) { let num = undefined; if (n2k.fields.atonType) { num = nameMapping[n2k.fields.atonType]; } const name = schema.getAtonTypeName(num); if (typeof num !== 'undefined' && name !== undefined) { return { id: num, name: name }; } else { return null; } } }, { node: 'design.beam', source: 'beamDiameter' }, { node: 'sensors.ais.fromBow', source: 'positionReferenceFromBow' }, { node: 'sensors.ais.fromCenter', value: aisFromStarboard_1.default, filter: function (n2k) { return (n2k.fields.positionReferenceFromStarboardEdge && n2k.fields.beamDiameter); } }, { node: 'virtual', value: function (n2k) { const flag = n2k.fields.virtualAtonFlag; return typeof flag != 'undefined' ? flag === 'Yes' : undefined; } }, { node: 'offPosition', value: function (n2k) { const flag = n2k.fields.offPositionIndicator; return typeof flag != 'undefined' ? flag === 'Yes' : undefined; } }, { node: '', filter: (n2k) => n2k.fields.userId, value: function (n2k) { return { mmsi: n2k.fields.userId.toString() }; } }, { context: function (n2k) { return n2k.fields.userId ? 'atons.urn:mrn:imo:mmsi:' + n2k.fields.userId : 'atons.unknown'; } }, { node: 'sensors.ais.class', value: function (n2k) { return 'ATON'; } } ]; const nameMapping = { [ts_pgns_1.AtonType.DefaultTypeOfAtoNNotSpecified]: 0, [ts_pgns_1.AtonType.ReferencePoint]: 1, [ts_pgns_1.AtonType.Racon]: 2, [ts_pgns_1.AtonType.FixedStructureOffShore]: 3, [ts_pgns_1.AtonType.ReservedForFutureUse]: 4, [ts_pgns_1.AtonType.FixedLightWithoutSectors]: 5, [ts_pgns_1.AtonType.FixedLightWithSectors]: 6, [ts_pgns_1.AtonType.FixedLeadingLightFront]: 7, [ts_pgns_1.AtonType.FixedLeadingLightRear]: 8, [ts_pgns_1.AtonType.FixedBeaconCardinalN]: 9, [ts_pgns_1.AtonType.FixedBeaconCardinalE]: 10, [ts_pgns_1.AtonType.FixedBeaconCardinalS]: 11, [ts_pgns_1.AtonType.FixedBeaconCardinalW]: 12, [ts_pgns_1.AtonType.FixedBeaconPortHand]: 13, [ts_pgns_1.AtonType.FixedBeaconStarboardHand]: 14, [ts_pgns_1.AtonType.FixedBeaconPreferredChannelPortHand]: 15, [ts_pgns_1.AtonType.FixedBeaconPreferredChannelStarboardHand]: 16, [ts_pgns_1.AtonType.FixedBeaconIsolatedDanger]: 17, [ts_pgns_1.AtonType.FixedBeaconSafeWater]: 18, [ts_pgns_1.AtonType.FixedBeaconSpecialMark]: 19, [ts_pgns_1.AtonType.FloatingAtoNCardinalN]: 20, [ts_pgns_1.AtonType.FloatingAtoNCardinalE]: 21, [ts_pgns_1.AtonType.FloatingAtoNCardinalS]: 22, [ts_pgns_1.AtonType.FloatingAtoNCardinalW]: 23, [ts_pgns_1.AtonType.FloatingAtoNPortHandMark]: 24, [ts_pgns_1.AtonType.FloatingAtoNStarboardHandMark]: 25, [ts_pgns_1.AtonType.FloatingAtoNPreferredChannelPortHand]: 26, [ts_pgns_1.AtonType.FloatingAtoNPreferredChannelStarboardHand]: 27, [ts_pgns_1.AtonType.FloatingAtoNIsolatedDanger]: 28, [ts_pgns_1.AtonType.FloatingAtoNSafeWater]: 29, [ts_pgns_1.AtonType.FloatingAtoNSpecialMark]: 30, [ts_pgns_1.AtonType.FloatingAtoNLightVessellanbyrigs]: 31 }; //# sourceMappingURL=129041.js.map