WSHH bug (conversion from meters to feet when source was feet!)

This commit is contained in:
bsongis
2012-04-29 13:23:17 +00:00
parent 94d344765d
commit 9bc161e4b1
3 changed files with 26 additions and 4 deletions
+21 -2
View File
@@ -336,10 +336,20 @@ void parseTelemHubByte(uint8_t byte)
#ifdef WS_HOW_HIGH
void parseTelemWSHowHighByte(uint8_t byte)
{
if (frskyUsrStreaming < (FRSKY_TIMEOUT10ms*3 - 10)) // At least 100mS passed since last data received
if (frskyUsrStreaming < (FRSKY_TIMEOUT10ms*3 - 10)) {
((uint8_t*)&frskyHubData)[offsetof(FrskyHubData, baroAltitude_bp)] = byte;
else
#if 0
if (g_model.varioSource == VARIO_SOURCE_BARO) {
// the vario will be in feet / second
evalVario(frskyHubData.baroAltitude_bp, 0);
}
#endif
}
else {
// At least 100mS passed since last data received
((uint8_t*)&frskyHubData)[offsetof(FrskyHubData, baroAltitude_bp)+1] = byte;
}
// baroAltitude_bp unit here is feet!
frskyUsrStreaming = FRSKY_TIMEOUT10ms*3; // reset counter
}
#endif
@@ -918,6 +928,15 @@ void putsTelemetryChannel(uint8_t x, uint8_t y, uint8_t channel, int16_t val, ui
putsTelemetryValue(x, y, val, UNIT_RAW, att);
break;
#if defined(IMPERIAL_UNITS)
case TELEM_ALT:
if (g_model.frsky.usrProto == WSHH) {
putsTelemetryValue(x, y, val, UNIT_FEET, att);
break;
}
// no break
#endif
default:
putsTelemetryValue(x, y, val, pgm_read_byte(bchunit_ar+channel-6), att);
break;