#include "changevaluedisplay_unifiedmodelmode.h" // system includes #include // esp-idf includes #include // 3rdparty lib includes #include #include #include // local includes #include "utils.h" namespace espgui { namespace { constexpr const char * const TAG = "ESPGUI"; constexpr char TEXT_COMMUTATION[] = "Commutation"; constexpr char TEXT_SINUSOIDAL[] = "Sinusoidal"; constexpr char TEXT_FOCVOLTAGE[] = "FOC/Voltage"; constexpr char TEXT_FOCSPEED[] = "FOC/Speed"; constexpr char TEXT_FOCTORQUE[] = "FOC/Torque"; constexpr char TEXT_BACK[] = "Back"; } // namespace ChangeValueDisplay::ChangeValueDisplay() { constructMenuItem, StaticText>>(UnifiedModelMode::Commutation, *this, *this, *this); constructMenuItem, StaticText>>(UnifiedModelMode::Sinusoidal, *this, *this, *this); constructMenuItem, StaticText>>(UnifiedModelMode::FocVoltage, *this, *this, *this); constructMenuItem, StaticText>>(UnifiedModelMode::FocSpeed, *this, *this, *this); constructMenuItem, StaticText>>(UnifiedModelMode::FocTorque, *this, *this, *this); constructMenuItem, StaticMenuItemIcon<&espgui::icons::back>>>(*this); } void ChangeValueDisplay::start() { Base::start(); switch (const auto value = getValue()) { case UnifiedModelMode::Commutation: setSelectedIndex(0); break; case UnifiedModelMode::Sinusoidal: setSelectedIndex(1); break; case UnifiedModelMode::FocVoltage: setSelectedIndex(2); break; case UnifiedModelMode::FocSpeed: setSelectedIndex(3); break; case UnifiedModelMode::FocTorque: setSelectedIndex(4); break; default: ESP_LOGW(TAG, "Unknown UnifiedModelMode: %i", std::to_underlying(value)); setSelectedIndex(5); } } } // namespace espgui