Commit Graph

1909 Commits

Author SHA1 Message Date
Andrew Tridgell 5a68e21435 HAL_ChibiOS: support STM32L431 2021-10-17 20:30:20 +11:00
Andrew Tridgell 71e7bb0fe3 HAL_ChibiOS: mark af_parse_cubemx.py as executable, py3 2021-10-17 20:30:20 +11:00
Andrew Tridgell f1ea4f5d01 HAL_ChibiOS: use a 16 bit sysinterval_t on 16 bit timers
prevent mixed size subtraction errors
2021-10-17 20:29:42 +11:00
bugobliterator 5fa50c419d AP_HAL_ChibiOS: account for TXFIFO when doing flow control detection 2021-10-15 19:57:55 +11:00
Andrew Tridgell d1c7ed1c82 HAL_ChibiOS: make it clear how to enable parameter backup on CubeBlack
uses 16k more ram, but allows auto-restore of corrupted params
2021-10-12 22:08:13 -04:00
Andrew Tridgell 84bbc707fc AP_HAL_ChibiOS: added stack logging 2021-10-12 16:04:06 +11:00
auturgy 7c3c3a0a41 HAL_Chibios: support modalai_fc-v1 flight controller
Based on M0018 version. Thanks to ModalAI for assistance
2021-10-12 15:47:51 +11:00
Andrew Tridgell 6fa9768eab HAL_ChibiOS: support GPIO get_mode and set_mode 2021-10-12 15:47:51 +11:00
Andrew Tridgell 25324ae0e2 HAL_ChibiOS: support SDMMC2 for sdcard 2021-10-12 15:47:51 +11:00
Andrew Tridgell d962e094e7 HAL_ChibiOS: change RCIN PULLUP to PULLDOWN
this makes us more consistent between boards
2021-10-12 11:52:36 +11:00
Andrew Tridgell 47da7f5c9b HAL_ChibiOS: change RCIN FLOAT to PULLDOWN
this lowers the chance of noise on a RCIN pin causing incorrect
protocol detection
2021-10-12 11:52:36 +11:00
Nick Exton ffa2bba35c HAL_ChibiOS: add missing return to Dual CDC get_usb_baud() 2021-10-12 10:54:44 +11:00
Andrew Tridgell e6aae3caf6 HAL_ChibiOS: fix G4 I2c bus speeds 2021-10-12 10:54:07 +11:00
bugobliterator f298ea406e HAL_ChibiOS: enable RNG only for H7 based boards off for the rest by default 2021-10-07 19:43:11 +11:00
bugobliterator fc4d59c5a4 HAL_ChibiOS: setup hw random number generator for stm32 chips 2021-10-07 19:43:11 +11:00
bugobliterator 792e6666a3 HAL_ChibiOS: add random number generator implementation for ChibiOS 2021-10-07 19:43:11 +11:00
Iampete1 9751cb5b24 AP_HAL_ChibiOS: move is_dshot_protocol up to AP_HAL 2021-10-06 18:59:57 +11:00
Iampete1 f7cba024c1 AP_HAL_ChibiOS: AnalogSource: check for valid pin 2021-10-06 18:42:51 +11:00
Andrew Tridgell 33529c98a9 HAL_ChibiOS: check the ROMFS line for IOMCU is added 2021-10-06 06:45:43 +11:00
Andrew Tridgell 52124cf602 HAL_ChibiOS: fixed f1 bootloader build errors 2021-10-06 06:44:36 +11:00
Andrew Tridgell 8deaa1b46b HAL_ChibiOS: fixed warning for USB 2021-10-06 06:44:36 +11:00
Andrew Tridgell 4daf4ad501 HAL_ChibiOS: lock in no warnings for chibios RTOS build 2021-10-06 06:44:36 +11:00
Andrew Tridgell 4dbff85de7 HAL_ChibiOS: check for common hwdef.dat errors
catches missing GPIO type, mismatched timers and UARTs or bad pin types
2021-10-05 15:46:02 +11:00
Iampete1 f0a284c1e7 AP_Hal_ChibiOS: R9Pilot: add OUTPUT to GPIO 2021-10-05 15:46:02 +11:00
Iampete1 0143518954 AP_Hal_ChibiOS: mRoControlZeroF7: add OUTPUT to GPIO 2021-10-05 15:46:02 +11:00
Iampete1 a282a39866 AP_Hal_ChibiOS: F4BY: add OUTPUT to GPIO 2021-10-05 15:46:02 +11:00
Iampete1 6f1f26a72a AP_Hal_ChibiOS: CubeOrange: add OUTPUT to GPIO 2021-10-05 15:46:02 +11:00
Iampete1 5848510876 AP_HAL_ChibiOS: set flow control disabled if no RTS line 2021-10-05 12:11:47 +11:00
Michel Pastor a9fed2f9bc RCOutput: fix full throttle bug 2021-10-05 11:47:04 +11:00
Andrew Tridgell c15221fd53 HAL_ChibiOS: fixed orientation of ICM42605 on QiotekZealotF427 2021-10-03 14:00:09 +11:00
Andrew Tridgell 6953778b4c HAL_ChibiOS: use micros16() for blheli pass-thru IRQ
saves some IRQ overhead, makes time handling more consistent
2021-10-02 18:26:39 +10:00
Andrew Tridgell 5714ee113f HAL_ChibiOS: added micros16() method 2021-10-02 18:26:39 +10:00
Andrew Tridgell 2aef3364bc HAL_ChibiOS: optimisation for AP_HAL::micros() on systems with 32 bit timers
most ChibiOS boards have a 32 bit timer. This optimisation reduces the
cost of micros() from 0.3us to 0.06us, which is significant in
interrupt handlers and for accurate timing. It takes advantage of the
timer being 32 bit with 1MHz clock
2021-10-02 18:26:39 +10:00
bugobliterator dd9f513aa5 AP_HAL_ChibiOS: setup led control via lua script for HerePro 2021-09-30 08:52:27 +10:00
Iampete1 b6de44cc7b AP_HAL_ChibiOS: CubeOrange: add alt config for telem1 RTS CTS as GPIO 2021-09-29 19:55:21 +10:00
Iampete1 8ae5bc5ad0 AP_HAL_ChibiOS: hwdef: allow GPIO alt config 2021-09-29 19:55:21 +10:00
Iampete1 a96150a528 AP_HAL_ChibiOS: allow enabling GPIO as alt config 2021-09-29 19:55:21 +10:00
Iampete1 dc45a113f9 AP_HAL_ChibiOS:UARTDriver: allow re-defintion of RTS and CTS pins 2021-09-29 19:55:21 +10:00
Andrew Tridgell e85594e423 HAL_ChibiOS: added KakuteH7 support 2021-09-29 18:11:04 +10:00
Andrew Tridgell d1d5cd5d9f HAL_ChibiOS: fix sdcard on SPI bus on H7
the spiIgnore() call was hanging on H7. The ChibiOS submodule change
fixes that, but this patch is also needed to ensure we timeout any
spiIgnore calls correctly
2021-09-29 18:11:04 +10:00
Andrew Tridgell 2c2c85c4d8 HAL_ChibiOS: fixed polled SPI 2021-09-29 18:11:04 +10:00
Andrew Tridgell 27e93155f4 HAL_ChibiOS: fixed build on boards with OTG2 and no CAN interfaces 2021-09-29 18:11:04 +10:00
Iampete1 ade01f41d9 AP_HAL_ChibiOS: support digital write via IOMCU 2021-09-28 09:40:25 +10:00
Andrew Tridgell 4aa88d172c HAL_ChibiOS: adjust Swan-K1 parameters
limit down pitch to 15 degrees to prevent overspeed, and limit angular
rates to 100 deg/s
2021-09-27 21:21:53 +10:00
Peter Barker 43469955a9 AP_HAL_ChibiOS: rename GENERATOR_ENABLED to HAL_GENERATOR_ENABLED 2021-09-26 19:24:09 +10:00
Josh Henderson 27fa2e776d AP_HAL_ChibiOS: Hitec-Airspeed move from HAL_NO_GCS to HAL_GCS_ENABLED 2021-09-24 21:05:05 +10:00
Andrew Tridgell 6d093e56fb HAL_ChibiOS: added Nucleo-L496 AP_Periph target 2021-09-24 18:08:00 +10:00
Andrew Tridgell 0212e23cd3 HAL_ChibiOS: added support for STM32L496 MCUs
good MCU for AP_Periph
2021-09-24 18:08:00 +10:00
Peter Barker 1bd62362a4 AP_HAL_ChibiOS: move from HAL_NO_GCS to HAL_GCS_ENABLED 2021-09-22 21:37:00 +10:00
Andrew Tridgell 758ce2699e HAL_ChibiOS: added Hitec-Airspeed hwdef 2021-09-21 13:51:40 +10:00
Andrew Tridgell 7f59366cc0 HAL_ChibiOS: process AIRSPEED lines in hwdef.dat 2021-09-21 13:51:40 +10:00
Iampete1 bf695e4eeb AP_HAL_ChibiOS: atof to strtof 2021-09-15 17:36:12 +10:00
Hwurzburg 6dfbd9ce31 AP_HAL_ChibiOS: add batt mon defaults to Kakutef4 Mini 2021-09-14 10:14:20 +10:00
Iampete1 53ee7d861d AP_HAL_ChibiOS: remove safe PWM 2021-09-14 09:23:02 +10:00
Andrew Tridgell 88d77d0acd HAL_ChibiOS: change f303-PWM timers
fixes PWM on channels 3 and 4
2021-09-13 21:29:13 +10:00
Andrew Tridgell adbaccaa08 HAL_ChibiOS: fixed RTSCTS flow control issue
this fixes an issue reported on MatekH743, but also applies to other
boards. When not using DMA if there have been bytes written before the
auto flow control detection was enabled then these must be cleared
from _total_written so the flow control detection can work correctly
2021-09-13 21:28:08 +10:00
mateksys 659286ee4f ChibiOS: add icm42605 as substitution for icm20602 2021-09-11 17:37:12 +10:00
Iampete1 529a3a9122 AP_HAL_ChibiOS: convert back to full range on IOMCU ONESHOT125 read 2021-09-08 18:01:50 +10:00
Andy Piper e705f78b5e AP_HAL_ChibiOS: correct and compact Pixhawk4-bdshot build 2021-09-08 17:09:49 +10:00
Andy Piper c92c75c9a6 AP_HAL_ChibiOS: bdshot version of CUAVv5 2021-09-08 17:09:49 +10:00
Andy Piper bb41db8478 AP_HAL_ChibiOS: bdshot version of CUAVv5Nano 2021-09-08 17:09:49 +10:00
Andrew Tridgell d29057a158 HAL_ChibiOS: added f303-PWM
for a PWM output node based on mRo f303 CAN node
2021-09-08 17:06:44 +10:00
Andrew Tridgell 2e4766fe54 HAL_ChibiOS: ensure HI_POWER periph is on 2021-09-07 10:40:44 +10:00
Andrew Tridgell 532396e5e6 REVERT: HAL_ChibiOS: Rename STM32F412 hw definition file
This reverts commit 5de6c690d8.

