Fixed metersdisplay, implemented speed display
This commit is contained in:
@ -7,8 +7,8 @@
|
||||
// local includes
|
||||
#include "battery.h"
|
||||
#include "displays/menus/mainmenu.h"
|
||||
#include "displays/metersdisplay.h"
|
||||
#include "displays/speedinfodisplay.h"
|
||||
#include "displays/statusdisplay.h"
|
||||
|
||||
// display with big battery and ten bars (0-100%)
|
||||
|
||||
@ -68,7 +68,7 @@ void BatteryInfoDisplay::buttonPressed(espgui::Button button)
|
||||
espgui::pushScreen<MainMenu>();
|
||||
break;
|
||||
case Button::Up:
|
||||
espgui::switchScreen<StatusDisplay>();
|
||||
espgui::switchScreen<MetersDisplay>();
|
||||
break;
|
||||
case Button::Down:
|
||||
espgui::switchScreen<SpeedInfoDisplay>();
|
||||
|
@ -5,10 +5,11 @@
|
||||
#include <fmt/core.h>
|
||||
|
||||
// local includes
|
||||
#include "globals.h"
|
||||
#include "utils.h"
|
||||
#include "displays/batteryinfodisplay.h"
|
||||
#include "displays/menus/mainmenu.h"
|
||||
#include "displays/statusdisplay.h"
|
||||
#include "globals.h"
|
||||
#include "utils.h"
|
||||
|
||||
using namespace espgui;
|
||||
|
||||
@ -61,9 +62,11 @@ void MetersDisplay::buttonPressed(espgui::Button button)
|
||||
pushScreen<MainMenu>();
|
||||
break;
|
||||
case Button::Up:
|
||||
case Button::Down:
|
||||
switchScreen<StatusDisplay>();
|
||||
break;
|
||||
case Button::Down:
|
||||
switchScreen<BatteryInfoDisplay>();
|
||||
break;
|
||||
default:;
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
#include "speedinfodisplay.h"
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include <fmt/core.h>
|
||||
#include <screenmanager.h>
|
||||
|
||||
// local includes
|
||||
@ -11,11 +12,30 @@
|
||||
void SpeedInfoDisplay::initScreen()
|
||||
{
|
||||
Base::initScreen();
|
||||
|
||||
m_labelSpeed.start();
|
||||
|
||||
m_dischargingBar.start();
|
||||
m_chargingBar.start();
|
||||
}
|
||||
|
||||
void SpeedInfoDisplay::redraw()
|
||||
{
|
||||
using namespace espgui;
|
||||
|
||||
Base::redraw();
|
||||
|
||||
tft.setTextColor(TFT_WHITE, TFT_BLACK);
|
||||
tft.setTextFont(4);
|
||||
|
||||
tft.setTextSize(3);
|
||||
|
||||
m_labelSpeed.redraw(fmt::format(avgSpeedKmh < 10 ? "{:.3f}" : "{:.1f}", avgSpeedKmh));
|
||||
|
||||
tft.setTextSize(1);
|
||||
|
||||
m_dischargingBar.redraw(sumCurrent<0.f?(-sumCurrent):0.f);
|
||||
m_chargingBar.redraw(sumCurrent>0.f?sumCurrent:0.f);
|
||||
}
|
||||
|
||||
void SpeedInfoDisplay::buttonPressed(espgui::Button button)
|
||||
|
@ -1,5 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include <tftinstance.h>
|
||||
#include <widgets/label.h>
|
||||
#include <widgets/progressbar.h>
|
||||
#include <widgets/reverseprogressbar.h>
|
||||
|
||||
// local includes
|
||||
#include "bobbydisplay.h"
|
||||
|
||||
@ -12,4 +18,9 @@ public:
|
||||
void redraw() override;
|
||||
|
||||
void buttonPressed(espgui::Button button) override;
|
||||
private:
|
||||
espgui::Label m_labelSpeed{28, 70};
|
||||
|
||||
espgui::ReverseProgressBar m_dischargingBar{10, 155, espgui::tft.width()/2 - 10, 25, 0, 40, TFT_GREEN};
|
||||
espgui::ProgressBar m_chargingBar{espgui::tft.width()/2, 155, espgui::tft.width()/2 - 10, 25, 0, 40, TFT_RED};
|
||||
};
|
||||
|
@ -245,7 +245,7 @@ void StatusDisplay::buttonPressed(espgui::Button button)
|
||||
case Button::Down:
|
||||
if (simplified)
|
||||
return;
|
||||
switchScreen<BatteryInfoDisplay>();
|
||||
switchScreen<MetersDisplay>();
|
||||
break;
|
||||
default:;
|
||||
}
|
||||
|
Reference in New Issue
Block a user