aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Bevenius <[email protected]>2022-09-23 15:01:09 +0200
committerDaniel Bevenius <[email protected]>2022-09-23 15:06:26 +0200
commit9aaefa6e7163c80b26546a8ce58740b437a5a03e (patch)
tree3a668642e80bad1d20b45041b003d840a7ad6c41 /src
parent9db9333d0569ca8e86301f643e42abd37f3b7118 (diff)
Add constants for cmd_word arguments
This commit adds constants intended to be used with the `cmd_word` function. The motivation for this to (hopefully) improve the readability of the code.
Diffstat (limited to 'src')
-rw-r--r--src/lib.rs25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/lib.rs b/src/lib.rs
index a6b26188d..c72f29ed5 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -32,6 +32,13 @@ fn swap16(x: u32) -> u32 {
32 x.rotate_left(16) 32 x.rotate_left(16)
33} 33}
34 34
35// CYW_SPID command structure constants.
36const WRITE: bool = true;
37const READ: bool = false;
38const INC_ADDR: bool = true;
39#[allow(unused)]
40const FIXED_ADDR: bool = false;
41
35fn cmd_word(write: bool, incr: bool, func: u32, addr: u32, len: u32) -> u32 { 42fn cmd_word(write: bool, incr: bool, func: u32, addr: u32, len: u32) -> u32 {
36 (write as u32) << 31 | (incr as u32) << 30 | (func & 0b11) << 28 | (addr & 0x1FFFF) << 11 | (len & 0x7FF) 43 (write as u32) << 31 | (incr as u32) << 30 | (func & 0b11) << 28 | (addr & 0x1FFFF) << 11 | (len & 0x7FF)
37} 44}
@@ -734,7 +741,7 @@ where
734 if status & STATUS_F2_PKT_AVAILABLE != 0 { 741 if status & STATUS_F2_PKT_AVAILABLE != 0 {
735 let len = (status & STATUS_F2_PKT_LEN_MASK) >> STATUS_F2_PKT_LEN_SHIFT; 742 let len = (status & STATUS_F2_PKT_LEN_MASK) >> STATUS_F2_PKT_LEN_SHIFT;
736 743
737 let cmd = cmd_word(false, true, FUNC_WLAN, 0, len); 744 let cmd = cmd_word(READ, INC_ADDR, FUNC_WLAN, 0, len);
738 745
739 self.spi 746 self.spi
740 .transaction(|bus| { 747 .transaction(|bus| {
@@ -799,7 +806,7 @@ where
799 806
800 trace!(" {:02x}", &buf8[..total_len.min(48)]); 807 trace!(" {:02x}", &buf8[..total_len.min(48)]);
801 808
802 let cmd = cmd_word(true, true, FUNC_WLAN, 0, total_len as _); 809 let cmd = cmd_word(WRITE, INC_ADDR, FUNC_WLAN, 0, total_len as _);
803 self.spi 810 self.spi
804 .transaction(|bus| { 811 .transaction(|bus| {
805 let bus = unsafe { &mut *bus }; 812 let bus = unsafe { &mut *bus };
@@ -993,7 +1000,7 @@ where
993 1000
994 trace!(" {:02x}", &buf8[..total_len.min(48)]); 1001 trace!(" {:02x}", &buf8[..total_len.min(48)]);
995 1002
996 let cmd = cmd_word(true, true, FUNC_WLAN, 0, total_len as _); 1003 let cmd = cmd_word(WRITE, INC_ADDR, FUNC_WLAN, 0, total_len as _);
997 1004
998 self.spi 1005 self.spi
999 .transaction(|bus| { 1006 .transaction(|bus| {
@@ -1081,7 +1088,7 @@ where
1081 1088
1082 self.backplane_set_window(addr).await; 1089 self.backplane_set_window(addr).await;
1083 1090
1084 let cmd = cmd_word(false, true, FUNC_BACKPLANE, window_offs, len as u32); 1091 let cmd = cmd_word(READ, INC_ADDR, FUNC_BACKPLANE, window_offs, len as u32);
1085 1092
1086 self.spi 1093 self.spi
1087 .transaction(|bus| { 1094 .transaction(|bus| {
@@ -1126,7 +1133,7 @@ where
1126 1133
1127 self.backplane_set_window(addr).await; 1134 self.backplane_set_window(addr).await;
1128 1135
1129 let cmd = cmd_word(true, true, FUNC_BACKPLANE, window_offs, len as u32); 1136 let cmd = cmd_word(WRITE, INC_ADDR, FUNC_BACKPLANE, window_offs, len as u32);
1130 1137
1131 self.spi 1138 self.spi
1132 .transaction(|bus| { 1139 .transaction(|bus| {
@@ -1245,7 +1252,7 @@ where
1245 } 1252 }
1246 1253
1247 async fn readn(&mut self, func: u32, addr: u32, len: u32) -> u32 { 1254 async fn readn(&mut self, func: u32, addr: u32, len: u32) -> u32 {
1248 let cmd = cmd_word(false, true, func, addr, len); 1255 let cmd = cmd_word(READ, INC_ADDR, func, addr, len);
1249 let mut buf = [0; 1]; 1256 let mut buf = [0; 1];
1250 1257
1251 self.spi 1258 self.spi
@@ -1268,7 +1275,7 @@ where
1268 } 1275 }
1269 1276
1270 async fn writen(&mut self, func: u32, addr: u32, val: u32, len: u32) { 1277 async fn writen(&mut self, func: u32, addr: u32, val: u32, len: u32) {
1271 let cmd = cmd_word(true, true, func, addr, len); 1278 let cmd = cmd_word(WRITE, INC_ADDR, func, addr, len);
1272 1279
1273 self.spi 1280 self.spi
1274 .transaction(|bus| { 1281 .transaction(|bus| {
@@ -1283,7 +1290,7 @@ where
1283 } 1290 }
1284 1291
1285 async fn read32_swapped(&mut self, addr: u32) -> u32 { 1292 async fn read32_swapped(&mut self, addr: u32) -> u32 {
1286 let cmd = cmd_word(false, true, FUNC_BUS, addr, 4); 1293 let cmd = cmd_word(READ, INC_ADDR, FUNC_BUS, addr, 4);
1287 let mut buf = [0; 1]; 1294 let mut buf = [0; 1];
1288 1295
1289 self.spi 1296 self.spi
@@ -1302,7 +1309,7 @@ where
1302 } 1309 }
1303 1310
1304 async fn write32_swapped(&mut self, addr: u32, val: u32) { 1311 async fn write32_swapped(&mut self, addr: u32, val: u32) {
1305 let cmd = cmd_word(true, true, FUNC_BUS, addr, 4); 1312 let cmd = cmd_word(WRITE, INC_ADDR, FUNC_BUS, addr, 4);
1306 1313
1307 self.spi 1314 self.spi
1308 .transaction(|bus| { 1315 .transaction(|bus| {