Merge pull request #113 from bobbycar-graz/bug-fixes
Improved performance and usablity
This commit is contained in:
@@ -44,6 +44,7 @@ set(BOBBYCAR_BUILDFLAGS
|
|||||||
-DAP_PASSWORD=Passwort_123
|
-DAP_PASSWORD=Passwort_123
|
||||||
-DFEATURE_WEBSERVER
|
-DFEATURE_WEBSERVER
|
||||||
-DFEATURE_OTA
|
-DFEATURE_OTA
|
||||||
|
-DOTA_USERNAME="comred"
|
||||||
# -DFEATURE_DPAD_5WIRESW
|
# -DFEATURE_DPAD_5WIRESW
|
||||||
# -DPINS_DPAD_5WIRESW_OUT=4
|
# -DPINS_DPAD_5WIRESW_OUT=4
|
||||||
# -DPINS_DPAD_5WIRESW_IN1=5
|
# -DPINS_DPAD_5WIRESW_IN1=5
|
||||||
|
@@ -44,6 +44,7 @@ set(BOBBYCAR_BUILDFLAGS
|
|||||||
-DAP_PASSWORD=Passwort_123
|
-DAP_PASSWORD=Passwort_123
|
||||||
-DFEATURE_WEBSERVER
|
-DFEATURE_WEBSERVER
|
||||||
-DFEATURE_OTA
|
-DFEATURE_OTA
|
||||||
|
-DOTA_USERNAME="feedc0de"
|
||||||
-DFEATURE_DPAD_5WIRESW
|
-DFEATURE_DPAD_5WIRESW
|
||||||
-DPINS_DPAD_5WIRESW_OUT=18
|
-DPINS_DPAD_5WIRESW_OUT=18
|
||||||
-DPINS_DPAD_5WIRESW_IN1=19
|
-DPINS_DPAD_5WIRESW_IN1=19
|
||||||
|
@@ -44,6 +44,7 @@ set(BOBBYCAR_BUILDFLAGS
|
|||||||
-DAP_PASSWORD=Passwort_123
|
-DAP_PASSWORD=Passwort_123
|
||||||
-DFEATURE_WEBSERVER
|
-DFEATURE_WEBSERVER
|
||||||
-DFEATURE_OTA
|
-DFEATURE_OTA
|
||||||
|
-DOTA_USERNAME="greyhash"
|
||||||
-DFEATURE_DPAD_5WIRESW
|
-DFEATURE_DPAD_5WIRESW
|
||||||
-DPINS_DPAD_5WIRESW_OUT=4
|
-DPINS_DPAD_5WIRESW_OUT=4
|
||||||
-DPINS_DPAD_5WIRESW_IN1=5
|
-DPINS_DPAD_5WIRESW_IN1=5
|
||||||
|
@@ -44,6 +44,7 @@ set(BOBBYCAR_BUILDFLAGS
|
|||||||
-DAP_PASSWORD=Passwort_123
|
-DAP_PASSWORD=Passwort_123
|
||||||
-DFEATURE_WEBSERVER
|
-DFEATURE_WEBSERVER
|
||||||
# -DFEATURE_OTA
|
# -DFEATURE_OTA
|
||||||
|
# -DOTA_USERNAME="mick"
|
||||||
# -DFEATURE_DPAD_5WIRESW
|
# -DFEATURE_DPAD_5WIRESW
|
||||||
# -DPINS_DPAD_5WIRESW_OUT=4
|
# -DPINS_DPAD_5WIRESW_OUT=4
|
||||||
# -DPINS_DPAD_5WIRESW_IN1=5
|
# -DPINS_DPAD_5WIRESW_IN1=5
|
||||||
|
@@ -44,6 +44,7 @@ set(BOBBYCAR_BUILDFLAGS
|
|||||||
-DAP_PASSWORD=Passwort_123
|
-DAP_PASSWORD=Passwort_123
|
||||||
-DFEATURE_WEBSERVER
|
-DFEATURE_WEBSERVER
|
||||||
-DFEATURE_OTA
|
-DFEATURE_OTA
|
||||||
|
-DOTA_USERNAME="peter"
|
||||||
-DFEATURE_DPAD_5WIRESW_2OUT
|
-DFEATURE_DPAD_5WIRESW_2OUT
|
||||||
-DPINS_DPAD_5WIRESW_OUT1=18
|
-DPINS_DPAD_5WIRESW_OUT1=18
|
||||||
-DPINS_DPAD_5WIRESW_OUT2=19
|
-DPINS_DPAD_5WIRESW_OUT2=19
|
||||||
|
2
coredump.sh
Executable file
2
coredump.sh
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
espcoredump.py -p /dev/ttyUSB0 dbg_corefile ./build/bobbyquad_*.elf
|
@@ -5,6 +5,7 @@ set(headers
|
|||||||
bluetoothmode.h
|
bluetoothmode.h
|
||||||
bluetoothtexthelpers.h
|
bluetoothtexthelpers.h
|
||||||
bmsutils.h
|
bmsutils.h
|
||||||
|
buildserver.h
|
||||||
buttons.h
|
buttons.h
|
||||||
can.h
|
can.h
|
||||||
changevaluedisplay_bluetoothmode.h
|
changevaluedisplay_bluetoothmode.h
|
||||||
@@ -76,6 +77,7 @@ set(headers
|
|||||||
actions/multiaction.h
|
actions/multiaction.h
|
||||||
actions/rebootaction.h
|
actions/rebootaction.h
|
||||||
actions/savesettingsaction.h
|
actions/savesettingsaction.h
|
||||||
|
actions/selectbuildserveraction.h
|
||||||
actions/switchprofileaction.h
|
actions/switchprofileaction.h
|
||||||
actions/tempomatmodeapplycurrentpeedaction.h
|
actions/tempomatmodeapplycurrentpeedaction.h
|
||||||
actions/updateswapfrontbackaction.h
|
actions/updateswapfrontbackaction.h
|
||||||
@@ -102,6 +104,7 @@ set(headers
|
|||||||
displays/menus/cloudsettingsmenu.h
|
displays/menus/cloudsettingsmenu.h
|
||||||
displays/menus/commanddebugmenu.h
|
displays/menus/commanddebugmenu.h
|
||||||
displays/menus/controllerhardwaresettingsmenu.h
|
displays/menus/controllerhardwaresettingsmenu.h
|
||||||
|
displays/menus/crashmenu.h
|
||||||
displays/menus/debugmenu.h
|
displays/menus/debugmenu.h
|
||||||
displays/menus/defaultmodesettingsmenu.h
|
displays/menus/defaultmodesettingsmenu.h
|
||||||
displays/menus/demosmenu.h
|
displays/menus/demosmenu.h
|
||||||
@@ -126,6 +129,7 @@ set(headers
|
|||||||
displays/menus/presetsmenu.h
|
displays/menus/presetsmenu.h
|
||||||
displays/menus/profilesmenu.h
|
displays/menus/profilesmenu.h
|
||||||
displays/menus/selectbatterytypemenu.h
|
displays/menus/selectbatterytypemenu.h
|
||||||
|
displays/menus/selectbuildservermenu.h
|
||||||
displays/menus/selectmodemenu.h
|
displays/menus/selectmodemenu.h
|
||||||
displays/menus/settingsmenu.h
|
displays/menus/settingsmenu.h
|
||||||
displays/menus/stationwifisettingsmenu.h
|
displays/menus/stationwifisettingsmenu.h
|
||||||
@@ -278,6 +282,7 @@ set(sources
|
|||||||
displays/menus/cloudsettingsmenu.cpp
|
displays/menus/cloudsettingsmenu.cpp
|
||||||
displays/menus/commanddebugmenu.cpp
|
displays/menus/commanddebugmenu.cpp
|
||||||
displays/menus/controllerhardwaresettingsmenu.cpp
|
displays/menus/controllerhardwaresettingsmenu.cpp
|
||||||
|
displays/menus/crashmenu.cpp
|
||||||
displays/menus/debugmenu.cpp
|
displays/menus/debugmenu.cpp
|
||||||
displays/menus/defaultmodesettingsmenu.cpp
|
displays/menus/defaultmodesettingsmenu.cpp
|
||||||
displays/menus/demosmenu.cpp
|
displays/menus/demosmenu.cpp
|
||||||
|
@@ -4,11 +4,19 @@
|
|||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
#include "ledstrip.h"
|
#include "ledstrip.h"
|
||||||
#include "ledstripdefines.h"
|
// #include "ledstripdefines.h"
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
template<int16_t type>
|
||||||
|
class LedStripSetAnimationAction : public virtual ActionInterface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
void triggered() override { animation_type = type; }
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
class LedstripAnimationDefaultRainbowAction : public virtual ActionInterface
|
class LedstripAnimationDefaultRainbowAction : public virtual ActionInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -26,4 +34,5 @@ class LedstripAnimationSyncToSpeedAction : public virtual ActionInterface
|
|||||||
public:
|
public:
|
||||||
void triggered() override { animation_type = LEDSTRIP_ANIMATION_TYPE_SPEEDSYNCANIMATION; }
|
void triggered() override { animation_type = LEDSTRIP_ANIMATION_TYPE_SPEEDSYNCANIMATION; }
|
||||||
};
|
};
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
4
main/actions/selectbuildserveraction.h
Normal file
4
main/actions/selectbuildserveraction.h
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "actioninterface.h"
|
||||||
|
#include "globals.h"
|
0
main/buildserver.h
Normal file
0
main/buildserver.h
Normal file
0
main/displays/menus/crashmenu.cpp
Normal file
0
main/displays/menus/crashmenu.cpp
Normal file
39
main/displays/menus/crashmenu.h
Normal file
39
main/displays/menus/crashmenu.h
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "menudisplay.h"
|
||||||
|
#include "utils.h"
|
||||||
|
#include "actions/dummyaction.h"
|
||||||
|
#include "icons/back.h"
|
||||||
|
#include "texts.h"
|
||||||
|
#include <esp_log.h>
|
||||||
|
|
||||||
|
|
||||||
|
// forward declares
|
||||||
|
namespace {
|
||||||
|
class SettingsMenu;
|
||||||
|
|
||||||
|
class AssertAction : public virtual ActionInterface { public: void triggered() override { assert(0); } };
|
||||||
|
class DivideByZeroAction : public virtual ActionInterface { public: void triggered() override { int goodbye = 42 / 0; ESP_LOGW("divByZero", "%i", goodbye); } };
|
||||||
|
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
using namespace espgui;
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
class CrashMenu :
|
||||||
|
public MenuDisplay,
|
||||||
|
public StaticText<TEXT_CRASHMENU>,
|
||||||
|
public BackActionInterface<SwitchScreenAction<SettingsMenu>>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CrashMenu()
|
||||||
|
{
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CRASH_ASSERT>, AssertAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CRASH_DIVZERO>, DivideByZeroAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} // namespace
|
@@ -45,9 +45,9 @@ namespace {
|
|||||||
{
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, currentSelectedAnimationText, DisabledColor, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, currentSelectedAnimationText, DisabledColor, DummyAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_DEFAULTRAINBOW>, LedstripAnimationDefaultRainbowAction>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_DEFAULTRAINBOW>, LedStripSetAnimationAction<LEDSTRIP_ANIMATION_TYPE_DEFAULTRAINBOW>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_BETTERRAINBOW>, LedstripAnimationBetterRainbowAction>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_BETTERRAINBOW>, LedStripSetAnimationAction<LEDSTRIP_ANIMATION_TYPE_BETTERRAINBOW>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_SPEEDSYNCANIMATION>, LedstripAnimationSyncToSpeedAction>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_SPEEDSYNCANIMATION>, LedStripSetAnimationAction<LEDSTRIP_ANIMATION_TYPE_SPEEDSYNCANIMATION>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<LedstripMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<LedstripMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@@ -27,6 +27,9 @@
|
|||||||
#endif
|
#endif
|
||||||
#include "icons/poweroff.h"
|
#include "icons/poweroff.h"
|
||||||
#include "icons/reboot.h"
|
#include "icons/reboot.h"
|
||||||
|
#ifdef MAINMENU_PLUGIN
|
||||||
|
#include MAINMENU_PLUGIN
|
||||||
|
#endif
|
||||||
|
|
||||||
// forward declares
|
// forward declares
|
||||||
namespace {
|
namespace {
|
||||||
@@ -47,6 +50,14 @@ class UpdateDisplay;
|
|||||||
class PoweroffDisplay;
|
class PoweroffDisplay;
|
||||||
class DebugMenu;
|
class DebugMenu;
|
||||||
class BatteryMenu;
|
class BatteryMenu;
|
||||||
|
#ifdef MAINMENU_PLUGIN
|
||||||
|
GMEN2
|
||||||
|
#endif
|
||||||
|
#if !defined(MAINMENU_PLUGIN) and !defined(GMEN3)
|
||||||
|
#define SHOWITEM !simplified
|
||||||
|
#else
|
||||||
|
#define SHOWITEM GMEN3
|
||||||
|
#endif
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
@@ -65,32 +76,35 @@ public:
|
|||||||
#ifdef FEATURE_LEDSTRIP
|
#ifdef FEATURE_LEDSTRIP
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIP>, SwitchScreenAction<LedstripMenu>, StaticMenuItemIcon<&bobbyicons::neopixel>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIP>, SwitchScreenAction<LedstripMenu>, StaticMenuItemIcon<&bobbyicons::neopixel>>>();
|
||||||
#endif
|
#endif
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODESETTINGS>, ModeSettingsAction>>(); }
|
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODESETTINGS>, ModeSettingsAction>>(); }
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_PRESETS>, SwitchScreenAction<PresetsMenu>, StaticMenuItemIcon<&bobbyicons::presets>>>(); }
|
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_PRESETS>, SwitchScreenAction<PresetsMenu>, StaticMenuItemIcon<&bobbyicons::presets>>>(); }
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_PROFILES>, SwitchScreenAction<ProfilesMenu>>>(); }
|
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_PROFILES>, SwitchScreenAction<ProfilesMenu>>>(); }
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GRAPHS>, SwitchScreenAction<GraphsMenu>, StaticMenuItemIcon<&bobbyicons::graph>>>(); }
|
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GRAPHS>, SwitchScreenAction<GraphsMenu>, StaticMenuItemIcon<&bobbyicons::graph>>>(); }
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY>, SwitchScreenAction<BatteryMenu>, StaticMenuItemIcon<&bobbyicons::battery>>>(); }
|
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY>, SwitchScreenAction<BatteryMenu>, StaticMenuItemIcon<&bobbyicons::battery>>>(); }
|
||||||
#if defined(FEATURE_CAN) && defined(FEATURE_POWERSUPPLY)
|
#if defined(FEATURE_CAN) && defined(FEATURE_POWERSUPPLY)
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POWERSUPPLY>, SwitchScreenAction<PowerSupplyDisplay>>>(); }
|
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POWERSUPPLY>, SwitchScreenAction<PowerSupplyDisplay>>>(); }
|
||||||
#endif
|
#endif
|
||||||
#if defined(FEATURE_BLUETOOTH) && defined(FEATURE_BMS)
|
#if defined(FEATURE_BLUETOOTH) && defined(FEATURE_BMS)
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BMS>, SwitchScreenAction<BmsMenu>, StaticMenuItemIcon<&bobbyicons::bms>>>(); }
|
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BMS>, SwitchScreenAction<BmsMenu>, StaticMenuItemIcon<&bobbyicons::bms>>>(); }
|
||||||
#endif
|
#endif
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETTINGS>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&bobbyicons::settings>>>(); }
|
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETTINGS>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&bobbyicons::settings>>>(); }
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LOCKVEHICLE>, SwitchScreenAction<Lockscreen>, StaticMenuItemIcon<&bobbyicons::lock>>>();
|
|
||||||
#ifdef FEATURE_MOSFETS
|
#ifdef FEATURE_MOSFETS
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOSFETS>, SwitchScreenAction<MosfetsMenu>>>(); }
|
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOSFETS>, SwitchScreenAction<MosfetsMenu>>>(); }
|
||||||
#endif
|
#endif
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEMOS>, SwitchScreenAction<DemosMenu>, StaticMenuItemIcon<&bobbyicons::demos>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEMOS>, SwitchScreenAction<DemosMenu>, StaticMenuItemIcon<&bobbyicons::demos>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LOCKVEHICLE>, SwitchScreenAction<Lockscreen>, StaticMenuItemIcon<&bobbyicons::lock>>>();
|
||||||
#ifdef FEATURE_GARAGE
|
#ifdef FEATURE_GARAGE
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GARAGE>, SwitchScreenAction<GarageDisplay>>>(); }
|
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GARAGE>, SwitchScreenAction<GarageDisplay>>>(); }
|
||||||
#endif
|
#endif
|
||||||
#ifdef FEATURE_OTA
|
#ifdef FEATURE_OTA
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UPDATE>, SwitchScreenAction<UpdateDisplay>, StaticMenuItemIcon<&bobbyicons::update>>>(); }
|
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UPDATE>, SwitchScreenAction<UpdateDisplay>, StaticMenuItemIcon<&bobbyicons::update>>>(); }
|
||||||
#endif
|
#endif
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POWEROFF>, SwitchScreenAction<PoweroffDisplay>, StaticMenuItemIcon<&bobbyicons::poweroff>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POWEROFF>, SwitchScreenAction<PoweroffDisplay>, StaticMenuItemIcon<&bobbyicons::poweroff>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REBOOT>, RebootAction, StaticMenuItemIcon<&bobbyicons::reboot>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REBOOT>, RebootAction, StaticMenuItemIcon<&bobbyicons::reboot>>>();
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEBUG>, SwitchScreenAction<DebugMenu>>>(); }
|
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEBUG>, SwitchScreenAction<DebugMenu>>>(); }
|
||||||
|
#ifdef MAINMENU_PLUGIN
|
||||||
|
GMEN1
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
} // namespace
|
} // namespace
|
||||||
|
53
main/displays/menus/selectbuildservermenu.h
Normal file
53
main/displays/menus/selectbuildservermenu.h
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "menudisplay.h"
|
||||||
|
#include "utils.h"
|
||||||
|
#include "actions/dummyaction.h"
|
||||||
|
#include "actions/selectbuildserveraction.h"
|
||||||
|
#include "icons/back.h"
|
||||||
|
#include "texts.h"
|
||||||
|
#include "globals.h"
|
||||||
|
|
||||||
|
|
||||||
|
// forward declares
|
||||||
|
namespace {
|
||||||
|
class SettingsMenu;
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
using namespace espgui;
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
class SelectBuildServerMenu :
|
||||||
|
public MenuDisplay,
|
||||||
|
public StaticText<TEXT_SELECTBUILDSERVERMENU>,
|
||||||
|
public BackActionInterface<SwitchScreenAction<SettingsMenu>>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
SelectBuildServerMenu() {
|
||||||
|
|
||||||
|
auto numDisplayedServers = 0;
|
||||||
|
|
||||||
|
for (auto index = 0; index < stringSettings.otaServers.size(); index++)
|
||||||
|
{
|
||||||
|
auto otaServer = stringSettings.otaServers[index];
|
||||||
|
std::string url = otaServer.url;
|
||||||
|
std::string name = (otaServer.name.empty()) ? url : otaServer.name;
|
||||||
|
|
||||||
|
if (!name.empty()) {
|
||||||
|
auto menuitem = constructMenuItem<makeComponent<MenuItem, ChangeableText, DummyAction>>();
|
||||||
|
menuitem.setTitle(name);
|
||||||
|
numDisplayedServers++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!numDisplayedServers)
|
||||||
|
{
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NOBUILDSERVERCONFIGURED>, DummyAction>>();
|
||||||
|
}
|
||||||
|
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} // namespace
|
@@ -14,7 +14,9 @@
|
|||||||
#include "icons/hardware.h"
|
#include "icons/hardware.h"
|
||||||
#include "icons/buzzer.h"
|
#include "icons/buzzer.h"
|
||||||
#include "icons/info.h"
|
#include "icons/info.h"
|
||||||
|
#include "icons/demos.h"
|
||||||
#include "icons/back.h"
|
#include "icons/back.h"
|
||||||
|
#include "icons/update.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
#include "accessors/settingsaccessors.h"
|
#include "accessors/settingsaccessors.h"
|
||||||
@@ -33,6 +35,8 @@ class BoardcomputerHardwareSettingsMenu;
|
|||||||
class BuzzerMenu;
|
class BuzzerMenu;
|
||||||
class AboutMenu;
|
class AboutMenu;
|
||||||
class MainMenu;
|
class MainMenu;
|
||||||
|
class CrashMenu;
|
||||||
|
class SelectBuildServerMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
@@ -59,7 +63,10 @@ public:
|
|||||||
#ifdef FEATURE_LEDBACKLIGHT
|
#ifdef FEATURE_LEDBACKLIGHT
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLIGHT>, ToggleBoolAction, CheckboxIcon, BacklightAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLIGHT>, ToggleBoolAction, CheckboxIcon, BacklightAccessor>>();
|
||||||
#endif
|
#endif
|
||||||
|
if (!simplified)
|
||||||
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LIMITSSETTINGS>, SwitchScreenAction<LimitsSettingsMenu>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LIMITSSETTINGS>, SwitchScreenAction<LimitsSettingsMenu>>>();
|
||||||
|
}
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WIFISETTINGS>, SwitchScreenAction<WifiSettingsMenu>, StaticMenuItemIcon<&bobbyicons::wifi>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WIFISETTINGS>, SwitchScreenAction<WifiSettingsMenu>, StaticMenuItemIcon<&bobbyicons::wifi>>>();
|
||||||
#ifdef FEATURE_BLUETOOTH
|
#ifdef FEATURE_BLUETOOTH
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BLUETOOTHSETTINGS>, SwitchScreenAction<BluetoothSettingsMenu>, StaticMenuItemIcon<&bobbyicons::bluetooth>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BLUETOOTHSETTINGS>, SwitchScreenAction<BluetoothSettingsMenu>, StaticMenuItemIcon<&bobbyicons::bluetooth>>>();
|
||||||
@@ -69,6 +76,9 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_CLOUD
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDSETTINGS>, SwitchScreenAction<CloudSettingsMenu>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDSETTINGS>, SwitchScreenAction<CloudSettingsMenu>>>();
|
||||||
|
#endif
|
||||||
|
#ifdef FEATURE_OTA
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECTBUILDSERVERMENU>, SwitchScreenAction<SelectBuildServerMenu>, StaticMenuItemIcon<&bobbyicons::update>>>();
|
||||||
#endif
|
#endif
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TIME>, SwitchScreenAction<TimeSettingsMenu>, StaticMenuItemIcon<&bobbyicons::time>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TIME>, SwitchScreenAction<TimeSettingsMenu>, StaticMenuItemIcon<&bobbyicons::time>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODESSETTINGS>, SwitchScreenAction<ModesSettingsMenu>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODESSETTINGS>, SwitchScreenAction<ModesSettingsMenu>>>();
|
||||||
@@ -80,6 +90,7 @@ public:
|
|||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BUZZER>, SwitchScreenAction<BuzzerMenu>, StaticMenuItemIcon<&bobbyicons::buzzer>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BUZZER>, SwitchScreenAction<BuzzerMenu>, StaticMenuItemIcon<&bobbyicons::buzzer>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTLED>, ToggleBoolAction, CheckboxIcon, FrontLedAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTLED>, ToggleBoolAction, CheckboxIcon, FrontLedAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLED>, ToggleBoolAction, CheckboxIcon, BackLedAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLED>, ToggleBoolAction, CheckboxIcon, BackLedAccessor>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CRASHMENU>, SwitchScreenAction<CrashMenu>, StaticMenuItemIcon<&bobbyicons::demos>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ABOUT>, SwitchScreenAction<AboutMenu>, StaticMenuItemIcon<&bobbyicons::info>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ABOUT>, SwitchScreenAction<AboutMenu>, StaticMenuItemIcon<&bobbyicons::info>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
@@ -23,6 +23,8 @@ namespace {
|
|||||||
class MainMenu;
|
class MainMenu;
|
||||||
class BmsDisplay;
|
class BmsDisplay;
|
||||||
class MetersDisplay;
|
class MetersDisplay;
|
||||||
|
|
||||||
|
static uint16_t counter = 24;
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
@@ -158,6 +160,7 @@ void StatusDisplay::initScreen()
|
|||||||
m_labelProfile.start();
|
m_labelProfile.start();
|
||||||
|
|
||||||
tft.setTextColor(TFT_WHITE, TFT_BLACK);
|
tft.setTextColor(TFT_WHITE, TFT_BLACK);
|
||||||
|
counter = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void StatusDisplay::redraw()
|
void StatusDisplay::redraw()
|
||||||
@@ -170,9 +173,15 @@ void StatusDisplay::redraw()
|
|||||||
m_labelBrems.redraw(brems ? fmt::format("{:.2f}", *brems) : "?");
|
m_labelBrems.redraw(brems ? fmt::format("{:.2f}", *brems) : "?");
|
||||||
m_progressBarBrems.redraw(brems ? *brems : 0);
|
m_progressBarBrems.redraw(brems ? *brems : 0);
|
||||||
|
|
||||||
|
if (counter < 1)
|
||||||
|
{
|
||||||
|
counter = 25;
|
||||||
m_batterypercent.redraw(getBatteryPercentageString());
|
m_batterypercent.redraw(getBatteryPercentageString());
|
||||||
m_watthoursleft.redraw(getBatteryRemainingWattHoursString());
|
m_watthoursleft.redraw(getBatteryRemainingWattHoursString());
|
||||||
m_kilometersleft.redraw(getRemainingRangeString());
|
m_kilometersleft.redraw(getRemainingRangeString());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
counter--;
|
||||||
|
|
||||||
m_frontStatus.redraw(controllers.front);
|
m_frontStatus.redraw(controllers.front);
|
||||||
m_backStatus.redraw(controllers.back);
|
m_backStatus.redraw(controllers.back);
|
||||||
@@ -241,6 +250,7 @@ clearIp:
|
|||||||
|
|
||||||
void StatusDisplay::rotate(int offset)
|
void StatusDisplay::rotate(int offset)
|
||||||
{
|
{
|
||||||
|
counter = 0;
|
||||||
if (offset < 0)
|
if (offset < 0)
|
||||||
#ifdef FEATURE_BMS
|
#ifdef FEATURE_BMS
|
||||||
switchScreen<BmsDisplay>();
|
switchScreen<BmsDisplay>();
|
||||||
|
@@ -41,7 +41,11 @@ float avgSpeed, avgSpeedKmh, sumCurrent;
|
|||||||
|
|
||||||
char deviceName[32] = STRING(DEVICE_PREFIX) "_ERR";
|
char deviceName[32] = STRING(DEVICE_PREFIX) "_ERR";
|
||||||
|
|
||||||
#if defined(SIMPLIFIED_TRIGGER_TRIGGERONPRESET)
|
#ifdef GLOBALS_PLUGIN
|
||||||
|
#include GLOBALS_PLUGIN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(HAS_SIMPLIFIED)
|
||||||
bool simplified = true;
|
bool simplified = true;
|
||||||
#else
|
#else
|
||||||
bool simplified = false;
|
bool simplified = false;
|
||||||
|
@@ -149,20 +149,22 @@ void updateLedStrip()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void showAnimation() {
|
void showAnimation() {
|
||||||
|
if (settings.ledstrip.enableLedAnimation && !simplified)
|
||||||
|
{
|
||||||
if (animation_type == LEDSTRIP_ANIMATION_TYPE_DEFAULTRAINBOW) showDefaultLedstrip();
|
if (animation_type == LEDSTRIP_ANIMATION_TYPE_DEFAULTRAINBOW) showDefaultLedstrip();
|
||||||
else if (animation_type == LEDSTRIP_ANIMATION_TYPE_BETTERRAINBOW) showBetterRainbow();
|
else if (animation_type == LEDSTRIP_ANIMATION_TYPE_BETTERRAINBOW) showBetterRainbow();
|
||||||
else if (animation_type == LEDSTRIP_ANIMATION_TYPE_SPEEDSYNCANIMATION) showSpeedSyncAnimation();
|
else if (animation_type == LEDSTRIP_ANIMATION_TYPE_SPEEDSYNCANIMATION) showSpeedSyncAnimation();
|
||||||
else showDefaultLedstrip();
|
else showDefaultLedstrip();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
std::fill(std::begin(leds), std::end(leds), CRGB{0, 0, 0});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void showBetterRainbow() {
|
void showBetterRainbow() {
|
||||||
if (settings.ledstrip.enableLedAnimation)
|
|
||||||
{
|
|
||||||
fill_rainbow(&*std::begin(leds), leds.size(), gHue);
|
fill_rainbow(&*std::begin(leds), leds.size(), gHue);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
std::fill(std::begin(leds), std::end(leds), CRGB{0, 0, 0});
|
|
||||||
}
|
|
||||||
|
|
||||||
void fill_rainbow_invert_at( struct CRGB * pFirstLED, int numToFill, int invertAtLed,
|
void fill_rainbow_invert_at( struct CRGB * pFirstLED, int numToFill, int invertAtLed,
|
||||||
uint8_t initialhue,
|
uint8_t initialhue,
|
||||||
@@ -185,8 +187,6 @@ void fill_rainbow_invert_at( struct CRGB * pFirstLED, int numToFill, int invertA
|
|||||||
}
|
}
|
||||||
|
|
||||||
void showSpeedSyncAnimation() {
|
void showSpeedSyncAnimation() {
|
||||||
if (settings.ledstrip.enableLedAnimation)
|
|
||||||
{
|
|
||||||
#ifdef LEDS_PER_METER
|
#ifdef LEDS_PER_METER
|
||||||
const float leds_per_meter = LEDS_PER_METER;
|
const float leds_per_meter = LEDS_PER_METER;
|
||||||
#else
|
#else
|
||||||
@@ -209,13 +209,8 @@ void showSpeedSyncAnimation() {
|
|||||||
|
|
||||||
last_interval = espchrono::millis_clock::now();
|
last_interval = espchrono::millis_clock::now();
|
||||||
}
|
}
|
||||||
else
|
|
||||||
std::fill(std::begin(leds), std::end(leds), CRGB{0, 0, 0});
|
|
||||||
}
|
|
||||||
|
|
||||||
void showDefaultLedstrip()
|
void showDefaultLedstrip()
|
||||||
{
|
|
||||||
if (settings.ledstrip.enableLedAnimation)
|
|
||||||
{
|
{
|
||||||
fadeToBlackBy(&*std::begin(leds), leds.size(), 20);
|
fadeToBlackBy(&*std::begin(leds), leds.size(), 20);
|
||||||
|
|
||||||
@@ -226,8 +221,5 @@ void showDefaultLedstrip()
|
|||||||
dothue += 32;
|
dothue += 32;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
std::fill(std::begin(leds), std::end(leds), CRGB{0, 0, 0});
|
|
||||||
}
|
|
||||||
} // namespace
|
} // namespace
|
||||||
#endif
|
#endif
|
||||||
|
@@ -38,6 +38,7 @@ using namespace std::chrono_literals;
|
|||||||
#endif
|
#endif
|
||||||
#include "displays/menus/buzzermenu.h"
|
#include "displays/menus/buzzermenu.h"
|
||||||
#include "displays/menus/commanddebugmenu.h"
|
#include "displays/menus/commanddebugmenu.h"
|
||||||
|
#include "displays/menus/crashmenu.h"
|
||||||
#include "displays/menus/debugmenu.h"
|
#include "displays/menus/debugmenu.h"
|
||||||
#include "displays/menus/defaultmodesettingsmenu.h"
|
#include "displays/menus/defaultmodesettingsmenu.h"
|
||||||
#include "displays/menus/demosmenu.h"
|
#include "displays/menus/demosmenu.h"
|
||||||
@@ -126,6 +127,7 @@ using namespace std::chrono_literals;
|
|||||||
#include "serialhandler.h"
|
#include "serialhandler.h"
|
||||||
#ifdef FEATURE_OTA
|
#ifdef FEATURE_OTA
|
||||||
#include "ota.h"
|
#include "ota.h"
|
||||||
|
#include "displays/menus/selectbuildservermenu.h"
|
||||||
#endif
|
#endif
|
||||||
#include "presets.h"
|
#include "presets.h"
|
||||||
#include "statistics.h"
|
#include "statistics.h"
|
||||||
|
@@ -258,10 +258,10 @@ constexpr Settings::Battery defaultBattery {
|
|||||||
.cellsParallel = 4,
|
.cellsParallel = 4,
|
||||||
.cellType = 0,
|
.cellType = 0,
|
||||||
.watthoursPerKilometer = 20,
|
.watthoursPerKilometer = 20,
|
||||||
.front30VoltCalibration = 30,
|
.front30VoltCalibration = 3000,
|
||||||
.back30VoltCalibration = 30,
|
.back30VoltCalibration = 3000,
|
||||||
.front50VoltCalibration = 50,
|
.front50VoltCalibration = 5000,
|
||||||
.back50VoltCalibration = 50,
|
.back50VoltCalibration = 5000,
|
||||||
.applyCalibration = true
|
.applyCalibration = true
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -297,6 +297,7 @@ constexpr Settings defaultSettings {
|
|||||||
StringSettings makeDefaultStringSettings()
|
StringSettings makeDefaultStringSettings()
|
||||||
{
|
{
|
||||||
using ConfiguredWifi = StringSettings::ConfiguredWifi;
|
using ConfiguredWifi = StringSettings::ConfiguredWifi;
|
||||||
|
using ConfiguredOtaServer = StringSettings::ConfiguredOtaServer;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
.wifis = std::array<ConfiguredWifi, 10> {
|
.wifis = std::array<ConfiguredWifi, 10> {
|
||||||
@@ -322,6 +323,20 @@ StringSettings makeDefaultStringSettings()
|
|||||||
#endif
|
#endif
|
||||||
#ifdef FEATURE_NTP
|
#ifdef FEATURE_NTP
|
||||||
.timeServer = "europe.pool.ntp.org",
|
.timeServer = "europe.pool.ntp.org",
|
||||||
|
#endif
|
||||||
|
#ifdef FEATURE_OTA
|
||||||
|
.otaServers = std::array<ConfiguredOtaServer, 2> {
|
||||||
|
ConfiguredOtaServer { .name = {}, .url = {} },
|
||||||
|
ConfiguredOtaServer { .name = {}, .url = {} },/*
|
||||||
|
ConfiguredOtaServer { .name = {}, .url = {} },
|
||||||
|
ConfiguredOtaServer { .name = {}, .url = {} },
|
||||||
|
ConfiguredOtaServer { .name = {}, .url = {} },
|
||||||
|
ConfiguredOtaServer { .name = {}, .url = {} },
|
||||||
|
ConfiguredOtaServer { .name = {}, .url = {} },
|
||||||
|
ConfiguredOtaServer { .name = {}, .url = {} },
|
||||||
|
ConfiguredOtaServer { .name = {}, .url = {} },
|
||||||
|
ConfiguredOtaServer { .name = {}, .url = {} },*/
|
||||||
|
},
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -10,17 +10,20 @@
|
|||||||
namespace {
|
namespace {
|
||||||
void switchProfile(uint8_t index)
|
void switchProfile(uint8_t index)
|
||||||
{
|
{
|
||||||
settings = presets::defaultSettings;
|
|
||||||
stringSettings = presets::makeDefaultStringSettings();
|
|
||||||
|
|
||||||
#ifdef SIMPLIFIED_TRIGGER_TRIGGERONPRESET
|
#ifdef SIMPLIFIED_TRIGGER_TRIGGERONPRESET
|
||||||
if (index == SIMPLIFIED_TRIGGER_TRIGGERONPRESET)
|
if (index == SIMPLIFIED_TRIGGER_TRIGGERONPRESET)
|
||||||
{
|
{
|
||||||
simplified = true;
|
simplified = true;
|
||||||
|
#ifdef SETTINGSUTILS_PLUGIN
|
||||||
|
#include SETTINGSUTILS_PLUGIN
|
||||||
|
#endif
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
settings = presets::defaultSettings;
|
||||||
|
stringSettings = presets::makeDefaultStringSettings();
|
||||||
|
|
||||||
if (!settingsPersister.openProfile(index))
|
if (!settingsPersister.openProfile(index))
|
||||||
{
|
{
|
||||||
ESP_LOGE("BOBBY", "openProfile() failed");
|
ESP_LOGE("BOBBY", "openProfile() failed");
|
||||||
|
@@ -36,6 +36,15 @@ struct StringSettings
|
|||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
void executeForEveryProfileSetting(T &&callable);
|
void executeForEveryProfileSetting(T &&callable);
|
||||||
|
|
||||||
|
#ifdef FEATURE_OTA
|
||||||
|
struct ConfiguredOtaServer {
|
||||||
|
std::string name;
|
||||||
|
std::string url;
|
||||||
|
};
|
||||||
|
|
||||||
|
std::array<ConfiguredOtaServer, 2> otaServers;
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
@@ -76,6 +85,28 @@ void StringSettings::executeForEveryCommonSetting(T &&callable)
|
|||||||
#ifdef FEATURE_NTP
|
#ifdef FEATURE_NTP
|
||||||
callable("timeServer", timeServer);
|
callable("timeServer", timeServer);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef FEATURE_OTA
|
||||||
|
callable("otaName0", otaServers[0].name);
|
||||||
|
callable("otaUrl0", otaServers[0].url);
|
||||||
|
callable("otaName1", otaServers[1].name);
|
||||||
|
callable("otaUrl1", otaServers[1].url);/*
|
||||||
|
callable("otaName2", otaServers[2].name);
|
||||||
|
callable("otaUrl2", otaServers[2].url);
|
||||||
|
callable("otaName3", otaServers[3].name);
|
||||||
|
callable("otaUrl3", otaServers[3].url);
|
||||||
|
callable("otaName4", otaServers[4].name);
|
||||||
|
callable("otaUrl4", otaServers[4].url);
|
||||||
|
callable("otaName5", otaServers[5].name);
|
||||||
|
callable("otaUrl5", otaServers[5].url);
|
||||||
|
callable("otaName6", otaServers[6].name);
|
||||||
|
callable("otaUrl6", otaServers[6].url);
|
||||||
|
callable("otaName7", otaServers[7].name);
|
||||||
|
callable("otaUrl7", otaServers[7].url);
|
||||||
|
callable("otaName8", otaServers[8].name);
|
||||||
|
callable("otaUrl8", otaServers[8].url);
|
||||||
|
callable("otaName9", otaServers[9].name);
|
||||||
|
callable("otaUrl9", otaServers[9].url);*/
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
|
13
main/texts.h
13
main/texts.h
@@ -9,6 +9,10 @@ constexpr char TEXT_BACK[] = "Back";
|
|||||||
constexpr char TEXT_ACCESSPOINTWIFISETTINGS[] = "Access Point WiFi settings";
|
constexpr char TEXT_ACCESSPOINTWIFISETTINGS[] = "Access Point WiFi settings";
|
||||||
//constexpr char TEXT_BACK[] = "Back";
|
//constexpr char TEXT_BACK[] = "Back";
|
||||||
|
|
||||||
|
#ifdef TEXTS_PLUGIN
|
||||||
|
#include TEXTS_PLUGIN
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef FEATURE_BLUETOOTH
|
#ifdef FEATURE_BLUETOOTH
|
||||||
//BluetoothSettingsMenu
|
//BluetoothSettingsMenu
|
||||||
constexpr char TEXT_BLUETOOTHSETTINGS[] = "Bluetooth settings";
|
constexpr char TEXT_BLUETOOTHSETTINGS[] = "Bluetooth settings";
|
||||||
@@ -462,6 +466,15 @@ constexpr char TEXT_WIFI_POWER_2dBm[] = "2dBm";
|
|||||||
constexpr char TEXT_WIFI_POWER_MINUS_1dBm[] = "-1dBm";
|
constexpr char TEXT_WIFI_POWER_MINUS_1dBm[] = "-1dBm";
|
||||||
//constexpr char TEXT_BACK[] = "Back";
|
//constexpr char TEXT_BACK[] = "Back";
|
||||||
|
|
||||||
|
//Crashmenu
|
||||||
|
constexpr char TEXT_CRASHMENU[] = "Crash Menu";
|
||||||
|
constexpr char TEXT_CRASH_ASSERT[] = "assert(0)";
|
||||||
|
constexpr char TEXT_CRASH_DIVZERO[] = "42 / 0";
|
||||||
|
|
||||||
|
//SelectBuildServerMenu
|
||||||
|
constexpr char TEXT_SELECTBUILDSERVERMENU[] = "Select Buildserver";
|
||||||
|
constexpr char TEXT_NOBUILDSERVERCONFIGURED[] = "Not configured";
|
||||||
|
|
||||||
#ifdef FEATURE_CAN
|
#ifdef FEATURE_CAN
|
||||||
constexpr char TEXT_POWERSUPPLY[] = "Powersupply";
|
constexpr char TEXT_POWERSUPPLY[] = "Powersupply";
|
||||||
#endif
|
#endif
|
||||||
|
@@ -681,9 +681,16 @@ CONFIG_ESP32_PHY_MAX_TX_POWER=20
|
|||||||
#
|
#
|
||||||
# Core dump
|
# Core dump
|
||||||
#
|
#
|
||||||
# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set
|
CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH=y
|
||||||
# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set
|
# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set
|
||||||
CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y
|
# CONFIG_ESP_COREDUMP_ENABLE_TO_NONE is not set
|
||||||
|
# CONFIG_ESP_COREDUMP_DATA_FORMAT_BIN is not set
|
||||||
|
CONFIG_ESP_COREDUMP_DATA_FORMAT_ELF=y
|
||||||
|
# CONFIG_ESP_COREDUMP_CHECKSUM_CRC32 is not set
|
||||||
|
CONFIG_ESP_COREDUMP_CHECKSUM_SHA256=y
|
||||||
|
CONFIG_ESP_COREDUMP_ENABLE=y
|
||||||
|
CONFIG_ESP_COREDUMP_MAX_TASKS_NUM=64
|
||||||
|
CONFIG_ESP_COREDUMP_STACK_SIZE=0
|
||||||
# end of Core dump
|
# end of Core dump
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -769,7 +776,7 @@ CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y
|
|||||||
# CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE is not set
|
# CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE is not set
|
||||||
# CONFIG_FREERTOS_ASSERT_DISABLE is not set
|
# CONFIG_FREERTOS_ASSERT_DISABLE is not set
|
||||||
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
|
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
|
||||||
CONFIG_FREERTOS_ISR_STACKSIZE=1536
|
CONFIG_FREERTOS_ISR_STACKSIZE=2096
|
||||||
# CONFIG_FREERTOS_LEGACY_HOOKS is not set
|
# CONFIG_FREERTOS_LEGACY_HOOKS is not set
|
||||||
CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16
|
CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16
|
||||||
CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
|
CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
|
||||||
@@ -1442,9 +1449,16 @@ CONFIG_ESP32S2_PANIC_PRINT_REBOOT=y
|
|||||||
# CONFIG_ESP32S2_PANIC_GDBSTUB is not set
|
# CONFIG_ESP32S2_PANIC_GDBSTUB is not set
|
||||||
CONFIG_TIMER_TASK_STACK_SIZE=3584
|
CONFIG_TIMER_TASK_STACK_SIZE=3584
|
||||||
CONFIG_SW_COEXIST_ENABLE=y
|
CONFIG_SW_COEXIST_ENABLE=y
|
||||||
# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set
|
CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH=y
|
||||||
# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set
|
# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set
|
||||||
CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y
|
# CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE is not set
|
||||||
|
# CONFIG_ESP32_COREDUMP_DATA_FORMAT_BIN is not set
|
||||||
|
CONFIG_ESP32_COREDUMP_DATA_FORMAT_ELF=y
|
||||||
|
# CONFIG_ESP32_COREDUMP_CHECKSUM_CRC32 is not set
|
||||||
|
CONFIG_ESP32_COREDUMP_CHECKSUM_SHA256=y
|
||||||
|
CONFIG_ESP32_ENABLE_COREDUMP=y
|
||||||
|
CONFIG_ESP32_CORE_DUMP_MAX_TASKS_NUM=64
|
||||||
|
CONFIG_ESP32_CORE_DUMP_STACK_SIZE=0
|
||||||
CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=150
|
CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=150
|
||||||
CONFIG_MB_MASTER_DELAY_MS_CONVERT=200
|
CONFIG_MB_MASTER_DELAY_MS_CONVERT=200
|
||||||
CONFIG_MB_QUEUE_LENGTH=20
|
CONFIG_MB_QUEUE_LENGTH=20
|
||||||
|
@@ -681,9 +681,16 @@ CONFIG_ESP32_PHY_MAX_TX_POWER=20
|
|||||||
#
|
#
|
||||||
# Core dump
|
# Core dump
|
||||||
#
|
#
|
||||||
# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set
|
CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH=y
|
||||||
# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set
|
# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set
|
||||||
CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y
|
# CONFIG_ESP_COREDUMP_ENABLE_TO_NONE is not set
|
||||||
|
# CONFIG_ESP_COREDUMP_DATA_FORMAT_BIN is not set
|
||||||
|
CONFIG_ESP_COREDUMP_DATA_FORMAT_ELF=y
|
||||||
|
# CONFIG_ESP_COREDUMP_CHECKSUM_CRC32 is not set
|
||||||
|
CONFIG_ESP_COREDUMP_CHECKSUM_SHA256=y
|
||||||
|
CONFIG_ESP_COREDUMP_ENABLE=y
|
||||||
|
CONFIG_ESP_COREDUMP_MAX_TASKS_NUM=64
|
||||||
|
CONFIG_ESP_COREDUMP_STACK_SIZE=0
|
||||||
# end of Core dump
|
# end of Core dump
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -769,7 +776,7 @@ CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y
|
|||||||
# CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE is not set
|
# CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE is not set
|
||||||
# CONFIG_FREERTOS_ASSERT_DISABLE is not set
|
# CONFIG_FREERTOS_ASSERT_DISABLE is not set
|
||||||
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
|
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
|
||||||
CONFIG_FREERTOS_ISR_STACKSIZE=1536
|
CONFIG_FREERTOS_ISR_STACKSIZE=2096
|
||||||
# CONFIG_FREERTOS_LEGACY_HOOKS is not set
|
# CONFIG_FREERTOS_LEGACY_HOOKS is not set
|
||||||
CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16
|
CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16
|
||||||
CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
|
CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
|
||||||
@@ -1442,9 +1449,16 @@ CONFIG_ESP32S2_PANIC_PRINT_REBOOT=y
|
|||||||
# CONFIG_ESP32S2_PANIC_GDBSTUB is not set
|
# CONFIG_ESP32S2_PANIC_GDBSTUB is not set
|
||||||
CONFIG_TIMER_TASK_STACK_SIZE=3584
|
CONFIG_TIMER_TASK_STACK_SIZE=3584
|
||||||
CONFIG_SW_COEXIST_ENABLE=y
|
CONFIG_SW_COEXIST_ENABLE=y
|
||||||
# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set
|
CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH=y
|
||||||
# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set
|
# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set
|
||||||
CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y
|
# CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE is not set
|
||||||
|
# CONFIG_ESP32_COREDUMP_DATA_FORMAT_BIN is not set
|
||||||
|
CONFIG_ESP32_COREDUMP_DATA_FORMAT_ELF=y
|
||||||
|
# CONFIG_ESP32_COREDUMP_CHECKSUM_CRC32 is not set
|
||||||
|
CONFIG_ESP32_COREDUMP_CHECKSUM_SHA256=y
|
||||||
|
CONFIG_ESP32_ENABLE_COREDUMP=y
|
||||||
|
CONFIG_ESP32_CORE_DUMP_MAX_TASKS_NUM=64
|
||||||
|
CONFIG_ESP32_CORE_DUMP_STACK_SIZE=0
|
||||||
CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=150
|
CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=150
|
||||||
CONFIG_MB_MASTER_DELAY_MS_CONVERT=200
|
CONFIG_MB_MASTER_DELAY_MS_CONVERT=200
|
||||||
CONFIG_MB_QUEUE_LENGTH=20
|
CONFIG_MB_QUEUE_LENGTH=20
|
||||||
|
Reference in New Issue
Block a user