Commit Graph

454 Commits

Author SHA1 Message Date
Iampete1 73c77d0757 AP_BattMonitor: expose CAPACITY param on periph 2023-08-30 12:25:46 +10:00
Andrew Tridgell 595748d7ff AP_BattMonitor: fixes for macos CAN SITL build 2023-08-29 15:09:48 +10:00
Tom Pittenger 93a4c3896e AP_BattMonitor: extend AP_BATT_MONITOR_MAX_INSTANCES to 16 2023-08-29 10:28:14 +10:00
Andrew Tridgell 65537bdaca AP_BattMonitor: cope with NaN in consumed_mah 2023-08-26 21:12:42 +10:00
muramura 0ab76afb4d AP_BattMonitor: Change to floating value multiplication 2023-08-26 08:59:12 +10:00
Tom Pittenger 21ead4e8e3 AP_Battery: add param _ESC_ID to write to ESC_Telem 2023-08-22 16:14:36 -07:00
Andrew Tridgell c8b2622f45 AP_BattMonitor: fixed reset_remaining() for INAxxx and LTC2946
these can use the generic reset_remaining() call in the backend
2023-08-10 07:43:25 +10:00
Iampete1 5c09a16a80 AP_BattMonitor: add health logging 2023-08-08 10:04:12 +10:00
Lokesh Ramina b7a0f47853 AP_BATTMonitor: Reserve ID 28 for AD7091R5 I2C ADC
Reserving an ID for a Battmonitor type which reads the analog value from an I2C ADC IC.
2023-08-03 13:03:51 +10:00
Andy Piper 74a70e52b8 AP_BattMonitor: remove unsued variables 2023-07-13 11:02:40 +10:00
Iampete1 2d42028db3 AP_BattMonitor: fix missing INA2xx param descriptions 2023-07-01 07:34:36 +10:00
Iampete1 9b54dee7a6 AP_BattMonitor: DroneCAN: allow battery reset if not using CAN SoC 2023-06-27 11:38:15 +10:00
Peter Barker 85aee2e44a AP_BattMonitor: create and use AP_BATTERY_ENABLED
simply as a way to get HAL_PERIPH_ENABLE_BATTERY out of the main code
2023-06-21 22:28:48 +10:00
Peter Barker 2e1f8d8b8b AP_BattMonitor: fix missing method declaration compile failure 2023-05-20 17:28:08 +10:00
Andrew Tridgell 2a3faf5dff AP_BattMonitor: allow max amps to be configured on INA2XX
this allows for higer current ranges with lower resolution
2023-05-20 09:54:29 +10:00
Andrew Tridgell e2041e10b5 AP_BattMonitor: auto-probe INA2XX address if address is zero
this makes life easier for users who don't know which device they have
2023-05-10 18:15:52 +10:00
Andrew Tridgell 5227b99a39 AP_BattMonitor: support INA228 and INA238 battery monitor
I2C monitors with similar functionality to INA226
2023-05-10 18:15:52 +10:00
James O'Shannessy 0dedc4bf74 AP_BattMonitor: Fixes the setting of a default parameter for battery instance #2 set in hwdef 2023-04-28 16:13:33 +10:00
Peter Barker e363d6dfa5 AP_BattMonitor: don't check MINIMIZE_FEATURES when also checking BOARD_FLASH_SIZE
we have an assertion that no board with >1MB of flash is minimized
2023-04-15 09:33:35 +10:00
Peter Barker 795bb19cb9 AP_BattMonitor: move defines around battery types for consistency 2023-04-13 15:24:45 +10:00
Andrew Tridgell ab8049f8e9 AP_BattMonitor: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 11a2f5ed9c AP_BattMonitor: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 017543f6e6 AP_BattMonitor: update header references 2023-04-11 10:31:31 +10:00
Andrew Tridgell 63e67db516 AP_BattMonitor: rename UAVCAN drivers to DroneCAN 2023-04-11 10:31:31 +10:00
Peter Barker def0fec958 AP_BattMonitor: correct compilation when AP_BattMonitor_Analog disabled 2023-04-08 13:05:29 -07:00
Andrew Tridgell a03c395cce AP_BattMonitor: rename AP_UAVCAN to AP_DroneCAN 2023-04-08 07:11:23 +10:00
bugobliterator 6a1460efb0 AP_BattMonitor: replace libuavcan with libcanard based driver 2023-03-29 17:16:39 +11:00
Peter Barker 6bc9b7c435 AP_BattMonitor: rename fuel_remain_pct to fuel_remain_scale 2023-03-15 19:08:18 +11:00
Andy Piper d565a378b7 AP_BattMonitor: support configuring battery #2 in hwdef 2023-03-15 18:51:37 +11:00
Peter Barker fab230cd50 AP_BattMonitor: specify AP_BATTERY_ESC_ENABLED for periph in chibios_hwdef.py 2023-03-12 09:35:35 +11:00
Peter Barker b52f54d480 AP_HAL_ChibiOS: add defines for all battery backends 2023-03-10 08:48:24 +11:00
Peter Barker 85501f8219 AP_BattMonitor: add defines for all battery backends 2023-03-10 08:48:24 +11:00
Tom Pittenger f413f82345 AP_BattMonitor: add external MPPT on-off control 2023-03-07 11:42:24 +11:00
Pierre Kancir ca6a804f28 AP_BattMonitor: change isnanf for isnan 2023-02-27 04:15:24 -08:00
Tom Pittenger e728f91798 AP_BattMonitor: add array and null check to drivers[] 2023-02-24 09:50:14 -08:00
Tom Pittenger 61b7f6ed74 AP_BattMonitor: refactor Option param usage 2023-02-24 09:50:14 -08:00
Tom Pittenger 5608dbe0f0 AP_BattMonitor: refactor Option param usage 2023-02-21 16:30:19 -08:00
Tom Pittenger 6fe732e8bd AP_BattMonitor: verify MPPT writes 2023-02-14 08:14:38 -08:00
Andrew Tridgell 080d7615fc AP_BattMonitor: support EFI "battery" backend
this maps Ah to Litres and Amps to Litres/hour
2023-02-09 07:12:39 +11:00
Peter Barker 1a061b2c1a AP_BattMonitor: rename has_fuel_remaining to has_fuel_remaining_pct 2023-02-02 16:16:05 +11:00
Tom Pittenger 47e2a80be5 AP_BattMonitor: disable MPPT Fault announcement spam 2023-01-31 10:55:31 +11:00
Peter Barker eab6ef72e1 AP_BattMonitor: add and use AP_BATTMON_SMBUS_SOLO_ENABLED 2023-01-25 22:42:55 +11:00
Peter Barker 6b088c6a83 AP_BattMonitor: add and use an AP_BattMonitor_Config.h 2023-01-25 22:42:55 +11:00
Iampete1 722ec745e9 AP_BattMoniter: don't allow equal low and critical FS thresholds 2023-01-17 10:36:09 +11:00
Andrew Tridgell 24d4a4cf5e AP_BattMonitor: added support for INA239 SPI battery monitor 2022-12-20 10:44:52 +11:00
Andrew Tridgell 76d0c0f408 AP_BattMonitor: hide unused parameters in peripherals 2022-12-20 10:44:52 +11:00
Henry Wurzburg 400c65ce5d AP_BattMonitor: add metadata for Synthetic Current type 2022-12-01 07:39:22 +11:00
Henry Wurzburg 6b852e39c9 AP_BattMonitor: add synthetic current sensor,fix SITL current 2022-11-24 06:53:35 +11:00
m 64cd5a7401 AP_BattMonitor: Small typo fix for voltage offset parameter 2022-11-01 08:14:37 +09:00
Peter Barker eead037513 AP_BattMonitor: remove unneeded include of Notify 2022-10-26 21:22:39 +11:00
Tom Pittenger 812128125b AP_BattMonitor: add set_temperature() by external temperature sources/libraries 2022-10-18 10:05:31 +11:00
jackhong12 4a4f361a17 all: use CLASS_NO_COPY() macro 2022-10-04 11:23:04 +11:00
Joshua Henderson b26e37d652 AP_BattMonitor: fix Rotoye Temperature Monitoring 2022-09-20 09:43:25 +10:00
Joshua Henderson a93b887f5f AP_BattMonitor: move read_block up to SMBus base class 2022-08-30 09:09:54 +10:00
TunaLobster aa2c6b8d17 AP_BattMonitor: Add macros for Fuel options
Adds macros for FuelFlow, FuelLevel_PWM, and FuelLevel_Analog. The features are enabled on all 2MB boards.
2022-08-16 09:36:31 +10:00
TunaLobster 6733f75542 AP_BattMonitor: Add Fuel Level Analog driver 2022-08-16 09:36:31 +10:00
Iampete1 6e6fcf4880 AP_BattMonitor: params always use set method 2022-08-03 13:43:48 +01:00
Andrew Tridgell ba10c0ae42 AP_BattMonitor: make healthy() check all configured monitors
GCS reporting for SYS_STATUS should check all healthy, not just first
backend
2022-06-24 11:13:16 +10:00
Andrew Tridgell 93ee9a4ac1 AP_BattMonitor: allow INA2xx battery monitors to be powered after boot
the device doesn't show up till main battery is connected, so we need
this change to allow for separate avionics battery and main battery
with avionics battery powered on first
2022-06-24 11:13:16 +10:00
Andrew Tridgell 9a6fb19208 AP_BattMonitor: report arming unhealthy if backend unhealthy
important for i2c based battery backends
2022-06-24 11:13:16 +10:00
Peter Barker 6c377b2dcd AP_BattMonitor: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker 2c0f52a8b7 AP_BattMonitor: zero-terminate strings in caller rather than read_block
It was noted that we did not increment the return value bufflen when
adding zero.  This is an ambiguity in the function declaration; if we
are told to add a zero should the return value be like strnlen (does not
include terminating null character) or read (includes all bytes used in
return buffer).

