forked from M-Labs/thermostat
main: fix wfi, revise leds, unreachable end
This commit is contained in:
parent
9af94e7616
commit
9ec32ca0a2
21
src/main.rs
21
src/main.rs
@ -105,36 +105,39 @@ fn main() -> ! {
|
|||||||
Server::run(iface, |server| {
|
Server::run(iface, |server| {
|
||||||
let mut last_output = 0_u32;
|
let mut last_output = 0_u32;
|
||||||
loop {
|
loop {
|
||||||
led_green.on();
|
|
||||||
let now = timer::now().0;
|
let now = timer::now().0;
|
||||||
let instant = Instant::from_millis(now as i64);
|
let instant = Instant::from_millis(now as i64);
|
||||||
server.poll(instant);
|
|
||||||
led_green.off();
|
|
||||||
|
|
||||||
led_blue.on();
|
led_blue.on();
|
||||||
|
cortex_m::interrupt::free(net::clear_pending);
|
||||||
|
server.poll(instant)
|
||||||
|
.unwrap_or_else(|e| {
|
||||||
|
warn!("poll: {:?}", e);
|
||||||
|
});
|
||||||
|
led_blue.off();
|
||||||
|
|
||||||
let now = timer::now().0;
|
let now = timer::now().0;
|
||||||
if now - last_output >= OUTPUT_INTERVAL {
|
if now - last_output >= OUTPUT_INTERVAL {
|
||||||
|
led_red.on();
|
||||||
let adc_value = adc_input.read();
|
let adc_value = adc_input.read();
|
||||||
write!(server, "t={},pa3={}\r\n", now, adc_value).unwrap();
|
write!(server, "t={},pa3={}\r\n", now, adc_value).unwrap();
|
||||||
last_output = now;
|
last_output = now;
|
||||||
|
led_red.off();
|
||||||
}
|
}
|
||||||
led_blue.off();
|
|
||||||
|
|
||||||
// Update watchdog
|
// Update watchdog
|
||||||
wd.feed();
|
wd.feed();
|
||||||
|
|
||||||
led_red.on();
|
|
||||||
cortex_m::interrupt::free(|cs| {
|
cortex_m::interrupt::free(|cs| {
|
||||||
if !net::is_pending(cs) {
|
if !net::is_pending(cs) {
|
||||||
|
led_green.on();
|
||||||
// Wait for interrupts
|
// Wait for interrupts
|
||||||
wfi();
|
wfi();
|
||||||
net::clear_pending(cs);
|
led_green.off();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
led_red.off();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
unimplemented!()
|
unreachable!()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user