threads: master: [#46] use new Event
This commit is contained in:
parent
2f6bce5d9a
commit
23dda8ba74
@ -36,9 +36,10 @@ Master::~Master()
|
|||||||
LOG_ERROR("Master was deleted");
|
LOG_ERROR("Master was deleted");
|
||||||
}
|
}
|
||||||
|
|
||||||
void Master::HandleEventType(Event* e, Event::EventType type)
|
void Master::HandleEventType(Event* e)
|
||||||
{
|
{
|
||||||
switch (type)
|
EventRawData rd = e->getData();
|
||||||
|
switch (e->getType())
|
||||||
{
|
{
|
||||||
case Event::Null:
|
case Event::Null:
|
||||||
break;
|
break;
|
||||||
@ -46,7 +47,7 @@ void Master::HandleEventType(Event* e, Event::EventType type)
|
|||||||
//Comes from rotary, goes to manager
|
//Comes from rotary, goes to manager
|
||||||
_qm->send<Event>(ThreadCommon::QueueManager::manager_event_master, e, 0);
|
_qm->send<Event>(ThreadCommon::QueueManager::manager_event_master, e, 0);
|
||||||
//LOG_WARNING("Timestamp: %zus, Clock: %zu, Chip freq: %zu", LPC_SCT1->COUNT_U / Chip_Clock_GetMainClockRate(), LPC_SCT1->COUNT_U, Chip_Clock_GetMainClockRate());
|
//LOG_WARNING("Timestamp: %zus, Clock: %zu, Chip freq: %zu", LPC_SCT1->COUNT_U / Chip_Clock_GetMainClockRate(), LPC_SCT1->COUNT_U, Chip_Clock_GetMainClockRate());
|
||||||
LOG_DEBUG("Rotary: %s has been forwarded to manager", rotary_direction[e->getDataOf(type)]);
|
LOG_DEBUG("Rotary: %s has been forwarded to manager", rotary_direction[rd]);
|
||||||
break;
|
break;
|
||||||
case Event::InternalTemp:
|
case Event::InternalTemp:
|
||||||
// TODO remove (deprecated)
|
// TODO remove (deprecated)
|
||||||
@ -55,14 +56,15 @@ void Master::HandleEventType(Event* e, Event::EventType type)
|
|||||||
//Comes from sensors, goes to relay & manager
|
//Comes from sensors, goes to relay & manager
|
||||||
_qm->send<Event>(ThreadCommon::QueueManager::relay_event_master, e, 0);
|
_qm->send<Event>(ThreadCommon::QueueManager::relay_event_master, e, 0);
|
||||||
_qm->send<Event>(ThreadCommon::QueueManager::manager_event_master, e, 0);
|
_qm->send<Event>(ThreadCommon::QueueManager::manager_event_master, e, 0);
|
||||||
LOG_DEBUG("ExtTemp: %d has been forwarded to manager and relay", e->getDataOf(type));
|
LOG_DEBUG("ExtTemp: %d has been forwarded to manager and relay", rd);
|
||||||
break;
|
break;
|
||||||
case Event::SetPoint:
|
case Event::SetPoint:
|
||||||
//Comes from manager, goes to relay
|
//Comes from manager, goes to relay
|
||||||
_qm->send<Event>(ThreadCommon::QueueManager::relay_event_master, e, 0);
|
_qm->send<Event>(ThreadCommon::QueueManager::relay_event_master, e, 0);
|
||||||
LOG_DEBUG("SetPoint: %d has been forwarded to relay", e->getDataOf(type));
|
LOG_DEBUG("SetPoint: %d has been forwarded to relay", rd);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
LOG_ERROR("Unknown EventType");
|
||||||
assert(0);
|
assert(0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -70,22 +72,13 @@ void Master::HandleEventType(Event* e, Event::EventType type)
|
|||||||
|
|
||||||
void Master::taskFunction() {
|
void Master::taskFunction() {
|
||||||
Event data(Event::Null, 0);
|
Event data(Event::Null, 0);
|
||||||
for (;;) {
|
for (;;)
|
||||||
|
{
|
||||||
if(!_qm->receive<Event>(ThreadCommon::QueueManager::master_event_all, &data, 10000))
|
if(!_qm->receive<Event>(ThreadCommon::QueueManager::master_event_all, &data, 10000))
|
||||||
data.setDataOf(Event::Rotary, ThreadCommon::RotaryAction::Idle);
|
data.setDataOf(Event::Rotary, ThreadCommon::RotaryAction::Idle);
|
||||||
|
|
||||||
for(Event::EventType i :
|
HandleEventType(&data);
|
||||||
{Event::Null,
|
|
||||||
Event::Rotary,
|
|
||||||
Event::InternalTemp,
|
|
||||||
Event::ExternalTemp,
|
|
||||||
Event::SetPoint})
|
|
||||||
{
|
|
||||||
if (data.getDataOf(i) != ERROR_RETURN)
|
|
||||||
{
|
|
||||||
HandleEventType(&data, i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
global_clock->updateClock();
|
global_clock->updateClock();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,7 +26,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
Event* message;
|
Event* message;
|
||||||
ThreadCommon::QueueManager* _qm;
|
ThreadCommon::QueueManager* _qm;
|
||||||
void HandleEventType(Event* e, Event::EventType type);
|
void HandleEventType(Event* e);
|
||||||
};
|
};
|
||||||
|
|
||||||
void thread_master(void* pvParams);
|
void thread_master(void* pvParams);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user