Damien George
0d860fdcd0
stm32/uart: Always enable global UART IRQ handler on init.
...
Otherwise IRQs may not be enabled for the user UART.irq() handler. In
particular this fixes the user IRQ_RXIDLE interrupt so that it triggers
even when there is no RX buffer.
2018-12-29 22:44:41 +11:00
Tobias Badertscher
372e7a4dc6
stm32: Implement UART.irq() method with initial support for RX idle IRQ.
2018-12-29 17:21:37 +11:00
Damien George
dc23978dde
stm32/uart: Add ability to have a static built-in UART object.
...
A static UART is useful for internal peripherals that require a UART and
need to persist outside the soft-reset loop.
2018-12-10 16:21:50 +11:00
Damien George
6ea45277bf
stm32/uart: For UART init, pass in params directly, not via HAL struct.
...
To provide a cleaner and more abstract C-level interface to the UART.
2018-12-10 16:21:50 +11:00
Damien George
bc3f0dddac
stm32/uart: Remove HAL's UART_HandleTypeDef from UART object struct.
...
This UART_HandleTypeDef is quite large (around 70 bytes in RAM needed for
each UART object) and is not needed: instead the state of the peripheral
held in its registers provides all the required information.
2018-12-10 16:21:50 +11:00
Damien George
7d7f59d78b
stm32/uart: Factor out code to set RX buffer to function uart_set_rxbuf.
2018-12-10 16:21:50 +11:00
Damien George
524e13b006
stm32/uart: Factor out code from machine_uart.c that computes baudrate.
2018-12-10 16:21:50 +11:00
Damien George
a2271532be
stm32: Split out UART Python bindings from uart.c to machine_uart.c.
2018-12-10 16:21:50 +11:00
Damien George
a60efa8202
stm32/uart: Allow ctrl-C to work with UARTs put on REPL via os.dupterm.
2018-04-23 20:44:30 +10:00
Damien George
d966a33486
stm32: Change header include guards from STMHAL to STM32 to match dir.
2018-02-15 15:47:04 +11:00
Damien George
0eb333e3cf
stm32/mphalport: Improve efficiency of mp_hal_stdout_tx_strn_cooked.
...
Also simplifies the code by removing the specialised (and inefficient)
cooked functions from UART and USB_VCP.
2017-10-19 14:15:32 +11:00
Damien George
01dd7804b8
ports: Make new ports/ sub-directory and move all ports there.
...
This is to keep the top-level directory clean, to make it clear what is
core and what is a port, and to allow the repository to grow with new ports
in a sustainable way.
2017-09-06 13:40:51 +10:00