2424void printRunningTasks (Print & printer) {
2525#if CONFIG_FREERTOS_USE_TRACE_FACILITY
2626#if CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS
27- #define FREERTOS_TASK_NUMBER_MAX_NUM 256
28- static UBaseType_t ulRunTimeCounters[FREERTOS_TASK_NUMBER_MAX_NUM];
27+ #define FREERTOS_TASK_NUMBER_MAX_NUM 256 // RunTime stats for how many Tasks to be stored
28+ static configRUN_TIME_COUNTER_TYPE ulRunTimeCounters[FREERTOS_TASK_NUMBER_MAX_NUM];
2929 static configRUN_TIME_COUNTER_TYPE ulLastRunTime = 0 ;
30+ configRUN_TIME_COUNTER_TYPE ulCurrentRunTime = 0 , ulTaskRunTime = 0 ;
3031#endif
32+ configRUN_TIME_COUNTER_TYPE ulTotalRunTime = 0 ;
3133 TaskStatus_t *pxTaskStatusArray = NULL ;
3234 volatile UBaseType_t uxArraySize = 0 , x = 0 ;
33- configRUN_TIME_COUNTER_TYPE ulTotalRunTime = 0 , uiCurrentRunTime = 0 , uiTaskRunTime = 0 ;
3435 const char * taskStates[] = {
3536 " Running" ,
3637 " Ready" ,
@@ -42,16 +43,16 @@ void printRunningTasks(Print & printer) {
4243
4344 // Take a snapshot of the number of tasks in case it changes while this function is executing.
4445 uxArraySize = uxTaskGetNumberOfTasks ();
45- // printer.printf("Running tasks: %u\n", uxArraySize);
4646
4747 // Allocate a TaskStatus_t structure for each task.
48- pxTaskStatusArray = (TaskStatus_t*)pvPortMalloc ( uxArraySize * sizeof ( TaskStatus_t ) );
48+ pxTaskStatusArray = (TaskStatus_t*)pvPortMalloc (uxArraySize * sizeof (TaskStatus_t) );
4949
50- if ( pxTaskStatusArray != NULL ) {
50+ if ( pxTaskStatusArray != NULL ) {
5151 // Generate raw status information about each task.
52- uxArraySize = uxTaskGetSystemState ( pxTaskStatusArray, uxArraySize, &ulTotalRunTime );
52+ uxArraySize = uxTaskGetSystemState (pxTaskStatusArray, uxArraySize, &ulTotalRunTime);
53+
5354#if CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS
54- uiCurrentRunTime = ulTotalRunTime - ulLastRunTime;
55+ ulCurrentRunTime = ulTotalRunTime - ulLastRunTime;
5556 ulLastRunTime = ulTotalRunTime;
5657#endif
5758 printer.printf (" Tasks: %u"
@@ -60,7 +61,7 @@ void printRunningTasks(Print & printer) {
6061#endif
6162 " \n " , uxArraySize
6263#if CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS
63- , ulTotalRunTime / 1000000 , uiCurrentRunTime
64+ , ulTotalRunTime / 1000000 , ulCurrentRunTime
6465#endif
6566 );
6667 printer.printf (" Num\t Name"
@@ -72,14 +73,14 @@ void printRunningTasks(Print & printer) {
7273 " \t Core"
7374#endif
7475 " \t State\r\n " );
75- for ( x = 0 ; x < uxArraySize; x++ ) {
76+ for ( x = 0 ; x < uxArraySize; x++) {
7677#if CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS
77- if (pxTaskStatusArray[ x ].xTaskNumber < FREERTOS_TASK_NUMBER_MAX_NUM) {
78- uiTaskRunTime = (pxTaskStatusArray[ x ].ulRunTimeCounter - ulRunTimeCounters[pxTaskStatusArray[ x ].xTaskNumber ]);
79- ulRunTimeCounters[pxTaskStatusArray[ x ].xTaskNumber ] = pxTaskStatusArray[ x ].ulRunTimeCounter ;
80- uiTaskRunTime = (uiTaskRunTime * 100 ) / uiCurrentRunTime ; // in percentage
78+ if (pxTaskStatusArray[x ].xTaskNumber < FREERTOS_TASK_NUMBER_MAX_NUM) {
79+ ulTaskRunTime = (pxTaskStatusArray[x ].ulRunTimeCounter - ulRunTimeCounters[pxTaskStatusArray[x ].xTaskNumber ]);
80+ ulRunTimeCounters[pxTaskStatusArray[x ].xTaskNumber ] = pxTaskStatusArray[x ].ulRunTimeCounter ;
81+ ulTaskRunTime = (ulTaskRunTime * 100 ) / ulCurrentRunTime ; // in percentage
8182 } else {
82- uiTaskRunTime = 0 ;
83+ ulTaskRunTime = 0 ;
8384 }
8485#endif
8586 printer.printf (" %3u\t %16s"
@@ -91,22 +92,22 @@ void printRunningTasks(Print & printer) {
9192 " \t %4c"
9293#endif
9394 " \t %s\r\n " ,
94- pxTaskStatusArray[ x ].xTaskNumber ,
95- pxTaskStatusArray[ x ].pcTaskName ,
95+ pxTaskStatusArray[x ].xTaskNumber ,
96+ pxTaskStatusArray[x ].pcTaskName ,
9697#if CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS
97- uiTaskRunTime ,
98+ ulTaskRunTime ,
9899#endif
99- pxTaskStatusArray[ x ].uxCurrentPriority ,
100- pxTaskStatusArray[ x ].usStackHighWaterMark ,
100+ pxTaskStatusArray[x ].uxCurrentPriority ,
101+ pxTaskStatusArray[x ].usStackHighWaterMark ,
101102#if CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID
102- (pxTaskStatusArray[ x ].xCoreID == tskNO_AFFINITY)?' *' :(' 0' +pxTaskStatusArray[ x ].xCoreID ),
103+ (pxTaskStatusArray[x ].xCoreID == tskNO_AFFINITY)?' *' :(' 0' +pxTaskStatusArray[x ].xCoreID ),
103104#endif
104- taskStates[pxTaskStatusArray[ x ].eCurrentState ]
105+ taskStates[pxTaskStatusArray[x ].eCurrentState ]
105106 );
106107 }
107108
108109 // The array is no longer needed, free the memory it consumes.
109- vPortFree ( pxTaskStatusArray );
110+ vPortFree (pxTaskStatusArray);
110111 printer.println ();
111112 }
112113#else
0 commit comments