signalk-server
signalk-server copied to clipboard
"TCP Server (port 10110)" in NMEA 0183 Source
This is the doc I was talking about in https://github.com/SignalK/signalk-server/issues/1398:
https://openplotter.readthedocs.io/en/3.x.x/signalk/multiplexing.html
Hope this helps, let me know any correction.
While writing I have found that the "TCP Server" option in "NMEA 0183 Source" is a bit confusing. If I am not wrong selecting this option you can only add an input to the default TCP server in port 10110 and that text in that context gives the impression that you can create more TCP servers on other ports. Maybe adding (port 10110) to the text would help.
This text is also confusing:
Make this server's NMEA 10110 server bidirectional so that input from clients is converted to Signal K.
What about just: Make this TCP server at port 10110 bidirectional so that input from clients is converted to Signal K.
On the other hand, I can create multiple instances of this connection and, if I am not wrong, only one instance would make sense. Could it be possible to prevent the creation of more than one instance to gain consistency?
thanks
Very nice documentation, great! The diagrams make things much clearer.
One small correction: on port 10110 that cannot be disabled is not correct, see below.

Yes, the 0183 TCP Server is a bit special case. It was easy to add this way, even if the server itself can be configured (disabled) in a totally different part of the admin ui. It is sort of a connection, but then again it does not work independently like all the other connections.
What do you think of this - is it any clearer?
You are of course right about only one connection making sense. Multiple connections configured as TCP server don't make any sense, but technically it should work. The input data will be just handled multiple times, resulting in multiple deltas and nmea0183 sentences being output. I suppose the correct way would be to prevent creating multiple connections as TCP Server by disabling that option if there is already one.
I've been thinking about documentation, tutorials and different example scenarios. One problem that I see with documentation in github, wiki and openplotter documentation is that it is very easy to get them out of sync and the installed version that a user has may or may not match the documentation. What @cmotelet did with InstrumentPanel is that the documentation is embedded in IP. We could do the same, add a Documentation menu item and start creating documentation there. The latest version could be publicly accessible from demo.signalk.org.
What do you think? I can appreciate it if you want to keep the fruits of your labor under OpenPlotter.
Thanks for the correction! you are right I forgot that setting.
"TCP Server on port 10110" sounds perfect to me.
My vote goes for disabling this source when there is already one.
Out of sync docs is something you have to live with because no docs is a worst scenario. You can save a lot of hours of support when you can say RTFM even when this is out of sync :) Embedding docs into SK server seems an excellent idea. In my experience, the shorter the manual, the better. If we can dedicate the OP manual only to specif processes and we can link to parts of this SK server manual it would be perfect. My English is not perfect but if you start this I am in.
I can see only one problem in our side, our OP online docs are the same as the local docs that gets installed when you install the "docs" app. If we add links to a local address (localhost:3000/...) these links will be broken in the online version and vice versa. A solution could be doubling these links and offering both online and offline somehow elegant.