mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-21 15:25:36 +03:00
ledvinap review (without editing battery.c if statements)
This commit is contained in:
parent
3fea35079f
commit
7b196b2ed7
8 changed files with 12 additions and 20 deletions
|
@ -654,7 +654,7 @@ static bool mspCommonProcessOutCommand(uint8_t cmdMSP, sbuf_t *dst, mspPostProce
|
||||||
sbufWriteU16(dst, batteryConfig()->batteryCapacity);
|
sbufWriteU16(dst, batteryConfig()->batteryCapacity);
|
||||||
sbufWriteU8(dst, batteryConfig()->voltageMeterSource);
|
sbufWriteU8(dst, batteryConfig()->voltageMeterSource);
|
||||||
sbufWriteU8(dst, batteryConfig()->currentMeterSource);
|
sbufWriteU8(dst, batteryConfig()->currentMeterSource);
|
||||||
sbufWriteU8(dst, batteryConfig()->setBatteryCellCount);
|
sbufWriteU8(dst, batteryConfig()->forceBatteryCellCount);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSP_TRANSPONDER_CONFIG: {
|
case MSP_TRANSPONDER_CONFIG: {
|
||||||
|
@ -2419,7 +2419,7 @@ static mspResult_e mspCommonProcessInCommand(uint8_t cmdMSP, sbuf_t *src, mspPos
|
||||||
batteryConfigMutable()->batteryCapacity = sbufReadU16(src);
|
batteryConfigMutable()->batteryCapacity = sbufReadU16(src);
|
||||||
batteryConfigMutable()->voltageMeterSource = sbufReadU8(src);
|
batteryConfigMutable()->voltageMeterSource = sbufReadU8(src);
|
||||||
batteryConfigMutable()->currentMeterSource = sbufReadU8(src);
|
batteryConfigMutable()->currentMeterSource = sbufReadU8(src);
|
||||||
batteryConfigMutable()->setBatteryCellCount = sbufReadU8(src);
|
batteryConfigMutable()->forceBatteryCellCount = sbufReadU8(src);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#if defined(USE_OSD)
|
#if defined(USE_OSD)
|
||||||
|
|
|
@ -682,7 +682,7 @@ const clivalue_t valueTable[] = {
|
||||||
{ "use_cbat_alerts", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_BATTERY_CONFIG, offsetof(batteryConfig_t, useConsumptionAlerts) },
|
{ "use_cbat_alerts", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_BATTERY_CONFIG, offsetof(batteryConfig_t, useConsumptionAlerts) },
|
||||||
{ "cbat_alert_percent", VAR_UINT8 | MASTER_VALUE, .config.minmax = { 0, 100 }, PG_BATTERY_CONFIG, offsetof(batteryConfig_t, consumptionWarningPercentage) },
|
{ "cbat_alert_percent", VAR_UINT8 | MASTER_VALUE, .config.minmax = { 0, 100 }, PG_BATTERY_CONFIG, offsetof(batteryConfig_t, consumptionWarningPercentage) },
|
||||||
{ "vbat_cutoff_percent", VAR_UINT8 | MASTER_VALUE, .config.minmax = { 0, 100 }, PG_BATTERY_CONFIG, offsetof(batteryConfig_t, lvcPercentage) },
|
{ "vbat_cutoff_percent", VAR_UINT8 | MASTER_VALUE, .config.minmax = { 0, 100 }, PG_BATTERY_CONFIG, offsetof(batteryConfig_t, lvcPercentage) },
|
||||||
{ "set_battery_cell_count", VAR_UINT8 | MASTER_VALUE, .config.minmax = { 10, 80 }, PG_BATTERY_CONFIG, offsetof(batteryConfig_t, setBatteryCellCount) },
|
{ "force_battery_cell_count", VAR_UINT8 | MASTER_VALUE, .config.minmax = { 0, 80 }, PG_BATTERY_CONFIG, offsetof(batteryConfig_t, forceBatteryCellCount) },
|
||||||
|
|
||||||
// PG_VOLTAGE_SENSOR_ADC_CONFIG
|
// PG_VOLTAGE_SENSOR_ADC_CONFIG
|
||||||
{ "vbat_scale", VAR_UINT8 | MASTER_VALUE, .config.minmax = { VBAT_SCALE_MIN, VBAT_SCALE_MAX }, PG_VOLTAGE_SENSOR_ADC_CONFIG, offsetof(voltageSensorADCConfig_t, vbatscale) },
|
{ "vbat_scale", VAR_UINT8 | MASTER_VALUE, .config.minmax = { VBAT_SCALE_MIN, VBAT_SCALE_MAX }, PG_VOLTAGE_SENSOR_ADC_CONFIG, offsetof(voltageSensorADCConfig_t, vbatscale) },
|
||||||
|
|
|
@ -106,7 +106,7 @@ PG_RESET_TEMPLATE(batteryConfig_t, batteryConfig,
|
||||||
.currentMeterSource = DEFAULT_CURRENT_METER_SOURCE,
|
.currentMeterSource = DEFAULT_CURRENT_METER_SOURCE,
|
||||||
|
|
||||||
// cells
|
// cells
|
||||||
.setBatteryCellCount = 0, //0 will be ignored
|
.forceBatteryCellCount = 0, //0 will be ignored
|
||||||
|
|
||||||
// warnings / alerts
|
// warnings / alerts
|
||||||
.useVBatAlerts = true,
|
.useVBatAlerts = true,
|
||||||
|
@ -190,12 +190,9 @@ void batteryUpdatePresence(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
consumptionState = voltageState = BATTERY_OK;
|
consumptionState = voltageState = BATTERY_OK;
|
||||||
if (batteryConfig()->setBatteryCellCount != 0)
|
if (batteryConfig()->forceBatteryCellCount != 0) {
|
||||||
{
|
batteryCellCount = batteryConfig()->forceBatteryCellCount;
|
||||||
batteryCellCount = batteryConfig()->setBatteryCellCount;
|
} else {
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
batteryCellCount = cells;
|
batteryCellCount = cells;
|
||||||
}
|
}
|
||||||
batteryWarningVoltage = batteryCellCount * batteryConfig()->vbatwarningcellvoltage;
|
batteryWarningVoltage = batteryCellCount * batteryConfig()->vbatwarningcellvoltage;
|
||||||
|
|
|
@ -40,9 +40,6 @@ typedef struct batteryConfig_s {
|
||||||
currentMeterSource_e currentMeterSource; // source of battery current meter used, either ADC, Virtual or ESC
|
currentMeterSource_e currentMeterSource; // source of battery current meter used, either ADC, Virtual or ESC
|
||||||
uint16_t batteryCapacity; // mAh
|
uint16_t batteryCapacity; // mAh
|
||||||
|
|
||||||
// cells
|
|
||||||
uint8_t setBatteryCellCount; // number of cells in battery, used for overwriting auto-detected cell count if someone has issues with it.
|
|
||||||
|
|
||||||
// warnings / alerts
|
// warnings / alerts
|
||||||
bool useVBatAlerts; // Issue alerts based on VBat readings
|
bool useVBatAlerts; // Issue alerts based on VBat readings
|
||||||
bool useConsumptionAlerts; // Issue alerts based on total power consumption
|
bool useConsumptionAlerts; // Issue alerts based on total power consumption
|
||||||
|
@ -51,6 +48,9 @@ typedef struct batteryConfig_s {
|
||||||
|
|
||||||
uint8_t vbatfullcellvoltage; // Cell voltage at which the battery is deemed to be "full" 0.1V units, default is 41 (4.1V)
|
uint8_t vbatfullcellvoltage; // Cell voltage at which the battery is deemed to be "full" 0.1V units, default is 41 (4.1V)
|
||||||
|
|
||||||
|
// cells
|
||||||
|
uint8_t forceBatteryCellCount; // number of cells in battery, used for overwriting auto-detected cell count if someone has issues with it.
|
||||||
|
|
||||||
} batteryConfig_t;
|
} batteryConfig_t;
|
||||||
|
|
||||||
typedef struct lowVoltageCutoff_s {
|
typedef struct lowVoltageCutoff_s {
|
||||||
|
|
|
@ -100,7 +100,6 @@ void targetConfiguration(void)
|
||||||
batteryConfigMutable()->batteryCapacity = 250;
|
batteryConfigMutable()->batteryCapacity = 250;
|
||||||
batteryConfigMutable()->vbatmincellvoltage = 28;
|
batteryConfigMutable()->vbatmincellvoltage = 28;
|
||||||
batteryConfigMutable()->vbatwarningcellvoltage = 33;
|
batteryConfigMutable()->vbatwarningcellvoltage = 33;
|
||||||
batteryConfigMutable()->setBatteryCellCount = 0;
|
|
||||||
|
|
||||||
*customMotorMixerMutable(0) = (motorMixer_t){ 1.0f, -0.414178f, 1.0f, -1.0f }; // REAR_R
|
*customMotorMixerMutable(0) = (motorMixer_t){ 1.0f, -0.414178f, 1.0f, -1.0f }; // REAR_R
|
||||||
*customMotorMixerMutable(1) = (motorMixer_t){ 1.0f, -0.414178f, -1.0f, 1.0f }; // FRONT_R
|
*customMotorMixerMutable(1) = (motorMixer_t){ 1.0f, -0.414178f, -1.0f, 1.0f }; // FRONT_R
|
||||||
|
|
|
@ -381,7 +381,7 @@ static bool bstSlaveProcessFeedbackCommand(uint8_t bstRequest)
|
||||||
bstWrite8(batteryConfig()->vbatmincellvoltage);
|
bstWrite8(batteryConfig()->vbatmincellvoltage);
|
||||||
bstWrite8(batteryConfig()->vbatmaxcellvoltage);
|
bstWrite8(batteryConfig()->vbatmaxcellvoltage);
|
||||||
bstWrite8(batteryConfig()->vbatwarningcellvoltage);
|
bstWrite8(batteryConfig()->vbatwarningcellvoltage);
|
||||||
bstWrite8(batteryConfig()->setBatteryCellCount);
|
bstWrite8(batteryConfig()->forceBatteryCellCount);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BST_FEATURE:
|
case BST_FEATURE:
|
||||||
|
@ -539,7 +539,7 @@ static bool bstSlaveProcessWriteCommand(uint8_t bstWriteCommand)
|
||||||
batteryConfigMutable()->vbatmincellvoltage = bstRead8(); // vbatlevel_warn1 in MWC2.3 GUI
|
batteryConfigMutable()->vbatmincellvoltage = bstRead8(); // vbatlevel_warn1 in MWC2.3 GUI
|
||||||
batteryConfigMutable()->vbatmaxcellvoltage = bstRead8(); // vbatlevel_warn2 in MWC2.3 GUI
|
batteryConfigMutable()->vbatmaxcellvoltage = bstRead8(); // vbatlevel_warn2 in MWC2.3 GUI
|
||||||
batteryConfigMutable()->vbatwarningcellvoltage = bstRead8(); // vbatlevel when buzzer starts to alert
|
batteryConfigMutable()->vbatwarningcellvoltage = bstRead8(); // vbatlevel when buzzer starts to alert
|
||||||
batteryConfigMutable()->setBatteryCellCount = bstRead8();
|
batteryConfigMutable()->forceBatteryCellCount = bstRead8();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BST_ACC_CALIBRATION:
|
case BST_ACC_CALIBRATION:
|
||||||
|
|
|
@ -58,7 +58,6 @@ void targetConfiguration(void)
|
||||||
batteryConfigMutable()->vbatmaxcellvoltage = 44;
|
batteryConfigMutable()->vbatmaxcellvoltage = 44;
|
||||||
batteryConfigMutable()->vbatmincellvoltage = 32;
|
batteryConfigMutable()->vbatmincellvoltage = 32;
|
||||||
batteryConfigMutable()->vbatwarningcellvoltage = 33;
|
batteryConfigMutable()->vbatwarningcellvoltage = 33;
|
||||||
batteryConfigMutable()->setBatteryCellCount = 0;
|
|
||||||
|
|
||||||
rxConfigMutable()->spektrum_sat_bind = 5;
|
rxConfigMutable()->spektrum_sat_bind = 5;
|
||||||
rxConfigMutable()->spektrum_sat_bind_autoreset = 1;
|
rxConfigMutable()->spektrum_sat_bind_autoreset = 1;
|
||||||
|
|
|
@ -52,7 +52,6 @@ TEST(BatteryTest, BatteryADCToVoltage)
|
||||||
.currentMeterType = CURRENT_SENSOR_NONE,
|
.currentMeterType = CURRENT_SENSOR_NONE,
|
||||||
.multiwiiCurrentMeterOutput = 0,
|
.multiwiiCurrentMeterOutput = 0,
|
||||||
.batteryCapacity = 2200,
|
.batteryCapacity = 2200,
|
||||||
.setBatteryCellCount = 0,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
batteryInit(&batteryConfig);
|
batteryInit(&batteryConfig);
|
||||||
|
@ -113,7 +112,6 @@ TEST(BatteryTest, BatteryState)
|
||||||
.currentMeterType = CURRENT_SENSOR_NONE,
|
.currentMeterType = CURRENT_SENSOR_NONE,
|
||||||
.multiwiiCurrentMeterOutput = 0,
|
.multiwiiCurrentMeterOutput = 0,
|
||||||
.batteryCapacity = 2200,
|
.batteryCapacity = 2200,
|
||||||
.setBatteryCellCount = 0,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
batteryInit(&batteryConfig);
|
batteryInit(&batteryConfig);
|
||||||
|
@ -173,7 +171,6 @@ TEST(BatteryTest, CellCount)
|
||||||
.currentMeterType = CURRENT_SENSOR_NONE,
|
.currentMeterType = CURRENT_SENSOR_NONE,
|
||||||
.multiwiiCurrentMeterOutput = 0,
|
.multiwiiCurrentMeterOutput = 0,
|
||||||
.batteryCapacity = 2200,
|
.batteryCapacity = 2200,
|
||||||
.setBatteryCellCount = 0,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
batteryInit(&batteryConfig);
|
batteryInit(&batteryConfig);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue