Added basic battery graph display
This commit is contained in:
@ -42,8 +42,8 @@ set(headers
|
||||
bobbycheckbox.h
|
||||
bobbyerrorhandler.h
|
||||
bobbyquickactions.h
|
||||
bobbytypesafeenum.h
|
||||
bobbyschedulertask.h
|
||||
bobbytypesafeenum.h
|
||||
buildserver.h
|
||||
can.h
|
||||
changevaluedisplay_bluetoothmode.h
|
||||
@ -59,6 +59,7 @@ set(headers
|
||||
debugcolorhelpers.h
|
||||
debuginputhandler.h
|
||||
debugtexthelpers.h
|
||||
displays/batterygraphdisplay.h
|
||||
displays/bmsdisplay.h
|
||||
displays/bobbychangevaluedisplay.h
|
||||
displays/bobbydisplay.h
|
||||
@ -294,6 +295,7 @@ set(sources
|
||||
debugcolorhelpers.cpp
|
||||
debuginputhandler.cpp
|
||||
debugtexthelpers.cpp
|
||||
displays/batterygraphdisplay.cpp
|
||||
displays/bmsdisplay.cpp
|
||||
displays/bobbychangevaluedisplay.cpp
|
||||
displays/bobbydisplay.cpp
|
||||
|
38
main/displays/batterygraphdisplay.cpp
Normal file
38
main/displays/batterygraphdisplay.cpp
Normal file
@ -0,0 +1,38 @@
|
||||
#include "batterygraphdisplay.h"
|
||||
|
||||
// 3rdparty lib includes
|
||||
#include <screenmanager.h>
|
||||
|
||||
// local includes
|
||||
#include "displays/menus/batterymenu.h"
|
||||
|
||||
namespace {
|
||||
constexpr char TEXT_BATTERY_GRAPH[] = "Battery Level";
|
||||
} // namespace
|
||||
|
||||
void BatteryGraphDisplay::initScreen() {
|
||||
Base::initScreen();
|
||||
}
|
||||
|
||||
std::string BatteryGraphDisplay::text() const {
|
||||
return TEXT_BATTERY_GRAPH;
|
||||
}
|
||||
|
||||
void BatteryGraphDisplay::redraw() {
|
||||
Base::redraw();
|
||||
}
|
||||
|
||||
void BatteryGraphDisplay::buttonPressed(espgui::Button button)
|
||||
{
|
||||
Base::buttonPressed(button);
|
||||
|
||||
switch (button)
|
||||
{
|
||||
using espgui::Button;
|
||||
case Button::Left:
|
||||
case Button::Right:
|
||||
espgui::switchScreen<BatteryMenu>();
|
||||
break;
|
||||
default:;
|
||||
}
|
||||
}
|
17
main/displays/batterygraphdisplay.h
Normal file
17
main/displays/batterygraphdisplay.h
Normal file
@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
// 3rdparty lib includes
|
||||
|
||||
// local includes
|
||||
#include "bobbydisplaywithtitle.h"
|
||||
|
||||
class BatteryGraphDisplay : public BobbyDisplayWithTitle {
|
||||
using Base = BobbyDisplayWithTitle;
|
||||
|
||||
public:
|
||||
std::string text() const override;
|
||||
void initScreen() override;
|
||||
void redraw() override;
|
||||
|
||||
void buttonPressed(espgui::Button button) override;
|
||||
};
|
@ -14,8 +14,10 @@
|
||||
// Local includes
|
||||
#include "accessors/settingsaccessors.h"
|
||||
#include "battery.h"
|
||||
#include "displays/batterygraphdisplay.h"
|
||||
#include "displays/bobbychangevaluedisplay.h"
|
||||
#include "displays/calibratevoltagedisplay.h"
|
||||
#include "icons/graph.h"
|
||||
#include "icons/settings.h"
|
||||
#include "mainmenu.h"
|
||||
#include "typesafeenumchangemenu.h"
|
||||
@ -26,6 +28,7 @@ constexpr char TEXT_BATTERY[] = "Battery";
|
||||
constexpr char TEXT_CELL_SERIES[] = "Cells (Series)";
|
||||
constexpr char TEXT_CELL_PARALLEL[] = "Cells (Parallel)";
|
||||
constexpr char TEXT_SELECT_CELL_TYPE[] = "Select Cell Type";
|
||||
constexpr char TEXT_SHOW_BATTERY_GRAPH[] = "Battery Graph";
|
||||
constexpr char TEXT_BATTERY_CALIBRATE[] = "Calibrate Voltages";
|
||||
constexpr char TEXT_BATTERY_WHKM[] = "Wh per km";
|
||||
constexpr char TEXT_BATTERY_APPLYCALIB[] = "Apply calibration";
|
||||
@ -78,6 +81,7 @@ BatteryMenu::BatteryMenu()
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_CELL_PARALLEL, BatteryParallelCellsAccessor>, SwitchScreenAction<BatteryCellParallelChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BATTERY_WHKM, BatteryWHperKMAccessor>, SwitchScreenAction<BatteryWHperKMChangeScreen>>>();
|
||||
constructMenuItem<SwitchScreenTypeSafeChangeMenuItem<BatteryCellType, BatteryMenu, TEXT_SELECT_CELL_TYPE>>(&configs.battery.cellType);
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SHOW_BATTERY_GRAPH>, SwitchScreenAction<BatteryGraphDisplay>, StaticMenuItemIcon<&bobbyicons::graph>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
|
||||
constructMenuItem<makeComponent<MenuItem, WhStatisticsText, DummyAction>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY_CALIBRATE>, SwitchScreenAction<CalibrateVoltageDisplay>, StaticMenuItemIcon<&bobbyicons::settings>>>();
|
||||
|
Reference in New Issue
Block a user