BLE settings added to enable/disable BLE
This commit is contained in:
@@ -31,6 +31,7 @@ set(headers
|
|||||||
actions/updateswapfrontbackaction.h
|
actions/updateswapfrontbackaction.h
|
||||||
bluetoothmode.h
|
bluetoothmode.h
|
||||||
ble.h
|
ble.h
|
||||||
|
bletexthelpers.h
|
||||||
bmsutils.h
|
bmsutils.h
|
||||||
changevaluedisplay_bluetoothmode.h
|
changevaluedisplay_bluetoothmode.h
|
||||||
changevaluedisplay_bool.h
|
changevaluedisplay_bool.h
|
||||||
@@ -46,6 +47,7 @@ set(headers
|
|||||||
displays/graphdisplay.h
|
displays/graphdisplay.h
|
||||||
displays/menus/aboutmenu.h
|
displays/menus/aboutmenu.h
|
||||||
displays/menus/accesspointwifisettingsmenu.h
|
displays/menus/accesspointwifisettingsmenu.h
|
||||||
|
displays/menus/blesettingsmenu.h
|
||||||
displays/menus/bluetoothsettingsmenu.h
|
displays/menus/bluetoothsettingsmenu.h
|
||||||
displays/menus/bmsmenu.h
|
displays/menus/bmsmenu.h
|
||||||
displays/menus/buzzermenu.h
|
displays/menus/buzzermenu.h
|
||||||
|
@@ -38,6 +38,10 @@ struct WifiEnabledAccessor : public RefAccessorSaveSettings<bool> { bool &getRef
|
|||||||
struct AutoBluetoothModeAccessor : public RefAccessorSaveSettings<BluetoothMode> { BluetoothMode &getRef() const override { return settings.bluetoothSettings.autoBluetoothMode; } };
|
struct AutoBluetoothModeAccessor : public RefAccessorSaveSettings<BluetoothMode> { BluetoothMode &getRef() const override { return settings.bluetoothSettings.autoBluetoothMode; } };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef FEATURE_BLE
|
||||||
|
struct BleEnabledAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.bleSettings.bleEnabled; } };
|
||||||
|
#endif
|
||||||
|
|
||||||
struct FrontLeftEnabledAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.controllerHardware.enableFrontLeft; } };
|
struct FrontLeftEnabledAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.controllerHardware.enableFrontLeft; } };
|
||||||
struct FrontRightEnabledAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.controllerHardware.enableFrontRight; } };
|
struct FrontRightEnabledAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.controllerHardware.enableFrontRight; } };
|
||||||
struct BackLeftEnabledAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.controllerHardware.enableBackLeft; } };
|
struct BackLeftEnabledAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.controllerHardware.enableBackLeft; } };
|
||||||
|
72
main/ble.h
72
main/ble.h
@@ -1,5 +1,8 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
// esp-idf includes
|
||||||
|
#include <esp_log.h>
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <ArduinoJson.h>
|
#include <ArduinoJson.h>
|
||||||
#ifdef FEATURE_BLE
|
#ifdef FEATURE_BLE
|
||||||
@@ -18,6 +21,9 @@ BLEService *pService{};
|
|||||||
BLECharacteristic *livestatsCharacteristic{};
|
BLECharacteristic *livestatsCharacteristic{};
|
||||||
BLECharacteristic *remotecontrolCharacteristic{};
|
BLECharacteristic *remotecontrolCharacteristic{};
|
||||||
|
|
||||||
|
void createBle();
|
||||||
|
void destroyBle();
|
||||||
|
|
||||||
class RemoteControlCallbacks : public NimBLECharacteristicCallbacks
|
class RemoteControlCallbacks : public NimBLECharacteristicCallbacks
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -28,28 +34,17 @@ RemoteControlCallbacks bleRemoteCallbacks;
|
|||||||
|
|
||||||
void initBle()
|
void initBle()
|
||||||
{
|
{
|
||||||
BLEDevice::init(deviceName);
|
if (settings.bleSettings.bleEnabled)
|
||||||
|
createBle();
|
||||||
const auto serviceUuid{"0335e46c-f355-4ce6-8076-017de08cee98"};
|
|
||||||
|
|
||||||
pServer = BLEDevice::createServer();
|
|
||||||
|
|
||||||
pService = pServer->createService(serviceUuid);
|
|
||||||
|
|
||||||
livestatsCharacteristic = pService->createCharacteristic("a48321ea-329f-4eab-a401-30e247211524", NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::NOTIFY);
|
|
||||||
remotecontrolCharacteristic = pService->createCharacteristic("4201def0-a264-43e6-946b-6b2d9612dfed", NIMBLE_PROPERTY::WRITE);
|
|
||||||
remotecontrolCharacteristic->setCallbacks(&bleRemoteCallbacks);
|
|
||||||
|
|
||||||
pService->start();
|
|
||||||
|
|
||||||
BLEAdvertising *pAdvertising = BLEDevice::getAdvertising();
|
|
||||||
pAdvertising->addServiceUUID(serviceUuid);
|
|
||||||
pAdvertising->setScanResponse(true);
|
|
||||||
BLEDevice::startAdvertising();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void handleBle()
|
void handleBle()
|
||||||
{
|
{
|
||||||
|
if (settings.bleSettings.bleEnabled)
|
||||||
|
{
|
||||||
|
if (!pServer)
|
||||||
|
createBle();
|
||||||
|
|
||||||
if (livestatsCharacteristic->getSubscribedCount())
|
if (livestatsCharacteristic->getSubscribedCount())
|
||||||
{
|
{
|
||||||
StaticJsonDocument<1024> doc;
|
StaticJsonDocument<1024> doc;
|
||||||
@@ -155,6 +150,47 @@ void handleBle()
|
|||||||
livestatsCharacteristic->setValue(json);
|
livestatsCharacteristic->setValue(json);
|
||||||
livestatsCharacteristic->notify();
|
livestatsCharacteristic->notify();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else if (pServer)
|
||||||
|
{
|
||||||
|
destroyBle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void createBle()
|
||||||
|
{
|
||||||
|
ESP_LOGI("BOBBY", "called");
|
||||||
|
|
||||||
|
BLEDevice::init(deviceName);
|
||||||
|
|
||||||
|
const auto serviceUuid{"0335e46c-f355-4ce6-8076-017de08cee98"};
|
||||||
|
|
||||||
|
pServer = BLEDevice::createServer();
|
||||||
|
|
||||||
|
pService = pServer->createService(serviceUuid);
|
||||||
|
|
||||||
|
livestatsCharacteristic = pService->createCharacteristic("a48321ea-329f-4eab-a401-30e247211524", NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::NOTIFY);
|
||||||
|
remotecontrolCharacteristic = pService->createCharacteristic("4201def0-a264-43e6-946b-6b2d9612dfed", NIMBLE_PROPERTY::WRITE);
|
||||||
|
remotecontrolCharacteristic->setCallbacks(&bleRemoteCallbacks);
|
||||||
|
|
||||||
|
pService->start();
|
||||||
|
|
||||||
|
BLEAdvertising *pAdvertising = BLEDevice::getAdvertising();
|
||||||
|
pAdvertising->addServiceUUID(serviceUuid);
|
||||||
|
pAdvertising->setScanResponse(true);
|
||||||
|
BLEDevice::startAdvertising();
|
||||||
|
}
|
||||||
|
|
||||||
|
void destroyBle()
|
||||||
|
{
|
||||||
|
ESP_LOGI("BOBBY", "called");
|
||||||
|
|
||||||
|
BLEDevice::deinit(true);
|
||||||
|
|
||||||
|
pServer = {};
|
||||||
|
pService = {};
|
||||||
|
livestatsCharacteristic = {};
|
||||||
|
remotecontrolCharacteristic = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
void RemoteControlCallbacks::onWrite(NimBLECharacteristic* pCharacteristic)
|
void RemoteControlCallbacks::onWrite(NimBLECharacteristic* pCharacteristic)
|
||||||
|
34
main/bletexthelpers.h
Normal file
34
main/bletexthelpers.h
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include <fmt/core.h>
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "textinterface.h"
|
||||||
|
#include "ble.h"
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
#ifdef FEATURE_BLE
|
||||||
|
struct BleServerPeerDevicesText : public virtual TextInterface {
|
||||||
|
public:
|
||||||
|
std::string text() const override
|
||||||
|
{
|
||||||
|
std::string text = "peerDevices: ";
|
||||||
|
if (pServer)
|
||||||
|
text += std::to_string(pServer->getPeerDevices().size());
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
struct BleCharacSubscribedText : public virtual TextInterface {
|
||||||
|
public:
|
||||||
|
std::string text() const override
|
||||||
|
{
|
||||||
|
std::string text = "subscribed: ";
|
||||||
|
if (livestatsCharacteristic)
|
||||||
|
text += std::to_string(livestatsCharacteristic->getSubscribedCount());
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
}
|
@@ -1,5 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
// local includes
|
||||||
#include "textinterface.h"
|
#include "textinterface.h"
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
36
main/displays/menus/blesettingsmenu.h
Normal file
36
main/displays/menus/blesettingsmenu.h
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "menudisplay.h"
|
||||||
|
#include "menuitem.h"
|
||||||
|
#include "actions/switchscreenaction.h"
|
||||||
|
#include "actions/toggleboolaction.h"
|
||||||
|
#include "checkboxicon.h"
|
||||||
|
#include "bletexthelpers.h"
|
||||||
|
#include "accessors/settingsaccessors.h"
|
||||||
|
#include "icons/back.h"
|
||||||
|
#include "texts.h"
|
||||||
|
|
||||||
|
// forward declares
|
||||||
|
namespace {
|
||||||
|
class SettingsMenu;
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
#ifdef FEATURE_BLE
|
||||||
|
class BleSettingsMenu :
|
||||||
|
public MenuDisplay,
|
||||||
|
public StaticText<TEXT_BLESETTINGS>,
|
||||||
|
public BackActionInterface<SwitchScreenAction<SettingsMenu>>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
BleSettingsMenu()
|
||||||
|
{
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BLEENABLED>, ToggleBoolAction, CheckboxIcon, BleEnabledAccessor>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, BleServerPeerDevicesText, DisabledColor, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, BleCharacSubscribedText, DisabledColor, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&icons::back>>>();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
} // namespace
|
@@ -7,7 +7,7 @@
|
|||||||
#include "actions/switchscreenaction.h"
|
#include "actions/switchscreenaction.h"
|
||||||
#include "checkboxicon.h"
|
#include "checkboxicon.h"
|
||||||
#include "icons/wifi.h"
|
#include "icons/wifi.h"
|
||||||
#ifdef FEATURE_BLUETOOTH
|
#if defined(FEATURE_BLUETOOTH) || defined(FEATURE_BLE)
|
||||||
#include "icons/bluetooth.h"
|
#include "icons/bluetooth.h"
|
||||||
#endif
|
#endif
|
||||||
#include "icons/hardware.h"
|
#include "icons/hardware.h"
|
||||||
@@ -23,6 +23,7 @@ namespace {
|
|||||||
class LimitsSettingsMenu;
|
class LimitsSettingsMenu;
|
||||||
class WifiSettingsMenu;
|
class WifiSettingsMenu;
|
||||||
class BluetoothSettingsMenu;
|
class BluetoothSettingsMenu;
|
||||||
|
class BleSettingsMenu;
|
||||||
class ModesSettingsMenu;
|
class ModesSettingsMenu;
|
||||||
class ControllerHardwareSettingsMenu;
|
class ControllerHardwareSettingsMenu;
|
||||||
class BoardcomputerHardwareSettingsMenu;
|
class BoardcomputerHardwareSettingsMenu;
|
||||||
@@ -57,6 +58,9 @@ public:
|
|||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WIFISETTINGS>, SwitchScreenAction<WifiSettingsMenu>, StaticMenuItemIcon<&icons::wifi>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WIFISETTINGS>, SwitchScreenAction<WifiSettingsMenu>, StaticMenuItemIcon<&icons::wifi>>>();
|
||||||
#ifdef FEATURE_BLUETOOTH
|
#ifdef FEATURE_BLUETOOTH
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BLUETOOTHSETTINGS>, SwitchScreenAction<BluetoothSettingsMenu>, StaticMenuItemIcon<&icons::bluetooth>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BLUETOOTHSETTINGS>, SwitchScreenAction<BluetoothSettingsMenu>, StaticMenuItemIcon<&icons::bluetooth>>>();
|
||||||
|
#endif
|
||||||
|
#ifdef FEATURE_BLE
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BLESETTINGS>, SwitchScreenAction<BleSettingsMenu>, StaticMenuItemIcon<&icons::bluetooth>>>();
|
||||||
#endif
|
#endif
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODESSETTINGS>, SwitchScreenAction<ModesSettingsMenu>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODESSETTINGS>, SwitchScreenAction<ModesSettingsMenu>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CONTROLLERHARDWARESETTINGS>, SwitchScreenAction<ControllerHardwareSettingsMenu>, StaticMenuItemIcon<&icons::hardware>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CONTROLLERHARDWARESETTINGS>, SwitchScreenAction<ControllerHardwareSettingsMenu>, StaticMenuItemIcon<&icons::hardware>>>();
|
||||||
|
@@ -100,7 +100,7 @@ private:
|
|||||||
Label m_labelWifiStatus{35, bottomLines[0]}; // 120, 15
|
Label m_labelWifiStatus{35, bottomLines[0]}; // 120, 15
|
||||||
Label m_labelLimit0{205, bottomLines[0]}; // 35, 15
|
Label m_labelLimit0{205, bottomLines[0]}; // 35, 15
|
||||||
Label m_labelIpAddress{25, bottomLines[1]}; // 130, 15
|
Label m_labelIpAddress{25, bottomLines[1]}; // 130, 15
|
||||||
Label m_labelSignal{125, bottomLines[1]}; // 130, 15
|
Label m_labelSignal{120, bottomLines[1]}; // 130, 15
|
||||||
Label m_labelLimit1{205, bottomLines[1]}; // 35, 15
|
Label m_labelLimit1{205, bottomLines[1]}; // 35, 15
|
||||||
Label m_labelPerformance{40, bottomLines[2]}; // 40, 15
|
Label m_labelPerformance{40, bottomLines[2]}; // 40, 15
|
||||||
Label m_labelFreeMem{70, bottomLines[2]}; // 40, 15
|
Label m_labelFreeMem{70, bottomLines[2]}; // 40, 15
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
namespace icons {
|
namespace icons {
|
||||||
#ifdef FEATURE_BLUETOOTH
|
#if defined(FEATURE_BLUETOOTH) || defined(FEATURE_BLE)
|
||||||
const Icon<24, 24> bluetooth{{
|
const Icon<24, 24> bluetooth{{
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x120F, 0x1A50, 0x0000, 0x01CF, 0x2AB1, 0x3B12, 0x4333, 0x4333, 0x3AF2, 0x2AB1, 0x01EF, // 0x0010 (16) pixels
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x120F, 0x1A50, 0x0000, 0x01CF, 0x2AB1, 0x3B12, 0x4333, 0x4333, 0x3AF2, 0x2AB1, 0x01EF, // 0x0010 (16) pixels
|
||||||
0x0000, 0x1A50, 0x1210, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1210, 0x018E, 0x0007, 0x2AB1, // 0x0020 (32) pixels
|
0x0000, 0x1A50, 0x1210, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1210, 0x018E, 0x0007, 0x2AB1, // 0x0020 (32) pixels
|
||||||
|
@@ -27,6 +27,9 @@ using namespace std::chrono_literals;
|
|||||||
#ifdef FEATURE_BLUETOOTH
|
#ifdef FEATURE_BLUETOOTH
|
||||||
#include "displays/menus/bluetoothsettingsmenu.h"
|
#include "displays/menus/bluetoothsettingsmenu.h"
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef FEATURE_BLE
|
||||||
|
#include "displays/menus/blesettingsmenu.h"
|
||||||
|
#endif
|
||||||
#include "displays/menus/bmsmenu.h"
|
#include "displays/menus/bmsmenu.h"
|
||||||
#include "displays/menus/buzzermenu.h"
|
#include "displays/menus/buzzermenu.h"
|
||||||
#include "displays/menus/commanddebugmenu.h"
|
#include "displays/menus/commanddebugmenu.h"
|
||||||
|
@@ -75,6 +75,12 @@ constexpr Settings::BluetoothSettings defaultBluetoothSettings {
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef FEATURE_BLE
|
||||||
|
constexpr Settings::BleSettings defaultBleSettings {
|
||||||
|
.bleEnabled = true
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
constexpr Settings::ControllerHardware spinnerControllerHardware {
|
constexpr Settings::ControllerHardware spinnerControllerHardware {
|
||||||
.enableFrontLeft = true,
|
.enableFrontLeft = true,
|
||||||
.enableFrontRight = true,
|
.enableFrontRight = true,
|
||||||
@@ -182,6 +188,9 @@ constexpr Settings defaultSettings {
|
|||||||
.wifiSettings = defaultWifiSettings,
|
.wifiSettings = defaultWifiSettings,
|
||||||
#ifdef FEATURE_BLUETOOTH
|
#ifdef FEATURE_BLUETOOTH
|
||||||
.bluetoothSettings = defaultBluetoothSettings,
|
.bluetoothSettings = defaultBluetoothSettings,
|
||||||
|
#endif
|
||||||
|
#ifdef FEATURE_BLE
|
||||||
|
.bleSettings = defaultBleSettings,
|
||||||
#endif
|
#endif
|
||||||
.controllerHardware = defaultControllerHardware,
|
.controllerHardware = defaultControllerHardware,
|
||||||
.boardcomputerHardware = defaultBoardcomputerHardware,
|
.boardcomputerHardware = defaultBoardcomputerHardware,
|
||||||
|
@@ -47,6 +47,12 @@ struct Settings
|
|||||||
} bluetoothSettings;
|
} bluetoothSettings;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef FEATURE_BLE
|
||||||
|
struct BleSettings {
|
||||||
|
bool bleEnabled;
|
||||||
|
} bleSettings;
|
||||||
|
#endif
|
||||||
|
|
||||||
struct ControllerHardware {
|
struct ControllerHardware {
|
||||||
bool enableFrontLeft, enableFrontRight, enableBackLeft, enableBackRight;
|
bool enableFrontLeft, enableFrontRight, enableBackLeft, enableBackRight;
|
||||||
bool invertFrontLeft, invertFrontRight, invertBackLeft, invertBackRight;
|
bool invertFrontLeft, invertFrontRight, invertBackLeft, invertBackRight;
|
||||||
@@ -127,11 +133,15 @@ void Settings::executeForEveryCommonSetting(T &&callable)
|
|||||||
callable("autoConnectBms", autoConnectBms);
|
callable("autoConnectBms", autoConnectBms);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
callable("wifiEnabled", wifiSettings.wifiEnabled);
|
||||||
|
|
||||||
#ifdef FEATURE_BLUETOOTH
|
#ifdef FEATURE_BLUETOOTH
|
||||||
callable("autoBluetoothMo", bluetoothSettings.autoBluetoothMode);
|
callable("autoBluetoothMo", bluetoothSettings.autoBluetoothMode);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
callable("wifiEnabled", wifiSettings.wifiEnabled);
|
#ifdef FEATURE_BLE
|
||||||
|
callable("bleEnabled", bleSettings.bleEnabled);
|
||||||
|
#endif
|
||||||
|
|
||||||
callable("wheelDiameter", controllerHardware.wheelDiameter);
|
callable("wheelDiameter", controllerHardware.wheelDiameter);
|
||||||
callable("numMagnetPoles", controllerHardware.numMagnetPoles);
|
callable("numMagnetPoles", controllerHardware.numMagnetPoles);
|
||||||
|
@@ -33,6 +33,13 @@ constexpr char TEXT_TURNOFFDISCHARGE[] = "Turn off discharge";
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef FEATURE_BLE
|
||||||
|
//BleSettingsMenu
|
||||||
|
constexpr char TEXT_BLESETTINGS[] = "BLE settings";
|
||||||
|
constexpr char TEXT_BLEENABLED[] = "BLE enabled";
|
||||||
|
//constexpr char TEXT_BACK[] = "Back";
|
||||||
|
#endif
|
||||||
|
|
||||||
//DebugMenu
|
//DebugMenu
|
||||||
constexpr char TEXT_LOADSETTINGS[] = "Load settings";
|
constexpr char TEXT_LOADSETTINGS[] = "Load settings";
|
||||||
constexpr char TEXT_SAVESETTINGS[] = "Save settings";
|
constexpr char TEXT_SAVESETTINGS[] = "Save settings";
|
||||||
@@ -74,6 +81,7 @@ constexpr char TEXT_BACKLIGHT[] = "Backlight";
|
|||||||
constexpr char TEXT_LIMITSSETTINGS[] = "Limits settings";
|
constexpr char TEXT_LIMITSSETTINGS[] = "Limits settings";
|
||||||
constexpr char TEXT_WIFISETTINGS[] = "WiFi settings";
|
constexpr char TEXT_WIFISETTINGS[] = "WiFi settings";
|
||||||
//constexpr char TEXT_BLUETOOTHSETTINGS[] = "Bluetooth settings";
|
//constexpr char TEXT_BLUETOOTHSETTINGS[] = "Bluetooth settings";
|
||||||
|
//constexpr char TEXT_BLESETTINGS[] = "BLE settings";
|
||||||
constexpr char TEXT_MODESSETTINGS[] = "Modes settings";
|
constexpr char TEXT_MODESSETTINGS[] = "Modes settings";
|
||||||
constexpr char TEXT_CONTROLLERHARDWARESETTINGS[] = "Controller H/W settings";
|
constexpr char TEXT_CONTROLLERHARDWARESETTINGS[] = "Controller H/W settings";
|
||||||
constexpr char TEXT_BOARDCOMPUTERHARDWARESETTINGS[] = "Boardcomputer H/W settings";
|
constexpr char TEXT_BOARDCOMPUTERHARDWARESETTINGS[] = "Boardcomputer H/W settings";
|
||||||
|
Reference in New Issue
Block a user