SignalK / signalk-to-nmea0183

Signal K Node server plugin to convert Signal K to NMEA 0183
Apache License 2.0
12 stars 28 forks source link

RMB sentence never generated by the plugin #97

Open dpazz opened 1 year ago

dpazz commented 1 year ago

I'm trying to have all data connection managed by signalk. I'm doing eveything in a test environment at home before tranferring to the boat. In this environment the autopilot serial connection is connected to a PC acting as a monitor (via putty serial) to see the Nmea183 sentences coming out from the SBC (a raspi clone) hosting signalk server.

The route info is coming from an external chartplotter app (in this environment an android phone with AvNav app installed). The GPS info is coming from a GPS mouse connected to Signalk and the app receives the GPS info from signalk (the internal smartphone GPS is disabled) via a TCPReader connected to signalk IP on port 10110.

The Avnav app manages the route and wp stuff generating the required autopilot info (RMB and/or APB) when a wp/route is engaged. The nmea output coming from the app is forwarded back to signalk via an UDP writer connection to signalk IP on port 28628.

If the plugin is set to send $XTE (plus other GPS sentences like $RMC or $VTG) everything works fine and the sentences are well read on putty window. The XTE info is obtained by signalk from the RMB sentence received from the AvNav app (in fact the signalk paths relative to this info are listed in signalk having as source the back connection ID plus the RMB sentence). So far so good.

But if I try to enable RMB in the plugin nothing happens and the RMB sentence is NEVER output from signalk even if all the necessary info is available. I tried also with APB with the same unsuccess.

I saw from issue #60 that there are invalid data path that the plugin uses to gather the wp lat/lon info and I tried to patch both the nmea0183 RMB hook (generating two new paths navigation.courseRhumbline.nextPoint.latitude and navigation.courseRhumbline.nextPoint.longitude) and the sentences/RMB.js to take into account the new keys with no success.

Since RMB is a very useful sentence to get out in a navigation system I think it was well debugged in previous version of the plugin and I suspect that something (update of the schema?) yelded a regression. The release of signalk I'm using is the latest (I believe). The release number is 1.46.3

tkurki commented 4 months ago

Is this question still relevant?

I reformatted your wall of text for easier reading. The way I understood this is that you have RMB coming to Signal K but also want to output RMB. All incoming NMEA0183 sentences should be forwarded to port 10110 as is, without needing this plugin.

The paths needed for RMB are defined here. If there is no RMB output your first task is to check that you have those.

To monitor the output of this plugin you can enable signalk-server:events:nmea0183out debug key in Server Log. Once that works and you want to verify the serial output you need something, like the PC in your setup.