From 03b7012ec3fd4256b04e533c629dd93147248963 Mon Sep 17 00:00:00 2001 From: Diego Barrios Romero Date: Mon, 29 Oct 2018 18:26:03 +0100 Subject: [PATCH] Add function to set the aging offset --- src/ds323x/configuration.rs | 5 +++++ src/lib.rs | 17 +++++++++-------- tests/common/mod.rs | 15 ++++++++------- tests/configuration.rs | 2 ++ 4 files changed, 24 insertions(+), 15 deletions(-) diff --git a/src/ds323x/configuration.rs b/src/ds323x/configuration.rs index e60e6e1..0d07f9a 100644 --- a/src/ds323x/configuration.rs +++ b/src/ds323x/configuration.rs @@ -62,4 +62,9 @@ where } Ok(()) } + + /// Set the aging offset. + pub fn set_aging_offset(&mut self, offset: i8) -> Result<(), Error> { + self.iface.write_register(Register::AGING_OFFSET, offset as u8) + } } diff --git a/src/lib.rs b/src/lib.rs index 7cabac3..8df20a2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -277,15 +277,16 @@ pub enum Error { struct Register; impl Register { - const SECONDS : u8 = 0x00; - const MINUTES : u8 = 0x01; - const HOURS : u8 = 0x02; - const DOW : u8 = 0x03; - const DOM : u8 = 0x04; - const MONTH : u8 = 0x05; - const YEAR : u8 = 0x06; - const CONTROL : u8 = 0x0E; + const SECONDS : u8 = 0x00; + const MINUTES : u8 = 0x01; + const HOURS : u8 = 0x02; + const DOW : u8 = 0x03; + const DOM : u8 = 0x04; + const MONTH : u8 = 0x05; + const YEAR : u8 = 0x06; + const CONTROL : u8 = 0x0E; const STATUS : u8 = 0x0F; + const AGING_OFFSET : u8 = 0x10; } struct BitFlags; diff --git a/tests/common/mod.rs b/tests/common/mod.rs index 906d066..a0203a9 100644 --- a/tests/common/mod.rs +++ b/tests/common/mod.rs @@ -10,14 +10,15 @@ pub struct Register; #[allow(unused)] impl Register { - pub const SECONDS : u8 = 0x00; - pub const MINUTES : u8 = 0x01; - pub const HOURS : u8 = 0x02; - pub const DOW : u8 = 0x03; - pub const DOM : u8 = 0x04; - pub const MONTH : u8 = 0x05; - pub const CONTROL : u8 = 0x0E; + pub const SECONDS : u8 = 0x00; + pub const MINUTES : u8 = 0x01; + pub const HOURS : u8 = 0x02; + pub const DOW : u8 = 0x03; + pub const DOM : u8 = 0x04; + pub const MONTH : u8 = 0x05; + pub const CONTROL : u8 = 0x0E; pub const STATUS : u8 = 0x0F; + pub const AGING_OFFSET : u8 = 0x10; } pub struct BitFlags; diff --git a/tests/configuration.rs b/tests/configuration.rs index fca25d1..2f88b8a 100644 --- a/tests/configuration.rs +++ b/tests/configuration.rs @@ -44,3 +44,5 @@ change_if_necessary_test!(en_32khz_out, enable_32khz_output, STATUS, 0xFF, 0xF change_if_necessary_test!(dis_32khz_out, disable_32khz_output, STATUS, 0xFF & !BF::EN32KHZ, 0xFF); change_if_necessary_test!(clr_stop, clear_has_been_stopped_flag, STATUS, 0xFF & !BF::OSC_STOP, 0xFF); +set_param_test!(aging_offset_min, set_aging_offset, AGING_OFFSET, -128, 128); +set_param_test!(aging_offset_max, set_aging_offset, AGING_OFFSET, 127, 127);