Will ets_delay_us() work on core 1?

sramberg2
Posts: 9
Joined: Tue Jul 20, 2021 9:35 pm

Will ets_delay_us() work on core 1?

Postby sramberg2 » Thu Sep 23, 2021 3:51 pm

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

ESP_Sprite
Posts: 8921
Joined: Thu Nov 26, 2015 4:08 am

Re: Will ets_delay_us() work on core 1?

Postby ESP_Sprite » Fri Sep 24, 2021 3:33 am

ets_delay_us is a pretty trivial waitloop... how did you decide it doesn't work?

sramberg2
Posts: 9
Joined: Tue Jul 20, 2021 9:35 pm

Re: Will ets_delay_us() work on core 1?

Postby sramberg2 » Fri Sep 24, 2021 1:58 pm

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

Who is online

Users browsing this forum: No registered users and 140 guests