main: fix wfi, revise leds, unreachable end

master
Astro 2019-03-18 21:17:27 +01:00
parent 9af94e7616
commit 9ec32ca0a2
1 changed files with 12 additions and 9 deletions

View File

@ -105,36 +105,39 @@ fn main() -> ! {
Server::run(iface, |server| {
let mut last_output = 0_u32;
loop {
led_green.on();
let now = timer::now().0;
let instant = Instant::from_millis(now as i64);
server.poll(instant);
led_green.off();
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;
if now - last_output >= OUTPUT_INTERVAL {
led_red.on();
let adc_value = adc_input.read();
write!(server, "t={},pa3={}\r\n", now, adc_value).unwrap();
last_output = now;
led_red.off();
}
led_blue.off();
// Update watchdog
wd.feed();
led_red.on();
cortex_m::interrupt::free(|cs| {
if !net::is_pending(cs) {
led_green.on();
// Wait for interrupts
wfi();
net::clear_pending(cs);
led_green.off();
}
});
led_red.off();
}
});
});
unimplemented!()
unreachable!()
}