more additions to manager task

This commit is contained in:
dario 2023-08-30 22:41:24 +02:00
parent 7b76e5a2a6
commit d8f592d455
3 changed files with 21 additions and 3 deletions

View File

@ -11,7 +11,7 @@
#include <sta/debug/debug.hpp> #include <sta/debug/debug.hpp>
extern "C" void managerTask(void *) extern "C" void startManagerTask(void *)
{ {
STA_DEBUG_PRINTLN("INITIALIZED MANAGER TASK"); STA_DEBUG_PRINTLN("INITIALIZED MANAGER TASK");

View File

@ -29,6 +29,7 @@
/* USER CODE END Includes */ /* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/ /* Private typedef -----------------------------------------------------------*/
typedef StaticTask_t osStaticThreadDef_t;
typedef StaticSemaphore_t osStaticMutexDef_t; typedef StaticSemaphore_t osStaticMutexDef_t;
/* USER CODE BEGIN PTD */ /* USER CODE BEGIN PTD */
@ -55,6 +56,18 @@ const osThreadAttr_t defaultTask_attributes = {
.stack_size = 128 * 4, .stack_size = 128 * 4,
.priority = (osPriority_t) osPriorityNormal, .priority = (osPriority_t) osPriorityNormal,
}; };
/* Definitions for managerTask */
osThreadId_t managerTaskHandle;
uint32_t managerTaskBuffer[ 128 ];
osStaticThreadDef_t managerTaskControlBlock;
const osThreadAttr_t managerTask_attributes = {
.name = "managerTask",
.cb_mem = &managerTaskControlBlock,
.cb_size = sizeof(managerTaskControlBlock),
.stack_mem = &managerTaskBuffer[0],
.stack_size = sizeof(managerTaskBuffer),
.priority = (osPriority_t) osPriorityLow,
};
/* Definitions for uartMutex */ /* Definitions for uartMutex */
osMutexId_t uartMutexHandle; osMutexId_t uartMutexHandle;
osStaticMutexDef_t uartMutex_cb; osStaticMutexDef_t uartMutex_cb;
@ -70,6 +83,7 @@ const osMutexAttr_t uartMutex_attributes = {
/* USER CODE END FunctionPrototypes */ /* USER CODE END FunctionPrototypes */
void StartDefaultTask(void *argument); void StartDefaultTask(void *argument);
extern void startManagerTask(void *argument);
void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */ void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
@ -118,6 +132,9 @@ void MX_FREERTOS_Init(void) {
/* creation of defaultTask */ /* creation of defaultTask */
defaultTaskHandle = osThreadNew(StartDefaultTask, NULL, &defaultTask_attributes); defaultTaskHandle = osThreadNew(StartDefaultTask, NULL, &defaultTask_attributes);
/* creation of managerTask */
managerTaskHandle = osThreadNew(startManagerTask, NULL, &managerTask_attributes);
/* USER CODE BEGIN RTOS_THREADS */ /* USER CODE BEGIN RTOS_THREADS */
/* add threads, ... */ /* add threads, ... */
/* USER CODE END RTOS_THREADS */ /* USER CODE END RTOS_THREADS */

View File

@ -2,9 +2,10 @@
CAD.formats= CAD.formats=
CAD.pinconfig= CAD.pinconfig=
CAD.provider= CAD.provider=
FREERTOS.IPParameters=Tasks01,configUSE_NEWLIB_REENTRANT,configRECORD_STACK_HIGH_ADDRESS,configCHECK_FOR_STACK_OVERFLOW,Mutexes01 FREERTOS.FootprintOK=true
FREERTOS.IPParameters=Tasks01,configUSE_NEWLIB_REENTRANT,configRECORD_STACK_HIGH_ADDRESS,configCHECK_FOR_STACK_OVERFLOW,Mutexes01,FootprintOK
FREERTOS.Mutexes01=uartMutex,Static,uartMutex_cb FREERTOS.Mutexes01=uartMutex,Static,uartMutex_cb
FREERTOS.Tasks01=defaultTask,24,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL FREERTOS.Tasks01=defaultTask,24,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL;managerTask,8,128,startManagerTask,As external,NULL,Static,managerTaskBuffer,managerTaskControlBlock
FREERTOS.configCHECK_FOR_STACK_OVERFLOW=1 FREERTOS.configCHECK_FOR_STACK_OVERFLOW=1
FREERTOS.configRECORD_STACK_HIGH_ADDRESS=1 FREERTOS.configRECORD_STACK_HIGH_ADDRESS=1
FREERTOS.configUSE_NEWLIB_REENTRANT=1 FREERTOS.configUSE_NEWLIB_REENTRANT=1