1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-25 01:05:27 +03:00

feat:add average cell voltage in CRSF telemetry

This commit is contained in:
thomas.bridi 2018-08-23 13:09:51 +02:00
parent a02e1dd384
commit 50d287a9d4
2 changed files with 9 additions and 1 deletions

View file

@ -200,7 +200,11 @@ void crsfFrameBatterySensor(sbuf_t *dst)
// use sbufWrite since CRC does not include frame length
sbufWriteU8(dst, CRSF_FRAME_BATTERY_SENSOR_PAYLOAD_SIZE + CRSF_FRAME_LENGTH_TYPE_CRC);
sbufWriteU8(dst, CRSF_FRAMETYPE_BATTERY_SENSOR);
sbufWriteU16BigEndian(dst, getBatteryVoltage()); // vbat is in units of 0.1V
if (telemetryConfig()->report_cell_voltage) {
sbufWriteU16BigEndian(dst, getBatteryAverageCellVoltage()); // vbat is in units of 0.1V
} else {
sbufWriteU16BigEndian(dst, getBatteryVoltage());
}
sbufWriteU16BigEndian(dst, getAmperage() / 10);
const uint32_t mAhDrawn = getMAhDrawn();
const uint8_t batteryRemainingPercentage = calculateBatteryPercentageRemaining();

View file

@ -69,6 +69,7 @@ extern "C" {
int sbufBytesRemaining(sbuf_t *buf);
void initSharedMsp();
uint16_t testBatteryVoltage = 0;
uint16_t testAvgCellVoltage = 0;
int32_t testAmperage = 0;
uint8_t mspTxData[64]; //max frame size
sbuf_t mspTxDataBuf;
@ -259,6 +260,9 @@ extern "C" {
uint16_t getBatteryVoltage(void) {
return testBatteryVoltage;
}
uint16_t getBatteryAverageCellVoltage(void) {
return testAvgCellVoltage;
}
bool isAmperageConfigured(void) { return true; }
int32_t getAmperage(void) {
return testAmperage;