extern crate avr;
fn main() {
use std::io::Read;
let mut core = avr::Core::new::<avr::chips::atmega328p::Chip>();
let mut args = std::env::args();
args.next(); let program_path = args.next().expect("expected a '.bin' program path");
let program_file = std::fs::File::open(program_path).unwrap();
let program_bytes = program_file.bytes().map(|a| a.unwrap());
core.load_program_space(program_bytes);
let mut mcu = avr::Mcu::new(core);
let uart = avr::addons::Uart::new(
16000000, 187000, avr::io::Port::new(0x24), avr::io::Port::new(0x25), );
mcu.attach(Box::new(uart));
for _ in 0..70 {
mcu.tick().expect("failed while ticking");
}
}