Added customizable stack sizes for TacosThreads

This commit is contained in:
dario 2024-01-19 12:42:05 +01:00
parent 2eb4705ae6
commit 5cb4f3a2af
2 changed files with 12 additions and 12 deletions

View File

@ -31,11 +31,18 @@ namespace sta
{
public:
/**
* @brief Create a new thread with the given name and priority.
* @brief
*/
TacosThread(const char* name, osPriority_t prio);
TacosThread();
/**
* @brief Create a new thread with the given name and priority.
*
* @param name The thread's name. This is used for debugging.
* @param prio The thread's priority. Generally, this should be lower than the manager and statemachine priority.
* @param stack_size The stack size for the task. The default is the stack size specified in the FreeRTOS settings.
* @param cb_size The control block size for the task. The default is the size specified in the FreeRTOS settings.
*/
TacosThread(const char* name, osPriority_t prio, uint32_t stack_size = NULL, uint32_t cb_size = NULL);
virtual ~TacosThread();

View File

@ -19,17 +19,10 @@ namespace sta
{
namespace tacos
{
TacosThread::TacosThread(const char* name, osPriority_t prio)
TacosThread::TacosThread(const char* name, osPriority_t prio, uint32_t stack_size = NULL, uint32_t cb_size = NULL)
: RtosThread(RtosHandle<osThreadId_t>(Handle::Deferred(&instance_))),
instance_{ NULL },
attribs_{ .name = name, .priority = prio },
running_{false}
{}
TacosThread::TacosThread()
: RtosThread(RtosHandle<osThreadId_t>(Handle::Deferred(&instance_))),
instance_{ NULL },
attribs_{ },
attribs_{ .name = name, .priority = prio, .stack_size=stack_size, .cb_size=cb_size },
running_{false}
{}