30#ifndef __VSF_FREERTOS_TASK_H__
31#define __VSF_FREERTOS_TASK_H__
35#if defined(__VSF_FREERTOS_TASK_CLASS_IMPLEMENT)
36# undef __VSF_FREERTOS_TASK_CLASS_IMPLEMENT
37# define __VSF_CLASS_IMPLEMENT__
51#if VSF_FREERTOS_CFG_USE_NOTIFY == ENABLED
52# define __VSF_FREERTOS_TASK_NOTIFY_FIELDS \
53 vsf_sem_t notify_sem; \
54 uint32_t notify_value; \
57# define __VSF_FREERTOS_TASK_NOTIFY_FIELDS
67 implement(vsf_thread_t)
68 implement(vsf_thread_cb_t)
69 void (*entry)(
void *);
97#define taskYIELD() vTaskYield()
106 const char *
const pcName,
108 void *
const pvParameters,
129 const char *
const pcName,
131 void *
const pvParameters,
long BaseType_t
Definition esp_ringbuf.h:57
uint8_t StackType_t
Definition task.h:27
void vTaskSuspendAll(void)
Definition freertos_critical_port.c:158
void vTaskNotifyGiveFromISR(TaskHandle_t xTaskToNotify, BaseType_t *pxHigherPriorityTaskWoken)
Definition freertos_notify_port.c:180
BaseType_t xTaskCreate(TaskFunction_t pxTaskCode, const char *const pcName, const uint32_t usStackDepth, void *const pvParameters, UBaseType_t uxPriority, TaskHandle_t *const pxCreatedTask)
Definition freertos_task_port.c:52
uint32_t ulTaskNotifyTake(BaseType_t xClearCountOnExit, TickType_t xTicksToWait)
Definition freertos_notify_port.c:187
UBaseType_t vTaskEnterCriticalFromISR(void)
Definition freertos_critical_port.c:134
TaskHandle_t xTaskGetCurrentTaskHandle(void)
Definition freertos_task_port.c:160
BaseType_t xTaskNotifyFromISR(TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, BaseType_t *pxHigherPriorityTaskWoken)
Definition freertos_notify_port.c:147
TickType_t xTaskGetTickCount(void)
Definition freertos_task_port.c:123
BaseType_t xTaskNotifyWait(uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait)
Definition freertos_notify_port.c:235
BaseType_t xTaskNotifyGive(TaskHandle_t xTaskToNotify)
Definition freertos_notify_port.c:175
void vTaskDelay(const TickType_t xTicksToDelay)
Definition freertos_task_port.c:102
void(* TaskFunction_t)(void *)
Definition task.h:26
void vTaskExitCritical(void)
Definition freertos_critical_port.c:95
void vTaskDelayUntil(TickType_t *const pxPreviousWakeTime, const TickType_t xTimeIncrement)
Definition freertos_task_port.c:107
void vTaskYield(void)
Definition freertos_task_port.c:133
TickType_t xTaskGetTickCountFromISR(void)
Definition freertos_task_port.c:128
BaseType_t xTaskResumeAll(void)
Definition freertos_critical_port.c:167
eNotifyAction
Definition task.h:63
@ eIncrement
Definition task.h:66
@ eSetValueWithOverwrite
Definition task.h:67
@ eSetBits
Definition task.h:65
@ eNoAction
Definition task.h:64
@ eSetValueWithoutOverwrite
Definition task.h:68
TaskHandle_t xTaskCreateStatic(TaskFunction_t pxTaskCode, const char *const pcName, const uint32_t ulStackDepth, void *const pvParameters, UBaseType_t uxPriority, StackType_t *const puxStackBuffer, StaticTask_t *const pxTaskBuffer)
Definition freertos_task_port.c:94
void vTaskExitCriticalFromISR(UBaseType_t uxSavedInterruptState)
Definition freertos_critical_port.c:139
void vTaskEnterCritical(void)
Definition freertos_critical_port.c:84
BaseType_t xTaskNotify(TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction)
Definition freertos_notify_port.c:127
void vTaskDelete(TaskHandle_t xTaskToDelete)
Definition freertos_task_port.c:147
#define __VSF_FREERTOS_TASK_NOTIFY_FIELDS
Definition task.h:52
#define vsf_dcl_class
Definition ooc_class.h:50
#define vsf_class(__name)
Definition ooc_class.h:52
uint32_t TickType_t
Definition rtos_al.h:59
uint32_t UBaseType_t
Definition rtos_al.h:60
unsigned uint32_t
Definition stdint.h:9