Skip to content
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

Propulsion #246

Open
TwoCanPlugIn opened this issue Aug 4, 2023 · 3 comments
Open

Propulsion #246

TwoCanPlugIn opened this issue Aug 4, 2023 · 3 comments

Comments

@TwoCanPlugIn
Copy link

Has the naming or schema changed for propulsion ?

The previous version of the OpenCPN Engine Dashboard plugin supported SignalK with the following SignalK update paths.

propulsion.port.revolutions
propulsion.starboard.revolutions

which mapped to the following NMEA 183 RPM sentences

$ERRPM,E,2,1700,,A
$ERRPM,E,1,1700,,A

where 0 = single or centreline, 1 (odd) - port and 2 (even) = starboard.

I've just noticed that the Engine Dashboard is not displaying RPM as the naming looks like below:

propulsion.engine_1.revolutions
propulsion.engine_2.revolutions

I'm guessing that something similar is occurring for XDR sentences, such as

$ERXDR,P,370000,P,EngineOil#0,C,92.3,C,Engine#0,U,13.44,V,Alternator#0,G,25,,Engine#0

In fact I'm not seeing any paths relating to engine oil pressure, temperature etc.

I haven't investigated NMEA 2000 engine related data yet, but before I do so, would like some confirmation of the naming. At the time when I first wrote the Engine Dashboard, based on observations from NMEA 2000 Analog Engine interfaces, most users would assign instance 0 to either the main engine, or in dual engine configurations, to the port engine and instance 1 to the starboard engine.

If you could clarify the behavior of SignalK, I'll update the OpenCPN Engine Dashboard to match.

Thanks.

@TwoCanPlugIn
Copy link
Author

Have now investigated NMEA 2000 PGN's127488 and 127489 and they use the namespace I had previously used in the OpenCPN Engine Dashbaord, namely;
propulsion.port
propulsion.starboard

Perhaps think about some consistency for the namespace ?

@tkurki
Copy link
Member

tkurki commented Aug 5, 2023

Signal K specification defines the propulsion id with pattern ^[A-Za-z0-9]+$. The idea is that the id can be something descriptive and we can cater for arbitrary propulsion arrangements.

Where does your engine_x named data come from?

Do I understand correctly that your practical problem is mapping the ids to a shaft number in 0183 format?

@TwoCanPlugIn
Copy link
Author

Hi Teppo, I think the problem is a little of my making. The OpenCPN Engine Dashboard was originally written to support the OpenCPN TwoCan plugin but has since evolved to support NMEA0183 v4.11 standard transducer names, SignalK (originally based on NMEA2000 to SignalK propulsion id's) and now OpenCPN v5.8.x with its built in support for NMEA2000.

My problem lies in the fact that NMEA2000 just defines "instance numbers" where in a single engine vessel the assumption that instance 0 refers to main engine, but for a dual engine vessel, instance 0. could be the starboard engine and instance 1 the port engine. This is what the Engine Dashboard implements.

This differs from NMEA0183 where for the RPM sentence 0 refers to the main/centreline engine, 1 to starboard and 2 to port. The assumption (although not clearly defined) is that the same holds for XDR sentences.Again the Engine Dashboard, it also implements this.

Within SignalK the vessel.propulsion naming follows what you said [A-Za--z0-9] but the id's differ between NMEA 0183 and 2000 derived data.

Without some standardization it kind of means I have to have some user defined mapping rather than automatically mapping the engines for SignalK data.

I guess what I am asking for is some standardization for propulsion I'd, irrespective of whether it is derived from NMEA 0183 or 2000.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants