Old News
June 26th 2016
1.3.4 is now available. This is a patch release fixing two bugs. One caused possible crashes or unpredictable behaviour when one of more "optional" interfaces failed on startup and the other could result in a "port" directve for a udp interface to be ignored.
May 7th 2016
1.3.3 is now available. This is a patch release fixing filtering which became broken with 1.3.1 and a potential crash when unusual interface types are configured on a system running kplex.
April 21st 2016
1.3.2 is now available. This release fixes bugs, especially in reconnection of persistent tcp connections, adds more debugging and makes connection to gpsd easier.
March 24th 2016
First release candidate for 1.3.2 is now available from the download page and github. This is a patch release but fixes some significant bugs in udp address selection and tcp reconnection code. It also adds gpsd support and additional debugging. Full details on the beta page.
October 23rd 2015
Want to replay data you've logged for testing purposes? There's an app for that.
But you'll have to compile it yourself:
https://github.com/stripydog/replay183
September 29th 2015
1.3.1 is finally out. This is mainly a patch release and no changes have been made from the first beta.
August 25th 2015
Nuno Gonçalves has added kplex to the official OpenWRT package repository. In doing so he found a few bugs and suggested some build changes which have been bundled up into kplex 1.3.1. A beta version of the 1.3.1 source is available now from the download page. Alternatively it can be checked out from the "1.3.1" branch on github. A description of the changes in 1.3.1 can be found here.
In other news a new Quickstart page has been added to simplify getting kplex up and running with a basic configuraiton. The configuration page has become rather large and intimidating to take in at once. Feedback on the new page would be appreciated.
Lastly anyone interested in using Navionics "SonarChart Live" may be interested in a recent blog post on how to use kplex instead of one of Navionics's partner products to produce bathymetric maps from your sounder info.
April 15th 2015
Although little feedback has been received on the 1.3 beta, today it is being released as version 1.3. The most significant change is the introduction of the "udp" Interface type which subsumes the functionality of the existing "broadcast" and "multicast" interface types. The latter two are retained for the time being but will be removed at some point in the future. Releasing 1.3 facilitates moving to a "gitflow" workflow style with the github sources which has been suggested by users.
March 15th 2015
New 1.3 beta. Biggest news here is consolidation of "broadcast" and "multicast" udp interfaces into a new "udp" interface type which also implements unicast udp. Full details on the beta page. Any feedback on these changes greatly appreciated.
February 6th 2015
kplex 1.2 is released today and is available on the download page. Internal changes to file interfaces consolidate handling with other file types but should be invisible. As well as several bug fixes (see the CHANGELOG for details), this release allows specification of owner, group and permission on pseudo terminals and output files and supplements the existing ability to add a source TAG specifying the output interface from kplex with the ability (using "srctag=input") to add a src TAG denoting the interface on which a sentence was received by kplex.
In response to requests kplex is now available on github. I'm still working out how to use that, so suggestions, pointers and gentle criticism welcome.
January 29th 2015
New beta released today. There have been a few bug fixes and a couple of new features added since "beta2", as detailed on the beta page . If no more problems are discovered, this should form the basis for a new "1.2", to be released in early February.
December 10th 2014
1.2beta2 is released today fixing issues with the reconnection code asociated with the tcp "persist" option. If you are using the new "persist=fromstart" option, or if you are using bi-directional tcp client connections with "persist=yes", you should try this new beta.
December 2nd 2014
1.2 beta released today. Release notes are here and the source is available via the download page with debs to follow soon.
November 12th 2014
No problems reported with the beta release so today sees the release of 1.1.1. This is mostly a bug fix release but also sees the addition of the "persist=fromstart" option which will make a tcp interface re-try a connection even if it is not available when kplex starts. This should be of benefit to those whose Internet connection is not always available when kplex starts.
October 22nd 2014
Beta source code for kplex 1.1.1 is released today. This has no new features but fixes the known bugs in 1.1. Please try it out and let me know if it works. A new binary release should follow quickly if no problems are found with this.
September 9th 2014
A new google group has been created for discussing and asking questions on kplex. You can still email me questions but publicly posting them may help others with similar questions. You can find the new forum here.
June 4th 2014
kplex 1.1 is finally released. This is unchanged from the last beta which has been available for more than a month with no reported problems. Headline features are improved TAG block handline, much improved TCP persistence and experimental "GoFree" support for use with Navico's latest generation of "MultiFunctihere.
June 4th 2014
kplex 1.1 is finally released. This is unchanged from the last beta which has been available for more than a month with no reported problems. Headline features are improved TAG block handline, much improved TCP persistence and experimental "GoFree" support for use with Navico's latest generation of "MultiFunction Devices" (or chartplotters as some of us still call them). Please let me know of any bugs or of typos or ommissions in the documentation.
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
Want to help out? Send the URL of a web page describing how you're using kplex. We'll add a link in the examples section.
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.