Commit Graph

384 Commits

Author SHA1 Message Date
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
Randy Mackay cc6298e7ac AP_BattMonitor: SMBus Generic reads up to 12 cell voltages
Checks for the highest cell for 15 seconds and then reduces the cell voltage calls to cover only those cells that actually exist

also renames SMBus _last_cell_update_us
2020-06-24 10:19:15 +09:00
Randy Mackay 9f26bd0a67 AP_BattMonitor: TYPE param swap for SMBus-Maxell and SMBus-Generic
Generic becomes type "7" which was previously Maxell.  Maxell becomes type 16
2020-06-05 16:57:39 -07:00
Randy Mackay 2396a8176c AP_BattMonitor: comment fix 2020-06-05 16:57:39 -07:00
Randy Mackay 268c67d12d AP_BattMonitor: correct Maxell capacity 2020-06-05 16:57:39 -07:00
Randy Mackay 3de2dff6e3 AP_BattMonitor: simplify SMBus driver includes 2020-06-05 16:57:39 -07:00
Randy Mackay 4ea565e4ed AP_BattMonitor: Maxell driver inherits from SMBus_Generic 2020-06-05 16:57:39 -07:00
Randy Mackay f869cd9aa6 AP_BattMonitor: complete rename of SMBus_Maxell to Generic 2020-06-05 16:57:39 -07:00
Randy Mackay c13c037f7b AP_BattMonitor: rename SMBus_Maxell to Generic 2020-06-05 16:57:39 -07:00
Michael du Breuil 400220e210 AP_BattMonitor: Rearrange arming check order 2020-06-02 09:55:36 +10:00
Kelly Schrock 2cb54bb11d AP_BattMonitor: NeoDesign battery driver
Adds a driver for the NeoDesign BMS, with variable cell count.
2020-04-28 10:39:57 +10:00