Commit Graph

12 Commits

Author SHA1 Message Date
Andrew Tridgell 258f472028 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-12-14 15:49:11 +11:00
Andrew Tridgell 98f241c7e4 HAL_ChibiOS: implement I2C bus masks 2018-07-11 14:20:08 +09: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
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 9ab695b7ca HAL_ChibiOS: fixed namespace error
thanks to Peter for noticing
2018-03-02 17:11:31 +11: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
Siddharth Purohit 40142e5aef ChibiOS: implement way to clear i2c bus by toggling clock line 2018-02-08 17:36:33 +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
Andrew Tridgell 36227aa126 HAL_ChibiOS: implement bus speed and smbus for I2C
use the slowest speed of all devices on the bus
2018-01-15 11:46:02 +11:00
Andrew Tridgell 8b6bab7b17 HAL_Chibios: added ChibiOS HAL
this is based on initial work by Sid, reset here for easier merging
2018-01-15 11:46:02 +11:00