Added basic battery graph display
This commit is contained in:
@@ -42,8 +42,8 @@ set(headers
|
|||||||
bobbycheckbox.h
|
bobbycheckbox.h
|
||||||
bobbyerrorhandler.h
|
bobbyerrorhandler.h
|
||||||
bobbyquickactions.h
|
bobbyquickactions.h
|
||||||
bobbytypesafeenum.h
|
|
||||||
bobbyschedulertask.h
|
bobbyschedulertask.h
|
||||||
|
bobbytypesafeenum.h
|
||||||
buildserver.h
|
buildserver.h
|
||||||
can.h
|
can.h
|
||||||
changevaluedisplay_bluetoothmode.h
|
changevaluedisplay_bluetoothmode.h
|
||||||
@@ -59,6 +59,7 @@ set(headers
|
|||||||
debugcolorhelpers.h
|
debugcolorhelpers.h
|
||||||
debuginputhandler.h
|
debuginputhandler.h
|
||||||
debugtexthelpers.h
|
debugtexthelpers.h
|
||||||
|
displays/batterygraphdisplay.h
|
||||||
displays/bmsdisplay.h
|
displays/bmsdisplay.h
|
||||||
displays/bobbychangevaluedisplay.h
|
displays/bobbychangevaluedisplay.h
|
||||||
displays/bobbydisplay.h
|
displays/bobbydisplay.h
|
||||||
@@ -294,6 +295,7 @@ set(sources
|
|||||||
debugcolorhelpers.cpp
|
debugcolorhelpers.cpp
|
||||||
debuginputhandler.cpp
|
debuginputhandler.cpp
|
||||||
debugtexthelpers.cpp
|
debugtexthelpers.cpp
|
||||||
|
displays/batterygraphdisplay.cpp
|
||||||
displays/bmsdisplay.cpp
|
displays/bmsdisplay.cpp
|
||||||
displays/bobbychangevaluedisplay.cpp
|
displays/bobbychangevaluedisplay.cpp
|
||||||
displays/bobbydisplay.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
|
// Local includes
|
||||||
#include "accessors/settingsaccessors.h"
|
#include "accessors/settingsaccessors.h"
|
||||||
#include "battery.h"
|
#include "battery.h"
|
||||||
|
#include "displays/batterygraphdisplay.h"
|
||||||
#include "displays/bobbychangevaluedisplay.h"
|
#include "displays/bobbychangevaluedisplay.h"
|
||||||
#include "displays/calibratevoltagedisplay.h"
|
#include "displays/calibratevoltagedisplay.h"
|
||||||
|
#include "icons/graph.h"
|
||||||
#include "icons/settings.h"
|
#include "icons/settings.h"
|
||||||
#include "mainmenu.h"
|
#include "mainmenu.h"
|
||||||
#include "typesafeenumchangemenu.h"
|
#include "typesafeenumchangemenu.h"
|
||||||
@@ -26,6 +28,7 @@ constexpr char TEXT_BATTERY[] = "Battery";
|
|||||||
constexpr char TEXT_CELL_SERIES[] = "Cells (Series)";
|
constexpr char TEXT_CELL_SERIES[] = "Cells (Series)";
|
||||||
constexpr char TEXT_CELL_PARALLEL[] = "Cells (Parallel)";
|
constexpr char TEXT_CELL_PARALLEL[] = "Cells (Parallel)";
|
||||||
constexpr char TEXT_SELECT_CELL_TYPE[] = "Select Cell Type";
|
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_CALIBRATE[] = "Calibrate Voltages";
|
||||||
constexpr char TEXT_BATTERY_WHKM[] = "Wh per km";
|
constexpr char TEXT_BATTERY_WHKM[] = "Wh per km";
|
||||||
constexpr char TEXT_BATTERY_APPLYCALIB[] = "Apply calibration";
|
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_CELL_PARALLEL, BatteryParallelCellsAccessor>, SwitchScreenAction<BatteryCellParallelChangeScreen>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BATTERY_WHKM, BatteryWHperKMAccessor>, SwitchScreenAction<BatteryWHperKMChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BATTERY_WHKM, BatteryWHperKMAccessor>, SwitchScreenAction<BatteryWHperKMChangeScreen>>>();
|
||||||
constructMenuItem<SwitchScreenTypeSafeChangeMenuItem<BatteryCellType, BatteryMenu, TEXT_SELECT_CELL_TYPE>>(&configs.battery.cellType);
|
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, EmptyText, DummyAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, WhStatisticsText, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, WhStatisticsText, DummyAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY_CALIBRATE>, SwitchScreenAction<CalibrateVoltageDisplay>, StaticMenuItemIcon<&bobbyicons::settings>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY_CALIBRATE>, SwitchScreenAction<CalibrateVoltageDisplay>, StaticMenuItemIcon<&bobbyicons::settings>>>();
|
||||||
|
Reference in New Issue
Block a user