The Course API defines the path /vessels/self/navigation/course/calcValues to accommodate the calculated values related to course navigation.
These paths are available to be populated by a "course provider" plugin that uses the course information set using the Course API. This approach promotes the extensibility of Signal K server providing flexibility and interoperability. See Course Provider Plugins below.
calcValuesThe following paths are defined to hold values calculated using the information maintained by Course API operations:
Example:
{
"calcMethod": "Rhumbline",
"crossTrackError": 458.784,
"bearingTrackTrue": 4.58491,
"bearingTrackMagnetic": 4.51234,
"estimatedTimeOfArrival": "2022-04-22T05:02:56.484Z",
"distance": 10157,
"bearingTrue": 4.58491,
"bearingMagnetic": 4.51234,
"velocityMadeGood": 7.2653,
"timeToGo": 8491,
"targetSpeed": 2.2653,
"previousPoint": {
"distance": 10157
}
}
Calculated course values that cross a threshold should trigger a notification so that the necessary action can be taken.
The Course API defines the following notifications which should be implemented by a course provider:
navigation.course.arrivalCircleEnterednavigation.course.perpendicularPassedSignal K server includes the Course Data Provider plugin as part of the installation to provide out-of-the-box support for course calculations nd notifications.
This plugin can be replaced with others from the AppStore, or your own, to extend the number and types of calculations performed.
If you are looking to develop a course provider plugin, following are the recommended guidlines:
/vessels/self/navigation/course path values mainntained by the Course API