Hi - to follow up to my previous post - I finally had time to get into the lab today and do battle with this. I have come up with a working configuration! I have two shift registers - one which I use just to hold all data read in, and the other to hold only the most recent line sent. I wait for the specific string that I want ("$GPGGA") and then go into a case structure where it will run. I've run into one minor problem, however. In these senteces specific values will not be written. For example:
$GPGGA,181359,4007.0051,N,08813.3067,W,0,00,,,M,,M,,*4F
Note where there are a couple commas together near the end. There sometimes will be values in those places, and sometimes not. If I have a format string that says there will be a number there and there's only the two commas, labview gives me that error. Is there any way for it to just skip onto the next value? My only idea is to use the "search and replace string" function to replace all instances of ",," with ",0,". Are there any better ways to do this?
Also - this is starting to diverge from the original topic of this thread - but I figure I might as well not clutter the board up with lots of threads... The last two characters in the NMEA string are a checksum, which is just the XOR of all the previous bytes in the string. How would I compute the checksum with labview? I'm thinking maybe I should do it as the bytes come in. Or is there a better way?
Thanks!
-Mike