@signalk/n2k-signalk
Version:
NMEA 2000 to SignalK conversion library
282 lines • 10.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const utils_js_1 = require("../utils.js");
const ts_pgns_1 = require("@canboat/ts-pgns");
let currentFusionSource = null;
const fusionSources = {};
const isMuted = (n2k) => n2k.fields.mute == 'Mute On' ? true : false;
module.exports = [
{
pgnClass: ts_pgns_1.PGN_130820_FusionDeviceName,
node: 'entertainment.device.fusion1.name',
value: (n2k) => n2k.fields.name
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionPowerState,
node: 'entertainment.device.fusion1.state',
value: (n2k) => n2k.fields.state === ts_pgns_1.FusionPowerState.On ? 'on' : 'off'
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionArtistName,
value: (n2k) => n2k.fields.artist,
node: (n2k) => 'entertainment.device.fusion1.avsource.source' +
currentFusionSource +
'.track.artistName',
filter: (n2k) => n2k.fields.artist != undefined && currentFusionSource != null
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionAlbumName,
value: (n2k) => n2k.fields.album,
node: (n2k) => 'entertainment.device.fusion1.avsource.source' +
currentFusionSource +
'.track.albumName',
filter: (n2k) => n2k.fields.album != undefined && currentFusionSource != null
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionTrackName,
value: (n2k) => n2k.fields.track,
node: (n2k) => 'entertainment.device.fusion1.avsource.source' +
currentFusionSource +
'.track.name',
filter: (n2k) => n2k.fields.track != undefined && currentFusionSource != null
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionTrackPosition,
node: (n2k) => 'entertainment.device.fusion1.avsource.source' +
currentFusionSource +
'.track.elapsedTime',
filter: (n2k) => currentFusionSource != null,
value: (n2k) => (0, utils_js_1.timeToSeconds)(n2k.fields.progress)
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionMedia,
node: (n2k) => 'entertainment.device.fusion1.avsource.source' +
currentFusionSource +
'.track.length',
filter: (n2k) => currentFusionSource != null,
value: (n2k) => (0, utils_js_1.timeToSeconds)(n2k.fields.length)
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionSiriusxmArtist,
value: (n2k) => n2k.fields.artist,
node: (n2k) => 'entertainment.device.fusion1.avsource.source' +
currentFusionSource +
'.track.artistName',
filter: (n2k) => currentFusionSource != null
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionSiriusxmTitle,
value: (n2k) => n2k.fields.title,
node: (n2k) => 'entertainment.device.fusion1.avsource.source' +
currentFusionSource +
'.track.name',
filter: (n2k) => currentFusionSource != null
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionSiriusxmChannel,
value: (n2k) => n2k.fields.channel,
node: (n2k) => 'entertainment.device.fusion1.avsource.source' +
currentFusionSource +
'.tuner.stationName',
filter: (n2k) => currentFusionSource != null
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionSiriusxmContentInfo,
value: (n2k) => n2k.fields.genre,
node: (n2k) => 'entertainment.device.fusion1.avsource.source' +
currentFusionSource +
'.track.genre',
filter: (n2k) => currentFusionSource != null
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionMedia,
value: (n2k) => n2k.fields.track,
node: (n2k) => 'entertainment.device.fusion1.avsource.source' +
currentFusionSource +
'.track.number',
filter: (n2k) => currentFusionSource != null
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionMedia,
value: (n2k) => n2k.fields.trackCount,
node: (n2k) => 'entertainment.device.fusion1.avsource.source' +
currentFusionSource +
'.track.totalTracks',
filter: (n2k) => currentFusionSource != null
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionVolumes,
node: 'entertainment.device.fusion1.output.zone1.volume.master',
value: (n2k) => n2k.fields.zone1
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionVolumes,
node: 'entertainment.device.fusion1.output.zone2.volume.master',
value: (n2k) => n2k.fields.zone2
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionVolumes,
node: 'entertainment.device.fusion1.output.zone3.volume.master',
value: (n2k) => n2k.fields.zone3
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionVolumes,
node: 'entertainment.device.fusion1.output.zone4.volume.master',
value: (n2k) => n2k.fields.zone4
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionZoneName,
node: (n2k) => 'entertainment.device.fusion1.output.zone' +
(n2k.fields.number + 1) +
'.name',
value: (n2k) => n2k.fields.name
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionSource,
node: 'entertainment.device.fusion1.output.zone1.source',
value: (n2k) => {
if (n2k.fields.currentSourceId !== undefined) {
currentFusionSource = n2k.fields.currentSourceId;
return ('entertainment.device.fusion1.avsource.source' +
n2k.fields.currentSourceId);
}
}
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionSource,
node: 'entertainment.device.fusion1.output.zone2.source',
value: (n2k) => 'entertainment.device.fusion1.avsource.source' +
n2k.fields.currentSourceId
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionSource,
node: 'entertainment.device.fusion1.output.zone3.source',
value: (n2k) => 'entertainment.device.fusion1.avsource.source' +
n2k.fields.currentSourceId
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionSource,
node: 'entertainment.device.fusion1.output.zone4.source',
value: (n2k) => 'entertainment.device.fusion1.avsource.source' +
n2k.fields.currentSourceId
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionSource,
node: (n2k) => 'entertainment.device.fusion1.avsource.source' +
n2k.fields.sourceId +
'.name',
value: (n2k) => {
fusionSources[n2k.fields.sourceId] = n2k.fields.source;
return n2k.fields.source;
}
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionTuner,
node: (n2k) => 'entertainment.device.fusion1.avsource.source' +
currentFusionSource +
'.tuner.frequency',
value: (n2k) => {
if (n2k.fields.sourceId == 'AM') {
return n2k.fields.frequency / 1000;
}
else {
return n2k.fields.frequency / 1000000;
}
},
filter: (n2k) => currentFusionSource != null && n2k.fields.frequency !== undefined
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionTuner,
node: (n2k) => 'entertainment.device.fusion1.avsource.source' +
currentFusionSource +
'.tuner.signalStrength',
value: (n2k) => n2k.fields.signalStrength,
filter: (n2k) => currentFusionSource != null
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionTuner,
node: (n2k) => 'entertainment.device.fusion1.avsource.source' +
currentFusionSource +
'.track.name',
value: (n2k) => n2k.fields.track && n2k.fields.track.length > 0 ? n2k.fields.track : null,
filter: (n2k) => currentFusionSource != null
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionMedia,
node: (n2k) => 'entertainment.device.fusion1.avsource.source' +
currentFusionSource +
'.playbackState',
value: function (n2k) {
return n2k.fields.flags == ts_pgns_1.FusionPlayStatus.Paused ||
n2k.fields.flags == ts_pgns_1.FusionPlayStatus.Stopped
? 'Paused'
: 'Playing';
},
filter: (n2k) => currentFusionSource != null
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionMute,
node: 'entertainment.device.fusion1.output.zone1.isMuted',
value: (n2k) => isMuted(n2k)
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionMute,
node: 'entertainment.device.fusion1.output.zone2.isMuted',
value: (n2k) => isMuted(n2k)
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionMute,
node: 'entertainment.device.fusion1.output.zone3.isMuted',
value: (n2k) => isMuted(n2k)
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionMute,
node: 'entertainment.device.fusion1.output.zone4.isMuted',
value: (n2k) => isMuted(n2k)
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionEq,
node: 'entertainment.device.fusion1.output.zone1.equalizer',
value: function (n2k) {
return {
bass: n2k.fields.bass,
mid: n2k.fields.mid,
treble: n2k.fields.treble
};
}
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionEq,
node: 'entertainment.device.fusion1.output.zone2.equalizer',
value: function (n2k) {
return {
bass: n2k.fields.bass,
mid: n2k.fields.mid,
treble: n2k.fields.treble
};
}
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionEq,
node: 'entertainment.device.fusion1.output.zone3.equalizer',
value: function (n2k) {
return {
bass: n2k.fields.bass,
mid: n2k.fields.mid,
treble: n2k.fields.treble
};
}
},
{
pgnClass: ts_pgns_1.PGN_130820_FusionEq,
node: 'entertainment.device.fusion1.output.zone4.equalizer',
value: function (n2k) {
return {
bass: n2k.fields.bass,
mid: n2k.fields.mid,
treble: n2k.fields.treble
};
}
}
];
//# sourceMappingURL=130820.js.map