ardupilot/libraries/AP_HAL_ChibiOS
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
..
hwdef HAL_ChibiOS: reduce the impact of UART DMA contention 2021-08-31 07:55:27 +10:00
AnalogIn.cpp HAL_ChibiOS: removed remnants of CHIBIOS_ADC_MAVLINK_DEBUG 2021-08-25 07:11:31 +10:00
AnalogIn.h HAL_ChibiOS: measure MCU temperature and ref voltage on H7 2021-08-25 07:11:31 +10:00
AP_HAL_ChibiOS_Namespace.h AP_HAL_ChibiOS: add QSPI Device Driver in HAL 2021-06-30 19:33:17 +10:00
AP_HAL_ChibiOS_Private.h AP_HAL_ChibiOS: add QSPI Device Driver in HAL 2021-06-30 19:33:17 +10:00
AP_HAL_ChibiOS.h
bxcan.hpp AP_HAL_ChibiOS: create UAVCAN agnostic CANIface driver 2020-08-19 17:31:09 +10:00
CANFDIface.cpp AP_HAL_ChibiOS: allow sending stats via mavftp on AP_Periph 2021-08-19 14:20:58 +10:00
CANFDIface.h AP_HAL_ChibiOS: allow sending stats via mavftp on AP_Periph 2021-08-19 14:20:58 +10:00
CanIface.cpp AP_HAL_ChibiOS: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-24 09:02:42 +10:00
CANIface.h AP_HAL_ChibiOS: disable EventSource only when CH_CFG_USE_EVENTS is false 2021-06-09 18:36:18 +10:00
Device.cpp AP_HAL_ChibiOS: add QSPI Device Driver in HAL 2021-06-30 19:33:17 +10:00
Device.h AP_HAL_ChibiOS: add QSPI Device Driver in HAL 2021-06-30 19:33:17 +10:00
DSP.cpp AP_HAL_ChibiOS: add harmonics to DSP 2020-05-24 07:43:34 +10:00
DSP.h AP_HAL_ChibiOS: add harmonics to DSP 2020-05-24 07:43:34 +10:00
EventSource.cpp AP_HAL_ChibiOS: disable EventSource only when CH_CFG_USE_EVENTS is false 2021-06-09 18:36:18 +10:00
EventSource.h AP_HAL_ChibiOS: disable EventSource only when CH_CFG_USE_EVENTS is false 2021-06-09 18:36:18 +10:00
Flash.h HAL_ChibiOS: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
GPIO.cpp HAL_ChibiOS: fixed off by 1 bug in GPIO check 2021-07-24 18:18:57 +10:00
GPIO.h HAL_ChibiOS: implement valid_pin() 2021-07-22 07:48:12 +10:00
HAL_ChibiOS_Class.cpp AP_HAL_ChibiOS: do not even initialise empty qspi driver 2021-06-30 19:33:17 +10:00
HAL_ChibiOS_Class.h AP_HAL_ChibiOS: create UAVCAN agnostic CANIface driver 2020-08-19 17:31:09 +10:00
I2CDevice.cpp HAL_ChibiOS: added G491 support 2021-07-30 10:20:52 +10:00
I2CDevice.h AP_HAL_ChibiOS: remove unnecessary tabs and whitespaces 2019-10-21 08:01:56 +11:00
QSPIDevice.cpp AP_HAL_ChibiOS: add support for entering XIP mode 2021-06-30 19:33:17 +10:00
QSPIDevice.h AP_HAL_ChibiOS: add support for entering XIP mode 2021-06-30 19:33:17 +10:00
RCInput.cpp AP_HAL_ChibiOS: add Link Quality reporting to RC protocols 2021-07-16 13:27:38 +10:00
RCInput.h AP_HAL_ChibiOS: add Link Quality reporting to RC protocols 2021-07-16 13:27:38 +10:00
RCOutput_bdshot.cpp AP_HAL_ChibiOS: set inbound bitrate correctly for bi-directional dshot1200 2021-05-14 07:23:59 +10:00
RCOutput_serial.cpp AP_HAL_ChibiOS: add accessor for reversed mask 2021-08-12 19:00:51 +09:00
RCOutput.cpp AP_HAL_ChibiOS: output initializing from PWM banner when not available 2021-08-12 19:07:51 +09:00
RCOutput.h AP_HAL_ChibiOS: add accessor for reversed mask 2021-08-12 19:00:51 +09:00
Scheduler.cpp HAL_ChibiOS: switch to minimum scheduling delta of 10us 2021-08-23 10:45:44 +10:00
Scheduler.h AP_HAL_ChibiOS: split out a calculate_thread_priority method 2021-03-30 10:49:06 +11:00
sdcard.cpp HAL_ChibiOS: go via AP_Filesystem for mount/unmount operations 2020-10-27 10:45:03 +11:00
sdcard.h AP_HAL_ChibiOS: remove unnecessary tabs and whitespaces 2019-10-21 08:01:56 +11:00
Semaphores.cpp AP_HAL_ChibiOS: make all semaphores recursive 2020-01-19 20:19:30 +11:00
Semaphores.h AP_HAL_ChibiOS: make all semaphores recursive 2020-01-19 20:19:30 +11:00
shared_dma.cpp HAL_ChibiOS: reduce the impact of UART DMA contention 2021-08-31 07:55:27 +10:00
shared_dma.h HAL_ChibiOS: reduce the impact of UART DMA contention 2021-08-31 07:55:27 +10:00
SoftSigReader.cpp HAL_ChibiOS: added disable() API for pulse input 2020-01-31 11:09:07 +11:00
SoftSigReader.h HAL_ChibiOS: fixed warning on gcc9 2020-09-22 08:07:23 +10:00
SoftSigReaderInt.cpp HAL_ChibiOS: added disable() API for pulse input 2020-01-31 11:09:07 +11:00
SoftSigReaderInt.h HAL_ChibiOS: added disable() API for pulse input 2020-01-31 11:09:07 +11:00
SPIDevice.cpp AP_HAL_ChibiOS: add QSPI Device Driver in HAL 2021-06-30 19:33:17 +10:00
SPIDevice.h AP_HAL_ChibiOS: add support for bank selection call outside SPI driver 2020-08-06 12:41:35 +10:00
stdio.cpp HAL_ChibiOS: modify hal can drivers for use by AP_Periph 2020-09-24 12:32:19 +10:00
Storage.cpp HAL_ChibiOS: go via AP_Filesystem for mount/unmount operations 2020-10-27 10:45:03 +11:00
Storage.h HAL_ChibiOS: fixed race condition in storage write 2020-05-04 17:22:41 +10:00
system.cpp AP_HAL_ChibiOS: base use of InternalError on build type not HAL_LOGGING_ENABLED 2021-05-19 17:38:47 +10:00
UARTDriver.cpp HAL_ChibiOS: reduce the impact of UART DMA contention 2021-08-31 07:55:27 +10:00
UARTDriver.h AP_HAL_ChibiOS: add support for usb passthrough with baud changes 2021-07-21 17:06:41 +10:00
Util.cpp AP_HAL_ChibiOS: add support for usb passthrough with baud changes 2021-07-21 17:06:41 +10:00
Util.h AP_HAL_ChibiOS: add support for usb passthrough with baud changes 2021-07-21 17:06:41 +10:00