Dario Nieuwenhuis
921780e6bf
Make interrupt module more standard.
...
- Move typelevel interrupts to a special-purpose mod: `embassy_xx::interrupt::typelevel`.
- Reexport the PAC interrupt enum in `embassy_xx::interrupt`.
This has a few advantages:
- The `embassy_xx::interrupt` module is now more "standard".
- It works with `cortex-m` functions for manipulating interrupts, for example.
- It works with RTIC.
- the interrupt enum allows holding value that can be "any interrupt at runtime", this can't be done with typelevel irqs.
- When "const-generics on enums" is stable, we can remove the typelevel interrupts without disruptive changes to `embassy_xx::interrupt`.
2023-06-08 18:00:48 +02:00
Dario Nieuwenhuis
5ee26a5dd1
rp/dma: fix use-after-free read.
2023-06-05 22:28:14 +02:00
Dario Nieuwenhuis
404aa29289
cortex-m: remove owned interrupts.
2023-06-01 03:25:19 +02:00
Lachezar Lechev
7a4db1da26
fix(rp): spi transfer
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-03-20 16:34:30 +02:00
Grant Miller
7be4337de9
Add #[must_use]
to all futures
2023-02-24 13:01:41 -06:00
Mathias
18dc0dea63
Drop rp2040-flash as dependency, as they pull in rp2040-hal for rom-data functions, which are now part of this HAL as well
2022-09-23 08:12:32 +02:00
Dario Nieuwenhuis
2fed9f949a
Replace futures::future::poll_fn -> core::future::poll_fn.
2022-09-23 07:58:48 +02:00
Alex Martens
4322293f63
rp: let SPI RX overflow during async write
2022-09-23 07:58:48 +02:00
Alex Martens
c14527486d
rp: fix async SPI read and write
2022-09-23 07:58:48 +02:00
Henrik Alsér
efe456ab14
Fix dma
2022-09-01 15:50:08 +02:00
Henrik Alsér
27905f1be1
Change DMA write/read to use raw pointers
2022-09-01 15:12:44 +02:00
Mathias
bd27b9080f
Add HIL tests of DMA & UART, and correctly set DREQ for uart DMA
2022-08-26 12:55:15 +02:00
Mathias
b88ef03214
Only check for ahb error in DMA
2022-08-23 13:46:48 +02:00
Mathias
594a64b3bf
Change to using embassy-sync
2022-08-23 13:28:14 +02:00
Mathias
7e3ce2c90b
Abort DMA operation when dropping a Transfer, and panic on DMA errors
2022-08-23 13:20:36 +02:00
Mathias
f6c2e26372
Address code review comments
2022-08-23 12:28:17 +02:00
Mathias
295af2a057
Fix bit checking in DMA irq
2022-08-19 14:16:19 +02:00
Mathias
331a64a4ea
Add back public dma::copy, and correct dma incr settings for read/write
2022-08-19 10:43:59 +02:00
Mathias
140ef4febf
Add DMA_IRQ0 handling to Transfer
2022-08-19 09:48:58 +02:00
Mathias
aa586fe1de
Simplify waker storage for DMA state
2022-08-18 21:27:37 +02:00
Mathias
debff0980d
Don't increment read address in DMA copy from peripherals
2022-08-18 21:20:47 +02:00
Mathias
1d49b3444f
Add DMA read + write functions
2022-08-18 21:09:50 +02:00
Mathias
9c9b7b1a66
Remove unneeded NoDma struct
2022-08-18 20:34:55 +02:00
Mathias
55a63a5417
Attempt to implement future for DMA transfer
2022-08-18 20:30:50 +02:00
Mathias
3bbfc11f45
Stop active DMA transfer on drop
2022-08-18 20:30:24 +02:00
Mathias
d35a1c9790
Preliminary DMA support for RP2040
2022-08-18 19:39:13 +02:00
Mathias
d52c7ded49
Implement remaining logic for blocking UART. async is still todo, awaiting DMA
2022-08-18 10:23:29 +02:00
Dario Nieuwenhuis
e7dc5c0939
fmt: make all macros macro_rules
so scoping is consistent.
2021-06-07 00:16:39 +02:00
Rukai
2363a019e2
Fix all warnings on embassy-rp and embassy-rp-examples and
...
embassy-std-examples
2021-05-20 08:32:26 +10:00
Dario Nieuwenhuis
f7858631d8
stm32: fix build, add ci
2021-05-17 03:16:58 +02:00
Dario Nieuwenhuis
2cd3bdc90c
rp: add initial version
2021-03-29 21:35:25 +02:00