Important information on upgrading existing FreeRTOS.org application to FreeRTOS.org V5.0.0
The parameters to the functions xQueueSendFromISR(), xQueueSendToFrontFromISR(), xQueueSendToBackFromISR and xSemaphoreGiveFromISR() have changed. The old functions all had similar prototypes of the form ...:
portBASE_TYPE xQueueSendFromISR(
xQueueHandle pxQueue,
void *pvItemToQueue,
portBASE_TYPE xTaskPreviouslyWoken
);
... returning pdTRUE if the send (or give in the case of the semaphores) caused a higher priority task to unblock.
The new functions all have prototypes of the form:
portBASE_TYPE xQueueSendFromISR(
xQueueHandle pxQueue,
void *pvItemToQueue,
portBASE_TYPE *pxHigherPriorityTaskWoken
);
The major difference is the third parameter, which is now a pointer. If sending to the queue (or giving the semaphore) caused a
higher priority ask to unblock then xQueueSendFromISR will set *pxHigherPriorityTaskWoken to pdTRUE. The return value can now
be either pdPASS to indicate that the send was successful, or errQUEUE_FULL if the send was not successful.
Please read the FreeRTOS.org API documentation pages for full descriptions and examples. The demo applications within the FreeRTOS.org download have also been updated to use this new scheme.
You must update all calls to xQueueSendFromISR(),
xQueueSendToFrontFromISR(), xQueueSendToBackFromISR()
and xSemaphoreGiveFromISR() as passing
pdFALSE in as the third parameter might not genereate a compiler warning - but could result in an assignment to NULL.
Any and all data, files, source code, html content and documentation included in the FreeRTOS distribution or available on this site are the exclusive property of Richard Barry.
See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Richard Barry.