Liam Murphy
4d9514cbcb
Don't allow disabling interrupts wrapped by PeripheralMutex
2021-07-28 21:39:31 +10:00
Liam Murphy
68c93256bc
fix: interrupts with equal priority can't preempt each other
2021-07-28 21:31:31 +10:00
Dario Nieuwenhuis
126407f8c8
Merge pull request #319 from timokroeger/stm32f4-embassymain
...
Use `embassy::main` macro for stm32f4 examples
2021-07-28 10:34:46 +02:00
Bob McWhirter
ee755a729f
Update to new stm32-data with better multicore NVIC parsing.
2021-07-27 13:49:14 -04:00
Bob McWhirter
8759213fcc
Use new interrupt! table format to /enable/ the IRQs also.
2021-07-27 13:23:33 -04:00
Bob McWhirter
b910551c9a
Generate more rows in the interrupts! table.
...
Adjust DMA/BDMA to use the new style.
2021-07-27 12:52:01 -04:00
Bob McWhirter
9fec792a6a
Update data to include peripheral IRQs.
2021-07-27 12:39:34 -04:00
Timo Kröger
dd1ec8ebec
Use embassy::main
macro for stm32f4 examples
2021-07-27 15:03:18 +02:00
Liam Murphy
a6fea3cb28
Fix #[cfg]
s in exception_to_system_handler
2021-07-27 17:40:13 +10:00
Liam Murphy
e57ca5f7db
Remove critical-section
dependency
2021-07-27 17:30:10 +10:00
Liam Murphy
079526559f
Remove critical sections from PeripheralMutex
interrupt handler by checking the interrupt's priority on startup.
...
Since `PeripheralMutex` is the only way to safely maintain state across interrupts, and it no longer allows setting the interrupt's priority, the priority changing isn't a concern.
This also prevents other causes of UB due to the interrupt being exposed during `with`, and allowing enabling the interrupt and setting its context to a bogus pointer.
2021-07-27 17:28:52 +10:00
Thales
d83cd3fffd
Merge pull request #315 from embassy-rs/ci-fixes
...
Optimize CI
2021-07-26 19:24:54 -03:00
Bob McWhirter
754b5ebefc
Merge pull request #316 from bobmcwhirter/update-stm32data
...
PR to test change to stm32-data.
2021-07-26 16:18:06 -04:00
Bob McWhirter
1a3fd765ad
Update stm32-data.
2021-07-26 16:12:41 -04:00
Dario Nieuwenhuis
fe58e9541d
Optimize CI
2021-07-24 15:29:31 +02:00
Dario Nieuwenhuis
495d977b03
Merge pull request #314 from embassy-rs/example-cleanup-l4
...
stm32/examples: cleanup L4
2021-07-24 14:03:42 +02:00
Dario Nieuwenhuis
5b0ae5c25b
stm32/examples: cleanup L4
2021-07-24 13:57:11 +02:00
Dario Nieuwenhuis
4899168534
Merge pull request #312 from timokroeger/en-exti-clock
...
Enable SYSCFG clock in `exti::init()`
2021-07-24 11:18:46 +02:00
Timo Kröger
06fb2a7a80
Enable SYSCFG clock in exti::init()
2021-07-24 11:13:49 +02:00
Dario Nieuwenhuis
ad7a1f1453
Merge pull request #309 from timokroeger/stm32-dmav1-interrupt-flags
...
STM32 DMA/BDMA: Use interrupt flags instead of atomics
2021-07-24 10:07:33 +02:00
Dario Nieuwenhuis
3c7375c6cd
stm32/bdma: do not clear IF on IRQ handler
2021-07-24 10:01:11 +02:00
Timo Kröger
43c4f24207
STM32 BDMA: Use interrupt flags instead of atomics
2021-07-24 09:26:07 +02:00
Timo Kröger
5a4a5ce334
STM32 DMA: Use interrupt flags instead of atomics
2021-07-24 09:26:07 +02:00
Dario Nieuwenhuis
9c503a9256
Merge pull request #305 from bobmcwhirter/spi_dma_take3
...
Spi dma take3
2021-07-24 09:24:11 +02:00
Liam Murphy
1b7ad7080e
Add Send/Sync
bounds to PeripheralState
2021-07-24 12:53:57 +10:00
Bob McWhirter
83f63890e5
Actually take a &mut of that read slice.
2021-07-23 13:22:39 -04:00
Bob McWhirter
473a83a937
Adjust how we deal with read/write being different length.
...
Including some docs about it.
Removing the Rx-enablement for write-only operations.
2021-07-23 13:22:39 -04:00
Bob McWhirter
67283c0cbd
Reset back the memory.x also.
2021-07-23 13:22:39 -04:00
Bob McWhirter
f1a3e0e05d
As before, EVERY DANG TIME.
...
It'll be sweet with intellij-rust-plugin works better.
2021-07-23 13:22:39 -04:00
Bob McWhirter
a63847944f
Reset the examples to the original F4 flavor.
2021-07-23 13:22:39 -04:00
Bob McWhirter
b07325b476
Enable DMA for SPIv1 on F4's etc.
2021-07-23 13:22:39 -04:00
Bob McWhirter
8ab82191b7
Every dang time.
2021-07-23 13:22:39 -04:00
Bob McWhirter
a1dac21bdf
Make SPIv3 work with DMA.
...
Add both DMA and non-DMA example to H7.
2021-07-23 13:22:39 -04:00
Bob McWhirter
34dfe28d3a
FFS warnings about unused Result<>.
2021-07-23 13:22:39 -04:00
Bob McWhirter
053e330375
Fix warnings about un-used variables.
2021-07-23 13:22:39 -04:00
Bob McWhirter
e269971597
Fix extraneous mut
warnings in L4 example.
2021-07-23 13:22:39 -04:00
Bob McWhirter
638235e72d
Fix up the L0 example for SPI.
2021-07-23 13:22:39 -04:00
Bob McWhirter
6dbe049468
Add back in the other versions of SPI.
2021-07-23 13:22:39 -04:00
Bob McWhirter
bee7f60f08
Improve the SPIv2 DMA example to verify it actually works.
2021-07-23 13:22:39 -04:00
Bob McWhirter
0d2051243e
SPIv2 + DMA.
2021-07-23 13:22:39 -04:00
Bob McWhirter
1a03f00b56
Wire up peripheral DMA channels for SPI.
2021-07-23 13:22:39 -04:00
Bob McWhirter
3df2aadc39
Avoid borrowck issue.
2021-07-23 13:22:39 -04:00
Bob McWhirter
dedc2bac42
IntelliJ'd.
2021-07-23 13:22:39 -04:00
Bob McWhirter
4c5a234a3a
Add a non-minc write() to DMA which takes a count.
...
Use it from "read-only" SPI.
2021-07-23 13:22:39 -04:00
Bob McWhirter
7bbad4c4e5
More unused allowances.
2021-07-23 13:22:39 -04:00
Bob McWhirter
4bcc3b06c6
Include all versions when handing to CI.
2021-07-23 13:22:39 -04:00
Bob McWhirter
a75110296d
Annotate to avoid unused warnings for the moment.
2021-07-23 13:22:39 -04:00
Bob McWhirter
3f379e06b0
Begin reworking SPI to add DMA for stm32.
2021-07-23 13:22:39 -04:00
Bob McWhirter
fe66f0f8f8
Checkpoint.
2021-07-23 13:22:39 -04:00
Bob McWhirter
a345dd9e2b
More formatting!
2021-07-23 13:22:39 -04:00