Commit Graph

1393 Commits

Author SHA1 Message Date
Siddharth Purohit faedb12493 AP_HAL_ChibiOS: fix hwdef generation for bootloader supporting ext flash 2021-09-01 17:10:53 +10:00
Siddharth Purohit 6e81fcbed1 AP_HAL_ChibiOS: add support for things required to run QSPIDriver 2021-09-01 17:10:53 +10:00
Siddharth Purohit a039711628 AP_HAL_ChibiOS: prepare H757I_EVAL for external flash programming 2021-09-01 17:10:53 +10:00
Andrew Tridgell fdfa14c4c0 HAL_ChibiOS: adjust Swan-K1 tuning 2021-09-01 14:04:35 +10:00
Andrew Tridgell 584fb7cd7b HAL_ChibiOS: use more USB buffers on higher end F7 chips 2021-08-31 10:12:00 +10:00
Andrew Tridgell 39f44147b8 HAL_ChibiOS: reduce the impact of UART DMA contention
this changes the heuristics for UART TX DMA allocation to greatly
reduce the chances of DMA contention causing long delays on other
devices

This fixes issues with FETTec driver output and gimbal status messages
as reported by Amilcar and OlliW. The problem is particularly bad when
no GPS is connected to GPS1 on fmuv3 and derived boards (such as
CubeBlack)

key changes:

 - remember the contention_counter across begin() calls, as the GPS
   calls begin with new baudrates regularly

 - added a is_shared() API to Shared_DMA, allowing the UART driver to
   avoid TX DMA on shared streams when at low baudrates.
2021-08-31 07:55:27 +10:00
Marek Łukasiewicz 5de6c690d8 HAL_ChibiOS: Rename STM32F412 hw definition file 2021-08-30 10:27:45 +10:00
bugobliterator fd95c32d88 AP_HAL_ChibiOS: add CubeOrange Periph Heavy build 2021-08-27 09:17:30 -07:00
Andrew Tridgell 858a6b7e87 HAL_ChibiOS: allow FlywooF745 to build again 2021-08-27 07:45:58 +10:00
Marek S. Łukasiewicz 47f2e13024 HAL_ChibiOS: Add hwdef for BirdCANdy 2021-08-26 09:43:39 +10:00
bugobliterator a32a32ab43 HAL_ChibiOS: change name for USART2_CTS pin in STM32H757xx.py 2021-08-25 10:09:23 +10:00
bugobliterator 21ad3c7ac1 AP_HAL_ChibiOS: add HereID board 2021-08-25 10:09:23 +10:00
Andrew Tridgell e9427f1dae HAL_ChibiOS: removed remnants of CHIBIOS_ADC_MAVLINK_DEBUG 2021-08-25 07:11:31 +10:00
Andrew Tridgell 4cebcede31 HAL_ChibiOS: switched to fix allocation for BMDA streams on H7
this avoids issues with BDMA stream assignments due to bugs found
while testing boards with both I2C4 and SPI6
2021-08-25 07:11:31 +10:00
Andrew Tridgell 57e87b9820 HAL_ChibiOS: measure MCU temperature and ref voltage on H7
this uses ADC3 to measure the internal MCU temperature and the reference
voltage. This uses a currently unused BDMA channel
2021-08-25 07:11:31 +10:00
Andrew Tridgell 531ca4289e HAL_ChibiOS: switch to minimum scheduling delta of 10us
this avoids an issue with the ChibiOS 20.3 virtual timer
implementation that can result in a scheduling slip equal to the
system timer period.

Andy has been suggesting this change for a while. I resisted it as I
thought it would impact on soft-serial parsing, but it turns out it
doesn't.

