mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-23 16:25:31 +03:00
Merge pull request #6624 from thomasbridi/CRSF_avg_cell_telemetry
feat:add average cell voltage in CRSF telemetry
This commit is contained in:
commit
b14d532dc5
3 changed files with 13 additions and 1 deletions
|
@ -200,7 +200,11 @@ void crsfFrameBatterySensor(sbuf_t *dst)
|
||||||
// use sbufWrite since CRC does not include frame length
|
// 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_FRAME_BATTERY_SENSOR_PAYLOAD_SIZE + CRSF_FRAME_LENGTH_TYPE_CRC);
|
||||||
sbufWriteU8(dst, CRSF_FRAMETYPE_BATTERY_SENSOR);
|
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);
|
sbufWriteU16BigEndian(dst, getAmperage() / 10);
|
||||||
const uint32_t mAhDrawn = getMAhDrawn();
|
const uint32_t mAhDrawn = getMAhDrawn();
|
||||||
const uint8_t batteryRemainingPercentage = calculateBatteryPercentageRemaining();
|
const uint8_t batteryRemainingPercentage = calculateBatteryPercentageRemaining();
|
||||||
|
|
|
@ -69,6 +69,7 @@ extern "C" {
|
||||||
int sbufBytesRemaining(sbuf_t *buf);
|
int sbufBytesRemaining(sbuf_t *buf);
|
||||||
void initSharedMsp();
|
void initSharedMsp();
|
||||||
uint16_t testBatteryVoltage = 0;
|
uint16_t testBatteryVoltage = 0;
|
||||||
|
|
||||||
int32_t testAmperage = 0;
|
int32_t testAmperage = 0;
|
||||||
uint8_t mspTxData[64]; //max frame size
|
uint8_t mspTxData[64]; //max frame size
|
||||||
sbuf_t mspTxDataBuf;
|
sbuf_t mspTxDataBuf;
|
||||||
|
@ -259,6 +260,9 @@ extern "C" {
|
||||||
uint16_t getBatteryVoltage(void) {
|
uint16_t getBatteryVoltage(void) {
|
||||||
return testBatteryVoltage;
|
return testBatteryVoltage;
|
||||||
}
|
}
|
||||||
|
uint16_t getBatteryAverageCellVoltage(void) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
bool isAmperageConfigured(void) { return true; }
|
bool isAmperageConfigured(void) { return true; }
|
||||||
int32_t getAmperage(void) {
|
int32_t getAmperage(void) {
|
||||||
return testAmperage;
|
return testAmperage;
|
||||||
|
|
|
@ -322,6 +322,10 @@ uint16_t getBatteryVoltage(void) {
|
||||||
return testBatteryVoltage;
|
return testBatteryVoltage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint16_t getBatteryAverageCellVoltage(void) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
batteryState_e getBatteryState(void) {
|
batteryState_e getBatteryState(void) {
|
||||||
return BATTERY_OK;
|
return BATTERY_OK;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue