Commit Graph

295 Commits

Author SHA1 Message Date
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
Peter Barker e1f8af1653 AP_BattMonitor: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Andrew Tridgell ff112a726b AP_Battery: fixed bug in SUI driver
fixed bug in total voltage
2020-04-10 11:46:01 +10:00
Rishabh 9e8894139c AP_BattMonitor: Fix duplicate values in VOLT_PIN param 2020-03-24 10:26:04 +11:00
Andre Kjellstrup a2322a828c AP_Battmonitor_SMBus_Solo: removed unused code/options 2020-02-06 15:04:18 -07:00
Andrew Tridgell ece777098c AP_BattMonitor: added SUI SMBUS battery backend
originally by Kelly Schrock
2019-12-30 09:50:04 -07:00
Randy Mackay 0288b3d43c AP_BattMonitor: set default I2C bus for Solo and Maxell drivers 2019-12-18 15:54:42 +11:00
Randy Mackay 0d034821d1 AP_BattMonitor: Maxell cell voltages timeout after 5sec 2019-12-18 15:54:42 +11:00
murata 44a8702d94 AP_BattMonitor: Maxell battery on any I2C bus 2019-12-18 15:54:42 +11:00
Randy Mackay 300c0aafb1 AP_BattMonitor: add cycle count for smbus batteries 2019-12-18 15:54:42 +11:00
Andrew Tridgell fbe69ba9ab AP_BattMonitor: support selective enable of SMBUS and fuel battery monitors 2019-12-09 21:35:00 +11:00
Peter Barker 4fd31b7bc4 AP_BattMonitor: use corrected version of send_to_components 2019-11-26 12:10:12 +11:00
Andrew Tridgell d70e252bf4 AP_BattMonitor: added Durandal selection for batt mon pins 2019-11-26 09:43:56 +11:00
Michael du Breuil ee3fcf49c6 AP_BattMonitor: Detect bad configuration of failsafes 2019-08-26 18:57:59 +01:00
James e474b7dcfe AP_BattMonitor: add PWM Fuel Level Sensor
this sensor produces PWM between 1100 and 1900, giving fuel level as a
percentage
2019-08-05 11:35:16 +10:00
Pierre Kancir b67bab01f6 AP_BattMonitor: pass mavlink_message_t by const reference 2019-07-16 20:51:42 +10:00
Michael du Breuil 0a4e3a77b3 AP_BattMonitor: Refactor interface for fetching current related data 2019-07-14 00:28:00 -07:00
bugobliterator 71ee4d573f AP_BattMonitor: add battery pin config for CubeOrange 2019-06-28 14:18:11 +10:00
Andrew Tridgell 88111ef81a AP_BattMonitor: reset failsafe flags when we reset battery remaining 2019-06-25 09:56:25 +10:00
Andrew Tridgell 11518857b6 AP_BattMonitor: added reset_remaining() API
used to allow battery swap before takeoff
2019-06-25 09:56:25 +10:00
Michael du Breuil cc7d13e9ef AP_BattMonitor: Remove param ignore flags 2019-06-11 10:28:45 +10:00
Andrew Tridgell 71e91c953a AP_BattMonitor: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Michael du Breuil 7b7bdd9bf8 AP_BattMonitor: Prevent capacity_remaining_pct from returning a large
value when low
2019-05-13 15:46:38 +10:00
Vinicius Knabben 5ab77e0fd0 AP_BattMonitor: Added parachute failsafe action to the parameters list
The user can now set the parachute release as a failsafe action

Signed-off-by: Vinicius Knabben <viniciusknabben@hotmail.com>
2019-04-30 10:04:58 +10:00
Michael du Breuil e177db7dcd AP_BattMonitor: Remove unused method, make some public functions private 2019-04-26 08:07:19 +10:00
Peter Barker e4b928be4d AP_BattMonitor: add floating point constant designators 2019-04-05 23:04:17 -07:00
Tom Pittenger 9aa1fe6dc5 AP_BattMonitor: rename dataflash to logger 2019-03-28 16:40:57 +11:00
Andrew Tridgell 5571a84a49 AP_BattMonitor: added a "battery" backend for liquid fuel flow
This is for sensors that give a pulse for each fixed volume of fuel.

