Clippy + Tests

This commit is contained in:
Björn Quentin 2025-01-07 10:22:13 +01:00
parent e7278ac2f0
commit f9816b40e8
2 changed files with 22 additions and 10 deletions

View File

@ -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
}
}
}
}

View File

@ -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(()));
}