Compare commits

..

No commits in common. "58ce5b06c61e228d35dbedcf4c41538ca062a831" and "d5b65828aa12e6c9b85f3f0a401886297f2806eb" have entirely different histories.

11 changed files with 82 additions and 104 deletions

View File

@ -46,23 +46,15 @@ typedef enum {
INICHK_START = 0,
INICHK_WD_CHECK = 1,
INICHK_WD_OK = 2,
INICHK_POS_CHK_1 = 3,
INICHK_ASB_CHECK_A_1 = 4,
INICHK_ASB_CHECK_A_2 = 5,
INICHK_SWITCH_B = 6,
INICHK_ASB_CHECK_B_1 = 7,
INICHK_ASB_CHECK_B_2 = 8,
INICHK_SWITCH_A = 9,
INICHK_ASB_CHECK_AB_1 = 10,
INICHK_ASB_CHECK_AB_2 = 11,
INICHK_POS_CHK_2 = 12,
INICHK_WAIT_TS = 13,
INICHK_DONE = 14,
INICHK_ERROR = 15
INICHK_ASB_CHECK_1 = 3,
INICHK_ASB_CHECK_2 = 4,
INICHK_WAIT_TS = 5,
INICHK_EBS_CHECK_A = 6,
INICHK_EBS_CHECK_B = 7,
INICHK_DONE = 8,
INICHK_ERROR = 9
} IniChkState;
const char *inichkstate_str(IniChkState state);
typedef enum {
AMS_ERROR_NONE = 0x00,
AMS_ERROR_SLAVE_TIMEOUT = 0x01,

View File

@ -1,41 +1,3 @@
#include "vehicle_state.h"
VehicleState vehicle_state = {0};
const char *inichkstate_str(IniChkState state) {
switch (vehicle_state.ini_chk_state) {
case INICHK_START:
return "START";
case INICHK_WD_CHECK:
return "WD CHK";
case INICHK_WD_OK:
return "WD OK";
case INICHK_POS_CHK_1:
return "POS CHK 1";
case INICHK_ASB_CHECK_A_1:
return "ASB CHK A1";
case INICHK_ASB_CHECK_A_2:
return "ASB CHK A2";
case INICHK_SWITCH_B:
return "SWITCH B";
case INICHK_ASB_CHECK_B_1:
return "ASB CHK B1";
case INICHK_ASB_CHECK_B_2:
return "ASB CHK B2";
case INICHK_SWITCH_A:
return "SWITCH A";
case INICHK_ASB_CHECK_AB_1:
return "ASB CHK AB1";
case INICHK_ASB_CHECK_AB_2:
return "ASB CHK AB2";
case INICHK_POS_CHK_2:
return "POS CHK 2";
case INICHK_WAIT_TS:
return "WAIT TS";
case INICHK_DONE:
return "DONE";
case INICHK_ERROR:
return "ERROR";
}
return "UNKNOWN";
}

View File

@ -28,7 +28,6 @@ public:
virtual ~AMIPresenter(){};
void vehicleStateUpdated() override;
void nextScreen() override;
private:
AMIPresenter();

View File

@ -17,11 +17,7 @@ public:
model.tick();
}
void setBackToMissionSelect(bool backToMissionSelect);
bool getBackToMissionSelect() const;
private:
bool backToMissionSelect;
};
#endif // FRONTENDAPPLICATION_HPP

View File

@ -1,7 +1,6 @@
#ifndef MISSIONSELECTPRESENTER_HPP
#define MISSIONSELECTPRESENTER_HPP
#include "stw_defines.h"
#include <gui/model/ModelListener.hpp>
#include <mvp/Presenter.hpp>
@ -31,14 +30,10 @@ public:
void vehicleStateUpdated() override;
void nextScreen() override;
private:
MissionSelectPresenter();
MissionSelectView &view;
Mission initialMission;
};
#endif // MISSIONSELECTPRESENTER_HPP

View File

@ -33,9 +33,3 @@ void AMIPresenter::vehicleStateUpdated() {
}
view.setConePositions(vehicle_state.cone_pos, cone_count);
}
void AMIPresenter::nextScreen() {
FrontendApplication *app =
static_cast<FrontendApplication *>(FrontendApplication::getInstance());
app->gotoDebugViewScreenNoTransition();
}

View File

