Skip to main content

Native ANT+ ... almost done

Update March 19th - USB1 and USB2 Garmin sticks now supported. Its now time to get that UI looking a little less 1980s and a bit more 2010 ... but with the work on configurable layouts already in the bag it shouldn't be too hard to do.

I've worked up the support for more speed, cadence and power as well as the original HR. Along the way I learned a lot more about the ANT and ANT+ protocols. It was relatively painless, well, except from wasting an hour or so debugging my speed sensor code only to find the wheel magnet had fallen off! (d'oh).

Gonna get to work on making the config a but sexier and testing on Windows and Mac, but the hard yards have been done. Big props to Mark Rages for sharing quarqd.

Oh, the reason Watts and RPM are zero above is because I jumped off the turbo to press the pause button so I could take the screenshot. You will see that cadence (blue) and power (yellow) had been registering... honest :) The speed is high because I have almost no resistance on the turbo to prevent me from working too hard as I tested. My usual guinea pigs (the kids) are now bored of Dad's turbo thing.

Popular posts from this blog

W'bal its implementation and optimisation

So, the implementation of W'bal in GoldenCheetah has been a bit of a challenge.

The Science I wanted to explain what we've done and how it works in this blog post, but realised that first I need to explain the science behind W'bal, W' and CP.

W' and CP How hard can you go, in watts, for half an hour is going to be very different to how hard you can go for say, 20 seconds. And then thinking about how hard you can go for a very long time will be different again. But when it comes to reviewing and tracking changes in your performance and planning future workouts you quickly realise how useful it is to have a good understanding of your own limits.

In 1965 two scientists Monod and Scherrer presented a ‘Critical Power Model’ where the Critical Power of a muscle is defined as ‘the maximum rate of work that it can keep up for a very long time without fatigue’. They also proposed an ‘energy store’ (later to be termed W’, pronounced double-ewe-prime) that represented a finit…

Implementing the Banister Impulse-Response Model in GoldenCheetah

Over January 2019 I implemented the Banister model in GoldenCheetah, along the way I learned a little about its strengths and weaknesses.

This post is about that; explaining the Banister model and how it relates to the PMC, how it has been implemented in GoldenCheetah and what it's limitations are. I've also added a bit at the end covering some of the things I'm looking to do with this next from potential model improvements through to deep learning.

In some ways this post is a longer written form of this tutorial I recorded covering Banister and GoldenCheetah.
The Banister Impulse Response model In 1975 Eric Banister proposed an impulse-response model that could be used to correlate past training with changes in performance in order to predict future improvements from future training.

Originally proposed for working with collegiate swimmers it was reworked in 1990 for working with running and of course also applicable for cycling. Each type of sport needed a way of calcula…

Performance Tests and Power Index

In this post I'm going to describe a new metric Power Index, which is used to find maximal efforts in general data without any knowledge of an athlete and a Submaximal Effort Filtering Algorithmusing a modified form of a convex hull search algorithm. These approaches were developed to support the implementation of the Banister IR model in GoldenCheetah.
Performance testing is useful When it comes to tracking and modelling performance you can't beat a performance test. Whether it's a set of tests to exhaustion, a 40km TT or just tracking your time up a local hill, they're really useful. If your performance improves then you know your training is working, if your performance goes down then maybe you're fatigued or losing fitness with too little training. Either way you have concrete evidence.

And it should be no surprise that performance tests are the main inputs into most performance models. If we want to model and predict maximal performance, generally we need a me…