aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2023-12-19 20:26:01 +0000
committerGitHub <[email protected]>2023-12-19 20:26:01 +0000
commit589a16b255170ebd45f91dd54a5c1ecc10ce390f (patch)
treedfe2c29e2be4ee05c4a7774c872079fe548e0a35
parente5912972ec550c0a1443e250a88d4737badce902 (diff)
parent871ed538b1fb0836bdc12f5d59dbc7f5fea53920 (diff)
Merge pull request #2327 from dragonnn/main
fix stm32 rtc year from 1970 base 2000 to make leap years work
-rw-r--r--embassy-stm32/src/rtc/mod.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/embassy-stm32/src/rtc/mod.rs b/embassy-stm32/src/rtc/mod.rs
index 11b252139..40cd752a2 100644
--- a/embassy-stm32/src/rtc/mod.rs
+++ b/embassy-stm32/src/rtc/mod.rs
@@ -130,7 +130,7 @@ impl RtcTimeProvider {
130 let weekday = day_of_week_from_u8(dr.wdu()).map_err(RtcError::InvalidDateTime)?; 130 let weekday = day_of_week_from_u8(dr.wdu()).map_err(RtcError::InvalidDateTime)?;
131 let day = bcd2_to_byte((dr.dt(), dr.du())); 131 let day = bcd2_to_byte((dr.dt(), dr.du()));
132 let month = bcd2_to_byte((dr.mt() as u8, dr.mu())); 132 let month = bcd2_to_byte((dr.mt() as u8, dr.mu()));
133 let year = bcd2_to_byte((dr.yt(), dr.yu())) as u16 + 1970_u16; 133 let year = bcd2_to_byte((dr.yt(), dr.yu())) as u16 + 2000_u16;
134 134
135 DateTime::from(year, month, day, weekday, hour, minute, second).map_err(RtcError::InvalidDateTime) 135 DateTime::from(year, month, day, weekday, hour, minute, second).map_err(RtcError::InvalidDateTime)
136 }) 136 })
@@ -261,7 +261,7 @@ impl Rtc {
261 let (dt, du) = byte_to_bcd2(t.day() as u8); 261 let (dt, du) = byte_to_bcd2(t.day() as u8);
262 let (mt, mu) = byte_to_bcd2(t.month() as u8); 262 let (mt, mu) = byte_to_bcd2(t.month() as u8);
263 let yr = t.year() as u16; 263 let yr = t.year() as u16;
264 let yr_offset = (yr - 1970_u16) as u8; 264 let yr_offset = (yr - 2000_u16) as u8;
265 let (yt, yu) = byte_to_bcd2(yr_offset); 265 let (yt, yu) = byte_to_bcd2(yr_offset);
266 266
267 use crate::pac::rtc::vals::Ampm; 267 use crate::pac::rtc::vals::Ampm;