306110f56e
stm32/spi: implement async trasnfer_in_place
2022-03-15 00:40:48 +01:00
f1d6c95205
rustfmt
2022-03-14 18:22:41 -05:00
71632648c7
Fix zero-length-slice bugs
2022-03-14 18:14:55 -05:00
15c533fe2a
Fix async write
bug
2022-03-14 18:04:31 -05:00
6e00c58854
Make all functions generic over word size
2022-03-14 16:53:50 -05:00
f0b62bc8e0
Use const REGS
2022-03-14 15:56:08 -05:00
482ffea4dd
Finish unification
2022-03-14 15:56:08 -05:00
7cd6f00a90
Add set_txdmaen
and set_rxdmaen
functions
2022-03-14 15:56:08 -05:00
444b37fcdf
Add flush_rx_fifo
function
2022-03-14 15:56:08 -05:00
9bad9365dc
Update rust nightly, embedded-hal 1.0, embedded-hal-async.
2022-03-11 00:38:07 +01:00
dd828a7a92
stm32: move macrotables to embassy-stm32 build.rs
2022-02-26 03:23:09 +01:00
bf80504ac7
stm32: centralize gpio reg access in the gpio module.
2022-02-24 02:49:20 +01:00
1e69a8c484
stm32: move pin trait impls from macrotables to build.rs
2022-02-23 19:54:46 +01:00
b4abb1f5c2
stm32: move dma trait impls from macrotables to build.rs
2022-02-23 19:16:37 +01:00
340eb4eead
stm32: add rust stable support
2022-02-12 02:45:52 +01:00
b99ab3d5d9
stm32: Add standard crate-wide macros for pin/dma traits, switch all drivers to use them.
2022-02-10 21:38:03 +01:00
a8bd3ab952
Add missing + 'd
on unborrows.
2022-02-10 16:06:42 +01:00
550da471be
stm32: Remove OptionalPin
...
The idea behind OptionalPin has a few problems:
- you need to impl the signal traits for NoPin which is a bit weird https://github.com/embassy-rs/embassy/blob/master/embassy-stm32/src/dcmi.rs#L413-L416
- you can pass any combination of set/unset pins, which needs checking at runtime https://github.com/embassy-rs/embassy/blob/master/embassy-stm32/src/dcmi.rs#L130
The replacement is to do multiple `new` constructors for each combination of pins you want to take.
2022-02-10 02:38:10 +01:00
4032fc0655
Support unstable-trait feature for stm32
2022-01-26 22:39:06 +01:00
889d757ab8
stm32/spi: expose all functionality as inherent methods.
2022-01-19 17:59:55 +01:00
66e46d8012
Add the possibility to reconfigure Spi mode and bit order configuration on the fly.
2022-01-14 12:50:58 +01:00
2bbd1ddb8a
Remove unneeded rustfmt::skip
2021-12-16 11:37:53 +01:00
6597e67036
Add finish_dma function
2021-12-14 17:46:25 -06:00
a13a7a6616
Replace wait_for_idle with spin_until_idle
2021-12-14 17:46:25 -06:00
e75cb1a564
Regs type alias
2021-12-14 15:39:00 -06:00
b06658c195
Refactor new
2021-12-14 15:39:00 -06:00
79baa04118
Implement blocking traits with a macro
2021-12-07 00:03:52 -06:00
bf1f80afa1
Unify blocking trait impls
2021-12-07 00:03:52 -06:00
3a17e3a2a5
Move async trait impls to mod
2021-12-07 00:03:52 -06:00
20d2151b1d
check_error_flags function
2021-12-07 00:03:52 -06:00
496579b48b
Move Word trait to mod
2021-12-07 00:03:52 -06:00
7c78247be3
v2: set frxth and ds in new
2021-12-06 22:36:53 -06:00
d76bc45e30
Move Spi drop impl to mod
2021-12-06 17:19:55 -06:00
bd9e730024
Move set_word_size to mod
2021-12-06 16:47:08 -06:00
a35b7d90bc
Add tx_ptr and rx_ptr methods
2021-12-06 16:33:06 -06:00
a35f337bd6
Move Spi::new and Spi::compute_baud_rate to mod
2021-12-06 15:19:24 -06:00
e1cccc8391
Move Spi to mod (without NoDma defaults)
2021-12-06 14:47:50 -06:00
d51885c0eb
Move WordSize methods to mod
2021-12-06 14:13:25 -06:00
d426caefbf
Move NoPin impls from v1 to mod
2021-12-06 14:02:21 -06:00
259e84e68e
Make miso/mosi optional when for unidirectional spi
...
Only suported on v1 currently
2021-10-11 22:57:21 +02:00
39880de958
partial alternate function configuration on STM32f1
2021-10-11 22:57:10 +02:00
f9a576d13d
feat: Add spi support for STM32F1 variants
2021-10-11 22:39:48 +02:00
7ad6280e65
Add HAL for SubGhz peripheral for STM32 WL series
...
Based on the HAL from stm32wl, the peripheral driver has been
modified to fit into embassy, using the embassy APIs, providing
operation of the radio peripheral.
The initial version does not offer any async APIs, but the example
shows how the radio IRQ can be used to perform async TX of the radio.
2021-09-02 10:39:56 +02:00
f1a3e0e05d
As before, EVERY DANG TIME.
...
It'll be sweet with intellij-rust-plugin works better.
2021-07-23 13:22:39 -04:00
b07325b476
Enable DMA for SPIv1 on F4's etc.
2021-07-23 13:22:39 -04:00
8ab82191b7
Every dang time.
2021-07-23 13:22:39 -04:00
a1dac21bdf
Make SPIv3 work with DMA.
...
Add both DMA and non-DMA example to H7.
2021-07-23 13:22:39 -04:00
6dbe049468
Add back in the other versions of SPI.
2021-07-23 13:22:39 -04:00
0d2051243e
SPIv2 + DMA.
2021-07-23 13:22:39 -04:00
1a03f00b56
Wire up peripheral DMA channels for SPI.
2021-07-23 13:22:39 -04:00