// task_config.h - FreeRTOS Task Structure for ESP32-S3 CAN FD Logger #ifndef TASK_CONFIG_H #define TASK_CONFIG_H #include #include "config.h" #include "types.h" #define CORE_0 0 #define CORE_1 1 #define QUEUE_TIMEOUT_MS 100 extern TaskHandle_t canRxTaskHandle; extern TaskHandle_t sdWriteTaskHandle; extern TaskHandle_t canTxTaskHandle; extern TaskHandle_t wsTxTaskHandle; extern TaskHandle_t webServerTaskHandle; extern TaskHandle_t timeSyncTaskHandle; extern QueueHandle_t canRxQueue; extern QueueHandle_t canTxQueue; extern QueueHandle_t graphQueue; extern SemaphoreHandle_t configMutex; extern SemaphoreHandle_t sdMutex; extern SemaphoreHandle_t rtcMutex; extern SemaphoreHandle_t canMutex; void canRxTask(void *pvParameters); void sdWriteTask(void *pvParameters); void canTxTask(void *pvParameters); void wsTxTask(void *pvParameters); void webServerTask(void *pvParameters); void timeSyncTask(void *pvParameters); bool initFreeRTOSResources(); bool createAllTasks(); void deleteAllTasks(); #endif // TASK_CONFIG_H