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
Andrew Tridgell
d82cd1363b
HAL_ChibiOS: fixed bootloader build
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
1540cf958b
HAL_ChibiOS: improve error messages for flashing bootloader
...
send progress as statustext messages
2020-03-11 16:30:06 +11:00
Andrew Tridgell
64aae4f67e
HAL_ChibiOS: removed heater control
2019-11-02 16:31:04 +11:00
Andrew Tridgell
378d5c7a5a
HAL_ChibiOS: added expected delay in bootloader flash
2019-10-25 21:36:55 +11:00
Andrew Tridgell
81325ab14d
HAL_ChibiOS: fixed multi-page bootloader update
...
and use new enum
2019-10-25 21:36:55 +11:00
Andrew Tridgell
49e669aa1f
HAL_ChibiOS: support uncompressed bootloader on f103-periph
...
this allows update with very low memory
2019-10-24 22:03:43 +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
Andrew Tridgell
d2fe47d2e0
HAL_ChibiOS: dither heater pins to prevent magnetic impact
2019-07-12 12:46:27 +10:00
Andrew Tridgell
48302427c7
HAL_ChibiOS: rename to EXPECT_DELAY_MS()
2019-05-15 15:33:48 +10:00
Andrew Tridgell
1b8cbfc6a4
HAL_ChibiOS: use EXPECT_DELAY() macro
2019-05-15 15:33:48 +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
Jaaaky
464540ab56
AP_HAL_ChibiOS: tune delay for flashing bootloader
...
As the function can internally loop for 10 seconds
2019-05-01 14:23:20 +10:00
Andrew Tridgell
352546c9f0
HAL_ChibiOS: removed unsafe ISR disable for bl update
...
can't disable interrupts and call a fn that takes a mutex
2019-04-22 16:53:35 +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
3b5463f061
HAL_ChibiOS: allow for delay in bootloader flash
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
7c726b2f42
HAL_ChibiOS: use hal.flash API
2019-04-11 13:22:53 +10:00
Andrew Tridgell
edd793c152
HAL_ChibiOS: fixed fallback to microSD for storage
...
this is used when FRAM fails on a board with microSD support. The
double init caused the validate() in the FATFS code to fail
2019-04-07 13:37:57 +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
5201fdf653
HAL_ChibiOS: adjust for changed flash API
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
Siddharth Purohit
1a20fb4ea9
HAL_ChibiOS: disable flash methods where there is no Flash API support
2018-09-19 12:14:15 +10:00
Siddharth Purohit
2604b00b43
HAL_ChibiOS: use ch.h header for oslib api
2018-08-03 13:44:59 +10:00
Siddharth Purohit
5f88163e17
HAL_ChibiOS: update configuration and rtlib headers for ChibiOS 18.x.x
2018-08-03 13:44:59 +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
5d8b4c1e23
HAL_ChibiOS: ensure system_id is nul terminated
2018-07-10 15:40:08 +10:00
Andrew Tridgell
27c435e217
HAL_ChibiOS: use compressed ROMFS for bootloader update
2018-07-09 19:41:56 +10:00
Andrew Tridgell
fbf24f0492
HAL_ChibiOS: make serial number match HAL_PX4
2018-07-06 09:02:11 +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
bb0cbd15a4
HAL_ChibiOS: implement fmuv4 safety state
...
and added safety_mask and safety_pwm support for both fmuv3 and fmuv4
2018-04-17 10:14:01 +10:00
Andrew Tridgell
e4ce2f532b
HAL_ChibiOS: make smaller builds possible
...
this allows for much smaller builds when you disable a lot of
options. This is part of an effort to create a bootloader of less than
16k using ChibiOS
2018-04-12 11:50:44 +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
8dae3fe59b
HAL_ChibiOS: use calloc for malloc type
...
this is not strictly necessary on ChibiOS as we already override
malloc, but will keep static analysis happy
2018-01-17 11:22:05 +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
6dbab450a5
Hal_Chibios: use AP_BoardConfig::io_enabled()
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