Commit Graph

102 Commits

Author SHA1 Message Date
Yuri 48ae900b5d AP_HAL_ChibiOS: increase short board names to 23 chars 2022-10-04 13:38:30 +11: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
Andy Piper 2cdc202d19 AP_HAL_ChibiOS: use non-cachable SRAM3 for DMA on H743
Adjust SRAM1+SRAM2 to 256k as describe in the H743 reference manual
Provide access to mem_info() information

Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2021-02-03 23:35:44 +11:00
Andrew Tridgell 9861a02c60 HAL_ChibiOS: save INS_ACC*ID persistent parameters
this enables full factory accelerometer calibration, so the user is
not required to run an accelcal, even if they change vehicle type
2021-01-27 09:49:35 +11:00
Andrew Tridgell 5ed19c764e HAL_ChibiOS: expose load_persistent_params for @SYS 2021-01-21 13:09:21 +11:00
Andrew Tridgell 5c823debc0 HAL_ChibiOS: support saving persistent parameters to bootloader sector
when we flash the bootloader we can save key peristent parameters to
the end of the bootloader sector, allowing them to persistent across
changes of firmware type

This allows for factory temperature calibration
2021-01-21 13:09:21 +11:00
Andrew Tridgell 42bc9adfb7 HAL_ChibiOS: use ExpandingString for @SYS buffers 2021-01-05 10:52:00 +11:00
Andy Piper 83c8807b39 AP_HAL_ChibiOS: when HAL_ENABLE_THREAD_STATISTICS is defined add ChibiOS thread stats to threads.txt
define HAL_ENABLE_THREAD_STATISTICS in hwdef.h
2020-12-30 18:15:05 +11:00
Andy Piper cf2602f91d AP_HAL_ChibiOS: add support for @SYS/dma.txt for DMA contention 2020-12-02 18:17:23 +11:00
Andrew Tridgell ba69cd72c9 HAL_ChibiOS: improved stack checking and stack display
display both ISR stack and thread stacks. Show total stack sizes as
well as amount of stack remaining
2020-12-01 11:14:50 +11:00
Andrew Tridgell 84eac7642b HAL_ChibiOS: improved stack checking 2020-12-01 11:14:50 +11:00
Andrew Tridgell 3f775205e6 HAL_ChibiOS: fixed use of chHeapFree
should be free
2020-11-18 17:14:43 +11:00
Andrew Tridgell ee50eaf3c9 HAL_ChibiOS: go via AP_Filesystem for mount/unmount operations
this fixes a deadlock where a mount/unmount could access FATFS without
holding the AP_Filesystem semaphore
2020-10-27 10:45:03 +11:00
Andrew Tridgell 6bacf021c8 HAL_ChibiOS: disable thread_info in AP_Periph and bootloader 2020-04-29 07:36:55 +10:00