#![no_std]
#![no_main]
mod bsp;
use embassy_executor::Spawner;
use embedded_hal_async::delay::DelayNs;
use oled_async::{prelude::*, Builder};
use {defmt_rtt as _, panic_probe as _};
#[embassy_executor::main]
async fn main(_spawner: Spawner) {
let (di, mut reset, mut delay) = bsp::board::get_board();
type Display = oled_async::displays::sh1107::Sh1107_128_128;
let raw_disp = Builder::new(Display {})
.with_rotation(crate::DisplayRotation::Rotate180)
.connect(di);
let mut display: GraphicsMode<_, _> = raw_disp.into();
display.reset(&mut reset, &mut delay).unwrap();
display.init().await.unwrap();
display.clear();
display.flush().await.unwrap();
display.set_pixel(0, 0, 1);
display.set_pixel(1, 0, 1);
display.set_pixel(2, 0, 1);
display.set_pixel(3, 0, 1);
display.set_pixel(3, 0, 1);
display.set_pixel(3, 1, 1);
display.set_pixel(3, 2, 1);
display.set_pixel(3, 3, 1);
display.set_pixel(0, 3, 1);
display.set_pixel(1, 3, 1);
display.set_pixel(2, 3, 1);
display.set_pixel(3, 3, 1);
display.set_pixel(0, 0, 1);
display.set_pixel(0, 1, 1);
display.set_pixel(0, 2, 1);
display.set_pixel(0, 3, 1);
display.flush().await.unwrap();
loop {
delay.delay_ms(1000).await;
}
}