40 lines
930 B
C++
40 lines
930 B
C++
#include "main.h"
|
|
#include "stm32h7xx_hal.h"
|
|
#include "stm32h7xx_hal_gpio.h"
|
|
#include "stw_defines.h"
|
|
#include "tx_api.h"
|
|
#include "ui.h"
|
|
#include "vehicle.h"
|
|
|
|
#include <gui/model/Model.hpp>
|
|
#include <gui/model/ModelListener.hpp>
|
|
|
|
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;
|
|
}
|
|
}
|
|
}
|