diff options
| author | Oliver <[email protected]> | 2025-02-04 12:15:22 +1100 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2025-04-18 14:21:29 +0200 |
| commit | eb83d049c7fe1919b435878012de5da886e9fc62 (patch) | |
| tree | 0d26acf1b4432b5fcf20039516b8259b6cb7c980 /tests/stm32 | |
| parent | 7a620661da85c0a4b550abbde7df7e248fe0f155 (diff) | |
stm32/sdmmc: add support for multiple block reads and writes.
Diffstat (limited to 'tests/stm32')
| -rw-r--r-- | tests/stm32/src/bin/sdmmc.rs | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/tests/stm32/src/bin/sdmmc.rs b/tests/stm32/src/bin/sdmmc.rs index c1ed45588..34a53a725 100644 --- a/tests/stm32/src/bin/sdmmc.rs +++ b/tests/stm32/src/bin/sdmmc.rs | |||
| @@ -34,8 +34,10 @@ async fn main(_spawner: Spawner) { | |||
| 34 | pattern1[i] = i as u8; | 34 | pattern1[i] = i as u8; |
| 35 | pattern2[i] = !i as u8; | 35 | pattern2[i] = !i as u8; |
| 36 | } | 36 | } |
| 37 | let patterns = [pattern1.clone(), pattern2.clone()]; | ||
| 37 | 38 | ||
| 38 | let mut block = DataBlock([0u8; 512]); | 39 | let mut block = DataBlock([0u8; 512]); |
| 40 | let mut blocks = [DataBlock([0u8; 512]), DataBlock([0u8; 512])]; | ||
| 39 | 41 | ||
| 40 | // ======== Try 4bit. ============== | 42 | // ======== Try 4bit. ============== |
| 41 | info!("initializing in 4-bit mode..."); | 43 | info!("initializing in 4-bit mode..."); |
| @@ -84,6 +86,13 @@ async fn main(_spawner: Spawner) { | |||
| 84 | s.read_block(block_idx, &mut block).await.unwrap(); | 86 | s.read_block(block_idx, &mut block).await.unwrap(); |
| 85 | assert_eq!(block, pattern2); | 87 | assert_eq!(block, pattern2); |
| 86 | 88 | ||
| 89 | info!("writing blocks [pattern1, pattern2]..."); | ||
| 90 | s.write_blocks(block_idx, &patterns).await.unwrap(); | ||
| 91 | |||
| 92 | info!("reading blocks..."); | ||
| 93 | s.read_blocks(block_idx, &mut blocks).await.unwrap(); | ||
| 94 | assert_eq!(&blocks, &patterns); | ||
| 95 | |||
| 87 | drop(s); | 96 | drop(s); |
| 88 | 97 | ||
| 89 | // ======== Try 1bit. ============== | 98 | // ======== Try 1bit. ============== |
| @@ -116,9 +125,9 @@ async fn main(_spawner: Spawner) { | |||
| 116 | info!("Card: {:#?}", Debug2Format(card)); | 125 | info!("Card: {:#?}", Debug2Format(card)); |
| 117 | info!("Clock: {}", s.clock()); | 126 | info!("Clock: {}", s.clock()); |
| 118 | 127 | ||
| 119 | info!("reading pattern2 written in 4bit mode..."); | 128 | info!("reading pattern1 written in 4bit mode..."); |
| 120 | s.read_block(block_idx, &mut block).await.unwrap(); | 129 | s.read_block(block_idx, &mut block).await.unwrap(); |
| 121 | assert_eq!(block, pattern2); | 130 | assert_eq!(block, pattern1); |
| 122 | 131 | ||
| 123 | info!("writing pattern1..."); | 132 | info!("writing pattern1..."); |
| 124 | s.write_block(block_idx, &pattern1).await.unwrap(); | 133 | s.write_block(block_idx, &pattern1).await.unwrap(); |
| @@ -134,6 +143,13 @@ async fn main(_spawner: Spawner) { | |||
| 134 | s.read_block(block_idx, &mut block).await.unwrap(); | 143 | s.read_block(block_idx, &mut block).await.unwrap(); |
| 135 | assert_eq!(block, pattern2); | 144 | assert_eq!(block, pattern2); |
| 136 | 145 | ||
| 146 | info!("writing blocks [pattern1, pattern2]..."); | ||
| 147 | s.write_blocks(block_idx, &patterns).await.unwrap(); | ||
| 148 | |||
| 149 | info!("reading blocks..."); | ||
| 150 | s.read_blocks(block_idx, &mut blocks).await.unwrap(); | ||
| 151 | assert_eq!(&blocks, &patterns); | ||
| 152 | |||
| 137 | drop(s); | 153 | drop(s); |
| 138 | 154 | ||
| 139 | info!("Test OK"); | 155 | info!("Test OK"); |
