extern crate escapi;
use escapi::*;
fn main() {
let escapi = init().unwrap();
println!("devices: {}", escapi.num_devices());
const W: u32 = 32;
const H: u32 = 24;
let mut camera = escapi.init(0, W, H).unwrap();
println!("capture initialized");
for i in 0..10 {
println!("request a capture: {}", i);
let capture = camera.do_capture();
println!("waiting for capture");
while !capture.done() {
std::thread::sleep(std::time::Duration::from_millis(1));
}
println!("capture successful");
}
println!("code: {}", camera.error_code());
println!("line: {}", camera.error_line());
let light = b" .,-o+O0@";
for i in 0..H {
for j in 0..W {
let idx = camera.pixels()[(i*W+j) as usize] as isize;
let idx = (idx >> 13) & 7;
print!("{}", light[idx as usize] as char);
}
println!("");
}
println!("shutting down");
}