Frsky V2 HUB protocol variometer fix
This commit is contained in:
+9
-7
@@ -176,14 +176,16 @@ void parseTelemHubByte(uint8_t byte)
|
||||
|
||||
if ((uint8_t)structPos == offsetof(FrskyHubData, volts)) {
|
||||
// Voltage => Cell number + Cell voltage
|
||||
uint8_t battnumber = (frskyHubData.volts & 0x00F0) >> 4;
|
||||
if (frskyHubData.cellsCount < battnumber+1) {
|
||||
frskyHubData.cellsCount = battnumber+1;
|
||||
uint8_t battnumber = ((frskyHubData.volts & 0x00F0) >> 4);
|
||||
if (battnumber<12) {
|
||||
if (frskyHubData.cellsCount < battnumber+1) {
|
||||
frskyHubData.cellsCount = battnumber+1;
|
||||
}
|
||||
uint8_t cellVolts = (uint8_t)(((((frskyHubData.volts & 0xFF00) >> 8) + ((frskyHubData.volts & 0x000F) << 8)))/10);
|
||||
frskyHubData.cellVolts[battnumber] = cellVolts;
|
||||
if (!frskyHubData.minCellVolts || cellVolts < frskyHubData.minCellVolts)
|
||||
frskyHubData.minCellVolts = cellVolts;
|
||||
}
|
||||
uint8_t cellVolts = (uint8_t)(((((frskyHubData.volts & 0xFF00) >> 8) + ((frskyHubData.volts & 0x000F) << 8)))/10);
|
||||
frskyHubData.cellVolts[battnumber] = cellVolts;
|
||||
if (!frskyHubData.minCellVolts || cellVolts < frskyHubData.minCellVolts)
|
||||
frskyHubData.minCellVolts = cellVolts;
|
||||
}
|
||||
|
||||
state = TS_IDLE;
|
||||
|
||||
+4
-3
@@ -95,9 +95,9 @@ struct FrskyHubData {
|
||||
uint16_t gpsLongitude_ap;
|
||||
uint16_t gpsLatitude_ap;
|
||||
uint16_t gpsCourse_ap;
|
||||
uint32_t pilotLatitude; // 2 spares reused
|
||||
uint32_t pilotLongitude; // 2 spares reused
|
||||
uint16_t maxGpsSpeed; // spare reused
|
||||
uint32_t pilotLatitude; // 2 spares reused
|
||||
uint32_t pilotLongitude; // 2 spares reused
|
||||
uint16_t baroAltitude_bp; // spare reused
|
||||
uint16_t gpsLongitudeEW; // East/West
|
||||
uint16_t gpsLatitudeNS; // North/South
|
||||
int16_t accelX; // 1/256th gram (-8g ~ +8g)
|
||||
@@ -109,6 +109,7 @@ struct FrskyHubData {
|
||||
// 17 spares
|
||||
uint16_t volts_bp;
|
||||
uint16_t volts_ap;
|
||||
uint16_t maxGpsSpeed; // spare reused
|
||||
};
|
||||
|
||||
#elif defined(WS_HOW_HIGH)
|
||||
|
||||
Reference in New Issue
Block a user