Commit Graph

11 Commits

Author SHA1 Message Date
Caio Marcelo de Oliveira Filho ec52df991c build: compile only the HAL files needed by the board
Instead of requiring every program to specify the HAL related modules,
let the build system do it (in practice everything we compiled depended
on HAL anyway). This allow including only the necessary files in the
compilation.
2015-10-21 09:16:07 +11:00
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
Gustavo Jose de Sousa 84b5555a1a Tools: 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:41 +10:00
Andrew Tridgell a87279cfe5 Hello: convert example from .pde to .cpp 2015-06-01 18:12:16 +10:00
Andrew Tridgell 9e02ce44ae Tools: fix for HAL_SITL rename 2015-05-05 09:45:57 +10:00
Andrew Tridgell 0749cc1fd9 Tools: we don't have AP_NavEKF.h yet 2014-01-15 13:48:50 +11:00
Andrew Tridgell 906c1d18b4 Hello: fixed SITL build 2014-01-14 20:50:37 +11:00
Andrew Tridgell 896dd648c9 Tools: fixed indent-tabs-mode 2013-05-30 09:56:00 +10:00
Andrew Tridgell a56b8c7b67 Tools: port a couple of test sketches to PX4 2013-01-02 18:00:49 +11:00
Andrew Tridgell 374af1cd14 build: change from Arduino.mk to apm.mk 2013-01-02 17:29:37 +11:00
Andrew Tridgell 02fb938053 Hello: added a trivial test sketch
works with APM1/APM2/SITL
2012-12-24 07:20:35 +11:00