stm32/sdmmc: add support for multiple block reads and writes.
This commit is contained in:
committed by
Dario Nieuwenhuis
parent
7a620661da
commit
eb83d049c7
@@ -34,8 +34,10 @@ async fn main(_spawner: Spawner) {
|
||||
pattern1[i] = i as u8;
|
||||
pattern2[i] = !i as u8;
|
||||
}
|
||||
let patterns = [pattern1.clone(), pattern2.clone()];
|
||||
|
||||
let mut block = DataBlock([0u8; 512]);
|
||||
let mut blocks = [DataBlock([0u8; 512]), DataBlock([0u8; 512])];
|
||||
|
||||
// ======== Try 4bit. ==============
|
||||
info!("initializing in 4-bit mode...");
|
||||
@@ -84,6 +86,13 @@ async fn main(_spawner: Spawner) {
|
||||
s.read_block(block_idx, &mut block).await.unwrap();
|
||||
assert_eq!(block, pattern2);
|
||||
|
||||
info!("writing blocks [pattern1, pattern2]...");
|
||||
s.write_blocks(block_idx, &patterns).await.unwrap();
|
||||
|
||||
info!("reading blocks...");
|
||||
s.read_blocks(block_idx, &mut blocks).await.unwrap();
|
||||
assert_eq!(&blocks, &patterns);
|
||||
|
||||
drop(s);
|
||||
|
||||
// ======== Try 1bit. ==============
|
||||
@@ -116,9 +125,9 @@ async fn main(_spawner: Spawner) {
|
||||
info!("Card: {:#?}", Debug2Format(card));
|
||||
info!("Clock: {}", s.clock());
|
||||
|
||||
info!("reading pattern2 written in 4bit mode...");
|
||||
info!("reading pattern1 written in 4bit mode...");
|
||||
s.read_block(block_idx, &mut block).await.unwrap();
|
||||
assert_eq!(block, pattern2);
|
||||
assert_eq!(block, pattern1);
|
||||
|
||||
info!("writing pattern1...");
|
||||
s.write_block(block_idx, &pattern1).await.unwrap();
|
||||
@@ -134,6 +143,13 @@ async fn main(_spawner: Spawner) {
|
||||
s.read_block(block_idx, &mut block).await.unwrap();
|
||||
assert_eq!(block, pattern2);
|
||||
|
||||
info!("writing blocks [pattern1, pattern2]...");
|
||||
s.write_blocks(block_idx, &patterns).await.unwrap();
|
||||
|
||||
info!("reading blocks...");
|
||||
s.read_blocks(block_idx, &mut blocks).await.unwrap();
|
||||
assert_eq!(&blocks, &patterns);
|
||||
|
||||
drop(s);
|
||||
|
||||
info!("Test OK");
|
||||
|
||||
Reference in New Issue
Block a user