mirror of
https://github.com/opentx/opentx.git
synced 2025-07-24 16:55:20 +03:00
Whole Cells telemetry info not updated after Telemetry Reset
This commit is contained in:
parent
7c9636c58c
commit
2e0858bc0c
2 changed files with 11 additions and 11 deletions
|
@ -165,7 +165,8 @@ PACK(struct FrskySerialData {
|
|||
uint8_t gpsDistNeeded:1; // 1bits out of 16bits spare reused
|
||||
int8_t gpsFix:2; // 2bits out of 16bits spare reused: -1=never fixed, 0=not fixed now, 1=fixed
|
||||
uint8_t openXsensor:1; // 1bits out of 16bits spare reused: we receive data from the openXsensor
|
||||
uint8_t cellsCount:4; // 4bits out of 16bits spare reused
|
||||
uint8_t varioHighPrecision:1;
|
||||
uint8_t spare6:3;
|
||||
|
||||
int32_t gpsAltitude;
|
||||
|
||||
|
@ -173,12 +174,13 @@ PACK(struct FrskySerialData {
|
|||
uint16_t currentPrescale;
|
||||
uint16_t power;
|
||||
|
||||
uint8_t cellsCount;
|
||||
uint8_t sensorCellsCount[2];
|
||||
uint16_t cellVolts[12];
|
||||
int16_t cellsSum;
|
||||
uint8_t cellsState;
|
||||
uint16_t cellsState;
|
||||
uint16_t minCellVolts;
|
||||
|
||||
bool varioHighPrecision;
|
||||
uint16_t airSpeed;
|
||||
uint16_t dTE;
|
||||
});
|
||||
|
|
|
@ -279,8 +279,6 @@ bool checkSportPacket(uint8_t *packet)
|
|||
#define SPORT_DATA_U32(packet) (*((uint32_t *)(packet+4)))
|
||||
#define HUB_DATA_U16(packet) (*((uint16_t *)(packet+4)))
|
||||
|
||||
uint8_t noCellsSensor[2];
|
||||
|
||||
void frskySportProcessPacket(uint8_t *packet)
|
||||
{
|
||||
uint8_t dataId = packet[0];
|
||||
|
@ -471,21 +469,21 @@ void frskySportProcessPacket(uint8_t *packet)
|
|||
|
||||
if (dataId == DATA_ID_FLVSS) {
|
||||
// first sensor, remember its cell count
|
||||
noCellsSensor[0] = cells;
|
||||
cells += noCellsSensor[1];
|
||||
frskyData.hub.sensorCellsCount[0] = cells;
|
||||
cells += frskyData.hub.sensorCellsCount[1];
|
||||
}
|
||||
else {
|
||||
// second sensor connected
|
||||
noCellsSensor[1] = cells;
|
||||
cells += noCellsSensor[0];
|
||||
battnumber += noCellsSensor[0];
|
||||
frskyData.hub.sensorCellsCount[1] = cells;
|
||||
cells += frskyData.hub.sensorCellsCount[0];
|
||||
battnumber += frskyData.hub.sensorCellsCount[0];
|
||||
}
|
||||
|
||||
if (cells != frskyData.hub.cellsCount) {
|
||||
frskySetCellsCount(cells);
|
||||
}
|
||||
|
||||
frskySetCellVoltage(battnumber, (frskyCellVoltage_t) ((data & 0x000FFF00) >> 8) / 5);
|
||||
frskySetCellVoltage(battnumber, (frskyCellVoltage_t) ((data & 0x000FFF00) >> 8) / 5);
|
||||
if (useSecondCell) {
|
||||
frskySetCellVoltage(battnumber+1, (frskyCellVoltage_t) ((data & 0xFFF00000) >> 20) / 5);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue