thread-manager: create on heap
Add a simple queue-manager test
This commit is contained in:
parent
4a553e3093
commit
ad4a100989
@ -11,7 +11,7 @@ int main(void)
|
||||
{
|
||||
SystemCoreClockUpdate();
|
||||
Board_Init();
|
||||
ThreadCommon::ThreadManager manager;
|
||||
ThreadCommon::ThreadManager* manager = new ThreadCommon::ThreadManager;
|
||||
ThreadCommon::QueueManager* qmanager = new ThreadCommon::QueueManager;
|
||||
//Creating queues
|
||||
qmanager->createQueue(100,
|
||||
@ -19,13 +19,13 @@ int main(void)
|
||||
ThreadCommon::QueueManager::master_event_all);
|
||||
|
||||
//Creating tasks
|
||||
manager.createTask(master_thread, "master",
|
||||
manager->createTask(master_thread, "master",
|
||||
configMINIMAL_STACK_SIZE * 10,tskIDLE_PRIORITY + 1UL,
|
||||
static_cast<void*>(qmanager));
|
||||
|
||||
//<Queue_test>
|
||||
QueueHandle_t master_event_all_q = qmanager->getQueue(ThreadCommon::QueueManager::master_event_all);
|
||||
ThreadCommon::Event* e = new ThreadCommon::Event(ThreadCommon::Null, 0);
|
||||
ThreadCommon::Event* e = new ThreadCommon::Event(ThreadCommon::Rotary, 1);
|
||||
|
||||
qmanager->send<ThreadCommon::Event>(ThreadCommon::QueueManager::master_event_all, e, 1000);
|
||||
//</Queue_test>
|
||||
|
||||
@ -18,13 +18,9 @@ void Master::taskFunction() {
|
||||
bool LedState = true;
|
||||
for (;;) {
|
||||
_qm->receive<ThreadCommon::Event>(ThreadCommon::QueueManager::master_event_all, &data, portMAX_DELAY);
|
||||
if(data.getData() == 1 && data.getType() == ThreadCommon::EventType::Rotary){
|
||||
Board_LED_Set(led, LedState);
|
||||
LedState = (bool) !LedState;
|
||||
led++;
|
||||
if(led > 2){
|
||||
led = 0;
|
||||
}
|
||||
vTaskDelay(1000);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user