645: stm32 usart: Fix RX interrupt flag handling r=lulf a=timokroeger
* On v1 interrupts cannot be cleared individually.
Instead they are cleared implicitly by reading or writing DR (which we do now).
* Multiple error flags can be set at the same time:
Handle them all in one go intstead of re-entering the ISR for each one so that
we do not lose any error flags on v1 hardware.
* Wake when the RX buffer becomes full: This allows fast running chips to pull data
from the buffer before receiving the next byte.
Tested on v1 hardware, lets see if v2 still succeeds on CI.
Co-authored-by: Timo Kröger <timokroeger93@gmail.com>
* On v1 interrupts cannot be cleared individually.
Instead they are cleared implicitly by reading or writing DR (which we do now).
* Multiple error flags can be set at the same time:
Handle them all in one go intstead of re-entering the ISR for each one so that
we do not lose any error flags on v1 hardware.
* Wake when the RX buffer becomes full: This allows fast running chips to pull data
from the buffer before receiving the next byte.
639: stm32: move pin trait impls from macrotables to build.rs r=Dirbaio a=Dirbaio
Continuation of work from #601#638
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
638: stm32: move dma trait impls from macrotables to build.rs r=Dirbaio a=Dirbaio
Continuation of work from #601
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
635: Add documentation about the different embassy abstraction layers r=Dirbaio a=lulf
The guide demonstrates the functionality offered by each
layer in Embassy, using code examples.
Co-authored-by: Ulf Lilleengen <ulf.lilleengen@gmail.com>
628: Improve logic for processing button events r=Dirbaio a=ceigel
Allow blinking to be interrupted by button presses in this sample.
Co-authored-by: Cristian Eigel <cristian.eigel@esrlabs.com>
618: time: optimize math by reducing fractions at compile time. r=Dirbaio a=Dirbaio
For example, `as_micros`, `from_micros` now are noops if tick rate is 1MHz.
See: https://godbolt.org/z/fE1bf3ecP
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
608: stm32f4: add adc + example r=Dirbaio a=ain101
Example tested on stm32f407vg Discovery Board.
minimal adc: no vref, dma, complex sequence
Co-authored-by: Frederik <frederik@frederik.at>