Modified manager task to avoid crashes.

This commit is contained in:
dario 2023-09-01 18:48:51 +02:00
parent 60e1d4c372
commit ac7237b0bb
4 changed files with 31 additions and 30 deletions

View File

@ -1,5 +1,5 @@
635E684B79701B039C64EA45C3F84D30=C96BA6CC9F20E1205A6EBDFF40205165
66BE74F758C12D739921AEA421D593D3=4
8DF89ED150041C4CBC7CB9A9CAA90856=C37D8D153607683CBCB65A289104E87E
DC22A860405A8BF2F2C095E5B6529F12=C37D8D153607683CBCB65A289104E87E
8DF89ED150041C4CBC7CB9A9CAA90856=D6E44E0C9E8538D2672E3627575EB9A7
DC22A860405A8BF2F2C095E5B6529F12=B7A8998BB86F8064A3F4829332693759
eclipse.preferences.version=1

View File

@ -34,6 +34,8 @@ namespace sta
UARTSettings settings = { .mode = UARTMode::RX_TX };
STM32UART * intf_ptr = new STM32UART(&huart2, settings, mutex);
Debug = new PrintableUART(intf_ptr);
STA_DEBUG_PRINTLN("UART SUCCESSFULLY INITIALIZED");
}
} // namespace rtos
} // namespace sta

View File

@ -12,41 +12,39 @@
#include <sta/debug/debug.hpp>
#include <sta/debug/assert.hpp>
#include <sta/rtos/system/events.hpp>
typedef StaticTask_t osStaticThreadDef_t;
extern "C" void outputTask(void *);
namespace sta{
extern "C" void startManagerTask(void *)
{
STA_DEBUG_PRINTLN("INITIALIZED MANAGER TASK");
namespace rtos{
extern "C" void startManagerTask(void *)
{
STA_DEBUG_PRINTLN("INITIALIZED MANAGER TASK");
/*
// Create thread using static allocation
osThreadId_t outputTaskHandle;
uint32_t outputTaskBuffer[ 128 ];
osStaticThreadDef_t outputTaskControlBlock;
const osThreadAttr_t outputTask_attributes = {
.name = "outputTask",
.cb_mem = &outputTaskControlBlock,
.cb_size = sizeof(outputTaskControlBlock),
.stack_mem = &outputTaskBuffer[0],
.stack_size = sizeof(outputTaskBuffer),
.priority = (osPriority_t) osPriorityLow,
};
// Create thread using static allocation
osThreadId_t outputTaskHandle;
uint32_t outputTaskBuffer[ 128 ];
osStaticThreadDef_t outputTaskControlBlock;
const osThreadAttr_t outputTask_attributes = {
.name = "outputTask",
.cb_mem = &outputTaskControlBlock,
.cb_size = sizeof(outputTaskControlBlock),
.stack_mem = &outputTaskBuffer[0],
.stack_size = sizeof(outputTaskBuffer),
.priority = (osPriority_t) osPriorityLow,
};
outputTaskHandle = osThreadNew(outputTask, NULL, &outputTask_attributes);
STA_ASSERT_MSG(outputTaskHandle != nullptr, "outputTask initialization failed");
*/
outputTaskHandle = osThreadNew(outputTask, NULL, &outputTask_attributes);
STA_ASSERT_MSG(outputTaskHandle != nullptr, "outputTask initialization failed");
while (true)
{
// TODO
}
osThreadExit();
}
while (true)
{
STA_DEBUG_PRINTLN("PING!");
}
osThreadExit();
}

View File

@ -56,6 +56,7 @@ const osThreadAttr_t defaultTask_attributes = {
.stack_size = 128 * 4,
.priority = (osPriority_t) osPriorityNormal,
};
/* Definitions for managerTask */
osThreadId_t managerTaskHandle;
uint32_t managerTaskBuffer[ 128 ];