Fixes issue #18383
2021-08-23 10:45:44 +10:00
Peter Barker 70aef84997 AP_HAL_ChibiOS: remove definitions of BOARD_PWM_COUNT_DEFAULT
No longer used
2021-08-20 10:51:19 +10:00
Andy Piper 0279c86f7f AP_HAL_ChibiOS: use hardware serial inversion pins on F4 boards that support it
change mamba F405 to active high as per betaflight
2021-08-19 17:05:42 +10:00
bugobliterator d64621e349 HAL_ChibiOS: remove duplicate FLASH_RESERVE_START_KB from hwdef 2021-08-19 14:20:58 +10:00
bugobliterator 4f65705c99 AP_HAL_ChibiOS: set proper name for CAN terminators on HerePro 2021-08-19 14:20:58 +10:00
bugobliterator c7907bb8fb AP_HAL_ChibiOS: update config for dual gps heading in HerePro 2021-08-19 14:20:58 +10:00
Andy Piper b78d848a5d AP_HAL_ChibiOS: add FlywooF745Nano board definition 2021-08-18 17:06:09 +10:00
Randy Mackay a1eb84ebfd AP_HAL_ChibiOS: swap Pixhawk4 blue and red LEDs 2021-08-17 10:13:39 +10:00
Dr.-Ing. Amilcar do Carmo Lucas 38a825c987 AP_HAL_ChibiOS: disable FETtec OneWire device driver 2021-08-13 16:22:37 +10:00
Andrew Tridgell 79b0571d7e HAL_ChibiOS: added Swan K1 support 2021-08-10 10:08:05 +10:00
Andy Piper 7dea029626 AP_HAL_ChibiOS: probe for compasses on FlywooF745 2021-08-10 09:35:06 +10:00
Leonard Hall 4e06140c6c AP_Hal_ChibiOS: Skyviper Parameters PSC_VELXY_FLTE 2021-08-10 08:33:56 +09:00
QioTek 30e23052a0 AP_HAL_ChibiOS: add Icm42605 as a backup to replace icm20649
AP_HAL_ChibiOS: add Icm42605 as a backup to replace icm20649
2021-08-10 07:00:52 +10:00
Andrew Tridgell eb638a5267 HAL_ChibiOS: added CubeMX files for G431 and G441 2021-08-03 10:54:03 +10:00
Andrew Tridgell 8df99f0d15 HAL_ChibiOS: added G431 and G441 support 2021-08-03 10:54:03 +10:00
Andrew Tridgell 4df62ce719 HAL_ChibiOS: added mRo-M10095 G491 peripheral 2021-07-30 10:20:52 +10:00
Andrew Tridgell 4fce1ae092 HAL_ChibiOS: added G491 support 2021-07-30 10:20:52 +10:00
Hwurzburg 8b7b4d6796 AP_HAL_Chibios: Change RC in to RCINT to free a DMA channel 2021-07-28 17:24:06 +10:00
mateksys 08cd1171bf Tools: added MatekF765-SE to autobuild 2021-07-26 18:13:46 +10:00
Isaac Alich 35beae6037 AP_HAL_ChibiOS: Make final tweaks to MambaF405US-I2C 2021-07-25 17:44:22 +10:00
Isaac Alich bdcb32456e AP_HAL_ChibiOS: Add support for MambaF405US-I2C based boards 2021-07-25 09:28:17 +10:00
Andrew Tridgell bbcce717dc HAL_ChibiOS: stop defaulting relay pins to 54 and 55
this just leads to confusion
2021-07-22 07:48:12 +10:00
bugobliterator 48b8fdfd48 AP_HAL_ChibiOS: make linecoding objects static arrays 2021-07-21 17:06:41 +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
honglang ef109721fe AP_HAL_ChibiOS: hwdef: reorder CUAV-X7 IMUs
adjust the sequence of IMU sensors to have good performance.
2021-07-20 16:10:50 +10:00
Andrew Tridgell a098c80671 HAL_ChibiOS: use DNA for node allocation on Matek GPS
this works as MSP is now active when a DNA server is not found
2021-07-15 14:38:11 +10:00
Andrew Tridgell 4f32fa537a HAL_ChibiOS: define HAL_HAVE_HARDWARE_DOUBLE on F765, F777 and H7 2021-07-10 07:20:41 +10:00
Andrew Tridgell 6c712c9001 HAL_ChibiOS: use SRAM1 as first ram segment on H7
this is needed to give the linker more than 128k for static variables
with double precision maths.
2021-07-10 07:20:41 +10:00
mateksys 40200654af AP_HAL_ChibiOS: add MatekF765-SE hwdef as a variant of MatekF765-Wing 2021-07-08 13:01:44 +10:00
Andy Piper e9f0c59e61 AP_HAL_ChibiOS: re-enable LEDs on MatekF405-bdshot 2021-07-06 10:10:04 +10:00
Siddharth Purohit 9b2359b34c AP_HAL_ChibiOS: allow option to enable ChibiOS features in bootloader 2021-07-02 08:50:16 +10:00
Siddharth Purohit 1a1dd76a4c AP_HAL_ChibiOS: add initial herepro hwdef 2021-07-02 08:50:16 +10:00
Andrew Tridgell b4b02b4ffc HAL_ChibiOS: use nargs='+' for chibios_hwdef.py 2021-07-01 09:33:16 +10:00
willpiper ce1ee6334f AP_HAL_ChibiOS: addressed reviewed comments 2021-07-01 09:33:16 +10:00
willpiper fb4a4e609a AP_HAL_ChibiOS: added --extra-hwdef option 2021-07-01 09:33:16 +10:00
Siddharth Purohit 245f9d21b3 AP_HAL_ChibiOS: update clock config for FDCAN and External Flash 2021-06-30 19:34:36 +10:00
Siddharth Purohit 263fbbbdb0 AP_HAL_ChibiOS: add echo safe debug flag bouncebuffer 2021-06-30 19:33:17 +10:00
Siddharth Purohit c962292bae AP_HAL_ChibiOS: add support for H757I Evaluation board 2021-06-30 19:33:17 +10:00
Siddharth Purohit abc26d1993 AP_HAL_ChibiOS: add QSPI Device Driver in HAL 2021-06-30 19:33:17 +10:00
Siddharth Purohit 4cb48da984 modules: update ChibiOS 2021-06-30 19:33:17 +10:00
Siddharth Purohit 0e4fbe7c46 AP_HAL_ChibiOS: allow using internal compasses onboard 2021-06-30 17:06:02 +10:00
bugobliterator 7e8f11b749 AP_HAL_ChibiOS: allow embedded bootloader to be excluded
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2021-06-24 08:36:30 +10:00
Andrew Tridgell ed93caadd5 HAL_ChibiOS: fixed build of VRUBrain-v51
overflowing flash
2021-06-21 16:48:10 -07:00
Andy Piper 3386cbb0df AP_HAL_ChibiOS: add OREO support to CubeSolo.
add back RunCam and Spektrum support to MatekF405-Wing
remove gripper support from MatekF405-Wing
2021-06-16 20:25:58 +10:00
Samuel Tabor 3fc58de7ce AP_HAL_ChibiOS: Restore soaring on F405-Wing board. 2021-06-16 09:15:03 +10:00
Andy Piper d36b4bfa3f AP_HAL_ChibiOS: make sure all MatekF405 bi-dir outputs get a DMA channel
only allow (b)dshot on M1-4 to get full DMA on USART3 and UART4
2021-06-15 09:49:02 +10:00
Dr.-Ing. Amilcar do Carmo Lucas d363cbadcc AP_HAL_ChibiOS: Disable un-needed hardware drivers in SkyViper builds
these boards have integrated ESCs with no telemetry
2021-06-09 21:42:51 +10:00
Tom Pittenger 1feec460c4 AP_HAL_ChibiOS: enable BattMon MPPT PacketDigital to CubeOrange-periph 2021-06-09 18:36:18 +10:00
Andrew Tridgell f09abc705b HAL_ChibiOS: bring us to 18k free for MatekF405-Wing plane build 2021-06-09 18:07:00 +10:00
Peter Barker 09e82e52e1 AP_HAL_ChibiOS: disable AP_EFI on MatekF405-Wing and omnibusf4pro 2021-06-08 14:08:34 +10:00
Peter Barker 3ba57fed89 AP_HAL_ChibiOS: add support for AP_Logger into AP_Periph 2021-06-08 09:57:55 +10:00
Andrew Tridgell c34d8e80e9 HAL_ChibiOS: fixed serial info indexing for EMPTY uarts 2021-06-05 18:52:33 +10:00
Andrew Tridgell a895bc1846 HAL_ChibiOS: reduce flash on VRBranin-v51 2021-06-05 13:05:30 +10:00
honglang 847ce3b311 AP_HAL_ChibiOS: CUAV X7/Nora: use icm42688 instead of bmi088 2021-06-03 13:57:27 +10:00
CUAVcaijie 0ff38e1379 HAL_ChibiOS: CUAV ICM20649 on SPI6 bus replaced by ICM20689
alternative IMUs for Nora and X7
2021-06-02 10:49:55 +10:00
Andrew Tridgell 5529ba36e2 HAL_ChibiOS: added HolybroGPS AP_Periph port 2021-06-01 09:19:51 +10:00
Andrew Tridgell 23c0f257b6 HAL_ChibiOS: default off serial protocols in AP_Periph
this allows for a GPS on high numbered ports
2021-06-01 09:19:51 +10:00
Andrew Tridgell ac1e03e16a HAL_ChibiOS: move heater gains on CubeOrange to hwdef.dat
this makes it easier for users using apjtool to override params
2021-06-01 08:07:49 +10:00
Andrew Tridgell 244d896bfb HAL_ChibiOS: enable heater on Pix32v5 2021-06-01 08:07:49 +10:00
Michael Oborne 126456742a Hwdef: add Joey 2021-05-27 14:19:55 +10:00
Andrew Tridgell 91dce554d1 HAL_ChibiOS: removed unnecessary USB product IDs from boards 2021-05-27 09:30:30 +09:00
Andrew Tridgell de3a3f7edf HAL_ChibiOS: fixed case of Pix32v5 USB product string 2021-05-27 09:30:30 +09:00
Andrew Tridgell fced5271af HAL_ChibiOS: expand pin map of G474 to cover 64 pin parts 2021-05-25 09:35:25 +10:00
Peter Barker 79809b60aa AP_HAL_ChibiOS: rename f103-periph/hwdef.dat to .inc (f303 too) 2021-05-20 17:23:17 +10:00
Siddharth Purohit 5bcc713985 AP_HAL_ChibiOS: add omnibusf4pro config with one compass and gps 2021-05-19 18:04:20 +10:00
Peter Barker 31ef6db937 AP_HAL_ChibiOS: remove redundant HAL_LOGGING_ENABLED from AP_Periph hwdefs 2021-05-19 17:38:47 +10:00
Andrew Tridgell ebe858f762 HAL_ChibiOS: auto-set HAL_LOGGING_ENABLED for AP_Periph builds 2021-05-19 17:38:47 +10:00
Peter Barker 7d8c5757d6 AP_HAL_ChibiOS: move from HAL_NO_LOGGING to HAL_LOGGING_ENABLED 2021-05-19 17:38:47 +10:00
Andy Piper 6a21446bac AP_HAL_ChibiOS: correct KakuteF4Mini board id 2021-05-18 10:02:36 +10:00
Andy Piper 25be0cf4b4 AP_HAL_ChibiOS: pull the right pin for KakuteF4 buzzer 2021-05-18 10:02:36 +10:00
vierfuffzig 393ac386cc AP_HAL_ChibiOS: add revo-mini-i2c alt configs 2021-05-18 09:53:38 +10:00
Andy Piper b33b07e43f AP_HAL_ChibiOS: fixes for KakuteF4Mini 2021-05-12 17:26:35 +10:00
Andy Piper 387812bb01 AP_HAL_ChibiOS: avoid startup scream on KakuteF4 and variants 2021-05-12 17:26:35 +10:00
Andy Piper f0ff4a2cd4 AP_HAL_ChibiOS: hwdef for KakuteF4Mini 2021-05-12 17:26:35 +10:00
Andrew Tridgell e1a5d73504 HAL_ChibiOS: fixed DTCM comment for F732 2021-05-09 06:44:19 +10:00
Andrew Tridgell b7fffe35f9 HAL_ChibiOS: added FreeflyRTK GPS build
a F732 based GPS peripheral
2021-05-09 06:44:19 +10:00
Andrew Tridgell 6b9e4161cb HAL_ChibiOS: removed UDID_START from all MCU defs
use UID_BASE from ChibiOS headers
2021-05-09 06:44:19 +10:00
Andrew Tridgell 36d5c98e96 HAL_ChibiOS: default UDID_START to UID_BASE 2021-05-09 06:44:19 +10:00
Andrew Tridgell 2dc4c50953 HAL_ChibiOS: fixed default OTP address and size 2021-05-09 06:44:19 +10:00
Andrew Tridgell 22f7218acf HAL_ChibiOS: support 512k F7 parts for flash 2021-05-09 06:44:19 +10:00
Andrew Tridgell 03cae60471 HAL_ChibiOS: added STM32F732 support 2021-05-09 06:44:19 +10:00
Andrew Tridgell f1de0c7fe2 HAL_ChibiOS: added F732 16MHz CubeMX config 2021-05-09 06:44:19 +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
Andrew Tridgell 8764d69e2c HAL_ChibiOS: default SDMMC clock to 12.5MHz max on H7
this makes microsd considerably more reliable
2021-05-02 13:04:42 +10:00
QioTek ca6102ed28 f103Qiotek_Periph
f103Qiotek_Periph
2021-04-24 07:48:40 +10:00
QioTek 1de3135d14 HAL_ChibiOS: added f103-QiotekPeriph hwdef (#1)
HAL_ChibiOS: added f103-QiotekPeriph
2021-04-24 07:48:40 +10:00
Andy Piper 42ebc13e6c Revert "AP_HAL_ChibiOS: support 6 bi-directional dshot channels on the MatekH743"
This reverts commit f9d166edf6.
2021-04-22 18:39:06 +10:00
Andrew Tridgell 6764f039ca HAL_ChibiOS: added support for the new H7 luminousbee version 5 2021-04-21 20:41:34 +10:00
Andy Piper f9d166edf6 AP_HAL_ChibiOS: support 6 bi-directional dshot channels on the MatekH743 2021-04-21 17:18:53 +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
Andrew Tridgell 961e538cc0 HAL_ChibiOS: reduced flash usage on MatekF405
overflowing by 1k
2021-04-21 07:12:55 +10:00
Andrew Tridgell eca8cf3414 HAL_ChibiOS: save flash on boards that are critically low
move to single OSD font on some boards

this saves about 12k on these boards. They were also extremely close
to overflowing flash, under 2k on some

Now that we support having an OSD font on the microSD card (where
available) we can reduce built in fonts without a large functionality
impact

This also disables some less used features on these boards:

 - generator support
 - object avoidance path planning
 - precision landing

This will give us some breathing room on these boards
2021-04-13 09:58:59 +10:00
anbello 77998fb5ba revo-mini bdshot 2021-04-07 17:44:29 +10:00
anbello dcb90c7bdb revo-mini ext i2c 2021-04-07 17:26:56 +10:00
Andy Piper be39e1f297 AP_HAL_ChibiOS: correct current scale for BeastH7 and BeastF7 2021-04-07 17:25:19 +10:00
Andy Piper aa0ec0f091 AP_HAL_ChibiOS: optimize BeastH7 compilation 2021-04-07 17:25:19 +10:00
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