Commit Graph

440 Commits

Author SHA1 Message Date
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
Peter Barker
b18bdb80d6 AP_BattMonitor: move from HAL_NO_GCS to HAL_GCS_ENABLED 2021-09-22 21:37:00 +10:00
Tatsuya Yamaguchi
1dcc5c3030 AP_BattMonitor: cope with AP_BATT_MONITOR_MAX_INSTANCES < 9 2021-09-22 18:58:12 +10:00
Willian Galvani
08b33954db AP_BattMonitor_Analog: add default PM definitions for the Navigator Board 2021-09-14 09:21:42 +10:00
Willian Galvani
2e5b689196 AP_BattMonitor_Analog: allow per-board setting of CURR_AMP_OFFSET 2021-09-14 09:21:42 +10:00
Mohammad Hefny
bd099b3910 AP_Batt: link to battery monitor 2021-09-10 08:17:37 +10:00
Willian Galvani
1057161f88 AP_BattMonitor_logging: update to use capacity_remaining_pct() as a bool 2021-09-08 17:17:41 +10:00
Willian Galvani
9206599e6c AP_BattMonitor_UAVCAN: update to use capacity_remaining_pct() as a bool 2021-09-08 17:17:41 +10:00
Willian Galvani
207723319b AP_BattMonitor_Backend: change capacity_remaining_pct() to a bool 2021-09-08 17:17:41 +10:00
Willian Galvani
735e2ab651 AP_BattMonitor: change capacity_remaining_pct() to a bool 2021-09-08 17:17:41 +10:00
Andrew Tridgell
a2790f57c0 AP_BattMonitor: mark logger Write() calls as streaming where appropriate 2021-08-18 10:20:03 +10:00
Tom Pittenger
00cc8a4042 AP_BattMonitor: fix mppt sequence bug
closes https://github.com/ArduPilot/ardupilot/issues/18283
2021-08-12 14:37:04 +10:00
Andrew Tridgell
bbfd2e962e AP_BattMonitor: mark log messages as streaming 2021-08-03 10:23:36 +10:00
Josh Henderson
289264f1dd AP_BattMonitor: move analog parameters to subgroupvarptr 2021-08-03 09:36:26 +10:00
Josh Henderson
e37efa45de AP_BattMonitor: add SMBus address param and create SMBus subtree 2021-08-03 09:36:26 +10:00