Use an event flag group for GUI updates
This commit is contained in:
@ -12,28 +12,12 @@
|
||||
Model::Model() : modelListener(0) {}
|
||||
|
||||
void Model::tick() {
|
||||
VehicleUpdate msg;
|
||||
while (tx_queue_receive(&vehicle_update_queue, &msg, TX_NO_WAIT) ==
|
||||
TX_SUCCESS) {
|
||||
switch (msg) {
|
||||
case VEH_UPD_AMS:
|
||||
modelListener->amsUpdated();
|
||||
break;
|
||||
case VEH_UPD_MISSION:
|
||||
modelListener->missionUpdated();
|
||||
break;
|
||||
case VEH_UPD_STATUS:
|
||||
modelListener->statusUpdated();
|
||||
break;
|
||||
case VEH_UPD_TS_CURRENT:
|
||||
modelListener->tsCurrentUpdated();
|
||||
break;
|
||||
case VEH_UPD_TS_VOLTAGE_VEH:
|
||||
modelListener->tsVoltageVehicleUpdated();
|
||||
break;
|
||||
case VEH_UPD_TS_VOLTAGE_BAT:
|
||||
modelListener->tsVoltageBatteryUpdated();
|
||||
break;
|
||||
}
|
||||
ULONG events;
|
||||
if (tx_event_flags_get(&gui_update_events, GUI_UPDATE_VEHICLE_STATE,
|
||||
TX_OR_CLEAR, &events, TX_NO_WAIT) != TX_SUCCESS) {
|
||||
return;
|
||||
}
|
||||
if (events & GUI_UPDATE_VEHICLE_STATE) {
|
||||
modelListener->vehicleStateUpdated();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user