Rolf van Kleef - Is there a way to set NMEA-200...

Is there a way to set NMEA-2000 identification information? I see in https://github.com/SignalK/n2k-signalk/blob/14eebdfc56ac4d792e2b6c5b7a1772a6a6187ab8/n2kMapper.js#L359 that there are some properties pulled from somewhere, but I cannot find where I can modify these.
5 Replies
Scott Bender
Scott Bender2mo ago
What n2k adapter are you using and what exactly do you want to change?
Rolf van Kleef
Rolf van KleefOP2mo ago
I use an mcp2515 connected through SPI to a Raspberry P 5. Stuff is working using CanboatJS configured for SocketCAN. As I linked, SignalkK sends several identification PGNs over N2k, and I want to adjust that data to differentiate different devices running Signalk.
Scott Bender
Scott Bender2mo ago
GitHub
canboatjs/lib/n2kDevice.js at 65fd6e8764f9c7994f7b2d817d22981120f10...
Native javascript NMEA 2000 decoder and encoder. Contribute to canboat/canboatjs development by creating an account on GitHub.
Scott Bender
Scott Bender2mo ago
You can manually set the addressClaim, productInfo and also the install info. This is done in ~/.signalk/settings.json for example:
"pipeElements": [
{
"type": "providers/simple",
"options": {
"logging": false,
"type": "NMEA2000",
"subOptions": {
"type": "canbus-canboatjs",
"interface": "can0",
"providerId": "can0",
"uniqueNumber": 920606,
"addressClaim": {
"Unique Number": 139725,
"Manufacturer Code": 'Fusion Electronics',
"Device Function": 130,
"Device Class": 'Entertainment',
"Device Instance Lower": 0,
"Device Instance Upper": 0,
"System Instance": 0,
"Industry Group": 'Marine'
},
"productInfo": {
"NMEA 2000 Version": 1300,
"Product Code": 667,
"Model ID": "MS-UD650",
"Software Version Code": "1.0",
"Model Version": "1.0",
"Model Serial Code": "123456",
"Certification Level": 0,
"Load Equivalency": 1
}

"serverVersion": "signalk-server 1.2.3",
"serverUrl": "https://wilhelm4:3443",
"serverDescription": "this is my main server",
"transmitPGNs": [
126983,
126984,
126985
]
},
"providerId": "can0"
}
"pipeElements": [
{
"type": "providers/simple",
"options": {
"logging": false,
"type": "NMEA2000",
"subOptions": {
"type": "canbus-canboatjs",
"interface": "can0",
"providerId": "can0",
"uniqueNumber": 920606,
"addressClaim": {
"Unique Number": 139725,
"Manufacturer Code": 'Fusion Electronics',
"Device Function": 130,
"Device Class": 'Entertainment',
"Device Instance Lower": 0,
"Device Instance Upper": 0,
"System Instance": 0,
"Industry Group": 'Marine'
},
"productInfo": {
"NMEA 2000 Version": 1300,
"Product Code": 667,
"Model ID": "MS-UD650",
"Software Version Code": "1.0",
"Model Version": "1.0",
"Model Serial Code": "123456",
"Certification Level": 0,
"Load Equivalency": 1
}

"serverVersion": "signalk-server 1.2.3",
"serverUrl": "https://wilhelm4:3443",
"serverDescription": "this is my main server",
"transmitPGNs": [
126983,
126984,
126985
]
},
"providerId": "can0"
}
Rolf van Kleef
Rolf van KleefOP2mo ago
Oh that's awesome! That helps enormously! Thanks a lot!

Did you find this page helpful?