🎓 Updates task manager

This commit is contained in:
Rune Harlyk
2024-08-02 19:23:47 +02:00
parent 5bced012ca
commit fe920ca939
4 changed files with 9 additions and 7 deletions
@@ -83,6 +83,7 @@ void ESP32SvelteKit::begin() {
startServices();
ESP_LOGV("ESP32SvelteKit", "Starting loop task");
_taskManager.createTask(this->_loopImpl, "Spot main", 4096, this, 2, NULL, ESP32SVELTEKIT_RUNNING_CORE);
}
void ESP32SvelteKit::setupServer() {
@@ -186,6 +186,7 @@ class ESP32SvelteKit {
String _appName = APP_NAME;
protected:
static void _loopImpl(void *_this) { static_cast<ESP32SvelteKit *>(_this)->loop(); }
void setupServer();
void setupMDNS();
void startServices();
+6 -6
View File
@@ -73,10 +73,8 @@ class TaskManager {
TaskManager() {}
void begin() {
createTask(IdleTask::IdleTaskEntry, "Idle Core 0", IDLE_STACK_SIZE, &_taskIdle0, tskIDLE_PRIORITY + 1, &_hIdle0,
0);
createTask(IdleTask::IdleTaskEntry, "Idle Core 1", IDLE_STACK_SIZE, &_taskIdle1, tskIDLE_PRIORITY + 1, &_hIdle1,
1);
createTask(IdleTask::IdleTaskEntry, "Idle Core 0", IDLE_STACK_SIZE, &_taskIdle0, 1, &_hIdle0, 0);
createTask(IdleTask::IdleTaskEntry, "Idle Core 1", IDLE_STACK_SIZE, &_taskIdle1, 1, &_hIdle1, 1);
esp_task_wdt_delete(xTaskGetIdleTaskHandleForCPU(0));
esp_task_wdt_delete(xTaskGetIdleTaskHandleForCPU(1));
esp_task_wdt_add(_hIdle0);
@@ -116,8 +114,10 @@ class TaskManager {
}
BaseType_t createTask(void (*taskFunction)(void *), const char *name, uint32_t stackSize = 2048,
void *params = nullptr, UBaseType_t priority = tskIDLE_PRIORITY + 2,
TaskHandle_t *handle = nullptr, BaseType_t coreId = -1) {
void *params = nullptr, UBaseType_t priority = 2, TaskHandle_t *handle = nullptr,
BaseType_t coreId = -1) {
TaskHandle_t localHandle;
if (handle == nullptr) handle = &localHandle;
BaseType_t res = coreId == -1
? xTaskCreate(taskFunction, name, stackSize, params, tskIDLE_PRIORITY + priority, handle)
: xTaskCreatePinnedToCore(taskFunction, name, stackSize, params,
+1 -1
View File
@@ -13,4 +13,4 @@ void setup() {
spot.begin();
}
void loop() { spot.loop(); }
void loop() { vTaskDelete(NULL); }