ardupilot/libraries
Julien BERAUD f8f2833c88 AP_HAL_Linux: use I2C_SLAVE_FORCE in case of error
When there is already a driver registered on an i2c bus, the I2C_SLAVE ioctl
returns an error.
When it happens, it is better to display a warning and try to force the address.
It is especially useful on the bebop when killing the regular autopilot that uses
iio drivers to access the imu because else we would need to manually unbind the
driver in an init procedure.

I have added a warning because this error can also be resulting of another cause.
If the error is not EBUSY, then panic

If the I2C_SLAVE_FORCE ioctl fails then we panic because one of the i2c devices
won't be working properly.
2015-11-13 21:20:13 +11:00
..
AC_AttitudeControl AC_AttitudeControl_Heli: Add Hover Roll Trim Scalar 2015-11-12 19:37:35 +09:00
AC_Fence Remove use of PROGMEM 2015-10-30 14:35:16 +09:00
AC_InputManager AC_InputManager: Initial class creation 2015-11-12 19:37:21 +09:00
AC_PID AC_HELI_PID: Add Leak-Min param and functionality. 2015-11-12 19:37:20 +09:00
AC_PrecLand AC_PrecLand: init members to resolve compile warning 2015-11-12 14:43:38 +09:00
AC_Sprayer Remove use of PROGMEM 2015-10-30 14:35:16 +09:00
AC_WPNav Remove use of PROGMEM 2015-10-30 14:35:16 +09:00
AP_ADC AP_ADC: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:11 +11:00
AP_ADC_AnalogSource AP_ADC_AnalogSource: standardize inclusion of libaries headers 2015-08-11 16:28:41 +10:00
AP_AHRS AP_AHRS: Support changes to EKF2 interfaces that specify the instance 2015-11-08 15:37:28 +11:00
AP_Airspeed AP_Airspeed: show health status in examples 2015-11-05 16:09:00 +11:00
AP_Arming AP_Arming: status text severity to INFO 2015-11-10 13:11:36 +09:00
AP_Baro AP_Baro: MS5611: remove empty statement 2015-11-11 13:48:48 +11:00
AP_BattMonitor AP_BattMonitor: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:11 +11:00
AP_BoardConfig AP_BoardConfig: fixed PX4v1 build 2015-11-06 17:10:08 +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: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:11 +11:00
AP_Common AP_Common: rename is_bounded() to is_bounded_int32() and make inclusive 2015-11-11 13:45:05 +11:00
AP_Compass AP_InertialSensor: Add HAL_COMPASS_AK8963_MPU9250_I2C to _detect_backends() 2015-11-11 14:29:07 +11:00
AP_Curve AP_Curve: remove wrong comment about PSTR 2015-10-30 14:35:49 +09:00
AP_Declination Minimize AP_Progmem.h includes 2015-10-30 14:35:32 +09:00
AP_EPM Remove use of PROGMEM 2015-10-30 14:35:16 +09:00
AP_Frsky_Telem AP_Frsky_Telem: standardize inclusion of libaries headers 2015-08-11 16:28:43 +10:00
AP_GPS AP_GPS:UBLOX: send save cfg msg once per 5s and 5 times only 2015-11-10 15:16:55 +11:00
AP_HAL AP_HAL: HAL_COMPASS_AK8963_MPU9250_I2C to the supported list 2015-11-11 14:29:07 +11:00
AP_HAL_AVR Remove AP_HAL_AVR 2015-11-04 12:14:11 +11:00
AP_HAL_Empty Replace prog_char and prog_char_t with char 2015-10-30 14:35:30 +09:00
AP_HAL_FLYMAPLE AP_HAL_FLYMAPLE: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:11 +11:00
AP_HAL_Linux AP_HAL_Linux: use I2C_SLAVE_FORCE in case of error 2015-11-13 21:20:13 +11:00
AP_HAL_PX4 HAL_PX4: make available_memory() uint32_t 2015-11-05 16:09:00 +11:00
AP_HAL_SITL HAL_SITL: make available_memory() uint32_t 2015-11-05 16:09:00 +11:00
AP_HAL_VRBRAIN AP_HAL_VRBRAIN: fix typo using comma operator 2015-11-05 15:48:32 -02:00
AP_InertialNav AP_InertialNav: Address peer review comments 2015-10-20 15:21:36 +11:00
AP_InertialSensor AP_InertialSensor: Make detect_backends() public 2015-11-11 14:29:07 +11:00
AP_IRLock IRLock: replace tabs with spaces 2015-08-31 18:00:33 +09:00
AP_L1_Control AP_L1_Control: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:12 +11:00
AP_LandingGear Remove use of PROGMEM 2015-10-30 14:35:16 +09:00
AP_Limits Replace prog_char and prog_char_t with char 2015-10-30 14:35:30 +09:00
AP_Math AP_Math: Add functions to convert microseconds to/from nanoseconds 2015-11-10 17:05:34 +11:00
AP_Menu AP_Menu: fix wrong printf format for printf 2015-10-30 14:35:41 +09:00
AP_Mission AP_Mission: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:12 +11:00
AP_Motors AP_MotorsHeli_Single: Move Servo_Test static variables to be class members 2015-11-12 19:37:37 +09:00
AP_Mount AP_Mount: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:12 +11:00
AP_NavEKF AP_NavEKF: Prevent front-end from returning uninitialised data (garbage) 2015-11-09 15:56:45 +11:00
AP_NavEKF2 AP_NavEKF2: Allow user to relax pre-flight GPS checks 2015-11-12 20:39:15 +11:00
AP_Navigation AP_Navigation: standardize inclusion of libaries headers 2015-08-11 16:38:20 +10:00
AP_Notify AP_Notify: Add support for Erle-Brain 2 2015-11-04 13:58:24 +11:00
AP_OpticalFlow AP_OpticalFlow: reduce lock region 2015-11-05 16:12:03 +09:00
AP_Parachute AP_Parachute: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:12 +11:00
AP_Param AP_Param: copter with vectors when sending parameters 2015-11-09 14:28:20 +11:00
AP_PerfMon Minimize AP_Progmem.h includes 2015-10-30 14:35:32 +09:00
AP_Progmem AP_Progmem: remove dead code 2015-10-30 14:35:47 +09:00
AP_Rally Remove use of PROGMEM 2015-10-30 14:35:16 +09:00
AP_RangeFinder AP_RangeFinder: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11:00
AP_RCMapper Remove use of PROGMEM 2015-10-30 14:35:16 +09:00
AP_Relay AP_Relay: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11:00
AP_RPM Remove use of PROGMEM 2015-10-30 14:35:16 +09:00
AP_RSSI Remove use of PROGMEM 2015-10-30 14:35:16 +09:00
AP_Scheduler Minimize AP_Progmem.h includes 2015-10-30 14:35:32 +09: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: 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 Remove use of PROGMEM 2015-10-30 14:35:16 +09:00
AP_Terrain AP_Terrain: cache status 2015-11-09 08:36:41 +11:00
AP_Vehicle AP_Vehicle: standardize inclusion of libaries headers 2015-08-11 16:38:24 +10:00
APM_Control Minimize AP_Progmem.h includes 2015-10-30 14:35:32 +09:00
APM_OBC APM_OBC: status text severity to INFO or ERROR 2015-11-10 13:11:38 +09:00
APM_PI Remove use of PROGMEM 2015-10-30 14:35:16 +09:00
DataFlash DataFlash_File: cache oldest log to avoid directory scans when downloading 2015-11-12 12:23:46 +11:00
doc Checking these in makes the libraries too bulky. We need to host them somewhere. 2011-01-04 06:22:02 +00:00
Filter Filter: remove filter with double type 2015-11-10 12:43:21 +09:00
GCS_Console GCS_Console: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11:00
GCS_MAVLink GCS_MAVLink: fixed corner case in MAVLink routing 2015-11-13 13:38:53 +11:00
PID Replace use of UARTDriver::printf_P() with UARTDriver::printf() 2015-10-30 14:35:25 +09:00
RC_Channel RC_Channel: Add motor_run_enable aux function 2015-11-12 19:37:27 +09:00
SITL SITL: Helicopter parameter updates 2015-11-12 19:37:38 +09:00
StorageManager StorageManager: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11:00