OpenMarine

Full Version: Getting Route details into SignalK
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi,
I am testing Openplotter on a Pi 4 using SignalK test data.  When I select a point in Opencpn to navigate to and activate the route, I can see the route details on the "This Leg" window in OpenCpn such as Bearing TTG,  VMG and XTE.  However when I look at the SignalK data these parameters do not appear.  Do I need to set up some connection between SignalK and Opencpn so that opencpn sends the route data to SignalK?  It seems as if SignalK only sees the test data - there is no other input stream.
Jodel
Yes
I have an SK connection with the following properties.

Data Type: NMEA
ID : OpencpnOut
NMEA Source: UDP
Port: 10110
Sentence Event: OpencpnOut 
Validate: YES
Thanks for the prompt help.  That worked for me.  I only had to add a similar and corresponding output in Opencpn.
I also now have the route data going to KIP from SignalK.  It is amazing what can be done with Openplotter! Also the community is so helpful.
Jodel
Just occurred to me that if I am sending the route details to SignalK, am I creating a loop whereby SignalK is sending this back to Opencpn?  Is this handled automatically or do I need to apply a filter to the SignalK data coming to Opencpn to stop the data going round in circles??
(2021-02-08, 12:48 PM)Jodel Wrote: [ -> ]Just occurred to me that if I am sending the route details to SignalK, am I creating a loop whereby SignalK is sending this back to Opencpn?  Is this handled automatically or do I need to apply a filter to the SignalK data coming to Opencpn to stop the data going round in circles??

Yes

You need to configure your Network Input Connection in OpenCPN to IGNORE the RMB sentence or, as you say, when you activate a route or waypoint in OCPN you will have a loop which will grind your RPi to a standstill.
Dont ask me how I know this !
(2021-02-08, 03:22 PM)affinite Wrote: [ -> ]
(2021-02-08, 12:48 PM)Jodel Wrote: [ -> ]Just occurred to me that if I am sending the route details to SignalK, am I creating a loop whereby SignalK is sending this back to Opencpn?  Is this handled automatically or do I need to apply a filter to the SignalK data coming to Opencpn to stop the data going round in circles??

Yes

You need to configure your Network Input Connection in OpenCPN to IGNORE the RMB sentence or, as you say, when you activate a route or waypoint in OCPN you will have a loop which will grind your RPi to a standstill.
Dont ask me how I know this !

Thanks a mill for confirming that.
Hi, I'm also trying to get this to work. Since OpenCPN 5.2 accepts native SignalK as input, I would like to keep this as it is. Unfortunately, I can't filter sentences out in SignalK. Has anyone tried it yet? Does it work, or also loop of death?

I'll give it a go, but wanted to check in here beforehand.

Aloha,
Axel
I had tried the SignalK input to Opencpn but I also could not work out a way to exclude RMB and APB sentences.
I went back to connecting by TCP and adding the filter in Opencpn connections.  There appears to be no disadvantage in doing it that way, that I have discovered yet!
Jodel
Nothing new but a sum up..

If OCPN is set up to receive TCP from SignalK
AND
If OCPN is also set up to output to a TCP connection that's read by SignalK all NMEA0183 messages will be reflected back by SK and you'll have a loop. That loop will choke both OCPN and SK.

So, what if you want to output AP data to SK?
By default all AP messages from OCPN are like: ECRMB, ECXTE
The common solution will be to filter the OCPN TCP input connection to not receive  any Talker Id "EC".
Input filtering -> [x] Ignore sentences -> "three dots icon"->Add->"EC"-> OK
AND (of course?) The TCP output must only: Output filtering -> [x] Transmit sentences -> "EC"

If you just output to a TCP connection
AND
Input a Signal K connection all will be fine since OCPN don't parse any navigation.courseRhumbline messages.