mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-05-21 01:17:57 +08:00
Recently vTaskDelayUntil() was updated to xTaskDelayUntil() because the function now returns a value. The PR didn't make the same change in the MPU port, or update the constants required to include the xTaskDelayUntil() function in the build. (#199)
This PR: Changes the INCLUDE_vTaskDelayUntil compile time constant to INCLUDE_xTaskDelayUntil. Updates FreeRTOS.h to ensure backward compatibility for projects that already have INCLUDE_vTaskDelayUntil defined. Updates the MPU prototypes, wrapper and implementation to use the updated xTaskDelayUntil() function. Tests to be checked into the FreeRTOS/FreeRTOS repository after this PR.
This commit is contained in:
@ -750,7 +750,7 @@ void vTaskDelete( TaskHandle_t xTaskToDelete ) PRIVILEGED_FUNCTION;
|
||||
* of controlling the frequency of a periodic task as the path taken through the
|
||||
* code, as well as other task and interrupt activity, will effect the frequency
|
||||
* at which vTaskDelay() gets called and therefore the time at which the task
|
||||
* next executes. See vTaskDelayUntil() for an alternative API function designed
|
||||
* next executes. See xTaskDelayUntil() for an alternative API function designed
|
||||
* to facilitate fixed frequency execution. It does this by specifying an
|
||||
* absolute time (rather than a relative time) at which the calling task should
|
||||
* unblock.
|
||||
@ -784,7 +784,7 @@ void vTaskDelay( const TickType_t xTicksToDelay ) PRIVILEGED_FUNCTION;
|
||||
* BaseType_t xTaskDelayUntil( TickType_t *pxPreviousWakeTime, const TickType_t xTimeIncrement );
|
||||
* </pre>
|
||||
*
|
||||
* INCLUDE_vTaskDelayUntil must be defined as 1 for this function to be available.
|
||||
* INCLUDE_xTaskDelayUntil must be defined as 1 for this function to be available.
|
||||
* See the configuration section for more information.
|
||||
*
|
||||
* Delay a task until a specified time. This function can be used by periodic
|
||||
@ -802,8 +802,8 @@ void vTaskDelay( const TickType_t xTicksToDelay ) PRIVILEGED_FUNCTION;
|
||||
* is called, xTaskDelayUntil () specifies the absolute (exact) time at which it wishes to
|
||||
* unblock.
|
||||
*
|
||||
* The constant portTICK_PERIOD_MS can be used to calculate real time from the tick
|
||||
* rate - with the resolution of one tick period.
|
||||
* The macro pdMS_TO_TICKS() can be used to calculate the number of ticks from a
|
||||
* time specified in milliseconds with a resolution of one tick period.
|
||||
*
|
||||
* @param pxPreviousWakeTime Pointer to a variable that holds the time at which the
|
||||
* task was last unblocked. The variable must be initialised with the current time
|
||||
@ -846,6 +846,10 @@ void vTaskDelay( const TickType_t xTicksToDelay ) PRIVILEGED_FUNCTION;
|
||||
BaseType_t xTaskDelayUntil( TickType_t * const pxPreviousWakeTime,
|
||||
const TickType_t xTimeIncrement ) PRIVILEGED_FUNCTION;
|
||||
|
||||
/*
|
||||
* vTaskDelayUntil() is the older version of xTaskDelayUntil() and does not
|
||||
* return a value.
|
||||
*/
|
||||
#define vTaskDelayUntil( pxPreviousWakeTime, xTimeIncrement ) \
|
||||
{ \
|
||||
( void ) xTaskDelayUntil( pxPreviousWakeTime, xTimeIncrement ); \
|
||||
@ -1311,7 +1315,7 @@ void vTaskEndScheduler( void ) PRIVILEGED_FUNCTION;
|
||||
* made.
|
||||
*
|
||||
* API functions that have the potential to cause a context switch (for example,
|
||||
* vTaskDelayUntil(), xQueueSend(), etc.) must not be called while the scheduler
|
||||
* xTaskDelayUntil(), xQueueSend(), etc.) must not be called while the scheduler
|
||||
* is suspended.
|
||||
*
|
||||
* Example usage:
|
||||
|
Reference in New Issue
Block a user