More refactorings
This commit is contained in:
@ -53,6 +53,7 @@ set(headers
|
|||||||
debugtexthelpers.h
|
debugtexthelpers.h
|
||||||
displays/bmsdisplay.h
|
displays/bmsdisplay.h
|
||||||
displays/bobbydisplay.h
|
displays/bobbydisplay.h
|
||||||
|
displays/bobbydisplaywithtitle.h
|
||||||
displays/bobbychangevaluedisplay.h
|
displays/bobbychangevaluedisplay.h
|
||||||
displays/bobbymenudisplay.h
|
displays/bobbymenudisplay.h
|
||||||
displays/calibratedisplay.h
|
displays/calibratedisplay.h
|
||||||
@ -274,6 +275,7 @@ set(sources
|
|||||||
debugtexthelpers.cpp
|
debugtexthelpers.cpp
|
||||||
displays/bmsdisplay.cpp
|
displays/bmsdisplay.cpp
|
||||||
displays/bobbydisplay.cpp
|
displays/bobbydisplay.cpp
|
||||||
|
displays/bobbydisplaywithtitle.cpp
|
||||||
displays/bobbychangevaluedisplay.cpp
|
displays/bobbychangevaluedisplay.cpp
|
||||||
displays/bobbymenudisplay.cpp
|
displays/bobbymenudisplay.cpp
|
||||||
displays/calibratedisplay.cpp
|
displays/calibratedisplay.cpp
|
||||||
|
@ -11,6 +11,8 @@ using namespace espgui;
|
|||||||
|
|
||||||
void BmsDisplay::initScreen()
|
void BmsDisplay::initScreen()
|
||||||
{
|
{
|
||||||
|
Base::initScreen();
|
||||||
|
|
||||||
tft.fillScreen(TFT_BLACK);
|
tft.fillScreen(TFT_BLACK);
|
||||||
tft.setTextColor(TFT_WHITE, TFT_BLACK);
|
tft.setTextColor(TFT_WHITE, TFT_BLACK);
|
||||||
|
|
||||||
@ -43,6 +45,8 @@ void BmsDisplay::initScreen()
|
|||||||
|
|
||||||
void BmsDisplay::redraw()
|
void BmsDisplay::redraw()
|
||||||
{
|
{
|
||||||
|
Base::redraw();
|
||||||
|
|
||||||
if (bluetoothSerial.hasClient())
|
if (bluetoothSerial.hasClient())
|
||||||
tft.setTextColor(TFT_GREEN, TFT_BLACK);
|
tft.setTextColor(TFT_GREEN, TFT_BLACK);
|
||||||
else
|
else
|
||||||
@ -90,16 +94,15 @@ void BmsDisplay::redraw()
|
|||||||
m_cycleLabel.clear();
|
m_cycleLabel.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BmsDisplay::rotate(int offset)
|
void BmsDisplay::buttonPressed(espgui::Button button)
|
||||||
{
|
{
|
||||||
if (offset < 0)
|
Base::buttonPressed(button);
|
||||||
switchScreen<MetersDisplay>();
|
|
||||||
else if (offset > 0)
|
|
||||||
switchScreen<StatusDisplay>();
|
|
||||||
}
|
|
||||||
|
|
||||||
void BmsDisplay::confirm()
|
switch (button)
|
||||||
{
|
{
|
||||||
switchScreen<MainMenu>();
|
case Button::Right: switchScreen<MainMenu>(); break;
|
||||||
|
case Button::Up: switchScreen<MetersDisplay>(); break;
|
||||||
|
case Button::Down: switchScreen<StatusDisplay>();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -3,24 +3,26 @@
|
|||||||
#if defined(FEATURE_BLUETOOTH) && defined(FEATURE_BMS)
|
#if defined(FEATURE_BLUETOOTH) && defined(FEATURE_BMS)
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <fmt/core.h>
|
#include <fmt/core.h>
|
||||||
|
#include <actions/switchscreenaction.h>
|
||||||
|
#include <widgets/label.h>
|
||||||
|
#include <screenmanager.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "display.h"
|
|
||||||
#include "actions/switchscreenaction.h"
|
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
#include "bmsutils.h"
|
#include "bmsutils.h"
|
||||||
#include "widgets/label.h"
|
#include "bobbydisplay.h"
|
||||||
#include "screenmanager.h"
|
|
||||||
|
|
||||||
class BmsDisplay :
|
class BmsDisplay :
|
||||||
public espgui::Display,
|
public BobbyDisplay,
|
||||||
public espgui::DummyBack
|
public espgui::DummyBack
|
||||||
{
|
{
|
||||||
|
using Base = BobbyDisplay;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void initScreen() override;
|
void initScreen() override;
|
||||||
void redraw() override;
|
void redraw() override;
|
||||||
void confirm() override;
|
|
||||||
void rotate(int offset) override;
|
void buttonPressed(espgui::Button button) override;
|
||||||
|
|
||||||
espgui::Label m_statusLabel{200, 0};
|
espgui::Label m_statusLabel{200, 0};
|
||||||
|
|
||||||
|
66
main/displays/bobbydisplaywithtitle.cpp
Normal file
66
main/displays/bobbydisplaywithtitle.cpp
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
#include "bobbydisplaywithtitle.h"
|
||||||
|
|
||||||
|
void BobbyDisplayWithTitle::rawButtonPressed(uint8_t button)
|
||||||
|
{
|
||||||
|
Base::rawButtonPressed(button);
|
||||||
|
switch (button)
|
||||||
|
{
|
||||||
|
using espgui::Button;
|
||||||
|
case 0: buttonPressed(Button::Left); break;
|
||||||
|
case 1: buttonPressed(Button::Right); break;
|
||||||
|
case 2: buttonPressed(Button::Up); break;
|
||||||
|
case 3: buttonPressed(Button::Down); break;
|
||||||
|
case 4: buttonPressed(Button(BobbyButton::Profile0)); break;
|
||||||
|
case 5: buttonPressed(Button(BobbyButton::Profile1)); break;
|
||||||
|
case 6: buttonPressed(Button(BobbyButton::Profile2)); break;
|
||||||
|
case 7: buttonPressed(Button(BobbyButton::Profile3)); break;
|
||||||
|
case 8: buttonPressed(Button(BobbyButton::Left2)); break;
|
||||||
|
case 9: buttonPressed(Button(BobbyButton::Right2)); break;
|
||||||
|
case 10: buttonPressed(Button(BobbyButton::Up2)); break;
|
||||||
|
case 11: buttonPressed(Button(BobbyButton::Down2)); break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void BobbyDisplayWithTitle::rawButtonReleased(uint8_t button)
|
||||||
|
{
|
||||||
|
Base::rawButtonReleased(button);
|
||||||
|
switch (button)
|
||||||
|
{
|
||||||
|
using espgui::Button;
|
||||||
|
case 0: buttonReleased(Button::Left); break;
|
||||||
|
case 1: buttonReleased(Button::Right); break;
|
||||||
|
case 2: buttonReleased(Button::Up); break;
|
||||||
|
case 3: buttonReleased(Button::Down); break;
|
||||||
|
case 4: buttonReleased(Button(BobbyButton::Profile0)); break;
|
||||||
|
case 5: buttonReleased(Button(BobbyButton::Profile1)); break;
|
||||||
|
case 6: buttonReleased(Button(BobbyButton::Profile2)); break;
|
||||||
|
case 7: buttonReleased(Button(BobbyButton::Profile3)); break;
|
||||||
|
case 8: buttonReleased(Button(BobbyButton::Left2)); break;
|
||||||
|
case 9: buttonReleased(Button(BobbyButton::Right2)); break;
|
||||||
|
case 10: buttonReleased(Button(BobbyButton::Up2)); break;
|
||||||
|
case 11: buttonReleased(Button(BobbyButton::Down2)); break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void BobbyDisplayWithTitle::buttonPressed(espgui::Button button)
|
||||||
|
{
|
||||||
|
Base::buttonPressed(button);
|
||||||
|
|
||||||
|
switch (BobbyButton(button))
|
||||||
|
{
|
||||||
|
case BobbyButton::Profile0: /* TODO */ break;
|
||||||
|
case BobbyButton::Profile1: /* TODO */ break;
|
||||||
|
case BobbyButton::Profile2: /* TODO */ break;
|
||||||
|
case BobbyButton::Profile3: /* TODO */ break;
|
||||||
|
case BobbyButton::Left2: /* TODO */ break;
|
||||||
|
case BobbyButton::Right2: /* TODO */ break;
|
||||||
|
case BobbyButton::Up2: /* TODO */ break;
|
||||||
|
case BobbyButton::Down2: /* TODO */ break;
|
||||||
|
default:;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void BobbyDisplayWithTitle::buttonReleased(espgui::Button button)
|
||||||
|
{
|
||||||
|
Base::buttonReleased(button);
|
||||||
|
}
|
22
main/displays/bobbydisplaywithtitle.h
Normal file
22
main/displays/bobbydisplaywithtitle.h
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// system includes
|
||||||
|
#include <type_traits>
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include <displaywithtitle.h>
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "bobbydisplay.h"
|
||||||
|
|
||||||
|
class BobbyDisplayWithTitle : public espgui::DisplayWithTitle
|
||||||
|
{
|
||||||
|
using Base = espgui::DisplayWithTitle;
|
||||||
|
|
||||||
|
public:
|
||||||
|
void rawButtonPressed(uint8_t button) override;
|
||||||
|
void rawButtonReleased(uint8_t button) override;
|
||||||
|
|
||||||
|
void buttonPressed(espgui::Button button) override;
|
||||||
|
void buttonReleased(espgui::Button button) override;
|
||||||
|
};
|
@ -168,97 +168,107 @@ void CalibrateDisplay::stop()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CalibrateDisplay::rotate(int offset)
|
void CalibrateDisplay::buttonPressed(espgui::Button button)
|
||||||
{
|
{
|
||||||
Base::rotate(offset);
|
Base::buttonPressed(button);
|
||||||
|
|
||||||
m_selectedButton += offset;
|
switch (button)
|
||||||
|
|
||||||
if (m_selectedButton < 0)
|
|
||||||
m_selectedButton = 1;
|
|
||||||
if (m_selectedButton > 1)
|
|
||||||
m_selectedButton = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CalibrateDisplay::confirm()
|
|
||||||
{
|
|
||||||
switch (m_selectedButton)
|
|
||||||
{
|
{
|
||||||
case 0: // left button pressed
|
using espgui::Button;
|
||||||
if (!raw_gas || !raw_brems || !m_gas || !m_brems)
|
case Button::Up:
|
||||||
return;
|
m_selectedButton--;
|
||||||
|
|
||||||
|
if (m_selectedButton < 0)
|
||||||
|
m_selectedButton = 1;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case Button::Down:
|
||||||
|
m_selectedButton++;
|
||||||
|
|
||||||
|
if (m_selectedButton > 1)
|
||||||
|
m_selectedButton = 0;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case Button::Left:
|
||||||
|
back:
|
||||||
switch (m_status)
|
switch (m_status)
|
||||||
{
|
{
|
||||||
case Status::Begin:
|
case Status::Begin:
|
||||||
m_status = Status::GasMin;
|
|
||||||
break;
|
|
||||||
case Status::GasMin:
|
|
||||||
m_gasMin = *raw_gas;
|
|
||||||
m_status = Status::GasMax;
|
|
||||||
break;
|
|
||||||
case Status::GasMax:
|
|
||||||
m_gasMax = *raw_gas;
|
|
||||||
m_status = Status::BremsMin;
|
|
||||||
{
|
|
||||||
const auto dead = (m_gasMax - m_gasMin)/20;
|
|
||||||
m_gasMin += dead;
|
|
||||||
m_gasMax -= dead;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case Status::BremsMin:
|
|
||||||
m_bremsMin = *raw_brems;
|
|
||||||
m_status = Status::BremsMax;
|
|
||||||
break;
|
|
||||||
case Status::BremsMax:
|
|
||||||
m_bremsMax = *raw_brems;
|
|
||||||
m_status = Status::Confirm;
|
|
||||||
{
|
|
||||||
const auto dead = (m_bremsMax - m_bremsMin)/20;
|
|
||||||
m_bremsMin += dead;
|
|
||||||
m_bremsMax -= dead;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case Status::Confirm:
|
|
||||||
if (*m_gas > 100 || *m_brems > 100)
|
|
||||||
return;
|
|
||||||
copyToSettings();
|
|
||||||
saveSettings();
|
|
||||||
if (m_bootup)
|
if (m_bootup)
|
||||||
espgui::switchScreen<StatusDisplay>();
|
espgui::switchScreen<StatusDisplay>();
|
||||||
|
else if (settings.lockscreen.keepLockedAfterReboot && settings.lockscreen.locked)
|
||||||
|
{
|
||||||
|
espgui::switchScreen<MainMenu>();
|
||||||
|
settings.lockscreen.locked = false;
|
||||||
|
saveSettings();
|
||||||
|
}
|
||||||
else
|
else
|
||||||
espgui::switchScreen<BoardcomputerHardwareSettingsMenu>();
|
espgui::switchScreen<BoardcomputerHardwareSettingsMenu>();
|
||||||
|
break;
|
||||||
|
case Status::GasMin:
|
||||||
|
case Status::GasMax:
|
||||||
|
case Status::BremsMin:
|
||||||
|
case Status::BremsMax:
|
||||||
|
case Status::Confirm:
|
||||||
|
m_selectedButton = 0;
|
||||||
|
m_status = Status::Begin;
|
||||||
|
copyFromSettings();
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
case 1: // right button pressed
|
|
||||||
back();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void CalibrateDisplay::back()
|
|
||||||
{
|
|
||||||
switch (m_status)
|
|
||||||
{
|
|
||||||
case Status::Begin:
|
|
||||||
if (m_bootup)
|
|
||||||
espgui::switchScreen<StatusDisplay>();
|
|
||||||
else if (settings.lockscreen.keepLockedAfterReboot && settings.lockscreen.locked)
|
|
||||||
{
|
|
||||||
espgui::switchScreen<MainMenu>();
|
|
||||||
settings.lockscreen.locked = false;
|
|
||||||
saveSettings();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
espgui::switchScreen<BoardcomputerHardwareSettingsMenu>();
|
|
||||||
break;
|
break;
|
||||||
case Status::GasMin:
|
case Button::Right:
|
||||||
case Status::GasMax:
|
switch (m_selectedButton)
|
||||||
case Status::BremsMin:
|
{
|
||||||
case Status::BremsMax:
|
case 0: // left button pressed
|
||||||
case Status::Confirm:
|
if (!raw_gas || !raw_brems || !m_gas || !m_brems)
|
||||||
m_selectedButton = 0;
|
return;
|
||||||
m_status = Status::Begin;
|
|
||||||
copyFromSettings();
|
switch (m_status)
|
||||||
|
{
|
||||||
|
case Status::Begin:
|
||||||
|
m_status = Status::GasMin;
|
||||||
|
break;
|
||||||
|
case Status::GasMin:
|
||||||
|
m_gasMin = *raw_gas;
|
||||||
|
m_status = Status::GasMax;
|
||||||
|
break;
|
||||||
|
case Status::GasMax:
|
||||||
|
m_gasMax = *raw_gas;
|
||||||
|
m_status = Status::BremsMin;
|
||||||
|
{
|
||||||
|
const auto dead = (m_gasMax - m_gasMin)/20;
|
||||||
|
m_gasMin += dead;
|
||||||
|
m_gasMax -= dead;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case Status::BremsMin:
|
||||||
|
m_bremsMin = *raw_brems;
|
||||||
|
m_status = Status::BremsMax;
|
||||||
|
break;
|
||||||
|
case Status::BremsMax:
|
||||||
|
m_bremsMax = *raw_brems;
|
||||||
|
m_status = Status::Confirm;
|
||||||
|
{
|
||||||
|
const auto dead = (m_bremsMax - m_bremsMin)/20;
|
||||||
|
m_bremsMin += dead;
|
||||||
|
m_bremsMax -= dead;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case Status::Confirm:
|
||||||
|
if (*m_gas > 100 || *m_brems > 100)
|
||||||
|
return;
|
||||||
|
copyToSettings();
|
||||||
|
saveSettings();
|
||||||
|
if (m_bootup)
|
||||||
|
espgui::switchScreen<StatusDisplay>();
|
||||||
|
else
|
||||||
|
espgui::switchScreen<BoardcomputerHardwareSettingsMenu>();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1: // right button pressed
|
||||||
|
goto back;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,24 +7,24 @@
|
|||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <fmt/core.h>
|
#include <fmt/core.h>
|
||||||
#include <cpputils.h>
|
#include <cpputils.h>
|
||||||
#include <displaywithtitle.h>
|
|
||||||
#include <actions/switchscreenaction.h>
|
#include <actions/switchscreenaction.h>
|
||||||
#include <widgets/label.h>
|
#include <widgets/label.h>
|
||||||
#include <widgets/progressbar.h>
|
#include <widgets/progressbar.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
|
#include "bobbydisplaywithtitle.h"
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
#include "modes/ignoreinputmode.h"
|
#include "modes/ignoreinputmode.h"
|
||||||
|
|
||||||
class CalibrateDisplay : public espgui::DisplayWithTitle
|
class CalibrateDisplay : public BobbyDisplayWithTitle
|
||||||
{
|
{
|
||||||
using Base = espgui::DisplayWithTitle;
|
using Base = BobbyDisplayWithTitle;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CalibrateDisplay() = default;
|
CalibrateDisplay() = default;
|
||||||
CalibrateDisplay(bool bootup);
|
explicit CalibrateDisplay(bool bootup);
|
||||||
|
|
||||||
std::string text() const override;
|
std::string text() const override;
|
||||||
void start() override;
|
void start() override;
|
||||||
@ -33,10 +33,7 @@ public:
|
|||||||
void redraw() override;
|
void redraw() override;
|
||||||
void stop() override;
|
void stop() override;
|
||||||
|
|
||||||
void rotate(int offset) override;
|
void buttonPressed(espgui::Button button) override;
|
||||||
|
|
||||||
void confirm() override;
|
|
||||||
void back() override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void copyFromSettings();
|
void copyFromSettings();
|
||||||
|
@ -1,21 +1,23 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include <menuitem.h>
|
||||||
|
#include <icons/back.h>
|
||||||
|
#include <actions/dummyaction.h>
|
||||||
|
#include <actions/switchscreenaction.h>
|
||||||
|
#include <widgets/label.h>
|
||||||
|
|
||||||
// Local includes
|
// Local includes
|
||||||
#include "menudisplay.h"
|
#include "bobbymenudisplay.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "menuitem.h"
|
|
||||||
#include "icons/back.h"
|
|
||||||
#include "icons/settings.h"
|
#include "icons/settings.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
#include "actions/dummyaction.h"
|
|
||||||
#include "actions/switchscreenaction.h"
|
|
||||||
#include "battery.h"
|
#include "battery.h"
|
||||||
#include "menus/batterymenu.h"
|
#include "menus/batterymenu.h"
|
||||||
#include "widgets/label.h"
|
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
|
|
||||||
class CalibrateVoltageDisplay :
|
class CalibrateVoltageDisplay :
|
||||||
public espgui::MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_BATTERY_CALIBRATE>
|
public espgui::StaticText<TEXT_BATTERY_CALIBRATE>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -11,18 +11,24 @@
|
|||||||
|
|
||||||
void GameOfLifeDisplay::start()
|
void GameOfLifeDisplay::start()
|
||||||
{
|
{
|
||||||
|
Base::start();
|
||||||
|
|
||||||
m_grid = std::make_unique<std::bitset<GRIDX*GRIDY>>();
|
m_grid = std::make_unique<std::bitset<GRIDX*GRIDY>>();
|
||||||
m_newgrid = std::make_unique<std::bitset<GRIDX*GRIDY>>();
|
m_newgrid = std::make_unique<std::bitset<GRIDX*GRIDY>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameOfLifeDisplay::initScreen()
|
void GameOfLifeDisplay::initScreen()
|
||||||
{
|
{
|
||||||
|
Base::initScreen();
|
||||||
|
|
||||||
espgui::tft.setRotation(3);
|
espgui::tft.setRotation(3);
|
||||||
espgui::tft.fillScreen(TFT_BLACK);
|
espgui::tft.fillScreen(TFT_BLACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameOfLifeDisplay::redraw()
|
void GameOfLifeDisplay::redraw()
|
||||||
{
|
{
|
||||||
|
Base::redraw();
|
||||||
|
|
||||||
if (gen == 0)
|
if (gen == 0)
|
||||||
{
|
{
|
||||||
espgui::tft.fillScreen(TFT_BLACK);
|
espgui::tft.fillScreen(TFT_BLACK);
|
||||||
@ -40,19 +46,26 @@ void GameOfLifeDisplay::redraw()
|
|||||||
|
|
||||||
void GameOfLifeDisplay::stop()
|
void GameOfLifeDisplay::stop()
|
||||||
{
|
{
|
||||||
|
Base::stop();
|
||||||
|
|
||||||
espgui::tft.setRotation(0);
|
espgui::tft.setRotation(0);
|
||||||
m_grid = nullptr;
|
m_grid = nullptr;
|
||||||
m_newgrid = nullptr;
|
m_newgrid = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameOfLifeDisplay::confirm()
|
void GameOfLifeDisplay::buttonPressed(espgui::Button button)
|
||||||
{
|
{
|
||||||
espgui::switchScreen<DemosMenu>();
|
Base::buttonPressed(button);
|
||||||
}
|
|
||||||
|
|
||||||
void GameOfLifeDisplay::back()
|
switch (button)
|
||||||
{
|
{
|
||||||
espgui::switchScreen<DemosMenu>();
|
using espgui::Button;
|
||||||
|
case Button::Left:
|
||||||
|
case Button::Right:
|
||||||
|
espgui::switchScreen<DemosMenu>();
|
||||||
|
break;
|
||||||
|
default:;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameOfLifeDisplay::drawGrid()
|
void GameOfLifeDisplay::drawGrid()
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "display.h"
|
#include "bobbydisplay.h"
|
||||||
|
|
||||||
class GameOfLifeDisplay : public espgui::Display
|
class GameOfLifeDisplay : public BobbyDisplay
|
||||||
{
|
{
|
||||||
using Base = espgui::Display;
|
using Base = BobbyDisplay;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void start() override;
|
void start() override;
|
||||||
@ -17,8 +17,7 @@ public:
|
|||||||
void redraw() override;
|
void redraw() override;
|
||||||
void stop() override;
|
void stop() override;
|
||||||
|
|
||||||
void confirm() override;
|
void buttonPressed(espgui::Button button);
|
||||||
void back() override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
@ -19,10 +19,13 @@
|
|||||||
#ifdef FEATURE_GARAGE
|
#ifdef FEATURE_GARAGE
|
||||||
void GarageDisplay::start()
|
void GarageDisplay::start()
|
||||||
{
|
{
|
||||||
|
Base::start();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GarageDisplay::initScreen()
|
void GarageDisplay::initScreen()
|
||||||
{
|
{
|
||||||
|
Base::initScreen();
|
||||||
|
|
||||||
espgui::tft.fillScreen(TFT_BLACK);
|
espgui::tft.fillScreen(TFT_BLACK);
|
||||||
espgui::tft.setTextFont(4);
|
espgui::tft.setTextFont(4);
|
||||||
espgui::tft.setTextColor(TFT_YELLOW);
|
espgui::tft.setTextColor(TFT_YELLOW);
|
||||||
@ -38,22 +41,30 @@ void GarageDisplay::initScreen()
|
|||||||
|
|
||||||
void GarageDisplay::redraw()
|
void GarageDisplay::redraw()
|
||||||
{
|
{
|
||||||
|
Base::redraw();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GarageDisplay::confirm()
|
void GarageDisplay::buttonPressed(espgui::Button button)
|
||||||
{
|
{
|
||||||
#ifdef FEATURE_ESPNOW
|
Base::buttonPressed(button);
|
||||||
if (const auto error = espnow::send_espnow_message(fmt::format("BOBBYOPEN:garage:{}", "TOKEN")); error != ESP_OK)
|
|
||||||
|
switch (button)
|
||||||
{
|
{
|
||||||
ESP_LOGE("BOBBY", "send_espnow_message() failed with: %s", esp_err_to_name(error));
|
using espgui::Button;
|
||||||
return;
|
case Button::Left:
|
||||||
|
espgui::switchScreen<MainMenu>();
|
||||||
|
break;
|
||||||
|
case Button::Right:
|
||||||
|
#ifdef FEATURE_ESPNOW
|
||||||
|
if (const auto error = espnow::send_espnow_message(fmt::format("BOBBYOPEN:garage:{}", "TOKEN")); error != ESP_OK)
|
||||||
|
{
|
||||||
|
ESP_LOGE("BOBBY", "send_espnow_message() failed with: %s", esp_err_to_name(error));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
espgui::switchScreen<MainMenu>();
|
||||||
|
break;
|
||||||
|
default:;
|
||||||
}
|
}
|
||||||
espgui::switchScreen<MainMenu>();
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void GarageDisplay::back()
|
|
||||||
{
|
|
||||||
espgui::switchScreen<MainMenu>();
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,17 +1,19 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "display.h"
|
#include "bobbydisplay.h"
|
||||||
|
|
||||||
#ifdef FEATURE_GARAGE
|
#ifdef FEATURE_GARAGE
|
||||||
class GarageDisplay : public espgui::Display
|
class GarageDisplay : public BobbyDisplay
|
||||||
{
|
{
|
||||||
|
using Base = BobbyDisplay;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void start() override;
|
void start() override;
|
||||||
void initScreen() override;
|
void initScreen() override;
|
||||||
void redraw() override;
|
void redraw() override;
|
||||||
void confirm() override;
|
|
||||||
void back() override;
|
void buttonPressed(espgui::Button button) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
};
|
};
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#include "displays/menus/ledstripmenu.h"
|
#include "displays/menus/ledstripmenu.h"
|
||||||
|
|
||||||
#ifdef FEATURE_LEDSTRIP
|
#ifdef FEATURE_LEDSTRIP
|
||||||
|
namespace {
|
||||||
int8_t selected_side = 7;
|
int8_t selected_side = 7;
|
||||||
int8_t selected_color;
|
int8_t selected_color;
|
||||||
bool state_select_color{false};
|
bool state_select_color{false};
|
||||||
@ -49,25 +50,13 @@ const std::array<uint16_t, 8> tft_colors = {
|
|||||||
TFT_BLUE,
|
TFT_BLUE,
|
||||||
TFT_MAGENTA
|
TFT_MAGENTA
|
||||||
};
|
};
|
||||||
|
} // namespace
|
||||||
|
|
||||||
std::string LedstripColorsDisplay::text() const
|
std::string LedstripColorsDisplay::text() const
|
||||||
{
|
{
|
||||||
return TEXT_LEDSTRIPCOLORMENU;
|
return TEXT_LEDSTRIPCOLORMENU;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LedstripColorsDisplay::back()
|
|
||||||
{
|
|
||||||
if(!state_select_color)
|
|
||||||
{
|
|
||||||
espgui::switchScreen<LedstripMenu>();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
state_select_color = false;
|
|
||||||
espgui::tft.fillRect(0, 228, espgui::tft.width(), ((espgui::tft.width() - 40) / 8) + 4, TFT_BLACK);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void LedstripColorsDisplay::initScreen()
|
void LedstripColorsDisplay::initScreen()
|
||||||
{
|
{
|
||||||
Base::initScreen();
|
Base::initScreen();
|
||||||
@ -102,10 +91,42 @@ void LedstripColorsDisplay::redraw()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LedstripColorsDisplay::rotate(int offset)
|
void LedstripColorsDisplay::buttonPressed(espgui::Button button)
|
||||||
{
|
{
|
||||||
if (offset < 0)
|
Base::buttonPressed(button);
|
||||||
|
|
||||||
|
switch (button)
|
||||||
{
|
{
|
||||||
|
using espgui::Button;
|
||||||
|
case Button::Left:
|
||||||
|
if(!state_select_color)
|
||||||
|
{
|
||||||
|
espgui::switchScreen<LedstripMenu>();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
state_select_color = false;
|
||||||
|
espgui::tft.fillRect(0, 228, espgui::tft.width(), ((espgui::tft.width() - 40) / 8) + 4, TFT_BLACK);
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case Button::Right:
|
||||||
|
if(!state_select_color)
|
||||||
|
{
|
||||||
|
state_select_color = true;
|
||||||
|
drawColors();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ledstrip_custom_colors[selected_side] = Colors[selected_color];
|
||||||
|
// Uncomment to close select color menu on color select
|
||||||
|
/*
|
||||||
|
state_select_color = false;
|
||||||
|
espgui::tft.fillRect(0, 228, espgui::tft.width(), ((espgui::tft.width() - 40) / 8) + 4, TFT_BLACK);
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case Button::Up:
|
||||||
if (state_select_color)
|
if (state_select_color)
|
||||||
{
|
{
|
||||||
selected_color++;
|
selected_color++;
|
||||||
@ -122,9 +143,21 @@ void LedstripColorsDisplay::rotate(int offset)
|
|||||||
selected_side = 0;
|
selected_side = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else if (offset > 0)
|
/* TODO commander: move into redraw method */
|
||||||
{
|
if (state_select_color)
|
||||||
|
{
|
||||||
|
drawColors();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
espgui::tft.fillRect(0, 228, espgui::tft.width(), ((espgui::tft.width() - 40) / 8) + 4, TFT_BLACK);
|
||||||
|
clearSides();
|
||||||
|
drawSide(static_cast<Bobbycar_Side>(selected_side), TFT_GOLD);
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case Button::Down:
|
||||||
if (state_select_color)
|
if (state_select_color)
|
||||||
{
|
{
|
||||||
selected_color--;
|
selected_color--;
|
||||||
@ -141,35 +174,20 @@ void LedstripColorsDisplay::rotate(int offset)
|
|||||||
selected_side = 7;
|
selected_side = 7;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (state_select_color)
|
/* TODO commander: move into redraw method */
|
||||||
{
|
if (state_select_color)
|
||||||
drawColors();
|
{
|
||||||
}
|
drawColors();
|
||||||
else
|
}
|
||||||
{
|
else
|
||||||
espgui::tft.fillRect(0, 228, espgui::tft.width(), ((espgui::tft.width() - 40) / 8) + 4, TFT_BLACK);
|
{
|
||||||
clearSides();
|
espgui::tft.fillRect(0, 228, espgui::tft.width(), ((espgui::tft.width() - 40) / 8) + 4, TFT_BLACK);
|
||||||
drawSide(static_cast<Bobbycar_Side>(selected_side), TFT_GOLD);
|
clearSides();
|
||||||
}
|
drawSide(static_cast<Bobbycar_Side>(selected_side), TFT_GOLD);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LedstripColorsDisplay::confirm()
|
break;
|
||||||
{
|
|
||||||
if(!state_select_color)
|
|
||||||
{
|
|
||||||
state_select_color = true;
|
|
||||||
drawColors();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ledstrip_custom_colors[selected_side] = Colors[selected_color];
|
|
||||||
// Uncomment to close select color menu on color select
|
|
||||||
/*
|
|
||||||
state_select_color = false;
|
|
||||||
espgui::tft.fillRect(0, 228, espgui::tft.width(), ((espgui::tft.width() - 40) / 8) + 4, TFT_BLACK);
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,33 +4,32 @@
|
|||||||
#include <array>
|
#include <array>
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <displaywithtitle.h>
|
|
||||||
#include <FastLED.h>
|
#include <FastLED.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
|
#include "bobbydisplaywithtitle.h"
|
||||||
#include "ledstrip.h"
|
#include "ledstrip.h"
|
||||||
|
|
||||||
#ifdef FEATURE_LEDSTRIP
|
#ifdef FEATURE_LEDSTRIP
|
||||||
extern int8_t selected_side;
|
//extern int8_t selected_side;
|
||||||
extern int8_t selected_color;
|
//extern int8_t selected_color;
|
||||||
extern bool state_select_color;
|
//extern bool state_select_color;
|
||||||
extern bool last_state;
|
//extern bool last_state;
|
||||||
|
|
||||||
extern const std::array<CRGB, 8> Colors;
|
//extern const std::array<CRGB, 8> Colors;
|
||||||
|
|
||||||
extern const std::array<uint16_t, 8> tft_colors;
|
//extern const std::array<uint16_t, 8> tft_colors;
|
||||||
|
|
||||||
class LedstripColorsDisplay : public espgui::DisplayWithTitle
|
class LedstripColorsDisplay : public BobbyDisplayWithTitle
|
||||||
{
|
{
|
||||||
using Base = espgui::DisplayWithTitle;
|
using Base = BobbyDisplayWithTitle;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
std::string text() const override;
|
std::string text() const override;
|
||||||
void back() override;
|
|
||||||
void initScreen() override;
|
void initScreen() override;
|
||||||
void redraw() override;
|
void redraw() override;
|
||||||
void rotate(int offset) override;
|
|
||||||
void confirm() override;
|
void buttonPressed(espgui::Button button) override;
|
||||||
|
|
||||||
void drawColors();
|
void drawColors();
|
||||||
void drawSide(Bobbycar_Side side, unsigned int color);
|
void drawSide(Bobbycar_Side side, unsigned int color);
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// 3rdparty lib includes
|
|
||||||
#include <menudisplay.h>
|
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
class AboutMenu :
|
class AboutMenu :
|
||||||
public espgui::MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_ABOUT>
|
public espgui::StaticText<TEXT_ABOUT>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "menudisplay.h"
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
class AccessPointWifiSettingsMenu :
|
class AccessPointWifiSettingsMenu :
|
||||||
public espgui::MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_ACCESSPOINTWIFISETTINGS>
|
public espgui::StaticText<TEXT_ACCESSPOINTWIFISETTINGS>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <menudisplay.h>
|
|
||||||
#include <menuitem.h>
|
#include <menuitem.h>
|
||||||
#include <icons/back.h>
|
#include <icons/back.h>
|
||||||
#include <actions/dummyaction.h>
|
#include <actions/dummyaction.h>
|
||||||
#include <actions/switchscreenaction.h>
|
#include <actions/switchscreenaction.h>
|
||||||
|
|
||||||
// Local includes
|
// Local includes
|
||||||
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "icons/settings.h"
|
#include "icons/settings.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
#include "battery.h"
|
#include "battery.h"
|
||||||
|
|
||||||
class BatteryDebugMenu :
|
class BatteryDebugMenu :
|
||||||
public espgui::MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_BATTERYDEBUG>
|
public espgui::StaticText<TEXT_BATTERYDEBUG>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <menudisplay.h>
|
|
||||||
#include <menuitem.h>
|
#include <menuitem.h>
|
||||||
#include <icons/back.h>
|
#include <icons/back.h>
|
||||||
#include <actions/dummyaction.h>
|
#include <actions/dummyaction.h>
|
||||||
#include <actions/switchscreenaction.h>
|
#include <actions/switchscreenaction.h>
|
||||||
|
|
||||||
// Local includes
|
// Local includes
|
||||||
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "icons/settings.h"
|
#include "icons/settings.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
@ -16,10 +16,11 @@
|
|||||||
#include "widgets/doubleprogressbar.h"
|
#include "widgets/doubleprogressbar.h"
|
||||||
|
|
||||||
class BatteryMenu :
|
class BatteryMenu :
|
||||||
public espgui::MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_BATTERY>
|
public espgui::StaticText<TEXT_BATTERY>
|
||||||
{
|
{
|
||||||
using Base = espgui::MenuDisplay;
|
using Base = BobbyMenuDisplay;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
BatteryMenu();
|
BatteryMenu();
|
||||||
|
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "menudisplay.h"
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
#ifdef FEATURE_BLE
|
#ifdef FEATURE_BLE
|
||||||
|
|
||||||
class BleSettingsMenu :
|
class BleSettingsMenu :
|
||||||
public espgui::MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_BLESETTINGS>
|
public espgui::StaticText<TEXT_BLESETTINGS>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#ifdef FEATURE_BLUETOOTH
|
#ifdef FEATURE_BLUETOOTH
|
||||||
#include "changevaluedisplay_bluetoothmode.h"
|
#include "changevaluedisplay_bluetoothmode.h"
|
||||||
#endif
|
#endif
|
||||||
#include "menudisplay.h"
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "menuitem.h"
|
#include "menuitem.h"
|
||||||
#include "actions/dummyaction.h"
|
#include "actions/dummyaction.h"
|
||||||
#ifdef FEATURE_BLUETOOTH
|
#ifdef FEATURE_BLUETOOTH
|
||||||
@ -37,7 +37,7 @@ using AutoBluetoothModeChangeDisplay = makeComponent<
|
|||||||
>;
|
>;
|
||||||
|
|
||||||
class BluetoothSettingsMenu :
|
class BluetoothSettingsMenu :
|
||||||
public MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public StaticText<TEXT_BLUETOOTHSETTINGS>,
|
public StaticText<TEXT_BLUETOOTHSETTINGS>,
|
||||||
public BackActionInterface<SwitchScreenAction<SettingsMenu>>
|
public BackActionInterface<SwitchScreenAction<SettingsMenu>>
|
||||||
{
|
{
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
#if defined(FEATURE_BLUETOOTH) && defined(FEATURE_BMS)
|
#if defined(FEATURE_BLUETOOTH) && defined(FEATURE_BMS)
|
||||||
// local includes
|
// local includes
|
||||||
#include "menudisplay.h"
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
class BmsMenu :
|
class BmsMenu :
|
||||||
public espgui::MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_BMS>
|
public espgui::StaticText<TEXT_BMS>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "menudisplay.h"
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
class BoardcomputerHardwareSettingsMenu :
|
class BoardcomputerHardwareSettingsMenu :
|
||||||
public espgui::MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_BOARDCOMPUTERHARDWARESETTINGS>
|
public espgui::StaticText<TEXT_BOARDCOMPUTERHARDWARESETTINGS>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// 3rdparty lib includes
|
|
||||||
#include "menudisplay.h"
|
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
class BuzzerMenu :
|
class BuzzerMenu :
|
||||||
public espgui::MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_BUZZER>
|
public espgui::StaticText<TEXT_BUZZER>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -1,14 +1,12 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// 3rdparty lib includes
|
|
||||||
#include "menudisplay.h"
|
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_CLOUD
|
||||||
class CloudSettingsMenu :
|
class CloudSettingsMenu :
|
||||||
public espgui::MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_CLOUDSETTINGS>
|
public espgui::StaticText<TEXT_CLOUDSETTINGS>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "menudisplay.h"
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "menuitem.h"
|
#include "menuitem.h"
|
||||||
#include "actions/dummyaction.h"
|
#include "actions/dummyaction.h"
|
||||||
@ -15,7 +15,7 @@ using namespace espgui;
|
|||||||
namespace {
|
namespace {
|
||||||
template<const char *Ttext, typename Ttexts>
|
template<const char *Ttext, typename Ttexts>
|
||||||
class CommandDebugMenu :
|
class CommandDebugMenu :
|
||||||
public MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public StaticText<Ttext>,
|
public StaticText<Ttext>,
|
||||||
public BackActionInterface<SwitchScreenAction<DebugMenu>>
|
public BackActionInterface<SwitchScreenAction<DebugMenu>>
|
||||||
{
|
{
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// 3rdparty lib includes
|
|
||||||
#include "menudisplay.h"
|
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
class ControllerHardwareSettingsMenu :
|
class ControllerHardwareSettingsMenu :
|
||||||
public espgui::MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_CONTROLLERHARDWARESETTINGS>
|
public espgui::StaticText<TEXT_CONTROLLERHARDWARESETTINGS>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "menudisplay.h"
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
|
|
||||||
class CrashMenu :
|
class CrashMenu :
|
||||||
public MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public StaticText<TEXT_CRASHMENU>
|
public StaticText<TEXT_CRASHMENU>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// 3rdparty lib includes
|
|
||||||
#include "menudisplay.h"
|
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
class DebugMenu :
|
class DebugMenu :
|
||||||
public espgui::MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_DEBUG>
|
public espgui::StaticText<TEXT_DEBUG>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// 3rdparty lib includes
|
|
||||||
#include "menudisplay.h"
|
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
class DefaultModeSettingsMenu :
|
class DefaultModeSettingsMenu :
|
||||||
public espgui::MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_DEFAULTMODESETTIGNS>
|
public espgui::StaticText<TEXT_DEFAULTMODESETTIGNS>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// 3rdparty lib includes
|
|
||||||
#include "menudisplay.h"
|
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
class DemosMenu :
|
class DemosMenu :
|
||||||
public espgui::MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_DEMOS>
|
public espgui::StaticText<TEXT_DEMOS>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
#include <esprandom.h>
|
#include <esprandom.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "menudisplay.h"
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "menuitem.h"
|
#include "menuitem.h"
|
||||||
#include "actions/switchscreenaction.h"
|
#include "actions/switchscreenaction.h"
|
||||||
@ -125,7 +125,7 @@ constexpr char TEXT_STATICICON[] = "Static icon";
|
|||||||
constexpr char TEXT_DEBUGTOGGLE[] = "Toggle";
|
constexpr char TEXT_DEBUGTOGGLE[] = "Toggle";
|
||||||
|
|
||||||
class DynamicDebugMenu :
|
class DynamicDebugMenu :
|
||||||
public MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public RandomText,
|
public RandomText,
|
||||||
public BackActionInterface<SwitchScreenAction<DebugMenu>>
|
public BackActionInterface<SwitchScreenAction<DebugMenu>>
|
||||||
{
|
{
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "menudisplay.h"
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
|
|
||||||
class EnableMenu :
|
class EnableMenu :
|
||||||
public MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public StaticText<TEXT_SETENABLED>
|
public StaticText<TEXT_SETENABLED>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#ifdef FEATURE_ESPNOW
|
#ifdef FEATURE_ESPNOW
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
#include <accessorinterface.h>
|
#include <accessorinterface.h>
|
||||||
#include <actioninterface.h>
|
#include <actioninterface.h>
|
||||||
#include <espchrono.h>
|
#include <espchrono.h>
|
||||||
@ -10,6 +11,8 @@
|
|||||||
#include <textinterface.h>
|
#include <textinterface.h>
|
||||||
#include <texts.h>
|
#include <texts.h>
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "espnowfunctions.h"
|
#include "espnowfunctions.h"
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
@ -31,8 +34,8 @@ public:
|
|||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
class EspNowMenu :
|
class EspNowMenu :
|
||||||
public espgui::MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_ESPNOW_MENU>
|
public espgui::StaticText<TEXT_ESPNOW_MENU>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
EspNowMenu();
|
EspNowMenu();
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#ifdef FEATURE_ESPNOW
|
#ifdef FEATURE_ESPNOW
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
#include <accessorinterface.h>
|
#include <accessorinterface.h>
|
||||||
#include <actioninterface.h>
|
#include <actioninterface.h>
|
||||||
#include <espchrono.h>
|
#include <espchrono.h>
|
||||||
@ -10,6 +11,8 @@
|
|||||||
#include <textinterface.h>
|
#include <textinterface.h>
|
||||||
#include <texts.h>
|
#include <texts.h>
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "espnowfunctions.h"
|
#include "espnowfunctions.h"
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
@ -18,8 +21,8 @@ namespace espnowsettingsmenu {
|
|||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
class EspNowSettingsMenu :
|
class EspNowSettingsMenu :
|
||||||
public espgui::MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_ESPNOW_SETTINGS>
|
public espgui::StaticText<TEXT_ESPNOW_SETTINGS>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
EspNowSettingsMenu();
|
EspNowSettingsMenu();
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "menudisplay.h"
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "menuitem.h"
|
#include "menuitem.h"
|
||||||
#include "actions/dummyaction.h"
|
#include "actions/dummyaction.h"
|
||||||
@ -17,7 +17,7 @@ using namespace espgui;
|
|||||||
namespace {
|
namespace {
|
||||||
template<const char *Ttext, typename Ttexts, template<int> class ColorInterface>
|
template<const char *Ttext, typename Ttexts, template<int> class ColorInterface>
|
||||||
class FeedbackDebugMenu :
|
class FeedbackDebugMenu :
|
||||||
public MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public StaticText<Ttext>,
|
public StaticText<Ttext>,
|
||||||
public BackActionInterface<SwitchScreenAction<DebugMenu>>
|
public BackActionInterface<SwitchScreenAction<DebugMenu>>
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "menudisplay.h"
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "menuitem.h"
|
#include "menuitem.h"
|
||||||
#include "actions/switchscreenaction.h"
|
#include "actions/switchscreenaction.h"
|
||||||
@ -13,7 +13,7 @@ using namespace espgui;
|
|||||||
namespace {
|
namespace {
|
||||||
#ifdef FEATURE_GAMETRAK
|
#ifdef FEATURE_GAMETRAK
|
||||||
class ContainerModeSettingsMenu :
|
class ContainerModeSettingsMenu :
|
||||||
public MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public StaticText<TEXT_GAMETRAKMODESETTINGS>,
|
public StaticText<TEXT_GAMETRAKMODESETTINGS>,
|
||||||
public BackActionInterface<SwitchScreenAction<ModesSettingsMenu>>
|
public BackActionInterface<SwitchScreenAction<ModesSettingsMenu>>
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "menudisplay.h"
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "changevaluedisplay.h"
|
#include "changevaluedisplay.h"
|
||||||
#include "menuitem.h"
|
#include "menuitem.h"
|
||||||
#include "actions/dummyaction.h"
|
#include "actions/dummyaction.h"
|
||||||
@ -17,7 +17,7 @@ using namespace espgui;
|
|||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
class GenericWifiSettingsMenu :
|
class GenericWifiSettingsMenu :
|
||||||
public MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public StaticText<TEXT_GENERICWIFISETTINGS>,
|
public StaticText<TEXT_GENERICWIFISETTINGS>,
|
||||||
public BackActionInterface<SwitchScreenAction<WifiSettingsMenu>>
|
public BackActionInterface<SwitchScreenAction<WifiSettingsMenu>>
|
||||||
{
|
{
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "menudisplay.h"
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
class GraphsMenu :
|
class GraphsMenu :
|
||||||
public espgui::MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_GRAPHS>
|
public espgui::StaticText<TEXT_GRAPHS>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -13,8 +13,6 @@ class GreenPassMenu :
|
|||||||
public BobbyMenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_GREENPASS>
|
public espgui::StaticText<TEXT_GREENPASS>
|
||||||
{
|
{
|
||||||
using Base = BobbyMenuDisplay;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
GreenPassMenu();
|
GreenPassMenu();
|
||||||
void back() override;
|
void back() override;
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "menudisplay.h"
|
// local includes
|
||||||
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
class HandbremsSettingsMenu :
|
class HandbremsSettingsMenu :
|
||||||
public espgui::MenuDisplay,
|
public BobbyMenuDisplay,
|
||||||
public espgui::StaticText<TEXT_DEBUG>
|
public espgui::StaticText<TEXT_DEBUG>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "menudisplay.h"
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "menudisplay.h"
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
class LarsmModeSettingsMenu :
|
class LarsmModeSettingsMenu :
|
||||||
|
@ -181,28 +181,28 @@ clearIp:
|
|||||||
m_labelProfile.redraw(profile ? std::to_string(*profile) : "-");
|
m_labelProfile.redraw(profile ? std::to_string(*profile) : "-");
|
||||||
}
|
}
|
||||||
|
|
||||||
void StatusDisplay::confirm()
|
void StatusDisplay::buttonPressed(espgui::Button button)
|
||||||
{
|
{
|
||||||
switchScreen<MainMenu>();
|
Base::buttonPressed(button);
|
||||||
}
|
|
||||||
|
|
||||||
void StatusDisplay::back()
|
switch (button)
|
||||||
{
|
{
|
||||||
|
using espgui::Button;
|
||||||
}
|
case Button::Left:
|
||||||
|
case Button::Right:
|
||||||
void StatusDisplay::rotate(int offset)
|
switchScreen<MainMenu>();
|
||||||
{
|
break;
|
||||||
Base::rotate(offset);
|
case Button::Up:
|
||||||
|
|
||||||
if (offset < 0)
|
|
||||||
#ifdef FEATURE_BMS
|
#ifdef FEATURE_BMS
|
||||||
switchScreen<BmsDisplay>();
|
switchScreen<BmsDisplay>();
|
||||||
#else
|
#else
|
||||||
switchScreen<MetersDisplay>();
|
switchScreen<MetersDisplay>();
|
||||||
#endif
|
#endif
|
||||||
else if (offset > 0)
|
break;
|
||||||
|
case Button::Down:
|
||||||
switchScreen<MetersDisplay>();
|
switchScreen<MetersDisplay>();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
StatusDisplay::BoardStatus::BoardStatus(int y) :
|
StatusDisplay::BoardStatus::BoardStatus(int y) :
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
#include <esp_heap_caps.h>
|
#include <esp_heap_caps.h>
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <display.h>
|
|
||||||
#include <actions/switchscreenaction.h>
|
#include <actions/switchscreenaction.h>
|
||||||
#include <widgets/label.h>
|
#include <widgets/label.h>
|
||||||
#include <widgets/progressbar.h>
|
#include <widgets/progressbar.h>
|
||||||
#include <espchrono.h>
|
#include <espchrono.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
|
#include "bobbydisplay.h"
|
||||||
#include "modeinterface.h"
|
#include "modeinterface.h"
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
@ -18,17 +18,15 @@
|
|||||||
#include "battery.h"
|
#include "battery.h"
|
||||||
|
|
||||||
class StatusDisplay :
|
class StatusDisplay :
|
||||||
public espgui::Display
|
public BobbyDisplay
|
||||||
{
|
{
|
||||||
using Base = espgui::Display;
|
using Base = BobbyDisplay;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void initScreen() override;
|
void initScreen() override;
|
||||||
void redraw() override;
|
void redraw() override;
|
||||||
|
|
||||||
void confirm() override;
|
void buttonPressed(espgui::Button button) override;
|
||||||
void back() override;
|
|
||||||
void rotate(int offset) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
class BoardStatus
|
class BoardStatus
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
#include "menudisplaywithtime.h"
|
#include "menudisplaywithtime.h"
|
||||||
#include "tftinstance.h"
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include <tftinstance.h>
|
||||||
|
#include <fmt/core.h>
|
||||||
|
|
||||||
|
// local includes
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
|
@ -1,20 +1,19 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// system includes
|
// local includes
|
||||||
#include <cstdint>
|
#include "displays/bobbymenudisplay.h"
|
||||||
|
|
||||||
// 3rdparty lib includes
|
|
||||||
#include <menudisplay.h>
|
|
||||||
|
|
||||||
namespace bobbygui {
|
namespace bobbygui {
|
||||||
class MenuDisplayWithTime :
|
class MenuDisplayWithTime :
|
||||||
public espgui::MenuDisplay
|
public BobbyMenuDisplay
|
||||||
{
|
{
|
||||||
using Base = espgui::MenuDisplay;
|
using Base = BobbyMenuDisplay;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void start() override;
|
void start() override;
|
||||||
void redraw() override;
|
void redraw() override;
|
||||||
espgui::Label m_label_currentTime{145, 6};
|
espgui::Label m_label_currentTime{145, 6};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
virtual bool use_big_font() const
|
virtual bool use_big_font() const
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user