ardupilot/libraries
Andrew Tridgell 9fc9238c53 AP_Compass: prevent saving of device IDs when not calibrated
this fixes an issue with the following sequence:

 - new board (or board with FORMAT_VERSION reset) starts up with only internal compasses
 - internal compasses are detected and devids saved
 - an external compass is added and the board is rebooted
 - the external compass will not be the first compass
 - user then calibrates and flies, but has internal as primary

this can lead to a very bad experience for new users. At least one
vehicle has crashed due to this sequence.

The fix is to not save device IDs during the Compass::init() if we
have never been calibrated. This means that when an external compass
is added it will come up as the first compass.

This also removes the saving of the extra device ID. It was never
intended that these be saved (there is a comment to that effect in the
code), but actually they were saved.
2023-10-31 10:14:42 +11:00
..
AC_AttitudeControl AC_AttitudeControl: Fix some typos 2023-10-12 18:30:42 +11:00
AC_Autorotation AC_Autorotation: Fix some typos 2023-10-12 18:30:42 +11:00
AC_AutoTune AC_AutoTune: Fix some typos 2023-10-12 18:30:42 +11:00
AC_Avoidance AC_Avoidance: Fix some typos 2023-10-12 18:30:42 +11:00
AC_CustomControl AC_CustomControl: Fix some typos 2023-10-12 18:30:42 +11:00
AC_Fence AC_Fence: Fix some typos 2023-10-12 18:30:42 +11:00
AC_InputManager
AC_PID AC_PID: If PD max limiting isn't active clear the flag 2023-10-17 10:14:45 +11:00
AC_PrecLand AC_PrecLand: Fix some typos 2023-10-12 18:30:42 +11:00
AC_Sprayer AC_Sprayer: Fix some typos 2023-10-12 18:30:42 +11:00
AC_WPNav AC_WPNav: Fix some typos 2023-10-12 18:30:42 +11:00
AP_AccelCal AP_AccelCal: Fix some typos 2023-10-12 18:30:42 +11:00
AP_ADC
AP_ADSB AP_ADSB: Fix some typos 2023-10-12 18:30:42 +11:00
AP_AdvancedFailsafe AP_AdvancedFailsafe: make GCS failsafe timeout a parameter 2023-09-13 18:06:28 +10:00
AP_AHRS AP_AHRS: Fix some typos 2023-10-12 18:30:42 +11:00
AP_Airspeed AP_Airspeed: Fix some typos 2023-10-12 18:30:42 +11:00
AP_AIS AP_AIS: Fix some typos 2023-10-12 18:30:42 +11:00
AP_Arming AP_Arming: Do not send a status text on state change 2023-10-25 09:39:51 -07:00
AP_Avoidance AP_Avoidance: Change division to multiplication 2023-10-05 08:19:14 +11:00
AP_Baro AP_Baro: Fix some typos 2023-10-12 18:30:42 +11:00
AP_BattMonitor AP_BattMonitor: added get_cell_voltage() for scripting 2023-10-25 07:31:24 +11:00
AP_Beacon AP_Beacon: fix example when Beacon not available 2023-10-17 18:21:04 +11:00
AP_BLHeli AP_BLHeli: Fix some typos 2023-10-12 18:30:42 +11:00
AP_BoardConfig AP_BoardConfig: Fix some typos 2023-10-12 18:30:42 +11:00
AP_Button AP_Button: allow more libraries to compile with no HAL_GCS_ENABLED 2023-09-05 22:23:51 +10:00
AP_Camera AP_Camera: Fix some typos 2023-10-12 18:30:42 +11:00
AP_CANManager AP_CANManager: Fix some typos 2023-10-12 18:30:42 +11:00
AP_CheckFirmware AP_CheckFirmware: fixed error code for bad firmware 2023-07-09 18:11:54 +10:00
AP_Common AP_Common: Fix some typos 2023-10-12 18:30:42 +11:00
AP_Compass AP_Compass: prevent saving of device IDs when not calibrated 2023-10-31 10:14:42 +11:00
AP_CSVReader
AP_CustomRotations
AP_DAL AP_DAL: Fix some typos 2023-10-12 18:30:42 +11:00
AP_DDS AP_DDS: revert change that removed namespace for TF subscriber topic 2023-10-28 10:31:46 +11:00
AP_Declination
AP_Devo_Telem
AP_DroneCAN AP_DroneCAN: Fix some typos 2023-10-12 18:30:42 +11:00
AP_EFI AP_EFI: Fix some typos 2023-10-12 18:30:42 +11:00
AP_ESC_Telem AP_ESC_Telem: Fix some typos 2023-10-12 18:30:42 +11:00
AP_ExternalAHRS AP_ExternalAHRS: Fix some typos 2023-10-12 18:30:42 +11:00
AP_ExternalControl AP_ExternalControl: external control library for MAVLink,lua and DDS 2023-08-22 18:21:23 +10:00
AP_FETtecOneWire AP_FETtecOneWire: fixed build on periph 2023-08-24 13:06:40 +10:00
AP_Filesystem AP_Filesystem: Fix some typos 2023-10-12 18:30:42 +11:00
AP_FlashIface AP_FlashIface: Fix some typos 2023-10-12 18:30:42 +11:00
AP_FlashStorage AP_FlashStorage: Fix some typos 2023-10-12 18:30:42 +11:00
AP_Follow AP_Follow: Fix some typos 2023-10-12 18:30:42 +11:00
AP_Frsky_Telem AP_Frsky_Telem: Fix some typos 2023-10-12 18:30:42 +11:00
AP_Generator AP_Generator: Fix some typos 2023-10-12 18:30:42 +11:00
AP_GPS AP_GPS: Fix some typos 2023-10-12 18:30:42 +11:00
AP_Gripper AP_Gripper: Fix some typos 2023-10-12 18:30:42 +11:00
AP_GyroFFT AP_GyroFFT: Fix some typos 2023-10-12 18:30:42 +11:00
AP_HAL AP_HAL: move AP_BOOTLOADER_FLASHING_ENABLED default to AP_HAL 2023-10-27 14:16:47 +11:00
AP_HAL_ChibiOS hwdef: minimize_features on mini-pix, not minimize_fpv_osd 2023-10-31 09:13:01 +11:00
AP_HAL_Empty AP_HAL_Empty: moved UART port locking up to AP_HAL 2023-07-12 17:06:02 +10:00
AP_HAL_ESP32 AP_HAL_ESP32: update esp32empty 2023-09-02 09:43:14 +10:00
AP_HAL_Linux HAL_Linux: use the AP_RCProtocol sbus decoder for Linux 2023-10-13 09:42:25 +11:00
AP_HAL_SITL AP_HAL_SITL: add Sagetech MXS simulator 2023-10-25 20:06:47 +11:00
AP_Hott_Telem AP_Hott_Telem: allow for compilation without AP_RTC_ENABLED 2023-10-11 19:17:27 +11:00
AP_ICEngine AP_ICEngine:update OPTIONS metadata 2023-10-28 15:30:31 +11:00
AP_InertialNav AP_InertialNav: clarify get_vert_pos_rate AHRS method name to include 'D' 2023-06-06 20:09:28 +10:00
AP_InertialSensor AP_InertialSensor: apply stuck gyro fix to all IxM42xxx sensors 2023-10-29 08:24:04 +11:00
AP_InternalError AP_InternalError: improve gating of use of AP_InternalError library 2023-08-17 09:16:46 +10:00
AP_IOMCU AP_IOMCU: fix eventing mask and some minor cleanups 2023-08-15 06:53:48 +10:00
AP_IRLock
AP_JSButton AP_JSButton: reserve 4 button functions for script access 2023-09-27 08:14:36 +10:00
AP_KDECAN AP_KDECAN: move and rename CAN Driver_Type enumeration 2023-04-20 08:53:46 +10:00
AP_L1_Control AP_L1_Control: check vehicle yaw (heading) and ground track agree 2023-09-05 10:07:14 +10:00
AP_Landing AP_Landing: trim LogStructure base off included code 2023-08-01 10:07:28 +10:00
AP_LandingGear AP_LandingGear: avoid use of MINIMIZE_FEATURES in AP_LandingGear_config.h 2023-08-01 10:44:59 +10:00
AP_LeakDetector
AP_Logger AP_Logger: added build directory to VER message 2023-10-13 15:13:10 +11:00
AP_LTM_Telem AP_LTM_Telem: use minimize_features.inc for more features 2023-06-06 10:14:02 +10:00
AP_Math AP_Math: add CRC8_generic method 2023-10-05 08:23:00 +11:00
AP_Menu
AP_Mission AP_Mission: correct incorrect comment about method reutrn value 2023-10-28 10:14:50 +02:00
AP_Module
AP_Motors AP_Motors: Add a seprate spool down time, if it's 0 use spool up time 2023-10-03 08:04:56 +09:00
AP_Mount AP_Mount: Remove handler for DO_SET_ROI_NONE 2023-10-30 08:28:23 +09:00
AP_MSP AP_MSP: add and use an AP_RTC_config.h 2023-10-11 19:17:27 +11:00
AP_NavEKF AP_NavEKF: fallback to no baro on boards that have no baro 2023-08-23 18:25:26 +10:00
AP_NavEKF2 AP_NavEKF2: fixed velocity reset on AID_NONE 2023-06-26 18:09:31 +10:00
AP_NavEKF3 AP_NavEKF3: do not use fmaxF on floating point values 2023-09-12 09:47:17 +10:00
AP_Navigation
AP_Networking Update libraries/AP_Networking/AP_Networking.cpp 2023-08-22 09:25:42 -07:00
AP_NMEA_Output AP_NMEA_Output: allow for compilation without AP_RTC_ENABLED 2023-10-11 19:17:27 +11:00
AP_Notify AP_Notify: add support for NeoPixelRGB via set_num_neopixel_rgb() 2023-10-04 18:06:17 +11:00
AP_OLC AP_OLC: add unit tests 2023-10-04 19:00:34 +11:00
AP_ONVIF
AP_OpenDroneID AP_OpenDroneID: remove duplicate definition of AP_OPENDRONEID_ENABLED 2023-10-14 09:19:45 +11:00
AP_OpticalFlow AP_OpticalFlow: allow more libraries to compile with no HAL_GCS_ENABLED 2023-09-05 22:23:51 +10:00
AP_OSD AP_OSD: allow for compilation without AP_RTC_ENABLED 2023-10-11 19:17:27 +11:00
AP_Parachute AP_Parachute: allow more libraries to compile with no HAL_GCS_ENABLED 2023-09-05 22:23:51 +10:00
AP_Param AP_Param: Allow override of AP_PARAM_DYNAMIC_ENABLED define 2023-10-17 10:23:20 +11:00
AP_PiccoloCAN AP_PiccoloCAN: allow more libraries to compile with no HAL_GCS_ENABLED 2023-09-05 22:23:51 +10:00
AP_Proximity AP_Proximity: Minor fixes to LD06 driver 2023-10-05 08:23:00 +11:00
AP_Radio
AP_Rally AP_Rally: allow more libraries to compile with no HAL_GCS_ENABLED 2023-09-05 22:23:51 +10:00
AP_RAMTRON
AP_RangeFinder AP_RangeFinder: Remove unnecessary whitespace(NFC) 2023-10-30 07:16:54 +09:00
AP_RCMapper
AP_RCProtocol AP_RCProtocol: prevent decoding past end of output array 2023-10-13 09:42:25 +11:00
AP_RCTelemetry AP_RCTelemetry: allow for compilation without AP_RTC_ENABLED 2023-10-11 19:17:27 +11:00
AP_Relay AP_Relay: check enabled relay mask for passing relay outputs to hardware 2023-09-11 12:21:13 +10:00
AP_RobotisServo libraries: fix delay after subsequent Robotis servo detections 2023-08-04 08:55:55 +10:00
AP_ROMFS
AP_RPM AP_RPM: include backend header 2023-08-22 09:09:54 +10:00
AP_RSSI AP_RSSI: allow more libraries to compile with no HAL_GCS_ENABLED 2023-09-05 22:23:51 +10:00
AP_RTC AP_RTC: remove code if AP_RTC_ENABLED is false 2023-10-11 19:17:27 +11:00
AP_SBusOut AP_SBusOut: make sbus output exactly match sbus input decoding 2023-10-13 09:42:25 +11:00
AP_Scheduler AP_Scheduler: allow more libraries to compile with no HAL_GCS_ENABLED 2023-09-05 22:23:51 +10:00
AP_Scripting AP_Scripting: added get_cell_voltage() API and arming check example 2023-10-25 07:31:24 +11:00
AP_SerialLED AP_SerialLED: add support for NeoPixelRGB via set_num_neopixel_rgb() 2023-10-04 18:06:17 +11:00
AP_SerialManager AP_SerialManager: only enable configuration ports that are available 2023-09-26 11:31:08 +10:00
AP_ServoRelayEvents AP_ServoRelayEvents: allow mavlink command of rcin scaled functions 2023-10-17 10:32:39 +11:00
AP_SmartRTL AP_SmartRTL: fix disable if second point fails to add 2023-09-19 08:01:47 +09:00
AP_Soaring
AP_Stats AP_Stats: add and use an AP_RTC_config.h 2023-10-11 19:17:27 +11:00
AP_TECS AP_TECS: log SKE weight since both weights are now [0,1] 2023-10-24 10:44:12 +11:00
AP_TempCalibration
AP_TemperatureSensor AP_TempratureSensor: add support for analog sensor with polynomial 2023-10-04 18:28:09 +11:00
AP_Terrain AP_Terrain: fixed build for periph 2023-08-24 13:06:40 +10:00
AP_Torqeedo AP_Torqeedo: error code reporting fix 2023-09-12 08:44:39 +10:00
AP_Tuning AP_Tuning: add and use AP_TUNING_ENABLED 2023-09-21 07:07:58 +10:00
AP_Vehicle AP_Vehicle: standardise AP_DDS message prefix 2023-10-20 07:06:13 +11:00
AP_VideoTX AP_VideoTX:add additional freq bands 2023-09-13 18:05:24 +10:00
AP_VisualOdom AP_VisualOdom: visualodom requires DCM to work 2023-09-27 08:00:54 +10:00
AP_Volz_Protocol
AP_WheelEncoder AP_WheelEncoder: Support PD Max 2023-09-26 10:41:05 +10:00
AP_Winch AP_Winch: Make healthy strings common 2023-10-09 17:06:59 +09:00
AP_WindVane AP_WindVane: Change from DOS to UNIX line endings 2023-09-08 17:09:26 +10:00
APM_Control APM_Control: Support PD Max 2023-09-26 10:41:05 +10:00
AR_Motors AP_MotorsUGV: add asymmetry factor for skid-steering 2023-08-22 09:14:42 +09:00
AR_WPNav
doc
Filter Flter: notchfilter: remove unneeded value and pre-multiply for speed 2023-10-17 10:03:43 +11:00
GCS_MAVLink GCS_MAVLink: Make handler for DO_SET_ROI_NONE common 2023-10-30 08:28:23 +09:00
PID
RC_Channel RC_Channel: added VFWD_THR_OVERRIDE 2023-09-27 11:43:45 +10:00
SITL SITL: added SIM_MAG_SAVE_IDS 2023-10-31 10:14:42 +11:00
SRV_Channel SRV_Channel: expose public function to convert scaled value to pwm 2023-10-17 10:32:39 +11:00
StorageManager
COLCON_IGNORE Tools: add COLCON_IGNORE to modules and libraries 2023-04-19 18:34:15 +10:00