Commit Graph

72 Commits

Author SHA1 Message Date
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 d0eb2970c7 HAL_ChibiOS: ensure RTS and CTS are both disabled for no flow control 2018-02-07 20:33:45 +11:00
Andrew Tridgell 82f1f462ae HAL_ChibiOS: ensure we don't init a uart driver twice 2018-02-07 20:33:45 +11:00
Andrew Tridgell 41758348e5 HAL_ChibiOS: added checking of lock state in shared_dma
and use lock around check for tx completion in UART handler
2018-02-07 20:33:45 +11:00
Andrew Tridgell dce4c90467 HAL_ChibiOS: moved UART thread to UART driver
use an event model for triggering sends from tx complete DMA handler
for unbuffered uarts
2018-02-07 20:33:45 +11:00
Andrew Tridgell 4d018cf5e2 HAL_ChibiOS: take lock on DMA allocate/deallocate
this is required for the stm32_dma_stream bitmask manipulation
2018-02-07 20:33:45 +11:00
Andrew Tridgell e002fbdb8d HAL_ChibiOS: fixed a build warning 2018-02-07 20:33:45 +11:00
Andrew Tridgell 85acbcb21d HAL_ChibiOS: fixed UART send from TX complete IRQ 2018-02-07 20:33:45 +11:00
Andrew Tridgell 979a2a4796 HAL_ChibiOS: removed debug code 2018-02-07 20:33:45 +11:00
Siddharth Purohit 538af2a58a HAL_ChibiOS: fix parity and stop bit setting 2018-02-07 20:33:45 +11:00
Siddharth Purohit df4bf7e476 HAL_ChibiOS: fix irq clash with unnecessary access to readbuf ring buffer 2018-02-07 20:33:45 +11:00
Siddharth Purohit 02696882e9 HAL_ChibiOS: if unbuffered write, do continue to invoke DMA writes
adds higher latency to device sharing DMA
2018-02-07 20:33:45 +11:00
Andrew Tridgell 3dacbd1b36 HAL_ChibiOS: hold write lock for unbuffered writes 2018-02-07 20:33:45 +11:00
Andrew Tridgell ad26ca4a27 HAL_ChibiOS: implement parity and stop bits controls 2018-02-07 20:33:45 +11:00
Andrew Tridgell 2e15285c51 HAL_ChibiOS: refuse unbuffered writes without DMA
we would need much more complex code to handle this
2018-02-07 20:33:45 +11:00
Andrew Tridgell 3f2cc2c9d6 HAL_ChibiOS: implement low latency UART writes
this implements the set_unbuffered_writes() API by performing writes
directly in the write() call and not from a timer
2018-02-07 20:33:45 +11:00
Andrew Tridgell f14a847b97 HAL_ChibiOS: rename classes to remove 'Chibi'
it is redundent as all classes are in ChibiOS namespace, and makes the
code harder to read
2018-01-15 11:46:02 +11:00
Andrew Tridgell d1f93cd66c HAL_Chibios: auto-generate I2C, SPI and UART device lists
this is less error prone and make a port faster as more information is
in hwdef.dat
2018-01-15 11:46:02 +11:00
Andrew Tridgell 280140bf25 HAL_ChibiOS: added support for MindPX-v2 2018-01-15 11:46:02 +11:00
Andrew Tridgell 41be81af34 HAL_Chibios: added hardware flow control for UARTs
implement RTS in software and CTS in hardware
2018-01-15 11:46:02 +11:00
Andrew Tridgell c3435e45c5 HAL_ChibiOS: initial port to FMUv4 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