- runtime: replace block_sync with r#yield
- runtime: chagne cfg that uses has_drtio - satman: chagne cfg that uses has_drtio
This commit is contained in:
parent
f814a2006f
commit
cfe53a57a3
@ -104,29 +104,14 @@ async fn report_async_rtio_errors() {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(all(feature = "target_kasli_soc", has_drtio))]
|
||||
static mut LAST_VIRTUAL_LED_STATUS: u8 = 0;
|
||||
|
||||
#[cfg(all(feature = "target_kasli_soc", has_drtio))]
|
||||
#[cfg(feature = "target_kasli_soc")]
|
||||
async fn io_expanders_service(
|
||||
i2c_bus: RefCell<&mut libboard_zynq::i2c::I2c>,
|
||||
io_expander0: RefCell<io_expander::IoExpander>,
|
||||
io_expander1: RefCell<io_expander::IoExpander>,
|
||||
) {
|
||||
loop {
|
||||
let _ = block_async!((|| -> nb::Result<(), Void> {
|
||||
unsafe {
|
||||
let current = pl::csr::virtual_leds::status_read();
|
||||
if current != LAST_VIRTUAL_LED_STATUS {
|
||||
LAST_VIRTUAL_LED_STATUS = current;
|
||||
Ok(())
|
||||
} else {
|
||||
Err(nb::Error::WouldBlock)
|
||||
}
|
||||
}
|
||||
})())
|
||||
.await;
|
||||
|
||||
task::r#yield().await;
|
||||
io_expander0
|
||||
.borrow_mut()
|
||||
.service(&mut i2c_bus.borrow_mut())
|
||||
@ -192,7 +177,7 @@ pub fn main_core0() {
|
||||
|
||||
task::spawn(report_async_rtio_errors());
|
||||
|
||||
#[cfg(all(feature = "target_kasli_soc", has_drtio))]
|
||||
#[cfg(feature = "target_kasli_soc")]
|
||||
task::spawn(io_expanders_service(
|
||||
RefCell::new(i2c_bus),
|
||||
RefCell::new(io_expander0),
|
||||
|
@ -671,7 +671,7 @@ pub extern "C" fn main_core0() -> i32 {
|
||||
for mut rep in repeaters.iter_mut() {
|
||||
rep.service(&routing_table, rank, &mut timer);
|
||||
}
|
||||
#[cfg(all(feature = "target_kasli_soc", has_drtio))]
|
||||
#[cfg(feature = "target_kasli_soc")]
|
||||
{
|
||||
io_expander0
|
||||
.service(&mut i2c)
|
||||
@ -717,7 +717,7 @@ pub extern "C" fn main_core0() -> i32 {
|
||||
for mut rep in repeaters.iter_mut() {
|
||||
rep.service(&routing_table, rank, &mut timer);
|
||||
}
|
||||
#[cfg(all(feature = "target_kasli_soc", has_drtio))]
|
||||
#[cfg(feature = "target_kasli_soc")]
|
||||
{
|
||||
io_expander0
|
||||
.service(&mut i2c)
|
||||
|
Loading…
Reference in New Issue
Block a user