ardupilot/libraries
Andrew Tridgell a48f0ef90d HAL_ChibiOS: reduce the impact of UART DMA contention
this changes the heuristics for UART TX DMA allocation to greatly
reduce the chances of DMA contention causing long delays on other
devices

This fixes issues with FETTec driver output and gimbal status messages
as reported by Amilcar and OlliW. The problem is particularly bad when
no GPS is connected to GPS1 on fmuv3 and derived boards (such as
CubeBlack)

key changes:

 - remember the contention_counter across begin() calls, as the GPS
   calls begin with new baudrates regularly

 - added a is_shared() API to Shared_DMA, allowing the UART driver to
   avoid TX DMA on shared streams when at low baudrates.
2021-09-10 14:08:46 +09:00
..
AC_AttitudeControl AC_AttitudeControl: apply EKF Z gain scaler 2021-08-28 17:10:29 +09:00
AC_AutoTune AC_AutoTune: remove @Values from param metadata where @Bitmask exists 2021-06-23 18:37:34 +10:00
AC_Autorotation AC_Autorotation: Add copter vehicle type to flight log metadata 2021-02-08 22:09:49 -05:00
AC_Avoidance AC_Avoid: use proximity_avoidance_enabled function 2021-08-14 11:05:38 +09:00
AC_Fence AC_Fence: remove @Values from param metadata where @Bitmask exists 2021-06-23 18:37:34 +10:00
AC_InputManager
AC_PID AC_PID: fix PID filter names FILT -> FLTE, D_FILT -> FLTD 2021-08-14 11:05:37 +09:00
AC_PrecLand AC_PrecLand: convert SITL backends to double precision position 2021-06-24 21:34:30 +10:00
AC_Sprayer
AC_WPNav AC_WPNav: Fix Jerk units 2021-08-28 17:10:29 +09:00
APM_Control APM_Control: new autotune scheme 2021-08-28 17:10:29 +09:00
AP_ADC
AP_ADSB AP_ADSB: remove @Values from param metadata where @Bitmask exists 2021-06-23 18:37:34 +10:00
AP_AHRS AP_AHRS: constrain airspeed sensor airspeed using WIND_MAX 2021-08-28 17:10:29 +09:00
AP_AccelCal AP_AccelCal: rename from review feedback 2021-01-21 13:09:21 +11:00
AP_AdvancedFailsafe AP_AdvancedFailsafe: move handling of last-seen-SYSID_MYGCS up to GCS base class 2021-04-07 17:54:21 +10:00
AP_Airspeed AP_Airspeed: add rc channel option to disable all airspeed sensors 2021-06-23 15:13:13 +10:00
AP_Arming AP_Arming: remove @Values from param metadata where @Bitmask exists 2021-06-23 18:37:34 +10:00
AP_Avoidance AP_Avoidance: Add missing const in member functions 2021-02-03 18:45:14 +11:00
AP_BLHeli AP_BLHeli: ensure correct rotation through telemetry ESCs 2021-07-23 10:19:49 +09:00
AP_Baro AP_Baro: fix externalAHRS detection 2021-08-28 17:10:29 +09:00
AP_BattMonitor AP_BattMonitor: use separate register_driver method while contructing CAN Driver 2021-08-14 11:05:37 +09:00
AP_Beacon AP_Beacon: fix comparison order to prevent using wrong beacon_instance first 2021-08-14 11:05:38 +09:00
AP_BoardConfig AP_BoardConfig: remove @Values from param metadata where @Bitmask exists 2021-06-23 18:37:34 +10:00
AP_Button AP_Button: log auxillary function invocations 2021-04-29 13:00:40 +10:00
AP_CANManager AP_CANSensor: create a separate register driver method 2021-08-14 11:05:37 +09:00
AP_Camera AP_Camera: support RunCam Hybrid correctly 2021-06-09 17:04:27 +10:00
AP_Common AP_Common: add Location::linear_interpolate_alt 2021-07-23 10:19:49 +09:00
AP_Compass AP_Compass: fix externalAHRS detection 2021-08-28 17:10:29 +09:00
AP_DAL AP_DAL: fixed a bug in RMGH logging 2021-09-10 14:08:46 +09:00
AP_Declination AP_Declination: added a test suite for AP_Declination 2021-09-10 14:08:46 +09:00
AP_Devo_Telem
AP_EFI AP_EFI: use separate register_driver method while contructing CAN Driver 2021-08-14 11:05:37 +09:00
AP_ESC_Telem AP_ESC_Telem: prevent possible overrun 2021-08-14 11:05:38 +09:00
AP_ExternalAHRS AP_ExternalAHRS: remove message when EAHRS_TYPE is None 2021-04-14 14:46:03 +10:00
AP_Filesystem AP_Filesystem: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-24 09:02:42 +10:00
AP_FlashStorage Docs: Change all references from dev.ardupilot.org to the appropriate documentation URLs. 2021-05-31 12:20:45 +10:00
AP_Follow
AP_Frsky_Telem AP_Frsky_Telem: added a parameter to set the default FRSky sensor ID for passthrough telemetry 2021-06-03 13:58:55 +10:00
AP_GPS AP_GPS: added doc message for bit 2 of DRV_OPTIONS 2021-08-14 11:05:37 +09:00
AP_Generator AP_Generator: Simplify boolean expression 2021-02-23 10:30:05 +11:00
AP_Gripper
AP_GyroFFT AP_GyroFFT: Add missing const in member functions 2021-02-03 18:45:14 +11:00
AP_HAL AP_HAL: added serial option for disabling FIFO on uarts 2021-07-23 10:19:47 +09:00
AP_HAL_ChibiOS HAL_ChibiOS: reduce the impact of UART DMA contention 2021-09-10 14:08:46 +09:00
AP_HAL_Empty HAL_Empty: implement uart_info() 2021-06-05 18:52:33 +10:00
AP_HAL_Linux AP_HAL_Linux: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-24 09:02:42 +10:00
AP_HAL_SITL HAL_SITL: update for changed SITL API 2021-07-23 10:19:46 +09:00
AP_Hott_Telem AP_Hott_Telem: use GPS single-char representation of fix type 2021-02-18 08:59:23 +11:00
AP_ICEngine AP_ICEngine: add note about ICE_STARTCHN_MIN param 2021-05-11 09:12:05 +10:00
AP_IOMCU AP_IOMCU: fixed a safety reset case for IOMCU reset 2021-05-25 12:14:01 +10:00
AP_IRLock AP_IRLock: convert SITL backends to double precision position 2021-06-24 21:34:30 +10:00
AP_InertialNav
AP_InertialSensor AP_InertialSensor: fixed locking issue in delta accumulation 2021-09-10 14:08:46 +09:00
AP_InternalError AP_InternalError: specify size for error_t 2021-06-13 08:41:25 +10:00
AP_JSButton
AP_KDECAN AP_KDECAN: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-24 09:02:42 +10:00
AP_L1_Control AP_L1_Control: Add missing const in member functions 2021-02-03 18:45:14 +11:00
AP_LTM_Telem AP_LTM_Telem: get airspeed sensor from singleton not AHRS object 2020-12-07 15:57:28 -08:00
AP_Landing AP_Landing: fix advanced param metadata 2021-05-25 12:36:59 +10:00
AP_LandingGear AP_LandingGear: remove @Values from param metadata where @Bitmask exists 2021-06-23 18:37:34 +10:00
AP_LeakDetector AP_LeakDetector: update leak pin for navigator r3 2021-04-07 15:08:18 -04:00
AP_Logger AP_Logger: fixed log creation on forced arm 2021-07-23 10:19:45 +09:00
AP_MSP AP_MSP: Telem_Backend: do not round vertical speed to 1m/s 2021-05-26 18:33:27 +10:00
AP_Math AP_Math: fixed expo_curve() 2021-08-28 17:10:29 +09:00
AP_Menu
AP_Mission AP_Mission: Cleanup the header to reduce flash cost 2021-06-22 10:08:02 +10:00
AP_Module AP_Module: fix example 2021-03-03 18:07:38 +11:00
AP_Motors AP_Motors: remove tri yaw servo from motor mask 2021-08-14 11:05:37 +09:00
AP_Mount AP_Mount: use ZERO_FARRAY() 2021-07-23 10:19:45 +09:00
AP_NMEA_Output AP_NMEA: fix example 2021-03-03 18:07:38 +11:00
AP_NavEKF AP_NavEKF: sync for 4.1.0beta 2021-07-23 10:19:46 +09:00
AP_NavEKF2 AP_NavEKF2: init rngOnGnd to 5cm to avoid div-by-zero 2021-08-28 17:10:29 +09:00
AP_NavEKF3 AP_NavEKF3: remove unused EK3_GSF_DELAY param 2021-08-14 11:05:38 +09:00
AP_Navigation AP_Navigation: make crosstrack_error_integrator pure virtual as nobody use the base class 2021-06-11 04:59:06 -07:00
AP_Notify AP_Notify: disable DShot buzzer by default 2021-07-23 10:19:45 +09:00
AP_OLC AP_OLC: fixed build of OSD on SITL 2020-11-12 14:22:44 -08:00
AP_OSD AP_OSD: fixes bug introduced by #16477 2021-08-14 11:05:38 +09:00
AP_OpticalFlow AP_OpticalFlow: make centideg metadata incr and range consistent 2021-05-25 10:10:18 +10:00
AP_Parachute AP_Parachute: move sink rate check to new method 2020-10-06 16:14:59 +11:00
AP_Param AP_Param: allow save_sync without send 2021-04-21 07:12:55 +10:00
AP_PiccoloCAN AP_PiccoloCAN: fix missing _telem_sem 2021-06-24 17:15:08 +10:00
AP_Proximity AP_Proximity: fix proximity status for upward facing rangefinder 2021-06-16 17:41:45 +09:00
AP_RAMTRON
AP_RCMapper fix metadata to emit RCMAP_FORWARD and _LATERAL for Rover 2021-05-17 13:38:17 +10:00
AP_RCProtocol AP_RCProtocol: move AP_VideoTX to AP_VideoTX 2021-02-23 11:43:32 +11:00
AP_RCTelemetry AP_RCTelemetry: fix ELRS systems spamming CRSF mode/rate messages 2021-07-23 10:19:48 +09:00
AP_ROMFS AP_ROMFS: added crc check in ROMFS decompression 2021-02-23 20:20:07 +11:00
AP_RPM AP_RPM: use HAL_EFI_ENABLED 2021-06-09 18:07:00 +10:00
AP_RSSI AP_RSSI: handle init ordering with MSP 2020-11-17 10:01:54 +11:00
AP_RTC AP_RTC: Add missing const in member functions 2021-02-03 18:45:14 +11:00
AP_Radio
AP_Rally AP_Rally: add support for AP_Logger into AP_Periph 2021-06-08 09:57:55 +10:00
AP_RangeFinder AP_Rangefinder: fix override in constructor 2021-09-10 14:08:46 +09:00
AP_Relay
AP_RobotisServo
AP_SBusOut
AP_Scheduler AP_Scheduler: Change the Task Performance Notification Level to Information 2021-06-13 22:47:24 -07:00
AP_Scripting AP_Scripting: copter-fast-descent.lua example script 2021-08-28 17:10:29 +09:00
AP_SerialLED
AP_SerialManager AP_SerialManager: document DisableFIFO bit 2021-07-23 10:19:47 +09:00
AP_ServoRelayEvents
AP_SmartRTL AP_SmartRTL: peek_point method peeks at next point 2021-04-03 12:07:59 +09:00
AP_Soaring AP_Soaring: fixed filter constructor calls 2021-06-08 11:14:52 +10:00
AP_SpdHgtControl AP_SpdHgtControl: added get_max_sinkrate() 2021-06-05 13:05:30 +10:00
AP_Stats AP_Stats: Add missing const in member functions 2021-02-03 18:45:14 +11:00
AP_TECS AP_TECS: added get_max_sinkrate() API 2021-06-05 13:05:30 +10:00
AP_TempCalibration AP_TempCalibration: Remove pointer check before delete 2021-02-04 09:01:19 +11:00
AP_TemperatureSensor AP_TemperatureSensor: Add missing const in member functions 2021-02-03 18:45:14 +11:00
AP_Terrain Ap_Terrain: make AP::terrain return a pointer 2021-04-07 20:56:01 +10:00
AP_ToshibaCAN AP_ToshibaCAN: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-24 09:02:42 +10:00
AP_Tuning AP_Tuning: use AUX_PWM_TRIGGER_LOW and AUX_PWM_TRIGGER_HIGH 2021-02-10 18:48:06 +11:00
AP_UAVCAN AP_UAVCAN: Use HAL_ENABLE_LIBUAVCAN_DRIVERS instead of HAL_MAX_CAN_PROTOCOL_DRIVERS 2021-06-24 09:02:42 +10:00
AP_Vehicle AP_Vehicle: add virtual set_target methods 2021-08-28 17:10:29 +09:00
AP_VideoTX AP_SmartAudio: Add pull down VTX option 2021-06-16 18:49:13 +10:00
AP_VisualOdom AP_VisualOdom: do not build on 1MB boards 2021-06-09 20:12:44 +09:00
AP_Volz_Protocol AP_Volz_Protocol scaling bugfix 2020-12-08 15:03:26 +11:00
AP_WheelEncoder AP_WheelEncoder: fixed PID constructor calls 2021-06-08 11:14:52 +10:00
AP_Winch
AP_WindVane AP_WindVane: fixed copying of filter objects 2021-06-08 11:14:52 +10:00
AR_WPNav AR_WPNav: integrate PathPlanner returning path_planner_used 2021-07-23 10:19:49 +09:00
Filter Filter: use CLASS_NO_COPY 2021-06-08 11:14:52 +10:00
GCS_MAVLink GCS_MAVLink: check for null comm_port before writing 2021-09-10 14:08:46 +09:00
PID
RC_Channel RC_Channel: fix ELRS systems spamming CRSF mode/rate messages 2021-07-23 10:19:48 +09:00
SITL SITL: prevent flip over of RF9 quadplanes on reboot 2021-08-28 17:10:29 +09:00
SRV_Channel SRV_Channel: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-24 09:02:42 +10:00
StorageManager StorageManager: add read_float and write_float 2021-06-06 11:41:30 +10:00
doc