Andrew Tridgell
8dbad82c8a
AP_HAL_ChibiOS: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
tsubashmail@gmail.com
ae9e15ade5
HAL_ChibiOS: port for STM32L4+ processor
...
Added support for stm32l4+ processor
- Added scripts for hwdef generation
- Tested in custom hardware prototype (stm32l4r5vit6)
- Tested all peripherals and auto pilot modes.
2023-04-14 07:48:56 +10:00
Andy Piper
667b386356
AP_HAL_ChibiOS: port to ChibiOS 21.11.x
...
convert RCOutput to new virtual timer interface
cope with SDC vs SDMMC
use new SPIv3 driver. Correct clocks for SDMMCv2.
add STM32L431 support
port ChibiOS config to version 8
support SPIv3 driver model v2 on H7
use currcore in debug options
use new mmc API
disable speed optimizations in the bootloader to save a little flash
upgrade to halconf v8.4
relax constraints on QSP/flash clock.
add support for disabling QSPI reset in main firmware
2023-03-29 20:49:40 +11:00
murata
e007b21f9e
AP_HAL_ChibiOS: Console output can be disabled
2022-05-17 09:53:06 +10:00
Andrew Tridgell
638e20a0b9
HAL_ChibiOS: bring in hal.h where it is needed
2022-02-22 12:13:19 +11:00
Nathan Costa
9f7aa715b1
AP_HAL_ChibiOS: add support for CAN/I2C switch
2022-02-16 13:25:58 +11:00
Andrew Tridgell
e6aae3caf6
HAL_ChibiOS: fix G4 I2c bus speeds
2021-10-12 10:54:07 +11:00
Andrew Tridgell
0212e23cd3
HAL_ChibiOS: added support for STM32L496 MCUs
...
good MCU for AP_Periph
2021-09-24 18:08:00 +10:00
Andrew Tridgell
4fce1ae092
HAL_ChibiOS: added G491 support
2021-07-30 10:20:52 +10:00
Andrew Tridgell
4d661911e5
HAL_ChibiOS: allow adjustment of F7 I2C timing
...
needed for F732
2021-05-09 06:44:19 +10: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
Peter Barker
48da4e523c
AP_HAL_ChibiOS: create and use INTERNAL_ERROR macro so we get line numbers
2020-04-30 13:21:36 +10:00
Andrew Tridgell
56985f8c33
HAL_ChibiOS: added checking on bouncebuffer allocation
...
fail operations if DMA bouncebuffer alloc fails
2020-01-18 07:13:11 +11:00
Andrew Tridgell
f68b9bafd8
HAL_ChibiOS: fixed H7 I2C timing
...
we were running the clock at too low speed. This affected the SSD1306 display
2019-12-30 16:10:44 +11:00
Andrew Tridgell
bc1de7a208
HAL_ChibiOS: support STM32F3xx MCUs
2019-11-01 10:53:53 +11:00
Mirko Denecke
b84dcd483d
AP_HAL_ChibiOS: remove unnecessary tabs and whitespaces
2019-10-21 08:01:56 +11:00
Andrew Tridgell
b30f3697d2
HAL_ChibiOS: fixed build without ISR limit
2019-08-27 10:29:56 +10:00
Andrew Tridgell
16bdaaa1af
HAL_ChibiOS: added support for STM31F10x for AP_Periph
2019-08-27 10:29:56 +10:00
Andrew Tridgell
aeb58cede1
HAL_ChibiOS: I2C timeout should be send+recv, not MAX(send,recv)
...
MAX() is right for SPI, not I2C
2019-08-26 09:13:39 +10:00
Andrew Tridgell
578e5dfdaa
HAL_ChibiOS: add up i2c ISR count
2019-08-26 09:13:39 +10:00
Andrew Tridgell
f8cfbb8062
HAL_ChibiOS: added ISR limit on I2C
...
this will prevent any possibility of an I2C interrupt storm. This is
designed to address the most likely cause of #11642
2019-08-25 17:12:16 +10:00
Lucas De Marchi
e66de36016
HAL_ChibiOS: fix I2C transaction without stop condition
...
Start using i2cSoftStop() instead of i2cStop() so the peripheral
continues to be enabled and with non-gated clock. This allows time for
the I2C peripheral to continue the ack or stop.
2019-06-06 09:27:47 -07:00
Andrew Tridgell
59678840a8
HAL_ChibiOS: log SPI and I2C counters
2019-05-17 08:56:06 +10:00
Andrew Tridgell
d9c888ab45
HAL_ChibiOS: port SPI, I2C and UART drivers to H7
2019-02-26 16:18:26 +11:00
Andrew Tridgell
adf7fefc2e
HAL_ChibiOS: detect stuck I2C bus and clear with SCL
...
This detects the I2C bus becoming stuck with SDA low after a timeout
and clears the bus by toggling SCL. Many thanks to @jhw84 for the
suggestion
2018-11-16 08:30:40 +11:00
Andrew Tridgell
d3af854949
HAL_ChibiOS: fixed bootloader build
2018-08-16 12:40:10 +10:00
Lucas De Marchi
668c941717
Global: use new version of ARRAY_SIZE
2018-08-04 15:31:55 +10:00
Siddharth Purohit
395c48933c
HAL_ChibiOS: move tto using updated time conversion API
2018-08-03 13:44:59 +10:00
Andrew Tridgell
13f96bcb00
HAL_ChibiOS: fixed an i2c dma callback bug
...
many thanks to Kelly-Foster for chasing me on this one!
2018-08-02 12:29:02 +10:00
Andrew Tridgell
73cfd40e7f
HAL_ChibiOS: reduce latency of DMA sharing
...
if we are sharing a DMA channel between i2c and SPI then this saves
latency on SPI by giving up the DMA channel between retries
2018-07-20 14:51:18 +10:00
Andrew Tridgell
59aab9987e
HAL_ChibiOS: account for I2C base in compass masks
2018-07-18 12:04:01 +10:00
Andrew Tridgell
476bddd9a3
HAL_ChibiOS: use HAL_I2C_INTERNAL_MASK
2018-07-14 17:51:50 +10:00
Andrew Tridgell
4f9bd50038
HAL_ChibiOS: implement I2C bus masks
2018-07-10 15:39:47 +10:00
Andrew Tridgell
e068106669
HAL_ChibiOS: support I2C devices on STM32F7 without DMA
...
this allows us to support I2C4 on fmuv5
2018-06-13 20:05:26 +10:00
Andrew Tridgell
a945c97ec6
HAL_ChibiOS: fixed 3-way DMA sharing bug
...
when we have 3 way contention across two DMA streams we could get the
dma_deallocate function called in an object from two places at
once. This adds a mutex that prevents that scenario
2018-06-06 07:15:41 +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
fef1b0ffc6
HAL_ChibiOS: fixed I2C flush/invalidate calls
2018-06-06 07:15:41 +10:00
Andrew Tridgell
4d4ea894e8
HAL_ChibiOS: disable i2c device debug code
2018-06-06 07:15:41 +10:00
Andrew Tridgell
edb831653f
HAL_ChibiOS: added dma_flush and dma_invalidate operations
...
these are needed to manage the data cache on the STM32F7
2018-06-06 07:15:41 +10:00
mirkix
c2eee2db23
AP_HAL_ChibiOS: add STM32F7 I2C support
2018-04-29 07:59:52 +10:00
Andrew Tridgell
bc32276966
HAL_ChibiOS: support DShot output
...
use DMAR burst DMA to minimise number of DMA channels needed
thanks to betaflight for the great reference implementation!
2018-04-07 09:10:29 +10:00
Andrew Tridgell
306d35655e
HAL_ChibiOS: allow for bare board builds
...
this allows for a build with no UARTs, no SPI, no I2C, no PWM. Great
for initial board bringup with just USB
2018-03-02 12:52:50 +11:00
Andrew Tridgell
5f353b5c85
HAL_ChibiOS: fixed build of I2C without I2C1 defined
2018-03-02 12:52:50 +11:00
Andrew Tridgell
9301e4888a
HAL_ChibiOS: make not having bus lock a soft error
...
this is nicer for driver developers
2018-02-09 10:14:49 +11:00
Andrew Tridgell
8eff43a352
HAL_ChibiOS: fixed printf arguments
2018-02-08 17:36:33 +11:00
Siddharth Purohit
40142e5aef
ChibiOS: implement way to clear i2c bus by toggling clock line
2018-02-08 17:36:33 +11:00
Andrew Tridgell
47ce37f463
HAL_ChibiOS: report I2C clock downgrades
2018-02-08 17:36:33 +11:00
Andrew Tridgell
f1ce321a2f
HAL_ChibiOS: added checking of bus owner
...
this ensures all bus transfers are only done by the thread that owns
the semaphore
2018-02-07 20:33:45 +11:00
Andrew Tridgell
23e1b2e271
HAL_ChibiOS: added paranoid state checking on I2C
...
this is here just while debugging an issue with Mark
2018-02-07 20:33:45 +11:00
Andrew Tridgell
87389e0fdc
HAL_ChibiOS: fixed double DMA allocation on i2c
2018-02-07 20:33:45 +11:00