Running 10/s, can cause problem in minutes or seconds. Won't trigger watchdog, but tokio won't run tasks. In async fn with_completion and async fn spi_transmit_async ... fut adding log printing wil greatly reduce the probability of occurrence.
If change the way use SPI, be no occurrence problem.
I'm not sure which sentence has problem for the time being in spi_transmit_async.
No problem:
let mut dbuf = [0u8; 16];
for i in 0..8 {
self.spi
.transaction_async(&mut [
Operation::Write(&[0xc0 + (i * 2) as u8]),
Operation::Write(&dbuf[i * 2..i * 2 + 2]),
])
.await
.unwrap();
}
Running 10/s, can cause problem in minutes or seconds. Won't trigger watchdog, but tokio won't run tasks. In
async fn with_completion
andasync fn spi_transmit_async ... fut
adding log printing wil greatly reduce the probability of occurrence. If change the way use SPI, be no occurrence problem. I'm not sure which sentence has problem for the time being inspi_transmit_async
.No problem:
Have problem:
spi.rs: