diff --git a/include/sta/tacos/thread.hpp b/include/sta/tacos/thread.hpp index 660dd64..902b9b5 100644 --- a/include/sta/tacos/thread.hpp +++ b/include/sta/tacos/thread.hpp @@ -39,10 +39,10 @@ namespace sta * * @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. + * @param stack_size The stack size for the task. The default is 0, i.e. the stack size specified in the FreeRTOS settings. + * @param cb_size The control block size for the task. The default is 0, i.e. the size specified in the FreeRTOS settings. */ - TacosThread(const char* name, osPriority_t prio, uint32_t stack_size = NULL, uint32_t cb_size = NULL); + TacosThread(const char* name, osPriority_t prio, uint32_t stack_size = 0, uint32_t cb_size = 0); virtual ~TacosThread(); diff --git a/src/thread.cpp b/src/thread.cpp index 37b6073..a6a2fb4 100644 --- a/src/thread.cpp +++ b/src/thread.cpp @@ -19,12 +19,15 @@ namespace sta { namespace tacos { - TacosThread::TacosThread(const char* name, osPriority_t prio, uint32_t stack_size = NULL, uint32_t cb_size = NULL) + TacosThread::TacosThread(const char* name, osPriority_t prio, uint32_t stack_size /* = 0 */, uint32_t cb_size /* = 0 */) : RtosThread(RtosHandle(Handle::Deferred(&instance_))), instance_{ NULL }, - attribs_{ .name = name, .priority = prio, .stack_size=stack_size, .cb_size=cb_size }, + attribs_{ .name=name, .cb_size=cb_size, .stack_size=stack_size, .priority=prio }, running_{false} - {} + { + STA_ASSERT(stack_size >= 0); + STA_ASSERT(stack_size >= 0); + } void TacosThread::entry_point(void* arg) {