Excellent, then we are at least two in the same boat.
I picked up some good tips from you github. I have used a more cumbersome way to get the nmea data out from pynmea2.( if msg.sentence_type == 'ROT': rateofturn = msg.rate_of_turn) etc...
Eventually, I'll opensource my stuff. It's still early days and I haven't fully tested it, but what I am trying to achieve is to get all relevant data out from nmea, calculate and pass target boat speed, polar speed and tack/reach angles to nx server. (done, not tested on board)
The data is being stored in a mysql polar table (as long as the engine is off), and I am getting these out to a webpage with highcharts charts such as this:
http://jsfiddle.net/joabakk/doj2nL4u/
I will also store the data in an rrd db to show trending graphs of % performance, wind angle etc with highcharts
Freeboard is used for charts, and I have an SDR AIS receiver which will provide AIS data as long as the AIS transceiver is not on.
I will mainly be using this for an overnight race, and I am working at scouring their webpage for the participant list with handicap etc to a separate mysql db. When i register a sighting (I see sailnumber XX), I aim to calculate their and my corrected time. Also useful post race, to see when I lost/gained.
I abandoned the FDX track for now, as I haven't seen the need for it. But what I might do is to connect kplex to the terminal of the nx server instead of the rs232 port, and rather have the rs232 pass through the rPi to the GPIO USB cable to the instrument panel. That way I can both log and pass the fdx data and have nexus race running in parallel with my kplex setup.
None of this would have been possible without kplex though and I am ever grateful for the project.
Joachim