diff --git a/src/ds323x/datetime.rs b/src/ds323x/datetime.rs index 5a0d342..e4427e3 100644 --- a/src/ds323x/datetime.rs +++ b/src/ds323x/datetime.rs @@ -229,10 +229,10 @@ fn year_from_registers(month: u8, year: u8) -> u16 { let century = month & BitFlags::CENTURY; let year = packed_bcd_to_decimal(year); if century != 0 { - 2100 + (year as u16) + 2100 + u16::from(year) } else { - 2000 + (year as u16) + 2000 + u16::from(year) } } diff --git a/src/ds323x/status.rs b/src/ds323x/status.rs index 632c284..9a9c7cd 100644 --- a/src/ds323x/status.rs +++ b/src/ds323x/status.rs @@ -83,13 +83,13 @@ where let mut data = [Register::TEMP_MSB, 0, 0]; self.iface.read_data(&mut data)?; let is_negative = (data[1] & 0b1000_0000) != 0; - let temp = ((data[1] as u16) << 2) | (data[2] >> 6) as u16; + let temp = (u16::from(data[1]) << 2) | u16::from(data[2] >> 6); if is_negative { let temp_sign_extended = temp | 0b1111_1100_0000_0000; - Ok(temp_sign_extended as i16 as f32 * 0.25) + Ok(f32::from(temp_sign_extended as i16) * 0.25) } else { - Ok(temp as f32 * 0.25) + Ok(f32::from(temp) * 0.25) } } }