Originally Posted by agraham
Alternatively, if you have VS2005 or later you could build an enhanced library adding the parsing for extra sentences which would be a trivial exercise. If you don't have the capability I would be happy to add any sentences you wanted.
Originally Posted by navman
I'm attempting to write some tactical yacht racing software for my use that requires NMEA input from not only a GPS but also a wind instrument.
The one stumbling block I have would seem to be the parsing of the MWV NMEA sentence. I would be most grateful if you could extend your offer above to include this sentence in the library.
Originally Posted by agraham
Try the attached. (see GPSDriverNMEA library thread) There are two new read/write properties, GETUSER1 and GETUSER2. If you write to either of them a case-sensitive prefix such as "$GPMWV" then you should be able to read from that property the last NMEA sentence received with that prefix. There is no restriction on when you can change them, they take effect any time.
Post if it works, or doesn't. There are a couple of very minor bug fixes in as well that weren't worth reposting the library for before so I'll repost it properly when it works.
I've now installed the NMEA interface into the boat and captured some data to see what else I might need to do. Turns out I really need RMC, DPT, MWV and VHW sentences with optionally GLL and HDG as well, although these 2 are really redundant.
A couple of hurdles have come to light though I'm afraid.
First: The instruments send all sentences with the prefix "II" (Integrated Instrumentation according to NMEA 0183) not "GP" so there goes the ability of GPSSerial to do RMC out of the box and clearly I'd need a couple more GETUSER properties to do all sentences.
Second: MWV can transmit wind data in two ways, relative or true, each identified by an R or T in the sentence. Unfortunately the instrument sends BOTH sentence variations, one after the other, each with the MWV sentence format. Without the ability to identify the particular sentence format characters seperately, I suspect the current parsing techniques would end up losing the first sentence as it is stated above "the last NMEA sentence received" is the one able to be read. Depending on where the timer tick lands in relation to the serial data from the instruments, one could end up losing either R or T. I really need a method to capture both reliably.
This has got me stumped. Any help gratefully received.