Skip to content

Commit d632a5c

Browse files
authored
Merge pull request #162 from systec-ms/rewrite_rtc
RTC: Rewritten
2 parents b9b1a4c + f0eee06 commit d632a5c

File tree

3 files changed

+114
-192
lines changed

3 files changed

+114
-192
lines changed

Cargo.toml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ cortex-m = "0.7"
2020
cortex-m-rt = ">=0.6.15, <0.8"
2121
embedded-time = "0.12.0"
2222
nb = "1.0"
23-
rtcc = "0.2"
2423
stm32f7 = "0.14.0"
2524
micromath = "2.0"
2625
synopsys-usb-otg = { version = "0.2.3", features = ["cortex-m"], optional = true }
@@ -29,6 +28,10 @@ rand_core = "0.6"
2928
bxcan = "0.6"
3029
bare-metal = "1.0"
3130

31+
[dependencies.time]
32+
version = "0.3"
33+
default-features = false
34+
3235
[dependencies.cast]
3336
default-features = false
3437
version = "0.3.0"
@@ -53,6 +56,11 @@ embedded-graphics = "0.6.1"
5356
usb-device = "0.2.5"
5457
usbd-serial = "0.1.0"
5558

59+
[dev-dependencies.time]
60+
version = "0.3"
61+
default-features = false
62+
features = ["macros"]
63+
5664
[features]
5765
device-selected = []
5866
ltdc = []

examples/rtc.rs

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,15 @@ extern crate panic_halt as _;
99
use cortex_m_rt::entry;
1010

1111
use cortex_m_semihosting::hprintln;
12-
use rtcc::{Hours, NaiveDate, NaiveTime, Rtcc};
1312
use stm32f7xx_hal::{
1413
pac,
1514
prelude::*,
1615
rtc::{Rtc, RtcClock},
1716
};
17+
use time::{
18+
macros::{date, time},
19+
PrimitiveDateTime,
20+
};
1821

1922
#[entry]
2023
fn main() -> ! {
@@ -34,21 +37,19 @@ fn main() -> ! {
3437
)
3538
.unwrap();
3639

37-
rtc.set_24h_fmt();
38-
rtc.set_time(&NaiveTime::from_hms(12, 30, 00)).unwrap();
39-
rtc.set_date(&NaiveDate::from_ymd(2021, 11, 25)).unwrap();
40+
rtc.set_datetime(&PrimitiveDateTime::new(date!(2019 - 01 - 01), time!(23:59)))
41+
.unwrap();
42+
// Alternatively:
43+
// rtc.set_date(&date!(2019 - 01 - 01)).unwrap();
44+
// rtc.set_time(&time!(23:59)).unwrap();
45+
// Or:
46+
// rtc.set_year(2019).unwrap();
47+
// rtc.set_month(12).unwrap();
48+
// rtc.set_day(31).unwrap();
49+
// rtc.set_hours(23).unwrap();
50+
// rtc.set_minutes(59).unwrap();
51+
// rtc.set_seconds(59).unwrap();
4052
loop {
41-
if let Hours::H24(h) = rtc.get_hours().unwrap() {
42-
hprintln!(
43-
"{}-{}-{} {}:{}:{}",
44-
rtc.get_year().unwrap(),
45-
rtc.get_month().unwrap(),
46-
rtc.get_day().unwrap(),
47-
h,
48-
rtc.get_minutes().unwrap(),
49-
rtc.get_seconds().unwrap()
50-
)
51-
.unwrap();
52-
}
53+
hprintln!("{}", rtc.get_datetime()).unwrap();
5354
}
5455
}

0 commit comments

Comments
 (0)