pub trait Robot {
    fn new(peripherals: Peripherals) -> Self;

    fn initialize(&'static self, _ctx: Context) { ... }
    fn autonomous(&'static self, _ctx: Context) { ... }
    fn opcontrol(&'static self, _ctx: Context) { ... }
    fn disabled(&'static self, _ctx: Context) { ... }
}
Expand description

A trait representing a competition-ready VEX Robot.

Required Methods

Runs at startup, constructing your robot. This should be non-blocking, since the FreeRTOS scheduler doesn’t start until it returns.

Provided Methods

Runs immediately after Robot::new. The FreeRTOS scheduler is running by this point.

The purpose of this method is to provide a hook to run things on startup which require a reference to all or part of the robot structure; since it takes &'static self as its parameter, the lifetime of the robot object is guaranteed to be static (i.e., forever), and so the implementation may pass references around (e.g., to new tasks) at will without issue.

Runs during the autonomous period.

Runs during the opcontrol period.

Runs when the robot is disabled.

Implementors