From f9816b40e8c47fade42826f78106101a79c31f2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Quentin?= Date: Tue, 7 Jan 2025 10:22:13 +0100 Subject: [PATCH] Clippy + Tests --- esp-hal/src/i2c/master/mod.rs | 5 ++--- hil-test/tests/i2c.rs | 27 ++++++++++++++++++++------- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/esp-hal/src/i2c/master/mod.rs b/esp-hal/src/i2c/master/mod.rs index 7a4fdb484..2b18d3758 100644 --- a/esp-hal/src/i2c/master/mod.rs +++ b/esp-hal/src/i2c/master/mod.rs @@ -2342,11 +2342,10 @@ fn estimate_ack_failed_reason(_register_block: &RegisterBlock) -> AcknowledgeChe } else { // this is based on observations rather than documented behavior if _register_block.fifo_st().read().txfifo_raddr().bits() <= 1 { - return AcknowledgeCheckFailedReason::Address; + AcknowledgeCheckFailedReason::Address } else { - return AcknowledgeCheckFailedReason::Data; + AcknowledgeCheckFailedReason::Data } - } } } diff --git a/hil-test/tests/i2c.rs b/hil-test/tests/i2c.rs index 514e25b67..01274f90e 100644 --- a/hil-test/tests/i2c.rs +++ b/hil-test/tests/i2c.rs @@ -50,13 +50,26 @@ mod tests { #[test] fn empty_write_returns_ack_error_for_unknown_address(mut ctx: Context) { - // we don't specify the exact reason yet - assert_eq!( - ctx.i2c.write(NON_EXISTENT_ADDRESS, &[]), - Err(Error::AcknowledgeCheckFailed( - AcknowledgeCheckFailedReason::Unknown - )) - ); + // on some chips we can determine the ack-check-failed reason but not on all + // chips + cfg_if::cfg_if! { + if #[cfg(any(esp32,esp32s2,esp32c2,esp32c3))] { + assert_eq!( + ctx.i2c.write(NON_EXISTENT_ADDRESS, &[]), + Err(Error::AcknowledgeCheckFailed( + AcknowledgeCheckFailedReason::Unknown + )) + ); + } else { + assert_eq!( + ctx.i2c.write(NON_EXISTENT_ADDRESS, &[]), + Err(Error::AcknowledgeCheckFailed( + AcknowledgeCheckFailedReason::Address + )) + ); + } + } + assert_eq!(ctx.i2c.write(DUT_ADDRESS, &[]), Ok(())); }