6f78527aeb
Partial borrow for receiver to enforce compile-time mpssc
2021-07-15 12:31:53 +10:00
076198a3b9
Small tidy up
2021-07-15 12:31:53 +10:00
d711e8a82c
Eliminates unsoundness by using an UnsafeCell for sharing the channel
2021-07-15 12:31:53 +10:00
babee7f32a
Tighten sender/receiver bounds
2021-07-15 12:31:53 +10:00
d86892ca56
Removed the closing state as it was not required
2021-07-15 12:31:53 +10:00
a247fa4f2c
Explicitly drop non consumed items
2021-07-15 12:31:53 +10:00
7c723d2bfd
Removed UB code around the send future
2021-07-15 12:31:52 +10:00
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