#![no_std] #![no_main] use core::time::Duration; use vex_rt::{prelude::*, select_merge}; struct SelectRobot; impl Robot for SelectRobot { fn new(_peripherals: Peripherals) -> Self { Self } fn autonomous(&'static self, ctx: Context) { println!("autonomous"); let mut x = 0; let mut l = Loop::new(Duration::from_secs(1)); loop { println!("{}", x); x += 1; let event = select_merge! { _ = l.select() => false, _ = ctx.done() => true, }; if select! { b = event => b } { break; } } println!("auto done") } } entry!(SelectRobot);