Ardupilot2/libraries
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
..
AC_AttitudeControl AC_AttitudeControl: use non-flybar leaky I handling 2015-09-25 12:05:43 +10:00
AC_Fence AC_Fence: standardize inclusion of libaries headers 2015-08-11 16:28:41 +10:00
AC_PID AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AC_PrecLand AC_PrecLand: add companion computer implementation 2015-09-11 20:56:08 +09:00
AC_Sprayer AC_Sprayer: standardize inclusion of libaries headers 2015-08-11 16:28:41 +10:00
AC_WPNav AC_WPNav: loiter limits lean angle for alt loss 2015-09-07 15:10:11 +09:00
AP_ADC AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_ADC_AnalogSource AP_ADC_AnalogSource: standardize inclusion of libaries headers 2015-08-11 16:28:41 +10:00
AP_AHRS AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_Airspeed AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_Arming AP_Arming: remove ahrs check from ins 2015-10-16 13:50:58 +09:00
AP_Baro AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_BattMonitor AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_BoardConfig AP_BoardConfig: standardize inclusion of libaries headers 2015-08-11 16:28:42 +10:00
AP_Buffer
AP_Camera AP_Camera: fix configure command id sent to components 2015-09-16 13:06:46 +09:00
AP_Common AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_Compass AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_Curve AP_Curve: standardize inclusion of libaries headers 2015-08-11 16:28:42 +10:00
AP_Declination AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_EPM AP_EPM: standardize inclusion of libaries headers 2015-08-11 16:28:42 +10:00
AP_Frsky_Telem AP_Frsky_Telem: standardize inclusion of libaries headers 2015-08-11 16:28:43 +10:00
AP_GPS AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_HAL AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_HAL_AVR AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_HAL_Empty AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_HAL_FLYMAPLE AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_HAL_Linux AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_HAL_PX4 AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_HAL_SITL AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_HAL_VRBRAIN AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_InertialNav AP_InertialNav: Address peer review comments 2015-10-20 15:21:36 +11:00
AP_InertialSensor AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_IRLock IRLock: replace tabs with spaces 2015-08-31 18:00:33 +09:00
AP_L1_Control AP_L1_Control: standardize inclusion of libaries headers 2015-08-11 16:28:44 +10:00
AP_LandingGear AP_LandingGear: standardize inclusion of libaries headers 2015-08-11 16:28:44 +10:00
AP_Limits AP_Limits: standardize inclusion of libaries headers 2015-08-11 16:38:18 +10:00
AP_Math AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_Menu AP_Menu: Fix warning 2015-10-06 10:36:22 +11:00
AP_Mission AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_Motors AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_Mount AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_NavEKF NavEKF: use new perf counter API 2015-10-20 18:16:15 +11:00
AP_NavEKF2 AP_NavEKF: prevent high rate mag data locking out other data fusion 2015-10-20 20:16:04 +11:00
AP_Navigation AP_Navigation: standardize inclusion of libaries headers 2015-08-11 16:38:20 +10:00
AP_Notify AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_OpticalFlow AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_Parachute AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_Param AP_Param: Add parameter to print out all the keys/indexes 2015-09-02 11:12:31 +10:00
AP_PerfMon AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_Progmem AP_Progmem: standardize inclusion of libaries headers 2015-08-11 16:38:22 +10:00
AP_Rally AP_Rally: standardize inclusion of libaries headers 2015-08-11 16:38:23 +10:00
AP_RangeFinder AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_RCMapper AP_RCMapper: standardize inclusion of libaries headers 2015-08-11 16:38:22 +10:00
AP_Relay AP_Relay: standardize inclusion of libaries headers 2015-08-11 16:38:23 +10:00
AP_RPM AP_RPM: added RPM_MAX parameter 2015-09-25 12:05:43 +10:00
AP_RSSI Copy paste errors and naming issues in documentation help. 2015-09-28 18:17:07 +10:00
AP_Scheduler AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AP_SerialManager AP_SerialManager: added enum for serial lidar 2015-09-08 16:46:52 +10:00
AP_ServoRelayEvents AP_ServoRelayEvents: standardize inclusion of libaries headers 2015-08-11 16:38:23 +10:00
AP_SpdHgtControl AP_SpdHgtControl: added flight stage FLIGHT_LAND_ABORT 2015-09-09 09:04:24 +10:00
AP_TECS AP_TECS: reformat using astyle 2015-09-16 14:24:45 +10:00
AP_Terrain AP_Terrain: don't allocate cache array when terrain not enabled 2015-09-23 08:31:17 +10:00
AP_Vehicle AP_Vehicle: standardize inclusion of libaries headers 2015-08-11 16:38:24 +10:00
APM_Control APM_Control: Fixed spelling error in parameter desc. 2015-09-16 09:33:27 +09:00
APM_OBC APM_OBC: added severities to send_statustext_all 2015-09-08 14:29:45 +10:00
APM_PI APM_PI: standardize inclusion of libaries headers 2015-08-11 16:28:41 +10:00
DataFlash AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
doc
Filter AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
GCS_Console AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
GCS_MAVLink AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
PID AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
RC_Channel AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
SITL SITL: moved ignition to channel 6 2015-09-29 10:59:41 +10:00
StorageManager AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00