KonradRudin
3576d513cd
battery: make time remaining estimation dependent on level flight cha… ( #22401 )
...
* battery: make time remaining estimation dependent on level flight characteristis for FW
* battery: fix that FW flight is also correctly detected when vehicle_status is not updated
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
* FixedwingPositionControl: Move constant to header file
* flight phase estimation: use tecs height rate reference to check for level flight
---------
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
2024-02-06 17:32:09 +01:00
Julian Oes
84577ce2c2
battery: skip charge estimation if N cells is 0
...
This triggers the undefined behaviour fuzzer, so let's try to fix it.
Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-13 09:55:39 +01:00
Matthias Grob
ae888b73d0
battery: report over voltage
2023-11-06 18:17:28 +01:00
Silvan Fuhrer
b16f16598b
VTOL: remove virtual actuator_controls and instead use virtual torque/thrust topics
...
MC/FW rate controller and auto tuner: remove actuator_controls
AirshipAttControl: remove actuator_controls
MulticopterLandDetector: remove actuator_controls
mavlink streams vfr_hud and high_latency2: remove actuator_controls
RoverPositionController: remove actuator_controls
UUVAttitudeController: remove actuator_controls
battery: use length of thrust_setpoint for throttle compensation
VehicleMagnetometer: use length of thrust_setpoint for throttle compensation
Signed-off-by: Silvan Fuhrer
2023-03-16 11:55:45 +01:00
Matthias Grob
6f4d903f45
Battery: address two comments from #2242
...
- use a constant instead of magic number
- fix code comment typo
2023-02-13 13:27:08 +01:00
Yannick Fuhrer
98529a5b49
Battery: delay initialization of SoC ( #20729 )
...
* Battery: delay initialization of SoC
* battery: rework of battery initialization delay
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2022-12-26 18:44:22 +01:00
Matthias Grob
9e776741d9
battery: allow for external state of charge injection
2022-11-29 09:27:50 +01:00
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
Matthias Grob
62edcc7a57
battery: only compensate using sane current
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
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
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
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
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
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
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
Julian Oes
f650b91718
battery: check source param inside battery lib
...
This moves the handling of the BAT%d_SOURCE param inside of the battery
library. Users of the library now pass the source instead of the flag
whether to publish. The battery library then checks if the source is
selected using the param and publishes accordingly.
Since we removed the strange system_source flag, we now need to look at
all batteries in commander.
For current estimation - I think - it makes sense to sum them up.
2020-04-06 15:56:54 +02:00
Matthias Grob
49d22edc33
battery: cell voltage fill refactor
2020-03-31 09:14:50 +02:00
Timothy Scott
14a61a6695
Fixed reporting of battery voltages in uORB
2020-03-31 09:14:50 +02:00
Timothy Scott
4c1adc088f
Removed all swapping of uORB instances
2020-02-21 22:38:26 -08:00
Timothy Scott
fc1341208f
INA226: Integrate with PX4 ( #12673 )
...
* Publish I2C battery data as battery_status
2019-12-28 12:30:11 -05:00
Daniel Agar
de9e4dda4c
battery: delete unused armed
2019-12-12 09:48:45 -05:00
Timothy Scott
993fa5bd37
Refactored to work with new battery_status module
2019-12-05 16:38:04 +01:00
Timothy Scott
d7bb5d46bb
Created new AnalogBattery class
2019-12-05 16:38:04 +01:00
Timothy Scott
bff1df7080
Refactored battery library for multiple instances
2019-12-05 16:38:04 +01:00
RomanBapst
e360dd34f9
battery: make battery states not sticky
...
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-11-29 10:23:08 +03:00