🎓 Updates task manager
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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
@@ -13,4 +13,4 @@ void setup() {
|
||||
spot.begin();
|
||||
}
|
||||
|
||||
void loop() { spot.loop(); }
|
||||
void loop() { vTaskDelete(NULL); }
|
||||
|
||||
Reference in New Issue
Block a user