diff options
| author | Dario Nieuwenhuis <[email protected]> | 2023-03-05 21:37:21 +0100 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2023-03-06 00:17:51 +0100 |
| commit | 96788ac93a1e98ef8d9d5e8d80d5102aef34d45d (patch) | |
| tree | 0c8f5a4bc0364f6abfa5de47bae59ca4978cbf54 /examples | |
| parent | c66b28e759dc42c5f802336385a66eb8a82dab9a (diff) | |
nrf/qspi: switch to new interrupt binding.
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/nrf52840/src/bin/qspi.rs | 9 | ||||
| -rw-r--r-- | examples/nrf52840/src/bin/qspi_lowpower.rs | 9 |
2 files changed, 12 insertions, 6 deletions
diff --git a/examples/nrf52840/src/bin/qspi.rs b/examples/nrf52840/src/bin/qspi.rs index 21a10940d..9e8a01f4e 100644 --- a/examples/nrf52840/src/bin/qspi.rs +++ b/examples/nrf52840/src/bin/qspi.rs | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | use defmt::{assert_eq, info, unwrap}; | 5 | use defmt::{assert_eq, info, unwrap}; |
| 6 | use embassy_executor::Spawner; | 6 | use embassy_executor::Spawner; |
| 7 | use embassy_nrf::qspi::Frequency; | 7 | use embassy_nrf::qspi::Frequency; |
| 8 | use embassy_nrf::{interrupt, qspi}; | 8 | use embassy_nrf::{bind_interrupts, peripherals, qspi}; |
| 9 | use {defmt_rtt as _, panic_probe as _}; | 9 | use {defmt_rtt as _, panic_probe as _}; |
| 10 | 10 | ||
| 11 | const PAGE_SIZE: usize = 4096; | 11 | const PAGE_SIZE: usize = 4096; |
| @@ -15,6 +15,10 @@ const PAGE_SIZE: usize = 4096; | |||
| 15 | #[repr(C, align(4))] | 15 | #[repr(C, align(4))] |
| 16 | struct AlignedBuf([u8; 4096]); | 16 | struct AlignedBuf([u8; 4096]); |
| 17 | 17 | ||
| 18 | bind_interrupts!(struct Irqs { | ||
| 19 | QSPI => qspi::InterruptHandler<peripherals::QSPI>; | ||
| 20 | }); | ||
| 21 | |||
| 18 | #[embassy_executor::main] | 22 | #[embassy_executor::main] |
| 19 | async fn main(_spawner: Spawner) { | 23 | async fn main(_spawner: Spawner) { |
| 20 | let p = embassy_nrf::init(Default::default()); | 24 | let p = embassy_nrf::init(Default::default()); |
| @@ -26,9 +30,8 @@ async fn main(_spawner: Spawner) { | |||
| 26 | config.write_opcode = qspi::WriteOpcode::PP4IO; | 30 | config.write_opcode = qspi::WriteOpcode::PP4IO; |
| 27 | config.write_page_size = qspi::WritePageSize::_256BYTES; | 31 | config.write_page_size = qspi::WritePageSize::_256BYTES; |
| 28 | 32 | ||
| 29 | let irq = interrupt::take!(QSPI); | ||
| 30 | let mut q = qspi::Qspi::new( | 33 | let mut q = qspi::Qspi::new( |
| 31 | p.QSPI, irq, p.P0_19, p.P0_17, p.P0_20, p.P0_21, p.P0_22, p.P0_23, config, | 34 | p.QSPI, Irqs, p.P0_19, p.P0_17, p.P0_20, p.P0_21, p.P0_22, p.P0_23, config, |
| 32 | ); | 35 | ); |
| 33 | 36 | ||
| 34 | let mut id = [1; 3]; | 37 | let mut id = [1; 3]; |
diff --git a/examples/nrf52840/src/bin/qspi_lowpower.rs b/examples/nrf52840/src/bin/qspi_lowpower.rs index 20c903914..22a5c0c6d 100644 --- a/examples/nrf52840/src/bin/qspi_lowpower.rs +++ b/examples/nrf52840/src/bin/qspi_lowpower.rs | |||
| @@ -7,7 +7,7 @@ use core::mem; | |||
| 7 | use defmt::{info, unwrap}; | 7 | use defmt::{info, unwrap}; |
| 8 | use embassy_executor::Spawner; | 8 | use embassy_executor::Spawner; |
| 9 | use embassy_nrf::qspi::Frequency; | 9 | use embassy_nrf::qspi::Frequency; |
| 10 | use embassy_nrf::{interrupt, qspi}; | 10 | use embassy_nrf::{bind_interrupts, peripherals, qspi}; |
| 11 | use embassy_time::{Duration, Timer}; | 11 | use embassy_time::{Duration, Timer}; |
| 12 | use {defmt_rtt as _, panic_probe as _}; | 12 | use {defmt_rtt as _, panic_probe as _}; |
| 13 | 13 | ||
| @@ -16,10 +16,13 @@ use {defmt_rtt as _, panic_probe as _}; | |||
| 16 | #[repr(C, align(4))] | 16 | #[repr(C, align(4))] |
| 17 | struct AlignedBuf([u8; 64]); | 17 | struct AlignedBuf([u8; 64]); |
| 18 | 18 | ||
| 19 | bind_interrupts!(struct Irqs { | ||
| 20 | QSPI => qspi::InterruptHandler<peripherals::QSPI>; | ||
| 21 | }); | ||
| 22 | |||
| 19 | #[embassy_executor::main] | 23 | #[embassy_executor::main] |
| 20 | async fn main(_p: Spawner) { | 24 | async fn main(_p: Spawner) { |
| 21 | let mut p = embassy_nrf::init(Default::default()); | 25 | let mut p = embassy_nrf::init(Default::default()); |
| 22 | let mut irq = interrupt::take!(QSPI); | ||
| 23 | 26 | ||
| 24 | loop { | 27 | loop { |
| 25 | // Config for the MX25R64 present in the nRF52840 DK | 28 | // Config for the MX25R64 present in the nRF52840 DK |
| @@ -36,7 +39,7 @@ async fn main(_p: Spawner) { | |||
| 36 | 39 | ||
| 37 | let mut q = qspi::Qspi::new( | 40 | let mut q = qspi::Qspi::new( |
| 38 | &mut p.QSPI, | 41 | &mut p.QSPI, |
| 39 | &mut irq, | 42 | Irqs, |
| 40 | &mut p.P0_19, | 43 | &mut p.P0_19, |
| 41 | &mut p.P0_17, | 44 | &mut p.P0_17, |
| 42 | &mut p.P0_20, | 45 | &mut p.P0_20, |
