srmio is a small C library to access the PowerControl V of a SRM bike power meter. It's implementing the serial communication protocol to the PC. The development version also supports PowerControl VI and 7 (though, VI is currently untested).

Furthermore it's supporting reading and writing the original SRM file formats SRM5, SRM6 and SRM7. This allows it to nicely coexist with existing software like srmwin or Golden Cheetah. Well, actually GoldenCheetah is using srmio for PowerControl downloads.

The package includes small command-line frontends for the most important, daily tasks (data download, cleaning memory, setting time + recording interval). For more "exotic" tasks you still need srmwin. But If you're a script guy, you're finally able to automate sending your cycling recordings to your coach.

I'm regulary using this with two PCVs (which speak different flavours of the protocol) and a PC 7 on linux. It's confirmed to compile and work fine on Mac OS X and cygwin. I expect it to work on all unix-like platforms offering a working driver for the original SRM download cable (usb2serial: prolific pl2303 for PCV, FTDI for PC VI and PC 7). Please check the included README for details and examples. If it doesn't compile on your platform, please help me doing so.

Please keep in mind, that you're using this software at your own risk. As noted above, it works for me, but your mileage may vary and turn your PowerControl into a brick (well, not really expected, but I guess, you get the point).

Wishlist:

Feel free to provide instructions for other platforms / USB drivers.

I'm quite curious, if the development version's PC VI + D2XX support is working on windows, as well.

Is somebody volunteering to help with native windows support? (cygwin is supported - see above). I've absolutely no experience in this area (API, build systems, ...). This needs a new srmio_io class for win32 serial comm io and likely some updates to the build infrastructure.

Download / Code:

You can find the source tarballs for releases in the srmio files section.

The changes of the released versions are listed on the srmio changes page.

Browse the git repository with the latest development changes on github.

Git clone url: git://github.com/rclasen/srmio.git