VSpd bug fixed

This commit is contained in:
maxim.karban@gmail.com
2012-04-28 10:12:47 +00:00
parent d5793858b0
commit b813908493
+3 -3
View File
@@ -167,9 +167,9 @@ int16_t applyChannelRatio(uint8_t channel, int16_t val)
return ((int32_t)val+g_model.frsky.channels[channel].offset) * (g_model.frsky.channels[channel].ratio << g_model.frsky.channels[channel].multiplier) * 2 / 51;
}
inline void evalVario(int16_t altitude_bp, uint8_t altitude_ap)
inline void evalVario(int16_t altitude_bp, uint16_t altitude_ap)
{
int16_t varioAltitude_cm = altitude_bp * 100 + (altitude_bp > 0 ? altitude_ap : -altitude_ap);
int32_t varioAltitude_cm = (int32_t)altitude_bp * 100 + (altitude_bp > 0 ? altitude_ap : -altitude_ap);
uint8_t varioAltitudeQueuePointer = frskyHubData.varioAltitudeQueuePointer + 1;
if (varioAltitudeQueuePointer == VARIO_QUEUE_LENGTH)
@@ -276,7 +276,7 @@ void parseTelemHubByte(uint8_t byte)
case offsetof(FrskyHubData, baroAltitude_ap):
if (g_model.varioSource == VARIO_SOURCE_BARO) {
evalVario(frskyHubData.baroAltitude_bp, frskyHubData.baroAltitude_ap);
evalVario(frskyHubData.baroAltitude_bp-frskyHubData.baroAltitudeOffset, frskyHubData.baroAltitude_ap);
}
break;