Add precharge progress bar
This commit is contained in:
		@ -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;
 | 
			
		||||
 | 
			
		||||
@ -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();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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);
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user