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

NMEA and V2 Course api interoperation #1522

Open
tkurki opened this issue Feb 26, 2023 · 1 comment
Open

NMEA and V2 Course api interoperation #1522

tkurki opened this issue Feb 26, 2023 · 1 comment

Comments

@tkurki
Copy link
Member

tkurki commented Feb 26, 2023

#1477 introduced the V2 Course api, that provides the API for getting and setting the current navigation state (go to point/waypoint, navigate a route).

Out of the box the server now manages the navigation state - it remembers the state, over restarts. Used with a UI like Freeboard it can be used to create and navigate routes, much like an MFD / plotter.

When used in conjunction with one or more plotters connected via NMEA 0183 or 2000 there is overlap: if you activate navigation on a connected plotter there are multiple cases to consider:

  • Does NMEA input (that there can be multiple of) override the navigation state?
  • Afaik there are no standard PGNs or sentences for activating navigation on a plotter. What should happen when you use the course api on a system that has plotters?
  • NMEA navigation data should be available via the V2 course API. We should probably add a configuration option to turn separately on v1 course related paths and V2 course api integration
  • Do we need to support multiple, independent navigation state managers? A boat may have multiple, integrated MFDs plus the SK server
  • Should the user be able to set the server's "navigation state manager"? Like (o)  Signal K Server Internal ( ) NMEA 2000
  • Afaik there is no "navigation finished" state change available in the NMEA data, the data just stops updating. we need to implement a user configurable timeout so that the SK navigation state resets when the NMEA source is no longer active
@panaaj
Copy link
Member

panaaj commented May 10, 2023

For NMEA0183 it would be trivial for the Course API to listen to 'nmea0183' events and set the destination from RMB sentences.
Destination could be cleared when:

  • Data status = V (invalid)
  • Empty destination lat / long values.
    The issue would be if RMB sentences are not sent after the device clears the destination.

With regards to controlling the source for setting a destination possible options to consider:

  1. Make a setting available to select the preferred source data stream or Course API endpoint
  2. If destination has been set by API endpoint then stream sources are ignored until destination is cleared using the API.

Using this mechanism for NMEA2000 may not be as easy if there are not standard PGNs.

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