Commit Graph

114 Commits

Author SHA1 Message Date
Andy Piper 6c634ebc00 AP_HAL_ChibiOS: allow dshot beeps to play on all dshot ESC types 2024-01-23 11:58:55 +11:00
Andrew Tridgell c54aa0241a HAL_ChibiOS: added mem_is_dma_safe() function
used for bouncebuffer code and in FATFS code
2024-01-05 06:52:11 -08:00
James O'Shannessy 70bee8e67a AP_HAL_ChibiOS: Explicitly include InternalError
Debug builds utilise internal error in the Util class.

The include was being passed up from Logger->LoggerMessageWriter->LoggerBackend->Bitmask.
Periph Builds tend not to have HAL_LOGGING_ENABLED, and so the include was not present.
2023-09-20 19:51:48 +10:00
bugobliterator 9a21297cd1 AP_HAL_ChibiOS: add support for DShot on IOMCU
set timer counter size to be a byte wide
use HAL_DSHOT_ENABLED instead of DISABLE_DSHOT
build iomcu-dshot from existing iomcu
correct defines for DMAR size on iomcu
allow iomcu dshot rate to be configured from FMU
correct DMA allocation for dshot on iomcu
allow debug builds on iofirmware
ensure dshot is enabled on iomcu dshot
support proper iomcu dshot output thread triggered by FMU
allow selective disablement of serial LEDs and passthrough
disable serial LEDs and passthrough on iomcu-dshot
propagate ESC telemetry to iomcu
dshot_send_groups() for iomcu
remove use of ICU on iomcu for dshot. only allocate possible DMA channels
rename serial passthrough and dshot defines
update dshot docs
resize dshot iomcu main stack to minimum
correct dshot prescaler usage and bit_width_mul calculation
use ChibiOS in tickless mode on iomcu-dshot so that virtual timers can be used
propagate dshot commands to iomcu
passthrough oneshot125 to iomcu
2023-08-15 06:53:48 +10:00
Tom Pittenger d841d250d8 AP_HAL_ChibiOS: allow HW without HW_RNG to SW-based create psuedo-random 2023-08-06 09:20:08 +10:00
bugobliterator 65cbd87228 AP_HAL_ChibiOS: add support for get_persistent_param_by_name 2023-06-17 14:49:22 +10:00
bugobliterator 0850ea6b61 AP_HAL_ChibiOS: add support for storing OpenDroneID in bootloader sector 2023-06-17 14:49:22 +10:00
Peter Barker 926c7d64b1 AP_HAL_ChibiOS: add and use AP_BOOTLOADER_FLASHING_ENABLED 2023-04-26 22:55:36 +10:00
Andy Piper 667b386356 AP_HAL_ChibiOS: port to ChibiOS 21.11.x
convert RCOutput to new virtual timer interface
cope with SDC vs SDMMC
use new SPIv3 driver. Correct clocks for SDMMCv2.
add STM32L431 support
port ChibiOS config to version 8
support SPIv3 driver model v2 on H7
use currcore in debug options
use new mmc API
disable speed optimizations in the bootloader to save a little flash
upgrade to halconf v8.4
relax constraints on QSP/flash clock.
add support for disabling QSPI reset in main firmware
2023-03-29 20:49:40 +11:00
Peter Barker dd139a3a63 AP_HAL_ChibiOS: gate mavlink things on HAL_GCS_ENABLED, not HAL_BOOTLOADER_BUILD 2023-02-01 18:46:28 +11:00
Andrew Tridgell 365de4b505 AP_HAL_ChibiOS: added old_size to heap_realloc 2023-01-16 09:19:16 +11:00
Yuri fd148dcc4a AP_HAL_ChibiOS: increase short board names to 23 chars 2022-09-21 17:56:42 +10:00
Peter Barker 28a0336423 AP_HAL_ChibiOS: move defaulting of HAL_DSHOT_ALARM into hwdef 2022-09-15 09:18:04 +10:00
Andrew Tridgell b74c9b5862 HAL_ChibiOS: protect against flashing bootloader without public keys 2022-09-05 12:35:37 +10:00
bugobliterator 0c78f8bac2 AP_HAL_ChibiOS: add support for booting into DFU 2022-08-30 10:51:06 +10:00
Peter Barker 4ca0f35943 AP_HAL_ChibiOS: do not gate AP_CRASHDUMP_ENABLED on bootloader
Also rename from HAL_CRASHDUMP_ENABLE

