|
|
@ -97,6 +97,7 @@
|
|
|
|
#include "bitmap.h"
|
|
|
|
#include "bitmap.h"
|
|
|
|
#include "GenQTest.h"
|
|
|
|
#include "GenQTest.h"
|
|
|
|
#include "QPeek.h"
|
|
|
|
#include "QPeek.h"
|
|
|
|
|
|
|
|
#include "recmutex.h"
|
|
|
|
|
|
|
|
|
|
|
|
/* Hardware library includes. */
|
|
|
|
/* Hardware library includes. */
|
|
|
|
#include "hw_memmap.h"
|
|
|
|
#include "hw_memmap.h"
|
|
|
@ -214,6 +215,7 @@ int main( void )
|
|
|
|
vStartIntegerMathTasks( mainINTEGER_TASK_PRIORITY );
|
|
|
|
vStartIntegerMathTasks( mainINTEGER_TASK_PRIORITY );
|
|
|
|
vStartGenericQueueTasks( mainGEN_QUEUE_TASK_PRIORITY );
|
|
|
|
vStartGenericQueueTasks( mainGEN_QUEUE_TASK_PRIORITY );
|
|
|
|
vStartQueuePeekTasks();
|
|
|
|
vStartQueuePeekTasks();
|
|
|
|
|
|
|
|
vStartRecursiveMutexTasks();
|
|
|
|
|
|
|
|
|
|
|
|
/* Start the tasks defined within this file/specific to this demo. */
|
|
|
|
/* Start the tasks defined within this file/specific to this demo. */
|
|
|
|
xTaskCreate( vOLEDTask, ( signed portCHAR * ) "OLED", mainOLED_TASK_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
|
|
|
|
xTaskCreate( vOLEDTask, ( signed portCHAR * ) "OLED", mainOLED_TASK_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
|
|
|
@ -303,6 +305,10 @@ static unsigned portLONG ulTicksSinceLastDisplay = 0;
|
|
|
|
else if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
|
|
|
|
else if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
xMessage.pcMessage = "ERROR IN MATH";
|
|
|
|
xMessage.pcMessage = "ERROR IN MATH";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else if( xAreRecursiveMutexTasksStillRunning() != pdTRUE )
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
xMessage.pcMessage = "ERROR IN REC MUTEX";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if( ulIdleError != pdFALSE )
|
|
|
|
else if( ulIdleError != pdFALSE )
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -321,6 +327,7 @@ xOLEDMessage xMessage;
|
|
|
|
unsigned portLONG ulY, ulMaxY;
|
|
|
|
unsigned portLONG ulY, ulMaxY;
|
|
|
|
static portCHAR cMessage[ mainMAX_MSG_LEN ];
|
|
|
|
static portCHAR cMessage[ mainMAX_MSG_LEN ];
|
|
|
|
extern unsigned portLONG ulMaxJitter;
|
|
|
|
extern unsigned portLONG ulMaxJitter;
|
|
|
|
|
|
|
|
unsigned portBASE_TYPE uxUnusedStackOnEntry, uxUnusedStackNow;
|
|
|
|
|
|
|
|
|
|
|
|
/* Functions to access the OLED. The one used depends on the dev kit
|
|
|
|
/* Functions to access the OLED. The one used depends on the dev kit
|
|
|
|
being used. */
|
|
|
|
being used. */
|
|
|
@ -329,6 +336,9 @@ void ( *vOLEDStringDraw )( const portCHAR *, unsigned portLONG, unsigned portLON
|
|
|
|
void ( *vOLEDImageDraw )( const unsigned portCHAR *, unsigned portLONG, unsigned portLONG, unsigned portLONG, unsigned portLONG );
|
|
|
|
void ( *vOLEDImageDraw )( const unsigned portCHAR *, unsigned portLONG, unsigned portLONG, unsigned portLONG, unsigned portLONG );
|
|
|
|
void ( *vOLEDClear )( void );
|
|
|
|
void ( *vOLEDClear )( void );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Just for demo purposes. */
|
|
|
|
|
|
|
|
uxUnusedStackOnEntry = uxTaskGetStackHighWaterMark( NULL );
|
|
|
|
|
|
|
|
|
|
|
|
/* Map the OLED access functions to the driver functions that are appropriate
|
|
|
|
/* Map the OLED access functions to the driver functions that are appropriate
|
|
|
|
for the evaluation kit being used. */
|
|
|
|
for the evaluation kit being used. */
|
|
|
|
switch( HWREG( SYSCTL_DID1 ) & SYSCTL_DID1_PRTNO_MASK )
|
|
|
|
switch( HWREG( SYSCTL_DID1 ) & SYSCTL_DID1_PRTNO_MASK )
|
|
|
@ -356,6 +366,8 @@ void ( *vOLEDClear )( void );
|
|
|
|
vOLEDStringDraw( " POWERED BY FreeRTOS", 0, 0, mainFULL_SCALE );
|
|
|
|
vOLEDStringDraw( " POWERED BY FreeRTOS", 0, 0, mainFULL_SCALE );
|
|
|
|
vOLEDImageDraw( pucImage, 0, mainCHARACTER_HEIGHT + 1, bmpBITMAP_WIDTH, bmpBITMAP_HEIGHT );
|
|
|
|
vOLEDImageDraw( pucImage, 0, mainCHARACTER_HEIGHT + 1, bmpBITMAP_WIDTH, bmpBITMAP_HEIGHT );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uxUnusedStackNow = uxTaskGetStackHighWaterMark( NULL );
|
|
|
|
|
|
|
|
|
|
|
|
for( ;; )
|
|
|
|
for( ;; )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
/* Wait for a message to arrive that requires displaying. */
|
|
|
|
/* Wait for a message to arrive that requires displaying. */
|
|
|
@ -437,6 +449,10 @@ void vApplicationIdleHook( void )
|
|
|
|
" .align 2 \n"
|
|
|
|
" .align 2 \n"
|
|
|
|
"ulIdleErrorConst: .word ulIdleError" );
|
|
|
|
"ulIdleErrorConst: .word ulIdleError" );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/*-----------------------------------------------------------*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed portCHAR *pcTaskName )
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
for( ;; );
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|