Maker Pro
Maker Pro

NMEA sentence parser


Matti Raustia

Jan 1, 1970
My ST50 Multi outputs a broken NMEA sentence: wind info
(VWR). It splits both sentences as two sentences like this:


I think it has something to do with SeaTalk, as from complete NMEA dump it
seems like wind direction (the first part) is outputted two times before
wind speed (the latter part) is outputted. The complete sentence looks like


Also the speed sentence is somehow broken as it doesn't contain the heading
info, which is available and outputted in the HDM sentence.

I have fould a quite useful free navigation software (SeaClear) with useful
windtrend and analysis add-ons (SeaTrace and SeaTrack), however because of
these ST50 'features' I can't utilise the wind trend etc. I was wondering if
I could get around the problem with virtual serial ports and a parser
software, which would listen the real serial port, parse the NMEA sentences
and feed them to the virtual serial port which would be listened by the

Do any of you have an idea which software would be useful in this kind of
situation and where to get it?



Glen \Wiley\ Wilson

Jan 1, 1970
Because the wind speed and direction are contained in two different SeaTalk
datagrams, the Raymarine converter just translates each datagram into an
NMEA sentence, where the speed is averaged over a longer period, thus the
lower frequency of the sentence. In my multiplexers (, I
collect both datagrams (speed and direction) and output one NMEA sentence
with both fields filled.

Yeah, I've dealt with this issue on both Seatalk and Nexus hardware.
I didn't realize it was explicitily legal for them to do it that way.
Until now I thought it was just a gray area in the spec. Anyway, it
was an easy fix, as you say. I architected my program from the
beginning with data integrity as a major requirement. It takes each
little atomic chunk of NMEA data it acquires (position, speed,
whatever) and treats it separately. When it gets an update, it flag
that datum as valid and starts a timer. If it hasn't received another
update when the timer expires, it flags that datum as invalid and
issues an alarm by turning the relevant display red. So the code was
already 95% there to handle the partial data.

Unfortunately, that won't help the OP, as I haven't addressed changing
the actual NMEA sentences before forwarding them to other apps. It's
not that hard, but I've had a design philosophy of not screwing around
with the raw data. I just display it and hand it on to the next
application or hardware unchanged.

I just fixed another ST50 issue for a customer (or it might be his
multiplexor- not one of yours by the way - since the customer
indicates Seatalk-->NMEA conversion is handled by the mux). When the
ST50 is set to display wind speed in m/s, MWV and VWR sentences
indicate that the windspeed is in m/s, but the value is actually in
knots. I correct the data on the fly for display purposes. It was an
interesting problem.

Glen "Wiley" Wilson <usenet1 SPAMNIX at world wide wiley dot com>
To reply, lose the capitals and do the obvious.

Take a look at cpRepeater, my NMEA data integrator, repeater, and
logger at


Jan 1, 1970

On many Seatalk units, like our RL-70CRC color chartplotter/radar display,
you can turn off any of the sentences you like from the options menus. I
have two compasses, two GPS, and get duplicate data that just screws The
Cap'n, so I turned off all the sentences that were duplicates from the
RL70's NMEA output port to the multiplexer. Problem solved. I leave on
the sentences from the gyro, but not the compass as the B&G compass data
from the Network Pilot autopilot is much more stable and more easily
calibrated. We're overrun with data on Lionheart...(c;