You will see other CAN HATs taking power from the CAN bus but that is absolutely against the NMEA 2000 convention because a Raspberry could exceed consumption limits easily. Early versions of MacArthur HAT also did this until we realized it.
Faulty board or misconfiguration?
|
By the way we are close so if you need I can visit your boat someday to confirm.
2024-03-06, 01:33 PM
I think i got it!
1) The Axioms itself are already powered directly from the battery, not from the can bus, so that part I guess it's ok. 2) I need to power the can bus by adding and additional T connector and connect it directly to the battery (with a fuse i guess). 3) From the other T connector, connect the red wire to 12V SW, and CAN-L and CAN-H to the can connector. I will try this afternoon and report! And of course you're always welcomed to my boat, I'll have cold beer
You got it
Remember to remove the other connection in "12V SW" and keep only the red wire from the "T connector". You can add a switch to the additional "T connector" (and a fuse if you want to) to power on/off the Axioms and the Raspberry at the same time with just one click. That is the idea of the whole system. Potser si et demano una visita quan tinguis tot funcionant perquè he de fer algunes proves que no puc fer amb la meva xarxa NMEA 2000 que de fet no és cap xarxa, només un plotter connectat al MacArthur.
2024-03-06, 05:33 PM
Great! I have the 2 leds (CAN TX/RX) blinking!!!
However, there's no data sent to the Axioms, nor I receive anything from them (I have a depth sounder connected to them). If I look at SignalK's log, i see several messages like this, showing the plugin is at least trying to send data: Mar 06 17:27:35 2024-03-06T16:27:35.250Z signalk-to-nmea2000 navigation.position:[object Object] Mar 06 17:27:35 2024-03-06T16:27:35.251Z signalk-to-nmea2000 emit nmea2000JsonOut {"pgn":129025,"Latitude":41.212918333333334,"Longitude":1.72851} Mar 06 17:27:35 2024-03-06T16:27:35.252Z signalk-to-nmea2000 emit nmea2000JsonOut {"pgn":129029,"Date":19788,"Time":59255,"Latitude":41.212918333333334,"Longitude":1.72851,"GNSS type":"GPS+SBAS/WAAS","Method":"DGNSS fix","Integrity":"No integrity checking","Number of SVs":16,"HDOP":0.64,"Geoidal Separation":-0.01,"Reference Stations":1,"list":[{"Reference Station Type":"GPS+SBAS/WAAS","Reference Station ID":7}]} However, i can also sea errors like this one: Mar 06 17:27:59 signalk-to-nmea2000:TypeError: Cannot read properties of null (reading 'state') Mar 06 17:27:59 TypeError: Cannot read properties of null (reading 'state') at Object.callback (/home/pi/.signalk/node_modules/signalk-to-nmea2000/conversions/notifications.js:28:37) at /home/pi/.signalk/node_modules/signalk-to-nmea2000/index.js:257:51 at /usr/lib/node_modules/signalk-server/node_modules/baconjs/dist/Bacon.js:1048:16 at /usr/lib/node_modules/signalk-server/node_modules/baconjs/dist/Bacon.js:463:23 at processAfters (/usr/lib/node_modules/signalk-server/node_modules/baconjs/dist/Bacon.js:359:11) at Object.inTransaction (/usr/lib/node_modules/signalk-server/node_modules/baconjs/dist/Bacon.js:439:9) at Dispatcher.push (/usr/lib/node_modules/signalk-server/node_modules/baconjs/dist/Bacon.js:1214:24) at Dispatcher.handleEvent (/usr/lib/node_modules/signalk-server/node_modules/baconjs/dist/Bacon.js:1267:17) at Bus.sink (/usr/lib/node_modules/signalk-server/node_modules/baconjs/dist/Bacon.js:242:17) at Bus.push (/usr/lib/node_modules/signalk-server/node_modules/baconjs/dist/Bacon.js:2371:21) at StreamBundle.push (/usr/lib/node_modules/signalk-server/lib/streambundle.js:69:23) at StreamBundle.<anonymous> (/usr/lib/node_modules/signalk-server/lib/streambundle.js:36:22) at Array.forEach (<anonymous>) at processIems (/usr/lib/node_modules/signalk-server/lib/streambundle.js:35:19) at StreamBundle.<anonymous> (/usr/lib/node_modules/signalk-server/lib/streambundle.js:55:21) at Array.forEach (<anonymous>) at StreamBundle.pushDelta (/usr/lib/node_modules/signalk-server/lib/streambundle.js:50:27) at FullSignalK.emit (node:events:530:35) at FullSignalK.addDelta (/usr/lib/node_modules/signalk-server/node_modules/@signalk/signalk-schema/dist/fullsignalk.js:52:8) at DeltaChain.doProcess (/usr/lib/node_modules/signalk-server/lib/deltachain.js:15:18) at /usr/lib/node_modules/signalk-server/lib/deltachain.js:34:22 at Array.deltaInputHandler (/home/pi/.signalk/node_modules/@signalk/signalk-node-red/index.js:149:5) Mar 06 17:27:59 signalk-to-nmea2000:TypeError: Cannot read properties of null (reading 'state') I'm quite sure the device is properly setup in the CAN Bus app: Connection: SPI0 CE1 Oscillator: 200000000 Interrupt GPIO 25 Interface: can0 SK connection ID: can0 Also, if I click on "Check device traffic", I can see a bunch of data in the dump constantly flowing, so Ï don't think the connection is the issue right now :S
2024-03-06, 05:55 PM
LEDs blinking means data going in and out, so openplotter settings and wiring is ok.
Are the Axioms getting depth data? The errors could mean that you are trying to convert and send data that can not be parsed because have null value. I see at least "notifications", disable that in the signalk-to-NMEA2000 plugin settings to see what happens.
Yes, Axioms are getting Depth.
I disabled the notifications in the plugin, and restarted signalK, but i noticed this other error which seems (to me) more relevant: Mar 06 18:01:39 Trace at new CanbusStream (/usr/lib/node_modules/signalk-server/node_modules/@canboat/canboatjs/lib/canbus.js:57:12) at CanbusStream (/usr/lib/node_modules/signalk-server/node_modules/@canboat/canboatjs/lib/canbus.js:46:12) at Object.nmea2000input [as NMEA2000] (/usr/lib/node_modules/signalk-server/node_modules/@signalk/streams/simple.js:259:30) at new Simple (/usr/lib/node_modules/signalk-server/node_modules/@signalk/streams/simple.js:92:34) at createPipeElement (/usr/lib/node_modules/signalk-server/lib/pipedproviders.js:103:16) at /usr/lib/node_modules/signalk-server/lib/pipedproviders.js:72:30 at Array.reduce (<anonymous>) at createPipedProvider (/usr/lib/node_modules/signalk-server/lib/pipedproviders.js:70:55) at /usr/lib/node_modules/signalk-server/lib/pipedproviders.js:110:37 at Array.reduce (<anonymous>) at Object.startProviders [as start] (/usr/lib/node_modules/signalk-server/lib/pipedproviders.js:107:62) at Server.<anonymous> (/usr/lib/node_modules/signalk-server/lib/index.js:321:75) at Generator.next (<anonymous>) at fulfilled (/usr/lib/node_modules/signalk-server/lib/index.js:23:58) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) I don't know what canbus.js does, but seems quite relevant:S I don't know if this can be related, but in the Axiom, on the network tab, it only appear the 2 axioms, nothing about the Raspberry. Also, one of the Axioms is set as data master. Can this be the cause? I think the plugin errors are more likely, but at this point I dont trust my instinct
2024-03-06, 06:16 PM
No idea what that error means.
OpenPlotter version? Raspberry model? Is everything updated?
2024-03-06, 06:25 PM
Canbus.js is the library selected in the SignalK connection. It was selected by default. I tried to change it to "Canboat", but hat just didn't make the leds blink.
Raspberry 4 8GB, model B OpenPlotter is 3.6.6 and every app is updated tot he latest vailable version.
2024-03-11, 04:56 PM
I openened this issue in github: https://github.com/canboat/canboatjs/issues/263
T. Kurki and S. Bender are helping me, but it doesn't seem software error either :S |
« Next Oldest | Next Newest »
|
Users browsing this thread: 1 Guest(s)