Commit Graph

394 Commits

Author SHA1 Message Date
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
Iampete1 cea54c48cd AP_BattMoniter: add Auto RTL option 2021-07-27 09:00:11 +09:00
bugobliterator e553acd3e3 AP_BattMonitor: use separate register_driver method while contructing CAN Driver 2021-07-23 16:01:29 +10:00
Willian Galvani 9083c97acf AP_BattMonitor: add Navigator to pins metadata 2021-07-19 12:21:40 -07:00
Josh Henderson 84fb03cb79 AP_BattMonitor: SMBus remove unused bool returns 2021-07-18 16:13:06 -07:00
Josh Henderson 0d64782220 AP_BattMonitor: remove temp var for SMBus read_full_charge_capacity 2021-07-18 16:13:06 -07:00
Josh Henderson 8af12608df AP_BattMonitor: make NeoDesign obey SMBUS_ENABLE 2021-07-18 15:16:57 -07:00
Michelle Rossouw ad2aca4900 AP_BattMonitor: Add blimp param frame values 2021-07-06 14:56:02 +10:00
Peter Barker 819c331acd AP_BattMonitor: correct static_assert call 2021-06-28 11:05:00 +09:00
Michael du Breuil 0de9d3e759 AP_BattMonitor: Rearrange battery parameters to reduce memory usage
Saves 8 bytes per Params instance, which we have 9 of on every vehicle,
for a total saving of 72 bytes
2021-06-22 10:08:02 +10:00
Iampete1 cab8274690 AP_BattMoniter: log in Ah and Wh, add percentage to log 2021-06-22 09:19:40 +10:00
Iampete1 8ea9803193 AP_BatteryMoniter: fix mah to wah conversion 2021-06-22 09:19:40 +10:00
Andy Piper 3e6d8357e9 AP_BattMonitor: zero consumption total before recalculating
add reset function to ESC backend.
2021-06-16 17:48:47 +10:00
Peter Barker 278dc4a09b AP_BattMonitor: add cells 13 and 14 for SITL only
Allows for testing higher-cell-count scenarios
2021-06-15 09:46:26 +10:00
Peter Barker bf10b454d1 AP_BattMonitor: add assertion to avoid memory over-read 2021-06-15 09:46:26 +10:00
Peter Barker bf9937489b AP_BattMonitor: switch to Log_Write for BCL2
Just for the flash savings on smaller boards
2021-06-15 09:46:26 +10:00
Dr.-Ing. Amilcar do Carmo Lucas 85666959ea AP_BattMonitor: Increase the max. nr. of supported battery cells from 12 to 14
Uses a second message, because the original message does not support any more fields
2021-06-15 09:46:26 +10:00
Tom Pittenger adccc3deb7 AP_BattMonitor: add support for AP_Periph MPPT driver 2021-06-09 18:36:18 +10:00
李孟晓 27089b4d2b AP_BattMonitor: Fix the comment of BATTx_OPTIONS 2021-06-08 11:16:19 +10:00
Josh Henderson 80a17cb97f AP_BattMonitor: get Mavlink charge state 2021-06-08 09:27:13 +10:00
James O'Shannessy 89e4df485a AP_BattMonitor: Record and report UAVCAN Battery Info temperature correctly 2021-06-01 12:35:24 +10:00
Andy Piper 71e7f7e476 AP_BattMonitor: refector to use AP_ESC_Telem
rename AP_BattMonitor_BLHeliESC -> AP_BattMonitor_ESC
record volts, amps and consumption as floats
Correct ESC-telemetry-based voltage and temperature (<amilcar.lucas@iav.de>)
Correct ESC-telemetry-based voltage and temperature when less than 12 ESCs are used (<amilcar.lucas@iav.de>)
fix jumps in consumed current (<amilcar.lucas@iav.de>)
Implement temperature readings (<amilcar.lucas@iav.de>)
Fix temperature scaling (<amilcar.lucas@iav.de>)
2021-05-12 17:01:11 +10:00
Tom Pittenger b62ab14791 AP_BattMonitor: prepare MPPT driver for AP_Periph 2021-04-28 19:22:53 -07:00
Tom Pittenger a7f81c838f AP_BattMonitor: make virtual Backend.init() optional to fix CANDriver.init(uint8, uint8) ambiguitiy 2021-04-28 19:22:53 -07:00
Tom Pittenger a365e18420 AP_BattMonitor: add MPPT PacketDigital driver 2021-04-28 19:22:53 -07:00
Iampete1 9fdceeded3 AP_BattMoniter: add reset remaining per-instance rename existing to _mask 2021-03-31 19:21:59 +11:00
Michael du Breuil e5de148ad1 AP_BattMonitor: Fix nullptr deref when resetting a battery 2021-03-30 09:47:44 +11:00
Peter Barker 84953c2e39 AP_BattMonitor: fix constexpr-and-MIN don't get along bug
lib/libArduCopter_libs.a(AP_BattMonitor_SMBus_NeoDesign.cpp.0.o): In function `AP_BattMonitor_SMBus_NeoDesign::timer()':
/home/pbarker/rc/ardupilot/build/sitl/../../libraries/AP_BattMonitor/AP_BattMonitor_SMBus_NeoDesign.cpp:27: undefined reference to `AP_BattMonitor_SMBus_NeoDesign::max_cell_count'
collect2: error: ld returned 1 exit status
2021-02-04 09:17:57 +11:00
Michael du Breuil f854477efe AP_BattMonitor: Limit the scope of possible corruption if the NeoDesigns gets a bad cell count 2021-02-03 19:21:39 +11:00
Patrick José Pereira d190fff887 AP_BattMonitor: Add missing const in member functions
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
李孟晓 40dbb316c1 AP_BattMonitor: ignore SoC option for UAVCAN devices 2021-01-13 18:30:53 +11:00
Josh Henderson e91953fa3b AP_BattMonitor: move log BAT & BCL into AP_BattMonitor 2021-01-12 17:43:55 +11:00
Josh Henderson dfa8e55622 AP_BattMonitor: add has_temperature method to Backend 2021-01-12 17:43:55 +11:00
李孟晓 aae2d0082d AP_BattMonitor_UAVCAN: Fix issue with multiple batteries not working 2020-12-16 12:44:21 +11:00
Peter Barker 00a8a8fe8e AP_BattMonitor: use enum class For Battery Failsafe 2020-12-07 15:20:14 +11:00
Tom Pittenger 171a10e117 AP_BattMonitor: Add support for multiple UAVCAN batteries from a single node 2020-11-25 14:20:53 +11:00
Tom Pittenger 48e2b78cab AP_BattMonitor: fix compile for AP_Periph 2020-11-25 14:20:53 +11:00
Gone4Dirt 836717c0af AP_BattMonitor: Add support for AP_Generator frontend-backend 2020-11-24 12:54:52 +11:00
Nick Belanger dbe5b90398 AP_BattMonitor: Adding driver for Rotoye Batmon equipped smart batteries 2020-11-11 14:24:13 +11:00
Rishabh cd8404f80c AP_BattMonitor: Update @value field in param to be increasing order 2020-10-27 17:15:04 +11:00
Peter Barker 4d59939db6 AP_BattMonitor: create and use new AP_HAL::PWMSource object 2020-09-08 16:10:50 +10:00
Siddharth Purohit 9820ea9023 AP_BattMonitor: move to using CANManager library 2020-08-19 17:31:09 +10:00
Peter Barker 2e3ba2a4d2 AP_BattMonitor: move battery type enumeration out of parameters object 2020-08-11 13:21:52 +10:00
Peter Barker 8e708a0a32 AP_BattMonitor: add backend for generator supply 2020-07-03 08:21:42 +09:00
Henry Wurzburg a3f0ce0a87 AP_BattMonitor: fix parameters appearing in wiki param list erroneously 2020-06-30 16:24:19 +10:00
Randy Mackay 77d6b19d86 AP_BattMonitor: Generic driver timeout definition in seconds
also remove unnecessary init of local data variable
also change assert to be more forgiving
2020-06-24 10:19:15 +09:00
Randy Mackay 3e519b25a4 AP_BattMonitor: fix comments re voltage scaling 2020-06-24 10:19:15 +09:00