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
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
155de6d2bc
HAL_ChibiOS: fixed build of AP_Periph on H7
2021-01-27 18:24:03 +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
cf2602f91d
AP_HAL_ChibiOS: add support for @SYS/dma.txt for DMA contention
2020-12-02 18:17:23 +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
Andrew Tridgell
f0c9f4003e
HAL_ChibiOS: implement thread_info()
2020-04-29 07:36:55 +10:00
bugobliterator
89d03f0243
AP_HAL_ChibiOS: implement standard realloc method
2020-03-24 10:32:14 +11:00
Andrew Tridgell
64aae4f67e
HAL_ChibiOS: removed heater control
2019-11-02 16:31:04 +11:00
Andrew Tridgell
81325ab14d
HAL_ChibiOS: fixed multi-page bootloader update
...
and use new enum
2019-10-25 21:36:55 +11:00
Mirko Denecke
b84dcd483d
AP_HAL_ChibiOS: remove unnecessary tabs and whitespaces
2019-10-21 08:01:56 +11:00
Andrew Tridgell
16bdaaa1af
HAL_ChibiOS: added support for STM31F10x for AP_Periph
2019-08-27 10:29:56 +10:00
Peter Barker
54b200a777
AP_HAL_ChibiOS: add missing uavcan-related override keywords
2019-08-14 16:33:29 +10:00
Andrew Tridgell
d2fe47d2e0
HAL_ChibiOS: dither heater pins to prevent magnetic impact
2019-07-12 12:46:27 +10:00
Andrew Tridgell
dbfe6b8019
HAL_ChibiOS: implement persistent_data for watchdog
...
this is a much simpler approach to persistent data
2019-05-15 15:33:48 +10:00
Andrew Tridgell
508aae8f2a
HAL_ChibiOS: added save/restore of attitude in backup registers
2019-04-22 16:53:35 +10:00
Andrew Tridgell
2778a1b01e
HAL_ChibiOS: save/restore home position in backup registers
...
# Conflicts:
# libraries/AP_HAL_ChibiOS/hwdef/common/stm32_util.c
2019-04-22 16:53:35 +10:00
Andrew Tridgell
9ca67dc811
HAL_ChibiOS: implement was_watchdog_armed()
2019-04-22 16:53:35 +10:00
Andrew Tridgell
1acb7e977f
HAL_ChibiOS: added ability to restore safety state on watchdog reset
2019-04-22 16:53:35 +10:00
Andrew Tridgell
03886f241e
HAL_ChibiOS: implement was_watchdog_reset()
2019-04-22 16:53:35 +10:00
Andrew Tridgell
cda1959629
HAL_ChibiOS: added support for more flexible memory regions
...
this allows for an arbitrary number of memory regions, with each one
flagged as DMA safe, fast or normal
2019-02-26 16:18:26 +11:00
Andrew Tridgell
dde97d2b0e
HAL_ChibiOS: support FMU heater pins
2019-02-22 10:27:17 +11:00
Michael du Breuil
e8373e1fdf
AP_HAL_ChibiOS: add scripting heap
2018-12-31 19:25:23 -07:00
Andrew Tridgell
24f6d6d647
HAL_ChibiOS: support microSD slowdown
...
allow use of BRD_SD_SLOWDOWN to slow down clock on microSD
2018-12-31 08:00:14 +11:00
Siddharth Purohit
3b2fdc9c70
HAL_ChibiOS: add support for unformatted board id
2018-11-29 16:36:29 +11:00
Andrew Tridgell
4416404137
HAL_ChibiOS: removed hal.util->new_semaphore()
...
replaced with HAL_Semaphore
2018-10-17 12:54:22 +11:00
Siddharth Purohit
1a20fb4ea9
HAL_ChibiOS: disable flash methods where there is no Flash API support
2018-09-19 12:14:15 +10:00
Andrew Tridgell
dabdb969f6
HAL_ChibiOS: added support for HAL_Semaphore type
2018-08-16 12:40:10 +10:00
Andrew Tridgell
c83567dcba
HAL_ChibiOS: added duration to toneAlarm_set_buzzer_tone
2018-07-30 14:02:12 +10:00
Jonathan Challinger
f5f6220283
AP_HAL_ChibiOS: reflect changes to AP_HAL tonealarm interface
2018-07-30 14:02:12 +10:00
Andrew Tridgell
4244daeb2d
HAL_ChibiOS: support playing tunes by string
2018-07-20 14:37:16 +10:00
Andrew Tridgell
e5435e02ad
HAL_ChibiOS: report system ID in mavlink and logs
2018-06-29 20:27:36 +10:00
Peter Barker
f07b6f3d78
AP_HAL_ChibiOS: add support for flashing bootloader
2018-06-28 11:35:13 +10:00
Andrew Tridgell
00d919018b
HAL_ChibiOS: added RTC clock implementation
2018-06-15 08:01:22 +10:00
Andrew Tridgell
2493cdbcb6
HAL_ChibiOS: switch to new bouncebuffer system
...
this removes the dma_flush and dma_invalidate methods and uses a
common bouncebuffer system for all CPU types. This enables microSD
support on STM32F7
2018-06-06 07:15:41 +10:00
Andrew Tridgell
eec4a12cc2
HAL_ChibiOS: switched to using DTCM memory for DMA
...
this uses SRAM1 and SRAM2 for main memory, which enables the use of the
data cache for faster operation, and using DTCM for all DMA operations.
2018-06-06 07:15:41 +10:00
Andrew Tridgell
a220220758
HAL_ChibiOS: added comment on IS_DMA_SAFE()
2018-06-06 07:15:41 +10:00
Mark Whitehorn
59b2d44323
AP_HAL_ChibiOS: make ToneAlarm compilation conditional on presence of
...
alarm pin
2018-02-11 14:55:23 +11:00
Mark Whitehorn
fb142422f6
AP_HAL_ChibiOS: pull ALARM_CHANNEL into pwmGroup
...
and improve formatting of HAL_PWM_ALARM in hwdef.h
2018-02-11 14:55:23 +11:00
Mark Whitehorn
8b216cf182
AP_HAL_ChibiOS: add ToneAlarm thread
...
fmuv4 hwdef.dat: remove PWM label from buzzer output pin
add buzzer pin labeled ALARM
remove timer PWM from HAL_PWM_GROUPs
2018-02-11 14:55:23 +11:00
Andrew Tridgell
f14a847b97
HAL_ChibiOS: rename classes to remove 'Chibi'
...
it is redundent as all classes are in ChibiOS namespace, and makes the
code harder to read
2018-01-15 11:46:02 +11:00
bugobliterator
5feef04f5f
HAL_ChibiOS: add support for CCM memory
...
this uses DMA bounce buffers for bus transfers, and falls back to CCM
ram in allocations if the type is unspecified
2018-01-15 11:46:02 +11:00
Andrew Tridgell
8b6bab7b17
HAL_Chibios: added ChibiOS HAL
...
this is based on initial work by Sid, reset here for easier merging
2018-01-15 11:46:02 +11:00