43 lines
1.0 KiB
C
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
|