Home |
Search |
Today's Posts |
#1
|
|||
|
|||
NMEA sentence parser
My ST50 Multi outputs a broken NMEA sentence: wind info
(VWR). It splits both sentences as two sentences like this: $IIVWR,113.,R,,,,,, $IIVWR,,,,,,,03.0,N 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 this: $IIHDM,210.,M $IIMTW,40.,C $IIVWR,119.,R,,,,,, $IIHDM,210.,M $IIMTW,40.,C $IIDBT,0011.5,f,,,, $IIVHW,,,,,00.00,N,, $IIVWR,113.,R,,,,,, $IIHDM,210.,M $IIMTW,40.,C $IIVWR,113.,R,,,,,, $IIVWR,,,,,,,03.0,N $IIDBT,0011.5,f,,,, $IIHDM,210.,M $IIMTW,40.,C $IIVWR,118.,R,,,,,, $IIVHW,,,,,00.00,N,, $IIHDM,210.,M $IIMTW,40.,C 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 SeaClear. Do any of you have an idea which software would be useful in this kind of situation and where to get it? thanks, matti -- "China is a big country, inhabited by many chinese." - Charles de Gaulle |
#2
|
|||
|
|||
"Matti Raustia" wrote in message
... My ST50 Multi outputs a broken NMEA sentence: wind info (VWR). It splits both sentences as two sentences like this: $IIVWR,113.,R,,,,,, $IIVWR,,,,,,,03.0,N Technically speaking, the sentences are not broken at all. Raymarine just chose to output the direction and speed in two separate sentences, leaving the unused fields blank. This is completely according to the NMEA specs, however stupid it may seem. You could even go one step further and blame SeaClear because they omit to keep the last received value in a sentence for, say, 10 seconds before assuming the info is not present. If they did it that way, SeaClear could then combine the wind direction and speed and do something useful. Since SeaClear is a free program, your best bet is to write the author and explain the problem to him. This should be very easy to fix for him. 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 (www.shipmodul.com), I collect both datagrams (speed and direction) and output one NMEA sentence with both fields filled. Meindert |
#3
|
|||
|
|||
On Fri, 19 Aug 2005 11:51:05 +0200, "Meindert Sprang"
wrote: 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 (www.shipmodul.com), 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 http://www.worldwidewiley.com/ |
#4
|
|||
|
|||
"Glen \"Wiley\" Wilson" wrote in
: Yeah 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; -- Larry |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
NMEA: What confusion is that? | Electronics | |||
Connect Raymarine ST60 Multi to laptop | Electronics | |||
GpsMap 276C NMEA Interface Problem | Electronics | |||
Before you connect new NMEA and blow your network.... | Cruising | |||
Before you connect new NMEA and blow your network.... | Electronics |