ardupilot/libraries
Andrew Tridgell 39f44147b8 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-08-31 07:55:27 +10:00
..
AC_AttitudeControl AC_AttitudeControl: AC_PosControl: Clean up to use .xy() 2021-08-26 12:22:52 +09:00
AC_Autorotation AC_Autorotation: mark logger Write() calls as streaming where appropriate 2021-08-18 10:20:03 +10:00
AC_AutoTune AC_AutoTune: mark logger Write() calls as streaming where appropriate 2021-08-18 10:20:03 +10:00
AC_Avoidance AC_Avoidance: do fence pointer check before using it 2021-08-11 13:43:23 +10: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-10 08:33:56 +09:00
AC_PrecLand AC_PrecLand: Raise internal error if state machine is running while precland is disabled 2021-08-30 14:08:44 +09:00
AC_Sprayer
AC_WPNav AC_WPNav: Fix Jerk units 2021-08-26 12:22:52 +09:00
AP_AccelCal AP_AccelCal: do not add accelcal if no GCS iface available 2021-06-30 17:06:02 +10:00
AP_ADC
AP_ADSB AP_ADSB: added Ping200X driver /w UCP protocol 2021-08-19 17:49:27 +10:00
AP_AdvancedFailsafe AP_AdvancedFailsafe: use mission singleton inside AP_AdvancedFailsafe 2021-08-03 10:35:24 +10:00
AP_AHRS AP_AHRS: factor out an update_notify_from_filter_status 2021-08-28 23:11:09 +10:00
AP_Airspeed AP_Airspeed: check for baro baro data in SDP3X 2021-08-10 07:10:02 +10:00
AP_AIS AP_AIS: log base station report message 2021-08-10 08:11:18 +09:00
AP_Arming AP_Arming: add and use HAL_BUTTON_ENABLE 2021-08-25 19:03:42 +10:00
AP_Avoidance AP_Avoidance: Add missing const in member functions 2021-02-03 18:45:14 +11:00
AP_Baro AP_Baro: fix externalAHRS detection 2021-08-25 16:37:13 +09:00
AP_BattMonitor AP_BattMonitor: mark logger Write() calls as streaming where appropriate 2021-08-18 10:20:03 +10:00
AP_Beacon AP_Beacon: hide params with enable flag 2021-08-24 09:38:46 +10:00
AP_BLHeli AP_BLHeli: ensure correct rotation through telemetry ESCs 2021-07-21 17:18:12 +10:00
AP_BoardConfig AP_BoardConfig: remove definitions of BOARD_PWM_COUNT_DEFAULT 2021-08-20 10:51:19 +10:00
AP_Button AP_Button: add and use HAL_BUTTON_ENABLE 2021-08-25 19:03:42 +10:00
AP_Camera AP_Camera: support RunCam Hybrid correctly 2021-06-09 17:04:27 +10:00
AP_CANManager AP_CANManager: correct metadata for values 2021-08-24 10:52:33 +10:00
AP_Common AP_Common: tests: stop overriding non-virtual method 2021-08-05 10:37:47 +10:00
AP_Compass AP_Compass: fix externalAHRS detection 2021-08-25 16:37:13 +09:00
AP_DAL AP_DAL: move VehicleClass handling to AHRS frontend 2021-08-17 10:34:07 +10:00
AP_Declination
AP_Devo_Telem
AP_EFI AP_EFI: Remove @RebootRequired: False 2021-08-19 10:00:16 +10:00
AP_ESC_Telem AP_ESC_Telem: implement get_active_esc_mask() 2021-08-13 16:22:37 +10:00
AP_ExternalAHRS AP_ExternalAHRS: mark logger Write() calls as streaming where appropriate 2021-08-18 10:20:03 +10:00
AP_FETtecOneWire AP_FETtecOneWire: README.md clarity improvements 2021-08-25 16:05:05 +10:00
AP_Filesystem AP_FileSystem_Sys: allow sending stats via mavftp on AP_Periph 2021-08-19 14:20:58 +10:00
AP_FlashIface AP_FlashIface: remove any delay from is device busy 2021-06-30 19:33:17 +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_Follow: mark logger Write() calls as streaming where appropriate 2021-08-18 10:20:03 +10:00
AP_Frsky_Telem AP_Frsky_Telem: added frame 0x500C for true/apparent WIND info 2021-08-25 17:13:16 +10:00
AP_Generator AP_Generator: mark logger Write() calls as streaming where appropriate 2021-08-18 10:20:03 +10:00
AP_GPS AP_GPS: add option to set a dedicated line for Moving Baseline Data 2021-08-19 14:20:58 +10:00
AP_Gripper
AP_GyroFFT AP_GyroFFT: ensure we got float division when there are needed instead of integer divisions 2021-08-27 13:42:03 +10:00
AP_HAL AP_HAL: added MCU status support 2021-08-25 07:11:31 +10:00
AP_HAL_ChibiOS HAL_ChibiOS: reduce the impact of UART DMA contention 2021-08-31 07:55:27 +10:00
AP_HAL_Empty AP_HAL_Empty: add QSPIDevice empty HAL Iface 2021-06-30 19:33:17 +10:00
AP_HAL_Linux AP_HAL_LINUX:toggle gpio port 2021-07-24 09:16:08 -07:00
AP_HAL_SITL AP_HAL_SITL: check that _sitl is not nullptr before using it 2021-08-14 10:20:33 +10: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: spelling and grammer fixes inc in param description 2021-08-19 10:00:16 +10:00
AP_InertialNav AP_InertialNav: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
AP_InertialSensor AP_InertialSensor: fix externalAHRS detection 2021-08-25 16:37:13 +09:00
AP_InternalError AP_InternalError: specify size for error_t 2021-06-13 08:41:25 +10:00
AP_IOMCU AP_IOMCU: mark logger Write() calls as streaming where appropriate 2021-08-18 10:20:03 +10:00
AP_IRLock AP_IRLock: change class name from SITL::SITL to SITL::SIM 2021-08-05 07:25:31 +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_Landing AP_landing: hide deepstall params with enable flag 2021-08-24 09:38:46 +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: enable for Pixhawk4 2021-08-09 18:55:11 -04:00
AP_Logger AP_Logger: Use actual MAVLink constant 2021-08-25 18:52:21 +10:00
AP_LTM_Telem AP_LTM_Telem: get airspeed sensor from singleton not AHRS object 2020-12-07 15:57:28 -08:00
AP_Math AP_Math: added CRC16_CCITT non-standard variant 2021-08-19 17:49:27 +10:00
AP_Menu
AP_Mission AP_Mission: caculate distance to do_land_start with no location correctly 2021-07-27 09:00:11 +09:00
AP_Module AP_Module: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
AP_Motors AP_Motors: add accessors for turtle mode 2021-08-12 19:00:51 +09:00
AP_Mount AP_Mount: stop using AHRS as conduit for Compass pointer 2021-07-30 12:19:42 +10:00
AP_MSP AP_MSP: fixed build without MSP 2021-08-26 10:01:35 +10:00
AP_NavEKF AP_NavEKF: log EKF data source set changes 2021-08-11 19:28:28 +09:00
AP_NavEKF2 AP_NavEKF2: init rngOnGnd to 5cm to avoid div-by-zero 2021-08-26 12:23:32 +09:00
AP_NavEKF3 AP_NavEKF3: rename varInnovOptFlow to flowVarInnov 2021-08-24 16:49:04 +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_NMEA_Output AP_NMEA_Output: stop using AHRS as conduit for Compass pointer 2021-07-30 12:19:42 +10:00
AP_Notify AP_Notify: change class name from SITL::SITL to SITL::SIM 2021-08-05 07:25:31 +10:00
AP_OLC
AP_ONVIF AP_ONVIF: make onvif test empty if ONVIF not enabled 2021-07-07 18:57:25 +10:00
AP_OpticalFlow AP_OpticalFlow: SITL driver applies _FX/YSCALER params 2021-08-24 16:49:04 +09:00
AP_OSD AP_OSD: added a new backend for msp displayport aka canvas mode support 2021-08-25 17:12:15 +10:00
AP_Parachute AP_Parachute: fixed printf format errors 2021-08-05 09:43:35 +10: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: hide params with enable flag 2021-08-24 09:38:46 +10:00
AP_Radio AP_Radio: hide params with enable flag 2021-08-24 09:38:46 +10:00
AP_Rally AP_Rally: omit code that breaks build for herepro 2021-07-02 08:50:16 +10:00
AP_RAMTRON
AP_RangeFinder AP_Rangefinder: fix override in constructor 2021-08-26 21:48:19 +10:00
AP_RCMapper fix metadata to emit RCMAP_FORWARD and _LATERAL for Rover 2021-05-17 13:38:17 +10:00
AP_RCProtocol AP_RCProtocol: mark logger Write() calls as streaming where appropriate 2021-08-18 10:20:03 +10:00
AP_RCTelemetry AP_RCTelemetry: incremented WFQ scheduler slots to 20 2021-08-25 17:13:16 +10:00
AP_Relay AP_Relay: fixed printf format errors 2021-08-05 09:43:35 +10:00
AP_RobotisServo AP_RobotisServo: omit code that breaks build for herepro 2021-07-02 08:50:16 +10:00
AP_ROMFS AP_ROMFS: added crc check in ROMFS decompression 2021-02-23 20:20:07 +11:00
AP_RPM AP_RPM: Mark type = PWM as not used in docs 2021-08-25 09:36:58 +10:00
AP_RSSI AP_RSSI: replaced PixhawkAUX1 with AUX1 2021-07-22 07:48:12 +10:00
AP_RTC AP_RTC: Add missing const in member functions 2021-02-03 18:45:14 +11:00
AP_SBusOut
AP_Scheduler AP_Scheduler: correct pointer checking 2021-08-26 10:17:22 +10:00
AP_Scripting AP_Scripting: copter-fast-descent.lua example script 2021-08-26 11:25:54 +09:00
AP_SerialLED
AP_SerialManager AP_SerialManager: added a new MSP DisplayPort serial backend 2021-08-25 17:12:15 +10:00
AP_ServoRelayEvents
AP_SmartRTL AP_SmartRTL: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
AP_Soaring AP_Soaring: Initialize filter to the current filtered measurement 2021-08-25 19:00:46 +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: mark logger Write() calls as streaming where appropriate 2021-08-18 10:20:03 +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: added a TERRAIN_MARGIN parameter 2021-08-22 20:32:46 +10:00
AP_Torqeedo AP_Torqeedo: increase speed cmd at 50hz 2021-08-12 10:54:36 +10:00
AP_ToshibaCAN AP_ToshibaCAN: fixed printf format errors 2021-08-05 09:43:35 +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: add support for setting parameters on CAN nodes 2021-08-19 14:20:58 +10:00
AP_Vehicle AP_Vehicle: add virtual set_target methods 2021-08-26 11:25:54 +09:00
AP_VideoTX AP_SmartAudio: Add pull down VTX option 2021-06-16 18:49:13 +10:00
AP_VisualOdom AP_VisualOdom: adjust for rename yaw_initialised -> dcm_yaw_initialised 2021-08-18 18:37:39 +10:00
AP_Volz_Protocol AP_Volz_Protocol: omit code that breaks build for herepro 2021-07-02 08:50:16 +10:00
AP_WheelEncoder AP_WheelEncoder: change class name from SITL::SITL to SITL::SIM 2021-08-05 07:25:31 +10:00
AP_Winch
AP_WindVane AP_WindVane: remove empty contructors 2021-08-25 20:42:23 +10:00
APM_Control APM_Control: remove unused variables 2021-08-23 08:39:41 +09:00
AR_Motors AP_Motors: move AP_MotorsUGV to new AR_Motors directory 2021-07-20 10:48:01 +09:00
AR_WPNav AR_WPNav: integrate PathPlanner returning path_planner_used 2021-07-22 08:51:41 +09:00
doc
Filter Filter: add more unittests 2021-08-30 09:51:25 +10:00
GCS_MAVLink GCS_MAVLink: check for null comm_port before writing 2021-08-31 07:55:27 +10:00
PID
RC_Channel RC_Channel: removed dead code 2021-08-28 10:29:06 +09:00
SITL SITL: SIM_Sailboat: remove use of AHRS 2021-08-30 13:40:37 +10:00
SRV_Channel SRV_Channel: add FETtec support 2021-08-13 16:22:37 +10:00
StorageManager StorageManager: add read_float and write_float 2021-06-06 11:41:30 +10:00