diff --git a/src/ds323x/alarms.rs b/src/ds323x/alarms.rs index f1cdbbf..8241bc4 100644 --- a/src/ds323x/alarms.rs +++ b/src/ds323x/alarms.rs @@ -121,7 +121,7 @@ where let mut data = [ Register::ALARM1_SECONDS, decimal_to_packed_bcd(when.second) | match_mask[0], decimal_to_packed_bcd(when.minute) | match_mask[1], - hours_to_register(&when.hour)? | match_mask[2], + hours_to_register(when.hour)? | match_mask[2], decimal_to_packed_bcd(when.date) | match_mask[3]]; self.iface.write_data(&mut data) } @@ -139,7 +139,7 @@ where let mut data = [ Register::ALARM1_SECONDS, decimal_to_packed_bcd(when.second) | match_mask[0], decimal_to_packed_bcd(when.minute) | match_mask[1], - hours_to_register(&when.hour)? | match_mask[2], + hours_to_register(when.hour)? | match_mask[2], decimal_to_packed_bcd(when.weekday) | match_mask[3] | BitFlags::WEEKDAY]; self.iface.write_data(&mut data) } @@ -155,7 +155,7 @@ where let match_mask = get_matching_mask_alarm2(matching); let mut data = [ Register::ALARM2_MINUTES, decimal_to_packed_bcd(when.minute) | match_mask[0], - hours_to_register(&when.hour)? | match_mask[1], + hours_to_register(when.hour)? | match_mask[1], decimal_to_packed_bcd(when.date) | match_mask[2]]; self.iface.write_data(&mut data) } @@ -171,7 +171,7 @@ where let match_mask = get_matching_mask_alarm2(matching); let mut data = [ Register::ALARM2_MINUTES, decimal_to_packed_bcd(when.minute) | match_mask[0], - hours_to_register(&when.hour)? | match_mask[1], + hours_to_register(when.hour)? | match_mask[1], decimal_to_packed_bcd(when.weekday) | match_mask[2] | BitFlags::WEEKDAY]; self.iface.write_data(&mut data) } diff --git a/src/ds323x/datetime.rs b/src/ds323x/datetime.rs index aaf7430..5a0d342 100644 --- a/src/ds323x/datetime.rs +++ b/src/ds323x/datetime.rs @@ -126,7 +126,7 @@ where /// /// Will return an `Error::InvalidInputData` if the hours are out of range. pub fn set_hours(&mut self, hours: Hours) -> Result<(), Error> { - let value = hours_to_register(&hours)?; + let value = hours_to_register(hours)?; self.iface.write_register(Register::HOURS, value) } @@ -201,7 +201,7 @@ where let mut payload = [Register::SECONDS, decimal_to_packed_bcd(datetime.second), decimal_to_packed_bcd(datetime.minute), - hours_to_register(&datetime.hour)?, + hours_to_register(datetime.hour)?, decimal_to_packed_bcd(datetime.weekday), decimal_to_packed_bcd(datetime.day), month, year]; diff --git a/src/ds323x/mod.rs b/src/ds323x/mod.rs index a010af0..94f3909 100644 --- a/src/ds323x/mod.rs +++ b/src/ds323x/mod.rs @@ -17,8 +17,8 @@ fn packed_bcd_to_decimal(bcd: u8) -> u8 { (bcd >> 4) * 10 + (bcd & 0xF) } -fn hours_to_register(hours: &Hours) -> Result> { - match *hours { +fn hours_to_register(hours: Hours) -> Result> { + match hours { Hours::H24(h) if h > 23 => Err(Error::InvalidInputData), Hours::H24(h) => Ok(decimal_to_packed_bcd(h)), Hours::AM(h) if h < 1 || h > 12 => Err(Error::InvalidInputData),