diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/tier2_i2c.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/tier2_i2c.rs b/tests/tier2_i2c.rs index 7d17270..4e43e90 100644 --- a/tests/tier2_i2c.rs +++ b/tests/tier2_i2c.rs @@ -67,6 +67,29 @@ mod can_set_comparator_queue { config_test!(four, set_comparator_queue, ComparatorQueue::Four, Config::default().with_high(BitFlags::COMP_QUE1).with_low( BitFlags::COMP_QUE0)); } +#[test] +fn can_use_alert_rdy_pin_as_rdy_does_not_disable_comparator_if_already_disabled() { + let transactions = [ I2cTrans::write(DEV_ADDR, vec![Register::HIGH_TH, 0b1000_0000, 0]), + I2cTrans::write(DEV_ADDR, vec![Register::LOW_TH, 0, 0]), ]; + let mut dev = new_ads1014(&transactions); + dev.use_alert_rdy_pin_as_ready().unwrap(); + destroy_ads1014(dev); +} + +#[test] +fn can_use_alert_rdy_pin_as_rdy_disabled_comparator() { + let config = Config::default().with_low(BitFlags::COMP_QUE1).with_low(BitFlags::COMP_QUE0); + let config_disabled_comp = Config::default().with_high(BitFlags::COMP_QUE1).with_high(BitFlags::COMP_QUE0); + let transactions = [ I2cTrans::write(DEV_ADDR, vec![Register::CONFIG, config.msb(), config.lsb()]), + I2cTrans::write(DEV_ADDR, vec![Register::CONFIG, config_disabled_comp.msb(), config_disabled_comp.lsb()]), + I2cTrans::write(DEV_ADDR, vec![Register::HIGH_TH, 0b1000_0000, 0]), + I2cTrans::write(DEV_ADDR, vec![Register::LOW_TH, 0, 0]), ]; + let mut dev = new_ads1014(&transactions); + dev.set_comparator_queue(ComparatorQueue::One).unwrap(); + dev.use_alert_rdy_pin_as_ready().unwrap(); + destroy_ads1014(dev); +} + mod can_set_full_scale_range { use super::*; config_test!(fsr6, set_full_scale_range, FullScaleRange::Within6_144V, Config::default().with_low( BitFlags::PGA2).with_low( BitFlags::PGA1).with_low( BitFlags::PGA0)); |