646: Debloat stm32-metapac r=Dirbaio a=Dirbaio
- Remove usage of `peripheral_counts!` macrotables.
- Remove `dbgmcu!` macrotable.
- Move the remaining macrotables to embassy-stm32 build.rs. This brings metapac decompressed size from ~250mb to ~100mb
- Deduplicate files with identical metadata. This brings decompressed size from ~100mb to ~70mb, compressed from ~10mb to ~4mb, which is finally small enough to publish on crates.io!
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
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>