Commit Graph

131 Commits

Author SHA1 Message Date
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
Georgii Staroselskii e735a56c82 AP_BattMonitor: add default PM definitions for Navio boards
As it turns out we haven't had default PM defs for power modules
intended to be used with Navio boards.
2016-12-01 05:41:37 -08:00
Andrew Tridgell 4f231f9355 AP_BattMonitor: fixed thread usage for SMBus_I2C 2016-11-09 17:08:02 +11:00
murata c808ee2f49 Global: To nullptr from NULL.
RC_Channel: To nullptr from NULL.

AC_Fence: To nullptr from NULL.

AC_Avoidance: To nullptr from NULL.

AC_PrecLand: To nullptr from NULL.

DataFlash: To nullptr from NULL.

SITL: To nullptr from NULL.

GCS_MAVLink: To nullptr from NULL.

DataFlash: To nullptr from NULL.

AP_Compass: To nullptr from NULL.

Global: To nullptr from NULL.

Global: To nullptr from NULL.
2016-11-02 16:04:47 -02:00
Francisco Ferreira 3a89421c70 AP_BattMonitor: remove Bebop fixed capacity
Bebop, Bebop2 and Disco all use this class but it was always setting the capacity to the Bebop one, overriding the parameter
2016-10-24 09:24:11 -03:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Lucas De Marchi ae53920e5b build: don't build examples with old build system
We currently check examples are buildable with waf which doesn't need
the libraries to be specified in a make.inc file.  Having the makefiles
there is misleading since people try to build and realize the build is
broken.
2016-10-11 13:03:08 +11:00
Andrew Tridgell 79ed5c7091 AP_BattMonitor: fixed typo 2016-09-21 17:37:32 +10:00
Andrew Tridgell 06cccd6d3b AP_BattMonitor: update disco battery lookup table 2016-09-21 13:48:53 +10:00
floaledm ec157bd4c2 AP_BattMonitor: Get pack_capacity_mah function 2016-08-25 10:16:18 +10:00
Andrew Tridgell d05a08ff4d AP_BattMonitor: auto-start batt_smbus driver if enabled 2016-08-10 19:54:00 +10:00
LukeMike b5cf0308cd VRBRAIN / AP_BattMonitor_Analog: definition of default value for battery monitor for all VirtualRobotix boards 2016-08-07 20:31:51 +10:00
Lucas De Marchi f36e8d9c05 AP_HAL_Linux: remove AP_HAL_Linux_Namespace header
This centralized namespace header encourages centralizing things on
umbrella headers that are a pain to maintain. Force each part of
AP_HAL_Linux to include what is used.

While at it, do some whitespace cleanups and minor changes to adhere to
coding style.
2016-07-29 20:25:03 -03:00
Tom Pittenger 5108b4cbb6 AP_BattMonitor: move vehicle dependant code to be c-file only, not header 2016-07-25 18:10:57 -07:00
Lucas De Marchi 64d17702e6 AP_BattMonitor: AP_BattMonitor_SMBus: fix after conversion to I2CDevice
- Fix bus number
    - Minor updates to coding style
2016-07-22 13:10:51 -03:00
Luiz Ywata 0cf4353382 AP_BattMonitor: AP_BattMonitor_SMBus: use I2CDevice interface 2016-07-22 13:10:51 -03:00
Andrew Tridgell 39dac57b56 AP_BattMonitor: support Disco battery monitoring 2016-07-20 13:38:17 +10:00
Tom Pittenger d2c9b02ca5 AP_BattMonitor: remove voltage2() since we have voltage(x) available 2016-06-02 16:59:26 -07:00
Tom Pittenger a1564bd337 AP_BattMonitor: check actual battery instances instead of max possible instances 2016-06-02 16:59:21 -07:00
Lucas De Marchi e448f161d2 AP_BattMonitor: remove support for flymaple 2016-05-23 21:49:45 -03:00
Ricardo de Almeida Gonzaga 5237c86bca AP_BattMonitor: Fix typos 2016-05-13 19:20:05 -03:00
Tom Pittenger 0e775f595d AP_BattMonitor: make param BATT_WATT_MAX plane only 2016-04-21 13:59:45 -07:00
Jonathan Challinger 06ccf88cc9 AP_BattMonitor_SMBus: set AP_Notify powering_off flag 2016-04-21 10:04:37 +10:00
Tom Pittenger 035f3b16a1 AP_BattMonitor: add new param BATT_WATT_MAX
Description: If battery wattage (voltage * current) exceeds this value then the system will reduce max throttle (THR_MAX and TKOFF_THR_MAX) to satisfy this limit. This helps limit high current to low C rated batteries regardless of battery voltage. The max throttle will slowly grow back to THR_MAX (or TKOFF_THR_MAX) if demanding the current max and under the watt max.
2016-03-02 10:14:25 -08:00