Andrew Tridgell
61c829d624
HAL_ChibiOS: only use SRAM4 for DMA for now
...
we can enable others when we have an allocation interface that
specifies the peripheral type
2021-04-07 17:10:45 +10:00
Iampete1
2377d33417
AP_HAL_ChibiOS: H7 set SRAM4 to no cache and allow DMA
2021-04-07 17:10:45 +10:00
Andy Piper
b3dbc21fa7
AP_HAL_ChibiOS: KakuteF7 bdshot configuration, tested by yaapu
2021-04-06 11:33:53 +10:00
Andrew Tridgell
45477f6063
HAL_ChibiOS: fixed default MSP port for f405-MatekGPS
2021-04-05 11:02:32 +10:00
Andrew Tridgell
ca948171fe
HAL_ChibiOS: fixed ADC error on revXY STM32H7 boards
...
with the new ChibiOS revision we were configuring for newer revisions
of the H7, which meant that we changed the ADC config. This broke ADC
readings on revX and revY H7 MCUs.
This PR fixes it in two ways:
1) change ChibiOS config to assume XY config chips
2) use 16 bit ADC for H7, which means the chip rev doesn't matter,
and also gives us 16x the resolution for ADC readinga, so we can
read smaller voltage and current values
2021-04-05 11:01:03 +10:00
willpiper
94bdca7f6f
AP_HAL_ChibiOS: tidy up beastF7 DMA channels
2021-04-04 16:51:19 +10:00
Andrew Tridgell
f0d6b79e8a
HAL_ChibiOS: fixed skyviper builds with BMM150
2021-03-30 13:31:50 +09:00
Andrew Tridgell
2d4dfe8a2a
HAL_ChibiOS: fixed (unused) FF_FS_TIMEOUT
...
this change was harmless as we don't define FF_FS_REENTRANT
2021-03-23 12:01:20 +11:00
Andrew Tridgell
ffb2876f58
HAL_ChibiOS: disable unused ChibiOS features
2021-03-23 12:01:20 +11:00
Andrew Tridgell
b4e4d48e52
HAL_ChibiOS: switch OMNIBUSF7V2 timer for RCIN
...
this avoids a conflict with shared interrupt on TIM1
2021-03-23 12:01:20 +11:00
Andrew Tridgell
ff31e10d9e
HAL_ChibiOS: ensure that RCIN DMA channel is not shared
...
RCIN DMA cannot be shared as it runs all the time
2021-03-23 12:01:20 +11:00
Andrew Tridgell
2842730868
HAL_ChibiOS: fixed F3 CAN build
2021-03-23 12:01:20 +11:00
Andrew Tridgell
2fc7ea1a8b
HAL_ChibiOS: added G4-ESC hwdef
2021-03-23 12:01:20 +11:00
Andrew Tridgell
ac9e6ba86d
HAL_ChibiOS: fix label for CCM on G4
2021-03-23 12:01:20 +11:00
Andrew Tridgell
f57b1b9c4b
HAL_ChibiOS: support logical/physical CAN bus mapping
...
allow for first CAN interface to be CAN2 or CAN3
2021-03-23 12:01:20 +11:00
Andrew Tridgell
2f7ff778be
HAL_ChibiOS: fixed bug in DMA resolver
...
idsets can be empty for a peripheral
2021-03-23 12:01:20 +11:00
Andrew Tridgell
439a944801
HAL_ChibiOS: added support for STM32G474 MCU
2021-03-23 12:01:20 +11:00
Andy Piper
e1d71486e4
AP_HAL_ChibiOS: build fixes for ChibiOS 20.3.x
2021-03-23 12:01:20 +11:00
Andrew Tridgell
5b59445471
AP_HAL_ChibiOS: fixes for build with 20.3.x ChibiOS
2021-03-23 12:01:20 +11:00
QioTek
fe30612bb0
AP_HAL_ChibiOS: release ICM20649 reserve sensor
...
BMI055 & BMI088 out of stock, release ICM20649 reserve sensor
2021-03-22 19:05:03 +11:00
Andrew Tridgell
bbd32844d1
HAL_ChibiOS: switch more boards to 32k FRAM
...
this enables the parameter backup/restore on those boards, as well as
more waypoints
This is in response to a report that CUAVv5 boards can suffer from the
parameter reset issue
2021-03-21 11:59:12 +11:00
Andy Piper
bb270014e7
AP_HAL_ChibiOS: make sure LEDs get a DMA channel on MatekH743-bdshot
2021-03-17 18:28:01 +11:00
Andrew Tridgell
8a8db85b9c
HAL_ChibiOS: fixed build of f103-trigger fw
2021-03-16 18:28:58 +11:00
Lava Chemist
4a52f945db
AP_HAL_ChibiOS: Add FlywooF745
2021-03-16 11:27:23 +11:00
Andy Piper
d6575fb6ad
AP_HAL_ChibiOS: bdshot configs for CubeYellow and mRoControlZeroH7
2021-03-03 18:02:26 +11:00
Andrew Tridgell
4fbdb59398
HAL_ChibiOS: prevent sharing the same DMA stream on TIMn_UP channels
...
this avoids an issue with DShot where we run the same DMA stream on
two timers at once
2021-03-02 11:58:38 +11:00
Andy Piper
6cb263056d
AP_HAL_ChibiOS: build fix for iomcu
2021-03-02 11:58:38 +11:00
Andy Piper
d0e4d510cf
AP_HAL_ChibiOS: order PWM timers by DMA UP stream id to prevent deadlocks in dshot
2021-03-02 11:58:38 +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
Mirko Denecke
edc2b0c94e
AP_HAL_ChibiOS: fix copy and paste typo
2021-02-23 08:15:50 +09:00
Andrew Tridgell
7af20e9ea3
HAL_ChibiOS: increase H7 serial buffer sizes
...
this takes better advantage of the new UART code. Log download over
USB gets to 730 kbyte/s. For comparison, with the 4.0 code on the same
H7 we get about 300 kbyte/s
2021-02-20 20:49:45 +11:00
Andrew Tridgell
5e0f175223
HAL_ChibiOS: adjust UART buffer sizes for new UART code
...
this gains about 20k of RAM, and has almost no impact on log download
speed at 921600 on a F427. The improved threading means we can afford
to have smaller buffers
2021-02-20 14:37:11 +11:00
Andy Piper
94de238751
AP_HAL_ChibiOS: disable RCOUT thread on iomcu and rebuild iomcu.
2021-02-20 14:37:11 +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
mateksys
7eb4e9b370
AP_Periph: set PORT defaults for F405-MatekGPS
2021-02-18 11:51:50 +11:00
mateksys
97c2b7228e
AP_Periph: Matek F303 and F405 AP_Periph use DSP310 baro
2021-02-18 11:51:50 +11:00
Michael du Breuil
c0da87c066
AP_HAL_ChibiOS: Update HitecMosaic to reflect changes to GPS config
2021-02-15 16:31:45 -07:00
Andrew Tridgell
9de1519928
HAL_ChibiOS: prevent hw flow control from hogging a DMA channel
...
When hw flow control is enabled check the CTS pin before we grab the
DMA channel to prevent a long timeout trying to send to a blocked port
from holding a DMA channel against another device
this fixes issue #16587
2021-02-15 07:23:56 +11:00
Andrew Tridgell
098a17fe2e
HAL_ChibiOS: fixed CubeOrange ADSB param name
2021-02-13 13:06:20 +11:00
Andy Piper
20d8696a0a
AP_HAL_ChibiOS: BeastH7 has DPS310 baro
2021-02-10 18:33:59 +11:00
Andrew Tridgell
814393c9c2
HAL_ChibiOS: switch from DPS280 to DPS310 in boards that use the DPS310
2021-02-09 11:37:07 +11:00
Andrew Tridgell
86fda93781
HAL_ChibiOS: added heater correction of AK09916
...
this fixes a problem with the internal compass being impacted by the
magnetic field from the heater
2021-02-09 11:32:19 +11:00
Andrew Tridgell
2ab8ad0ef0
HAL_ChibiOS: added Durandal pinout details
2021-02-09 07:14:02 +11:00
Michael du Breuil
623951a262
AP_HAL_ChibiOS: Add some extra GPS SBF config
2021-02-05 11:52:29 -07: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
Andy Piper
06a1500f98
AP_HAL_ChibiOS: ensure GPIO pins get undef'ed properly
...
minimise bi-directional dshot configs for:
CubeOrange
Durandal
MatekF405
MatekH743
OmnibusNanoV6
Pixracer
mRoPixracerPro
omnibusf4pro
CUAV-X7
2021-02-03 18:49:06 +11:00
Michel Pastor
41f7587637
ChibiOS: Add SWD pins to SuccexF4 bootloader
2021-02-03 18:37:46 +11:00
auturgy
24268cc6de
AP_HAL_ChibiOS: add MatekH743-periph hwdef
2021-02-03 18:17:44 +11:00
mateksys
b91c65b4a4
AP_HAL_ChibiOS: add f405-MatekGPS & MatekF405-CAN hwdef
2021-02-03 18:09:35 +11:00
huhen
9ba35580db
HAL_ChibiOS: Init kakutef7 motor pins for correct initialization of some ESCs
2021-02-03 13:13:32 +11:00
Andy Piper
6f5d5c2bf9
AAP_HAL_ChibiOS: allow asserts to be printed on a GPIO pin
2021-01-27 19:36:58 +11:00
Andy Piper
20d928a86a
AP_HAL_ChibiOS: don't share DMA on OmnibusNanoV6 for Flash SPI
2021-01-27 19:04:49 +11:00
Andy Piper
873d35acd9
AP_HAL_ChibiOS: bi-directional dshot for MatekH743
2021-01-27 18:58:38 +11:00
Andy Piper
877dde4736
AP_HAL_ChibiOS: on BeastF7 share TIM3 UP/CH and give flash SPI dedicated channel
2021-01-27 18:54:43 +11:00
Andy Piper
2823fa7245
AP_HAL_ChibiOS: never write bytes that have not been erased on H7
...
Be more careful about flash failure conditions on H7
2021-01-27 18:30:36 +11:00
Andy Piper
78735a946e
AP_HAL_ChibiOS: allow STM32_FLASH_DISABLE_ISR for H7
2021-01-27 18:30:36 +11:00
Andrew Tridgell
d81c2ee407
HAL_ChibiOS: allow for some embedded parameters on AP_Periph builds
2021-01-21 06:19:46 +11:00
bugobliterator
8b90eb23e0
AP_HAL_ChibiOS: distcc doesn't like lst generation commands
2021-01-20 19:21:14 +11:00
Andy Piper
9e641a32ad
AP_HAL_ChibiOS: don't share flash SPI on BeastH7 and compile with -Os
2021-01-20 18:12:57 +11:00
bugobliterator
c02c546077
AP_HAL_ChibiOS: add support for inline comments in hwdef.dat
2021-01-18 09:37:11 +11:00
bugobliterator
41693403e2
AP_HAL_ChibiOS: retain memory of past conflicts in dma_resolver
2021-01-18 09:37:11 +11:00
Andrew Tridgell
f93e2f6717
HAL_ChibiOS: enable 32k FRAM on H7 boards
2021-01-16 06:47:10 +11:00
pkocmoud
7b61a4d8c2
HAL_ChibiOS: support F7 with no crystal
2021-01-15 15:48:01 +11:00
Andy Piper
cb5be4fcc1
AP_HAL_ChibiOS: don't share IMU DMA on MatekH743 to avoid SPI DMA contention
2021-01-15 14:32:39 +11:00
Andy Piper
e781572d53
AP_HAL_ChibiOS: support iFlight BeastF7
...
reduce DMA contention on BeastH7 and correct sharing
add README's for BeastF7 and BeastH7
2021-01-13 18:09:33 +11:00
bugobliterator
4346264113
AP_HAL_ChibiOS: ensure UP and CH timer channels share DMA for H7
2021-01-12 10:45:03 +11:00
Andrew Tridgell
14433c3ae3
HAL_ChibiOS: enable ICM-40609 on mRoNexus
2021-01-11 14:43:35 +11:00
Andrew Tridgell
afbdd69165
AP_HAL_ChibiOS: adjust stack sizes
2021-01-10 08:28:55 +11:00
Andy Piper
8fb403c569
AP_HAL_ChibiOS: make sure BDMA channels are not adjacent
2021-01-10 08:11:37 +11:00
Andrew Tridgell
42bc9adfb7
HAL_ChibiOS: use ExpandingString for @SYS buffers
2021-01-05 10:52:00 +11:00
Andrew Tridgell
324ff178d8
HAL_ChibiOS: fixed CUAV_GPS defaults.parm
2021-01-03 16:24:12 -08:00
Tom Pittenger
113f792ad1
AP_HAL_ChibiOS: update periph targets who have buzzer/LEDs with notify
2021-01-03 16:24:12 -08:00
Hwurzburg
ce361e51bf
HAL_ChibiOS: Reinstate HAL_MINIMIZE_FEATURES for 1MB F7 boards
2021-01-02 08:57:47 +11:00
Andrew Tridgell
e260c7ad59
HAL_ChibiOS: update f303-MatekGPS to allow disable of MSP
...
and use DMA for MSP
2021-01-01 15:40:13 +11:00
David B. Bitton
8dbe0a71ba
AP_HAL_ChibiOS: add support for Toshiba LED
2020-12-31 11:02:10 -08:00
Andy Piper
401e5c2073
AP_HAL_ChibiOS: add support for bidir DShot support in RCOutput
...
add support for sampling GPIO pins using timer
don't restart pwm group when not doing bi-dir
fix hwdef generation preproc for TIM DMA
decode telemetry at the start of the dshot cycle
calculate dshot pulse separation correctly and ensure we output rapidly enough
calculate dshot min periods and timeouts correctly
refactor dshot_send() into dshot_send_groups()
use bi-dir dshot channel mask
selectively enable bi-dir RC Channels
process bi-dir mask correctly when allocating DMA channels
allow UP and CH DMA channel sharing
optionally enable bidir vars in hwdef.
enable bi-dir dshot in KakuteF7Mini
enable bi-dir dshot in OmnibusF4Pro
enable bi-dir dshot in OmnibusNanoV6
enable bi-dir dshot in MatekF405
enable bi-dir dshot in fmuv5
enable bi-dir dshot in fmuv3
enable bi-dir dshot in OmnibusF7V2
enable bi-dir dshot in OmnibusNanoV6
enable bi-dir dshot in CubeOrange
enable bi-dir dshot in Pixracer
enable bi-dir dshot in mRoPixracerPro
Co-authored-by: bugobliterator <siddharthbharatpurohit@gmail.com>
2020-12-30 19:14:16 +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
a4b2930223
AP_HAL_ChibiOS: iFlight Beast H7 AIO hwdef
2020-12-30 18:13:03 +11:00
ukmook
bf34041211
AP_HAL_ChibiOS: add support for Pixracer-periph
2020-12-29 07:52:39 -07:00
Tom Pittenger
5432c9957a
AP_HAL_ChibiOS: rename AP_PERIPH_<feature>_DEFAULT to HAL_PERIPH_<feature>_DEFAULT
2020-12-28 09:16:02 +11:00
Tom Pittenger
083088bfff
AP_HAL_ChibiOS: adjust defaults to use param instead of hardcoded defaults
2020-12-25 16:24:50 -07:00
Ari Krupnik
79e1f5e8bd
AP_HAL_ChibiOS: standard spelling of variant
2020-12-25 00:01:50 +11:00
Phillip Kocmoud
062c6cef41
HAL_ChibiOS: Fix typo relating to pin PB7:I2C4_SDA
2020-12-23 06:43:19 +11:00
Siddharth Purohit
5b58163c35
AP_HAL_ChibiOS: add HAL_PERIPH_ENABLE_RCOUT_TRANSLATOR to CubeBlack-periph and CubeOrange-periph
2020-12-21 18:27:07 -08:00
Tom Pittenger
da74d755d0
AP_HAL_ChibiOS: add new HAL_PWM_COUNT define
2020-12-21 18:27:07 -08:00
Tom Pittenger
f670f7a9b6
AP_HAL_ChibiOS: change ADSB to use param ADSB_PORT instead of define
2020-12-17 23:24:04 -08:00
Tom Pittenger
5c98e18236
AP_HAL_CubeORange-periph: enable HAL_PERIPH_ALLOW_MAVLINK_UART_OR_USB_REBOOT_CMD on USB
2020-12-18 06:59:09 +11:00
Andrew Tridgell
b4201436dd
HAL_ChibiOS: fixed flash space on 16k bl boards
...
this avoids the stm32_flash_recent_erase() function which added around
800 bytes to the bootloader. It is not needed
2020-12-17 12:51:25 +11:00
Sebastian Witt
6cfaae4e7d
AP_HAL_ChibiOS: Support for Diatone MambaF405 MK2
2020-12-16 19:07:07 +11:00
Andrew Tridgell
e54fc4b0de
AP_HAL_ChibiOS: convert to using hal.serial() instead of hal.uartX
2020-12-15 10:32:46 +11:00
Phillip Kocmoud
ce87b62dcc
AP_Periph: Add alternate ordering of NCP5623 LED colors
2020-12-12 14:57:35 +11:00
Tom Pittenger
68b2982cc6
AP_HAL_ChibiOS: CubeBlack/Orange-periph to use default HAL_SUPPORT_RCOUT_SERIAL
2020-12-09 07:53:09 -08:00
Tom Pittenger
2203bf2400
AP_HAL_ChibiOS: Add f303-periph default RANGEFINDER_MAX_INSTANCES 1
2020-12-09 18:05:24 +11:00
Andrew Tridgell
0c440d5675
HAL_ChibiOS: cope with flash erase in expected delay
...
when there has been a flash erase when we are definately in an
expected delay
2020-12-08 13:22:36 +11:00
Andrew Tridgell
b4de6fb56a
HAL_ChibiOS: added new option DEFAULTGPIO for hwdef.dat
...
this allows ESD issues to be avoided by pulling all unused pins low
2020-12-08 11:21:57 +11:00
Andrew Tridgell
f44e4aaefb
HAL_ChibiOS: always set STM32_DMA_REQUIRED for non-bootloader
...
this fixes an issue for uart-only AP_Periph builds
2020-12-08 10:27:27 +11:00
Andrew Tridgell
b1e7b508db
HAL_ChibiOS: added HitecMosaic
2020-12-06 16:48:08 +11:00
Andrew Tridgell
1723cf8efb
HAL_ChibiOS: reduce SPI clock on MatekH743 mpu6k to 2MHz
...
this fixes regular transfer errors
2020-12-06 13:04:52 +11:00
Tom Pittenger
e235fd311e
AP_HAL_ChibiOS: fixed comment in script file
2020-12-03 20:33:51 +11:00
Andrew Tridgell
6765265a3b
AP_Periph: switched to 1kHz clock for f303-periph
...
and use CAN RX buffer size of 64.
This makes for more efficient CPU usage on f3, and fixes an issue with
lost CAN parameter replies causing timeouts in the CAN parameter
download protocol
2020-12-03 20:00:55 +11:00