Sunday, March 31, 2013

Playing with PuTTY and NMEA

"Welcome to "This is your life,", and please give a warm welcome to our surprise guest NMEA 1.5."

"Well NMEA 1.5, how are you feeling?" "Well I'm doing okay, I guess. I don't do much work anymore, and nobody calls me to do anything new. I mostly hang around in my ninth floor walk up apartment with my five cats and watch reruns on TV. I was important once you know, but today, not so much."

"Do you recognize this voice NMEA 1.5? "Hello NMEA 1.5. You used to help me by sending important navigation information." "Why, is that my old friend LORAN?" "Yes it's me NMEA 1.5, it's great to see you. I'm retired now and live in a mobile home park in Florida. We had great times together though. Without you I could have never talked to autopilots. We made life better for boaters."

"Do you know this voice NMEA 1.5?"  "Hi grandpa." "Is that my grandson NMEA  4.10? Why you little uncaring urchin. You can't take a few minutes anymore to with visit your old grandfather? You're always hanging out with that 38,400 baud AIS fast crowd, and using all of them fancy new sentences. You pissant whippersnappers all need a real good strapping. Why I outta take my belt off right now, and give you that thrashing you deserve. I'll teach you some respect for your elders." "Ahem, we will be right back to "This is your life" after a few words from our sponsors."

It's been a bit of a struggle. I have an older Simrad autopilot and IS15 expander box, a vintage Garmin 17x GPS, and a new HP laptop with Nobletec's Odyssey Time Zero navigation software speaking NMEA 4.x. The expander box speaks NMEA 1.5, the autopilot speaks NMEA 2.3, the Garmin is an open ended NMEA port speaking some version of NMEA 3.x. Add to this a serial to USB converter and you can't get there from here. When I use the term "open ended" I'm describing NMEA wiring that uses the device's ground for data communications, instead of the NMEA + (A) and - (B) wires now mostly seen. there are also some slight electrical differences between NMEA 1.5, and the later revisions.

What I tried to do first was to try to get the laptop to swallow data from two talkers at once. you never know, I have had this work, a few times. In this case it didn't, and I wasn't surprised. The Nobletec software would take the GPS data, or sort of take the data from the expander box, but not both. Regardless the NMEA 1.5 data from the expander box always ended up garbled.

The Nobletec software has a port monitor that will show you what the system thinks it's receiving. The data was a mess. Sentences that were too long, sometimes no line feeds or carriage returns, or just babble. About 75% of the data made it through intact, but the bad data played havoc with the Nobletec system when you tried to get the data to display.

Why? I don't know for sure, but I think a combination of the serial/USB conversion, and the old NMEA 1.5's open ended data transmission just didn't play well together. There is another path. I abandoned the expander box, and ran new wiring back to the auto pilot. The NMEA version is newer, and it's not open ended. 

In days of yore Windows software through XP all included HyperTerminal which I used to log serial data. This is no longer the case, and it now costs $60.00. Ouch, so I now use PuTTY. It's free, and simple to use. I like free, and simple.

So this time, I wanted to see what the data looked like, before I fed it to the Nobletec system using PuTTY. Open the program, select the port you are using and the baud rate, and the electron gods liked the autopilot's NMEA 2.3 a lot better.

PuTTY is easy to use. Select the port, and the baud rate. If the data stream looks okay, log the data, and take it back to the lab for analysis. If it's badly garbled, then you likely have the wrong baud rate. In the marine world there are only typically three options. 4800, 9600, and 38,400.

The data log from the auto pilot looks good, so far. There is a second set of integration problems however. There may be a future AIS receiver that will output at 38,400 baud, there is the Garmin GPS, and the auto pilot data, and we want to output position data to the VHF, and possibly have it talk back to us.

There is also the problem of the missing heading data from the autopilot that has to be dealt with. It's not in the data stream from the pilot, even though the compass is connected to it. So to solve most of these problems we are going to use an Actisense NDC4-USB multiplexer. That adventure has started, and not without some minor hitches I'll talk about mid week, and I promise I'll be a lot less geeky. 

1 comment:

  1. This is helpful information, Bill. Thanks. I'm getting too many years distant from ye olde Hayes modem strings, the only close analog, to spend time futzing about with this. My netbooks of the future thank you.

    ReplyDelete