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/common}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/master}""/>
|
<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/rotary}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/threads/manager}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/peripherals}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/peripherals}""/>
|
||||||
</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"/>
|
||||||
|
|||||||
@ -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));
|
||||||
|
|||||||
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