Output is:
    - current in Amps maps to in litres/hour
    - consumed mAh is in consumed millilitres
    - fixed 1.0v voltage
2019-03-19 11:35:59 +11:00
Michael du Breuil d96aad86a5 AP_BattMonitor: Make type() const 2019-03-11 22:42:59 +00:00
Tom Pittenger 8ef4616bc2 AP_BattMonitor: unify singleton naming to _singleton and get_singleton() 2019-02-10 19:09:58 -07:00
Peter Barker ef699367d5 AP_BattMonitor: correct use of random stack data 2019-01-29 11:36:38 +09:00
Matt 134e7fb81c AP_BattMonitor: Add powering off mavlink broadcast 2019-01-28 15:35:04 -07:00
Peter Barker 4d67435b9c AP_BattMonitor: remove code dependant on HAL-VRBRAIN defines 2019-01-19 19:44:19 +11:00
Peter Barker 6fc76a32af GLOBAL: use AP::logger() and strip redundant Log_ from methods 2019-01-18 18:08:20 +11:00
Peter Barker b47733142f GLOBAL: rename DataFlash_Class to AP_Logger 2019-01-18 18:08:20 +11:00
Peter Barker 3bbe6c46a5 AP_BattMonitor: remove use of never-set AP_HAL_PX4 and AP_HAL_VRBRAIN 2019-01-18 09:53:44 +11:00
Randy Mackay 9b561c76e2 AP_BattMonitor: minor format fix to BLHeliESC 2018-12-13 14:06:57 +09:00
Arjun Vinod 9d8cad4eea AP_BattMonitor: fixed typos 2018-12-11 09:55:43 +09:00
Andrew Tridgell 25247433dc AP_BattMonitor: added Sum backend type
this is used to combine battery monitors into a single reporting
unit. It operates on all instances beyond itself
2018-11-30 13:02:35 +11:00
Andrew Tridgell 4673fd8c7c AP_BattMonitor: fix problem with BATT_MONITOR=0 and BATT2_MONITOR=N
this fixes a problem that came up with a user where they had
BATT_MONITOR=0 and BATT2_MONITOR=7. They did not get any battery
monitoring.

