manager: [#25] init simple task

This commit is contained in:
Vasily Davydov 2023-04-29 06:32:52 +03:00 committed by RedHawk
parent a5c28afd61
commit ddc9be976a
4 changed files with 65 additions and 0 deletions

View File

@ -51,6 +51,7 @@
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/shoh/src/threads/common}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/shoh/src/threads/common}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/shoh/src/threads/master}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/shoh/src/threads/master}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/threads/rotary}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/threads/rotary}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/threads/manager}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/shoh/src/peripherals}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/shoh/src/peripherals}&quot;"/>
</option> </option>
<option id="com.crt.advproject.cpp.misc.dialect.4036734" name="Language standard" superClass="com.crt.advproject.cpp.misc.dialect" useByScannerDiscovery="true" value="com.crt.advproject.misc.dialect.cpp17" valueType="enumerated"/> <option id="com.crt.advproject.cpp.misc.dialect.4036734" name="Language standard" superClass="com.crt.advproject.cpp.misc.dialect" useByScannerDiscovery="true" value="com.crt.advproject.misc.dialect.cpp17" valueType="enumerated"/>

View File

@ -8,6 +8,7 @@
#include "Rotary.h" #include "Rotary.h"
#include "retarget_uart.h" #include "retarget_uart.h"
#include "LiquidCrystal.h" #include "LiquidCrystal.h"
#include "Manager.h"
void lcd_starting(); void lcd_starting();
@ -32,6 +33,9 @@ int main(void)
manager->createTask(master_thread, "master", manager->createTask(master_thread, "master",
configMINIMAL_STACK_SIZE * 10,tskIDLE_PRIORITY + 1UL, configMINIMAL_STACK_SIZE * 10,tskIDLE_PRIORITY + 1UL,
static_cast<void*>(qmanager)); static_cast<void*>(qmanager));
manager->createTask(thread_manager, "manager",
configMINIMAL_STACK_SIZE * 10,tskIDLE_PRIORITY + 1UL,
static_cast<void*>(qmanager));
manager->createTask(rotary_thread, "rotary", manager->createTask(rotary_thread, "rotary",
configMINIMAL_STACK_SIZE * 10,tskIDLE_PRIORITY + 1UL, configMINIMAL_STACK_SIZE * 10,tskIDLE_PRIORITY + 1UL,
static_cast<void*>(qmanager)); static_cast<void*>(qmanager));

View File

@ -0,0 +1,34 @@
/*
* Manager.cpp
*
* Created on: 29 Apr 2023
* Author: dave
*/
#include "Manager.h"
#include "ThreadCommon.h"
Manager::Manager(ThreadCommon::QueueManager* qm) : _qm(qm)
{
// TODO Auto-generated constructor stub
}
Manager::~Manager()
{
// TODO Auto-generated destructor stub
}
void Manager::taskFunction()
{
for(;;)
{
vTaskDelay(1);
}
}
void thread_manager(void* pvParams)
{
Manager m(static_cast<ThreadCommon::QueueManager*>(pvParams));
m.taskFunction();
}

View File

@ -0,0 +1,26 @@
/*
* Manager.h
*
* Created on: 29 Apr 2023
* Author: dave
*/
#ifndef THREADS_MANAGER_MANAGER_H_
#define THREADS_MANAGER_MANAGER_H_
#include "ThreadCommon.h"
#include "Event.h"
class Manager {
public:
Manager(ThreadCommon::QueueManager* qm);
virtual ~Manager();
void taskFunction();
private:
Event* message;
ThreadCommon::QueueManager* _qm;
};
void thread_manager(void* pvParams);
#endif /* THREADS_MANAGER_MANAGER_H_ */