mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-23 08:15:30 +03:00
Merge pull request #3510 from brycedjohnson/LVC
Add in Low Voltage Cutout option/Increase Vbat filtering/Improved cell detection
This commit is contained in:
commit
5981273cc4
7 changed files with 65 additions and 20 deletions
|
@ -44,6 +44,8 @@
|
|||
|
||||
#include "scheduler/scheduler.h"
|
||||
|
||||
#include "sensors/battery.h"
|
||||
|
||||
#include "flight/failsafe.h"
|
||||
#include "flight/imu.h"
|
||||
#include "flight/pid.h"
|
||||
|
@ -299,9 +301,15 @@ void updateRcCommands(void)
|
|||
if (feature(FEATURE_3D)) {
|
||||
tmp = constrain(rcData[THROTTLE], PWM_RANGE_MIN, PWM_RANGE_MAX);
|
||||
tmp = (uint32_t)(tmp - PWM_RANGE_MIN);
|
||||
if (getLowVoltageCutoff()->enabled) {
|
||||
tmp = tmp * getLowVoltageCutoff()->percentage / 100;
|
||||
}
|
||||
} else {
|
||||
tmp = constrain(rcData[THROTTLE], rxConfig()->mincheck, PWM_RANGE_MAX);
|
||||
tmp = (uint32_t)(tmp - rxConfig()->mincheck) * PWM_RANGE_MIN / (PWM_RANGE_MAX - rxConfig()->mincheck);
|
||||
if (getLowVoltageCutoff()->enabled) {
|
||||
tmp = tmp * getLowVoltageCutoff()->percentage / 100;
|
||||
}
|
||||
}
|
||||
|
||||
rcCommand[THROTTLE] = rcLookupThrottle(tmp);
|
||||
|
|
|
@ -131,14 +131,11 @@ static void taskHandleSerial(timeUs_t currentTimeUs)
|
|||
|
||||
void taskBatteryAlerts(timeUs_t currentTimeUs)
|
||||
{
|
||||
UNUSED(currentTimeUs);
|
||||
|
||||
if (!ARMING_FLAG(ARMED)) {
|
||||
// the battery *might* fall out in flight, but if that happens the FC will likely be off too unless the user has battery backup.
|
||||
batteryUpdatePresence();
|
||||
}
|
||||
batteryUpdateStates();
|
||||
|
||||
batteryUpdateStates(currentTimeUs);
|
||||
batteryUpdateAlarms();
|
||||
}
|
||||
|
||||
|
|
|
@ -435,6 +435,7 @@ const clivalue_t valueTable[] = {
|
|||
{ "use_vbat_alerts", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_BATTERY_CONFIG, offsetof(batteryConfig_t, useVBatAlerts) },
|
||||
{ "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) },
|
||||
{ "vbat_cutoff_percent", VAR_UINT8 | MASTER_VALUE, .config.minmax = { 0, 100 }, PG_BATTERY_CONFIG, offsetof(batteryConfig_t, lvcPercentage) },
|
||||
|
||||
// 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) },
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue