forked from M-Labs/artiq-zynq
runtime main: add cxp phys setup and init cxp task
This commit is contained in:
parent
c36a098183
commit
c1e2302af8
@ -13,6 +13,8 @@ use core::cell::RefCell;
|
||||
|
||||
use ksupport;
|
||||
use libasync::task;
|
||||
#[cfg(has_cxp_grabber)]
|
||||
use libboard_artiq::cxp_phys;
|
||||
#[cfg(has_drtio_eem)]
|
||||
use libboard_artiq::drtio_eem;
|
||||
#[cfg(feature = "target_kasli_soc")]
|
||||
@ -78,6 +80,23 @@ mod grabber {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(has_cxp_grabber)]
|
||||
mod cxp {
|
||||
use libasync::delay;
|
||||
use libboard_artiq::cxp;
|
||||
use libboard_zynq::time::Milliseconds;
|
||||
|
||||
use crate::GlobalTimer;
|
||||
|
||||
pub async fn grabber_thread(timer: GlobalTimer) {
|
||||
let mut countdown = timer.countdown();
|
||||
loop {
|
||||
cxp::tick(timer);
|
||||
delay(&mut countdown, Milliseconds(200)).await;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static mut LOG_BUFFER: [u8; 1 << 17] = [0; 1 << 17];
|
||||
|
||||
#[no_mangle]
|
||||
@ -150,5 +169,11 @@ pub fn main_core0() {
|
||||
|
||||
task::spawn(ksupport::report_async_rtio_errors());
|
||||
|
||||
#[cfg(has_cxp_grabber)]
|
||||
{
|
||||
cxp_phys::setup();
|
||||
task::spawn(cxp::grabber_thread(timer));
|
||||
}
|
||||
|
||||
comms::main(timer, cfg);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user