+
+ // Configure lower left push button.
+ gpio::set_direction(gpio::GPIOE, 1 << 24, gpio::Direction::Input);
+ port::set_af(port::PORTE, 24, 1);
+ port::set_pull(port::PORTE, 24, port::Pull::Up);
+
+ // Configure upper left push button.
+ gpio::set_direction(gpio::GPIOE, 1 << 25, gpio::Direction::Input);
+ port::set_af(port::PORTE, 25, 1);
+ port::set_pull(port::PORTE, 25, port::Pull::Up);
+
+ // Configure middle left push button.
+ gpio::set_direction(gpio::GPIOE, 1 << 31, gpio::Direction::Input);
+ port::set_af(port::PORTE, 31, 1);
+ port::set_pull(port::PORTE, 31, port::Pull::Up);
+}
+
+fn uart0_try_read() -> Option<u8> {
+ extern {
+ static mut uart0_rx_buf: Ringbuf;
+ }
+
+ unsafe {
+ if uart0_rx_buf.is_empty() {
+ None
+ } else {
+ Some(uart0_rx_buf.read())
+ }
+ }