use std::{thread, time::Duration};
use ic_md::{CntCfg, CntDirection, CntSetup, CntZSignal, IcMdAsync};
use pico_de_gallo_hal::Hal;
#[tokio::main]
async fn main() {
let hal = Hal::new();
let spi_dev = hal.spi_device(0).unwrap();
let mut icmd = IcMdAsync::new(spi_dev);
let counter_setup = CntSetup::new(CntDirection::CW, CntZSignal::Normal);
let counter_config = CntCfg::Cnt1Bit48(counter_setup);
icmd.set_counter_config(counter_config);
icmd.init().await.unwrap();
loop {
let counter_value = icmd.read_counter().await.unwrap();
let cnt_0 = counter_value.get_cnt0().expect("It was just set up.");
println!("Cnt0 value: {cnt_0}");
thread::sleep(Duration::from_millis(200));
}
}