Commit Graph

1300 Commits

Author SHA1 Message Date
baab52d40c Avoid a race condition by reducing the locks to one 2021-07-15 12:31:52 +10:00
5a5795ef2b NoopMutex does not require an UnsafeCell 2021-07-15 12:31:52 +10:00
9b5f2e465b Tidying 2021-07-15 12:31:52 +10:00
108cffcba0 Migrated to the waker registration functionality for Embassy specific optimisations 2021-07-15 12:31:52 +10:00
dcd0c38109 Return a new future each time recv is called 2021-07-15 12:31:52 +10:00
f159beec1c Use of a NoopMutex 2021-07-15 12:31:52 +10:00
5f87c7808c Remove the cell and trait
At the expense of exposing the channel types again. We do this as we want to avoid using dyn traits given their overhead for embedded environments.
2021-07-15 12:31:52 +10:00
56b3e927fe ChannelState should be private 2021-07-15 12:31:52 +10:00
3fdf61c819 Constraint the use of ChannelCell to just channels 2021-07-15 12:31:52 +10:00
ae62948d6c Replace UnsafeCell
Using a new ChannelCell so that there's no leaking of the abstraction
2021-07-15 12:31:52 +10:00
1b49acc2f7 Fixed some clippy warnings 2021-07-15 12:31:52 +10:00
a156f72bfb Improves the representation of side effects 2021-07-15 12:31:52 +10:00
816b78c0d9 Reduces the types on sender and receiver
In exchange for an UnsafeCell being passed into split
2021-07-15 12:31:52 +10:00
1b9d5e5071 Multi Producer Single Consumer channel
An MPSC inspired by Tokio and Crossbeam. The MPSC is designed to support both single and multi core processors, with only single core implemented at this time. The allocation of the channel’s buffer is inspired by the const generic parameters that Heapless provides.
2021-07-15 12:31:52 +10:00
8a172ac123 Merge pull request #294 from embassy-rs/usart-merge
stm32/usart: merge v2 and v3 (they're identical)
2021-07-15 01:02:12 +02:00
4361cb15f1 stm32/usart: merge v2 and v3 (they're identical) 2021-07-15 00:52:37 +02:00
d71be45a91 Merge pull request #293 from embassy-rs/pac-reexport
all hals: reexport PAC if `unstable-pac` feature is set.
2021-07-15 00:42:59 +02:00
71c8d7aa7d stm32l4/examples: remove old-pac uses. 2021-07-15 00:37:00 +02:00
f916fe5476 all hals: reexport PAC if unstable-pac feature is set. 2021-07-14 22:19:04 +02:00
6444066589 Add L4 examples to workspace example 2021-07-14 22:00:49 +02:00
7dd7f391fc Fix OOTB workspace issues with embassy-net 2021-07-14 21:58:07 +02:00
2d9e2908df Merge pull request #292 from embassy-rs/update-nightly
Update nightly
2021-07-14 21:32:33 +02:00
5061625068 Update nightly 2021-07-14 21:17:29 +02:00
e4325cb8fe Merge pull request #290 from bobmcwhirter/async-usart
First shot at async dma usart for stm32.
2021-07-14 15:07:36 -04:00
21e94972dc Fix more warnings and examples. 2021-07-14 14:55:20 -04:00
3fd9023fce Fix the h7 example. 2021-07-14 14:45:54 -04:00
43cb8de434 Remove gratuitous NoDmaMarker. 2021-07-14 14:37:42 -04:00
38b1359c40 Remove pub and cfg's, since they will be implied by the existance of TxDma<T> in theory. 2021-07-14 14:35:03 -04:00
a88f0028ef First shot at async dma usart for stm32. 2021-07-14 14:14:14 -04:00
667b259d53 Merge pull request #289 from bobmcwhirter/data-fix
Update data.
2021-07-14 12:32:17 -03:00
95b42f9523 Update data. 2021-07-14 11:25:46 -04:00
b6eb5dcf2f Merge pull request #282 from bobmcwhirter/dmamux_thales
BDMA + DMAMUX + H7 with major help from @thalesfragoso
2021-07-13 13:33:38 -04:00
6e0e83cfd9 More conversions to associated consts. 2021-07-13 10:56:35 -04:00
604a25ec5d Reduce number of traits and impls. 2021-07-13 10:46:31 -04:00
8fbea38a5b Simplify some of the bdma macros.
Make more things associated consts.
2021-07-13 10:09:35 -04:00
92247369e7 Remove some unused traits.
Move some fns to associated consts.
2021-07-13 10:09:35 -04:00
c39ac201ff Update for stm32-data. 2021-07-13 10:09:35 -04:00
2e10ab2e5c Let's count channels per DMA peripheral, shall we now? 2021-07-13 10:09:35 -04:00
b0b61d99e6 Macros do indeed require a ! to invoke. 2021-07-13 10:09:35 -04:00
6534b63e01 Simplify some macros around dmamux peripheral channels. 2021-07-13 10:09:35 -04:00
0befa10367 Trivial to force CI to do it's thing. 2021-07-13 10:09:35 -04:00
06e899b14c Adjust to DMA1EN in the rcc for l0. 2021-07-13 10:09:35 -04:00
d31e30f382 Undo special-casing FOO1 -> FOO in RCC searching. 2021-07-13 10:09:35 -04:00
c28bc5a8da Adapt for DMAEN for DMA1 if DMA1EN is not found (for all peripherals FOO1) for EN/RST rcc table. 2021-07-13 10:09:35 -04:00
a9b2ed52ee Remove deadcode from dmamux.
Smoosh bdma down to a single version.
2021-07-13 10:09:35 -04:00
45964c658c Generalize RCC enabling for BDMA peris. 2021-07-13 10:09:35 -04:00
ff1cb9ac74 Remove warnings. 2021-07-13 10:09:35 -04:00
509c7f6835 Update stm32-data. 2021-07-13 10:09:35 -04:00
97ad434d38 Twizzle our DMA vs BDMA channels. 2021-07-13 10:09:35 -04:00
a24a7e9fec Allow some unused lints given that H7 is still in flight with its multitude of DMA. 2021-07-13 10:09:35 -04:00