mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-04 13:14:32 +02:00
Merge branch 'feature/move-esp-macros-from-freetos-upstream-files' into 'master'
freertos: remove xSemaphoreAltTake/Give macros from semphr.h Closes IDF-3814 See merge request espressif/esp-idf!15088
This commit is contained in:
@@ -410,23 +410,6 @@ typedef QueueHandle_t SemaphoreHandle_t;
|
|||||||
*/
|
*/
|
||||||
#define xSemaphoreTakeRecursive( xMutex, xBlockTime ) xQueueTakeMutexRecursive( ( xMutex ), ( xBlockTime ) )
|
#define xSemaphoreTakeRecursive( xMutex, xBlockTime ) xQueueTakeMutexRecursive( ( xMutex ), ( xBlockTime ) )
|
||||||
|
|
||||||
#ifdef ESP_PLATFORM // IDF-3814
|
|
||||||
/** @cond */
|
|
||||||
/*
|
|
||||||
* xSemaphoreAltTake() is an alternative version of xSemaphoreTake().
|
|
||||||
*
|
|
||||||
* The source code that implements the alternative (Alt) API is much
|
|
||||||
* simpler because it executes everything from within a critical section.
|
|
||||||
* This is the approach taken by many other RTOSes, but FreeRTOS.org has the
|
|
||||||
* preferred fully featured API too. The fully featured API has more
|
|
||||||
* complex code that takes longer to execute, but makes much less use of
|
|
||||||
* critical sections. Therefore the alternative API sacrifices interrupt
|
|
||||||
* responsiveness to gain execution speed, whereas the fully featured API
|
|
||||||
* sacrifices execution speed to ensure better interrupt responsiveness.
|
|
||||||
*/
|
|
||||||
#define xSemaphoreAltTake( xSemaphore, xBlockTime ) xQueueAltGenericReceive( ( QueueHandle_t ) ( xSemaphore ), NULL, ( xBlockTime ), pdFALSE )
|
|
||||||
/** @endcond */
|
|
||||||
#endif // ESP_PLATFORM
|
|
||||||
/**
|
/**
|
||||||
* <i>Macro</i> to release a semaphore. The semaphore must have previously been
|
* <i>Macro</i> to release a semaphore. The semaphore must have previously been
|
||||||
* created with a call to xSemaphoreCreateBinary(), xSemaphoreCreateMutex() or
|
* created with a call to xSemaphoreCreateBinary(), xSemaphoreCreateMutex() or
|
||||||
@@ -579,25 +562,6 @@ typedef QueueHandle_t SemaphoreHandle_t;
|
|||||||
*/
|
*/
|
||||||
#define xSemaphoreGiveRecursive( xMutex ) xQueueGiveMutexRecursive( ( xMutex ) )
|
#define xSemaphoreGiveRecursive( xMutex ) xQueueGiveMutexRecursive( ( xMutex ) )
|
||||||
|
|
||||||
#ifdef ESP_PLATFORM // IDF-3814
|
|
||||||
/** @cond */
|
|
||||||
/*
|
|
||||||
* xSemaphoreAltGive() is an alternative version of xSemaphoreGive().
|
|
||||||
*
|
|
||||||
* The source code that implements the alternative (Alt) API is much
|
|
||||||
* simpler because it executes everything from within a critical section.
|
|
||||||
* This is the approach taken by many other RTOSes, but FreeRTOS.org has the
|
|
||||||
* preferred fully featured API too. The fully featured API has more
|
|
||||||
* complex code that takes longer to execute, but makes much less use of
|
|
||||||
* critical sections. Therefore the alternative API sacrifices interrupt
|
|
||||||
* responsiveness to gain execution speed, whereas the fully featured API
|
|
||||||
* sacrifices execution speed to ensure better interrupt responsiveness.
|
|
||||||
*/
|
|
||||||
#define xSemaphoreAltGive( xSemaphore ) xQueueAltGenericSend( ( QueueHandle_t ) ( xSemaphore ), NULL, semGIVE_BLOCK_TIME, queueSEND_TO_BACK )
|
|
||||||
|
|
||||||
/** @endcond */
|
|
||||||
#endif // ESP_PLATFORM
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <i>Macro</i> to release a semaphore. The semaphore must have previously been
|
* <i>Macro</i> to release a semaphore. The semaphore must have previously been
|
||||||
* created with a call to xSemaphoreCreateBinary() or xSemaphoreCreateCounting().
|
* created with a call to xSemaphoreCreateBinary() or xSemaphoreCreateCounting().
|
||||||
|
Reference in New Issue
Block a user