manager: [#25] init simple task
This commit is contained in:
parent
a5c28afd61
commit
ddc9be976a
@ -51,6 +51,7 @@
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/common}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/master}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/threads/rotary}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/threads/manager}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/peripherals}""/>
|
||||
</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"/>
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
#include "Rotary.h"
|
||||
#include "retarget_uart.h"
|
||||
#include "LiquidCrystal.h"
|
||||
#include "Manager.h"
|
||||
|
||||
void lcd_starting();
|
||||
|
||||
@ -32,6 +33,9 @@ int main(void)
|
||||
manager->createTask(master_thread, "master",
|
||||
configMINIMAL_STACK_SIZE * 10,tskIDLE_PRIORITY + 1UL,
|
||||
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",
|
||||
configMINIMAL_STACK_SIZE * 10,tskIDLE_PRIORITY + 1UL,
|
||||
static_cast<void*>(qmanager));
|
||||
|
||||
34
source/shoh/src/threads/manager/Manager.cpp
Normal file
34
source/shoh/src/threads/manager/Manager.cpp
Normal 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();
|
||||
}
|
||||
26
source/shoh/src/threads/manager/Manager.h
Normal file
26
source/shoh/src/threads/manager/Manager.h
Normal 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_ */
|
||||
Loading…
x
Reference in New Issue
Block a user