That commit broke the build for the affected board as the chibios
headers rely on the name of the file matching a ifdef
2021-09-07 10:37:43 +10:00
Andrew Tridgell b77580f934 HAL_ChibiOS: avoid an issue with DCache init on H743
this fixes an issue found by Andy Piper where the H743 bootloader gets
a hard fault in the DCache enable code when SRAM1 is primary memory.

This is the simplest fix I could think of, and avoids the problem by
making DTCM the first segment in the bootloader.

Note that we can't use DTCM as first segment for main firmware since
we went to double precision EKF as the static variables don't fit
2021-09-06 18:23:03 +10:00
Hwurzburg d0b67baefd AP_HAL_ChibOS: add pin defs for RSSI to KakuteF7 2021-09-06 10:12:48 +10:00
Hwurzburg 854697f870 AP_HAL_ChibiOS: update default params for SWAN-K1 2021-09-06 08:07:06 +10:00
Andrew Tridgell 8462ce4e2e HAL_ChibiOS: fixed GPIO lines for QioTekZealotF427 2021-09-03 18:16:43 +10:00
bugobliterator 4ecdf90470 AP_HAL_ChibiOS: add internal flash version of hwdef for H757I_EVAL 2021-09-01 17:10:53 +10:00
Siddharth Purohit d484477a99 AP_HAL_ChibiOS: move to using PLL2_R_CK for QSPI 2021-09-01 17:10:53 +10:00
Siddharth Purohit 81dc237a19 AP_HAL_ChibiOS: move to using Instruction RAM with External Flash setup 2021-09-01 17:10:53 +10:00
Siddharth Purohit 1eb318c62b AP_HAL_ChibiOS: increase clock frequency for QSPI 2021-09-01 17:10:53 +10:00
Siddharth Purohit 39bd229279 AP_HAL_ChibiOS: remove dependency on Semaphores in QSPIDevice in BL 2021-09-01 17:10:53 +10:00
Siddharth Purohit 813e93a69c AP_HAL_ChibiOS: do not reset GPIO for boards with external flash 2021-09-01 17:10:53 +10:00
Siddharth Purohit 4ba2835de1 AP_HAL_ChibiOS: add config for supporting load from external flash 2021-09-01 17:10:53 +10:00
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 f4ad8f6ef5 HAL_ChibiOS: fix for HAL_PWM_COUNT zero
reported by Mallikarjun
2021-09-01 13:05:20 +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 5bacd35eaa HAL_ChibiOS: review fixes 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 a8ab20abd9 AP_HAL_ChibiOS: allow sending stats via mavftp on AP_Periph 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