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
|
||||
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();
|
||||
|
|
|
@ -69,6 +69,7 @@ extern "C" {
|
|||
int sbufBytesRemaining(sbuf_t *buf);
|
||||
void initSharedMsp();
|
||||
uint16_t testBatteryVoltage = 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 0;
|
||||
}
|
||||
bool isAmperageConfigured(void) { return true; }
|
||||
int32_t getAmperage(void) {
|
||||
return testAmperage;
|
||||
|
|
|
@ -322,6 +322,10 @@ uint16_t getBatteryVoltage(void) {
|
|||
return testBatteryVoltage;
|
||||
}
|
||||
|
||||
uint16_t getBatteryAverageCellVoltage(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
batteryState_e getBatteryState(void) {
|
||||
return BATTERY_OK;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue