Added git menu
This commit is contained in:
@ -105,6 +105,7 @@ set(headers
|
|||||||
displays/menus/feedbackdebugmenu.h
|
displays/menus/feedbackdebugmenu.h
|
||||||
displays/menus/gametrakmodesettingsmenu.h
|
displays/menus/gametrakmodesettingsmenu.h
|
||||||
displays/menus/garagemenu.h
|
displays/menus/garagemenu.h
|
||||||
|
displays/menus/gitmenu.h
|
||||||
displays/menus/graphsmenu.h
|
displays/menus/graphsmenu.h
|
||||||
displays/menus/greenpassmenu.h
|
displays/menus/greenpassmenu.h
|
||||||
displays/menus/handbremssettingsmenu.h
|
displays/menus/handbremssettingsmenu.h
|
||||||
@ -179,6 +180,7 @@ set(headers
|
|||||||
icons/buzzer.h
|
icons/buzzer.h
|
||||||
icons/close.h
|
icons/close.h
|
||||||
icons/demos.h
|
icons/demos.h
|
||||||
|
icons/git.h
|
||||||
icons/graph.h
|
icons/graph.h
|
||||||
icons/greenpass.h
|
icons/greenpass.h
|
||||||
icons/hardware.h
|
icons/hardware.h
|
||||||
@ -344,6 +346,7 @@ set(sources
|
|||||||
displays/menus/feedbackdebugmenu.cpp
|
displays/menus/feedbackdebugmenu.cpp
|
||||||
displays/menus/gametrakmodesettingsmenu.cpp
|
displays/menus/gametrakmodesettingsmenu.cpp
|
||||||
displays/menus/garagemenu.cpp
|
displays/menus/garagemenu.cpp
|
||||||
|
displays/menus/gitmenu.cpp
|
||||||
displays/menus/graphsmenu.cpp
|
displays/menus/graphsmenu.cpp
|
||||||
displays/menus/greenpassmenu.cpp
|
displays/menus/greenpassmenu.cpp
|
||||||
displays/menus/handbremssettingsmenu.cpp
|
displays/menus/handbremssettingsmenu.cpp
|
||||||
@ -418,6 +421,7 @@ set(sources
|
|||||||
icons/buzzer.cpp
|
icons/buzzer.cpp
|
||||||
icons/close.cpp
|
icons/close.cpp
|
||||||
icons/demos.cpp
|
icons/demos.cpp
|
||||||
|
icons/git.cpp
|
||||||
icons/graph.cpp
|
icons/graph.cpp
|
||||||
icons/greenpass.cpp
|
icons/greenpass.cpp
|
||||||
icons/hardware.cpp
|
icons/hardware.cpp
|
||||||
@ -504,6 +508,24 @@ idf_component_register(
|
|||||||
${dependencies}
|
${dependencies}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
execute_process(COMMAND git rev-parse HEAD
|
||||||
|
OUTPUT_VARIABLE GIT_REV ERROR_QUIET
|
||||||
|
)
|
||||||
|
execute_process(
|
||||||
|
COMMAND git log -1 --pretty=%B
|
||||||
|
OUTPUT_VARIABLE GIT_MESSAGE ERROR_QUIET
|
||||||
|
)
|
||||||
|
execute_process(
|
||||||
|
COMMAND git rev-parse --abbrev-ref HEAD
|
||||||
|
OUTPUT_VARIABLE GIT_BRANCH
|
||||||
|
)
|
||||||
|
|
||||||
|
string(STRIP "${GIT_REV}" GIT_REV)
|
||||||
|
string(SUBSTRING "${GIT_REV}" 1 7 GIT_SHORT_REV)
|
||||||
|
string(STRIP "${GIT_MESSAGE}" GIT_MESSAGE)
|
||||||
|
string(SUBSTRING "${GIT_MESSAGE}" 0 100 GIT_MESSAGE)
|
||||||
|
string(STRIP "${GIT_BRANCH}" GIT_BRANCH)
|
||||||
|
|
||||||
target_compile_options(${COMPONENT_TARGET}
|
target_compile_options(${COMPONENT_TARGET}
|
||||||
PRIVATE
|
PRIVATE
|
||||||
-fstack-reuse=all
|
-fstack-reuse=all
|
||||||
@ -513,5 +535,9 @@ target_compile_options(${COMPONENT_TARGET}
|
|||||||
-Wno-deprecated-declarations
|
-Wno-deprecated-declarations
|
||||||
-Wno-missing-field-initializers
|
-Wno-missing-field-initializers
|
||||||
-Wno-parentheses
|
-Wno-parentheses
|
||||||
|
-DGIT_REV="${GIT_REV}"
|
||||||
|
-DGIT_SHORT_REV="${GIT_SHORT_REV}"
|
||||||
|
-DGIT_MESSAGE="${GIT_MESSAGE}"
|
||||||
|
-DGIT_BRANCH="${GIT_BRANCH}"
|
||||||
${BOBBYCAR_BUILDFLAGS}
|
${BOBBYCAR_BUILDFLAGS}
|
||||||
)
|
)
|
||||||
|
@ -6,9 +6,7 @@
|
|||||||
#include "actions/popscreenaction.h"
|
#include "actions/popscreenaction.h"
|
||||||
#include "icons/back.h"
|
#include "icons/back.h"
|
||||||
#include "esptexthelpers.h"
|
#include "esptexthelpers.h"
|
||||||
#include "displays/menus/settingsmenu.h"
|
|
||||||
|
|
||||||
#include <espasyncota.h>
|
|
||||||
#include <esp_ota_ops.h>
|
#include <esp_ota_ops.h>
|
||||||
#include "fmt/core.h"
|
#include "fmt/core.h"
|
||||||
|
|
||||||
|
70
main/displays/menus/gitmenu.cpp
Normal file
70
main/displays/menus/gitmenu.cpp
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
#include "gitmenu.h"
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include <actions/dummyaction.h>
|
||||||
|
#include <actions/popscreenaction.h>
|
||||||
|
#include <fmt/core.h>
|
||||||
|
#include <icons/back.h>
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "bobbyerrorhandler.h"
|
||||||
|
#include "displays/qrdisplay.h"
|
||||||
|
#include "icons/info.h"
|
||||||
|
#include "icons/modes.h"
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
constexpr char TEXT_GIT[] = "Git";
|
||||||
|
constexpr char TEXT_GIT_BRANCH_TITLE[] = "Branch";
|
||||||
|
constexpr char TEXT_GIT_BRANCH[] = GIT_BRANCH;
|
||||||
|
constexpr char TEXT_GIT_COMMIT_TITLE[] = "Commit";
|
||||||
|
constexpr char TEXT_GIT_COMMIT[] = GIT_REV;
|
||||||
|
constexpr char TEXT_GIT_COMMIT_SHORT[] = GIT_SHORT_REV;
|
||||||
|
constexpr char TEXT_GIT_MESSAGE_TITLE[] = "Commit Message";
|
||||||
|
constexpr char TEXT_GIT_MESSAGE[] = GIT_MESSAGE;
|
||||||
|
constexpr char TEXT_GITHUB_URL[] = "Github URL";
|
||||||
|
constexpr char TEXT_BACK[] = "Back";
|
||||||
|
|
||||||
|
class OpenPopupAction : public virtual espgui::ActionInterface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
void triggered() override
|
||||||
|
{
|
||||||
|
BobbyErrorHandler{}.errorOccured(TEXT_GIT_MESSAGE);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class GitQrAction : public virtual espgui::ActionInterface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
void triggered() override
|
||||||
|
{
|
||||||
|
// ToDo: Fix qr library and remove spaces, also, why is "`" at the end of string in qr code but not when logging?
|
||||||
|
const std::string qr_text = fmt::format("https://github.com/bobbycar-graz/bobbycar-boardcomputer-firmware/commit/{} ", GIT_REV);
|
||||||
|
espgui::pushScreen<QrDisplay>(qr_text);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
GitMenu::GitMenu()
|
||||||
|
{
|
||||||
|
using namespace espgui;
|
||||||
|
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT_BRANCH_TITLE>, StaticColor<TFT_GREY>, StaticFont<2>, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT_BRANCH>, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT_COMMIT_TITLE>, StaticColor<TFT_GREY>, StaticFont<2>, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT_COMMIT>, DummyAction, StaticFont<2>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT_COMMIT_SHORT>, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT_MESSAGE_TITLE>, OpenPopupAction, StaticMenuItemIcon<&bobbyicons::info>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GITHUB_URL>, GitQrAction, StaticMenuItemIcon<&bobbyicons::modes>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string GitMenu::text() const
|
||||||
|
{
|
||||||
|
return TEXT_GIT;
|
||||||
|
}
|
||||||
|
|
||||||
|
void GitMenu::back()
|
||||||
|
{
|
||||||
|
espgui::popScreen();
|
||||||
|
}
|
14
main/displays/menus/gitmenu.h
Normal file
14
main/displays/menus/gitmenu.h
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "displays/menudisplaywithtime.h"
|
||||||
|
|
||||||
|
class GitMenu : public bobbygui::MenuDisplayWithTime
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
GitMenu();
|
||||||
|
|
||||||
|
std::string text() const override;
|
||||||
|
|
||||||
|
void back() override;
|
||||||
|
};
|
@ -22,6 +22,7 @@
|
|||||||
#include "displays/menus/crashmenu.h"
|
#include "displays/menus/crashmenu.h"
|
||||||
#include "displays/menus/espnowmenu.h"
|
#include "displays/menus/espnowmenu.h"
|
||||||
#include "displays/menus/featureflagsmenu.h"
|
#include "displays/menus/featureflagsmenu.h"
|
||||||
|
#include "displays/menus/gitmenu.h"
|
||||||
#include "displays/menus/limitssettingsmenu.h"
|
#include "displays/menus/limitssettingsmenu.h"
|
||||||
#include "displays/menus/mainmenu.h"
|
#include "displays/menus/mainmenu.h"
|
||||||
#include "displays/menus/modessettingsmenu.h"
|
#include "displays/menus/modessettingsmenu.h"
|
||||||
@ -33,6 +34,7 @@
|
|||||||
#include "icons/bluetooth.h"
|
#include "icons/bluetooth.h"
|
||||||
#include "icons/buzzer.h"
|
#include "icons/buzzer.h"
|
||||||
#include "icons/demos.h"
|
#include "icons/demos.h"
|
||||||
|
#include "icons/git.h"
|
||||||
#include "icons/hardware.h"
|
#include "icons/hardware.h"
|
||||||
#include "icons/info.h"
|
#include "icons/info.h"
|
||||||
#include "icons/time.h"
|
#include "icons/time.h"
|
||||||
@ -64,6 +66,7 @@ constexpr char TEXT_FRONTLED[] = "Front LED";
|
|||||||
constexpr char TEXT_BACKLED[] = "Back LED";
|
constexpr char TEXT_BACKLED[] = "Back LED";
|
||||||
constexpr char TEXT_CRASHMENU[] = "Crash Menu";
|
constexpr char TEXT_CRASHMENU[] = "Crash Menu";
|
||||||
constexpr char TEXT_ABOUT[] = "About";
|
constexpr char TEXT_ABOUT[] = "About";
|
||||||
|
constexpr char TEXT_GIT[] = "Git";
|
||||||
constexpr char TEXT_BACK[] = "Back";
|
constexpr char TEXT_BACK[] = "Back";
|
||||||
|
|
||||||
#ifdef FEATURE_LEDBACKLIGHT
|
#ifdef FEATURE_LEDBACKLIGHT
|
||||||
@ -126,6 +129,7 @@ SettingsMenu::SettingsMenu()
|
|||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLED>, BobbyCheckbox, BackLedAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLED>, BobbyCheckbox, BackLedAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CRASHMENU>, PushScreenAction<CrashMenu>, StaticMenuItemIcon<&bobbyicons::demos>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CRASHMENU>, PushScreenAction<CrashMenu>, StaticMenuItemIcon<&bobbyicons::demos>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ABOUT>, PushScreenAction<AboutMenu>, StaticMenuItemIcon<&bobbyicons::info>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ABOUT>, PushScreenAction<AboutMenu>, StaticMenuItemIcon<&bobbyicons::info>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT>, PushScreenAction<GitMenu>, StaticMenuItemIcon<&bobbyicons::git>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user