This PR makes it a non-issue by ensuring string null termination in the
caller and removing the append_zero parameter.
2022-05-03 07:11:45 +10:00
Peter Barker c2bf79d3f3 AP_BattMonitor: add PARAMETER CONVERSION comments 2022-04-28 10:17:11 +10:00
Andrew Tridgell ce27ec2276 AP_BattMonitor: fixed battery remaining of sum battery
and move to common function for update_consumed()
2022-03-23 20:21:38 +11:00
Andrew Tridgell 9c067f360f AP_BattMonitor: added option to send resting voltage to GCS 2022-03-22 11:12:54 +11:00
murata 9d321c5c31 AP_BattMonitor: Change from division to multiplication 2022-03-16 18:41:52 +11:00
Henry Wurzburg f5766bb098 AP_BattMonitor: update name of type 10 to Sum of Selected Monitors 2022-02-26 08:31:24 +09:00
Joshua Henderson 1cf31dc25b AP_BattMonitor: fix UAVCAN param index for varptr 2022-02-11 22:17:18 +09:00
Joshua Henderson ec1f5e39b4 AP_BattMonitor: add documentation for UAVCAN params 2022-02-11 22:17:18 +09:00
murata b3dd61656d AP_BattMonitor: Remove meaningless semicolons 2022-02-07 08:27:34 +09:00
Hwurzburg 95e074a7bc AP_BattMonitor: update option names in BATTMonitor in prep for expansion 2022-02-01 12:35:03 +11:00
Joshua Henderson 90744e08e1 AP_BattMonitor: UAVCAN switch to CURR_MULT 2022-01-25 13:55:31 +09:00
Hwurzburg 45e8cdea70 AP_BatteryMonitor: add current scaler for UAVCAN 2022-01-25 10:37:00 +11:00
Peter Barker a894b93762 AP_BattMonitor: make C_TO_KELVIN a function macro; create KELVIN_TO_C
These are in celsius
2022-01-13 18:31:46 +11:00
Andrew Tridgell fa2ae44926 AP_BattMonitor: fixed a segv with BATT_MONITOR=14
this causes a hang on boot on some boards
2021-12-29 10:51:35 +11:00
arBalasquide 10b4eebce4 AP_BattMonitor: Add calculate_mah, add unit tests 2021-12-22 07:52:03 +11:00
Shiv Tyagi c34301d925 AP_BattMonitor: remove MPPT_PacketDigital from Type enum
we have removed AP_BattMonitor_MPPT_PacketDigital, hence this should be removed too
2021-12-17 20:24:25 +09:00
Shiv Tyagi b34a7e46a8 AP_BatteryMonitor: remove AP_BattMonitor_MPPT_PacketDigital class
since latest versions of PacketDigital MPPT support UAVCAN, we can remove this older class
2021-12-16 09:39:43 +09:00
Hwurzburg 38e8e15200 AP_BattMonitor: change UAVCAN in metadata to DroneCAN 2021-12-15 09:53:21 +11:00
Josh Henderson d79a9b7497 AP_BattMonitor: use SOC 127 as an invalid SOC flag 2021-12-14 09:11:48 +09:00
Peter Barker 70d98336bc AP_BattMonitor: make logging dependent on HAL_LOGGING_ENABLED not HAL_BUILD_AP_PERIPH
We have logging on some periphs now
2021-12-14 10:34:06 +11:00
Randy Mackay dea7e969bd AP_BattMonitor_UAVCAN: re-format text based fault reporting and add get_mavlink_fault_bitmask 2021-12-07 02:12:06 -08:00
Tom Pittenger 1724d4911d AP_BattMonitor: add UAVCAN MPPT PacketDigital driver 2021-12-07 02:12:06 -08:00
Andrew Tridgell 42412b2a60 AP_BattMonitor: added VLT_OFFSET for analog
useful for diode bias in voltage monitors

