Fixed thread starting to work correctly

This commit is contained in:
dario 2024-02-07 17:04:19 +01:00
parent d06a15e986
commit 2617521444
2 changed files with 26 additions and 2 deletions

View File

@ -89,6 +89,8 @@ namespace sta
void loop() override;
void start() override;
/**
* @brief This function is executed first when this thread is started.
*/
@ -149,6 +151,8 @@ namespace sta
*
*/
void resetStatus();
void watchdogIgnore();
#endif // STA_TACOS_WATCHDOG_ENABLED
/**

View File

@ -33,6 +33,18 @@ namespace sta
return running_;
}
void TacosThread::start()
{
if (getInstance() == NULL)
{
RtosThread::start();
}
else
{
sysNotify(STA_RTOS_THREAD_FLAG_START);
}
}
void TacosThread::init() {}
void TacosThread::loop()
@ -54,8 +66,11 @@ namespace sta
while (!isTerminationRequested())
{
#ifdef STA_TACOS_WATCHDOG_ENABLED
if (status_ == ThreadStatus::UNKNOWN)
{
// Send a fresh heartbeat signal.
heartbeat();
}
#endif // STA_TACOS_WATCHDOG_ENABLED
// Execute user-space implementation.
@ -111,6 +126,11 @@ namespace sta
{
status_ = ThreadStatus::UNKNOWN;
}
void TacosThread::watchdogIgnore()
{
status_ = ThreadStatus::IGNORED;
}
#endif // STA_TACOS_WATCHDOG_ENABLED
void TacosThread::requestTermination()