forked from M-Labs/artiq
parent
99a15ca0c6
commit
6cd2432e30
|
@ -8,6 +8,7 @@ enum State {
|
||||||
}
|
}
|
||||||
|
|
||||||
static mut GRABBER_STATE: [State; csr::GRABBER_LEN] = [State::Down; csr::GRABBER_LEN];
|
static mut GRABBER_STATE: [State; csr::GRABBER_LEN] = [State::Down; csr::GRABBER_LEN];
|
||||||
|
static mut GRABBER_RESOLUTION: [(u16, u16); csr::GRABBER_LEN] = [(0, 0); csr::GRABBER_LEN];
|
||||||
|
|
||||||
fn get_pll_reset(g: usize) -> bool {
|
fn get_pll_reset(g: usize) -> bool {
|
||||||
unsafe { (csr::GRABBER[g].pll_reset_read)() != 0 }
|
unsafe { (csr::GRABBER[g].pll_reset_read)() != 0 }
|
||||||
|
@ -92,11 +93,19 @@ pub fn tick() {
|
||||||
info!("grabber{} is down", g);
|
info!("grabber{} is down", g);
|
||||||
}
|
}
|
||||||
if unsafe { GRABBER_STATE[g] == State::WaitResolution } {
|
if unsafe { GRABBER_STATE[g] == State::WaitResolution } {
|
||||||
let (last_x, last_y) = get_last_pixels(g);
|
let last_xy = get_last_pixels(g);
|
||||||
|
unsafe { GRABBER_RESOLUTION[g] = last_xy; }
|
||||||
info!("grabber{} frame size: {}x{}",
|
info!("grabber{} frame size: {}x{}",
|
||||||
g, last_x + 1, last_y + 1);
|
g, last_xy.0 + 1, last_xy.1 + 1);
|
||||||
info!("grabber{} video clock: {}MHz", g, get_video_clock(g));
|
info!("grabber{} video clock: {}MHz", g, get_video_clock(g));
|
||||||
unsafe { GRABBER_STATE[g] = State::Up; }
|
unsafe { GRABBER_STATE[g] = State::Up; }
|
||||||
|
} else {
|
||||||
|
let last_xy = get_last_pixels(g);
|
||||||
|
if unsafe { last_xy != GRABBER_RESOLUTION[g] } {
|
||||||
|
info!("grabber{} frame size: {}x{}",
|
||||||
|
g, last_xy.0 + 1, last_xy.1 + 1);
|
||||||
|
unsafe { GRABBER_RESOLUTION[g] = last_xy; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if get_pll_reset(g) {
|
if get_pll_reset(g) {
|
||||||
|
|
Loading…
Reference in New Issue