diff --git a/TouchGFX/generated/gui_generated/include/gui_generated/endurance_screen/EnduranceViewBase.hpp b/TouchGFX/generated/gui_generated/include/gui_generated/endurance_screen/EnduranceViewBase.hpp index 05a75f6..ed9bbf6 100644 --- a/TouchGFX/generated/gui_generated/include/gui_generated/endurance_screen/EnduranceViewBase.hpp +++ b/TouchGFX/generated/gui_generated/include/gui_generated/endurance_screen/EnduranceViewBase.hpp @@ -12,6 +12,7 @@ #include #include #include +#include class EnduranceViewBase : public touchgfx::View { @@ -69,6 +70,7 @@ protected: touchgfx::BoxWithBorder lastLapBox; touchgfx::TextArea textArea1; touchgfx::TextAreaWithOneWildcard lastLapBat; + ProgressBar progressBar; private: diff --git a/TouchGFX/generated/gui_generated/src/endurance_screen/EnduranceViewBase.cpp b/TouchGFX/generated/gui_generated/src/endurance_screen/EnduranceViewBase.cpp index 5042cd6..078ebcc 100644 --- a/TouchGFX/generated/gui_generated/src/endurance_screen/EnduranceViewBase.cpp +++ b/TouchGFX/generated/gui_generated/src/endurance_screen/EnduranceViewBase.cpp @@ -115,6 +115,9 @@ EnduranceViewBase::EnduranceViewBase() lastLapContainer.add(lastLapBat); add(lastLapContainer); + + progressBar.setXY(12, 15); + add(progressBar); } EnduranceViewBase::~EnduranceViewBase() @@ -124,7 +127,7 @@ EnduranceViewBase::~EnduranceViewBase() void EnduranceViewBase::setupScreen() { - + progressBar.initialize(); } void EnduranceViewBase::handleKeyEvent(uint8_t key) diff --git a/TouchGFX/gui/include/gui/containers/ProgressBar.hpp b/TouchGFX/gui/include/gui/containers/ProgressBar.hpp index f1a64d5..7726e1a 100644 --- a/TouchGFX/gui/include/gui/containers/ProgressBar.hpp +++ b/TouchGFX/gui/include/gui/containers/ProgressBar.hpp @@ -12,12 +12,14 @@ public: virtual void initialize(); - void setProgress(bool active, ProgressType type, float progress); + void update(); protected: private: touchgfx::Unicode::UnicodeChar r2dProgBuffer[16]; touchgfx::Unicode::UnicodeChar socBuffer[4]; + + void setProgress(bool active, ProgressType type, float progress); }; #endif // PROGRESSBAR_HPP diff --git a/TouchGFX/gui/include/gui/driverview_screen/DriverViewView.hpp b/TouchGFX/gui/include/gui/driverview_screen/DriverViewView.hpp index 29c2cc1..233aa51 100644 --- a/TouchGFX/gui/include/gui/driverview_screen/DriverViewView.hpp +++ b/TouchGFX/gui/include/gui/driverview_screen/DriverViewView.hpp @@ -3,7 +3,6 @@ #include "gui/common/NamedField.hpp" #include "gui/containers/DriverViewFieldSelection.hpp" -#include "gui/containers/ProgressBar.hpp" #include #include @@ -25,7 +24,7 @@ public: void setTemps(const Temperatures &temps); void setTSSoC(uint8_t soc); - void setProgress(bool active, ProgressType type, float progress); + void updateProgress(); void showAMSError(); void clearErrorPopup(); diff --git a/TouchGFX/gui/include/gui/endurance_screen/EnduranceView.hpp b/TouchGFX/gui/include/gui/endurance_screen/EnduranceView.hpp index e3144a2..c3ed272 100644 --- a/TouchGFX/gui/include/gui/endurance_screen/EnduranceView.hpp +++ b/TouchGFX/gui/include/gui/endurance_screen/EnduranceView.hpp @@ -58,6 +58,7 @@ public: void updateBatDelta(); void updateDetails(); + void updateProgress(); protected: BatDelta lastLapDelta; diff --git a/TouchGFX/gui/src/containers/ProgressBar.cpp b/TouchGFX/gui/src/containers/ProgressBar.cpp index 69ef5e4..84ea143 100644 --- a/TouchGFX/gui/src/containers/ProgressBar.cpp +++ b/TouchGFX/gui/src/containers/ProgressBar.cpp @@ -5,6 +5,22 @@ ProgressBar::ProgressBar() {} void ProgressBar::initialize() { ProgressBarBase::initialize(); } +void ProgressBar::update() { + 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; + } + setProgress(true, ProgressType::PRECHARGE, progress); + } else if (vehicle_state.r2d_progress > R2D_TSACTIVE && + vehicle_state.r2d_progress < R2D_INIT_SUCCESS) { + setProgress(true, ProgressType::R2D, vehicle_state.r2d_progress); + } else { + setProgress(false, ProgressType::PRECHARGE, 0); + } +} + void ProgressBar::setProgress(bool active, ProgressType type, float progress) { if (active) { switch (type) { diff --git a/TouchGFX/gui/src/driverview_screen/DriverViewPresenter.cpp b/TouchGFX/gui/src/driverview_screen/DriverViewPresenter.cpp index f77cd0e..b465e03 100644 --- a/TouchGFX/gui/src/driverview_screen/DriverViewPresenter.cpp +++ b/TouchGFX/gui/src/driverview_screen/DriverViewPresenter.cpp @@ -25,7 +25,7 @@ void DriverViewPresenter::deactivate() {} void DriverViewPresenter::vehicleStateUpdated() { view.setTemps(vehicle_state.temps); view.setTSSoC(vehicle_state.soc_ts); - updateProgress(); + view.updateProgress(); updateErrorPopup(); view.updateFieldValues(); @@ -42,22 +42,6 @@ void DriverViewPresenter::setFieldType(size_t i, DataFieldType type) { view.setFieldType(i, type); } -void DriverViewPresenter::updateProgress() { - 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.setProgress(true, ProgressType::PRECHARGE, progress); - } else if (vehicle_state.r2d_progress > R2D_TSACTIVE && - vehicle_state.r2d_progress < R2D_INIT_SUCCESS) { - view.setProgress(true, ProgressType::R2D, vehicle_state.r2d_progress); - } else { - view.setProgress(false, ProgressType::PRECHARGE, 0); - } -} - void DriverViewPresenter::updateErrorPopup() { static uint32_t last_error = 0; if (vehicle_state.ts_state == TS_ERROR) { diff --git a/TouchGFX/gui/src/driverview_screen/DriverViewView.cpp b/TouchGFX/gui/src/driverview_screen/DriverViewView.cpp index fc95f88..354d073 100644 --- a/TouchGFX/gui/src/driverview_screen/DriverViewView.cpp +++ b/TouchGFX/gui/src/driverview_screen/DriverViewView.cpp @@ -3,7 +3,6 @@ #include "gui/containers/DriverViewStatusItem.hpp" #include "gui/containers/ProgressBar.hpp" #include "gui/driverview_screen/DriverViewPresenter.hpp" -#include "texts/TextKeysAndLanguages.hpp" #include "touchgfx/Callback.hpp" #include "touchgfx/Drawable.hpp" #include "touchgfx/Unicode.hpp" @@ -97,10 +96,7 @@ void DriverViewView::setTSSoC(uint8_t value) { socLabel.invalidate(); } -void DriverViewView::setProgress(bool active, ProgressType type, - float progress) { - progressBar.setProgress(active, type, progress); -} +void DriverViewView::updateProgress() { progressBar.update(); } void DriverViewView::showAMSError() { errorPopup.setVisible(true); diff --git a/TouchGFX/gui/src/endurance_screen/EnduranceView.cpp b/TouchGFX/gui/src/endurance_screen/EnduranceView.cpp index a30cf7b..6ef6165 100644 --- a/TouchGFX/gui/src/endurance_screen/EnduranceView.cpp +++ b/TouchGFX/gui/src/endurance_screen/EnduranceView.cpp @@ -37,6 +37,8 @@ void EnduranceView::updateDetails() { tbatBuffer.setFloatValue(vehicle_state.max_cell_temp); } +void EnduranceView::updateProgress() { progressBar.update(); } + BatDelta::BatDelta(touchgfx::BoxWithBorder &box, touchgfx::TextAreaWithOneWildcard &field) : box(box), field(field), value(INT_MIN) {} diff --git a/TouchGFX/steering-wheel.touchgfx b/TouchGFX/steering-wheel.touchgfx index bbbd663..adafc69 100644 --- a/TouchGFX/steering-wheel.touchgfx +++ b/TouchGFX/steering-wheel.touchgfx @@ -1848,6 +1848,15 @@ "Wildcard1": {} } ] + }, + { + "Type": "CustomContainerInstance", + "Name": "progressBar", + "X": 12, + "Y": 15, + "Width": 456, + "Height": 33, + "CustomContainerDefinitionName": "ProgressBar" } ], "Interactions": [