🎓 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(); startServices();
ESP_LOGV("ESP32SvelteKit", "Starting loop task"); ESP_LOGV("ESP32SvelteKit", "Starting loop task");
_taskManager.createTask(this->_loopImpl, "Spot main", 4096, this, 2, NULL, ESP32SVELTEKIT_RUNNING_CORE);
} }
void ESP32SvelteKit::setupServer() { void ESP32SvelteKit::setupServer() {
@@ -186,6 +186,7 @@ class ESP32SvelteKit {
String _appName = APP_NAME; String _appName = APP_NAME;
protected: protected:
static void _loopImpl(void *_this) { static_cast<ESP32SvelteKit *>(_this)->loop(); }
void setupServer(); void setupServer();
void setupMDNS(); void setupMDNS();
void startServices(); void startServices();
+6 -6
View File
@@ -73,10 +73,8 @@ class TaskManager {
TaskManager() {} TaskManager() {}
void begin() { void begin() {
createTask(IdleTask::IdleTaskEntry, "Idle Core 0", IDLE_STACK_SIZE, &_taskIdle0, tskIDLE_PRIORITY + 1, &_hIdle0, createTask(IdleTask::IdleTaskEntry, "Idle Core 0", IDLE_STACK_SIZE, &_taskIdle0, 1, &_hIdle0, 0);
0); createTask(IdleTask::IdleTaskEntry, "Idle Core 1", IDLE_STACK_SIZE, &_taskIdle1, 1, &_hIdle1, 1);
createTask(IdleTask::IdleTaskEntry, "Idle Core 1", IDLE_STACK_SIZE, &_taskIdle1, tskIDLE_PRIORITY + 1, &_hIdle1,
1);
esp_task_wdt_delete(xTaskGetIdleTaskHandleForCPU(0)); esp_task_wdt_delete(xTaskGetIdleTaskHandleForCPU(0));
esp_task_wdt_delete(xTaskGetIdleTaskHandleForCPU(1)); esp_task_wdt_delete(xTaskGetIdleTaskHandleForCPU(1));
esp_task_wdt_add(_hIdle0); esp_task_wdt_add(_hIdle0);
@@ -116,8 +114,10 @@ class TaskManager {
} }
BaseType_t createTask(void (*taskFunction)(void *), const char *name, uint32_t stackSize = 2048, BaseType_t createTask(void (*taskFunction)(void *), const char *name, uint32_t stackSize = 2048,
void *params = nullptr, UBaseType_t priority = tskIDLE_PRIORITY + 2, void *params = nullptr, UBaseType_t priority = 2, TaskHandle_t *handle = nullptr,
TaskHandle_t *handle = nullptr, BaseType_t coreId = -1) { BaseType_t coreId = -1) {
TaskHandle_t localHandle;
if (handle == nullptr) handle = &localHandle;
BaseType_t res = coreId == -1 BaseType_t res = coreId == -1
? xTaskCreate(taskFunction, name, stackSize, params, tskIDLE_PRIORITY + priority, handle) ? xTaskCreate(taskFunction, name, stackSize, params, tskIDLE_PRIORITY + priority, handle)
: xTaskCreatePinnedToCore(taskFunction, name, stackSize, params, : xTaskCreatePinnedToCore(taskFunction, name, stackSize, params,
+1 -1
View File
@@ -13,4 +13,4 @@ void setup() {
spot.begin(); spot.begin();
} }
void loop() { spot.loop(); } void loop() { vTaskDelete(NULL); }