Removes code based on define rather than creating empty functions.  Makes it clearer what's going on in the callers.
2022-08-17 17:34:00 +10:00
Peter Barker 13b03f79db AP_HAL_ChibiOS: move from HAL_NO_SHARED_DMA to AP_HAL_SHARED_DMA_ENABLED
This allows hwdef files to manipulate this value
2022-07-19 18:02:26 +10:00
Peter Barker 4de69823e8 AP_HAL_ChibiOS: allow crashdump even if !HAL_GCS_ENABLED
We can dump these to SD card, for example.
2022-07-13 18:23:37 +10:00
Andrew Tridgell e807a74976 AP_HAL_ChibiOS: fixed use of configured() vs configured_in_storage() 2022-06-06 13:11:50 +10:00
Iampete1 af58ca52c1 AP_HAL_ChibiOS: allocate_heap_memory use single malloc 2022-05-18 08:20:32 +10:00
Andy Piper b6022ca5d4 AP_HAL_ChibiOS: add support for alternate alarm PWM group
account for inverted alarms and build on boards without PWM
enable alarm based on pwm
shutdown alarm channel if using a different one
2022-02-23 18:35:43 +11:00
Andrew Tridgell 638e20a0b9 HAL_ChibiOS: bring in hal.h where it is needed 2022-02-22 12:13:19 +11:00
Andy Piper 83ac78e969 AP_HAL_ChibiOS: add support for @SYS/timers.txt
move out prescaler calculation and use closest prescaler everywhere
include timer id in PWM groups
2022-02-16 15:28:04 +11:00
Andy Piper 48c21299f8 AP_HAL_ChibiOS: hwdef for SPRacingH7
hwdef for DevEBoxH7v2
pin definitions for STM32H750
add QSPI to DevEBox bootloader
add external flash to DevEBox
rename EXTERNAL_PROG_FLASH_MB to EXT_FLASH_SIZE_MB
Add support for EXT_FLASH_RESERVE_START_KB and EXT_FLASH_RESERVE_END_KB
Disable HAL_ENABLE_SAVE_PERSISTENT_PARAMS when there is no bootloader flash available
relax storage health status with SD card backend
don't check SD card health unless USE_POSIX
binary sections rearranged on external ram
manage RAMFUNC through ldscript and optimize function placement in external flash
inline timer functions
optimize placement of ChibiOS and functions in ITCM and AXI RAM
fix chibios features on bootloader build with external flash
change H750 memory layout
increase line storage for SD card based parameters
comment external flash linker script
move vtables into DTCM
update ram map for H757
enable crashdump support with external flash
correct bootloader pins and generator on SPRacingH7/DevEBoxH7v2
setup external flash reserve regions
allow different RAM_MAP for external flash on H750 and H757
2022-02-09 12:47:55 +00:00
Peter Barker 875f9a9497 AP_HAL_ChibiOS: add HAL_UART_STATS_ENABLED to disable stats gathering 2022-01-12 18:30:49 +11:00
Jaaaky f1f31c1aef AP_HAL_ChibiOS: Fix multi #include's 2021-12-21 10:38:46 +11:00
Peter Barker a281c3ef91 AP_HAL_ChibiOS: remove stray 'No Crash Detected' diagnostic 2021-12-19 10:48:44 +11:00
bugobliterator 4efe75683a HAL_ChibiOS: mention of HAL_CRASH_DUMP_FLASHPAGE not required 2021-12-01 18:17:50 +11:00
bugobliterator f02a7b560b AP_HAL_ChibiOS: update last_crash_dump api 2021-12-01 18:17:50 +11:00
Andrew Tridgell 7f2bcf927c HAL_ChibiOS: allow setting of armed pin 2021-11-05 14:30:43 +11:00
bugobliterator a28bf358d1 HAL_ChibiOS: skip compiling last_crash_dump if bootloader and GCS disabled 2021-10-30 19:24:57 +11:00
bugobliterator 29568a23ae HAL_ChibiOS: fetch crash_dump stored in flash 2021-10-30 19:24:57 +11:00
Andrew Tridgell 84bbc707fc AP_HAL_ChibiOS: added stack logging 2021-10-12 16:04:06 +11:00
bugobliterator f298ea406e HAL_ChibiOS: enable RNG only for H7 based boards off for the rest by default 2021-10-07 19:43:11 +11:00
bugobliterator 792e6666a3 HAL_ChibiOS: add random number generator implementation for ChibiOS 2021-10-07 19:43:11 +11:00
Peter Barker 1bd62362a4 AP_HAL_ChibiOS: move from HAL_NO_GCS to HAL_GCS_ENABLED 2021-09-22 21:37:00 +10:00
Iampete1 bf695e4eeb AP_HAL_ChibiOS: atof to strtof 2021-09-15 17:36:12 +10:00
bugobliterator d1b0438412 AP_HAL_ChibiOS: add support for usb passthrough with baud changes 2021-07-21 17:06:41 +10:00
Michael Oborne d622aad592 AP_HAL_ChibiOS: add get_usb_baud - support for usb baudrate 2021-07-21 17:06:41 +10:00
Siddharth Purohit abc26d1993 AP_HAL_ChibiOS: add QSPI Device Driver in HAL 2021-06-30 19:33:17 +10:00
Siddharth Purohit 882b01bae3 AP_HAL_ChibiOS: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-24 09:02:42 +10:00
Andrew Tridgell 6fab8feeae HAL_ChibiOS: implement uart_info per-uart
this allows for some UARTs to be of EMPTY type
2021-06-05 18:52:33 +10:00
bugobliterator ea1795d6fe AP_HAL_ChibiOS: ensure ToneAlarm is not disabled when UAVCAN is available 2021-05-31 07:34:02 +10:00
Michel Pastor b083848ae7 AP_HAL_ChibiOS: fix comments 2021-05-26 17:59:04 +10:00
Andy Piper 66fadf53a1 AP_HAL_ChibiOS: remove dshot calibration step 2021-05-05 17:41:24 +10:00
Andy Piper f3f3056dba AP_HAL_ChibiOS: add support for dshot commands to rcout
add support for dshot beepcodes through tonealarm
add support for dshot reversal and command queue
add support for dshot commands to all channels
correctly manage channel enablement in PWM groups
Correctly send dshot commands when using bi-dir dshot
allow reversible settings to be changed
ChibiOS: allow more than one type of ESC for dshot commands
Only execute reverse/reversible commands on BLHeli
add support for checking active ESCS
mark ESCs active when bdshot telemetry is returned
allow dshot alarm to be disabled
allow priroitized dshot commands
2021-05-05 17:41:24 +10:00
Andy Piper 558631918c AP_HAL_ChibiOS: add %age of total to thread statistics
don't display meaningless thread info
2021-04-21 17:14:11 +10:00
Andy Piper e1d71486e4 AP_HAL_ChibiOS: build fixes for ChibiOS 20.3.x 2021-03-23 12:01:20 +11:00
Andrew Tridgell 243cf2199d HAL_ChibiOS: disable shared DMA on IOMCU
this saves about 600 bytes of ram
2021-02-24 18:21:08 +11:00
Andy Piper f9c5f9be00 AP_HAL_ChibiOS: make dshot DMA unlock event driven in order to allow unlocking from rcout thread
refactor rcout into separate thread and process all dshot requests there
move uart DMA completion to event model
process dshot locks in strick reverse order when unlocking
convert Shared_DMA to use mutexes
move UART transmit to a thread-per-uart
do blocking UART DMA transactions
do blocking dshot DMA transactions
trim stack sizes
cancel dma transactions on dshot when timeout occurs
support contention stats on blocking locking
move thread supression into chibios_hwdef.py
invalidate DMA bounce buffer correctly
separate UART initialisation into two halves
cleanup UART transaction timeouts
add @SYS/uarts.txt
move half-duplex handling to TX thread
correct thread statistics after use of ExpandingString
set unbuffered TX thread priority owner + 1
correctly unlock serial_led_send()
don't share IMU RX on KakuteF7Mini
observe dshot pulse time more accurately.
set TRBUFF bit for UART DMA transfers
deal with UART DMA timeouts correctly
don't deadlock on reverse ordered DMA locks
change PORT_INT_REQUIRED_STACK to 128
2021-02-20 14:37:11 +11:00