mcsauder
87a5705960
Rename math::gradual() to math::interpolate() and add unit tests to cover additional corner cases.
2022-08-18 14:18:02 +02:00
Hamish Willee
e6eed43648
Spelling errors ( #19935 )
2022-07-27 14:33:16 +10:00
Matthias Grob
4f34207c4e
battery_params: increase default empty cellvoltage to 3.6v
...
Based on feedback that very often the battery is used down too low.
I observed this happens consistently when the cell voltage is properly
load compensated. The default load compensation before #19429 was very
inaccurate and resulted in unpredictable estimate.
After that if there is a usable current measurement and the battery is
within expected tolerances of the default internal resistance the
compensation is pretty good and 3.5V is too low for an empty compensated
cell voltage. That was seen in various logs where the compensated
cell voltage was already dropping fast after 3.6V.
In case the voltage is not load compensated the vehicle estimates the
state of charge a bit too low which is safer than to high
especially for a default configuration.
2022-05-24 11:26:58 +02:00
Matthias Grob
62edcc7a57
battery: only compensate using sane current
2022-05-23 16:40:32 +02:00
Matthias Grob
2cbdcc9671
battery: default to reasonable internal resistance
...
instead of disabling the load compensation using current.
2022-05-23 16:40:32 +02:00
Matthias Grob
58b1139a21
battery: allow setting precise internal resistance with parameter
2022-05-23 16:40:32 +02:00
Matthias Grob
2c5a7ea118
battery: rather undercompensate for load
...
than over compensate which makes the estimate to high and breaks batteries
beause they get flown for too long.
2022-05-23 16:40:32 +02:00
Matthias Grob
dd28c3e019
battery: update average current also when no capacity is configured
2022-04-04 10:02:55 +02:00
Matthias Grob
13c3eae6d0
battery: use mechanism to keep an up to date armed state
2022-04-04 10:02:55 +02:00
Silvan Fuhrer
3f6ab5ea19
battery: improve flight time remaining improvements
...
- introduce BAT_AVRG_CURRENT param that is used for init of average current estimate
- increase filtering of average current estimation
- only update average current filter when armed
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-04-04 10:02:55 +02:00
Matthias Grob
495f1c9165
battery: don't initialize _source without constructor
2021-12-07 21:06:51 +01:00
Matthias Grob
b41e345a5b
battery: correct updateBatteryStatus() description
2021-12-07 21:06:51 +01:00
Matthias Grob
fdc40880d0
battery: separate out publishing from updating
...
to allow smart battery drivers to use the battery class and
filling in additional information in case it makes sense.
2021-12-07 21:06:51 +01:00
Matthias Grob
e70d70468a
battery: pass voltage and current by setter
2021-12-07 21:06:51 +01:00
Matthias Grob
39641494da
battery: pass connected flag in by setter
2021-12-07 21:06:51 +01:00
Matthias Grob
38d23f5345
battery: pass priority in by setter
2021-12-07 21:06:51 +01:00
Matthias Grob
f9fc9a9af6
battery: pass source in by constructor
2021-12-07 21:06:51 +01:00
Matthias Grob
b965923c08
battery: fetch throttle value inside of class
2021-12-07 21:06:51 +01:00
Matthias Grob
ddc6b6bc9c
battery: move MAVLink specific handling out of battery class
2021-12-07 21:06:51 +01:00
Matthias Grob
da2fdf923e
battery parameters: allow usage of 1S battery
2021-12-07 21:06:51 +01:00
Matthias Grob
91c48606ee
battery_status: clearly define and handle zero remaining flight time
2021-11-15 15:44:02 +01:00
Matthias Grob
73287e8e8c
battery: compute remaining flight time
2021-11-15 15:44:02 +01:00
Silvan Fuhrer
40f9b53b90
Remove a couple of unnecessary reboot_required from parameter meta data
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-08-13 10:35:43 -04:00
Daniel Agar
e9f84ba708
keep minimal legacy battery parameters for older QGC usability
...
- BAT_V_EMPTY, BAT_V_CHARGED, BAT_V_LOAD_DROP, BAT_N_CELLS
2021-07-23 15:07:53 -04:00
Daniel Agar
b5430c22c4
AlphaFilter: move from ecl -> mathlib
2021-07-15 10:38:24 -04:00
Daniel Agar
c5b1fe86ca
delete deprecated BAT_* parameters
2021-07-08 22:19:12 -04:00
Matthias Grob
62546350f1
battery: use local instead of global member battery_status message
2021-07-01 14:24:38 +02:00
Matthias Grob
fa976f84b1
battery: clear interface for determineWarning()
2021-07-01 14:24:38 +02:00
Matthias Grob
b824f33ae9
battery: publish measured values also when battery not connected
2021-07-01 14:24:38 +02:00
Matthias Grob
a99ddd0845
battery: don't reset on every loop iteration
2021-07-01 14:24:38 +02:00
Matthias Grob
8d74e52bb7
battery: omit separate publish() function
2021-07-01 14:24:38 +02:00
Matthias Grob
41cc73e555
battery: simplify battery_initialized condition
2021-07-01 14:24:38 +02:00
Matthias Grob
a51d47f8e8
battery: connected check outside of determineWarning()
2021-07-01 14:24:38 +02:00
David Sidrane
17502da493
lib/battery:Fix types
2021-06-16 17:07:47 +02:00
Sander Smeets
517a1d0116
battery_status: factor in total current consumption in battery remaining estimation
2021-03-15 12:32:45 -04:00
Alex Mikhalev
d01806a0c6
lib/battery: Fix cell voltages with >10S
...
Signed-off-by: Alex Mikhalev <alex@corvus-robotics.com >
2021-02-28 22:10:23 -05:00
Matthias Grob
39b0c7b2bf
battery: report at least one cell for a connected battery
2021-01-18 17:53:17 +01:00
Julian Oes
fd261b590c
battery: don't init uint16_t with -1.0f
...
This was flagged as undefined behaviour by fuzz testing.
2020-12-08 09:58:29 +01:00
Beat Küng
f776997a07
battery: disable secondary module by default
...
Avoid a GCS showing 2 battery indicators.
Alternatively we could also check the 'connected' flag, but this is more
explicit.
2020-10-20 09:18:47 +02:00
Beat Küng
83b81fbbef
battery: fix isFloatEqual(), use matrix::isEqualF
...
Fixes param migration, e.g. if BAT_N_CELLS is set, migrates to
BAT1_N_CELLS.
2020-10-20 09:18:47 +02:00
Beat Küng
6ae17eb13c
fix EscBattery: remove _battery.publish();
...
updateBatteryStatus() already publishes
2020-10-20 09:18:47 +02:00
Daniel Agar
016ee6ea59
battery: fix duplicate uORB publish and minor cleanup
...
- run battery_status module on adc_report publications rather than a fixed schedule
2020-10-05 11:01:58 -04:00
Matthias Grob
1d562aaf4a
battery: switch to PublicationMulti for battery_status
2020-09-01 10:25:03 +02:00
Matthias Grob
9c4e26c00c
battery: fix parameter migration and clarify
2020-09-01 10:25:03 +02:00
Hamish Willee
979243f38f
params: make parameter units more consistent ( #15502 )
2020-08-24 11:33:08 +02:00
Daniel Agar
27f23ac290
move initial sensor priority to parameters and purge ORB_PRIORITY
...
- CAL_ACCx_EN -> CAL_ACCx_PRIO
- CAL_GYROx_EN -> CAL_GYROx_PRIO
- CAL_MAGx_EN -> CAL_MAGx_PRIO
2020-08-21 10:12:13 -04:00
Matthias Grob
bcd771d832
Update ecl and adapt to new AlphaFilter location
2020-06-17 09:29:35 -04:00
Matthias Grob
b607630ee7
battery_params: relax maximum for capacity thresholds
2020-06-05 09:55:24 -04:00
Matthias Grob
88c21337fa
Make all battery sensor drivers report their sample interval
...
To make use of the time abstraction in the leaky integrator.
2020-05-25 11:04:24 +02:00
Matthias Grob
4dc9ca69ab
battery: use AlphaFilter class
...
Replace the filtered value calculations with calls to the class.
This will allow time abstraction.
2020-05-25 11:04:24 +02:00