There are several ways to tackle this, but this is the simplest
2018-11-26 13:27:02 +11:00
Michael du Breuil 00cdf24324 AP_BattMonitor: Add docs for Plane QLand failsafe 2018-11-24 14:37:04 -08:00
Matt ca4d28200b AP_BattMonitor: Increase solo's power off button delay time
The Solo battery's power button needs to be held to power off. The
debounce time before it plays the power off tone is too low.
Occasionally it causes the user to not hold the button long enough.
This corrects the delay before playing the power off tone.
2018-11-23 08:59:08 +11:00
Randy Mackay 616a2709ff AP_BattMonitor: clarify copter action for SmartRTL
this hopefully helps clarify the difference between the two choices that include SmartRTL
2018-11-22 13:20:20 +09:00
Arjun Vinod ed8dff8af7 AP_BattMonitor: fixed SAFETY_STATUS register 2018-11-09 09:44:24 +09:00
Peter Barker 8e30417c38 AP_BattMonitor: add override keyword where required 2018-11-08 11:30:12 +11:00
Andrew Tridgell 1a5d60609d AP_BattMonitor: added BATT_MONITOR_DEFAULT option
this is for boards with builtin current and voltage monitoring
2018-10-31 20:30:35 +11:00
Peter Barker 9923bd1fd2 AP_BattMonitor: use sizeof(array) in place of constant 2018-10-21 07:54:30 +11:00
Andrew Tridgell 9e17275488 AP_BattMonitor: fixed build warnings 2018-10-17 12:54:22 +11:00
Michael du Breuil 8b3d993b1e AP_BattMonitor: Enable 9 battery monitors 2018-10-09 00:44:46 +01:00
Michael du Breuil 0137d6543f AP_BattMonitor: Allow AP_BattMonitor to run arming checks 2018-10-09 00:44:46 +01:00
Michael du Breuil deaa5046cb AP_BattMonitor: Split the failsafe conditions from their timers 2018-10-09 00:44:46 +01:00
Michael du Breuil 1bb4f07365 AP_BattMonitor: Move failsafe checks to the backend 2018-10-09 00:44:46 +01:00
Siddharth Purohit 6e85003b56 AP_BattMonitor: move BattInfo message subscription and handling to AP_BattMonitor 2018-08-29 22:54:59 +01:00
Francisco Ferreira 31b8a051cc
AP_BattMonitor: adapt to changes in AP_BoardConfig_CAN 2018-08-12 13:35:02 +01:00
Francisco Ferreira 8e6692744f
AP_BattMonitor: fix warning in UAVCAN driver
../../libraries/AP_BattMonitor/AP_BattMonitor_UAVCAN.cpp: In member function ‘virtual void AP_BattMonitor_UAVCAN::init()’:
../../libraries/AP_BattMonitor/AP_BattMonitor_UAVCAN.cpp:15:123: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘AP_Int32 {aka AP_ParamT<int, (ap_var_type)3u>}’ [-Wformat=]
 #define debug_bm_uavcan(level, fmt, args...) do { if ((level) <= AP_BoardConfig_CAN::get_can_debug()) { printf(fmt, ##args); }} while (0)
                                                                                                                           ^
../../libraries/AP_BattMonitor/AP_BattMonitor_UAVCAN.cpp:36:33: note: in expansion of macro ‘debug_bm_uavcan’
                                 debug_bm_uavcan(2, "UAVCAN BattMonitor BatteryInfo registered id: %d\n\r", _params._serial_number);
2018-08-12 13:35:02 +01:00
Michael du Breuil e82663baf2 AP_BattMonitor: Remove APM doc references 2018-08-01 09:24:26 +10:00
Michael du Breuil fd9f9cdfe0 AP_BattMonitor: Removed the need to set the battery_voltage flag 2018-08-01 09:22:09 +10:00
Michael du Breuil 875e03bdd9 AP_BattMonitor: Remove unused ADC include 2018-07-17 09:29:50 +10:00
Randy Mackay ce9857d77d AP_BattMonitor: add BLHeli ESC to MONITOR param desc 2018-07-11 17:44:00 +09:00
Andrew Tridgell cdf92c5158 AP_BattMonitor: fixed ESC telem scaling 2018-07-05 09:16:50 +10:00
Lucas De Marchi 49d08ba72a Global: remove minlure
Minlure is a port of ArduPilot to Minnow Board connected to daughter
board. Very few of those were produced and nobody is flying with it.

