INAV Battery, current sensor and power limits: CLI settings
Voltage and current sensor scale and offset, cell count and cell voltages, capacity and its warning levels, RTH energy margin, and the current and power limiter. Cells, voltages, capacity and limits sit in the battery profile.
35 settings in INAV 9.1.
Each range and value list is read from the release's src/main/fc/settings.yaml, each default from
the release's settings.yaml, with each constant and C type resolved by INAV's own settings.rb against the SITL and flight-controller target headers, so a board's own config can still change it. Set one with set name = value, then save.
Paste a diff all into the CLI checker to test it against any release.
| Setting | Type | Range or values | Default | 8.0 | 9.0 | 9.1 | Notes |
|---|---|---|---|---|---|---|---|
airspeed_adc_channel # |
uint8 global |
0 to 6 | set by the targetneeds USE_ADC |
✓ | ✓ | ✓ | ADC channel to use for analog pitot tube (airspeed) sensor. If board doesn't have a dedicated connector for analog airspeed sensor will default to 0 |
bat_cells # |
uint8 battery profile |
0 to 12 | 0needs USE_ADC |
✓ | ✓ | ✓ | Number of cells of the battery (0 = auto-detect), see battery documentation. 7S, 9S and 11S batteries cannot be auto-detected. |
bat_voltage_src # |
uint8 global |
RAW, SAG_COMP | RAW |
✓ | ✓ | ✓ | Chose between raw and sag compensated battery voltage to use for battery alarms and telemetry. Possible values are `RAW` and `SAG_COMP` |
battery_capacity # |
uint32 battery profile |
0 to 4294967295 | 0 |
✓ | ✓ | ✓ | Set the battery capacity in mAh or mWh (see `battery_capacity_unit`). Used to calculate the remaining battery capacity. |
battery_capacity_critical # |
uint32 battery profile |
0 to 4294967295 | 0 |
✓ | ✓ | ✓ | If the remaining battery capacity goes below this threshold the battery is considered empty and the beeper will emit long beeps. |
battery_capacity_unit # |
uint8 global |
MAH, MWH | MAH |
✓ | ✓ | ✓ | Unit used for `battery_capacity`, `battery_capacity_warning` and `battery_capacity_critical` [MAH/MWH] (milliAmpere hour / milliWatt hour). |
battery_capacity_warning # |
uint32 battery profile |
0 to 4294967295 | 0 |
✓ | ✓ | ✓ | If the remaining battery capacity goes below this threshold the beeper will emit short beeps and the relevant OSD items will blink. |
cruise_power # |
uint32 global |
0 to 4294967295 | 0 |
✓ | ✓ | ✓ | Power draw at cruise throttle used for remaining flight time/distance estimation in 0.01W unit |
current_adc_channel # |
uint8 global |
0 to 6 | set by the targetneeds USE_ADC |
✓ | ✓ | ✓ | ADC channel to use for analog current sensor input. Defaults to board CURRENT sensor input (if available). 0 = disabled |
current_meter_offset # |
int16 global |
-32768 to 32767 | set by the target |
✓ | ✓ | ✓ | This sets the output offset voltage of the current sensor in millivolts. |
current_meter_scale # |
int16 global |
-10000 to 10000 | set by the target |
✓ | ✓ | ✓ | This sets the output voltage to current scaling for the current sensor in 0.1 mV/A steps. 400 is 40mV/A such as the ACS756 sensor outputs. 183 is the setting for the uberdistro with a 0.25mOhm shunt. |
current_meter_type # |
uint8 global |
NONE, ADC, VIRTUAL, FAKE, ESC, SMARTPORT | ADC |
✓ | Δ | ✓ | ADC, VIRTUAL, FAKE, ESC, SMARTPORT, NONE. The virtual current sensor, once calibrated, estimates the current value from throttle position. 9.0: new values SMARTPORT |
idle_power # |
uint16 global |
0 to 65535 | 0 |
✓ | ✓ | ✓ | Power draw at zero throttle used for remaining flight time/distance estimation in 0.01W unit |
limit_attn_filter_cutoff # |
float global |
0 to 100 | 1.2needs USE_POWER_LIMITS |
✓ | ✓ | ✓ | Throttle attenuation PI control output filter cutoff frequency |
limit_burst_current # |
uint16 battery profile |
0 to 4000 | 0needs USE_POWER_LIMITS |
✓ | ✓ | ✓ | Burst current limit (dA): the current which is allowed during `limit_burst_current_time` after which `limit_cont_current` will be enforced, set to 0 to disable |
limit_burst_current_falldown_time # |
uint16 battery profile |
0 to 3000 | 0needs USE_POWER_LIMITS |
✓ | ✓ | ✓ | Time slice at the end of the burst time during which the current limit will be ramped down from `limit_burst_current` back down to `limit_cont_current` |
limit_burst_current_time # |
uint16 battery profile |
0 to 3000 | 0needs USE_POWER_LIMITS |
✓ | ✓ | ✓ | Allowed current burst time (ds) during which `limit_burst_current` is allowed and after which `limit_cont_current` will be enforced |
limit_burst_power # |
uint16 battery profile |
0 to 40000 | 0needs USE_POWER_LIMITS && USE_ADC |
✓ | ✓ | ✓ | Burst power limit (dW): the current which is allowed during `limit_burst_power_time` after which `limit_cont_power` will be enforced, set to 0 to disable |
limit_burst_power_falldown_time # |
uint16 battery profile |
0 to 3000 | 0needs USE_POWER_LIMITS && USE_ADC |
✓ | ✓ | ✓ | Time slice at the end of the burst time during which the power limit will be ramped down from `limit_burst_power` back down to `limit_cont_power` |
limit_burst_power_time # |
uint16 battery profile |
0 to 3000 | 0needs USE_POWER_LIMITS && USE_ADC |
✓ | ✓ | ✓ | Allowed power burst time (ds) during which `limit_burst_power` is allowed and after which `limit_cont_power` will be enforced |
limit_cont_current # |
uint16 battery profile |
0 to 4000 | 0needs USE_POWER_LIMITS |
✓ | ✓ | ✓ | Continous current limit (dA), set to 0 to disable |
limit_cont_power # |
uint16 battery profile |
0 to 40000 | 0needs USE_POWER_LIMITS && USE_ADC |
✓ | ✓ | ✓ | Continous power limit (dW), set to 0 to disable |
limit_pi_i # |
uint16 global |
0 to 10000 | 100needs USE_POWER_LIMITS |
✓ | ✓ | ✓ | Throttle attenuation PI control I term |
limit_pi_p # |
uint16 global |
0 to 10000 | 100needs USE_POWER_LIMITS |
✓ | ✓ | ✓ | Throttle attenuation PI control P term |
rssi_adc_channel # |
uint8 global |
0 to 6 | set by the targetneeds USE_ADC |
✓ | ✓ | ✓ | ADC channel to use for analog RSSI input. Defaults to board RSSI input (if available). 0 = disabled |
rth_energy_margin # |
uint8 global |
0 to 100 | 5 |
✓ | ✓ | ✓ | Energy margin wanted after getting home (percent of battery energy capacity). Use for the remaining flight time/distance calculation |
thr_comp_weight # |
float global |
0 to 2 | 1 |
✓ | ✓ | ✓ | Weight used for the throttle compensation based on battery voltage. See the [battery documentation](Battery.md#automatic-throttle-compensation-based-on-battery-voltage) |
use_control_profile #was controlrate_profile |
uint8 battery profile |
0 to 3 | 0 |
✓ | Δ | ✓ | Control profile to switch to when the battery profile is selected, 0 to disable and keep the currently selected control profile Renamed from controlrate_profile in 9.0. INAV 9.0 merged the PID and rate profiles into one control profile; this battery-profile setting kept its range 0-3 and default 0. source |
vbat_adc_channel # |
uint8 global |
0 to 6 | set by the targetneeds USE_ADC |
✓ | ✓ | ✓ | ADC channel to use for battery voltage sensor. Defaults to board VBAT input (if available). 0 = disabled |
vbat_cell_detect_voltage # |
uint16 battery profile |
100 to 500 | 425needs USE_ADC |
✓ | ✓ | ✓ | Maximum voltage per cell, used for auto-detecting the number of cells of the battery in 0.01V units. |
vbat_max_cell_voltage # |
uint16 battery profile |
100 to 500 | 420needs USE_ADC |
✓ | ✓ | ✓ | Maximum voltage per cell in 0.01V units, default is 4.20V |
vbat_meter_type # |
uint8 global |
NONE, ADC, ESC, FAKE, SMARTPORT | ADCneeds USE_ADC |
✓ | Δ | ✓ | Vbat voltage source. Possible values: `NONE`, `ADC`, `SMARTPORT`, `ESC`. `ESC` requires ESC telemetry enabled and running. `SMARTPORT` requires SmartPort Master enabled and running. 9.0: new values SMARTPORT |
vbat_min_cell_voltage # |
uint16 battery profile |
100 to 500 | 330needs USE_ADC |
✓ | ✓ | ✓ | Minimum voltage per cell, this triggers battery out alarms, in 0.01V units, default is 330 (3.3V) |
vbat_scale # |
uint16 global |
0 to 65535 | set by the targetneeds USE_ADC |
✓ | ✓ | ✓ | Battery voltage calibration value. 1100 = 11:1 voltage divider (10k:1k) x 100. Adjust this slightly if reported pack voltage is different from multimeter reading. You can get current voltage by typing "status" in cli. |
vbat_warning_cell_voltage # |
uint16 battery profile |
100 to 500 | 350needs USE_ADC |
✓ | ✓ | ✓ | Warning voltage per cell, this triggers battery-warning alarms, in 0.01V units, default is 350 (3.5V) |
✓ present, Δ changed in that release (hover for what changed), — not in that release.
“needs USE_…” is the build option the setting is compiled with: a target that does not define it has no such setting.Descriptions are INAV's own, from settings.yaml.
Other sections
- Gyro and D-term filters (28)
- PID tuning (74)
- Rates, expo and TPA (32)
- Navigation, RTH and waypoints (53)
- Multirotor navigation (31)
- Fixed-wing navigation and launch (63)
- Position estimator (23)
- GPS (11)
- Accelerometer, compass and other sensors (56)
- Receiver and RC input (21)
- Failsafe and arming (18)
- Motors, ESC and beeper (15)
- Mixer profiles (12)
- Servos, gimbal and head tracker (19)
- OSD (114)
- Video transmitter (12)
- Telemetry (31)
- Blackbox, logging and stats (12)
- System (13)
What changed between releases: 8.0 → 9.0 · 9.0 → 9.1. Machine-readable: params.json (9.1.0), GPL-3.0 like the firmware it comes from.