01cc733c61
Prep for new stm32-data with dmamux differentiation, but not yet using.
2021-07-16 15:44:22 -04:00
0119ea809d
Get DMA on H7 working, add usart_dma example for H7.
2021-07-16 14:41:20 -04:00
1254e99be1
Be able to scrub out BDMA-centric IRQs.
...
Further refine distinction between DMA and BDMA interrupts in the table.
2021-07-16 14:41:20 -04:00
ae948415a7
stm32/dma: disable after finishing
2021-07-16 14:41:20 -04:00
d0f2dc3abd
Fix rustfmt
2021-07-16 14:41:20 -04:00
63a0e188ea
stm32/dma: fix h7 impls
2021-07-16 14:41:20 -04:00
2ee20f5dcb
Update vscode settings.
2021-07-16 14:41:20 -04:00
3d1391ef2d
stm32/dma: impl all variants
2021-07-16 14:41:20 -04:00
69fb1b5418
Merge pull request #297 from embassy-rs/h7-smps
...
stm32/pwr: add initial H7 SMPS support
2021-07-16 16:22:21 +02:00
1b42b30201
stm32/pwr: add initial H7 SMPS support
2021-07-16 01:17:45 +02:00
7ed43cd843
Merge pull request #296 from thalesfragoso/f0-dmarst
...
Allow for RccPeripheral without reset field and add F0 example
2021-07-15 21:23:14 +02:00
697f93ad42
stm32: Add F0 example
2021-07-15 13:50:39 -03:00
2f08c7ced5
stm32: Allow for RccPeripheral without reset field
...
This fix build on F0, since it doesn't have DMARST. This change makes
RccPeripheral::reset a no-op on peripherals where a reset field couldn't
be found
2021-07-15 13:25:51 -03:00
e06628cdfb
Update stm32-data
2021-07-14 23:39:50 -03:00
aa8c7f990f
i2c-v2: Implement write_vectored
2021-07-14 23:39:50 -03:00
f2e78e9c34
i2c-v2: Correct number of chunks calculation
2021-07-14 23:39:50 -03:00
8c7f8a61e3
i2c-v2: Support transfers with more than 255 bytes
2021-07-14 23:39:50 -03:00
72d6f79ec7
Feature no longer required given 1.55
2021-07-15 12:31:53 +10:00
3778f55d80
Provides a cleaner construction of the channel with the common "new" naming
2021-07-15 12:31:53 +10:00
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