-
Notifications
You must be signed in to change notification settings - Fork 183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wifi interrupts delaying RMT code #373
Comments
Are you aware of SEGGER sysview? If you add Also probably best to not use Duration since its a "relative" expansive operation for perf checking. You also may want to look at low level |
I was not aware of sysview, this would help debugging 😁 sadly I'm unable to get my On the |
make sure you read this as the sdkconfig is definitely working, you may just need to adjust your setup according to the linked docs |
that worked for sdkconfig. I'll try and debug what's causing the interrupts with apptrace. |
I couldn't get apptrace to give me anything at all, I tried a few things blindly and didn't get an improvement;
|
Apparently, the RMT driver stores its current affinity when created, and will later spawn a thread (?) based on that affinity; the current Creating the RMT driver on Core1 solves the issue; though it would be nice if this was documented (at least I couldn't find it) |
I've been having issues running a task that uses the RMT peripheral -- everything was fine until I enabled Wifi, now I'm seeing interrupts.
I've prepared a minimal example which just measures elapsed time between two operations - when an interrupt fires in this interval the measurement shows >3us.
Minimal reproducer:
on Core 0, I'm getting ~93 interruptions per second (this is expected).
Changing that code to use Core1, I'd expect 0, but instead I'm getting 1/2 per second:
(note the timestamps)
I've tried to use
xTaskCreatePinnedToCore
directly, and there's no real difference (same interrupts)I've also tried guarding the measurements with a critical section, but it also did not help:
what can I do to ensure the code running on code 0 is not interrupted by the Wifi interrupts?
The text was updated successfully, but these errors were encountered: