diff options
| author | Dario Nieuwenhuis <[email protected]> | 2021-04-14 17:00:28 +0200 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2021-04-14 17:04:40 +0200 |
| commit | 5ee87cf25d5bda026644ffe50755f25ae92f20db (patch) | |
| tree | b9d91d5921d67cf60fabb47d83cb7aa5333e311d /embassy-nrf-examples | |
| parent | d336a4b38a3e5cef1337f39c657beab76b60640e (diff) | |
Remove Pin from Flash trait
Diffstat (limited to 'embassy-nrf-examples')
| -rw-r--r-- | embassy-nrf-examples/src/bin/qspi.rs | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/embassy-nrf-examples/src/bin/qspi.rs b/embassy-nrf-examples/src/bin/qspi.rs index 27dd28d72..28cde6e51 100644 --- a/embassy-nrf-examples/src/bin/qspi.rs +++ b/embassy-nrf-examples/src/bin/qspi.rs | |||
| @@ -14,7 +14,6 @@ use embassy::traits::flash::Flash; | |||
| 14 | use embassy_nrf::Peripherals; | 14 | use embassy_nrf::Peripherals; |
| 15 | use embassy_nrf::{interrupt, qspi}; | 15 | use embassy_nrf::{interrupt, qspi}; |
| 16 | use example_common::*; | 16 | use example_common::*; |
| 17 | use futures::pin_mut; | ||
| 18 | 17 | ||
| 19 | const PAGE_SIZE: usize = 4096; | 18 | const PAGE_SIZE: usize = 4096; |
| 20 | 19 | ||
| @@ -36,32 +35,22 @@ async fn main(spawner: Spawner) { | |||
| 36 | 35 | ||
| 37 | let config = qspi::Config::default(); | 36 | let config = qspi::Config::default(); |
| 38 | let irq = interrupt::take!(QSPI); | 37 | let irq = interrupt::take!(QSPI); |
| 39 | let q = qspi::Qspi::new(p.QSPI, irq, sck, csn, io0, io1, io2, io3, config); | 38 | let mut q = qspi::Qspi::new(p.QSPI, irq, sck, csn, io0, io1, io2, io3, config); |
| 40 | pin_mut!(q); | ||
| 41 | 39 | ||
| 42 | let mut id = [1; 3]; | 40 | let mut id = [1; 3]; |
| 43 | q.as_mut() | 41 | q.custom_instruction(0x9F, &[], &mut id).await.unwrap(); |
| 44 | .custom_instruction(0x9F, &[], &mut id) | ||
| 45 | .await | ||
| 46 | .unwrap(); | ||
| 47 | info!("id: {}", id); | 42 | info!("id: {}", id); |
| 48 | 43 | ||
| 49 | // Read status register | 44 | // Read status register |
| 50 | let mut status = [4; 1]; | 45 | let mut status = [4; 1]; |
| 51 | q.as_mut() | 46 | q.custom_instruction(0x05, &[], &mut status).await.unwrap(); |
| 52 | .custom_instruction(0x05, &[], &mut status) | ||
| 53 | .await | ||
| 54 | .unwrap(); | ||
| 55 | 47 | ||
| 56 | info!("status: {:?}", status[0]); | 48 | info!("status: {:?}", status[0]); |
| 57 | 49 | ||
| 58 | if status[0] & 0x40 == 0 { | 50 | if status[0] & 0x40 == 0 { |
| 59 | status[0] |= 0x40; | 51 | status[0] |= 0x40; |
| 60 | 52 | ||
| 61 | q.as_mut() | 53 | q.custom_instruction(0x01, &status, &mut []).await.unwrap(); |
| 62 | .custom_instruction(0x01, &status, &mut []) | ||
| 63 | .await | ||
| 64 | .unwrap(); | ||
| 65 | 54 | ||
| 66 | info!("enabled quad in status"); | 55 | info!("enabled quad in status"); |
| 67 | } | 56 | } |
| @@ -72,19 +61,19 @@ async fn main(spawner: Spawner) { | |||
| 72 | 61 | ||
| 73 | for i in 0..8 { | 62 | for i in 0..8 { |
| 74 | info!("page {:?}: erasing... ", i); | 63 | info!("page {:?}: erasing... ", i); |
| 75 | q.as_mut().erase(i * PAGE_SIZE).await.unwrap(); | 64 | q.erase(i * PAGE_SIZE).await.unwrap(); |
| 76 | 65 | ||
| 77 | for j in 0..PAGE_SIZE { | 66 | for j in 0..PAGE_SIZE { |
| 78 | buf.0[j] = pattern((j + i * PAGE_SIZE) as u32); | 67 | buf.0[j] = pattern((j + i * PAGE_SIZE) as u32); |
| 79 | } | 68 | } |
| 80 | 69 | ||
| 81 | info!("programming..."); | 70 | info!("programming..."); |
| 82 | q.as_mut().write(i * PAGE_SIZE, &buf.0).await.unwrap(); | 71 | q.write(i * PAGE_SIZE, &buf.0).await.unwrap(); |
| 83 | } | 72 | } |
| 84 | 73 | ||
| 85 | for i in 0..8 { | 74 | for i in 0..8 { |
| 86 | info!("page {:?}: reading... ", i); | 75 | info!("page {:?}: reading... ", i); |
| 87 | q.as_mut().read(i * PAGE_SIZE, &mut buf.0).await.unwrap(); | 76 | q.read(i * PAGE_SIZE, &mut buf.0).await.unwrap(); |
| 88 | 77 | ||
| 89 | info!("verifying..."); | 78 | info!("verifying..."); |
| 90 | for j in 0..PAGE_SIZE { | 79 | for j in 0..PAGE_SIZE { |
