Commit Graph

454 Commits

Author SHA1 Message Date
Henry Wurzburg 85258153ac AP_BattMonitor: update FS actions metadata with DO_RETURN_PATH_START 2024-12-17 09:34:49 +11:00
Thomas Watson 2f5be28378 AP_BattMonitor: INA3221: reallocate parameter indices
Hasn't been released yet so let's not add more conflicts.
2024-12-14 15:42:31 +11:00
Thomas Watson 49a3a9d220 AP_BattMonitor: add missing subgroup links to correct metadata gen 2024-12-14 15:42:31 +11:00
Thomas Watson fb9119fac8 AP_BattMonitor: create table of used backend paramater indices
Hopefully makes it less likely for conflicts to happen and makes it
easier to find free indices.
2024-12-14 15:42:31 +11:00
Thomas Watson 190c3aa7ab AP_BattMonitor: INA3221: fix up based on real experience
* correctly validate channel parameter and improve other parameter
access

* dynamically enable channels to avoid spending time converting unused
channels

* implement tracking of reading health

* correct reading scaling by using datasheet values

* accumulate measured current to track used mAh and Wh

* make configurable using #defines (and hwdef) for integrators

* correctly separate and lock frontend and backend state. Note that
_state of frontend can only be accessed in `read()` method.
2024-12-02 10:10:01 -06:00
Peter Barker 5bc3b629f4 AP_BattMonitor: add support for ina3221 triple-channel current/voltage sensor 2024-12-02 10:10:01 -06:00
Alfie Lockrey 8a6880711a AP_Battery: include OPTIONS parameter on boards with SUM backend
Enable battx_options for periphs if useful.

Enable the options parameter for the battery monitor on AP_Periph devices if they could be useful - ie, battery summing is enabled and in use on a node with more than one source for battery inputs.

Only define options in a single place

Single definition for non periph builds or if AP_BATTERY_SUM_ENABLED
2024-11-20 08:52:51 +11:00
Thomas Watson 9f7ed65bc0 AP_BattMonitor: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Pradeep CK cc1ebe6529 AP_BattMonitor : update metadata for fuellevel param ranges 2024-11-12 09:22:21 +11:00
James O'Shannessy 2892483ea1 AP_BattMonitor: Fix documentation generating incorrect parameter name
Without this, parameter names are generated as eg. 'BATT2__ARM_VOLT'
2024-11-05 10:05:01 +09:00
Bob Long 11014cae06 AP_BattMonitor: add option minimum volt option 2024-10-01 10:05:01 +10:00
Peter Barker 0cd6e330a5 AP_BattMonitor: add more-specific prearm failure when SUM backend not available 2024-10-01 09:48:13 +10:00
Peter Barker 721a9b846e AP_BattMonitor: print unhealthy message if battery backend not as expected
a backend which fails to allocate, or where the user has changed the backend type without rebooting will cause an "unhealthy" message to be emitted
2024-10-01 09:48:13 +10:00
Henry Wurzburg 4b5f490e9f Tools:remove BATTRY_SUM from <1K builds 2024-10-01 09:48:13 +10:00
Peter Barker 8ee09c299e AP_BattMonitor: add and use Battery backend internal-use-only flag
sometimes the information from a backend is very useful for logging, but not via telemetry.

Add an option bit to signify this
2024-08-08 09:12:08 +10:00
Peter Barker d205e2e5cf AP_BattMonitor: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Iampete1 600d9eb7a8 AP_BattMonitor: Sum: report average temperature 2024-07-30 11:00:49 +10:00
Iampete1 45647718cb AP_BattMonitor: ESC: integrate consumed mah if not provided by ESC 2024-07-30 10:59:17 +10:00
Andrew Tridgell 60f582a6b2 AP_BattMonitor: support I2C INA231 battery monitor 2024-07-11 09:26:17 +10:00
Henry Wurzburg a03ccd1a8a AP_BattMonitor: make metadata more consistent 2024-07-02 11:34:29 +10:00
Iampete1 a9eb6051fa AP_BatteryMonitor: add missing failsafe with no action 2024-07-02 09:54:36 +10:00
Peter Barker 029e0b15b3 AP_BattMonitor: avoid casting DroneCAN backend to incorrect type
- split get_type into allocated_type and configured_type
 - check allocated type rather than configured type when looking at backends

