Commit Graph

1144 Commits

Author SHA1 Message Date
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
Andrew Tridgell
b289701d20 HAL_ChibiOS: removed SPI devices on f103-periph
these are unused and saves us a couple of k of flash
2020-12-03 15:50:50 +11:00
Phillip Kocmoud
38dd3b9209 hwdef: add mRo Control Zero Classic 2020-12-01 15:19:50 +11:00
Phillip Kocmoud
bef522387a hwdef: add mRo Control Zero H7 2020-12-01 14:46:55 +11:00
Andrew Tridgell
cf22caa7ef HAL_ChibiOS: raise stack limits in f303 peripherals 2020-12-01 11:14:50 +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
c778d14fd3 HAL_ChibiOS: enable stack checking on f303 boards 2020-12-01 11:14:50 +11:00
Andrew Tridgell
573cd6db6d HAL_ChibiOS: adjust MAIN_STACK for more ISR stack
we need more stack to deal with interrupt nesting between CAN, system
timer and serial interrupts
2020-12-01 11:14:50 +11:00
Andrew Tridgell
2a29b0fcf5 HAL_ChibiOS: fixed AP_Periph build with --enable-asserts 2020-12-01 11:14:50 +11:00
Andrew Tridgell
4d171ec19a AP_HAL_ChibiOS: support uartI, allowing a total of 9 uarts
this allows for OTG2 on the MatekH743 board, which makes SLCAN much
easier
2020-11-30 14:09:31 +11:00
Phillip Kocmoud
c9182b39d5 hwdef: mRo Control Zero H7 OEM - update and improve uniformity 2020-11-30 08:48:36 +11:00
Phillip Kocmoud
b55920165a hwdef: mRo Pixracer Pro - update and improve uniformity 2020-11-30 08:48:36 +11:00
Phillip Kocmoud
a379bb8fc5 hwdef: mRo Control Zero F7 update and improve uniformity 2020-11-28 20:28:22 +11:00
Andrew Tridgell
a587195912 HAL_ChibiOS: change f303-MatekGPS to 5Hz by default 2020-11-27 19:41:33 +11:00
Tom Pittenger
67405cedb2 AP_HAL_ChibiOS: add AP_BattMonitor support to CubeBlack&Orange-periph 2020-11-25 14:20:53 +11:00
斯东Stone
4990048efb HAL_ChibiOS: Correct a typo and Update product link url for PH4-mini 2020-11-24 12:48:11 +11:00
QioTek
e4f4868d9b HAL_ChibiOS: add QMC5883L on QioTekZealotF427
add QMC5883L on QioTekZealotF427
2020-11-22 06:10:34 +11:00
Marek Łukasiewicz
64f208cbec HAL_ChibiOS: Add af_parse for CubeMX pinout csv 2020-11-18 18:39:07 +11:00
Phillip Kocmoud
701ab83f01 HAL_ChibiOS: Added support for mRo ControlZero OEM H7 flight controller 2020-11-18 18:28:24 +11:00
Andrew Tridgell
408f8b3940 HAL_ChibiOS: added check for overwrite of nullptr on H7
the STM32H7 has 64k of ITCM memory at address zero. We allow
allocation of everything except the first 1024 bytes. This checks for
those reserved bytes being overwritte, which would indicate a write to
nullptr
2020-11-18 17:14:43 +11:00
Andrew Tridgell
95a823a702 HAL_ChibiOS: added link list of all memory allocations
check all allocations for corruption on free() and malloc_check()
2020-11-18 17:14:43 +11:00
Andrew Tridgell
ce3e1a69ec HAL_ChibiOS: added memory guard system 2020-11-18 17:14:43 +11:00
Huibean
cf2b89c4f1 AP_HAL_ChibiOS:add mazzy star drone hwdef 2020-11-17 17:57:07 +11:00
Tom Pittenger
e0e3c23a87 AP_HAL_ChibiOS/hwdef: fix misprint in comment 2020-11-14 08:00:40 +11:00
Marek Łukasiewicz
8813057b4c AP_HAL_ChibiOS: Tweak sorting to be py2/py3 compatible 2020-11-12 10:27:31 +11:00
Andrew Tridgell
17b4198921 HAL_ChibiOS: add WITH_FATFS to environment 2020-11-10 16:15:45 +11:00
Andrew Tridgell
bb3b59966f HAL_ChibiOS: define INS_MAX_INSTANCES if less than 3
save some flash and memory
2020-11-10 16:15:45 +11:00
Andrew Tridgell
cb034c50a7 HAL_ChibiOS: fixed orientation of compass on M10070B 2020-11-08 16:13:17 +11:00
Andrew Tridgell
3b7b2b89a5 HAL_ChibiOS: added baro for mRo Location-one GPS 2020-11-08 16:13:17 +11:00
Phillip Kocmoud
c192efea0a hwdef:PixracerPro - Fix analog volt pin assignments 2020-11-03 08:17:54 +11:00
Andrew Tridgell
46976c4358 HAL_ChibiOS: fixed remapping of ioline_t with BRD_ALT_CONFIG
when a peripheral is made available via BRD_ALT_CONFIG we need to
remap the existing ioline_t in the UART and I2C drivers to use the new
pin.

This fixes an issue with half-duplex, inverted, swapped UART pins for
protocols like FPort and FPort2
2020-10-28 19:51:45 +11:00
Andrew Tridgell
96f7397099 HAL_ChibiOS: make PowerC primary power on CUAV-X7
CUAV considers the CAN power to be the main power for this board
2020-10-24 08:27:21 +11:00
Michael Oborne
b383db15c7 ChibiOS: fix cubeblack+ name and usbid 2020-10-24 08:26:55 +11:00
Andrew Tridgell
fb1dcdb059 HAL_ChibiOS: added BL suffix to bootloader USB IDs for two boards
our convention is to have -BL on end of USB product IDs in bootloaders
2020-10-13 17:59:13 +11:00
Andrew Tridgell
418bd33c43 HAL_ChibiOS: fix CUAV-X7 power bits 2020-10-13 17:58:30 +11:00
bugobliterator
5880628b01 hwdef: add support for CubeBlack-periph 2020-10-08 09:31:35 +11:00
QioTek
f04de7d610 HAL_ChibiOS: Add QioTekZealotF427 build target
I've added the hwdef to support the QioTekZealotF427

It has 3 IMU sensors(ICM20698,ICM20602,BMI055), a Compass(Ist8310),
2Baro sensors(DSP310,MS5611), an integrated analog OSD, 14motor
outputs, 4Relay output, 5uarts, 2Power Module input, an i2c, a Can.
2020-10-05 07:41:06 +11:00