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