Add precharge progress bar

This commit is contained in:
2023-03-21 19:05:54 +01:00
parent ff37c8503d
commit 04b95a19d1
25 changed files with 4724 additions and 86 deletions

View File

@ -23,6 +23,7 @@ public:
void setTireTemps(const TireTemps &temps);
void setTSSoC(uint8_t soc);
void setPrecharge(bool active, float progress);
void selectPrevField() override;
void selectNextField() override;

View File

@ -18,6 +18,16 @@ void DriverViewPresenter::deactivate() {}
void DriverViewPresenter::vehicleStateUpdated() {
view.setTireTemps(vehicle_state.tire_temps);
view.setTSSoC(vehicle_state.soc);
if (vehicle_state.ts_state == TS_PRECHARGE) {
float progress = 0;
if (vehicle_state.ts_voltage_bat != 0) {
progress =
vehicle_state.ts_voltage_veh / vehicle_state.ts_voltage_bat * 100;
}
view.setPrecharge(true, progress);
} else {
view.setPrecharge(false, 0);
}
view.updateFieldValues();
}

View File

@ -46,6 +46,21 @@ void DriverViewView::setTSSoC(uint8_t soc) {
tsSoC.invalidate();
}
void DriverViewView::setPrecharge(bool active, float progress) {
if (active) {
prechargeLabel.setVisible(true);
prechargeLabel.invalidate();
prechargeProgress.setVisible(true);
prechargeProgress.setValue(progress);
prechargeProgress.invalidate();
} else if (prechargeLabel.isVisible() || prechargeProgress.isVisible()) {
prechargeLabel.setVisible(false);
prechargeLabel.invalidate();
prechargeProgress.setVisible(false);
prechargeProgress.invalidate();
}
}
void DriverViewView::selectNextField() {
if (!fieldTypeSelection.isVisible()) {
fieldTypeSelection.setVisible(true);