Prevents overwrite of random memory when backends are changed at runtime.
2024-06-11 09:31:46 +10:00
Andrew Tridgell 4879cc24e6 AP_BattMonitor: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Iampete1 44bd77d49e AP_BattMonitor: FuelLevel_Ananlog: set has_current true so capacity is reported 2024-05-21 10:07:48 +10:00
Iampete1 9026ce065a AP_BattMonitor: ESC: add mask 2024-05-14 09:58:04 +10:00
Randy Mackay e605f961f2 AP_BattMonitor: torqeedo support for multiple instances 2024-05-08 17:51:09 +10:00
Andrew Tridgell a444004a8a AP_BattMonitor: added MAX_AMPS and SHUNT parameters for INA239
allows for a wider range of current
2024-03-12 11:15:10 +11:00
Peter Barker e15f9d3f39 AP_BattMonitor: tidy defines in scripting backend 2024-02-14 23:43:41 +11:00
Andrew Tridgell 6713a203f0 AP_BattMonitor: added temperature reading to INA2xx driver 2024-02-06 11:26:05 +11:00
Peter Barker 1f4c129341 AP_BattMonitor: add and use AP_BATTERY_ENABLED 2024-02-06 11:01:02 +11:00
TsuyoshiKawamura 8914e5585f AP_BattMonitor: delete unnecessary underscore in description 2024-01-28 22:29:06 +11:00
Peter Barker cddb58e105 AP_BattMonitor: allow compilation with HAL_LOGGING_ENABLED false 2024-01-17 18:25:55 +11:00
Dr.-Ing. Amilcar do Carmo Lucas bfab6e5ee7 AP_BattMonitor: Spell correction 2024-01-17 08:40:15 +09:00
Randy Mackay dfd22aba32 AP_BattMonitor: support logging state-of-health percentage
Only DroneCAN backend implements this feature for now
2024-01-10 18:38:25 +11:00
Bob Long fd855781d8 AP_BattMonitor: add scripting backend
AP_BattMonitor_Scripting: whitespace consistency
2024-01-09 07:53:59 +11:00
Andrew Tridgell c48feefe23 AP_BattMonitor: fixed battery percentage with aux info
when we have aux battery information we had assumed the CAN device
would provide the battery remaining percentage. We should obey the "do
not use CAN SoC" with or without an AUX message

This fixes CAN battery monitors with a cell monitor
2023-11-27 13:02:46 +11:00
Tom Pittenger 6dcaf94c3d AP_BattMon: add AP_BATTERY_WATT_MAX_ENABLED 2023-11-26 11:57:14 +11:00
Henry Wurzburg 36a66424e1 AP_BattMonitor:remove unused param from analog fuel level 2023-11-21 10:01:38 +11:00
Jonathan Loong 3f99891404 AP_BattMonitor: Merge in polynomial fit structure to FuelLevel_Analog
Update parameters and make current false
2023-11-15 10:52:10 +11:00
Jonathan Loong 5e61e4cdc5 AP_BattMonitor: Addition of AD7091R5 ADC I2C Read Driver
This is an ADC extender based on I2C which is used to read the current and voltage. Enable AD7091R5 in config.h which was reserved previously
2023-11-08 18:24:41 +11:00
Andrew Tridgell aaa4e0268a AP_BattMonitor: cope with InfoAux without nominal voltage
allows for reset of remaining charge from GCS or lua
2023-10-31 11:09:51 +11:00
Andrew Tridgell 532ab09c72 AP_BattMonitor: added option allowing InfoAux to be from different node
this allows the CAN node providing cell voltages to be a different CAN
node from the node providing the base current/voltage
2023-10-31 11:09:51 +11:00
Andrew Tridgell 7ce9febf9f AP_BattMonitor: use a reference for AP::battery()
saves a small amount of flash
2023-10-31 11:09:51 +11:00
Andrew Tridgell 4d821b2c91 AP_BattMonitor: added get_cell_voltage() for scripting 2023-10-25 07:31:24 +11:00
Iampete1 816b92346e AP_BattMonitor: DroneCAN: always have consumed energy 2023-10-17 11:13:26 +11:00
Mykhailo Kuznietsov ff70921eca AP_BattMonitor: Fix some typos
Fixed some typos found in the code.
2023-10-12 18:30:42 +11:00
Andrew Tridgell 65099d0626 Tools: allow Ohm units in parameters 2023-10-08 11:04:21 +11:00
Andrew Tridgell e9fc3ab570 AP_BattMonitor: added SHUNT parameter to INS2xx driver
some vendors want different shunt resistors
2023-10-08 11:04:21 +11:00
AndKe 2030e6c9e2 SMBus :expanded SoloBMS to 6s 2023-09-26 10:17:02 +10:00
Peter Barker 7aea21bd40 AP_BattMonitor: log external temperature if available 2023-09-05 10:31:24 +10:00