ardupilot/libraries/AP_HAL_Linux
Lucas De Marchi e40785b002 AP_HAL_Linux: Add fake device to I2CDriver
This allows us to re-use I2CDevice from I2CDriver while the drivers are
converted.  We create a fake device with addr = 0 for each I2CDriver but
we only use the register/unregister logic. The transfer logic still uses
the methods from I2CDriver in order to use the right address.

Now we can interoperate I2CDevice drivers with the ones base in
I2CDriver since they are going to use the same semaphore and bus.

The I2CDriver constructors were changed to re-use the logic in I2CDevice
(it uses a number rather than an string) and the semaphore doesn't live
outside anymore, its embedded in the fake I2CDevice, as well as the
bus's file descritor.
2016-02-16 19:49:09 -02:00
..
benchmarks waf: ardupilotwaf: prefix build context methods with ap_ 2016-01-22 20:10:29 -02:00
examples Global: rename enum SPIDevice to SPIDeviceType 2016-02-01 14:18:50 -02:00
qflight HAL_Linux: added qflight README.md 2015-12-27 16:12:27 +11:00
AP_HAL_Linux.h AP_HAL: provide AP_HAL_MAIN() 2015-10-21 09:16:09 +11:00
AP_HAL_Linux_Namespace.h AP_HAL_Linux: Add skeleton for I2CDevice 2016-02-16 19:49:08 -02:00
AP_HAL_Linux_Private.h AP_HAL_Linux: Add skeleton for I2CDevice 2016-02-16 19:49:08 -02:00
AnalogIn.cpp AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
AnalogIn.h AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
AnalogIn_ADS1115.cpp AP_HAL_Linux: ADS1115: rename classes to follow other names 2016-02-01 14:18:51 -02:00
AnalogIn_ADS1115.h AP_HAL_Linux: ADS1115: rename classes to follow other names 2016-02-01 14:18:51 -02:00
AnalogIn_IIO.cpp AP_HAL_Linux: AnalogIIO: Remove unused code, add scaling for BBBMINI, rework 2016-01-28 13:44:43 -02:00
AnalogIn_IIO.h AP_HAL_Linux: AnalogIIO: Remove unused code, add scaling for BBBMINI, rework 2016-01-28 13:44:43 -02:00
AnalogIn_Raspilot.cpp AP_HAL_Linux: AnalogIn_Raspilot: rename classes to follow other names 2016-02-01 14:18:51 -02:00
AnalogIn_Raspilot.h AP_HAL_Linux: AnalogIn_Raspilot: rename classes to follow other names 2016-02-01 14:18:51 -02:00
CameraSensor.cpp AP_HAL_Linux: make CameraSensor follow coding style 2015-12-18 17:56:04 +11:00
CameraSensor.h AP_HAL_Linux: make CameraSensor follow coding style 2015-12-18 17:56:04 +11:00
CameraSensor_Mt9v117.cpp AP_HAL_Linux: move mt9v117 patches inside class 2015-12-18 17:56:06 +11:00
CameraSensor_Mt9v117.h AP_HAL_Linux: move mt9v117 patches inside class 2015-12-18 17:56:06 +11:00
CameraSensor_Mt9v117_Patches.cpp AP_HAL_Linux: move mt9v117 patches inside class 2015-12-18 17:56:06 +11:00
ConsoleDevice.cpp AP_HAL_Linux: standardize inclusion of libaries headers 2015-08-11 16:28:43 +10:00
ConsoleDevice.h AP_HAL_Linux: standardize inclusion of libaries headers 2015-08-18 17:12:51 +10:00
Flow_PX4.cpp AP_HAL_Linux: Enable optical flow onboard for BBBMINI 2016-02-08 08:52:10 -02:00
Flow_PX4.h AP_HAL_Linux: Flow_PX4: follow coding style 2015-12-18 17:56:05 +11:00
GPIO.cpp AP_HAL_Linux: remove prefix from AP_HAL_Linux classes 2015-10-21 10:11:19 +11:00
GPIO.h HAL_Linux: GPIO, add support for PXFmini 2016-01-05 15:31:43 -02:00
GPIO_BBB.cpp AP_HAL_Linux: use millis/micros/panic functions 2015-11-20 12:31:04 +09:00
GPIO_BBB.h AP_HAL_Linux: remove prefix from AP_HAL_Linux classes 2015-10-21 10:11:19 +11:00
GPIO_Bebop.cpp AP_HAL_Linux: Fix comment and panic on Bebop 2015-12-27 16:11:36 -02:00
GPIO_Bebop.h AP_HAL_Linux: GPIO Sysfs for Bebop 2015-12-01 07:07:26 +11:00
GPIO_Minnow.cpp AP_HAL_Linux: add GPIO definitions for minlure 2015-10-22 12:04:52 +11:00
GPIO_Minnow.h AP_HAL_Linux: add GPIO definitions for minlure 2015-10-22 12:04:52 +11:00
GPIO_RPI.cpp AP_HAL_Linux: GPIO: remove ifdef comment 2016-01-05 15:34:49 -02:00
GPIO_RPI.h AP_HAL_Linux: add GPIO definitions for BH hat 2015-12-21 15:54:31 +11:00
GPIO_Sysfs.cpp AP_HAL_Linux: remove _export_pins() method 2016-01-04 15:12:49 -02:00
GPIO_Sysfs.h AP_HAL_Linux: remove _export_pins() method 2016-01-04 15:12:49 -02:00
HAL_Linux_Class.cpp AP_HAL_Linux: Add fake device to I2CDriver 2016-02-16 19:49:09 -02:00
HAL_Linux_Class.h AP_HAL_Linux: Remove unused extern declaration for HALs 2015-11-20 16:32:17 +09:00
Heat.h AP_HAL_Linux: remove prefix from AP_HAL_Linux classes 2015-10-21 10:11:19 +11:00
Heat_Pwm.cpp AP_HAL_Linux: Adapt Heat_Pwm to use PWM_Sysfs 2015-12-01 07:07:26 +11:00
Heat_Pwm.h AP_HAL_Linux: Adapt Heat_Pwm to use PWM_Sysfs 2015-12-01 07:07:26 +11:00
I2CDevice.cpp AP_HAL_Linux: I2CDevice: method to read multiple times 2016-02-16 19:49:09 -02:00
I2CDevice.h AP_HAL_Linux: I2CDevice: method to read multiple times 2016-02-16 19:49:09 -02:00
I2CDriver.cpp AP_HAL_Linux: Add fake device to I2CDriver 2016-02-16 19:49:09 -02:00
I2CDriver.h AP_HAL_Linux: Add fake device to I2CDriver 2016-02-16 19:49:09 -02:00
OpticalFlow_Onboard.cpp AP_HAL_Linux: Enable optical flow onboard for BBBMINI 2016-02-08 08:52:10 -02:00
OpticalFlow_Onboard.h OpticalFlow_Onboard: fix body rate calculation 2016-01-15 16:11:19 -02:00
PWM_Sysfs.cpp AP_HAL_Linux: PWM_Sysfs: minor changes to Bebop/mainline integration 2015-12-01 07:07:25 +11:00
PWM_Sysfs.h AP_HAL_Linux: fix warning due to derived PWM_Sysfs 2015-12-02 10:43:43 +11:00
Perf.cpp AP_HAL_Linux: Add Perf Lttng 2016-01-14 19:13:35 -02:00
Perf_Lttng.cpp AP_HAL_Linux: Add Perf Lttng 2016-01-14 19:13:35 -02:00
Perf_Lttng.h AP_HAL_Linux: Add Perf Lttng 2016-01-14 19:13:35 -02:00
Perf_Lttng_TracePoints.h AP_HAL_Linux: Add Perf Lttng 2016-01-14 19:13:35 -02:00
RCInput.cpp AP_HAL_Linux: RCInput_RPI: revert PWM support 2016-01-18 20:07:42 -02:00
RCInput.h AP_HAL_Linux: RCInput_RPI: revert PWM support 2016-01-18 20:07:42 -02:00
RCInput_AioPRU.cpp AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCInput_AioPRU.h AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCInput_DSM.cpp HAL_Linux: added qflight board subtype 2015-12-27 16:12:27 +11:00
RCInput_DSM.h HAL_Linux: added qflight board subtype 2015-12-27 16:12:27 +11:00
RCInput_PRU.cpp AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCInput_PRU.h AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCInput_RPI.cpp AP_HAL_Linux: RCInput_RPI: revert PWM support 2016-01-18 20:07:42 -02:00
RCInput_RPI.h AP_HAL_Linux: RCInput_RPI: revert PWM support 2016-01-18 20:07:42 -02:00
RCInput_Raspilot.cpp AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCInput_Raspilot.h AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCInput_UART.cpp AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCInput_UART.h AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCInput_UDP.cpp AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCInput_UDP.h AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCInput_UDP_Protocol.h AP_HAL_Linux: Add Support for RCInput_UDP 2015-09-07 12:10:08 +10:00
RCInput_ZYNQ.cpp AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCInput_ZYNQ.h AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCOutput_AioPRU.cpp AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCOutput_AioPRU.h AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCOutput_Bebop.cpp RCOutput_Bebop: Increase max_rpm on Bebop 2 2015-12-27 16:11:36 -02:00
RCOutput_Bebop.h RCOutput_Bebop: Increase max_rpm on Bebop 2 2015-12-27 16:11:36 -02:00
RCOutput_PCA9685.cpp AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCOutput_PCA9685.h AP_HAL_Linux: RCOutput_PCA9685 add new address for BH hat 2015-12-21 15:54:31 +11:00
RCOutput_PRU.cpp AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCOutput_PRU.h AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCOutput_Raspilot.cpp AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCOutput_Raspilot.h AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCOutput_Sysfs.cpp AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCOutput_Sysfs.h AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCOutput_ZYNQ.cpp AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCOutput_ZYNQ.h AP_HAL_Linux: use init() method without arguments 2015-12-02 14:49:11 -02:00
RCOutput_qflight.cpp HAL_Linux: added qflight board subtype 2015-12-27 16:12:27 +11:00
RCOutput_qflight.h HAL_Linux: added qflight board subtype 2015-12-27 16:12:27 +11:00
RPIOUARTDriver.cpp AP_HAL_Linux: use millis/micros/panic functions 2015-11-20 12:31:04 +09:00
RPIOUARTDriver.h AP_HAL_Linux: remove prefix from AP_HAL_Linux classes 2015-10-21 10:11:19 +11:00
SPIDriver.cpp AP_HAL_Linux: remove unused constant 2016-02-01 14:18:51 -02:00
SPIDriver.h AP_HAL_Linux: remove unused constant 2016-02-01 14:18:51 -02:00
SPIUARTDriver.cpp AP_HAL_Linux: use millis/micros/panic functions 2015-11-20 12:31:04 +09:00
SPIUARTDriver.h AP_HAL_Linux: remove prefix from AP_HAL_Linux classes 2015-10-21 10:11:19 +11:00
Scheduler.cpp AP_HAL_Linux: Scheduler: bring back scheduler table 2016-02-12 23:42:34 -02:00
Scheduler.h AP_HAL_Linux: Scheduler: remove unused _in_io_proc 2016-02-12 23:42:34 -02:00
Semaphores.cpp AP_HAL_Linux: use millis/micros/panic functions 2015-11-20 12:31:04 +09:00
Semaphores.h AP_HAL_Linux: remove prefix from AP_HAL_Linux classes 2015-10-21 10:11:19 +11:00
SerialDevice.h AP_HAL_Linux: added SerialDevice interface 2015-07-29 08:36:05 +10:00
Storage.cpp AP_HAL_Linux: use millis/micros/panic functions 2015-11-20 12:31:04 +09:00
Storage.h AP_HAL_Linux: default USE_FRAM to 0 for all boards 2016-01-11 15:44:24 -02:00
Storage_FRAM.cpp AP_HAL_Linux: use millis/micros/panic functions 2015-11-20 12:31:04 +09:00
Storage_FRAM.h AP_HAL_Linux: remove prefix from AP_HAL_Linux classes 2015-10-21 10:11:19 +11:00
TCPServerDevice.cpp AP_HAL_Linux: use millis/micros/panic functions 2015-11-20 12:31:04 +09:00
TCPServerDevice.h AP_HAL_Linux: standardize inclusion of libaries headers 2015-08-18 17:12:51 +10:00
Thread.cpp AP_HAL_Linux: Thread: add PeriodicThread helper 2016-02-12 23:42:34 -02:00
Thread.h AP_HAL_Linux: Thread: add PeriodicThread helper 2016-02-12 23:42:34 -02:00
ToneAlarmDriver.cpp AP_HAL_Linux: use millis/micros/panic functions 2015-11-20 12:31:04 +09:00
ToneAlarmDriver.h AP_HAL_Linux: standardize inclusion of libaries headers 2015-08-11 16:28:43 +10:00
UARTDevice.cpp AP_HAL_Linux: standardize inclusion of libaries headers 2015-08-11 16:28:43 +10:00
UARTDevice.h AP_HAL_Linux: standardize inclusion of libaries headers 2015-08-18 17:12:51 +10:00
UARTDriver.cpp HAL_Linux: added qflight board subtype 2015-12-27 16:12:27 +11:00
UARTDriver.h HAL_Linux: added qflight board subtype 2015-12-27 16:12:27 +11:00
UARTQFlight.cpp HAL_Linux: added qflight board subtype 2015-12-27 16:12:27 +11:00
UARTQFlight.h HAL_Linux: added qflight board subtype 2015-12-27 16:12:27 +11:00
UDPDevice.cpp AP_HAL_Linux: standardize inclusion of libaries headers 2015-08-11 16:28:43 +10:00
UDPDevice.h AP_HAL_Linux: standardize inclusion of libaries headers 2015-08-18 17:12:51 +10:00
Util.cpp AP_HAL_Linux: Make RPI get_hw method public 2015-12-27 16:11:36 -02:00
Util.h AP_HAL_Linux: Make RPI get_hw method public 2015-12-27 16:11:36 -02:00
Util_RPI.cpp HAL_Linux: Util, add PXFmini support 2016-01-05 15:35:56 -02:00
Util_RPI.h AP_HAL_Linux: remove prefix from AP_HAL_Linux classes 2015-10-21 10:11:19 +11:00
VideoIn.cpp AP_HAL_Linux: Enable optical flow onboard for BBBMINI 2016-02-08 08:52:10 -02:00
VideoIn.h AP_HAL_Linux: add shrink_8bpp() to VideoIn 2016-01-15 16:05:47 -02:00
px4io_protocol.h AP_HAL_Linux: new files for raspilot 2015-09-14 14:22:16 +10:00
sbus.cpp HAL_Linux: fixed build warnings 2014-10-09 16:49:23 +11:00
sbus.h HAL_Linux: added SBUS decoder from PX4 project 2014-10-07 14:57:34 +11:00
system.cpp AP_HAL_Linux: implement new AP_HAL functions 2015-11-20 12:25:39 +09:00