ardupilot/libraries
Lucas De Marchi 61ef653181 AP_HAL_Linux: implement SPIDevice
The way this code is structured is a little bit different from the
SPIDriver implementation:

 - We only open the bus once, no matter how many devices we have in it

 - There's a single transfer() method which uses half-duplex mode
   instead of full duplex. The reason is that for all cases in the
   codebase we are using half-duplex transfers using the full-duplex
   API, i.e. a single SPI msg with both tx and rx buffers. This is
   cumbersome because the buffers need to be of the same size and the
   receive buffer using an offset of the same length as the actux data
   being written. This means the high level APIs need to copy buffers
   around.

   If later we have uses for a real full duplex case it's just a matter
   of adding another transfer_fullduplex() method or something like
   this.

 - The methods are implemented in the SPIDevice class instead of having
   proxy methods to SPIDeviceManager as is the case of SPIDriver

Also from now on we refer to the SPIDriver objects as "descriptors"
because they have the parameters of each device in the
SPIDeviceManager::devices[] table. When SPIDeviceDriver is completely
replaced we can rename them to SPIDeviceProperties.
2016-02-16 19:49:09 -02:00
..
AC_AttitudeControl AC_AttControl: bug fix to angle_boost reporting 2016-01-08 10:48:59 +09:00
AC_Fence Global: rename min and max macros to uppercase 2015-12-01 16:28:09 -02:00
AC_InputManager AC_InputManager: Initial class creation 2015-11-12 19:37:21 +09:00
AC_PID waf: ardupilotwaf: prefix build context methods with ap_ 2016-01-22 20:10:29 -02:00
AC_PrecLand AC_PrecLand: add missing parameter description 2016-01-07 17:35:18 +09:00
AC_Sprayer Global: rename min and max macros to uppercase 2015-12-01 16:28:09 -02:00
AC_WPNav AC_WPNav: call renamed functions in AC_AttitudeControl 2015-12-09 19:58:50 +09:00
AP_AccelCal AP_AccelCal: make client list static 2016-01-23 10:35:33 +09:00
AP_ADC AP_ADC: ADS1115: coding style fixes 2016-02-01 14:18:51 -02:00
AP_ADSB AP_ADSB: added guided mode handling 2015-12-31 15:36:49 +11:00
AP_AHRS AP_AHRS: add get_mag_field_NED and get_mag_field_correction 2016-01-23 10:35:36 +09:00
AP_Airspeed waf: ardupilotwaf: prefix build context methods with ap_ 2016-01-22 20:10:29 -02:00
AP_Arming AP_Arming: allow unconfigured GPS in SITL arming checks 2016-02-15 07:49:19 +11:00
AP_Baro AP_Baro: tolerate GND_ALT_OFFSET step inputs 2016-02-08 21:13:58 -08:00
AP_BattMonitor AP_BattMonitor: correct names of #defines 2016-01-30 12:48:19 -02:00
AP_BoardConfig AP_BoardConfig: fix invalid Range meta data 2015-12-27 16:10:44 +11:00
AP_Buffer AP_Buffer: change pop_front to return a bool if successful 2014-10-20 08:26:14 +11:00
AP_Camera AP_Camera: make AP_Camera::control() return bool for picture trigger 2016-01-29 09:31:40 +11:00
AP_Common AP_Common: add directory to add missing C/C++ symbols 2016-02-16 19:49:08 -02:00
AP_Compass AP_Compass: AK8963: remove logging on fail to get semaphore 2016-02-08 13:28:32 -02:00
AP_Declination waf: ardupilotwaf: prefix build context methods with ap_ 2016-01-22 20:10:29 -02:00
AP_EPM AP_EPM: use millis/micros/panic functions 2015-11-20 12:30:34 +09:00
AP_Frsky_Telem AP_FrSkyTelem: use millis/micros/panic functions 2015-11-20 12:30:41 +09:00
AP_GPS AP_GPS: save cfg only when needed 2016-02-12 15:33:33 -08:00
AP_HAL AP_HAL: add interface for SPIDevice devices 2016-02-16 19:49:09 -02:00
AP_HAL_AVR waf: ardupilotwaf: prefix build context methods with ap_ 2016-01-22 20:10:29 -02:00
AP_HAL_Empty AP_HAL_Empty: implement SPIDevice 2016-02-16 19:49:09 -02:00
AP_HAL_FLYMAPLE AP_HAL_FLYMAPLE: fix constructor after I2CDevice 2016-02-16 19:49:09 -02:00
AP_HAL_Linux AP_HAL_Linux: implement SPIDevice 2016-02-16 19:49:09 -02:00
AP_HAL_PX4 AP_HAL_PX4: use empty I2CDevice 2016-02-16 19:49:09 -02:00
AP_HAL_QURT HAL_QURT: fixed for addition of i2c manager 2016-02-16 19:49:09 -02:00
AP_HAL_SITL AP_HAL_SITL: use empty I2CDevice 2016-02-16 19:49:09 -02:00
AP_HAL_VRBRAIN AP_HAL_VRBRAIN: use empty I2CDevice 2016-02-16 19:49:09 -02:00
AP_InertialNav AP_InertialNav: Typo correction in comment 2015-12-19 10:11:35 +09:00
AP_InertialSensor AP_InertialSensor: LSM9DS0: sanitize whitespaces 2016-02-01 14:18:51 -02:00
AP_IRLock AP_IRLock: use millis/micros/panic functions 2015-11-20 12:31:35 +09:00
AP_L1_Control AP_L1_Control: calculate dt for crosstracking 2016-01-19 11:05:56 +11:00
AP_LandingGear Remove use of PROGMEM 2015-10-30 14:35:16 +09:00
AP_Math waf: ardupilotwaf: prefix build context methods with ap_ 2016-01-22 20:10:29 -02:00
AP_Menu AP_Menu: stop using Progmem.h 2015-12-27 15:58:12 -02:00
AP_Mission waf: ardupilotwaf: prefix build context methods with ap_ 2016-01-22 20:10:29 -02:00
AP_Motors AP_Motors: add AP_MOTORS_DENSITY_COMP_DISABLED option 2016-01-27 09:18:09 +09:00
AP_Mount AP_Mount: remove redundant include dependant on bad #define 2016-01-30 12:48:05 -02:00
AP_NavEKF AP_NavEKF: Send correct data over mavlink status message 2016-02-01 10:02:20 +09:00
AP_NavEKF2 AP_NavEKF2: Send correct data over mavlink status message 2016-02-01 10:02:22 +09:00
AP_Navigation AP_Navigation: standardize inclusion of libaries headers 2015-08-11 16:38:20 +10:00
AP_Notify AP_Notify: sanitize includes 2016-02-01 14:18:51 -02:00
AP_OpticalFlow AP_OpticalFlow: Enable optical flow onboard for BBBMINI 2016-02-08 08:52:10 -02:00
AP_Parachute waf: ardupilotwaf: prefix build context methods with ap_ 2016-01-22 20:10:29 -02:00
AP_Param AP_Param: Fix warning 2016-02-15 15:48:35 -02:00
AP_Rally AP_Rally: use millis/micros/panic functions 2015-11-20 12:34:04 +09:00
AP_RangeFinder AP_RangeFinder: For LightWareSerial, write 'd' to support more devices 2016-02-14 16:05:50 -08:00
AP_RCMapper Remove use of PROGMEM 2015-10-30 14:35:16 +09:00
AP_Relay AP_Relay: don't default to using two PWMs as relays on FMUv4 2015-11-27 18:54:31 +11:00
AP_RPM AP_RPM: Move timeout check into synthetic quality check. 2015-12-08 08:25:19 +11:00
AP_RSSI Remove use of PROGMEM 2015-10-30 14:35:16 +09:00
AP_Scheduler waf: ardupilotwaf: prefix build context methods with ap_ 2016-01-22 20:10:29 -02:00
AP_SerialManager AP_SerialManager: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11:00
AP_ServoRelayEvents AP_ServoRelayEvents: use millis/micros/panic functions 2015-11-20 12:34:39 +09:00
AP_SpdHgtControl AP_SpdHgtControl: 2/3 Land Sink Rate Change 2016-02-12 11:39:12 -08:00
AP_TECS AP_TECS: change order of update_speed() so it's not using the previous EAS_dem 2016-02-12 13:23:02 -08:00
AP_Terrain AP_Terrain: libraries_Text_revision 2015-11-26 08:10:15 +11:00
AP_Vehicle AP_Vehicle: new params for pre-flare 2016-02-09 14:18:02 +11:00
APM_Control APM_Control: stop using Progmem.h 2015-12-27 15:58:12 -02:00
APM_OBC APM_OBC: use millis/micros/panic functions 2015-11-20 12:28:28 +09:00
DataFlash DataFlash: correct use of #defines 2016-01-30 12:46:25 -02:00
doc
Filter waf: ardupilotwaf: prefix build context methods with ap_ 2016-01-22 20:10:29 -02:00
GCS_Console waf: ardupilotwaf: prefix build context methods with ap_ 2016-01-22 20:10:29 -02:00
GCS_MAVLink GCS_MAVLink: add messages to routing switch statement 2016-01-23 10:35:44 +09:00
PID PID: add parameter descriptions 2016-02-08 20:42:35 +09:00
RC_Channel waf: ardupilotwaf: prefix build context methods with ap_ 2016-01-22 20:10:29 -02:00
SITL SITL: add reverse thrust to Plane Sim 2016-02-09 14:18:01 +11:00
StorageManager waf: ardupilotwaf: prefix build context methods with ap_ 2016-01-22 20:10:29 -02:00