Added GametrakCalibrateDisplay
This commit is contained in:
@@ -47,8 +47,10 @@ private:
|
||||
Label{25, 125} // 100, 23
|
||||
}};
|
||||
|
||||
ProgressBar m_progressBar0{20, 200, 200, 10, 0, 1000};
|
||||
ProgressBar m_progressBar1{20, 230, 200, 10, 0, 1000};
|
||||
std::array<ProgressBar, 2> m_progressBars {{
|
||||
ProgressBar{20, 200, 200, 10, 0, 1000},
|
||||
ProgressBar{20, 230, 200, 10, 0, 1000}
|
||||
}};
|
||||
};
|
||||
|
||||
CalibrateDisplay::CalibrateDisplay(bool bootup) :
|
||||
@@ -77,8 +79,8 @@ void CalibrateDisplay::initScreen()
|
||||
for (auto &label : m_labels)
|
||||
label.start();
|
||||
|
||||
m_progressBar0.start();
|
||||
m_progressBar1.start();
|
||||
for (auto &progressBar : m_progressBars)
|
||||
progressBar.start();
|
||||
}
|
||||
|
||||
void CalibrateDisplay::redraw()
|
||||
@@ -89,8 +91,8 @@ void CalibrateDisplay::redraw()
|
||||
m_labels[2].redraw(String{brems});
|
||||
m_labels[3].redraw(String{raw_brems});
|
||||
|
||||
m_progressBar0.redraw(gas);
|
||||
m_progressBar1.redraw(brems);
|
||||
m_progressBars[0].redraw(gas);
|
||||
m_progressBars[1].redraw(brems);
|
||||
}
|
||||
|
||||
void CalibrateDisplay::stop()
|
||||
|
80
src/displays/gametrakcalibratedisplay.h
Normal file
80
src/displays/gametrakcalibratedisplay.h
Normal file
@@ -0,0 +1,80 @@
|
||||
#pragma once
|
||||
|
||||
#include <array>
|
||||
|
||||
#include <WString.h>
|
||||
|
||||
#include "demodisplay.h"
|
||||
#include "actions/switchscreenaction.h"
|
||||
#include "globals.h"
|
||||
#include "texts.h"
|
||||
#include "widgets/label.h"
|
||||
#include "widgets/progressbar.h"
|
||||
#include "modes/ignoreinputmode.h"
|
||||
|
||||
namespace {
|
||||
class StatusDisplay;
|
||||
class BoardcomputerHardwareSettingsMenu;
|
||||
}
|
||||
|
||||
namespace {
|
||||
class GametrakCalibrateDisplay : public DemoDisplay, public SwitchScreenAction<BoardcomputerHardwareSettingsMenu>, public BackActionInterface<SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>
|
||||
{
|
||||
using Base = DemoDisplay;
|
||||
|
||||
public:
|
||||
void initScreen() override;
|
||||
void redraw() override;
|
||||
|
||||
private:
|
||||
std::array<Label, 6> m_labels {{
|
||||
Label{25, 50}, // 100, 23
|
||||
Label{120, 50}, // 100, 23
|
||||
Label{25, 75}, // 100, 23
|
||||
Label{120, 75}, // 100, 23
|
||||
Label{25, 100}, // 100, 23
|
||||
Label{120, 100} // 100, 23
|
||||
}};
|
||||
|
||||
std::array<ProgressBar, 3> m_progressBars {{
|
||||
ProgressBar{20, 200, 200, 10, 0, 1000},
|
||||
ProgressBar{20, 230, 200, 10, 0, 1000},
|
||||
ProgressBar{20, 260, 200, 10, 0, 1000}
|
||||
}};
|
||||
};
|
||||
|
||||
void GametrakCalibrateDisplay::initScreen()
|
||||
{
|
||||
tft.fillScreen(TFT_BLACK);
|
||||
tft.setTextFont(4);
|
||||
tft.setTextColor(TFT_YELLOW);
|
||||
|
||||
tft.drawString(TEXT_CALIBRATE, 5, 5, 4);
|
||||
|
||||
tft.fillRect(0, 34, tft.width(), 3, TFT_WHITE);
|
||||
|
||||
tft.setTextColor(TFT_WHITE, TFT_BLACK);
|
||||
|
||||
for (auto &label : m_labels)
|
||||
label.start();
|
||||
|
||||
for (auto &progressBar : m_progressBars)
|
||||
progressBar.start();
|
||||
}
|
||||
|
||||
void GametrakCalibrateDisplay::redraw()
|
||||
{
|
||||
m_labels[0].redraw(String{gametrakX});
|
||||
m_labels[1].redraw(String{raw_gametrakX});
|
||||
|
||||
m_labels[2].redraw(String{gametrakY});
|
||||
m_labels[3].redraw(String{raw_gametrakY});
|
||||
|
||||
m_labels[4].redraw(String{gametrakDist});
|
||||
m_labels[5].redraw(String{raw_gametrakDist});
|
||||
|
||||
m_progressBars[0].redraw(gametrakX);
|
||||
m_progressBars[1].redraw(gametrakY);
|
||||
m_progressBars[2].redraw(gametrakDist);
|
||||
}
|
||||
}
|
@@ -15,6 +15,7 @@
|
||||
namespace {
|
||||
class BoardcomputerHardwareSettingsMenu;
|
||||
class CalibrateDisplay;
|
||||
class GametrakCalibrateDisplay;
|
||||
class SettingsMenu;
|
||||
}
|
||||
|
||||
@@ -122,6 +123,7 @@ class BoardcomputerHardwareSettingsMenu :
|
||||
makeComponent<MenuItem, StaticText<TEXT_SETBREMSMIN>, SwitchScreenAction<BremsMinChangeScreen>>,
|
||||
makeComponent<MenuItem, StaticText<TEXT_SETBREMSMAX>, SwitchScreenAction<BremsMaxChangeScreen>>,
|
||||
#ifdef FEATURE_GAMETRAK
|
||||
makeComponent<MenuItem, StaticText<TEXT_GAMETRAKCALIBRATE>, SwitchScreenAction<GametrakCalibrateDisplay>>,
|
||||
makeComponent<MenuItem, StaticText<TEXT_SETGAMETRAKXMIN>, SwitchScreenAction<GametrakXMinChangeScreen>>,
|
||||
makeComponent<MenuItem, StaticText<TEXT_SETGAMETRAKXMAX>, SwitchScreenAction<GametrakXMaxChangeScreen>>,
|
||||
makeComponent<MenuItem, StaticText<TEXT_SETGAMETRAKYMIN>, SwitchScreenAction<GametrakYMinChangeScreen>>,
|
||||
|
@@ -91,7 +91,7 @@ constexpr Settings::DefaultMode defaultDefaultMode {
|
||||
.smoothing = 20,
|
||||
.frontPercentage = 100,
|
||||
.backPercentage = 100,
|
||||
.add_schwelle = 950,
|
||||
.add_schwelle = 750,
|
||||
.gas1_wert = 1250,
|
||||
.gas2_wert = 1250,
|
||||
.brems1_wert = 250,
|
||||
@@ -105,7 +105,7 @@ constexpr Settings::TempomatMode defaultTempomatMode {
|
||||
|
||||
constexpr Settings::LarsmMode defaultLarsmMode {
|
||||
.mode = LarsmModeMode::Mode4,
|
||||
.iterations = 5
|
||||
.iterations = 100
|
||||
};
|
||||
|
||||
constexpr Settings defaultSettings{
|
||||
|
@@ -35,6 +35,7 @@
|
||||
#include "displays/calibratedisplay.h"
|
||||
#include "displays/dualgraphdisplay.h"
|
||||
#include "displays/gameoflifedisplay.h"
|
||||
#include "displays/gametrakcalibratedisplay.h"
|
||||
#include "displays/lockscreen.h"
|
||||
#include "displays/metersdisplay.h"
|
||||
#include "displays/pingpongdisplay.h"
|
||||
@@ -103,6 +104,9 @@ union X {
|
||||
CalibrateDisplay calibrateDisplay;
|
||||
DualGraphDisplay dualGraphDisplay;
|
||||
GameOfLifeDisplay gameOfLifeDisplay;
|
||||
#ifdef FEATURE_GAMETRAK
|
||||
GametrakCalibrateDisplay gametrakCalibrateDisplay;
|
||||
#endif
|
||||
Lockscreen lockScreen;
|
||||
MetersDisplay metersDisplay;
|
||||
PingPongDisplay pingPongDisplay;
|
||||
@@ -236,6 +240,9 @@ template<> decltype(displays.bmsDisplay) &
|
||||
template<> decltype(displays.calibrateDisplay) &getRefByType<decltype(displays.calibrateDisplay)>() { return displays.calibrateDisplay; }
|
||||
template<> decltype(displays.dualGraphDisplay) &getRefByType<decltype(displays.dualGraphDisplay)>() { return displays.dualGraphDisplay; }
|
||||
template<> decltype(displays.gameOfLifeDisplay) &getRefByType<decltype(displays.gameOfLifeDisplay)>() { return displays.gameOfLifeDisplay; }
|
||||
#ifdef FEATURE_GAMETRAK
|
||||
template<> decltype(displays.gametrakCalibrateDisplay) &getRefByType<decltype(displays.gametrakCalibrateDisplay)>() { return displays.gametrakCalibrateDisplay; }
|
||||
#endif
|
||||
template<> decltype(displays.lockScreen) &getRefByType<decltype(displays.lockScreen)>() { return displays.lockScreen; }
|
||||
template<> decltype(displays.metersDisplay) &getRefByType<decltype(displays.metersDisplay)>() { return displays.metersDisplay; }
|
||||
template<> decltype(displays.pingPongDisplay) &getRefByType<decltype(displays.pingPongDisplay)>() { return displays.pingPongDisplay; }
|
||||
|
@@ -227,6 +227,7 @@ constexpr char TEXT_SETGASMIN[] = "Set gasMin";
|
||||
constexpr char TEXT_SETGASMAX[] = "Set gasMax";
|
||||
constexpr char TEXT_SETBREMSMIN[] = "Set bremsMin";
|
||||
constexpr char TEXT_SETBREMSMAX[] = "Set bremsMax";
|
||||
constexpr char TEXT_GAMETRAKCALIBRATE[] = "Gametrak calibrate";
|
||||
constexpr char TEXT_SETGAMETRAKXMIN[] = "Set gametrakXMin";
|
||||
constexpr char TEXT_SETGAMETRAKXMAX[] = "Set gametrakXMax";
|
||||
constexpr char TEXT_SETGAMETRAKYMIN[] = "Set gametrakYMin";
|
||||
|
Reference in New Issue
Block a user