thanks to Charles from ASW and Jeff Wurzbach
2021-11-17 19:09:40 +11:00
Josh Henderson fb28b39206 AP_BattMonitor: remove old parameter conversion to allow setting BATT_MONITOR to 0 2021-11-16 11:58:01 +11:00
Andrew Tridgell 75dfa6bae4 AP_BattMonitor: support other INA2xx battery monitors
added parameters for I2C bus and address. Tested on INA231 and INA226

This allows any 2M flash board to use an INA2xx battery monitor
2021-11-05 14:30:43 +11:00
Iampete1 73fb871695 AP_BatteryMoniter: combine pointer loaded param tables 2021-11-02 11:12:57 +11:00
Iampete1 7d4f305f20 AP_BatteryMoniter: add mask param to sum battery backend. 2021-11-02 11:12:57 +11:00
Andy Piper 70b02aeadf AP_BattMonitor: convert APM_BUILD_COPTER_OR_HELI() to APM_BUILD_COPTER_OR_HELI 2021-10-26 11:42:12 +11:00
Randy Mackay 1bdfe8ad55 AP_BattMonitor: fixups from peer review 2021-10-19 01:30:51 -04:00
Randy Mackay d3c8a5e85f AP_BattMonitor: add torqeedo battery monitor 2021-10-19 01:30:51 -04:00
李孟晓 e5efc52324 AP_BattMonitor: Add support for BatteryInfoAux message 2021-10-13 18:44:05 +11:00
李孟晓 bf1a17825c AP_BattMonitor: Provide the time remaining 2021-10-13 18:44:05 +11:00
Andrew Tridgell 281b8eb234 AP_BattMonitor: support LTC2946 I2C battery monitoring 2021-10-12 15:47:51 +11:00
Andrew Tridgell 2903e10fc0 AP_BattMonitor: added INA231 backend
only enabled via hwdef.dat for now
2021-10-12 15:47:51 +11:00
Josh Henderson ca568953d9 AP_BattMonitor: capacity_remaining_pct add checks for healthy status and has_current 2021-10-07 22:16:02 +11:00
Iampete1 19f66803ff AP_BatteryMonitor: Analog: check valid pin 2021-10-06 18:42:51 +11:00
Gone4Dirt 1d02ac768d AP_BattMonitor: Add APM_BUILD_Heli 2021-09-29 19:55:48 +10:00
Iampete1 69624b1c1b AP_BatteryMoniter: add plane Loiter to QLand failsafe action 2021-09-28 09:31:13 +10:00
Peter Barker f71b4ec568 AP_BattMonitor: rename GENERATOR_ENABLED to HAL_GENERATOR_ENABLED 2021-09-26 19:24:09 +10:00