Files
canFD_esp32_glm-oh-my-open-/task_config.h
2026-02-20 17:50:40 +00:00

43 lines
1.0 KiB
C

// task_config.h - FreeRTOS Task Structure for ESP32-S3 CAN FD Logger
#ifndef TASK_CONFIG_H
#define TASK_CONFIG_H
#include <Arduino.h>
#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