mirror of
https://github.com/opentx/opentx.git
synced 2025-07-26 01:35:21 +03:00
Min & Max Altitude on WSHH
This commit is contained in:
parent
940bb7b351
commit
f45ae2da51
1 changed files with 11 additions and 13 deletions
|
@ -180,7 +180,15 @@ inline void evalVario(int16_t altitude_bp, uint16_t altitude_ap)
|
||||||
frskyHubData.varioAltitude_cm = varioAltitude_cm;
|
frskyHubData.varioAltitude_cm = varioAltitude_cm;
|
||||||
frskyHubData.varioSpeed += frskyHubData.varioAltitudeQueue[varioAltitudeQueuePointer] ;
|
frskyHubData.varioSpeed += frskyHubData.varioAltitudeQueue[varioAltitudeQueuePointer] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void checkMinMaxAltitude()
|
||||||
|
{
|
||||||
|
if (frskyHubData.baroAltitude_bp > frskyHubData.maxAltitude)
|
||||||
|
frskyHubData.maxAltitude = frskyHubData.baroAltitude_bp;
|
||||||
|
if (frskyHubData.baroAltitude_bp < frskyHubData.minAltitude)
|
||||||
|
frskyHubData.minAltitude = frskyHubData.baroAltitude_bp;
|
||||||
|
}
|
||||||
|
|
||||||
void parseTelemHubByte(uint8_t byte)
|
void parseTelemHubByte(uint8_t byte)
|
||||||
{
|
{
|
||||||
static int8_t structPos;
|
static int8_t structPos;
|
||||||
|
@ -265,13 +273,8 @@ void parseTelemHubByte(uint8_t byte)
|
||||||
// First received barometer altitude => Altitude offset
|
// First received barometer altitude => Altitude offset
|
||||||
if (!frskyHubData.baroAltitudeOffset)
|
if (!frskyHubData.baroAltitudeOffset)
|
||||||
frskyHubData.baroAltitudeOffset = -frskyHubData.baroAltitude_bp;
|
frskyHubData.baroAltitudeOffset = -frskyHubData.baroAltitude_bp;
|
||||||
|
|
||||||
frskyHubData.baroAltitude_bp += frskyHubData.baroAltitudeOffset;
|
frskyHubData.baroAltitude_bp += frskyHubData.baroAltitudeOffset;
|
||||||
|
checkMinMaxAltitude();
|
||||||
if (frskyHubData.baroAltitude_bp > frskyHubData.maxAltitude)
|
|
||||||
frskyHubData.maxAltitude = frskyHubData.baroAltitude_bp;
|
|
||||||
if (frskyHubData.baroAltitude_bp < frskyHubData.minAltitude)
|
|
||||||
frskyHubData.minAltitude = frskyHubData.baroAltitude_bp;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case offsetof(FrskyHubData, baroAltitude_ap):
|
case offsetof(FrskyHubData, baroAltitude_ap):
|
||||||
|
@ -341,12 +344,7 @@ void parseTelemWSHowHighByte(uint8_t byte)
|
||||||
{
|
{
|
||||||
if (frskyUsrStreaming < (FRSKY_TIMEOUT10ms*3 - 10)) {
|
if (frskyUsrStreaming < (FRSKY_TIMEOUT10ms*3 - 10)) {
|
||||||
((uint8_t*)&frskyHubData)[offsetof(FrskyHubData, baroAltitude_bp)] = byte;
|
((uint8_t*)&frskyHubData)[offsetof(FrskyHubData, baroAltitude_bp)] = byte;
|
||||||
#if 0
|
checkMinMaxAltitude();
|
||||||
if (g_model.varioSource == VARIO_SOURCE_BARO) {
|
|
||||||
// the vario will be in feet / second
|
|
||||||
evalVario(frskyHubData.baroAltitude_bp, 0);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// At least 100mS passed since last data received
|
// At least 100mS passed since last data received
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue