Caio Marcelo de Oliveira Filho
a3169d0a34
AP_Compass: remove unnecessary includes from example
2015-10-21 09:16:11 +11:00
Caio Marcelo de Oliveira Filho
9b73fcb6f8
AP_AHRS: remove unnecessary includes in the example
2015-10-21 09:16:11 +11:00
Caio Marcelo de Oliveira Filho
24178c3e10
AP_Baro: remove unnecessary includes in example
2015-10-21 09:16:10 +11:00
Caio Marcelo de Oliveira Filho
b028219c94
DataFlash: remove unnecessary includes from example
2015-10-21 09:16:10 +11:00
Caio Marcelo de Oliveira Filho
03b0c76553
StorageManager: remove unnecessary includes from example
2015-10-21 09:16:10 +11:00
Caio Marcelo de Oliveira Filho
d32207008d
Filter: remove unnecessary includes from examples
2015-10-21 09:16:10 +11:00
Caio Marcelo de Oliveira Filho
8e1e77007e
AP_BattMonitor: remove unnecessary includes in example
2015-10-21 09:16:10 +11:00
Caio Marcelo de Oliveira Filho
9a2e0c2fd9
AC_PID: remove unnecessary includes from example
2015-10-21 09:16:10 +11:00
Caio Marcelo de Oliveira Filho
09579cb6e3
GCS_MAVLink: remove unnecessary includes
2015-10-21 09:16:10 +11:00
Caio Marcelo de Oliveira Filho
e8d9c4dc9b
PID: remove unnecessary includes from example
2015-10-21 09:16:10 +11:00
Caio Marcelo de Oliveira Filho
36ffef97c0
CPUInfo: remove unnecessary includes
2015-10-21 09:16:10 +11:00
Caio Marcelo de Oliveira Filho
12850742f9
AP_Scheduler: remove unnecessary includes from example
2015-10-21 09:16:10 +11:00
Caio Marcelo de Oliveira Filho
b98bf2a65e
AP_HAL: remove unnecessary includes from examples
2015-10-21 09:16:10 +11:00
Caio Marcelo de Oliveira Filho
c95a89411c
AP_HAL_Linux: remove unnecessary includes in example
2015-10-21 09:16:09 +11:00
Caio Marcelo de Oliveira Filho
e36728d1db
RC_Channel: make example compile again
...
By adding a missing library dependency. Also remove unnecessary
includes, in particular including each board HAL file is not needed
anymore.
2015-10-21 09:16:09 +11:00
Caio Marcelo de Oliveira Filho
01b11ba48f
Hello: remove unnecessary includes
2015-10-21 09:16:09 +11:00
Caio Marcelo de Oliveira Filho
5020db4481
AP_Math: remove unnecessary includes
...
Remove unnecessary includes, in particular the includes for specific
boards. The list of libraries for 'polygon' example was updated so that
the example compiles again.
2015-10-21 09:16:09 +11:00
Caio Marcelo de Oliveira Filho
ef615a5da1
Replay: implement HAL::Callbacks
...
Also removes includes for each board since they are not necessary
anymore.
2015-10-21 09:16:09 +11:00
Caio Marcelo de Oliveira Filho
b648715496
AntennaTracker: implement HAL::Callbacks
...
Also removes includes for each board since they are not necessary
anymore.
2015-10-21 09:16:09 +11:00
Caio Marcelo de Oliveira Filho
06b2c966c1
APMrover2: implement HAL::Callbacks
...
Also removes includes for each board since they are not necessary
anymore.
2015-10-21 09:16:09 +11:00
Caio Marcelo de Oliveira Filho
db3e501aec
ArduPlane: implement HAL::Callbacks
...
Also removes includes for each board since they are not necessary
anymore.
2015-10-21 09:16:09 +11:00
Caio Marcelo de Oliveira Filho
3e3f13659d
ArduCopter: implement HAL::Callbacks
...
Also removes includes for each board since they are not necessary
anymore.
2015-10-21 09:16:09 +11:00
Caio Marcelo de Oliveira Filho
b29d6eff5d
AP_HAL: add an AP_HAL_MAIN_CALLBACKS() macro
...
This is going to be used by vehicles that already have an object with
setup/loop functions. The vehicle object will just implement the
HAL::Callbacks interface.
2015-10-21 09:16:09 +11:00
Caio Marcelo de Oliveira Filho
19b4ca60c4
AP_HAL: provide AP_HAL_MAIN()
...
Move the macros to a single place and reduce the variations not based on
board, but based on
- The name of the entry-point function, specified by AP_MAIN;
- Whether it contains argc/argv arguments or not.
The goal here is that programs (vehicles and examples) don't need to
include all possible boards to define a main function. Further patches
will change the programs.
2015-10-21 09:16:09 +11:00
Caio Marcelo de Oliveira Filho
e30457a84d
AP_HAL_VRBRAIN: merge init() and run()
2015-10-21 09:16:08 +11:00
Caio Marcelo de Oliveira Filho
cb61bdd8d1
AP_HAL_PX4: merge init() and run()
2015-10-21 09:16:08 +11:00
Caio Marcelo de Oliveira Filho
e18884a328
AP_HAL_AVR: merge init() and run()
2015-10-21 09:16:08 +11:00
Caio Marcelo de Oliveira Filho
1649104382
AP_HAL_FLYMAPLE: merge init() and run()
2015-10-21 09:16:08 +11:00
Caio Marcelo de Oliveira Filho
3c22564307
AP_HAL_Linux: merge init() and run()
2015-10-21 09:16:08 +11:00
Caio Marcelo de Oliveira Filho
e4ef0e43c0
AP_HAL_SITL: merge init() and run()
2015-10-21 09:16:08 +11:00
Caio Marcelo de Oliveira Filho
0c837326b5
AP_HAL_Empty: merge init() and run()
2015-10-21 09:16:08 +11:00
Caio Marcelo de Oliveira Filho
6fc60e2d5e
AP_HAL: remove unused init() from the interface
...
And make run() pure virtual to ensure future implementations provide it.
2015-10-21 09:16:08 +11:00
Caio Marcelo de Oliveira Filho
fe1dd1be25
AP_HAL_VRBRAIN: implement HAL::run()
2015-10-21 09:16:08 +11:00
Caio Marcelo de Oliveira Filho
0dab23c4df
AP_HAL_PX4: implement HAL::run()
2015-10-21 09:16:08 +11:00
Caio Marcelo de Oliveira Filho
3fe1d86c80
AP_HAL_AVR: implement HAL::run() for APM1 and APM2
2015-10-21 09:16:08 +11:00
Caio Marcelo de Oliveira Filho
51bc25a2ab
AP_HAL_FLYMAPLE: implement HAL::run()
2015-10-21 09:16:07 +11:00
Caio Marcelo de Oliveira Filho
32dc822470
AP_HAL_Linux: implement HAL::run()
...
Added a note about the different ordering between setup callback and
scheduler initialized call.
2015-10-21 09:16:07 +11:00
Caio Marcelo de Oliveira Filho
c6292ff097
AP_HAL_SITL: implement HAL::run()
2015-10-21 09:16:07 +11:00
Caio Marcelo de Oliveira Filho
346ab77c27
AP_HAL_Empty: implement HAL::run()
2015-10-21 09:16:07 +11:00
Caio Marcelo de Oliveira Filho
72cd5ef185
AP_HAL: add run() method
...
Add run method, that encapsulate any mainloop logic on behalf of the
client code. The setup/loop functions are passed via a HAL::Callbacks
interface. The AP_HAL_MAIN() macro should be kept as trivial as
possible.
This interface should be implemented by the existing vehicle objects. To
make easy for the examples (that don't have the equivalent of vehicle
objects), a FunCallbacks was added to bridge to the functions directly.
2015-10-21 09:16:07 +11:00
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
Andrew Tridgell
79d85f7e10
AP_AHRS: wait for up to 10 samples to get a valid accel vector
...
the initial accel vectors can be invalid
2015-10-21 09:09:11 +11:00
Andrew Tridgell
eac91430a2
AP_AHRS: update _dcm_attitude() on reset()
...
this prevents the roll/pitch being overwritten by the AHRS_NavEKF
update code on next update
2015-10-21 08:58:30 +11:00
Jonathan Challinger
c35605fa04
AP_AHRS_DCM: align tilt during initialization
2015-10-21 08:34:02 +11:00
Jonathan Challinger
78af6d61de
AP_Compass: only play compass cal cancel tone if a cal was running
2015-10-21 08:24:49 +11:00
Jonathan Challinger
3b480bd6ec
AP_InertialSensor: fix order of accelerometer corrections
2015-10-21 08:22:36 +11:00
Jonathan Challinger
562db11159
AP_Compass: fix potential AP_Notify concurrency problem
2015-10-20 20:54:02 +09:00
Andrew Tridgell
3af4a7fee7
autotest: make CopterAVC use EKF2
...
this gives some testing of EKF2 in autotest
2015-10-20 21:00:59 +11:00
Paul Riseborough
cd8b9c7d26
AP_NavEKF: prevent high rate mag data locking out other data fusion
2015-10-20 20:16:04 +11:00