It served its purpose and all the the improvements to ArduPilot remain
regardless of it not being supported anymore. Now it's just adding
maintenance work with no clear benefit, so pull the plug.
2018-06-26 07:32:08 -07:00
Andrew Tridgell 9638f6cab9 AP_BattMonitor: changes from PR review 2018-06-19 09:36:03 +10:00
Andrew Tridgell dc9ae42067 AP_BattMonitor: added ESC telemetry virtual battery
this aggregates all BLHeli ESCs into a single virtual battery
2018-06-19 09:36:03 +10:00
Eugene Shamaev f7e9ce44b1 AP_BattMonitor: helper func 2018-06-09 22:46:48 -07:00
Eugene Shamaev dc228a25fa AP_BattMonitor: reducing indenting by linearizing the logic 2018-06-09 22:46:48 -07:00
Michael du Breuil d73c16698a AP_BattMonitor: Update param docs to be more UX friendly 2018-05-26 08:49:02 +09:00
mirkix 00d4b5165d AP_BattMonitor: fix pin order for PocketPilot 2018-05-12 07:17:44 +10:00
Dr.-Ing. Amilcar Do Carmo Lucas 24c1b0890d AP_BattMonitor: NFC improve coments 2018-03-28 17:01:33 +09:00
Randy Mackay bb9b866c7f AP_BattMonitor: resolve compiler warning re init order 2018-03-28 15:08:54 +09:00
Michael du Breuil 4a11093ebb AP_BattMonitor: Support critical and low battery failsafes
Also removes the example script, as it was broken, and causing more
headaches then it was worth
2018-03-27 22:12:21 +01:00
Francisco Ferreira ee8adf9073
AP_BattMonitor: fix build 2018-03-03 18:05:24 +00:00
Dr.-Ing. Amilcar Do Carmo Lucas 6cbeb73d1b AP_BattMonitor: NFC rename functions and variables to match their functionality 2018-03-03 17:16:34 +00:00
DOMINATOR\Eugene fcccc0174b AP_BattMonitor: UAVCAN battery information added 2018-03-02 11:48:00 +12:00
Andrew Tridgell 626b9289be AP_BattMonitor: allow hwdef.dat config of battery pins 2018-02-07 20:33:45 +11:00
Holger Steinhaus 7383552ebc AP_BatteryMonitor: count mWh spent since powerup 2018-02-06 20:00:16 -07:00
Michael du Breuil 03bf247d36 AP_BattMonitor: Create a battery singleton
Also logs battery data from the read function directly
2018-02-06 00:11:32 +00:00
LukeMike 8b737c54b9 VRBRAIN / AP_BattMonitor: some update for new VR Brain 5.2E (EEPROM version) 2018-02-05 08:26:49 +11:00
mirkix 8da1252959 AP_BattMonitor: add default pins and values for BeagleBone Blue 2018-02-02 10:01:34 +09:00
murata 3ec733d4f8 AP_BattMonitor: Aggregate the commands defined in the SMBUS specification.
AP_BattMonitor: Aggregate the commands defined in the SMBUS specification.
2018-02-02 09:17:30 +09:00
Michael du Breuil 8712fbd55d AP_BattMonitor: Move per battery params into a containing class 2018-01-17 22:21:55 +00:00
Michael du Breuil bb0d43d03c AP_BattMonitor: Remove unneeded memebers
is_powering_off was only used for solo, and was just an intermediate
copy before updating notify
2018-01-17 22:21:55 +00:00
Andrew Tridgell 08346deed5 AP_BattMonitor: run SMBus batteries at 100kHz
use longer timeouts and SMBUS mode. This fixes the SMBus battery
support for Solo on ChibiOS
2018-01-15 11:46:02 +11:00
Andrew Tridgell f8bea3af14 AP_BattMonitor: support ChibiOS 2018-01-15 11:46:02 +11:00
mirkix 4b1ec08eaf AP_BattMonitor: add new board PocketPilot 2017-12-27 16:01:55 +00:00
Andrew Tridgell a4c56fcb82 AP_BattMonitor: removed create() method for objects
See discussion here:

  https://github.com/ArduPilot/ardupilot/issues/7331

we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach

Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
Andrew Tridgell c9652fec3c AP_BattMonitor: fixed SITL segfault 2017-11-04 19:41:41 +11:00
Patrick José Pereira 73a76455d2 AP_BattMonitor: Solve typo in BATT2 description
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2017-10-31 09:32:03 +09:00
Michael du Breuil 0cee2f2896 AP_BattMonitor: Require all backends to provide init 2017-10-26 20:10:08 +11:00
Georgii Staroselskii 03ac8621bf AP_BattMonitor: add Edge PM preset 2017-10-20 13:03:08 -07:00
Lucas De Marchi b022c02029 global: use static method to construct AP_BattMonitor 2017-09-26 03:01:21 +01:00