Replies: 3 comments 15 replies
-
Please only raise actual issues using issues Anything else create a discussion. The format of issues must not be changed and they are always to be created using templates. Thanks. |
Beta Was this translation helpful? Give feedback.
-
First I would confirm that everything works properly without the resource consuming task in play. IE in a test project. Then as you say you could try to move that resource consuming task to another core. Using TaskManagerIO as a queue for example. That should be as simple as submitting work to it (maybe using the execute method). Be aware that any data shared between cores will need to be synchronized or atomically safe. Steps I can think of are:
|
Beta Was this translation helpful? Give feedback.
-
Hi @davetcc I close this and open a new issue since I'm narrowing it down to the encoder class thanks |
Beta Was this translation helpful? Give feedback.
-
Hi Dave,
I'm working on a project where my ESP32-S3 CPU is maxed out doing real-time data processing in the loop() function on Core 1, together with the Arduino system. This means:
...where DEVICE is my class with a begin() and loopFunction() methods.
Then I wanted to add TCMenu and a SSD1306 display plus a rotary encoder/switch but it doesn't seem to work at all. the function
taskManager.runLoop();
seems blocking or just uses too much CPU time. I tried 2 approaches i.e.and
With the same result.
Do you have any suggestions? In your video I remember you mentioned running a second taskManager on another core but I didn't see how to do it. Ideally I'd like to keep the UI on core 0 and all the existing real-time processing on core 1
Let me know what you think
thanks!
Beta Was this translation helpful? Give feedback.
All reactions