OpenTX 2.2.2 G-speed sensor from Crossfire/Betaflight shows incorrect value on my QX7. I don't know exactly but it looks like it is 10 times too high.
I checked the code a little and it looks like this in Betaflight:
Code: Select all
sbufWriteU16BigEndian(dst, (gpsSol.groundSpeed * 36 + 5) / 10); // gpsSol.groundSpeed is in 0.1m/s
https://github.com/betaflight/betafligh ... rsf.c#L182
The result is a value in km/h multiplied by 10 and in OpenTX 2.2.2 the value is not divided with anything:
Code: Select all
if (getCrossfireTelemetryValue<2>(11, value))
processCrossfireTelemetryValue(GPS_GROUND_SPEED_INDEX, value);
https://github.com/opentx/opentx/blob/2 ... e.cpp#L111
So, to me, it seems like a mismatch between what OpenTX need and what Betaflight delivers.
I assume that the multiplication by 10 is done to get the first decimal into the telemetry stream of integer values.
So based on this OpenTX should divide by 10.
Anyone having any opinion about this? Is there any configuration in OpenTX I can use to make the G-speed show correct value?
/Martin