Page 1 of 1

Will ets_delay_us() work on core 1?

Posted: Thu Sep 23, 2021 3:51 pm
by sramberg2
I have a task that was using ets_delay_us(), I was pinning this task to core 0 and have now moved the task to core 1. It appears that ets_delay_us() no longer works. esp_timer task is running on core 0. I know that ets_delay_us() is in the ROM, but I expected it to run on the core from which it is called.

I looked for documentation to help explain this but had not luck.

Thanks in advance,

-Steve

Re: Will ets_delay_us() work on core 1?

Posted: Fri Sep 24, 2021 3:33 am
by Sprite
ets_delay_us is a pretty trivial waitloop... how did you decide it doesn't work?

Re: Will ets_delay_us() work on core 1?

Posted: Fri Sep 24, 2021 1:58 pm
by sramberg2
I pinned my tasks to core 1 and I ran into an issue with updating ledc channels. The delay was originally inserted due to ledc updates not working if they are performed back-to-back. Once the delay was added the ledc updates worked fine when on core 0, once I moved to core 1 I ran into the issue again. I added longer delays and finally changed to using a task delay to get the ledc updates to work again.

-Steve