(Note: I wrote this and then deleted as I wanted more confirmation)
For left leg only, the value should be all 100
the LRBalance data from is referencing Left contribution - Right contribution
When pedaling on Left only, the right contribution = 0
Hence, for the decoding, the leftpower is:
leftPower = 100 - (rightPower ?? 0)
since rightPower = 0, (left leg pedaling only) then left balance = 100%
Am I making sense?
I don’t get this. Why is it this way?
Here is the same dataset as my earlier post, this time I’m using the Mac app called FitFileExplorer to see the data dump.
Note that in this case, the parameter we’re interested in is called left_right_balance and the data is 186,171
The way to interpret this is to mask it using the “&” bitmask but the simplest way is just to minus the value with 128 (https://www.thisisant.com/forum/viewthread/6647/)
eg:
left_right_balance_186 = 186 - 128 = 58% (right pedal)
so, left pedal balance = 100 - 58 = 48%
More testing. This time using the ANT+ simulator and recording the data using my garmin, then uploading it to GC, Intervals and GoldenCheetah
I did 100% Left, then 90% left, then 100% Right
Findings:
- same L-R was displayed on my garmin watch
- same L-R was plotted in GC
- GC is using 100%L - 50/50 - 100%R(top to bottom) vs Intervals using 0L and 100R. (If this was re-labelled as 0R - 100R, then it would be the same between GC / GoldenCheetah & Intervals)
- Loaded it into GoldenCheetah and it uses similar nomenclature as intervals (0% - 100%) with reference to L side power. (hence it also shows 100%L then 90%L then 0% Left)
- final L/R balance summary shows the same as 71% L and 29% R for both GC and Intervals.
Here’s the same dataset (as above) decoded by the FITSdk FitToCsv.jar file. (refer to the table header for the mathematic and the Left / Right power Balance in %)
Now we come to @Scott_Price’s fit file. Thanks to @david sending it to me via email. Now, this one got me stumped until i dig more. (It’s also helpful that scott mentioned it’s a Karoo, (non-garmin) unit)
Note that in this decode, the left_right_balance field is showing 100, which I think is not correct per the FIT definition, hence when I do a 100 - 128 = -28
I also uploaded this karoo data to GC and GoldenCheetah and both GC & GoldenCheetah doesn’t display LR balance data.
Note: Technical coding stuffs
This is directly from Garmin’s FITSdk, profile.xlsx (that’s how to do the “&” bitmask stuffs)
also this post earlier
Yep.. I get the price for being overly descriptive / technical in my posts
The FIT file i used / created using ANT+ Simulator