diff options
| -rw-r--r-- | embassy-stm32/src/qspi/mod.rs | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/embassy-stm32/src/qspi/mod.rs b/embassy-stm32/src/qspi/mod.rs index 40c064d57..10b1cbc70 100644 --- a/embassy-stm32/src/qspi/mod.rs +++ b/embassy-stm32/src/qspi/mod.rs | |||
| @@ -202,16 +202,19 @@ impl<'d, T: Instance, M: PeriMode> Qspi<'d, T, M> { | |||
| 202 | } | 202 | } |
| 203 | 203 | ||
| 204 | fn setup_transaction(&mut self, fmode: QspiMode, transaction: &TransferConfig, data_len: Option<usize>) { | 204 | fn setup_transaction(&mut self, fmode: QspiMode, transaction: &TransferConfig, data_len: Option<usize>) { |
| 205 | if let (Some(_), QspiWidth::NONE) = (transaction.address, transaction.awidth) { | 205 | match (transaction.address, transaction.awidth) { |
| 206 | panic!("QSPI address can't be sent with an address width of NONE"); | 206 | (Some(_), QspiWidth::NONE) => panic!("QSPI address can't be sent with an address width of NONE"), |
| 207 | (Some(_), _) => {} | ||
| 208 | (None, QspiWidth::NONE) => {} | ||
| 209 | (None, _) => panic!("QSPI address is not set, so the address width should be NONE"), | ||
| 207 | } | 210 | } |
| 208 | 211 | ||
| 209 | if let (Some(_), QspiWidth::NONE) = (data_len, transaction.dwidth) { | 212 | match (data_len, transaction.dwidth) { |
| 210 | panic!("QSPI data can't be sent with a data width of NONE"); | 213 | (Some(0), _) => panic!("QSPI data must be at least one byte"), |
| 211 | } | 214 | (Some(_), QspiWidth::NONE) => panic!("QSPI data can't be sent with a data width of NONE"), |
| 212 | 215 | (Some(_), _) => {} | |
| 213 | if let Some(0) = data_len { | 216 | (None, QspiWidth::NONE) => {} |
| 214 | panic!("QSPI data must be at least one byte"); | 217 | (None, _) => panic!("QSPI data is empty, so the data width should be NONE"), |
| 215 | } | 218 | } |
| 216 | 219 | ||
| 217 | T::REGS.fcr().modify(|v| { | 220 | T::REGS.fcr().modify(|v| { |
