aboutsummaryrefslogtreecommitdiff
path: root/tests/stm32
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2024-05-31 22:19:17 +0200
committerDario Nieuwenhuis <[email protected]>2024-05-31 22:58:53 +0200
commit8a1658ab0e946b1fb6e91a9b22e92a51b78704ec (patch)
treeb58ea1cf6116ce13988558c302c1b918e0355527 /tests/stm32
parent339dd859686caee4ed55ed1f3cba0320e085db39 (diff)
stm32/spi: test zero-length transfers in more cases.
Diffstat (limited to 'tests/stm32')
-rw-r--r--tests/stm32/src/bin/spi.rs2
-rw-r--r--tests/stm32/src/bin/spi_dma.rs12
2 files changed, 13 insertions, 1 deletions
diff --git a/tests/stm32/src/bin/spi.rs b/tests/stm32/src/bin/spi.rs
index 0d670b7c1..8be3b1a7c 100644
--- a/tests/stm32/src/bin/spi.rs
+++ b/tests/stm32/src/bin/spi.rs
@@ -76,6 +76,8 @@ async fn main(_spawner: Spawner) {
76 mosi_out.set_low(); 76 mosi_out.set_low();
77 spi.blocking_read(&mut buf).unwrap(); 77 spi.blocking_read(&mut buf).unwrap();
78 assert_eq!(buf, [0x00; 9]); 78 assert_eq!(buf, [0x00; 9]);
79 spi.blocking_read::<u8>(&mut []).unwrap();
80 spi.blocking_read::<u8>(&mut []).unwrap();
79 drop(mosi_out); 81 drop(mosi_out);
80 drop(spi); 82 drop(spi);
81 83
diff --git a/tests/stm32/src/bin/spi_dma.rs b/tests/stm32/src/bin/spi_dma.rs
index 0cd3690ec..a8001a111 100644
--- a/tests/stm32/src/bin/spi_dma.rs
+++ b/tests/stm32/src/bin/spi_dma.rs
@@ -63,8 +63,12 @@ async fn main(_spawner: Spawner) {
63 spi.transfer_in_place::<u8>(&mut []).await.unwrap(); 63 spi.transfer_in_place::<u8>(&mut []).await.unwrap();
64 spi.read::<u8>(&mut []).await.unwrap(); 64 spi.read::<u8>(&mut []).await.unwrap();
65 spi.write::<u8>(&[]).await.unwrap(); 65 spi.write::<u8>(&[]).await.unwrap();
66 spi.blocking_transfer::<u8>(&mut [], &[]).unwrap();
67 spi.blocking_transfer_in_place::<u8>(&mut []).unwrap();
68 spi.blocking_read::<u8>(&mut []).unwrap();
69 spi.blocking_write::<u8>(&[]).unwrap();
66 70
67 // === Check mixing blocking with async. 71 // Check mixing blocking with async.
68 spi.blocking_transfer(&mut buf, &data).unwrap(); 72 spi.blocking_transfer(&mut buf, &data).unwrap();
69 assert_eq!(buf, data); 73 assert_eq!(buf, data);
70 spi.transfer(&mut buf, &data).await.unwrap(); 74 spi.transfer(&mut buf, &data).await.unwrap();
@@ -110,6 +114,8 @@ async fn main(_spawner: Spawner) {
110 mosi_out.set_low(); 114 mosi_out.set_low();
111 spi.read(&mut buf).await.unwrap(); 115 spi.read(&mut buf).await.unwrap();
112 assert_eq!(buf, [0x00; 9]); 116 assert_eq!(buf, [0x00; 9]);
117 spi.read::<u8>(&mut []).await.unwrap();
118 spi.blocking_read::<u8>(&mut []).unwrap();
113 drop(mosi_out); 119 drop(mosi_out);
114 drop(spi); 120 drop(spi);
115 121
@@ -121,6 +127,8 @@ async fn main(_spawner: Spawner) {
121 spi.blocking_write(&buf).unwrap(); 127 spi.blocking_write(&buf).unwrap();
122 spi.write(&buf).await.unwrap(); 128 spi.write(&buf).await.unwrap();
123 spi.write(&buf).await.unwrap(); 129 spi.write(&buf).await.unwrap();
130 spi.write::<u8>(&[]).await.unwrap();
131 spi.blocking_write::<u8>(&[]).unwrap();
124 drop(spi); 132 drop(spi);
125 133
126 // Test tx-only nosck. 134 // Test tx-only nosck.
@@ -133,6 +141,8 @@ async fn main(_spawner: Spawner) {
133 spi.blocking_write(&buf).unwrap(); 141 spi.blocking_write(&buf).unwrap();
134 spi.write(&buf).await.unwrap(); 142 spi.write(&buf).await.unwrap();
135 spi.write(&buf).await.unwrap(); 143 spi.write(&buf).await.unwrap();
144 spi.write::<u8>(&[]).await.unwrap();
145 spi.blocking_write::<u8>(&[]).unwrap();
136 drop(spi); 146 drop(spi);
137 } 147 }
138 148