#include <stdlib.h>
#include "FreeRTOS.h"
#include "task.h"
#include "queue.h"
#include "semphr.h"
#include "GenQTest.h"
Macros | |
#define | genqMUTEX_HIGH_PRIORITY ( tskIDLE_PRIORITY + 3 ) |
#define | genqMUTEX_LOW_PRIORITY ( tskIDLE_PRIORITY ) |
#define | genqMUTEX_MEDIUM_PRIORITY ( tskIDLE_PRIORITY + 2 ) |
#define | genqMUTEX_TEST_PRIORITY ( tskIDLE_PRIORITY + 1 ) |
#define | genqNO_BLOCK ( 0 ) |
#define | genqQUEUE_LENGTH ( 5 ) |
Functions | |
static void | prvHighPriorityMutexTask (void *pvParameters) |
static void | prvLowPriorityMutexTask (void *pvParameters) |
static void | prvMediumPriorityMutexTask (void *pvParameters) |
static void | prvSendFrontAndBackTest (void *pvParameters) |
void | vStartGenericQueueTasks (unsigned portBASE_TYPE uxPriority) |
portBASE_TYPE | xAreGenericQueueTasksStillRunning (void) |
Variables | |
static volatile unsigned portLONG | ulGuardedVariable = 0 |
static volatile unsigned portLONG | ulLoopCounter = 0 |
static volatile unsigned portLONG | ulLoopCounter2 = 0 |
static portBASE_TYPE | xErrorDetected = pdFALSE |
static xTaskHandle | xHighPriorityMutexTask |
static xTaskHandle | xMediumPriorityMutexTask |
#define genqMUTEX_HIGH_PRIORITY ( tskIDLE_PRIORITY + 3 ) |
Referenced by prvLowPriorityMutexTask(), and vStartGenericQueueTasks().
#define genqMUTEX_LOW_PRIORITY ( tskIDLE_PRIORITY ) |
Referenced by prvLowPriorityMutexTask(), and vStartGenericQueueTasks().
#define genqMUTEX_MEDIUM_PRIORITY ( tskIDLE_PRIORITY + 2 ) |
Referenced by vStartGenericQueueTasks().
#define genqMUTEX_TEST_PRIORITY ( tskIDLE_PRIORITY + 1 ) |
Referenced by prvLowPriorityMutexTask().
#define genqNO_BLOCK ( 0 ) |
Referenced by prvLowPriorityMutexTask(), and prvSendFrontAndBackTest().
#define genqQUEUE_LENGTH ( 5 ) |
Referenced by prvSendFrontAndBackTest(), and vStartGenericQueueTasks().
|
static |
References NULL, pdPASS, pdTRUE, vTaskSuspend(), xErrorDetected, xMutex, xSemaphoreGive, xSemaphoreHandle, and xSemaphoreTake.
Referenced by vStartGenericQueueTasks().
|
static |
References genqMUTEX_HIGH_PRIORITY, genqMUTEX_LOW_PRIORITY, genqMUTEX_TEST_PRIORITY, genqNO_BLOCK, NULL, pdPASS, pdTRUE, taskYIELD, ulGuardedVariable, ulLoopCounter2, uxTaskPriorityGet(), vPrintDisplayMessage(), vTaskPrioritySet(), vTaskResume(), xErrorDetected, xHighPriorityMutexTask, xMediumPriorityMutexTask, xMutex, xSemaphoreGive, xSemaphoreHandle, and xSemaphoreTake.
Referenced by vStartGenericQueueTasks().
|
static |
References NULL, ulGuardedVariable, and vTaskSuspend().
Referenced by vStartGenericQueueTasks().
|
static |
References errQUEUE_FULL, genqNO_BLOCK, genqQUEUE_LENGTH, pdPASS, pdTRUE, taskYIELD, ulLoopCounter, uxQueueMessagesWaiting(), vPrintDisplayMessage(), xErrorDetected, xQueueHandle, xQueuePeek, xQueueReceive, xQueueSend, xQueueSendToBack, and xQueueSendToFront.
Referenced by vStartGenericQueueTasks().
void vStartGenericQueueTasks | ( | unsigned portBASE_TYPE | uxPriority | ) |
References genqMUTEX_HIGH_PRIORITY, genqMUTEX_LOW_PRIORITY, genqMUTEX_MEDIUM_PRIORITY, genqQUEUE_LENGTH, NULL, prvHighPriorityMutexTask(), prvLowPriorityMutexTask(), prvMediumPriorityMutexTask(), prvSendFrontAndBackTest(), vQueueAddToRegistry, xHighPriorityMutexTask, xMediumPriorityMutexTask, xMutex, xQueueCreate, xSemaphoreCreateMutex, and xTaskCreate.
portBASE_TYPE xAreGenericQueueTasksStillRunning | ( | void | ) |
References pdTRUE, ulLoopCounter, ulLoopCounter2, and xErrorDetected.
|
static |
Referenced by prvLowPriorityMutexTask(), and prvMediumPriorityMutexTask().
|
static |
Referenced by prvSendFrontAndBackTest(), and xAreGenericQueueTasksStillRunning().
|
static |
Referenced by prvLowPriorityMutexTask(), and xAreGenericQueueTasksStillRunning().
|
static |
|
static |
Referenced by prvLowPriorityMutexTask(), and vStartGenericQueueTasks().
|
static |
Referenced by prvLowPriorityMutexTask(), and vStartGenericQueueTasks().