After a long summer with a lot of work in the garden and in the office I finally got back to writing code for the rowing machine. My last approaches were to use a rather complicated Python setup with DynRow and a quite successful, though basic integration into the Unreal engine. Both were interesting, but the problems with interfacing the Concept 2 interface had been a big showstopper.
This is why I decided to create a simple application that decouples the C2 SDK from the application that shows the actual data. I used a new high-level C++ API called easy-erg to connect to the ergometer. With the help of ZMQ and Google Protobuf I was able to stream all the rowing data into my WLAN.
As a first test I changed the DynRow interface from using PyRow to using the Zmq-Proto interface. It was a great success and showed that the concept actually works. As a next step I want to create some sort of what DynRow was, but in a very modularized way. It is now possible to have a Playground application showing all the connected boats. There than could be a number of boats connected, created by actual rowers, generated bots or prerecorded workouts. I’ve created a deployment diagram which shows the potential that lies in the concept: