You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It's hard to say what the problem is, exactly, but there's one delay in my code that sometimes doesn't return. Specifically:
rp2040_timer_monotonic!(Mono);
...
...
info!("TXBG before wait");
Mono::delay(10_u64.micros()).await;
info!("TXBG after wait");
I see the first info, but not the second, and the task never loops again. Thing is, it used to do this, and then for no obvious reason stopped doing it, and now it's doing it again. There's some slim evidence it's related to the idle loop; seems like the delay runs sometimes (successfully) once before the idle task gets going, but once the idle task starts, the next run of that delay fails to complete. Btw, I've tried the idle loop with and without cortex_m::asm::wfi(), I've seen that in some examples and am not sure of when and whether to use it, but it doesn't seem to make a difference for this code. All the tasks (except idle) are priority 1. I've (previously) used Mono::delay in other places in the code with no issue I noticed, so I'm not sure what's special about this one. Are there special conditions I need to observe in order to use Mono::delay? Do I need to register an interrupt? Make sure to have such-and-such a call somewhere else?
The text was updated successfully, but these errors were encountered:
RP2040, rtic-monotonics: 2.0.3, rustc 1.86.0-nightly (124cc9219 2025-02-09)
It's hard to say what the problem is, exactly, but there's one
delay
in my code that sometimes doesn't return. Specifically:I see the first
info
, but not the second, and the task never loops again. Thing is, it used to do this, and then for no obvious reason stopped doing it, and now it's doing it again. There's some slim evidence it's related to the idle loop; seems like the delay runs sometimes (successfully) once before the idle task gets going, but once the idle task starts, the next run of that delay fails to complete. Btw, I've tried the idle loop with and withoutcortex_m::asm::wfi()
, I've seen that in some examples and am not sure of when and whether to use it, but it doesn't seem to make a difference for this code. All the tasks (except idle) are priority 1. I've (previously) usedMono::delay
in other places in the code with no issue I noticed, so I'm not sure what's special about this one. Are there special conditions I need to observe in order to useMono::delay
? Do I need to register an interrupt? Make sure to have such-and-such a call somewhere else?The text was updated successfully, but these errors were encountered: