summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/main.rs b/src/main.rs
index ce4c2b6..a79107c 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -25,9 +25,16 @@ static mut RTC: Option<ds3231::DS3231> = None;
static mut DIGITS: [u8; 6] = [0; 6];
static mut TIME: Clock = Clock{sec: 0, min: 0, hr: 0, reset: 0};
-fn update_clock() {
+fn digits2bcds(digs: &[u8]) -> u32 {
+ let mut res: u32 = 0;
+ for d in digs.iter().rev() {
+ res = (res << 4) | (*d as u32);
+ }
+ res
+}
+
+fn digits_countup() {
unsafe {
- /*
SR.as_mut().unwrap().output_bits(digits2bcds(&DIGITS[..]));
let mut i = 0;
let mut carry = 1;
@@ -36,7 +43,11 @@ fn update_clock() {
carry = if DIGITS[i] > 9 {DIGITS[i] = 0; 1} else {0};
i += 1;
}
- */
+ }
+}
+
+fn update_clock() {
+ unsafe {
if !TIME.tick() {
let ds3231::Date{second: sec,
minute: min,
@@ -56,6 +67,7 @@ fn update_clock() {
}
fn systick_handler() {
+ // digits_countup();
update_clock();
}
@@ -87,14 +99,6 @@ impl<'a> ShiftRegister<'a> {
}
}
-fn digits2bcds(digs: &[u8]) -> u32 {
- let mut res: u32 = 0;
- for d in digs.iter().rev() {
- res = (res << 4) | (*d as u32);
- }
- res
-}
-
impl Clock {
fn tick(&mut self) -> bool {
if self.reset == 0 {
@@ -172,7 +176,7 @@ fn main() {
month: 9,
year: 17,
am: false,
- am_enable: false});
+ am_enabled: false});
*/
}