mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-09-12 09:07:46 -04:00
updated task.h and timers.h
This commit is contained in:
parent
418997131b
commit
e9ac8422a9
2 changed files with 4283 additions and 4260 deletions
360
include/task.h
360
include/task.h
|
@ -26,43 +26,41 @@
|
||||||
|
|
||||||
|
|
||||||
#ifndef INC_TASK_H
|
#ifndef INC_TASK_H
|
||||||
#define INC_TASK_H
|
#define INC_TASK_H
|
||||||
|
|
||||||
#ifndef INC_FREERTOS_H
|
#ifndef INC_FREERTOS_H
|
||||||
#error "include FreeRTOS.h must appear in source files before include task.h"
|
#error "include FreeRTOS.h must appear in source files before include task.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "list.h"
|
#include "list.h"
|
||||||
|
|
||||||
/* *INDENT-OFF* */
|
#ifdef __cplusplus
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
/* *INDENT-ON* */
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------
|
/*-----------------------------------------------------------
|
||||||
* MACROS AND DEFINITIONS
|
* MACROS AND DEFINITIONS
|
||||||
*----------------------------------------------------------*/
|
*----------------------------------------------------------*/
|
||||||
|
|
||||||
#define tskKERNEL_VERSION_NUMBER "V10.3.1"
|
#define tskKERNEL_VERSION_NUMBER "V10.3.1"
|
||||||
#define tskKERNEL_VERSION_MAJOR 10
|
#define tskKERNEL_VERSION_MAJOR 10
|
||||||
#define tskKERNEL_VERSION_MINOR 3
|
#define tskKERNEL_VERSION_MINOR 3
|
||||||
#define tskKERNEL_VERSION_BUILD 1
|
#define tskKERNEL_VERSION_BUILD 1
|
||||||
|
|
||||||
/* MPU region parameters passed in ulParameters
|
/* MPU region parameters passed in ulParameters
|
||||||
* of MemoryRegion_t struct. */
|
* of MemoryRegion_t struct. */
|
||||||
#define tskMPU_REGION_READ_ONLY ( 1UL << 0UL )
|
#define tskMPU_REGION_READ_ONLY ( 1UL << 0UL )
|
||||||
#define tskMPU_REGION_READ_WRITE ( 1UL << 1UL )
|
#define tskMPU_REGION_READ_WRITE ( 1UL << 1UL )
|
||||||
#define tskMPU_REGION_EXECUTE_NEVER ( 1UL << 2UL )
|
#define tskMPU_REGION_EXECUTE_NEVER ( 1UL << 2UL )
|
||||||
#define tskMPU_REGION_NORMAL_MEMORY ( 1UL << 3UL )
|
#define tskMPU_REGION_NORMAL_MEMORY ( 1UL << 3UL )
|
||||||
#define tskMPU_REGION_DEVICE_MEMORY ( 1UL << 4UL )
|
#define tskMPU_REGION_DEVICE_MEMORY ( 1UL << 4UL )
|
||||||
|
|
||||||
/* The direct to task notification feature used to have only a single notification
|
/* The direct to task notification feature used to have only a single notification
|
||||||
* per task. Now there is an array of notifications per task that is dimensioned by
|
* per task. Now there is an array of notifications per task that is dimensioned by
|
||||||
* configTASK_NOTIFICATION_ARRAY_ENTRIES. For backward compatibility, any use of the
|
* configTASK_NOTIFICATION_ARRAY_ENTRIES. For backward compatibility, any use of the
|
||||||
* original direct to task notification defaults to using the first index in the
|
* original direct to task notification defaults to using the first index in the
|
||||||
* array. */
|
* array. */
|
||||||
#define tskDEFAULT_INDEX_TO_NOTIFY ( 0 )
|
#define tskDEFAULT_INDEX_TO_NOTIFY ( 0 )
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -74,60 +72,60 @@
|
||||||
* \defgroup TaskHandle_t TaskHandle_t
|
* \defgroup TaskHandle_t TaskHandle_t
|
||||||
* \ingroup Tasks
|
* \ingroup Tasks
|
||||||
*/
|
*/
|
||||||
struct tskTaskControlBlock; /* The old naming convention is used to prevent breaking kernel aware debuggers. */
|
struct tskTaskControlBlock; /* The old naming convention is used to prevent breaking kernel aware debuggers. */
|
||||||
typedef struct tskTaskControlBlock * TaskHandle_t;
|
typedef struct tskTaskControlBlock * TaskHandle_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Defines the prototype to which the application task hook function must
|
* Defines the prototype to which the application task hook function must
|
||||||
* conform.
|
* conform.
|
||||||
*/
|
*/
|
||||||
typedef BaseType_t (* TaskHookFunction_t)( void * );
|
typedef BaseType_t (* TaskHookFunction_t)( void * );
|
||||||
|
|
||||||
/* Task states returned by eTaskGetState. */
|
/* Task states returned by eTaskGetState. */
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
eRunning = 0, /* A task is querying the state of itself, so must be running. */
|
eRunning = 0, /* A task is querying the state of itself, so must be running. */
|
||||||
eReady, /* The task being queried is in a read or pending ready list. */
|
eReady, /* The task being queried is in a read or pending ready list. */
|
||||||
eBlocked, /* The task being queried is in the Blocked state. */
|
eBlocked, /* The task being queried is in the Blocked state. */
|
||||||
eSuspended, /* The task being queried is in the Suspended state, or is in the Blocked state with an infinite time out. */
|
eSuspended, /* The task being queried is in the Suspended state, or is in the Blocked state with an infinite time out. */
|
||||||
eDeleted, /* The task being queried has been deleted, but its TCB has not yet been freed. */
|
eDeleted, /* The task being queried has been deleted, but its TCB has not yet been freed. */
|
||||||
eInvalid /* Used as an 'invalid state' value. */
|
eInvalid /* Used as an 'invalid state' value. */
|
||||||
} eTaskState;
|
} eTaskState;
|
||||||
|
|
||||||
/* Actions that can be performed when vTaskNotify() is called. */
|
/* Actions that can be performed when vTaskNotify() is called. */
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
eNoAction = 0, /* Notify the task without updating its notify value. */
|
eNoAction = 0, /* Notify the task without updating its notify value. */
|
||||||
eSetBits, /* Set bits in the task's notification value. */
|
eSetBits, /* Set bits in the task's notification value. */
|
||||||
eIncrement, /* Increment the task's notification value. */
|
eIncrement, /* Increment the task's notification value. */
|
||||||
eSetValueWithOverwrite, /* Set the task's notification value to a specific value even if the previous value has not yet been read by the task. */
|
eSetValueWithOverwrite, /* Set the task's notification value to a specific value even if the previous value has not yet been read by the task. */
|
||||||
eSetValueWithoutOverwrite /* Set the task's notification value if the previous value has been read by the task. */
|
eSetValueWithoutOverwrite /* Set the task's notification value if the previous value has been read by the task. */
|
||||||
} eNotifyAction;
|
} eNotifyAction;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Used internally only.
|
* Used internally only.
|
||||||
*/
|
*/
|
||||||
typedef struct xTIME_OUT
|
typedef struct xTIME_OUT
|
||||||
{
|
{
|
||||||
BaseType_t xOverflowCount;
|
BaseType_t xOverflowCount;
|
||||||
TickType_t xTimeOnEntering;
|
TickType_t xTimeOnEntering;
|
||||||
} TimeOut_t;
|
} TimeOut_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Defines the memory ranges allocated to the task when an MPU is used.
|
* Defines the memory ranges allocated to the task when an MPU is used.
|
||||||
*/
|
*/
|
||||||
typedef struct xMEMORY_REGION
|
typedef struct xMEMORY_REGION
|
||||||
{
|
{
|
||||||
void * pvBaseAddress;
|
void * pvBaseAddress;
|
||||||
uint32_t ulLengthInBytes;
|
uint32_t ulLengthInBytes;
|
||||||
uint32_t ulParameters;
|
uint32_t ulParameters;
|
||||||
} MemoryRegion_t;
|
} MemoryRegion_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Parameters required to create an MPU protected task.
|
* Parameters required to create an MPU protected task.
|
||||||
*/
|
*/
|
||||||
typedef struct xTASK_PARAMETERS
|
typedef struct xTASK_PARAMETERS
|
||||||
{
|
{
|
||||||
TaskFunction_t pvTaskCode;
|
TaskFunction_t pvTaskCode;
|
||||||
const char * const pcName; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
const char * const pcName; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
||||||
configSTACK_DEPTH_TYPE usStackDepth;
|
configSTACK_DEPTH_TYPE usStackDepth;
|
||||||
|
@ -138,12 +136,12 @@ typedef struct xTASK_PARAMETERS
|
||||||
#if ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) )
|
#if ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) )
|
||||||
StaticTask_t * const pxTaskBuffer;
|
StaticTask_t * const pxTaskBuffer;
|
||||||
#endif
|
#endif
|
||||||
} TaskParameters_t;
|
} TaskParameters_t;
|
||||||
|
|
||||||
/* Used with the uxTaskGetSystemState() function to return the state of each task
|
/* Used with the uxTaskGetSystemState() function to return the state of each task
|
||||||
* in the system. */
|
* in the system. */
|
||||||
typedef struct xTASK_STATUS
|
typedef struct xTASK_STATUS
|
||||||
{
|
{
|
||||||
TaskHandle_t xHandle; /* The handle of the task to which the rest of the information in the structure relates. */
|
TaskHandle_t xHandle; /* The handle of the task to which the rest of the information in the structure relates. */
|
||||||
const char * pcTaskName; /* A pointer to the task's name. This value will be invalid if the task was deleted since the structure was populated! */ /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
const char * pcTaskName; /* A pointer to the task's name. This value will be invalid if the task was deleted since the structure was populated! */ /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
||||||
UBaseType_t xTaskNumber; /* A number unique to the task. */
|
UBaseType_t xTaskNumber; /* A number unique to the task. */
|
||||||
|
@ -153,22 +151,22 @@ typedef struct xTASK_STATUS
|
||||||
uint32_t ulRunTimeCounter; /* The total run time allocated to the task so far, as defined by the run time stats clock. See http://www.freertos.org/rtos-run-time-stats.html. Only valid when configGENERATE_RUN_TIME_STATS is defined as 1 in FreeRTOSConfig.h. */
|
uint32_t ulRunTimeCounter; /* The total run time allocated to the task so far, as defined by the run time stats clock. See http://www.freertos.org/rtos-run-time-stats.html. Only valid when configGENERATE_RUN_TIME_STATS is defined as 1 in FreeRTOSConfig.h. */
|
||||||
StackType_t * pxStackBase; /* Points to the lowest address of the task's stack area. */
|
StackType_t * pxStackBase; /* Points to the lowest address of the task's stack area. */
|
||||||
configSTACK_DEPTH_TYPE usStackHighWaterMark; /* The minimum amount of stack space that has remained for the task since the task was created. The closer this value is to zero the closer the task has come to overflowing its stack. */
|
configSTACK_DEPTH_TYPE usStackHighWaterMark; /* The minimum amount of stack space that has remained for the task since the task was created. The closer this value is to zero the closer the task has come to overflowing its stack. */
|
||||||
} TaskStatus_t;
|
} TaskStatus_t;
|
||||||
|
|
||||||
/* Possible return values for eTaskConfirmSleepModeStatus(). */
|
/* Possible return values for eTaskConfirmSleepModeStatus(). */
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
eAbortSleep = 0, /* A task has been made ready or a context switch pended since portSUPPORESS_TICKS_AND_SLEEP() was called - abort entering a sleep mode. */
|
eAbortSleep = 0, /* A task has been made ready or a context switch pended since portSUPPORESS_TICKS_AND_SLEEP() was called - abort entering a sleep mode. */
|
||||||
eStandardSleep, /* Enter a sleep mode that will not last any longer than the expected idle time. */
|
eStandardSleep, /* Enter a sleep mode that will not last any longer than the expected idle time. */
|
||||||
eNoTasksWaitingTimeout /* No tasks are waiting for a timeout so it is safe to enter a sleep mode that can only be exited by an external interrupt. */
|
eNoTasksWaitingTimeout /* No tasks are waiting for a timeout so it is safe to enter a sleep mode that can only be exited by an external interrupt. */
|
||||||
} eSleepModeStatus;
|
} eSleepModeStatus;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Defines the priority used by the idle task. This must not be modified.
|
* Defines the priority used by the idle task. This must not be modified.
|
||||||
*
|
*
|
||||||
* \ingroup TaskUtils
|
* \ingroup TaskUtils
|
||||||
*/
|
*/
|
||||||
#define tskIDLE_PRIORITY ( ( UBaseType_t ) 0U )
|
#define tskIDLE_PRIORITY ( ( UBaseType_t ) 0U )
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -178,7 +176,7 @@ typedef enum
|
||||||
* \defgroup taskYIELD taskYIELD
|
* \defgroup taskYIELD taskYIELD
|
||||||
* \ingroup SchedulerControl
|
* \ingroup SchedulerControl
|
||||||
*/
|
*/
|
||||||
#define taskYIELD() portYIELD()
|
#define taskYIELD() portYIELD()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -192,8 +190,8 @@ typedef enum
|
||||||
* \defgroup taskENTER_CRITICAL taskENTER_CRITICAL
|
* \defgroup taskENTER_CRITICAL taskENTER_CRITICAL
|
||||||
* \ingroup SchedulerControl
|
* \ingroup SchedulerControl
|
||||||
*/
|
*/
|
||||||
#define taskENTER_CRITICAL() portENTER_CRITICAL()
|
#define taskENTER_CRITICAL() portENTER_CRITICAL()
|
||||||
#define taskENTER_CRITICAL_FROM_ISR() portSET_INTERRUPT_MASK_FROM_ISR()
|
#define taskENTER_CRITICAL_FROM_ISR() portSET_INTERRUPT_MASK_FROM_ISR()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -207,8 +205,8 @@ typedef enum
|
||||||
* \defgroup taskEXIT_CRITICAL taskEXIT_CRITICAL
|
* \defgroup taskEXIT_CRITICAL taskEXIT_CRITICAL
|
||||||
* \ingroup SchedulerControl
|
* \ingroup SchedulerControl
|
||||||
*/
|
*/
|
||||||
#define taskEXIT_CRITICAL() portEXIT_CRITICAL()
|
#define taskEXIT_CRITICAL() portEXIT_CRITICAL()
|
||||||
#define taskEXIT_CRITICAL_FROM_ISR( x ) portCLEAR_INTERRUPT_MASK_FROM_ISR( x )
|
#define taskEXIT_CRITICAL_FROM_ISR( x ) portCLEAR_INTERRUPT_MASK_FROM_ISR( x )
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -218,7 +216,7 @@ typedef enum
|
||||||
* \defgroup taskDISABLE_INTERRUPTS taskDISABLE_INTERRUPTS
|
* \defgroup taskDISABLE_INTERRUPTS taskDISABLE_INTERRUPTS
|
||||||
* \ingroup SchedulerControl
|
* \ingroup SchedulerControl
|
||||||
*/
|
*/
|
||||||
#define taskDISABLE_INTERRUPTS() portDISABLE_INTERRUPTS()
|
#define taskDISABLE_INTERRUPTS() portDISABLE_INTERRUPTS()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -228,14 +226,14 @@ typedef enum
|
||||||
* \defgroup taskENABLE_INTERRUPTS taskENABLE_INTERRUPTS
|
* \defgroup taskENABLE_INTERRUPTS taskENABLE_INTERRUPTS
|
||||||
* \ingroup SchedulerControl
|
* \ingroup SchedulerControl
|
||||||
*/
|
*/
|
||||||
#define taskENABLE_INTERRUPTS() portENABLE_INTERRUPTS()
|
#define taskENABLE_INTERRUPTS() portENABLE_INTERRUPTS()
|
||||||
|
|
||||||
/* Definitions returned by xTaskGetSchedulerState(). taskSCHEDULER_SUSPENDED is
|
/* Definitions returned by xTaskGetSchedulerState(). taskSCHEDULER_SUSPENDED is
|
||||||
* 0 to generate more optimal code when configASSERT() is defined as the constant
|
* 0 to generate more optimal code when configASSERT() is defined as the constant
|
||||||
* is used in assert() statements. */
|
* is used in assert() statements. */
|
||||||
#define taskSCHEDULER_SUSPENDED ( ( BaseType_t ) 0 )
|
#define taskSCHEDULER_SUSPENDED ( ( BaseType_t ) 0 )
|
||||||
#define taskSCHEDULER_NOT_STARTED ( ( BaseType_t ) 1 )
|
#define taskSCHEDULER_NOT_STARTED ( ( BaseType_t ) 1 )
|
||||||
#define taskSCHEDULER_RUNNING ( ( BaseType_t ) 2 )
|
#define taskSCHEDULER_RUNNING ( ( BaseType_t ) 2 )
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------
|
/*-----------------------------------------------------------
|
||||||
|
@ -335,14 +333,14 @@ typedef enum
|
||||||
* \defgroup xTaskCreate xTaskCreate
|
* \defgroup xTaskCreate xTaskCreate
|
||||||
* \ingroup Tasks
|
* \ingroup Tasks
|
||||||
*/
|
*/
|
||||||
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
|
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
|
||||||
BaseType_t xTaskCreate( TaskFunction_t pxTaskCode,
|
BaseType_t xTaskCreate( TaskFunction_t pxTaskCode,
|
||||||
const char * const pcName, /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
const char * const pcName, /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
||||||
const configSTACK_DEPTH_TYPE usStackDepth,
|
const configSTACK_DEPTH_TYPE usStackDepth,
|
||||||
void * const pvParameters,
|
void * const pvParameters,
|
||||||
UBaseType_t uxPriority,
|
UBaseType_t uxPriority,
|
||||||
TaskHandle_t * const pxCreatedTask ) PRIVILEGED_FUNCTION;
|
TaskHandle_t * const pxCreatedTask ) PRIVILEGED_FUNCTION;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -451,7 +449,7 @@ typedef enum
|
||||||
* \defgroup xTaskCreateStatic xTaskCreateStatic
|
* \defgroup xTaskCreateStatic xTaskCreateStatic
|
||||||
* \ingroup Tasks
|
* \ingroup Tasks
|
||||||
*/
|
*/
|
||||||
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
|
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
|
||||||
TaskHandle_t xTaskCreateStatic( TaskFunction_t pxTaskCode,
|
TaskHandle_t xTaskCreateStatic( TaskFunction_t pxTaskCode,
|
||||||
const char * const pcName, /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
const char * const pcName, /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
||||||
const uint32_t ulStackDepth,
|
const uint32_t ulStackDepth,
|
||||||
|
@ -459,7 +457,7 @@ typedef enum
|
||||||
UBaseType_t uxPriority,
|
UBaseType_t uxPriority,
|
||||||
StackType_t * const puxStackBuffer,
|
StackType_t * const puxStackBuffer,
|
||||||
StaticTask_t * const pxTaskBuffer ) PRIVILEGED_FUNCTION;
|
StaticTask_t * const pxTaskBuffer ) PRIVILEGED_FUNCTION;
|
||||||
#endif /* configSUPPORT_STATIC_ALLOCATION */
|
#endif /* configSUPPORT_STATIC_ALLOCATION */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -533,10 +531,10 @@ typedef enum
|
||||||
* \defgroup xTaskCreateRestricted xTaskCreateRestricted
|
* \defgroup xTaskCreateRestricted xTaskCreateRestricted
|
||||||
* \ingroup Tasks
|
* \ingroup Tasks
|
||||||
*/
|
*/
|
||||||
#if ( portUSING_MPU_WRAPPERS == 1 )
|
#if ( portUSING_MPU_WRAPPERS == 1 )
|
||||||
BaseType_t xTaskCreateRestricted( const TaskParameters_t * const pxTaskDefinition,
|
BaseType_t xTaskCreateRestricted( const TaskParameters_t * const pxTaskDefinition,
|
||||||
TaskHandle_t * pxCreatedTask ) PRIVILEGED_FUNCTION;
|
TaskHandle_t * pxCreatedTask ) PRIVILEGED_FUNCTION;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -622,10 +620,10 @@ typedef enum
|
||||||
* \defgroup xTaskCreateRestrictedStatic xTaskCreateRestrictedStatic
|
* \defgroup xTaskCreateRestrictedStatic xTaskCreateRestrictedStatic
|
||||||
* \ingroup Tasks
|
* \ingroup Tasks
|
||||||
*/
|
*/
|
||||||
#if ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) )
|
#if ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) )
|
||||||
BaseType_t xTaskCreateRestrictedStatic( const TaskParameters_t * const pxTaskDefinition,
|
BaseType_t xTaskCreateRestrictedStatic( const TaskParameters_t * const pxTaskDefinition,
|
||||||
TaskHandle_t * pxCreatedTask ) PRIVILEGED_FUNCTION;
|
TaskHandle_t * pxCreatedTask ) PRIVILEGED_FUNCTION;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -651,7 +649,7 @@ typedef enum
|
||||||
* {
|
* {
|
||||||
* // Base address Length Parameters
|
* // Base address Length Parameters
|
||||||
* { ucOneKByte, 1024, portMPU_REGION_READ_WRITE },
|
* { ucOneKByte, 1024, portMPU_REGION_READ_WRITE },
|
||||||
* { 0, 0, 0 },
|
* { 0 0, 0 },
|
||||||
* { 0, 0, 0 }
|
* { 0, 0, 0 }
|
||||||
* };
|
* };
|
||||||
*
|
*
|
||||||
|
@ -673,7 +671,7 @@ typedef enum
|
||||||
* \defgroup xTaskCreateRestricted xTaskCreateRestricted
|
* \defgroup xTaskCreateRestricted xTaskCreateRestricted
|
||||||
* \ingroup Tasks
|
* \ingroup Tasks
|
||||||
*/
|
*/
|
||||||
void vTaskAllocateMPURegions( TaskHandle_t xTask,
|
void vTaskAllocateMPURegions( TaskHandle_t xTask,
|
||||||
const MemoryRegion_t * const pxRegions ) PRIVILEGED_FUNCTION;
|
const MemoryRegion_t * const pxRegions ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -715,7 +713,7 @@ void vTaskAllocateMPURegions( TaskHandle_t xTask,
|
||||||
* \defgroup vTaskDelete vTaskDelete
|
* \defgroup vTaskDelete vTaskDelete
|
||||||
* \ingroup Tasks
|
* \ingroup Tasks
|
||||||
*/
|
*/
|
||||||
void vTaskDelete( TaskHandle_t xTaskToDelete ) PRIVILEGED_FUNCTION;
|
void vTaskDelete( TaskHandle_t xTaskToDelete ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*-----------------------------------------------------------
|
/*-----------------------------------------------------------
|
||||||
* TASK CONTROL API
|
* TASK CONTROL API
|
||||||
|
@ -767,7 +765,7 @@ void vTaskDelete( TaskHandle_t xTaskToDelete ) PRIVILEGED_FUNCTION;
|
||||||
* \defgroup vTaskDelay vTaskDelay
|
* \defgroup vTaskDelay vTaskDelay
|
||||||
* \ingroup TaskCtrl
|
* \ingroup TaskCtrl
|
||||||
*/
|
*/
|
||||||
void vTaskDelay( const TickType_t xTicksToDelay ) PRIVILEGED_FUNCTION;
|
void vTaskDelay( const TickType_t xTicksToDelay ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -826,7 +824,7 @@ void vTaskDelay( const TickType_t xTicksToDelay ) PRIVILEGED_FUNCTION;
|
||||||
* \defgroup vTaskDelayUntil vTaskDelayUntil
|
* \defgroup vTaskDelayUntil vTaskDelayUntil
|
||||||
* \ingroup TaskCtrl
|
* \ingroup TaskCtrl
|
||||||
*/
|
*/
|
||||||
void vTaskDelayUntil( TickType_t * const pxPreviousWakeTime,
|
void vTaskDelayUntil( TickType_t * const pxPreviousWakeTime,
|
||||||
const TickType_t xTimeIncrement ) PRIVILEGED_FUNCTION;
|
const TickType_t xTimeIncrement ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -857,7 +855,7 @@ void vTaskDelayUntil( TickType_t * const pxPreviousWakeTime,
|
||||||
* \defgroup xTaskAbortDelay xTaskAbortDelay
|
* \defgroup xTaskAbortDelay xTaskAbortDelay
|
||||||
* \ingroup TaskCtrl
|
* \ingroup TaskCtrl
|
||||||
*/
|
*/
|
||||||
BaseType_t xTaskAbortDelay( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
BaseType_t xTaskAbortDelay( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -904,7 +902,7 @@ BaseType_t xTaskAbortDelay( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
||||||
* \defgroup uxTaskPriorityGet uxTaskPriorityGet
|
* \defgroup uxTaskPriorityGet uxTaskPriorityGet
|
||||||
* \ingroup TaskCtrl
|
* \ingroup TaskCtrl
|
||||||
*/
|
*/
|
||||||
UBaseType_t uxTaskPriorityGet( const TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
UBaseType_t uxTaskPriorityGet( const TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -912,7 +910,7 @@ UBaseType_t uxTaskPriorityGet( const TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
||||||
*
|
*
|
||||||
* A version of uxTaskPriorityGet() that can be used from an ISR.
|
* A version of uxTaskPriorityGet() that can be used from an ISR.
|
||||||
*/
|
*/
|
||||||
UBaseType_t uxTaskPriorityGetFromISR( const TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
UBaseType_t uxTaskPriorityGetFromISR( const TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -930,7 +928,7 @@ UBaseType_t uxTaskPriorityGetFromISR( const TaskHandle_t xTask ) PRIVILEGED_FUNC
|
||||||
* state of the task might change between the function being called, and the
|
* state of the task might change between the function being called, and the
|
||||||
* functions return value being tested by the calling task.
|
* functions return value being tested by the calling task.
|
||||||
*/
|
*/
|
||||||
eTaskState eTaskGetState( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
eTaskState eTaskGetState( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -986,7 +984,7 @@ eTaskState eTaskGetState( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
||||||
* \defgroup vTaskGetInfo vTaskGetInfo
|
* \defgroup vTaskGetInfo vTaskGetInfo
|
||||||
* \ingroup TaskCtrl
|
* \ingroup TaskCtrl
|
||||||
*/
|
*/
|
||||||
void vTaskGetInfo( TaskHandle_t xTask,
|
void vTaskGetInfo( TaskHandle_t xTask,
|
||||||
TaskStatus_t * pxTaskStatus,
|
TaskStatus_t * pxTaskStatus,
|
||||||
BaseType_t xGetFreeStackSpace,
|
BaseType_t xGetFreeStackSpace,
|
||||||
eTaskState eState ) PRIVILEGED_FUNCTION;
|
eTaskState eState ) PRIVILEGED_FUNCTION;
|
||||||
|
@ -1031,7 +1029,7 @@ void vTaskGetInfo( TaskHandle_t xTask,
|
||||||
* \defgroup vTaskPrioritySet vTaskPrioritySet
|
* \defgroup vTaskPrioritySet vTaskPrioritySet
|
||||||
* \ingroup TaskCtrl
|
* \ingroup TaskCtrl
|
||||||
*/
|
*/
|
||||||
void vTaskPrioritySet( TaskHandle_t xTask,
|
void vTaskPrioritySet( TaskHandle_t xTask,
|
||||||
UBaseType_t uxNewPriority ) PRIVILEGED_FUNCTION;
|
UBaseType_t uxNewPriority ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1083,7 +1081,7 @@ void vTaskPrioritySet( TaskHandle_t xTask,
|
||||||
* \defgroup vTaskSuspend vTaskSuspend
|
* \defgroup vTaskSuspend vTaskSuspend
|
||||||
* \ingroup TaskCtrl
|
* \ingroup TaskCtrl
|
||||||
*/
|
*/
|
||||||
void vTaskSuspend( TaskHandle_t xTaskToSuspend ) PRIVILEGED_FUNCTION;
|
void vTaskSuspend( TaskHandle_t xTaskToSuspend ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -1132,7 +1130,7 @@ void vTaskSuspend( TaskHandle_t xTaskToSuspend ) PRIVILEGED_FUNCTION;
|
||||||
* \defgroup vTaskResume vTaskResume
|
* \defgroup vTaskResume vTaskResume
|
||||||
* \ingroup TaskCtrl
|
* \ingroup TaskCtrl
|
||||||
*/
|
*/
|
||||||
void vTaskResume( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION;
|
void vTaskResume( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -1161,7 +1159,7 @@ void vTaskResume( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION;
|
||||||
* \defgroup vTaskResumeFromISR vTaskResumeFromISR
|
* \defgroup vTaskResumeFromISR vTaskResumeFromISR
|
||||||
* \ingroup TaskCtrl
|
* \ingroup TaskCtrl
|
||||||
*/
|
*/
|
||||||
BaseType_t xTaskResumeFromISR( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION;
|
BaseType_t xTaskResumeFromISR( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*-----------------------------------------------------------
|
/*-----------------------------------------------------------
|
||||||
* SCHEDULER CONTROL
|
* SCHEDULER CONTROL
|
||||||
|
@ -1194,7 +1192,7 @@ BaseType_t xTaskResumeFromISR( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION;
|
||||||
* \defgroup vTaskStartScheduler vTaskStartScheduler
|
* \defgroup vTaskStartScheduler vTaskStartScheduler
|
||||||
* \ingroup SchedulerControl
|
* \ingroup SchedulerControl
|
||||||
*/
|
*/
|
||||||
void vTaskStartScheduler( void ) PRIVILEGED_FUNCTION;
|
void vTaskStartScheduler( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -1250,7 +1248,7 @@ void vTaskStartScheduler( void ) PRIVILEGED_FUNCTION;
|
||||||
* \defgroup vTaskEndScheduler vTaskEndScheduler
|
* \defgroup vTaskEndScheduler vTaskEndScheduler
|
||||||
* \ingroup SchedulerControl
|
* \ingroup SchedulerControl
|
||||||
*/
|
*/
|
||||||
void vTaskEndScheduler( void ) PRIVILEGED_FUNCTION;
|
void vTaskEndScheduler( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -1301,7 +1299,7 @@ void vTaskEndScheduler( void ) PRIVILEGED_FUNCTION;
|
||||||
* \defgroup vTaskSuspendAll vTaskSuspendAll
|
* \defgroup vTaskSuspendAll vTaskSuspendAll
|
||||||
* \ingroup SchedulerControl
|
* \ingroup SchedulerControl
|
||||||
*/
|
*/
|
||||||
void vTaskSuspendAll( void ) PRIVILEGED_FUNCTION;
|
void vTaskSuspendAll( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -1355,7 +1353,7 @@ void vTaskSuspendAll( void ) PRIVILEGED_FUNCTION;
|
||||||
* \defgroup xTaskResumeAll xTaskResumeAll
|
* \defgroup xTaskResumeAll xTaskResumeAll
|
||||||
* \ingroup SchedulerControl
|
* \ingroup SchedulerControl
|
||||||
*/
|
*/
|
||||||
BaseType_t xTaskResumeAll( void ) PRIVILEGED_FUNCTION;
|
BaseType_t xTaskResumeAll( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*-----------------------------------------------------------
|
/*-----------------------------------------------------------
|
||||||
* TASK UTILITIES
|
* TASK UTILITIES
|
||||||
|
@ -1370,7 +1368,7 @@ BaseType_t xTaskResumeAll( void ) PRIVILEGED_FUNCTION;
|
||||||
* \defgroup xTaskGetTickCount xTaskGetTickCount
|
* \defgroup xTaskGetTickCount xTaskGetTickCount
|
||||||
* \ingroup TaskUtils
|
* \ingroup TaskUtils
|
||||||
*/
|
*/
|
||||||
TickType_t xTaskGetTickCount( void ) PRIVILEGED_FUNCTION;
|
TickType_t xTaskGetTickCount( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -1386,7 +1384,7 @@ TickType_t xTaskGetTickCount( void ) PRIVILEGED_FUNCTION;
|
||||||
* \defgroup xTaskGetTickCountFromISR xTaskGetTickCountFromISR
|
* \defgroup xTaskGetTickCountFromISR xTaskGetTickCountFromISR
|
||||||
* \ingroup TaskUtils
|
* \ingroup TaskUtils
|
||||||
*/
|
*/
|
||||||
TickType_t xTaskGetTickCountFromISR( void ) PRIVILEGED_FUNCTION;
|
TickType_t xTaskGetTickCountFromISR( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -1400,7 +1398,7 @@ TickType_t xTaskGetTickCountFromISR( void ) PRIVILEGED_FUNCTION;
|
||||||
* \defgroup uxTaskGetNumberOfTasks uxTaskGetNumberOfTasks
|
* \defgroup uxTaskGetNumberOfTasks uxTaskGetNumberOfTasks
|
||||||
* \ingroup TaskUtils
|
* \ingroup TaskUtils
|
||||||
*/
|
*/
|
||||||
UBaseType_t uxTaskGetNumberOfTasks( void ) PRIVILEGED_FUNCTION;
|
UBaseType_t uxTaskGetNumberOfTasks( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -1413,7 +1411,7 @@ UBaseType_t uxTaskGetNumberOfTasks( void ) PRIVILEGED_FUNCTION;
|
||||||
* \defgroup pcTaskGetName pcTaskGetName
|
* \defgroup pcTaskGetName pcTaskGetName
|
||||||
* \ingroup TaskUtils
|
* \ingroup TaskUtils
|
||||||
*/
|
*/
|
||||||
char * pcTaskGetName( TaskHandle_t xTaskToQuery ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
char * pcTaskGetName( TaskHandle_t xTaskToQuery ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -1429,7 +1427,7 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) PRIVILEGED_FUNCTION; /*lin
|
||||||
* \defgroup pcTaskGetHandle pcTaskGetHandle
|
* \defgroup pcTaskGetHandle pcTaskGetHandle
|
||||||
* \ingroup TaskUtils
|
* \ingroup TaskUtils
|
||||||
*/
|
*/
|
||||||
TaskHandle_t xTaskGetHandle( const char * pcNameToQuery ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
TaskHandle_t xTaskGetHandle( const char * pcNameToQuery ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task.h
|
* task.h
|
||||||
|
@ -1456,7 +1454,7 @@ TaskHandle_t xTaskGetHandle( const char * pcNameToQuery ) PRIVILEGED_FUNCTION;
|
||||||
* actual spaces on the stack rather than bytes) since the task referenced by
|
* actual spaces on the stack rather than bytes) since the task referenced by
|
||||||
* xTask was created.
|
* xTask was created.
|
||||||
*/
|
*/
|
||||||
UBaseType_t uxTaskGetStackHighWaterMark( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
UBaseType_t uxTaskGetStackHighWaterMark( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task.h
|
* task.h
|
||||||
|
@ -1483,7 +1481,7 @@ UBaseType_t uxTaskGetStackHighWaterMark( TaskHandle_t xTask ) PRIVILEGED_FUNCTIO
|
||||||
* actual spaces on the stack rather than bytes) since the task referenced by
|
* actual spaces on the stack rather than bytes) since the task referenced by
|
||||||
* xTask was created.
|
* xTask was created.
|
||||||
*/
|
*/
|
||||||
configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/* When using trace macros it is sometimes necessary to include task.h before
|
/* When using trace macros it is sometimes necessary to include task.h before
|
||||||
* FreeRTOS.h. When this is done TaskHookFunction_t will not yet have been defined,
|
* FreeRTOS.h. When this is done TaskHookFunction_t will not yet have been defined,
|
||||||
|
@ -1491,7 +1489,7 @@ configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVIL
|
||||||
* fixed by simply guarding against the inclusion of these two prototypes unless
|
* fixed by simply guarding against the inclusion of these two prototypes unless
|
||||||
* they are explicitly required by the configUSE_APPLICATION_TASK_TAG configuration
|
* they are explicitly required by the configUSE_APPLICATION_TASK_TAG configuration
|
||||||
* constant. */
|
* constant. */
|
||||||
#ifdef configUSE_APPLICATION_TASK_TAG
|
#ifdef configUSE_APPLICATION_TASK_TAG
|
||||||
#if configUSE_APPLICATION_TASK_TAG == 1
|
#if configUSE_APPLICATION_TASK_TAG == 1
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1524,9 +1522,9 @@ configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVIL
|
||||||
*/
|
*/
|
||||||
TaskHookFunction_t xTaskGetApplicationTaskTagFromISR( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
TaskHookFunction_t xTaskGetApplicationTaskTagFromISR( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
||||||
#endif /* configUSE_APPLICATION_TASK_TAG ==1 */
|
#endif /* configUSE_APPLICATION_TASK_TAG ==1 */
|
||||||
#endif /* ifdef configUSE_APPLICATION_TASK_TAG */
|
#endif /* ifdef configUSE_APPLICATION_TASK_TAG */
|
||||||
|
|
||||||
#if ( configNUM_THREAD_LOCAL_STORAGE_POINTERS > 0 )
|
#if ( configNUM_THREAD_LOCAL_STORAGE_POINTERS > 0 )
|
||||||
|
|
||||||
/* Each task contains an array of pointers that is dimensioned by the
|
/* Each task contains an array of pointers that is dimensioned by the
|
||||||
* configNUM_THREAD_LOCAL_STORAGE_POINTERS setting in FreeRTOSConfig.h. The
|
* configNUM_THREAD_LOCAL_STORAGE_POINTERS setting in FreeRTOSConfig.h. The
|
||||||
|
@ -1539,8 +1537,54 @@ configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVIL
|
||||||
void * pvTaskGetThreadLocalStoragePointer( TaskHandle_t xTaskToQuery,
|
void * pvTaskGetThreadLocalStoragePointer( TaskHandle_t xTaskToQuery,
|
||||||
BaseType_t xIndex ) PRIVILEGED_FUNCTION;
|
BaseType_t xIndex ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#if ( configUSE_TICK_HOOK > 0 )
|
||||||
|
/**
|
||||||
|
* task.h
|
||||||
|
* <pre>void vApplicationTickHook( void ); </pre>
|
||||||
|
*
|
||||||
|
* This hook function is called in the system tick handler after any OS work is completed.
|
||||||
|
*/
|
||||||
|
void vApplicationTickHook( void ); /*lint !e526 Symbol not defined as it is an application callback. */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Callback function prototypes. --------------------------*/
|
||||||
|
#if ( configCHECK_FOR_STACK_OVERFLOW > 0 )
|
||||||
|
|
||||||
|
/**
|
||||||
|
* task.h
|
||||||
|
* <pre>void vApplicationStackOverflowHook( TaskHandle_t xTask char *pcTaskName); </pre>
|
||||||
|
*
|
||||||
|
* The application stack overflow hook is called when a stack overflow is detected for a task.
|
||||||
|
*
|
||||||
|
* Details on stack overflow detection can be found here: https://www.freertos.org/Stacks-and-stack-overflow-checking.html
|
||||||
|
*
|
||||||
|
* @param xTask the task that just exceeded its stack boundaries.
|
||||||
|
* @param pcTaskName A character string containing the name of the offending task.
|
||||||
|
*/
|
||||||
|
void vApplicationStackOverflowHook( TaskHandle_t xTask,
|
||||||
|
char * pcTaskName );
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
|
||||||
|
|
||||||
|
|
||||||
|
/* If static allocation is supported then the application must provide the
|
||||||
|
* following callback function - which enables the application to optionally
|
||||||
|
* provide the memory that will be used by the idle task as the task's stack
|
||||||
|
* and TCB.
|
||||||
|
* https://www.freertos.org/a00110.html#configSUPPORT_STATIC_ALLOCATION
|
||||||
|
*/
|
||||||
|
void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer,
|
||||||
|
StackType_t ** ppxIdleTaskStackBuffer,
|
||||||
|
uint32_t * pulIdleTaskStackSize ); /*lint !e526 Symbol not defined as it is an application callback. */
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task.h
|
* task.h
|
||||||
* <pre>BaseType_t xTaskCallApplicationTaskHook( TaskHandle_t xTask, void *pvParameter );</pre>
|
* <pre>BaseType_t xTaskCallApplicationTaskHook( TaskHandle_t xTask, void *pvParameter );</pre>
|
||||||
|
@ -1552,7 +1596,7 @@ configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVIL
|
||||||
* wants. The return value is the value returned by the task hook function
|
* wants. The return value is the value returned by the task hook function
|
||||||
* registered by the user.
|
* registered by the user.
|
||||||
*/
|
*/
|
||||||
BaseType_t xTaskCallApplicationTaskHook( TaskHandle_t xTask,
|
BaseType_t xTaskCallApplicationTaskHook( TaskHandle_t xTask,
|
||||||
void * pvParameter ) PRIVILEGED_FUNCTION;
|
void * pvParameter ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1562,7 +1606,7 @@ BaseType_t xTaskCallApplicationTaskHook( TaskHandle_t xTask,
|
||||||
* Simply returns the handle of the idle task. It is not valid to call
|
* Simply returns the handle of the idle task. It is not valid to call
|
||||||
* xTaskGetIdleTaskHandle() before the scheduler has been started.
|
* xTaskGetIdleTaskHandle() before the scheduler has been started.
|
||||||
*/
|
*/
|
||||||
TaskHandle_t xTaskGetIdleTaskHandle( void ) PRIVILEGED_FUNCTION;
|
TaskHandle_t xTaskGetIdleTaskHandle( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* configUSE_TRACE_FACILITY must be defined as 1 in FreeRTOSConfig.h for
|
* configUSE_TRACE_FACILITY must be defined as 1 in FreeRTOSConfig.h for
|
||||||
|
@ -1661,7 +1705,7 @@ TaskHandle_t xTaskGetIdleTaskHandle( void ) PRIVILEGED_FUNCTION;
|
||||||
* }
|
* }
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
UBaseType_t uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray,
|
UBaseType_t uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray,
|
||||||
const UBaseType_t uxArraySize,
|
const UBaseType_t uxArraySize,
|
||||||
uint32_t * const pulTotalRunTime ) PRIVILEGED_FUNCTION;
|
uint32_t * const pulTotalRunTime ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
|
@ -1710,7 +1754,7 @@ UBaseType_t uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray,
|
||||||
* \defgroup vTaskList vTaskList
|
* \defgroup vTaskList vTaskList
|
||||||
* \ingroup TaskUtils
|
* \ingroup TaskUtils
|
||||||
*/
|
*/
|
||||||
void vTaskList( char * pcWriteBuffer ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
void vTaskList( char * pcWriteBuffer ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -1764,7 +1808,7 @@ void vTaskList( char * pcWriteBuffer ) PRIVILEGED_FUNCTION; /*lint !e971 Unq
|
||||||
* \defgroup vTaskGetRunTimeStats vTaskGetRunTimeStats
|
* \defgroup vTaskGetRunTimeStats vTaskGetRunTimeStats
|
||||||
* \ingroup TaskUtils
|
* \ingroup TaskUtils
|
||||||
*/
|
*/
|
||||||
void vTaskGetRunTimeStats( char * pcWriteBuffer ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
void vTaskGetRunTimeStats( char * pcWriteBuffer ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -1794,7 +1838,7 @@ void vTaskGetRunTimeStats( char * pcWriteBuffer ) PRIVILEGED_FUNCTION; /*lin
|
||||||
* \defgroup ulTaskGetIdleRunTimeCounter ulTaskGetIdleRunTimeCounter
|
* \defgroup ulTaskGetIdleRunTimeCounter ulTaskGetIdleRunTimeCounter
|
||||||
* \ingroup TaskUtils
|
* \ingroup TaskUtils
|
||||||
*/
|
*/
|
||||||
uint32_t ulTaskGetIdleRunTimeCounter( void ) PRIVILEGED_FUNCTION;
|
uint32_t ulTaskGetIdleRunTimeCounter( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -1903,15 +1947,13 @@ uint32_t ulTaskGetIdleRunTimeCounter( void ) PRIVILEGED_FUNCTION;
|
||||||
* \defgroup xTaskNotifyIndexed xTaskNotifyIndexed
|
* \defgroup xTaskNotifyIndexed xTaskNotifyIndexed
|
||||||
* \ingroup TaskNotifications
|
* \ingroup TaskNotifications
|
||||||
*/
|
*/
|
||||||
BaseType_t xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
BaseType_t xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||||
UBaseType_t uxIndexToNotify,
|
UBaseType_t uxIndexToNotify,
|
||||||
uint32_t ulValue,
|
uint32_t ulValue,
|
||||||
eNotifyAction eAction,
|
eNotifyAction eAction,
|
||||||
uint32_t * pulPreviousNotificationValue ) PRIVILEGED_FUNCTION;
|
uint32_t * pulPreviousNotificationValue ) PRIVILEGED_FUNCTION;
|
||||||
#define xTaskNotify( xTaskToNotify, ulValue, eAction ) \
|
#define xTaskNotify( xTaskToNotify, ulValue, eAction ) xTaskGenericNotify( ( xTaskToNotify ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( ulValue ), ( eAction ), NULL )
|
||||||
xTaskGenericNotify( ( xTaskToNotify ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( ulValue ), ( eAction ), NULL )
|
#define xTaskNotifyIndexed( xTaskToNotify, uxIndexToNotify, ulValue, eAction ) xTaskGenericNotify( ( xTaskToNotify ), ( uxIndexToNotify ), ( ulValue ), ( eAction ), NULL )
|
||||||
#define xTaskNotifyIndexed( xTaskToNotify, uxIndexToNotify, ulValue, eAction ) \
|
|
||||||
xTaskGenericNotify( ( xTaskToNotify ), ( uxIndexToNotify ), ( ulValue ), ( eAction ), NULL )
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -1935,10 +1977,8 @@ BaseType_t xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||||
* \defgroup xTaskNotifyAndQueryIndexed xTaskNotifyAndQueryIndexed
|
* \defgroup xTaskNotifyAndQueryIndexed xTaskNotifyAndQueryIndexed
|
||||||
* \ingroup TaskNotifications
|
* \ingroup TaskNotifications
|
||||||
*/
|
*/
|
||||||
#define xTaskNotifyAndQuery( xTaskToNotify, ulValue, eAction, pulPreviousNotifyValue ) \
|
#define xTaskNotifyAndQuery( xTaskToNotify, ulValue, eAction, pulPreviousNotifyValue ) xTaskGenericNotify( ( xTaskToNotify ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( ulValue ), ( eAction ), ( pulPreviousNotifyValue ) )
|
||||||
xTaskGenericNotify( ( xTaskToNotify ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( ulValue ), ( eAction ), ( pulPreviousNotifyValue ) )
|
#define xTaskNotifyAndQueryIndexed( xTaskToNotify, uxIndexToNotify, ulValue, eAction, pulPreviousNotifyValue ) xTaskGenericNotify( ( xTaskToNotify ), ( uxIndexToNotify ), ( ulValue ), ( eAction ), ( pulPreviousNotifyValue ) )
|
||||||
#define xTaskNotifyAndQueryIndexed( xTaskToNotify, uxIndexToNotify, ulValue, eAction, pulPreviousNotifyValue ) \
|
|
||||||
xTaskGenericNotify( ( xTaskToNotify ), ( uxIndexToNotify ), ( ulValue ), ( eAction ), ( pulPreviousNotifyValue ) )
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -2051,16 +2091,14 @@ BaseType_t xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||||
* \defgroup xTaskNotifyIndexedFromISR xTaskNotifyIndexedFromISR
|
* \defgroup xTaskNotifyIndexedFromISR xTaskNotifyIndexedFromISR
|
||||||
* \ingroup TaskNotifications
|
* \ingroup TaskNotifications
|
||||||
*/
|
*/
|
||||||
BaseType_t xTaskGenericNotifyFromISR( TaskHandle_t xTaskToNotify,
|
BaseType_t xTaskGenericNotifyFromISR( TaskHandle_t xTaskToNotify,
|
||||||
UBaseType_t uxIndexToNotify,
|
UBaseType_t uxIndexToNotify,
|
||||||
uint32_t ulValue,
|
uint32_t ulValue,
|
||||||
eNotifyAction eAction,
|
eNotifyAction eAction,
|
||||||
uint32_t * pulPreviousNotificationValue,
|
uint32_t * pulPreviousNotificationValue,
|
||||||
BaseType_t * pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION;
|
BaseType_t * pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION;
|
||||||
#define xTaskNotifyFromISR( xTaskToNotify, ulValue, eAction, pxHigherPriorityTaskWoken ) \
|
#define xTaskNotifyFromISR( xTaskToNotify, ulValue, eAction, pxHigherPriorityTaskWoken ) xTaskGenericNotifyFromISR( ( xTaskToNotify ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( ulValue ), ( eAction ), NULL, ( pxHigherPriorityTaskWoken ) )
|
||||||
xTaskGenericNotifyFromISR( ( xTaskToNotify ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( ulValue ), ( eAction ), NULL, ( pxHigherPriorityTaskWoken ) )
|
#define xTaskNotifyIndexedFromISR( xTaskToNotify, uxIndexToNotify, ulValue, eAction, pxHigherPriorityTaskWoken ) xTaskGenericNotifyFromISR( ( xTaskToNotify ), ( uxIndexToNotify ), ( ulValue ), ( eAction ), NULL, ( pxHigherPriorityTaskWoken ) )
|
||||||
#define xTaskNotifyIndexedFromISR( xTaskToNotify, uxIndexToNotify, ulValue, eAction, pxHigherPriorityTaskWoken ) \
|
|
||||||
xTaskGenericNotifyFromISR( ( xTaskToNotify ), ( uxIndexToNotify ), ( ulValue ), ( eAction ), NULL, ( pxHigherPriorityTaskWoken ) )
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -2084,10 +2122,8 @@ BaseType_t xTaskGenericNotifyFromISR( TaskHandle_t xTaskToNotify,
|
||||||
* \defgroup xTaskNotifyAndQueryIndexedFromISR xTaskNotifyAndQueryIndexedFromISR
|
* \defgroup xTaskNotifyAndQueryIndexedFromISR xTaskNotifyAndQueryIndexedFromISR
|
||||||
* \ingroup TaskNotifications
|
* \ingroup TaskNotifications
|
||||||
*/
|
*/
|
||||||
#define xTaskNotifyAndQueryIndexedFromISR( xTaskToNotify, uxIndexToNotify, ulValue, eAction, pulPreviousNotificationValue, pxHigherPriorityTaskWoken ) \
|
#define xTaskNotifyAndQueryIndexedFromISR( xTaskToNotify, uxIndexToNotify, ulValue, eAction, pulPreviousNotificationValue, pxHigherPriorityTaskWoken ) xTaskGenericNotifyFromISR( ( xTaskToNotify ), ( uxIndexToNotify ), ( ulValue ), ( eAction ), ( pulPreviousNotificationValue ), ( pxHigherPriorityTaskWoken ) )
|
||||||
xTaskGenericNotifyFromISR( ( xTaskToNotify ), ( uxIndexToNotify ), ( ulValue ), ( eAction ), ( pulPreviousNotificationValue ), ( pxHigherPriorityTaskWoken ) )
|
#define xTaskNotifyAndQueryFromISR( xTaskToNotify, ulValue, eAction, pulPreviousNotificationValue, pxHigherPriorityTaskWoken ) xTaskGenericNotifyFromISR( ( xTaskToNotify ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( ulValue ), ( eAction ), ( pulPreviousNotificationValue ), ( pxHigherPriorityTaskWoken ) )
|
||||||
#define xTaskNotifyAndQueryFromISR( xTaskToNotify, ulValue, eAction, pulPreviousNotificationValue, pxHigherPriorityTaskWoken ) \
|
|
||||||
xTaskGenericNotifyFromISR( ( xTaskToNotify ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( ulValue ), ( eAction ), ( pulPreviousNotificationValue ), ( pxHigherPriorityTaskWoken ) )
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -2190,15 +2226,13 @@ BaseType_t xTaskGenericNotifyFromISR( TaskHandle_t xTaskToNotify,
|
||||||
* \defgroup xTaskNotifyWaitIndexed xTaskNotifyWaitIndexed
|
* \defgroup xTaskNotifyWaitIndexed xTaskNotifyWaitIndexed
|
||||||
* \ingroup TaskNotifications
|
* \ingroup TaskNotifications
|
||||||
*/
|
*/
|
||||||
BaseType_t xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
BaseType_t xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
||||||
uint32_t ulBitsToClearOnEntry,
|
uint32_t ulBitsToClearOnEntry,
|
||||||
uint32_t ulBitsToClearOnExit,
|
uint32_t ulBitsToClearOnExit,
|
||||||
uint32_t * pulNotificationValue,
|
uint32_t * pulNotificationValue,
|
||||||
TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
|
TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
|
||||||
#define xTaskNotifyWait( ulBitsToClearOnEntry, ulBitsToClearOnExit, pulNotificationValue, xTicksToWait ) \
|
#define xTaskNotifyWait( ulBitsToClearOnEntry, ulBitsToClearOnExit, pulNotificationValue, xTicksToWait ) xTaskGenericNotifyWait( tskDEFAULT_INDEX_TO_NOTIFY, ( ulBitsToClearOnEntry ), ( ulBitsToClearOnExit ), ( pulNotificationValue ), ( xTicksToWait ) )
|
||||||
xTaskGenericNotifyWait( tskDEFAULT_INDEX_TO_NOTIFY, ( ulBitsToClearOnEntry ), ( ulBitsToClearOnExit ), ( pulNotificationValue ), ( xTicksToWait ) )
|
#define xTaskNotifyWaitIndexed( uxIndexToWaitOn, ulBitsToClearOnEntry, ulBitsToClearOnExit, pulNotificationValue, xTicksToWait ) xTaskGenericNotifyWait( ( uxIndexToWaitOn ), ( ulBitsToClearOnEntry ), ( ulBitsToClearOnExit ), ( pulNotificationValue ), ( xTicksToWait ) )
|
||||||
#define xTaskNotifyWaitIndexed( uxIndexToWaitOn, ulBitsToClearOnEntry, ulBitsToClearOnExit, pulNotificationValue, xTicksToWait ) \
|
|
||||||
xTaskGenericNotifyWait( ( uxIndexToWaitOn ), ( ulBitsToClearOnEntry ), ( ulBitsToClearOnExit ), ( pulNotificationValue ), ( xTicksToWait ) )
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -2270,10 +2304,8 @@ BaseType_t xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
||||||
* \defgroup xTaskNotifyGiveIndexed xTaskNotifyGiveIndexed
|
* \defgroup xTaskNotifyGiveIndexed xTaskNotifyGiveIndexed
|
||||||
* \ingroup TaskNotifications
|
* \ingroup TaskNotifications
|
||||||
*/
|
*/
|
||||||
#define xTaskNotifyGive( xTaskToNotify ) \
|
#define xTaskNotifyGive( xTaskToNotify ) xTaskGenericNotify( ( xTaskToNotify ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( 0 ), eIncrement, NULL )
|
||||||
xTaskGenericNotify( ( xTaskToNotify ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( 0 ), eIncrement, NULL )
|
#define xTaskNotifyGiveIndexed( xTaskToNotify, uxIndexToNotify ) xTaskGenericNotify( ( xTaskToNotify ), ( uxIndexToNotify ), ( 0 ), eIncrement, NULL )
|
||||||
#define xTaskNotifyGiveIndexed( xTaskToNotify, uxIndexToNotify ) \
|
|
||||||
xTaskGenericNotify( ( xTaskToNotify ), ( uxIndexToNotify ), ( 0 ), eIncrement, NULL )
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -2352,13 +2384,11 @@ BaseType_t xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
||||||
* \defgroup vTaskNotifyGiveIndexedFromISR vTaskNotifyGiveIndexedFromISR
|
* \defgroup vTaskNotifyGiveIndexedFromISR vTaskNotifyGiveIndexedFromISR
|
||||||
* \ingroup TaskNotifications
|
* \ingroup TaskNotifications
|
||||||
*/
|
*/
|
||||||
void vTaskGenericNotifyGiveFromISR( TaskHandle_t xTaskToNotify,
|
void vTaskGenericNotifyGiveFromISR( TaskHandle_t xTaskToNotify,
|
||||||
UBaseType_t uxIndexToNotify,
|
UBaseType_t uxIndexToNotify,
|
||||||
BaseType_t * pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION;
|
BaseType_t * pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION;
|
||||||
#define vTaskNotifyGiveFromISR( xTaskToNotify, pxHigherPriorityTaskWoken ) \
|
#define vTaskNotifyGiveFromISR( xTaskToNotify, pxHigherPriorityTaskWoken ) vTaskGenericNotifyGiveFromISR( ( xTaskToNotify ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( pxHigherPriorityTaskWoken ) );
|
||||||
vTaskGenericNotifyGiveFromISR( ( xTaskToNotify ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( pxHigherPriorityTaskWoken ) );
|
#define vTaskNotifyGiveIndexedFromISR( xTaskToNotify, uxIndexToNotify, pxHigherPriorityTaskWoken ) vTaskGenericNotifyGiveFromISR( ( xTaskToNotify ), ( uxIndexToNotify ), ( pxHigherPriorityTaskWoken ) );
|
||||||
#define vTaskNotifyGiveIndexedFromISR( xTaskToNotify, uxIndexToNotify, pxHigherPriorityTaskWoken ) \
|
|
||||||
vTaskGenericNotifyGiveFromISR( ( xTaskToNotify ), ( uxIndexToNotify ), ( pxHigherPriorityTaskWoken ) );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -2455,13 +2485,11 @@ void vTaskGenericNotifyGiveFromISR( TaskHandle_t xTaskToNotify,
|
||||||
* \defgroup ulTaskNotifyTakeIndexed ulTaskNotifyTakeIndexed
|
* \defgroup ulTaskNotifyTakeIndexed ulTaskNotifyTakeIndexed
|
||||||
* \ingroup TaskNotifications
|
* \ingroup TaskNotifications
|
||||||
*/
|
*/
|
||||||
uint32_t ulTaskGenericNotifyTake( UBaseType_t uxIndexToWaitOn,
|
uint32_t ulTaskGenericNotifyTake( UBaseType_t uxIndexToWaitOn,
|
||||||
BaseType_t xClearCountOnExit,
|
BaseType_t xClearCountOnExit,
|
||||||
TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
|
TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
|
||||||
#define ulTaskNotifyTake( xClearCountOnExit, xTicksToWait ) \
|
#define ulTaskNotifyTake( xClearCountOnExit, xTicksToWait ) ulTaskGenericNotifyTake( ( tskDEFAULT_INDEX_TO_NOTIFY ), ( xClearCountOnExit ), ( xTicksToWait ) )
|
||||||
ulTaskGenericNotifyTake( ( tskDEFAULT_INDEX_TO_NOTIFY ), ( xClearCountOnExit ), ( xTicksToWait ) )
|
#define ulTaskNotifyTakeIndexed( uxIndexToWaitOn, xClearCountOnExit, xTicksToWait ) ulTaskGenericNotifyTake( ( uxIndexToNotify ), ( xClearCountOnExit ), ( xTicksToWait ) )
|
||||||
#define ulTaskNotifyTakeIndexed( uxIndexToWaitOn, xClearCountOnExit, xTicksToWait ) \
|
|
||||||
ulTaskGenericNotifyTake( ( uxIndexToNotify ), ( xClearCountOnExit ), ( xTicksToWait ) )
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -2517,12 +2545,10 @@ uint32_t ulTaskGenericNotifyTake( UBaseType_t uxIndexToWaitOn,
|
||||||
* \defgroup xTaskNotifyStateClearIndexed xTaskNotifyStateClearIndexed
|
* \defgroup xTaskNotifyStateClearIndexed xTaskNotifyStateClearIndexed
|
||||||
* \ingroup TaskNotifications
|
* \ingroup TaskNotifications
|
||||||
*/
|
*/
|
||||||
BaseType_t xTaskGenericNotifyStateClear( TaskHandle_t xTask,
|
BaseType_t xTaskGenericNotifyStateClear( TaskHandle_t xTask,
|
||||||
UBaseType_t uxIndexToClear ) PRIVILEGED_FUNCTION;
|
UBaseType_t uxIndexToClear ) PRIVILEGED_FUNCTION;
|
||||||
#define xTaskNotifyStateClear( xTask ) \
|
#define xTaskNotifyStateClear( xTask ) xTaskGenericNotifyStateClear( ( xTask ), ( tskDEFAULT_INDEX_TO_NOTIFY ) )
|
||||||
xTaskGenericNotifyStateClear( ( xTask ), ( tskDEFAULT_INDEX_TO_NOTIFY ) )
|
#define xTaskNotifyStateClearIndexed( xTask, uxIndexToClear ) xTaskGenericNotifyStateClear( ( xTask ), ( uxIndexToClear ) )
|
||||||
#define xTaskNotifyStateClearIndexed( xTask, uxIndexToClear ) \
|
|
||||||
xTaskGenericNotifyStateClear( ( xTask ), ( uxIndexToClear ) )
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -2579,13 +2605,11 @@ BaseType_t xTaskGenericNotifyStateClear( TaskHandle_t xTask,
|
||||||
* \defgroup ulTaskNotifyValueClear ulTaskNotifyValueClear
|
* \defgroup ulTaskNotifyValueClear ulTaskNotifyValueClear
|
||||||
* \ingroup TaskNotifications
|
* \ingroup TaskNotifications
|
||||||
*/
|
*/
|
||||||
uint32_t ulTaskGenericNotifyValueClear( TaskHandle_t xTask,
|
uint32_t ulTaskGenericNotifyValueClear( TaskHandle_t xTask,
|
||||||
UBaseType_t uxIndexToClear,
|
UBaseType_t uxIndexToClear,
|
||||||
uint32_t ulBitsToClear ) PRIVILEGED_FUNCTION;
|
uint32_t ulBitsToClear ) PRIVILEGED_FUNCTION;
|
||||||
#define ulTaskNotifyValueClear( xTask, ulBitsToClear ) \
|
#define ulTaskNotifyValueClear( xTask, ulBitsToClear ) ulTaskGenericNotifyValueClear( ( xTask ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( ulBitsToClear ) )
|
||||||
ulTaskGenericNotifyValueClear( ( xTask ), ( tskDEFAULT_INDEX_TO_NOTIFY ), ( ulBitsToClear ) )
|
#define ulTaskNotifyValueClearIndexed( xTask, uxIndexToClear, ulBitsToClear ) ulTaskGenericNotifyValueClear( ( xTask ), ( uxIndexToClear ), ( ulBitsToClear ) )
|
||||||
#define ulTaskNotifyValueClearIndexed( xTask, uxIndexToClear, ulBitsToClear ) \
|
|
||||||
ulTaskGenericNotifyValueClear( ( xTask ), ( uxIndexToClear ), ( ulBitsToClear ) )
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task.h
|
* task.h
|
||||||
|
@ -2599,7 +2623,7 @@ uint32_t ulTaskGenericNotifyValueClear( TaskHandle_t xTask,
|
||||||
* \defgroup vTaskSetTimeOutState vTaskSetTimeOutState
|
* \defgroup vTaskSetTimeOutState vTaskSetTimeOutState
|
||||||
* \ingroup TaskCtrl
|
* \ingroup TaskCtrl
|
||||||
*/
|
*/
|
||||||
void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) PRIVILEGED_FUNCTION;
|
void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task.h
|
* task.h
|
||||||
|
@ -2682,7 +2706,7 @@ void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) PRIVILEGED_FUNCTION;
|
||||||
* \defgroup xTaskCheckForTimeOut xTaskCheckForTimeOut
|
* \defgroup xTaskCheckForTimeOut xTaskCheckForTimeOut
|
||||||
* \ingroup TaskCtrl
|
* \ingroup TaskCtrl
|
||||||
*/
|
*/
|
||||||
BaseType_t xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut,
|
BaseType_t xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut,
|
||||||
TickType_t * const pxTicksToWait ) PRIVILEGED_FUNCTION;
|
TickType_t * const pxTicksToWait ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2709,7 +2733,7 @@ BaseType_t xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut,
|
||||||
* \defgroup xTaskCatchUpTicks xTaskCatchUpTicks
|
* \defgroup xTaskCatchUpTicks xTaskCatchUpTicks
|
||||||
* \ingroup TaskCtrl
|
* \ingroup TaskCtrl
|
||||||
*/
|
*/
|
||||||
BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp ) PRIVILEGED_FUNCTION;
|
BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------
|
/*-----------------------------------------------------------
|
||||||
|
@ -2731,7 +2755,7 @@ BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp ) PRIVILEGED_FUNCTION;
|
||||||
* + Time slicing is in use and there is a task of equal priority to the
|
* + Time slicing is in use and there is a task of equal priority to the
|
||||||
* currently running task.
|
* currently running task.
|
||||||
*/
|
*/
|
||||||
BaseType_t xTaskIncrementTick( void ) PRIVILEGED_FUNCTION;
|
BaseType_t xTaskIncrementTick( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* THIS FUNCTION MUST NOT BE USED FROM APPLICATION CODE. IT IS AN
|
* THIS FUNCTION MUST NOT BE USED FROM APPLICATION CODE. IT IS AN
|
||||||
|
@ -2764,9 +2788,9 @@ BaseType_t xTaskIncrementTick( void ) PRIVILEGED_FUNCTION;
|
||||||
* portTICK_PERIOD_MS can be used to convert kernel ticks into a real time
|
* portTICK_PERIOD_MS can be used to convert kernel ticks into a real time
|
||||||
* period.
|
* period.
|
||||||
*/
|
*/
|
||||||
void vTaskPlaceOnEventList( List_t * const pxEventList,
|
void vTaskPlaceOnEventList( List_t * const pxEventList,
|
||||||
const TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
|
const TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
|
||||||
void vTaskPlaceOnUnorderedEventList( List_t * pxEventList,
|
void vTaskPlaceOnUnorderedEventList( List_t * pxEventList,
|
||||||
const TickType_t xItemValue,
|
const TickType_t xItemValue,
|
||||||
const TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
|
const TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
|
@ -2781,7 +2805,7 @@ void vTaskPlaceOnUnorderedEventList( List_t * pxEventList,
|
||||||
* indefinitely, whereas vTaskPlaceOnEventList() does.
|
* indefinitely, whereas vTaskPlaceOnEventList() does.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void vTaskPlaceOnEventListRestricted( List_t * const pxEventList,
|
void vTaskPlaceOnEventListRestricted( List_t * const pxEventList,
|
||||||
TickType_t xTicksToWait,
|
TickType_t xTicksToWait,
|
||||||
const BaseType_t xWaitIndefinitely ) PRIVILEGED_FUNCTION;
|
const BaseType_t xWaitIndefinitely ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
|
@ -2809,8 +2833,8 @@ void vTaskPlaceOnEventListRestricted( List_t * const pxEventList,
|
||||||
* @return pdTRUE if the task being removed has a higher priority than the task
|
* @return pdTRUE if the task being removed has a higher priority than the task
|
||||||
* making the call, otherwise pdFALSE.
|
* making the call, otherwise pdFALSE.
|
||||||
*/
|
*/
|
||||||
BaseType_t xTaskRemoveFromEventList( const List_t * const pxEventList ) PRIVILEGED_FUNCTION;
|
BaseType_t xTaskRemoveFromEventList( const List_t * const pxEventList ) PRIVILEGED_FUNCTION;
|
||||||
void vTaskRemoveFromUnorderedEventList( ListItem_t * pxEventListItem,
|
void vTaskRemoveFromUnorderedEventList( ListItem_t * pxEventListItem,
|
||||||
const TickType_t xItemValue ) PRIVILEGED_FUNCTION;
|
const TickType_t xItemValue ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -2821,42 +2845,42 @@ void vTaskRemoveFromUnorderedEventList( ListItem_t * pxEventListItem,
|
||||||
* Sets the pointer to the current TCB to the TCB of the highest priority task
|
* Sets the pointer to the current TCB to the TCB of the highest priority task
|
||||||
* that is ready to run.
|
* that is ready to run.
|
||||||
*/
|
*/
|
||||||
portDONT_DISCARD void vTaskSwitchContext( void ) PRIVILEGED_FUNCTION;
|
portDONT_DISCARD void vTaskSwitchContext( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* THESE FUNCTIONS MUST NOT BE USED FROM APPLICATION CODE. THEY ARE USED BY
|
* THESE FUNCTIONS MUST NOT BE USED FROM APPLICATION CODE. THEY ARE USED BY
|
||||||
* THE EVENT BITS MODULE.
|
* THE EVENT BITS MODULE.
|
||||||
*/
|
*/
|
||||||
TickType_t uxTaskResetEventItemValue( void ) PRIVILEGED_FUNCTION;
|
TickType_t uxTaskResetEventItemValue( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return the handle of the calling task.
|
* Return the handle of the calling task.
|
||||||
*/
|
*/
|
||||||
TaskHandle_t xTaskGetCurrentTaskHandle( void ) PRIVILEGED_FUNCTION;
|
TaskHandle_t xTaskGetCurrentTaskHandle( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Shortcut used by the queue implementation to prevent unnecessary call to
|
* Shortcut used by the queue implementation to prevent unnecessary call to
|
||||||
* taskYIELD();
|
* taskYIELD();
|
||||||
*/
|
*/
|
||||||
void vTaskMissedYield( void ) PRIVILEGED_FUNCTION;
|
void vTaskMissedYield( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Returns the scheduler state as taskSCHEDULER_RUNNING,
|
* Returns the scheduler state as taskSCHEDULER_RUNNING,
|
||||||
* taskSCHEDULER_NOT_STARTED or taskSCHEDULER_SUSPENDED.
|
* taskSCHEDULER_NOT_STARTED or taskSCHEDULER_SUSPENDED.
|
||||||
*/
|
*/
|
||||||
BaseType_t xTaskGetSchedulerState( void ) PRIVILEGED_FUNCTION;
|
BaseType_t xTaskGetSchedulerState( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Raises the priority of the mutex holder to that of the calling task should
|
* Raises the priority of the mutex holder to that of the calling task should
|
||||||
* the mutex holder have a priority less than the calling task.
|
* the mutex holder have a priority less than the calling task.
|
||||||
*/
|
*/
|
||||||
BaseType_t xTaskPriorityInherit( TaskHandle_t const pxMutexHolder ) PRIVILEGED_FUNCTION;
|
BaseType_t xTaskPriorityInherit( TaskHandle_t const pxMutexHolder ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set the priority of a task back to its proper priority in the case that it
|
* Set the priority of a task back to its proper priority in the case that it
|
||||||
* inherited a higher priority while it was holding a semaphore.
|
* inherited a higher priority while it was holding a semaphore.
|
||||||
*/
|
*/
|
||||||
BaseType_t xTaskPriorityDisinherit( TaskHandle_t const pxMutexHolder ) PRIVILEGED_FUNCTION;
|
BaseType_t xTaskPriorityDisinherit( TaskHandle_t const pxMutexHolder ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If a higher priority task attempting to obtain a mutex caused a lower
|
* If a higher priority task attempting to obtain a mutex caused a lower
|
||||||
|
@ -2866,19 +2890,19 @@ BaseType_t xTaskPriorityDisinherit( TaskHandle_t const pxMutexHolder ) PRIVILEGE
|
||||||
* the highest priority task that is still waiting for the mutex (if there were
|
* the highest priority task that is still waiting for the mutex (if there were
|
||||||
* more than one task waiting for the mutex).
|
* more than one task waiting for the mutex).
|
||||||
*/
|
*/
|
||||||
void vTaskPriorityDisinheritAfterTimeout( TaskHandle_t const pxMutexHolder,
|
void vTaskPriorityDisinheritAfterTimeout( TaskHandle_t const pxMutexHolder,
|
||||||
UBaseType_t uxHighestPriorityWaitingTask ) PRIVILEGED_FUNCTION;
|
UBaseType_t uxHighestPriorityWaitingTask ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get the uxTCBNumber assigned to the task referenced by the xTask parameter.
|
* Get the uxTCBNumber assigned to the task referenced by the xTask parameter.
|
||||||
*/
|
*/
|
||||||
UBaseType_t uxTaskGetTaskNumber( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
UBaseType_t uxTaskGetTaskNumber( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set the uxTaskNumber of the task referenced by the xTask parameter to
|
* Set the uxTaskNumber of the task referenced by the xTask parameter to
|
||||||
* uxHandle.
|
* uxHandle.
|
||||||
*/
|
*/
|
||||||
void vTaskSetTaskNumber( TaskHandle_t xTask,
|
void vTaskSetTaskNumber( TaskHandle_t xTask,
|
||||||
const UBaseType_t uxHandle ) PRIVILEGED_FUNCTION;
|
const UBaseType_t uxHandle ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -2889,7 +2913,7 @@ void vTaskSetTaskNumber( TaskHandle_t xTask,
|
||||||
* to date with the actual execution time by being skipped forward by a time
|
* to date with the actual execution time by being skipped forward by a time
|
||||||
* equal to the idle period.
|
* equal to the idle period.
|
||||||
*/
|
*/
|
||||||
void vTaskStepTick( const TickType_t xTicksToJump ) PRIVILEGED_FUNCTION;
|
void vTaskStepTick( const TickType_t xTicksToJump ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Only available when configUSE_TICKLESS_IDLE is set to 1.
|
* Only available when configUSE_TICKLESS_IDLE is set to 1.
|
||||||
|
@ -2905,24 +2929,22 @@ void vTaskStepTick( const TickType_t xTicksToJump ) PRIVILEGED_FUNCTION;
|
||||||
* critical section between the timer being stopped and the sleep mode being
|
* critical section between the timer being stopped and the sleep mode being
|
||||||
* entered to ensure it is ok to proceed into the sleep mode.
|
* entered to ensure it is ok to proceed into the sleep mode.
|
||||||
*/
|
*/
|
||||||
eSleepModeStatus eTaskConfirmSleepModeStatus( void ) PRIVILEGED_FUNCTION;
|
eSleepModeStatus eTaskConfirmSleepModeStatus( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* For internal use only. Increment the mutex held count when a mutex is
|
* For internal use only. Increment the mutex held count when a mutex is
|
||||||
* taken and return the handle of the task that has taken the mutex.
|
* taken and return the handle of the task that has taken the mutex.
|
||||||
*/
|
*/
|
||||||
TaskHandle_t pvTaskIncrementMutexHeldCount( void ) PRIVILEGED_FUNCTION;
|
TaskHandle_t pvTaskIncrementMutexHeldCount( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* For internal use only. Same as vTaskSetTimeOutState(), but without a critial
|
* For internal use only. Same as vTaskSetTimeOutState(), but without a critial
|
||||||
* section.
|
* section.
|
||||||
*/
|
*/
|
||||||
void vTaskInternalSetTimeOutState( TimeOut_t * const pxTimeOut ) PRIVILEGED_FUNCTION;
|
void vTaskInternalSetTimeOutState( TimeOut_t * const pxTimeOut ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
|
|
||||||
/* *INDENT-OFF* */
|
#ifdef __cplusplus
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
/* *INDENT-ON* */
|
|
||||||
#endif /* INC_TASK_H */
|
#endif /* INC_TASK_H */
|
||||||
|
|
133
include/timers.h
133
include/timers.h
|
@ -26,22 +26,20 @@
|
||||||
|
|
||||||
|
|
||||||
#ifndef TIMERS_H
|
#ifndef TIMERS_H
|
||||||
#define TIMERS_H
|
#define TIMERS_H
|
||||||
|
|
||||||
#ifndef INC_FREERTOS_H
|
#ifndef INC_FREERTOS_H
|
||||||
#error "include FreeRTOS.h must appear in source files before include timers.h"
|
#error "include FreeRTOS.h must appear in source files before include timers.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*lint -save -e537 This headers are only multiply included if the application code
|
/*lint -save -e537 This headers are only multiply included if the application code
|
||||||
* happens to also be including task.h. */
|
* happens to also be including task.h. */
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
/*lint -restore */
|
/*lint -restore */
|
||||||
|
|
||||||
/* *INDENT-OFF* */
|
#ifdef __cplusplus
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
/* *INDENT-ON* */
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------
|
/*-----------------------------------------------------------
|
||||||
* MACROS AND DEFINITIONS
|
* MACROS AND DEFINITIONS
|
||||||
|
@ -52,20 +50,20 @@
|
||||||
* as defined below. The commands that are sent from interrupts must use the
|
* as defined below. The commands that are sent from interrupts must use the
|
||||||
* highest numbers as tmrFIRST_FROM_ISR_COMMAND is used to determine if the task
|
* highest numbers as tmrFIRST_FROM_ISR_COMMAND is used to determine if the task
|
||||||
* or interrupt version of the queue send function should be used. */
|
* or interrupt version of the queue send function should be used. */
|
||||||
#define tmrCOMMAND_EXECUTE_CALLBACK_FROM_ISR ( ( BaseType_t ) -2 )
|
#define tmrCOMMAND_EXECUTE_CALLBACK_FROM_ISR ( ( BaseType_t ) -2 )
|
||||||
#define tmrCOMMAND_EXECUTE_CALLBACK ( ( BaseType_t ) -1 )
|
#define tmrCOMMAND_EXECUTE_CALLBACK ( ( BaseType_t ) -1 )
|
||||||
#define tmrCOMMAND_START_DONT_TRACE ( ( BaseType_t ) 0 )
|
#define tmrCOMMAND_START_DONT_TRACE ( ( BaseType_t ) 0 )
|
||||||
#define tmrCOMMAND_START ( ( BaseType_t ) 1 )
|
#define tmrCOMMAND_START ( ( BaseType_t ) 1 )
|
||||||
#define tmrCOMMAND_RESET ( ( BaseType_t ) 2 )
|
#define tmrCOMMAND_RESET ( ( BaseType_t ) 2 )
|
||||||
#define tmrCOMMAND_STOP ( ( BaseType_t ) 3 )
|
#define tmrCOMMAND_STOP ( ( BaseType_t ) 3 )
|
||||||
#define tmrCOMMAND_CHANGE_PERIOD ( ( BaseType_t ) 4 )
|
#define tmrCOMMAND_CHANGE_PERIOD ( ( BaseType_t ) 4 )
|
||||||
#define tmrCOMMAND_DELETE ( ( BaseType_t ) 5 )
|
#define tmrCOMMAND_DELETE ( ( BaseType_t ) 5 )
|
||||||
|
|
||||||
#define tmrFIRST_FROM_ISR_COMMAND ( ( BaseType_t ) 6 )
|
#define tmrFIRST_FROM_ISR_COMMAND ( ( BaseType_t ) 6 )
|
||||||
#define tmrCOMMAND_START_FROM_ISR ( ( BaseType_t ) 6 )
|
#define tmrCOMMAND_START_FROM_ISR ( ( BaseType_t ) 6 )
|
||||||
#define tmrCOMMAND_RESET_FROM_ISR ( ( BaseType_t ) 7 )
|
#define tmrCOMMAND_RESET_FROM_ISR ( ( BaseType_t ) 7 )
|
||||||
#define tmrCOMMAND_STOP_FROM_ISR ( ( BaseType_t ) 8 )
|
#define tmrCOMMAND_STOP_FROM_ISR ( ( BaseType_t ) 8 )
|
||||||
#define tmrCOMMAND_CHANGE_PERIOD_FROM_ISR ( ( BaseType_t ) 9 )
|
#define tmrCOMMAND_CHANGE_PERIOD_FROM_ISR ( ( BaseType_t ) 9 )
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -74,19 +72,19 @@
|
||||||
* reference the subject timer in calls to other software timer API functions
|
* reference the subject timer in calls to other software timer API functions
|
||||||
* (for example, xTimerStart(), xTimerReset(), etc.).
|
* (for example, xTimerStart(), xTimerReset(), etc.).
|
||||||
*/
|
*/
|
||||||
struct tmrTimerControl; /* The old naming convention is used to prevent breaking kernel aware debuggers. */
|
struct tmrTimerControl; /* The old naming convention is used to prevent breaking kernel aware debuggers. */
|
||||||
typedef struct tmrTimerControl * TimerHandle_t;
|
typedef struct tmrTimerControl * TimerHandle_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Defines the prototype to which timer callback functions must conform.
|
* Defines the prototype to which timer callback functions must conform.
|
||||||
*/
|
*/
|
||||||
typedef void (* TimerCallbackFunction_t)( TimerHandle_t xTimer );
|
typedef void (* TimerCallbackFunction_t)( TimerHandle_t xTimer );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Defines the prototype to which functions used with the
|
* Defines the prototype to which functions used with the
|
||||||
* xTimerPendFunctionCallFromISR() function must conform.
|
* xTimerPendFunctionCallFromISR() function must conform.
|
||||||
*/
|
*/
|
||||||
typedef void (* PendedFunction_t)( void *,
|
typedef void (* PendedFunction_t)( void *,
|
||||||
uint32_t );
|
uint32_t );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -226,13 +224,13 @@ typedef void (* PendedFunction_t)( void *,
|
||||||
* }
|
* }
|
||||||
* @endverbatim
|
* @endverbatim
|
||||||
*/
|
*/
|
||||||
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
|
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
|
||||||
TimerHandle_t xTimerCreate( const char * const pcTimerName, /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
TimerHandle_t xTimerCreate( const char * const pcTimerName, /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
||||||
const TickType_t xTimerPeriodInTicks,
|
const TickType_t xTimerPeriodInTicks,
|
||||||
const UBaseType_t uxAutoReload,
|
const UBaseType_t uxAutoReload,
|
||||||
void * const pvTimerID,
|
void * const pvTimerID,
|
||||||
TimerCallbackFunction_t pxCallbackFunction ) PRIVILEGED_FUNCTION;
|
TimerCallbackFunction_t pxCallbackFunction ) PRIVILEGED_FUNCTION;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TimerHandle_t xTimerCreateStatic(const char * const pcTimerName,
|
* TimerHandle_t xTimerCreateStatic(const char * const pcTimerName,
|
||||||
|
@ -356,14 +354,14 @@ typedef void (* PendedFunction_t)( void *,
|
||||||
* }
|
* }
|
||||||
* @endverbatim
|
* @endverbatim
|
||||||
*/
|
*/
|
||||||
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
|
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
|
||||||
TimerHandle_t xTimerCreateStatic( const char * const pcTimerName, /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
TimerHandle_t xTimerCreateStatic( const char * const pcTimerName, /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
||||||
const TickType_t xTimerPeriodInTicks,
|
const TickType_t xTimerPeriodInTicks,
|
||||||
const UBaseType_t uxAutoReload,
|
const UBaseType_t uxAutoReload,
|
||||||
void * const pvTimerID,
|
void * const pvTimerID,
|
||||||
TimerCallbackFunction_t pxCallbackFunction,
|
TimerCallbackFunction_t pxCallbackFunction,
|
||||||
StaticTimer_t * pxTimerBuffer ) PRIVILEGED_FUNCTION;
|
StaticTimer_t * pxTimerBuffer ) PRIVILEGED_FUNCTION;
|
||||||
#endif /* configSUPPORT_STATIC_ALLOCATION */
|
#endif /* configSUPPORT_STATIC_ALLOCATION */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* void *pvTimerGetTimerID( TimerHandle_t xTimer );
|
* void *pvTimerGetTimerID( TimerHandle_t xTimer );
|
||||||
|
@ -385,7 +383,7 @@ typedef void (* PendedFunction_t)( void *,
|
||||||
*
|
*
|
||||||
* See the xTimerCreate() API function example usage scenario.
|
* See the xTimerCreate() API function example usage scenario.
|
||||||
*/
|
*/
|
||||||
void * pvTimerGetTimerID( const TimerHandle_t xTimer ) PRIVILEGED_FUNCTION;
|
void * pvTimerGetTimerID( const TimerHandle_t xTimer ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* void vTimerSetTimerID( TimerHandle_t xTimer, void *pvNewID );
|
* void vTimerSetTimerID( TimerHandle_t xTimer, void *pvNewID );
|
||||||
|
@ -406,7 +404,7 @@ void * pvTimerGetTimerID( const TimerHandle_t xTimer ) PRIVILEGED_FUNCTION;
|
||||||
*
|
*
|
||||||
* See the xTimerCreate() API function example usage scenario.
|
* See the xTimerCreate() API function example usage scenario.
|
||||||
*/
|
*/
|
||||||
void vTimerSetTimerID( TimerHandle_t xTimer,
|
void vTimerSetTimerID( TimerHandle_t xTimer,
|
||||||
void * pvNewID ) PRIVILEGED_FUNCTION;
|
void * pvNewID ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -444,7 +442,7 @@ void vTimerSetTimerID( TimerHandle_t xTimer,
|
||||||
* }
|
* }
|
||||||
* @endverbatim
|
* @endverbatim
|
||||||
*/
|
*/
|
||||||
BaseType_t xTimerIsTimerActive( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION;
|
BaseType_t xTimerIsTimerActive( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TaskHandle_t xTimerGetTimerDaemonTaskHandle( void );
|
* TaskHandle_t xTimerGetTimerDaemonTaskHandle( void );
|
||||||
|
@ -452,7 +450,7 @@ BaseType_t xTimerIsTimerActive( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION;
|
||||||
* Simply returns the handle of the timer service/daemon task. It it not valid
|
* Simply returns the handle of the timer service/daemon task. It it not valid
|
||||||
* to call xTimerGetTimerDaemonTaskHandle() before the scheduler has been started.
|
* to call xTimerGetTimerDaemonTaskHandle() before the scheduler has been started.
|
||||||
*/
|
*/
|
||||||
TaskHandle_t xTimerGetTimerDaemonTaskHandle( void ) PRIVILEGED_FUNCTION;
|
TaskHandle_t xTimerGetTimerDaemonTaskHandle( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* BaseType_t xTimerStart( TimerHandle_t xTimer, TickType_t xTicksToWait );
|
* BaseType_t xTimerStart( TimerHandle_t xTimer, TickType_t xTicksToWait );
|
||||||
|
@ -504,8 +502,7 @@ TaskHandle_t xTimerGetTimerDaemonTaskHandle( void ) PRIVILEGED_FUNCTION;
|
||||||
* See the xTimerCreate() API function example usage scenario.
|
* See the xTimerCreate() API function example usage scenario.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define xTimerStart( xTimer, xTicksToWait ) \
|
#define xTimerStart( xTimer, xTicksToWait ) xTimerGenericCommand( ( xTimer ), tmrCOMMAND_START, ( xTaskGetTickCount() ), NULL, ( xTicksToWait ) )
|
||||||
xTimerGenericCommand( ( xTimer ), tmrCOMMAND_START, ( xTaskGetTickCount() ), NULL, ( xTicksToWait ) )
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* BaseType_t xTimerStop( TimerHandle_t xTimer, TickType_t xTicksToWait );
|
* BaseType_t xTimerStop( TimerHandle_t xTimer, TickType_t xTicksToWait );
|
||||||
|
@ -547,8 +544,7 @@ TaskHandle_t xTimerGetTimerDaemonTaskHandle( void ) PRIVILEGED_FUNCTION;
|
||||||
* See the xTimerCreate() API function example usage scenario.
|
* See the xTimerCreate() API function example usage scenario.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define xTimerStop( xTimer, xTicksToWait ) \
|
#define xTimerStop( xTimer, xTicksToWait ) xTimerGenericCommand( ( xTimer ), tmrCOMMAND_STOP, 0U, NULL, ( xTicksToWait ) )
|
||||||
xTimerGenericCommand( ( xTimer ), tmrCOMMAND_STOP, 0U, NULL, ( xTicksToWait ) )
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* BaseType_t xTimerChangePeriod( TimerHandle_t xTimer,
|
* BaseType_t xTimerChangePeriod( TimerHandle_t xTimer,
|
||||||
|
@ -628,8 +624,7 @@ TaskHandle_t xTimerGetTimerDaemonTaskHandle( void ) PRIVILEGED_FUNCTION;
|
||||||
* }
|
* }
|
||||||
* @endverbatim
|
* @endverbatim
|
||||||
*/
|
*/
|
||||||
#define xTimerChangePeriod( xTimer, xNewPeriod, xTicksToWait ) \
|
#define xTimerChangePeriod( xTimer, xNewPeriod, xTicksToWait ) xTimerGenericCommand( ( xTimer ), tmrCOMMAND_CHANGE_PERIOD, ( xNewPeriod ), NULL, ( xTicksToWait ) )
|
||||||
xTimerGenericCommand( ( xTimer ), tmrCOMMAND_CHANGE_PERIOD, ( xNewPeriod ), NULL, ( xTicksToWait ) )
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* BaseType_t xTimerDelete( TimerHandle_t xTimer, TickType_t xTicksToWait );
|
* BaseType_t xTimerDelete( TimerHandle_t xTimer, TickType_t xTicksToWait );
|
||||||
|
@ -667,8 +662,7 @@ TaskHandle_t xTimerGetTimerDaemonTaskHandle( void ) PRIVILEGED_FUNCTION;
|
||||||
*
|
*
|
||||||
* See the xTimerChangePeriod() API function example usage scenario.
|
* See the xTimerChangePeriod() API function example usage scenario.
|
||||||
*/
|
*/
|
||||||
#define xTimerDelete( xTimer, xTicksToWait ) \
|
#define xTimerDelete( xTimer, xTicksToWait ) xTimerGenericCommand( ( xTimer ), tmrCOMMAND_DELETE, 0U, NULL, ( xTicksToWait ) )
|
||||||
xTimerGenericCommand( ( xTimer ), tmrCOMMAND_DELETE, 0U, NULL, ( xTicksToWait ) )
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* BaseType_t xTimerReset( TimerHandle_t xTimer, TickType_t xTicksToWait );
|
* BaseType_t xTimerReset( TimerHandle_t xTimer, TickType_t xTicksToWait );
|
||||||
|
@ -792,8 +786,7 @@ TaskHandle_t xTimerGetTimerDaemonTaskHandle( void ) PRIVILEGED_FUNCTION;
|
||||||
* }
|
* }
|
||||||
* @endverbatim
|
* @endverbatim
|
||||||
*/
|
*/
|
||||||
#define xTimerReset( xTimer, xTicksToWait ) \
|
#define xTimerReset( xTimer, xTicksToWait ) xTimerGenericCommand( ( xTimer ), tmrCOMMAND_RESET, ( xTaskGetTickCount() ), NULL, ( xTicksToWait ) )
|
||||||
xTimerGenericCommand( ( xTimer ), tmrCOMMAND_RESET, ( xTaskGetTickCount() ), NULL, ( xTicksToWait ) )
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* BaseType_t xTimerStartFromISR( TimerHandle_t xTimer,
|
* BaseType_t xTimerStartFromISR( TimerHandle_t xTimer,
|
||||||
|
@ -879,8 +872,7 @@ TaskHandle_t xTimerGetTimerDaemonTaskHandle( void ) PRIVILEGED_FUNCTION;
|
||||||
* }
|
* }
|
||||||
* @endverbatim
|
* @endverbatim
|
||||||
*/
|
*/
|
||||||
#define xTimerStartFromISR( xTimer, pxHigherPriorityTaskWoken ) \
|
#define xTimerStartFromISR( xTimer, pxHigherPriorityTaskWoken ) xTimerGenericCommand( ( xTimer ), tmrCOMMAND_START_FROM_ISR, ( xTaskGetTickCountFromISR() ), ( pxHigherPriorityTaskWoken ), 0U )
|
||||||
xTimerGenericCommand( ( xTimer ), tmrCOMMAND_START_FROM_ISR, ( xTaskGetTickCountFromISR() ), ( pxHigherPriorityTaskWoken ), 0U )
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* BaseType_t xTimerStopFromISR( TimerHandle_t xTimer,
|
* BaseType_t xTimerStopFromISR( TimerHandle_t xTimer,
|
||||||
|
@ -943,8 +935,7 @@ TaskHandle_t xTimerGetTimerDaemonTaskHandle( void ) PRIVILEGED_FUNCTION;
|
||||||
* }
|
* }
|
||||||
* @endverbatim
|
* @endverbatim
|
||||||
*/
|
*/
|
||||||
#define xTimerStopFromISR( xTimer, pxHigherPriorityTaskWoken ) \
|
#define xTimerStopFromISR( xTimer, pxHigherPriorityTaskWoken ) xTimerGenericCommand( ( xTimer ), tmrCOMMAND_STOP_FROM_ISR, 0, ( pxHigherPriorityTaskWoken ), 0U )
|
||||||
xTimerGenericCommand( ( xTimer ), tmrCOMMAND_STOP_FROM_ISR, 0, ( pxHigherPriorityTaskWoken ), 0U )
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* BaseType_t xTimerChangePeriodFromISR( TimerHandle_t xTimer,
|
* BaseType_t xTimerChangePeriodFromISR( TimerHandle_t xTimer,
|
||||||
|
@ -1017,8 +1008,7 @@ TaskHandle_t xTimerGetTimerDaemonTaskHandle( void ) PRIVILEGED_FUNCTION;
|
||||||
* }
|
* }
|
||||||
* @endverbatim
|
* @endverbatim
|
||||||
*/
|
*/
|
||||||
#define xTimerChangePeriodFromISR( xTimer, xNewPeriod, pxHigherPriorityTaskWoken ) \
|
#define xTimerChangePeriodFromISR( xTimer, xNewPeriod, pxHigherPriorityTaskWoken ) xTimerGenericCommand( ( xTimer ), tmrCOMMAND_CHANGE_PERIOD_FROM_ISR, ( xNewPeriod ), ( pxHigherPriorityTaskWoken ), 0U )
|
||||||
xTimerGenericCommand( ( xTimer ), tmrCOMMAND_CHANGE_PERIOD_FROM_ISR, ( xNewPeriod ), ( pxHigherPriorityTaskWoken ), 0U )
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* BaseType_t xTimerResetFromISR( TimerHandle_t xTimer,
|
* BaseType_t xTimerResetFromISR( TimerHandle_t xTimer,
|
||||||
|
@ -1104,8 +1094,7 @@ TaskHandle_t xTimerGetTimerDaemonTaskHandle( void ) PRIVILEGED_FUNCTION;
|
||||||
* }
|
* }
|
||||||
* @endverbatim
|
* @endverbatim
|
||||||
*/
|
*/
|
||||||
#define xTimerResetFromISR( xTimer, pxHigherPriorityTaskWoken ) \
|
#define xTimerResetFromISR( xTimer, pxHigherPriorityTaskWoken ) xTimerGenericCommand( ( xTimer ), tmrCOMMAND_RESET_FROM_ISR, ( xTaskGetTickCountFromISR() ), ( pxHigherPriorityTaskWoken ), 0U )
|
||||||
xTimerGenericCommand( ( xTimer ), tmrCOMMAND_RESET_FROM_ISR, ( xTaskGetTickCountFromISR() ), ( pxHigherPriorityTaskWoken ), 0U )
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1196,7 +1185,7 @@ TaskHandle_t xTimerGetTimerDaemonTaskHandle( void ) PRIVILEGED_FUNCTION;
|
||||||
* }
|
* }
|
||||||
* @endverbatim
|
* @endverbatim
|
||||||
*/
|
*/
|
||||||
BaseType_t xTimerPendFunctionCallFromISR( PendedFunction_t xFunctionToPend,
|
BaseType_t xTimerPendFunctionCallFromISR( PendedFunction_t xFunctionToPend,
|
||||||
void * pvParameter1,
|
void * pvParameter1,
|
||||||
uint32_t ulParameter2,
|
uint32_t ulParameter2,
|
||||||
BaseType_t * pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION;
|
BaseType_t * pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION;
|
||||||
|
@ -1233,7 +1222,7 @@ BaseType_t xTimerPendFunctionCallFromISR( PendedFunction_t xFunctionToPend,
|
||||||
* timer daemon task, otherwise pdFALSE is returned.
|
* timer daemon task, otherwise pdFALSE is returned.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
BaseType_t xTimerPendFunctionCall( PendedFunction_t xFunctionToPend,
|
BaseType_t xTimerPendFunctionCall( PendedFunction_t xFunctionToPend,
|
||||||
void * pvParameter1,
|
void * pvParameter1,
|
||||||
uint32_t ulParameter2,
|
uint32_t ulParameter2,
|
||||||
TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
|
TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
|
||||||
|
@ -1247,7 +1236,7 @@ BaseType_t xTimerPendFunctionCall( PendedFunction_t xFunctionToPend,
|
||||||
*
|
*
|
||||||
* @return The name assigned to the timer specified by the xTimer parameter.
|
* @return The name assigned to the timer specified by the xTimer parameter.
|
||||||
*/
|
*/
|
||||||
const char * pcTimerGetName( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
const char * pcTimerGetName( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* void vTimerSetReloadMode( TimerHandle_t xTimer, const UBaseType_t uxAutoReload );
|
* void vTimerSetReloadMode( TimerHandle_t xTimer, const UBaseType_t uxAutoReload );
|
||||||
|
@ -1264,7 +1253,7 @@ const char * pcTimerGetName( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION; /*lint
|
||||||
* uxAutoReload is set to pdFALSE then the timer will be a one-shot timer and
|
* uxAutoReload is set to pdFALSE then the timer will be a one-shot timer and
|
||||||
* enter the dormant state after it expires.
|
* enter the dormant state after it expires.
|
||||||
*/
|
*/
|
||||||
void vTimerSetReloadMode( TimerHandle_t xTimer,
|
void vTimerSetReloadMode( TimerHandle_t xTimer,
|
||||||
const UBaseType_t uxAutoReload ) PRIVILEGED_FUNCTION;
|
const UBaseType_t uxAutoReload ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1279,7 +1268,7 @@ void vTimerSetReloadMode( TimerHandle_t xTimer,
|
||||||
* @return If the timer is an auto-reload timer then pdTRUE is returned, otherwise
|
* @return If the timer is an auto-reload timer then pdTRUE is returned, otherwise
|
||||||
* pdFALSE is returned.
|
* pdFALSE is returned.
|
||||||
*/
|
*/
|
||||||
UBaseType_t uxTimerGetReloadMode( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION;
|
UBaseType_t uxTimerGetReloadMode( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TickType_t xTimerGetPeriod( TimerHandle_t xTimer );
|
* TickType_t xTimerGetPeriod( TimerHandle_t xTimer );
|
||||||
|
@ -1290,7 +1279,7 @@ UBaseType_t uxTimerGetReloadMode( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION;
|
||||||
*
|
*
|
||||||
* @return The period of the timer in ticks.
|
* @return The period of the timer in ticks.
|
||||||
*/
|
*/
|
||||||
TickType_t xTimerGetPeriod( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION;
|
TickType_t xTimerGetPeriod( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TickType_t xTimerGetExpiryTime( TimerHandle_t xTimer );
|
* TickType_t xTimerGetExpiryTime( TimerHandle_t xTimer );
|
||||||
|
@ -1305,28 +1294,40 @@ TickType_t xTimerGetPeriod( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION;
|
||||||
* will next expire is returned. If the timer is not running then the return
|
* will next expire is returned. If the timer is not running then the return
|
||||||
* value is undefined.
|
* value is undefined.
|
||||||
*/
|
*/
|
||||||
TickType_t xTimerGetExpiryTime( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION;
|
TickType_t xTimerGetExpiryTime( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
|
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
|
||||||
|
|
||||||
|
/* If static allocation is supported then the application must provide the
|
||||||
|
* following callback function - which enables the application to optionally
|
||||||
|
* provide the memory that will be used by the timer task as the task's stack
|
||||||
|
* and TCB.
|
||||||
|
* https://www.freertos.org/a00110.html#configSUPPORT_STATIC_ALLOCATION
|
||||||
|
*/
|
||||||
|
void vApplicationGetTimerTaskMemory( StaticTask_t ** ppxTimerTaskTCBBuffer,
|
||||||
|
StackType_t ** ppxTimerTaskStackBuffer,
|
||||||
|
uint32_t * pulTimerTaskStackSize );
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Functions beyond this part are not part of the public API and are intended
|
* Functions beyond this part are not part of the public API and are intended
|
||||||
* for use by the kernel only.
|
* for use by the kernel only.
|
||||||
*/
|
*/
|
||||||
BaseType_t xTimerCreateTimerTask( void ) PRIVILEGED_FUNCTION;
|
BaseType_t xTimerCreateTimerTask( void ) PRIVILEGED_FUNCTION;
|
||||||
BaseType_t xTimerGenericCommand( TimerHandle_t xTimer,
|
BaseType_t xTimerGenericCommand( TimerHandle_t xTimer,
|
||||||
const BaseType_t xCommandID,
|
const BaseType_t xCommandID,
|
||||||
const TickType_t xOptionalValue,
|
const TickType_t xOptionalValue,
|
||||||
BaseType_t * const pxHigherPriorityTaskWoken,
|
BaseType_t * const pxHigherPriorityTaskWoken,
|
||||||
const TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
|
const TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
#if ( configUSE_TRACE_FACILITY == 1 )
|
#if ( configUSE_TRACE_FACILITY == 1 )
|
||||||
void vTimerSetTimerNumber( TimerHandle_t xTimer,
|
void vTimerSetTimerNumber( TimerHandle_t xTimer,
|
||||||
UBaseType_t uxTimerNumber ) PRIVILEGED_FUNCTION;
|
UBaseType_t uxTimerNumber ) PRIVILEGED_FUNCTION;
|
||||||
UBaseType_t uxTimerGetTimerNumber( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION;
|
UBaseType_t uxTimerGetTimerNumber( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* *INDENT-OFF* */
|
#ifdef __cplusplus
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
/* *INDENT-ON* */
|
|
||||||
#endif /* TIMERS_H */
|
#endif /* TIMERS_H */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue