Commit Graph

166 Commits

Author SHA1 Message Date
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
Josh Henderson
8af12608df AP_BattMonitor: make NeoDesign obey SMBUS_ENABLE 2021-07-18 15:16:57 -07:00
Josh Henderson
80a17cb97f AP_BattMonitor: get Mavlink charge state 2021-06-08 09:27:13 +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
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
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
Peter Barker
00a8a8fe8e AP_BattMonitor: use enum class For Battery Failsafe 2020-12-07 15:20:14 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Michael du Breuil
fd9f9cdfe0 AP_BattMonitor: Removed the need to set the battery_voltage flag 2018-08-01 09:22:09 +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
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
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
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
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
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
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
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
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
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
Andre Kjellstrup
94eabed583 AP_BattMonitor: update volt and curr pin param descriptions 2017-04-13 13:30:23 +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
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
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
floaledm
ec157bd4c2 AP_BattMonitor: Get pack_capacity_mah function 2016-08-25 10:16:18 +10: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
a1564bd337 AP_BattMonitor: check actual battery instances instead of max possible instances 2016-06-02 16:59:21 -07:00
Tom Pittenger
0e775f595d AP_BattMonitor: make param BATT_WATT_MAX plane only 2016-04-21 13:59:45 -07: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
Jonathan Challinger
8fdbb36827 AP_BattMonitor: add is_powering_off 2016-01-07 15:14:07 +09:00
Caio Marcelo de Oliveira Filho
9eb945d24f AP_BattMonitor: use millis/micros/panic functions 2015-11-20 12:29:45 +09:00
Lucas De Marchi
831d8acca5 Remove use of PROGMEM
Now variables don't have to be declared with PROGMEM anymore, so remove
them. This was automated with:

    git grep -l -z PROGMEM | xargs -0 sed -i 's/ PROGMEM / /g'
    git grep -l -z PROGMEM | xargs -0 sed -i 's/PROGMEM//g'

The 2 commands were done so we don't leave behind spurious spaces.

AVR-specific places were not changed.
2015-10-30 14:35:16 +09:00
Randy Mackay
bb891a62d3 BattMonitor: fix parameter descriptions 2015-08-26 11:17:48 +09:00
Randy Mackay
3dfb447fd7 BattMon: has_current true for Bebop
The bebop does not actually provide current but it does estimate the
percentage of battery remaining
2015-07-23 21:49:32 +09:00
Randy Mackay
8403b504d1 BattMon: add Bebop to monitor param description 2015-07-23 21:49:32 +09:00
Randy Mackay
9482578c60 BattMon: Bebop always uses bebop batt monitor 2015-07-23 21:49:31 +09:00
Jean-Baptiste Dubois
35ae562dbe AP_BattMonitor: Add battery support for Bebop Hardware 2015-07-23 21:49:27 +09:00