Commit Graph

454 Commits

Author SHA1 Message Date
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
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
Lucas De Marchi bd8f0a9e93 AP_BattMonitor: add static create method 2017-09-26 03:01:21 +01:00
Kevin Lopez Alvarez d0ec5a6111 AP_BattMonitor: initial FMUv4pro support 2017-07-24 13:45:37 +10:00
Michael du Breuil 3dd47bff8b AP_BattMonitor: Allow generic SMBus batteries to not have cell voltages 2017-07-15 14:53:53 +01:00
Francisco Ferreira a83457ab07
AP_BattMonitor: complement commit d3314d7684 by adding to second battery monitor too 2017-06-26 13:41:12 +01:00
fsherratt d3314d7684 AP_BattMonitor: param desc explicitly list Pixhawk 2 PM1 pins
There is confusion over which pins to use with the pixhawk 2, updated documentation to explicitly state the PM1 pins as being the same as the original pixhawk
2017-06-24 11:01:03 +09:00
Randy Mackay 7a2d8fd5fd AP_BattMonitor: add has_cell_voltages method 2017-06-06 14:57:04 +09:00
Randy Mackay 6d8dc0fccf AP_BattMonitor: replace int with uint8_t
non-functional change
2017-06-06 14:57:04 +09:00
Leonard Hall d5e898156f AP_BattMonitor: allow using resting voltage for failsafe 2017-06-06 14:57:04 +09:00
Leonard Hall 8709fe58ec AP_BattMonitor: resistance learning 2017-06-06 14:57:04 +09:00
Randy Mackay f64777849f AP_BattMonitor: rename VOLT_TIMER to LOW_TIMER 2017-06-06 14:57:04 +09:00
Randy Mackay 989677ddfd AP_BattMonitor: move has_current to backend 2017-06-06 14:57:04 +09:00
Michael du Breuil f026438f22 AP_BattMonitor: Fetch remaining capacity 2017-05-30 20:28:12 +09:00
Francisco Ferreira 9c027713d1
AP_BattMonitor: update current/voltage parameter documentation
Remove information for old APM boards
Correct information for The Cube (Pixhawk 2.1) Power2 port
2017-05-19 01:19:23 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas 25cfee9824 AP_BattMonitor: Use SI units conventions in parameter units
Follow the rules from:
http://physics.nist.gov/cuu/Units/units.html
http://physics.nist.gov/cuu/Units/outside.html
and
http://physics.nist.gov/cuu/Units/checklist.html
one further constrain is that only printable (7bit) ASCII characters are allowed
2017-05-17 18:07:25 +10:00
Andrew Tridgell d4e6720b01 AP_BattMonitor: added BATT_VOLT_TIMEO
this is useful for aircraft with very low C batteries, to prevent a low
voltage failsafe on takeoff. For long endurance aircraft low C batteries
are often used, and the voltage sags a lot on takeoff, but it fine for
the rest of the flight
2017-04-28 17:40:18 +10:00
Michael du Breuil 22ab8de4d2 AP_BattMonitor: SMBus: Fetch pack capacity 2017-04-28 00:36:10 +01:00
Michael du Breuil f919c409bb AP_BattMonitor: Remove redundant state copy
Every backend stored a instance reference, which wasn't used in most locations
which is redundant given that the state already tracks the instance for us as
well.
2017-04-28 00:36:10 +01:00
Michael du Breuil 3ab3face9b AP_BattMonitor: SMBus: Read serial number 2017-04-28 00:36:10 +01:00
Michael du Breuil e0d49e6d84 AP_BattMonitor: Use a unified SMBus temperature interface 2017-04-21 00:38:41 +01:00
Michael du Breuil 9c3b97347a AP_BattMonitor: Unify read_word interface 2017-04-21 00:38:41 +01:00
Michael du Breuil 3319c3ccdc AP_BattMonitor: Use a common PEC helper 2017-04-21 00:38:41 +01:00
Michael du Breuil a96772e46e AP_BattMonitor: get Solo battery voltage from sum of cell voltages
Minimizes the number of transactions on the bus, and reduces the amount of noise we have to consider
2017-04-19 14:17:24 +01:00
Michael du Breuil 8f24d211ce AP_BattMonitor: Solo add support for temperature and cells
Also fixs a buffer overflow when reading the ManufacturerData
2017-04-19 14:17:24 +01:00
Michael du Breuil 043b93d643 AP_BattMonitor: Maxell support temperature 2017-04-19 14:17:24 +01:00
Michael du Breuil de02bd52ed AP_BattMonitor: SMBus_Maxell request voltages 2017-04-19 14:17:24 +01:00
Michael du Breuil 121ebebfef AP_BattMonitor: Add temperature interface 2017-04-19 14:17:24 +01:00
Michael du Breuil e39ae6d48c AP_BattMonitor: Add cell monitoring 2017-04-19 14:17:24 +01:00
Pierre Kancir 9c587d8d67 AP_BattMonitor: fix warning in example 2017-04-13 19:56:16 +01:00
Andre Kjellstrup 94eabed583 AP_BattMonitor: update volt and curr pin param descriptions 2017-04-13 13:30:23 +09:00
Randy Mackay dcc4f69f7c AP_BattMonitor: confirm pec support before attempting to read voltage
Previously we checked PEC support continuously at 10hz.  With this change PEC support (or lack of support) is determined first before we try to read from the battery.  Once determined, we do not repeat the checks.
Also simplified logic to determine PEC support based on version (should have no functional effect)
Also renamed get_pec_support to check_pec_support
Also renamed _pec_confirm to _pec_confirmed
2017-03-30 10:34:45 +09:00
Randy Mackay 884892be16 AP_BattMonitor: const some temp variables
Also other minor changes in response to peer review
2017-03-30 10:34:45 +09:00
Tatsuya Yamaguchi 6b4a46d467 AP_BattMonitor: fix to use the return value of get_pec_support 2017-03-30 10:34:45 +09:00
Tatsuya Yamaguchi b052f96f6c AP_BattMonitor: check a PEC support using SpecificationInfo 2017-03-30 10:34:45 +09:00
Randy Mackay 8c7b214d71 AP_BattMonitor: fix param description 2017-02-15 20:01:59 +10:00
Randy Mackay ebb60e8d2f AP_BattMonitor: remove PX4 driver 2017-02-09 10:45:01 +09:00
Tatsuya Yamaguchi 3e445fd4b8 AP_BattMonitor: add Maxell Battery support 2017-02-09 10:45:00 +09:00
Tatsuya Yamaguchi d30350276c AP_BattMonitor: I2C driver becomes Solo driver
Rename class to Solo
Use internal I2C bus
Add capacity, current, button press checking
Only check continuously for voltage if reading fails for more than 5 seconds
2017-02-09 10:44:50 +09:00
Randy Mackay bad8910b93 AP_BattMonitor: example sketch uses Solo battery 2017-02-09 09:21:55 +09:00
Randy Mackay e4c99a22bc AP_BattMonitor: add override specifier to Bebop 2017-02-09 08:35:12 +09:00
murata f18b8844bf AP_BattMonitor: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
Lucas De Marchi 5472bc4de1 Global: change Device::PeriodicCb signature
Remove bool return as it's never being used and not supported on PX4.
2017-01-14 10:03:54 +11:00