ESP32 Blynk and Multicore

Hey, I just caught up with the fact that ESP32 Arduino support actually lets you use both ESP32 cores.

I saw this Three LEDs with Dirty Delay (ESP32) which shows you can put blynk.run() in a loop on one core and run other code on another core.

But I’m guessing in the case above having blynk.run() on one core isn’t enough to get all the background code Blynk starts up on the same core?

I assume that, if I don’t do anything, all the blynk internal tasks start up on the default core? Is there a way to be sure of this? I’d like to get most of blynk running on one core and most of my code on the other.

I’m not entirely sure what Arduino does by default, ie: does it run all tasks on one core or distribute them to both? Trying to find out more.

I have no idea how the default behaves, but my sketch shows two loop() processes. If you run Blynk on one it will do fine. All processes seem to be handled correctly. This is the essence the dual core, two things running independently.

I have no clue about the inner workings though …

Any idea how to lower the priority on the default (empty) loop() task. Or at least make the two tasks you create a higher priority than loop()?

I’m just trying to make sure nothing is starving Blynk or the network drivers for CPU time.

No idea really. https://techtutorialsx.com/2017/05/09/esp32-running-code-on-a-specific-core/ here is fair bit of stuff about running the multicore stuff.