May 13th 2014
Features for 1.1 have been frozen. No reports of issues have so far been received for beta7. Work has even started on 1.2. If no problems are reported by the end of May, 1.1 will be released on June 1st. Please do report anything untoward with 1.1beta7 that you discover.
May 1st 2014
A mistake in the kplex release process meant that what was released as "1.1 beta6" was in fact beta5 (complete with tcp persist bug) with version headers causing it to report itself as beta6. This has now been fixed. The new 1.1 beta7 also features modifications to enable compilation on OS X versions prior to 10.8. Compilation on 10.6 was recently reported to have been broken by the multicast additions in kplex 1.0. See the beta page for full details. Happy Beltane!
April 14th 2014
1.1beta6 is now available via the download page. This dispenses with almost all of the async-unsafe code in signal handlers. The last bit will take more work to eliminate but has yet to be reported as a problem. Hopefully this time persistent TCP interfaces are fixed. Full details on what's new on the beta page.
April 12th 2014
In testing a fix for persistent tcp output connections reported as broken in 1.1 beta5 I opened a whole can of worms. There is some async-unsafe code in signal handlers which means I have to rethink how to clean up threads which have exited. There have been no problems reported relating to this but it is still "incorrect" and needs fixing before a new beta is released. This is turning out to be harder than expected, but the re-worked code should be available in about a week. Thank you for your patience.
April 5th 2014
April 4th 2014
New beta released today fixing a problem with bi-directional broadcast interfaces which was introduced by the code re-structuring for 1.1 and fixing an error on re-connecting outbound persisent tcp interfaces. Full details on the beta page.
March 19th 2014
New beta released today. Key changes are fixing of the persist problem, addition of keepalive option (default with persist option) and additional baud rates for more esoteric hardware. Details on the beta page.
March 12th 2014
Thanks to Syd for pointing out that the persist option is broken for tcp in 1.1 beta. A new beta will be out within the next few days correcting this and solving a long-standing issue of connections not persisting when losing mapping across NAT (e.g. when receiving data from an Internet AIS server). Also....is anyone actually using the GoFree stuff? Navico haven't answered my mails so I'm inclined to drop this from 1.1 unless someone actually wants it...
February 6th 2014
I've received no reports good or bad about the 1.1beta. I've made up some debs in case compiling has been putting anyone off. There's one for x86_64 and one or ARM (pi). Please do try it out and let me know if it's OK, especially if you can test against Navico GoFree. Debs and source are up on the download page.
January 8th 2014
I've always hated the word "blog" and all its connotations. However it seems that "Interviewing people for my blog" might give me an excuse to ask people I don't know questions about stuff. So I've started one. It's here. The first post is probably nothing you don't know already.
January 7th 2014
Yesterday I visited the London Boat Show in the hopes of testing kplex with multiple gofree MFDs. Sadly Navico weren't there but I did get to test with a single device on a vendor's stand. A bug I found in the code processing service announcements which didn't show up in testing with simulated data has now been fixed and 1.1beta2 is available from the download page. This beta release also adds a new "loopback" option to facilitate set-ups where two different devices are wired to the send and receive sides of a single serial interface.
January 5th 2014
Support for nmea-0183 over UDP multicast is now in the latest beta of OpenCPN. The OpenCPN wiki has been updated with further details.
December 15th 2013
A new 1.1 beta has been available for over a week now but not publicised because of lack of testing. The headline additions are support for Simrad's GoFree service announcements, sensible handling of NMEA 0183v4 TAG blocks (which are simply ignored) and optional timestamps in TAG format (second or millisecond resolution). Due to lack of hardware this release has not been tested on Mac (though it should be fine) and all GoFree testing has been with simulated data. Consequently feedback from Mac users and owners of recent Navico MFDs would be especially appreciated, and all user feedback is gratefully received.
Full details of the beta release are on the beta page.
December 2nd 2013
Ambitions on the TAG block front have been scaled back. It's apparently a spec conceived without thought to implementation, and I'll guess that the majority of implementations won't be to spec. The version of kplex currently in alpha testing will simply ignore TAG blocks on input but will provide the options to add second or millisecond timestamps in TAG format.
Also in testing is support for simrad's "gofree" spec. I'm a little hampered by not actually having any B&G or Simrad MFDs to test with. If you have such MFDs which support GoFree (NSS or Zeus Touch with recent firmware updates: I'm investigating the list of what supports it) and would like to help testing, please let me know.
October 21st 2013
Some major structural changes are required to support TAG blocks efficiently and this has hampered progress on 1.1. Fortunately no problems have so far been reported with 1.0.
Today the web site is being updated with a couple of example projects which may help people intimidated by the configuration documentation. The site will also be updated with links to projects others have undertaken using kplex. If you have a web page describing a kplex-based project please Let me know and I'll link to it.
August 31st 2013
Kplex "1.0" is released!. Support for multicast, persistent tcp connections and rate limiting are the major new features. And of course a versioning scheme with fewer digits. See the changelog for a list of changes.
A huge Tak/Tack/Takk/Dank/Merci/Danke to everyone who has contributed, made suggestions or just told me kplex works for them over the past year. It wouldn't be worth writing this stuff if nobody used it.
kplex 1.1 is already under development, with better handling of NMEA-0183 v4 TAG blocks and TAG block based timestamping.
August 24th 2013
With no negative feedback and development of kplex 1.1 with better TAG block handling already well under way, kplex 1.0 is now scheduled to be released on August 30th 2013 if no major problems are reported.
August 19th 2013
Binary .deb packages are now available via the download page. No reported problems with beta3, and hopefully this binary release will open it up to a wider audience. If in doubt, do pick this over the 0.2.11 releases. The beta page explains what's better about the new version.
August 10th 2013
kplex 1.0 beta3 released. Adds rate limiting and timestamping for enhanced data logging potential. Full details on the beta page.
August 7th 2013
kplex 1.0 beta2 released, Fixing a compile-time error on MacOS X.
August 6th 2013
If any users are interested in seeing support for Simrad's "GoFree" products in kplex, get in touch. I don't have kit to test with so will need to rely on your help to test any such implementation out.
August 5th 2013
kplex 1.0 beta1 is now available as source code for anyone interested in trying it out. Headline new features are support for IPv4 and IPv6 multicast and the option for tcp client connections to reconnect following server failure. Full details on the Beta page.
July 31st 2013
According to some comments on panbo, IPv6 is destined to serve as the network layer in NMEA's next generation "Onenet" protocol. kplex is still the only marine data multiplexer I'm aware of that works with IPv6 right now.
In other news, initial multicast support (IPv4 and IPv6) is now in testing and the next release of kplex should be ready by the end of August. It might even be called "1.0".
June 25th 2013
Today 0.2.11 is released. This is essentially a patch release although it does contain some significant changes, notably to file interfaces and particularly to FIFOs. It is now also possible to redirect standard input or output when in daemon mode.
The next release (0.3.0) should contain support for multicast (not that much else will support such interfaces) and persistent tcp interfaces which reconnect if the server restarts.
Seatalk conversion is currently on the back burner. The mechanics are working fine but the interface requires some DIY hardware so the code is being kept separate from the main kplex codebase until full documentation and disclaimers can be written. Full testing has not been possible due to my boat being out of the water with the mast down.