Dario Nieuwenhuis
609b1b0355
Merge pull request #3286 from trnila/stm32_usart_break
...
stm32/usart: sending break character
2024-09-10 21:33:27 +00:00
Badr Bouslikhin
ee25f14b20
fix(stm32): reorder dma and idle futures
2024-09-06 18:55:33 +02:00
Daniel Trnka
22f4459ae2
stm32/usart: sending break character in buffered usart
2024-08-28 21:55:08 +02:00
Daniel Trnka
bea1f34440
stm32/usart: sending break character
2024-08-25 21:49:43 +02:00
Karun
bbc06035c1
make half duplex fn private
2024-08-19 12:15:39 -04:00
Karun
fcf9b3239e
remove duplication
2024-08-19 11:27:18 -04:00
Karun
446169b2c1
Add gpio version dependency
...
Add configurable output type for half-duplex
2024-08-06 11:52:16 -04:00
Karun
a725892720
Convert uart half_duplex to use open-drain pull-up
2024-08-05 15:37:03 -04:00
rafael
d9ea5cb015
stm after cargo fix
2024-07-14 17:56:56 +02:00
rafael
c7f775dc20
stm
2024-07-14 16:42:54 +02:00
Роман Кривенков
a862334dae
STM32 Half-Duplex: fix sequential reads and writes
2024-07-02 02:45:06 +02:00
Jan Špaček
94007ce6e0
stm32/gpio: refactor AfType
2024-06-16 21:11:55 +02:00
Jan Špaček
f3703ff6bf
stm32/usart: set refcount even if initialization failed
2024-06-03 20:12:33 +02:00
Jan Špaček
664e4a5c03
stm32/usart: move init code to function that's not generic in T
2024-06-01 19:46:39 +02:00
Jan Špaček
44e4a2c9e9
stm32/buffered-usart: use new_pin! and disconnect pins on drop
2024-06-01 19:46:39 +02:00
Jan Špaček
ade27b7f21
stm32/usart: disconnect pins of RingBufferedUartRx on drop
2024-06-01 19:46:39 +02:00
Jan Špaček
081afca3f0
stm32/rcc: replace generated enable/disable code with runtime info
2024-05-25 18:44:55 +02:00
Jan Špaček
183f2f6913
stm32/usart: remove instance generic params
2024-05-23 16:32:15 +02:00
Scott Mabin
94e559eba7
Don't teardown during reconfigure
2024-05-22 22:28:03 +01:00
Роман Кривенков
d5f0bceb7c
Clear Receiver enable flag before write in Half-Duplex mode
2024-05-02 15:59:42 +04:00
qwerty19106
c929ad226b
Improve Uart::new_half_duplex docs
2024-04-27 12:22:35 +04:00
Dario Nieuwenhuis
5732ee7ca9
Reduce use of the full futures
crate.
2024-04-26 23:22:25 +02:00
Dario Nieuwenhuis
a8401ec94e
stm32/usart: remove wildcard import.
2024-04-26 22:59:11 +02:00
Michael de Silva
02bb85a791
Add trace logging for USART
2024-04-24 01:59:00 +05:30
qwerty19106
ce58cd0f1c
Allow Uart::new_half_duplex for all usart_vx
2024-04-18 10:34:52 +04:00
Dario Nieuwenhuis
d6b1233f16
stm32/usart: remove DMA generic params.
2024-04-16 02:00:55 +02:00
Dario Nieuwenhuis
d597815c9a
stm32: remove last few mod sealed's.
2024-04-05 00:48:46 +02:00
Emilie Burgun
e3ef7cd99f
Document why embedded_io::Read cannot be implemented for the base Uart
2024-03-27 11:10:16 +01:00
Emilie Burgun
1acc34bfaa
Remove the need for TxDma to be a DMA channel in the blocking UartTx impl
2024-03-26 17:45:38 +01:00
Dario Nieuwenhuis
2bca875b5f
stm32: use private_bounds for sealed traits.
2024-03-23 01:38:51 +01:00
Ralf
08e2ba9d74
STM32 BufferedUart: wake receive task for each received byte
...
Fixes https://github.com/embassy-rs/embassy/issues/2719
2024-03-21 08:35:41 +01:00
Dario Nieuwenhuis
eca9aac194
Fix warnings in recent nightly.
2024-03-20 16:39:09 +01:00
Dario Nieuwenhuis
e67dfcb04f
stm32/dma: add AnyChannel, add support for BDMA on H7.
2024-02-24 02:41:41 +01:00
Grant Miller
87a52f5ead
stm32/usart: Add doc links to buffered uarts
2024-02-03 17:04:20 -06:00
Andres Vahter
ec2e3de0f4
stm32 uart: fix buffered flush for usart_v1, usart_v2
...
There is one caveat. For some reason with first send using usart_v1/usart_v2 TC flag appears right after first byte from buffer is written to DR. Consecutive transfers work as expected - TC flag appears when last byte is fully transferred to wire.
2024-01-20 00:15:40 +01:00
Andres Vahter
534c53c901
stm32 uart: remove unwrap
...
unwraps take more space because of panics
2024-01-20 00:15:40 +01:00
Andres Vahter
c936d66934
stm32 uart: fix flush
for non usart_v4 variants
...
Byte was written to TDR and right after that waker was called. This means `flush` would see that `tx_buf` is empty and can return Ready although actually hardware was still writing this last byte to the wire.
With this change non `usart_v4 ` variants would also use TC interrupt to check when last byte was sent out.
2024-01-20 00:15:39 +01:00
Andres Vahter
17d6e4eefe
stm32 uart: do not wake after sending each byte
...
usart_v4 uses TC interrupt to see if all bytes are sent out from the FIFO and waker is called from this interrupt. This minimises unnecessary wakeups during sending.
2024-01-20 00:15:39 +01:00
Andres Vahter
ec47e931ac
stm32: fix buffered uart flush
...
usart_v4 uses internal FIFO and therefore actually all bytes are not yet sent out although state.tx_buf.is_empty()
2024-01-20 00:15:39 +01:00
Harry Brooke
d781e231cd
make usart::State private
2024-01-19 23:20:20 +01:00
lights0123
dc295fa1db
stm32: add half duplex USART driver
2023-12-26 16:35:36 -05:00
Barnaby Walters
f97ef61ef8
Documented usart public API
2023-12-19 16:41:00 +01:00
Dario Nieuwenhuis
49534cd405
stm32: more docs.
2023-12-19 00:10:36 +01:00
Dario Nieuwenhuis
80c9d04bbd
stm32: add some docs.
2023-12-18 00:53:18 +01:00
lights0123
dfba51d3f2
stm32: usart pin inversion
2023-12-10 18:39:45 -05:00
Dario Nieuwenhuis
c6989dfbca
Remove nightly and unstable-traits features in preparation for 1.75.
2023-11-29 17:26:33 +01:00
Andres Vahter
bda99e59ec
stm32: fix uart parity, add comment why it is so
2023-10-24 15:57:03 +03:00
Andres Vahter
25c2a9baaa
stm32 uart: remove redundant set_fifoen(true)
2023-10-24 10:11:54 +03:00
Andres Vahter
1e362c750b
stm32 uart: use ConfigError instead of () as error
2023-10-24 09:54:17 +03:00
Andres Vahter
7f72dbdaf2
stm32: fix set_config for buffered uart
...
In reconfigure() cr1 register is initialised with write (not modify) which means rxneie and idleneie are disabled after reconfiguration.
2023-10-24 09:09:33 +03:00