Display R2D progress
This commit is contained in:
@ -24,9 +24,13 @@ void DriverViewPresenter::vehicleStateUpdated() {
|
||||
progress =
|
||||
vehicle_state.ts_voltage_veh / vehicle_state.ts_voltage_bat * 100;
|
||||
}
|
||||
view.setPrecharge(true, progress);
|
||||
view.setProgress(true, DriverViewProgressType::PRECHARGE, progress);
|
||||
} else if (vehicle_state.r2d_progress != R2D_NONE &&
|
||||
vehicle_state.r2d_progress != R2D_INIT_SUCCESS) {
|
||||
view.setProgress(true, DriverViewProgressType::R2D,
|
||||
vehicle_state.r2d_progress);
|
||||
} else {
|
||||
view.setPrecharge(false, 0);
|
||||
view.setProgress(false, DriverViewProgressType::PRECHARGE, 0);
|
||||
}
|
||||
|
||||
view.updateFieldValues();
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
#include "gui/containers/DriverViewField.hpp"
|
||||
#include "gui/driverview_screen/DriverViewPresenter.hpp"
|
||||
#include "texts/TextKeysAndLanguages.hpp"
|
||||
#include "touchgfx/Unicode.hpp"
|
||||
#include <gui/driverview_screen/DriverViewView.hpp>
|
||||
#include <stddef.h>
|
||||
|
||||
@ -46,18 +47,37 @@ void DriverViewView::setTSSoC(uint8_t soc) {
|
||||
tsSoC.invalidate();
|
||||
}
|
||||
|
||||
void DriverViewView::setPrecharge(bool active, float progress) {
|
||||
void DriverViewView::setProgress(bool active, DriverViewProgressType type,
|
||||
float progress) {
|
||||
if (active) {
|
||||
prechargeLabel.setVisible(true);
|
||||
switch (type) {
|
||||
case DriverViewProgressType::PRECHARGE:
|
||||
prechargeLabel.setVisible(true);
|
||||
r2dLabel.setVisible(false);
|
||||
progressBar.setValue(progress);
|
||||
break;
|
||||
case DriverViewProgressType::R2D:
|
||||
touchgfx::Unicode::snprintf(
|
||||
r2dProgBuffer, sizeof(r2dProgBuffer) / sizeof(*r2dProgBuffer), "%d",
|
||||
progress);
|
||||
r2dLabel.setWildcard(r2dProgBuffer);
|
||||
r2dLabel.setVisible(true);
|
||||
prechargeLabel.setVisible(false);
|
||||
progressBar.setValue(progress * 100 / 8);
|
||||
break;
|
||||
}
|
||||
prechargeLabel.invalidate();
|
||||
prechargeProgress.setVisible(true);
|
||||
prechargeProgress.setValue(progress);
|
||||
prechargeProgress.invalidate();
|
||||
} else if (prechargeLabel.isVisible() || prechargeProgress.isVisible()) {
|
||||
r2dLabel.invalidate();
|
||||
progressBar.setVisible(true);
|
||||
progressBar.invalidate();
|
||||
} else if (prechargeLabel.isVisible() || r2dLabel.isVisible() ||
|
||||
progressBar.isVisible()) {
|
||||
prechargeLabel.setVisible(false);
|
||||
prechargeLabel.invalidate();
|
||||
prechargeProgress.setVisible(false);
|
||||
prechargeProgress.invalidate();
|
||||
r2dLabel.setVisible(false);
|
||||
r2dLabel.invalidate();
|
||||
progressBar.setVisible(false);
|
||||
progressBar.invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user