#![no_std]
#![no_main]
use esp_hal::{
delay::Delay,
gpio::{Level, Output},
main,
};
use log::info;
use panic_handler;
#[panic_handler]
fn panic(info: &core::panic::PanicInfo) -> ! {
log::error!("{}", info);
loop {}
}
#[main]
fn main() -> ! {
let peripherals = esp_hal::init(esp_hal::Config::default());
esp_println::logger::init_logger_from_env();
let mut red_led = Output::new(peripherals.GPIO8, Level::Low);
let mut amber_led = Output::new(peripherals.GPIO6, Level::Low);
let mut green_led = Output::new(peripherals.GPIO4, Level::Low);
let delay = Delay::new();
loop {
info!("hello officer cjw take note of traffic lights kindly !");
info!("sorry you have to stop for some moment");
red_led.set_high();
amber_led.set_low();
green_led.set_low();
delay.delay_millis(1000);
info!("just a second please");
red_led.set_low();
amber_led.set_high();
green_led.set_low();
delay.delay_millis(500);
info!("you gotta roll now");
red_led.set_low();
amber_led.set_low();
green_led.set_high();
delay.delay_millis(1200);
info!("calm down fella");
red_led.set_low();
amber_led.set_high();
green_led.set_low();
delay.delay_millis(500);
}
}