diff --git a/source/shoh/src/main.cpp b/source/shoh/src/main.cpp index d49e58c..7558463 100644 --- a/source/shoh/src/main.cpp +++ b/source/shoh/src/main.cpp @@ -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(qmanager)); // 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::QueueManager::master_event_all, e, 1000); // diff --git a/source/shoh/src/threads/master/Master.cpp b/source/shoh/src/threads/master/Master.cpp index 411baaa..e986e74 100644 --- a/source/shoh/src/threads/master/Master.cpp +++ b/source/shoh/src/threads/master/Master.cpp @@ -18,13 +18,9 @@ void Master::taskFunction() { bool LedState = true; for (;;) { _qm->receive(ThreadCommon::QueueManager::master_event_all, &data, portMAX_DELAY); - Board_LED_Set(led, LedState); - LedState = (bool) !LedState; - led++; - if(led > 2){ - led = 0; + if(data.getData() == 1 && data.getType() == ThreadCommon::EventType::Rotary){ + Board_LED_Set(led, LedState); } - vTaskDelay(1000); } }