This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to clean faulty NMEA0183 sentences from serial
#1
Hello!
I have been using a CP2102 based USB To UART Serial cable with an NMEA depth transducer and with this I sometimes get slighty garbaged readings like: 
Code:
$SDDPT,56.8,*42
$SDDBT,189.3,f,56.8,M,31.5,F*09
5f6S
    $SDDPT,55.0,*49
$SDDBT,183.3,f,55.0,M,30.5,F*09
This creates some issues down the line as the garbage gets distributed by SignalK. 
I am wondering if there is a way to clean the payloads in SignalK or even before. 

Of course in the long run it would be better to get another Serial Cable. But for now this is all I have and I would like to try to filter any garbage out of the NMEA stream anyway. 

Any pointers? 

Thanks!
Reply
#2
try another usb-serial converter.
Reply
#3
I am not in a place where I can easily get one.
But my question is also targeted more in how to prevent garbage payloads to make it into the NMEA broadcast.
There should be some kind of filtering option in SignalK.
Especially since also working cables can fail at some point ...
Reply
#4
Is validate checksum selected in the signalk connection?

https://demo.signalk.org/documentation/s...20checksum.

"Validate checksum - Usually NMEA 0183 sentences contain a checksum that can be used to check that the data is not garbled so that erroneous data is discarded. However some data sources do not include the checksum or it is simply wrong. Unchecking this option will disable validating the checksum."
Reply
#5
talking to those who know,
seems that anything coming in a nmea0183 connection gets sent straight out on port 10110. Some kit sends its' own sentences & sigk doesn't know if it's garbage or not so makes sense. If a readable sentence with a wrong checksum comes in it will get dropped from being sent to sigK if the validate switch is activated. It's really down to each device down the line to check each sentence, what devices have the problem?
One way round could be get node red to receive the data first and filter out what isn't wanted then send the rest to sigK.
Reply
#6
I think this is an interesting technical challenge, especially when intermittent serial data corruption can affect downstream systems like SignalK. The examples shown suggest that filtering invalid NMEA sentences, checking checksums, or discarding malformed characters before distribution could help reduce the impact of the garbled data.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)