Caio Marcelo de Oliveira Filho
2e464a53c2
AP_HAL: make code not depend on concrete HAL implementations
...
The switching between different AP_HAL was happening by giving different
definitions of AP_HAL_BOARD_DRIVER, and the programs would use it to
instantiate.
A program or library code would have to explicitly include (and depend)
on the concrete implementation of the HAL, even when using it only via
interface.
The proposed change move this dependency to be link time. There is a
AP_HAL::get_HAL() function that is used by the client code. Each
implementation of HAL provides its own definition of this function,
returning the appropriate concrete instance.
Since this replaces the job of AP_HAL_BOARD_DRIVER, the definition was
removed.
The static variables for PX4 and VRBRAIN were named differently to avoid
shadowing the extern symbol 'hal'.
2015-10-21 09:16:07 +11:00
Lucas De Marchi
6c19f741df
AP_BattMonitor: use method for downcast
...
Instead of just doing a static cast to the desired class, use a method
named "from". Pros:
- When we have data shared on the parent class, the code is cleaner in
child class when it needs to access this data. Almost all the data
we use in AP_HAL benefits from this
- There's a minimal type checking because now we are using a method
that can only receive the type of the parent class
2015-09-23 09:01:29 +10:00
Randy Mackay
bb891a62d3
BattMonitor: fix parameter descriptions
2015-08-26 11:17:48 +09:00
Gustavo Jose de Sousa
ff20124f1d
AP_BattMonitor: standardize inclusion of libaries headers
...
This commit changes the way libraries headers are included in source files:
- If the header is in the same directory the source belongs to, so the
notation '#include ""' is used with the path relative to the directory
containing the source.
- If the header is outside the directory containing the source, then we use
the notation '#include <>' with the path relative to libraries folder.
Some of the advantages of such approach:
- Only one search path for libraries headers.
- OSs like Windows may have a better lookup time.
2015-08-11 16:28:42 +10:00
Randy Mackay
42c7b4a116
BattMon_SMBus: remove unnecessary I2C semaphore give
2015-08-07 15:50:38 +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
Randy Mackay
84b6ab0707
BattMon_Bebop: use ARRAY_SIZE
...
Also remove printf of failure message, instead we should add the battery
monitor health to the SYS_STATUS message sent to the ground station
2015-07-23 21:49:30 +09:00
Randy Mackay
3b36178a0b
BattMon_Bebop: init members in constructor
2015-07-23 21:49:29 +09:00
Jean-Baptiste Dubois
35ae562dbe
AP_BattMonitor: Add battery support for Bebop Hardware
2015-07-23 21:49:27 +09:00
Przemek Lekston
90378b21da
AP_BattMonitor: Fix battery monitor Floating Point Exception in SITL
...
Adds a sanity check to avoid division by zero when BATT_CAPACITY is set to 0.
2015-06-29 16:42:52 +10:00
mirkix
a1d478909a
AP_BattMonitor: Add Linux support for example
2015-06-18 09:00:01 +10:00
Andrew Tridgell
debe7db861
AP_BattMonitor: convert example from .pde to .cpp
2015-06-01 16:58:11 +10:00
Randy Mackay
5560d3dba1
BattMonitor: fix example sketch
2015-05-12 21:34:24 +09:00
Andrew Tridgell
8055e5792d
AP_BattMonitor: fix for HAL_SITL rename
2015-05-05 09:45:55 +10:00
Tom Pittenger
dbc01e2f1a
BattMon: fix compile warning re to unused variable
2015-04-24 14:18:36 +09:00
Tom Pittenger
0926cf17dd
BattMon: fix compile warnings re float constants
2015-04-24 12:27:23 +09:00
Randy Mackay
56d2306a18
BattMon_SMBus_PX4: read capacity
2015-04-11 14:10:22 +09:00
Randy Mackay
c6440a48b3
BattMon_Backend: add init and set_capacity methods
2015-04-11 14:10:19 +09:00
Randy Mackay
c7dd6ae816
BattMon: SMBus becomes unhealthy after 5sec timeout
...
Also remove unused internal variable
2015-03-20 11:05:30 +09:00
Randy Mackay
c44f304253
BattMon: analog monitor always healthy
2015-03-20 11:05:27 +09:00
Randy Mackay
1217ab9579
BattMon: add get_type method
2015-03-03 15:48:24 +09:00
Emile Castelnuovo
90663664f3
AP_BattMonitor: VRBRAIN deleted unused boards, corrected default batt volt divider.
2015-02-02 08:44:01 +11:00
Randy Mackay
5ba1b20d3b
BattMon: add SMBus to MONITOR param description
2015-01-02 17:20:05 +09:00
Randy Mackay
022c549339
BattMon_SMBus_I2C: use get_PEC to check reads
2014-12-31 15:23:00 +09:00
Randy Mackay
bf0e5a350c
BattMon_SMBus_I2C: add get_PEC method
2014-12-31 15:22:59 +09:00
Randy Mackay
3951e4d99b
BattMon: example sketch reads from SMBus
2014-12-31 15:22:58 +09:00
Randy Mackay
aecc8aac1f
BattMon: correct typo in monitor type enum
2014-12-31 15:22:57 +09:00
Randy Mackay
909d525206
BattMon: fix example sketch compile error
2014-12-31 15:22:51 +09:00
Randy Mackay
76a28a962c
BattMon: remove #defines for monitor type
2014-12-31 15:22:47 +09:00
Randy Mackay
f077ecd338
BattMon_PX4: class to read from PX4Firmware via orb
2014-12-31 15:22:46 +09:00
Randy Mackay
3f35dc54fe
BattMon_I2C: smart battery class for APM
2014-12-31 15:22:45 +09:00
Randy Mackay
314db1403d
BattMon_SMBus: smart battery monitor driver
2014-12-31 15:22:45 +09:00
Randy Mackay
4d7df9ed26
BattMon_Analog: move analog features to new class
2014-12-31 15:22:44 +09:00
Randy Mackay
39dbf05c8f
BattMon_Backend: create backend class
2014-12-31 15:22:43 +09:00
Randy Mackay
eec66d8451
BattMon: parent class becomes frontend class
2014-12-31 15:22:42 +09:00
Randy Mackay
45e0e48e54
BattMon: minor param description update
2014-10-14 12:42:45 +09:00
Andrew Tridgell
40709f655e
AP_BattMonitor: fixed example build
2014-08-13 21:46:22 +10:00
Andrew Tridgell
ab6302540d
AP_BattMonitor: added 2nd battery voltage monitoring
2014-08-09 22:50:14 +10:00
Andrew Tridgell
93f2d81ff4
AP_BattMonitor: fixed example build
2014-07-25 17:54:19 +10:00
Emile Castelnuovo
bdd9fe77c7
VRBRAIN: change default pin for analog input.
2014-07-01 12:23:25 +02:00
LukeMike
8f552d5758
VRBRAIN: Changed the management of VirtualRobotix's boards.
2014-06-19 11:27:38 +02:00
Kevin Hester
80cb13e222
BattMon: fixup line endings
2014-04-15 15:56:43 +09:00
Emile Castelnuovo
1d27e0d127
AP_BattMonitor: added #defines for VRBRAIN board
2014-04-08 16:19:19 +10:00
Andrew Tridgell
dcb42af3e9
AP_BattMonitor: fixed example build
2014-04-03 07:49:06 +11:00
Randy Mackay
d09fd0d035
BattMonitor: add @Increment to CAPACITY description
2013-10-29 11:23:27 +09:00
Andrew Tridgell
f34b1c280d
AP_BattMonitor: added set_monitoring() API
...
needed for test sketch
2013-10-23 09:40:42 +11:00
Randy Mackay
1a070e61f0
BattMon: amp-per-volt reduced to 17 (was 18.002)
2013-10-10 11:14:01 +09:00
Craig3DRobotics
e5501bf911
AP_BattMonitor: Updated parameter descriptions
2013-10-09 15:33:03 -07:00
Andrew Tridgell
cd65e2109d
AP_BattMonitor: fixed type in docs
2013-10-10 07:22:05 +11:00
Randy Mackay
9aea577eb1
BattMonitor: correct default pins for PX4
2013-10-08 10:28:48 +09:00
Randy Mackay
f1309ed63f
BattMonitor: bug fix for current_total_mah
2013-10-03 11:16:24 +09:00
Randy Mackay
7d73e62a23
BattMonitor: add exhausted method
...
Current total calculations changed to use micros instead of millis for
improved accuracy
Removed unused pack_capacity accessor
Initialise private members
2013-10-03 11:16:19 +09:00
Randy Mackay
d9fe099885
BattMonitor: update comments and defaults
2013-10-03 11:16:17 +09:00
Andrew Tridgell
366d73124a
AP_Battery: fixed parameter name and default voltage ratio
...
also setup SITL with right pins
2013-10-03 11:16:15 +09:00
Andrew Tridgell
88777beab0
AP_BattMonitor: minor cleanups
...
cleanup name to be multiplier not div ratio, and make 2 variables
non-static
2013-10-03 11:16:10 +09:00
Randy Mackay
8b06a12fa4
BattMonitor: initial draft lib
2013-10-03 11:16:01 +09:00