feat: initial version
This commit is contained in:
+57
@@ -0,0 +1,57 @@
|
||||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
mod boilerplate;
|
||||
mod controller;
|
||||
mod display;
|
||||
mod lights;
|
||||
mod phases;
|
||||
|
||||
use boilerplate::*;
|
||||
use controller::*;
|
||||
use phases::*;
|
||||
use rp2040_hal::Clock;
|
||||
|
||||
use crate::display::DisplayModule;
|
||||
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
let PicoParts {
|
||||
timer,
|
||||
pins,
|
||||
i2c0,
|
||||
mut resets,
|
||||
clocks,
|
||||
} = setup();
|
||||
|
||||
let mut display = {
|
||||
let sda = pins.gpio16.reconfigure();
|
||||
let scl = pins.gpio17.reconfigure();
|
||||
let freq = clocks.system_clock.freq();
|
||||
|
||||
DisplayModule::new(sda, scl, i2c0, &mut resets, freq)
|
||||
};
|
||||
display.print("Hello Pico");
|
||||
|
||||
let mut traffic_controller = TrafficController::new(
|
||||
pins.gpio0,
|
||||
pins.gpio1,
|
||||
pins.gpio2,
|
||||
pins.gpio3,
|
||||
pins.gpio4,
|
||||
pins.gpio5,
|
||||
pins.gpio6,
|
||||
pins.gpio7,
|
||||
pins.gpio8,
|
||||
pins.gpio9,
|
||||
pins.gpio10,
|
||||
pins.gpio11,
|
||||
);
|
||||
traffic_controller.phase_start = timer.get_counter().ticks();
|
||||
traffic_controller.apply_phase(&PHASES[0]);
|
||||
|
||||
loop {
|
||||
traffic_controller.read_inputs();
|
||||
traffic_controller.execute_cycle(&timer);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user