From 2d304cdf0c3d9c53fc034f76f64c49add3faee42 Mon Sep 17 00:00:00 2001 From: Jonas Arnold Date: Fri, 14 Oct 2022 13:33:35 +0200 Subject: [PATCH] enabled RTOS --- .../source/IncludeMcuLibConfig.h | 2 +- ADIS_tinyK22_SplitFlap/source/application.c | 28 +++++++++++++++++-- ADIS_tinyK22_SplitFlap/source/platform.c | 4 +-- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/ADIS_tinyK22_SplitFlap/source/IncludeMcuLibConfig.h b/ADIS_tinyK22_SplitFlap/source/IncludeMcuLibConfig.h index d890057..d9a47fb 100644 --- a/ADIS_tinyK22_SplitFlap/source/IncludeMcuLibConfig.h +++ b/ADIS_tinyK22_SplitFlap/source/IncludeMcuLibConfig.h @@ -96,7 +96,7 @@ add_compile_options(-include "../config/IncludeMcuLibConfig.h") #endif #define McuULN2003_CONFIG_USE_ACCELERATION (1) /* ------------------- RTOS ---------------------------*/ -#define McuLib_CONFIG_SDK_USE_FREERTOS (0) +#define McuLib_CONFIG_SDK_USE_FREERTOS (1) /* #define configUSE_SEGGER_SYSTEM_VIEWER_HOOKS (1) */ /* #define configTOTAL_HEAP_SIZE (24*1024) */ /* #define configUSE_HEAP_SECTION_NAME (1) */ diff --git a/ADIS_tinyK22_SplitFlap/source/application.c b/ADIS_tinyK22_SplitFlap/source/application.c index f54748e..8824902 100644 --- a/ADIS_tinyK22_SplitFlap/source/application.c +++ b/ADIS_tinyK22_SplitFlap/source/application.c @@ -25,6 +25,8 @@ /* vars */ static McuLED_Handle_t LED_blue; static SF_Handle_t splitflap0, splitflap1; +static uint32_t taskParameter1 = 5; +static TaskHandle_t appTaskHandle = NULL; /* function declaration */ void configureSplitflaps(void); @@ -47,9 +49,9 @@ void App_Init(void){ MultiSplitFlap_AddFlap(splitflap1); } -/* Application run */ -void App_Run(void){ - PRINTF("Initializing split flap motors.\n"); +/* App Task */ +static void App_Task(void* pv){ +PRINTF("Initializing split flap motors.\n"); bool successfulInit0 = SF_MoveMotorToZeroPosition(splitflap0, 12); PRINTF("Init of motor 0 done. Success = %s\n\n", successfulInit0 ? "true" : "false"); @@ -95,6 +97,26 @@ void App_Run(void){ } } +/* Application run */ +void App_Run(void){ + BaseType_t res; + + res = xTaskCreate( App_Task, + "appTask", + 900/sizeof(StackType_t), + &taskParameter1, + tskIDLE_PRIORITY, + &appTaskHandle); + + if(res != pdPASS) // task creation not successful? + { // TODO error handling + PRINTF("Task creation of app task failed"); + for(;;) {} // Endless loop + } + + vTaskStartScheduler(); +} + /* Application de-initialization */ void App_Deinit(void){ diff --git a/ADIS_tinyK22_SplitFlap/source/platform.c b/ADIS_tinyK22_SplitFlap/source/platform.c index ebd95b5..60e074c 100644 --- a/ADIS_tinyK22_SplitFlap/source/platform.c +++ b/ADIS_tinyK22_SplitFlap/source/platform.c @@ -27,12 +27,12 @@ void PL_Init(void){ McuLED_Init(); McuULN2003_Init(); SF_InitConfig(); - //McuRTOS_Init(); + McuRTOS_Init(); } void PL_Deinit(void){ - //McuRTOS_Deinit(); + McuRTOS_Deinit(); SF_DeInitConfig(); McuULN2003_Deinit(); McuLED_Deinit();