@ -80,16 +80,47 @@ void AMIView::setIniChkState(IniChkState state) {
} else {
if (state == INICHK_WAIT_TS) {
progressBar.setColor(DriverViewStatusItem::COLOR_TS);
progressBar.setValue(100);
} else {
progressBar.setColor(DriverViewStatusItem::COLOR_OK);
float prog = ((float)vehicle_state.ini_chk_state) / INICHK_DONE;
progressBar.setValue(prog * 100);
}
float prog = ((float)vehicle_state.ini_chk_state) / INICHK_DONE;
progressBar.setValue(prog * 100);
}
progressBar.invalidate();
const char *label = inichkstate_str(state);
const char *label = "UNKNOWN";
switch (vehicle_state.ini_chk_state) {
case INICHK_START:
label = "START";
break;
case INICHK_WD_CHECK:
label = "WD CHK";
break;
case INICHK_WD_OK:
label = "WD OK";
break;
case INICHK_ASB_CHECK_1:
label = "ASB CHK 1";
break;
case INICHK_ASB_CHECK_2:
label = "ASB CHK 2";
break;
case INICHK_WAIT_TS:
label = "WAIT TS";
break;
case INICHK_EBS_CHECK_A:
label = "EBS CHK A";
break;
case INICHK_EBS_CHECK_B:
label = "EBS CHK B";
break;
case INICHK_DONE:
label = "DONE";
break;
case INICHK_ERROR:
label = "ERROR";
break;
}
touchgfx::Unicode::strncpy(progressBuffer, label,
sizeof(progressBuffer) / sizeof(*progressBuffer));
progressLabel.setWildcard(progressBuffer);

View File

@ -3,14 +3,6 @@
#include "gui/common/NamedField.hpp"
FrontendApplication::FrontendApplication(Model &m, FrontendHeap &heap)
: FrontendApplicationBase(m, heap), backToMissionSelect(false) {
: FrontendApplicationBase(m, heap) {
namedFieldSort();
}
void FrontendApplication::setBackToMissionSelect(bool backToMissionSelect) {
this->backToMissionSelect = backToMissionSelect;
}
bool FrontendApplication::getBackToMissionSelect() const {
return backToMissionSelect;
}

View File

@ -144,7 +144,42 @@ void *get_r2dprog_text() {
}
void *get_inichk_text() {
return (void *)inichkstate_str(vehicle_state.ini_chk_state);
const char *text;
switch (vehicle_state.ini_chk_state) {
case INICHK_START:
text = "START";
break;
case INICHK_WD_CHECK:
text = "WD CHK";
break;
case INICHK_WD_OK:
text = "WD OK";
break;
case INICHK_ASB_CHECK_1:
text = "ASB CHK1";
break;
case INICHK_ASB_CHECK_2:
text = "ASB CHK2";
break;
case INICHK_WAIT_TS:
text = "WAIT TS";
break;
case INICHK_EBS_CHECK_A:
text = "EBS CHKA";
break;
case INICHK_EBS_CHECK_B:
text = "EBS CHKB";
break;
case INICHK_DONE:
text = "DONE";
break;
case INICHK_ERROR:
text = "ERROR";
break;
default:
text = "UNKNOWN";
}
return (void *)text;
}
void *get_sdc_text() {

View File

@ -1,4 +1,3 @@
#include "gui/common/FrontendApplication.hpp"
#include <gui/debugview_screen/DebugViewPresenter.hpp>
#include <gui/debugview_screen/DebugViewView.hpp>
@ -11,8 +10,6 @@ void DebugViewPresenter::deactivate() {}
void DebugViewPresenter::vehicleStateUpdated() { view.updateFieldValues(); }
void DebugViewPresenter::nextScreen() {
FrontendApplication *app =
static_cast<FrontendApplication *>(Application::getInstance());
app->setBackToMissionSelect(true);
app->gotoMissionSelectScreenNoTransition();
static_cast<FrontendApplication *>(Application::getInstance())
->gotoDriverViewScreenNoTransition();
}

View File

@ -9,19 +9,13 @@
MissionSelectPresenter::MissionSelectPresenter(MissionSelectView &v)
: view(v) {}
void MissionSelectPresenter::activate() {
initialMission = vehicle_state.active_mission;
}
void MissionSelectPresenter::activate() {}
void MissionSelectPresenter::deactivate() {}
void MissionSelectPresenter::vehicleStateUpdated() {
FrontendApplication *app =
static_cast<FrontendApplication *>(FrontendApplication::getInstance());
if (app->getBackToMissionSelect() &&
vehicle_state.active_mission == initialMission) {
return;
}
switch (vehicle_state.active_mission) {
case MISSION_NONE:
// Do nothing
@ -33,12 +27,3 @@ void MissionSelectPresenter::vehicleStateUpdated() {
app->gotoAMIScreenNoTransition();
}
}
void MissionSelectPresenter::nextScreen() {
FrontendApplication *app =
static_cast<FrontendApplication *>(FrontendApplication::getInstance());
if (app->getBackToMissionSelect()) {
app->gotoAMIScreenNoTransition();
return;
}
}