Frsky V2 HUB protocol variometer fix

This commit is contained in:
romolo.manfredini@gmail.com
2012-02-17 23:37:30 +00:00
parent 63edd26442
commit 9997b8c599
2 changed files with 13 additions and 10 deletions
+9 -7
View File
@@ -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
View File
@@ -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)