aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2023-03-05 21:37:21 +0100
committerDario Nieuwenhuis <[email protected]>2023-03-06 00:17:51 +0100
commit96788ac93a1e98ef8d9d5e8d80d5102aef34d45d (patch)
tree0c8f5a4bc0364f6abfa5de47bae59ca4978cbf54 /examples
parentc66b28e759dc42c5f802336385a66eb8a82dab9a (diff)
nrf/qspi: switch to new interrupt binding.
Diffstat (limited to 'examples')
-rw-r--r--examples/nrf52840/src/bin/qspi.rs9
-rw-r--r--examples/nrf52840/src/bin/qspi_lowpower.rs9
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 @@
5use defmt::{assert_eq, info, unwrap}; 5use defmt::{assert_eq, info, unwrap};
6use embassy_executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_nrf::qspi::Frequency; 7use embassy_nrf::qspi::Frequency;
8use embassy_nrf::{interrupt, qspi}; 8use embassy_nrf::{bind_interrupts, peripherals, qspi};
9use {defmt_rtt as _, panic_probe as _}; 9use {defmt_rtt as _, panic_probe as _};
10 10
11const PAGE_SIZE: usize = 4096; 11const PAGE_SIZE: usize = 4096;
@@ -15,6 +15,10 @@ const PAGE_SIZE: usize = 4096;
15#[repr(C, align(4))] 15#[repr(C, align(4))]
16struct AlignedBuf([u8; 4096]); 16struct AlignedBuf([u8; 4096]);
17 17
18bind_interrupts!(struct Irqs {
19 QSPI => qspi::InterruptHandler<peripherals::QSPI>;
20});
21
18#[embassy_executor::main] 22#[embassy_executor::main]
19async fn main(_spawner: Spawner) { 23async 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;
7use defmt::{info, unwrap}; 7use defmt::{info, unwrap};
8use embassy_executor::Spawner; 8use embassy_executor::Spawner;
9use embassy_nrf::qspi::Frequency; 9use embassy_nrf::qspi::Frequency;
10use embassy_nrf::{interrupt, qspi}; 10use embassy_nrf::{bind_interrupts, peripherals, qspi};
11use embassy_time::{Duration, Timer}; 11use embassy_time::{Duration, Timer};
12use {defmt_rtt as _, panic_probe as _}; 12use {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))]
17struct AlignedBuf([u8; 64]); 17struct AlignedBuf([u8; 64]);
18 18
19bind_interrupts!(struct Irqs {
20 QSPI => qspi::InterruptHandler<peripherals::QSPI>;
21});
22
19#[embassy_executor::main] 23#[embassy_executor::main]
20async fn main(_p: Spawner) { 24async 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,