-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wrong value display on rudder angle (SK) and no display on N2K #11
Comments
From a quick perusal of the code, a couple of observations. For rudder angle, the engine dashboard only supports SignalK (steering.rudderAngle) and NMEA 0183 (RSA). Can't recall why I omitted the NMEA 2000 PGN 127245 when I updated the plugin to support the last version of OpenCPN. Something to add in the next release. Nonetheless, definitely something weird with the SignalK parsing. On lines 810
I wonder if there is a problem with the GetJsonDouble function ? Needs a little bit of debugging I guess. Unfortunately I'm travelling so don't have my SignalK Server to hand, so unable to investigate for the next week or so. Thanks. |
Now that I think about it, the plugin does need a semi-major update. I guess a summer project to keep it in synch with the forthcoming OpenCPN 5.10 release. The last release still relied on the "old" OpenCPN messaging framework for SignalK, because for version 5.8 they had omitted the GetSignalkPayload function ! |
Understood. I can fix the rudder stuff if you like and include it in my PR. I am not sure when but maybe next week. |
I'll do it. I'll also add the NMEA 2000 PGN 127245 stuff (that's essentially cut-n-paste from the twocan code base). Just can't verify the SignalK fix/behaviour until I return and plugin the SignalK Server. Thanks very much for finding & fixing the bugs. |
I can see that N2K now is working but the accuracy still is bad ;-) |
No probs,
I'm on my boat so in between repairs and getting ready to sail I'll have a closer look.
Might be something wrong in the scale factor & the direction has me baffked.
…-ve means bow turns to port, and +ve means bow turns to starboard. The engine dashboard uses (I think) the sae code that the built-in dashboard uses, so I'm not sure why it appears wrong. I'll try and verify with teh rudder sensor on my boat.
Regards.
________________________________
From: aviatorhh ***@***.***>
Sent: 24 May 2024 09:21
To: TwoCanPlugIn/EngineDashboard ***@***.***>
Cc: TwoCanPlugIn ***@***.***>; Comment ***@***.***>
Subject: Re: [TwoCanPlugIn/EngineDashboard] Wrong value display on rudder angle (SK) and no display on N2K (Issue #11)
I'll do it.
I'll also add the NMEA 2000 PGN 127245 stuff (that's essentially cut-n-paste from the twocan code base).
Just can't verify the SignalK fix/behaviour until I return and plugin the SignalK Server.
Thanks very much for finding & fixing the bugs.
I can see that N2K now is working but the accuracy still is bad ;-)
—
Reply to this email directly, view it on GitHub<#11 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AJZF5FKTABEGJIEJ2MZL3SLZD32AFAVCNFSM6AAAAABHI4TR42VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRYHA4TAMJUGE>.
You are receiving this because you commented.Message ID: ***@***.***>
|
I think I've found the causes of the problems. Hopefully now fixed in v1.81 Invalid (aka incorrect values) seemed to be caused by the macro definition for converting radians to degrees. Changed from Apparently the macro expansion caused the problem. And for displaying the incorrect position (port vs starboard), I may have broken it when I added support for "text" tank gauges and changed the DASH_CAP enum but didn't change the signature for the RudderAngle SetData function. (Or perhaps it was always broken !) Changed from Hopefully fixed. If you can also verify, feel free to close the issue. And thanks for your help on the engine hours fix. |
Hm, I tried on OSX (SK) where the needle is now not moving at all. |
Seems to be working OK on my testbed. Running OpenCPN on Windows. A couple of observations. Also noticed that SignalK is not sending engine hours (eg. propulsion.port.runTime values), even though they are being sent through the SocketCAN interface and are parsed by canboat analyzer. Finally if you are feeding SignalK using NMEA 0183, then the engine dashboard doesn't display anything. This is because SignalK is using a different namespace for engine data received by NMEA 0183 (eg. XDR & RPM sentences) vs engine data received over NMEA 2000. Refer to the following SignalK issue/bug. Oh, and if nothing is showing, even if it seems it should, check that the engine dashboard preferences are correctly set for single or dual engine as appropriate. Let me know if you make any further progress. |
I do confirm a working RA display while sending tank values now and I can tell even sending RSA values (e.g. $SPRSA,-35.0,A,,,*1B) to SK transforms to a valid path and is displayed. |
BTW, something changed on the PluginConfigure cmake mechanism. On my side cmake does not find wxWidgets on my win and osx environments. I am not sure if this is an issue on my side but I will check. |
Yes, in addition to the bug fixes, I also had to update both cmake and the continuous integration (CI) files. I think because of the forthcoming release of OpenCPN 5.10 Welcome to the world of plugin development ! Since the development & release of OpenCPN 5.8 last year, with its dependence on a new version of wxWidgets, it broke everything. You spend 99% of your time fixing the build & CI environment. It's f....g frustrating hence why I begrudgingly update & fix the plugins. It's no longer fun. |
When serving "cansend vcan0 0DF10D0a#00000000451b0000" (0x451b) SK displays "steering.rudderAngle" with value of 0.6981 and makes it to:
but on OpenCPN it shows
As I tested with SK and N2K I can say that the value is coming from SK only.
The text was updated successfully, but these errors were encountered: