Merge pull request #369 from bobbycar-graz/configure-cloud
This commit is contained in:
@ -45,6 +45,8 @@ struct BleFenceEnabledAccessor : public NewSettingsAccessor<bool> { ConfigWrappe
|
|||||||
struct CloudEnabledAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.cloudSettings.cloudEnabled; } };
|
struct CloudEnabledAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.cloudSettings.cloudEnabled; } };
|
||||||
struct CloudTransmitTimeoutAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.cloudSettings.cloudTransmitTimeout; } };
|
struct CloudTransmitTimeoutAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.cloudSettings.cloudTransmitTimeout; } };
|
||||||
struct CloudSendStatisticsAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.cloudSettings.sendStatistic; } };
|
struct CloudSendStatisticsAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.cloudSettings.sendStatistic; } };
|
||||||
|
struct CloudURLAccessor : public NewSettingsAccessor<std::string> { ConfigWrapper<std::string> &getConfig() const override { return configs.cloudUrl; } };
|
||||||
|
struct CloudKeyAccessor : public NewSettingsAccessor<std::string> { ConfigWrapper<std::string> &getConfig() const override { return configs.cloudSettings.cloudKey; } };
|
||||||
|
|
||||||
// Time
|
// Time
|
||||||
//struct TimezoneOffsetAccessor : public NewSettingsAccessor<int32_t> { ConfigWrapper<int32_t> &getConfig() const override { return configs.timezoneOffset; } };
|
//struct TimezoneOffsetAccessor : public NewSettingsAccessor<int32_t> { ConfigWrapper<int32_t> &getConfig() const override { return configs.timezoneOffset; } };
|
||||||
|
@ -721,9 +721,6 @@ void cloudSend()
|
|||||||
if (configs.cloudUrl.value().empty())
|
if (configs.cloudUrl.value().empty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!configs.cloudSettings.sendStatistic.value())
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (!cloudStarted)
|
if (!cloudStarted)
|
||||||
{
|
{
|
||||||
if (espchrono::ago(lastStartTry) < 10s)
|
if (espchrono::ago(lastStartTry) < 10s)
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
#include "cloudsettingsmenu.h"
|
#include "cloudsettingsmenu.h"
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
|
#include <actions/dummyaction.h>
|
||||||
|
#include <actions/popscreenaction.h>
|
||||||
|
#include <actions/pushscreenaction.h>
|
||||||
|
#include <changevaluedisplay.h>
|
||||||
|
#include <changevaluedisplay_string.h>
|
||||||
#include <fmt/core.h>
|
#include <fmt/core.h>
|
||||||
#include "menuitem.h"
|
#include <icons/back.h>
|
||||||
#include "changevaluedisplay.h"
|
#include <menuitem.h>
|
||||||
#include "actions/pushscreenaction.h"
|
|
||||||
#include "actions/popscreenaction.h"
|
|
||||||
#include "actions/dummyaction.h"
|
|
||||||
#include "icons/back.h"
|
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "accessors/settingsaccessors.h"
|
#include "accessors/settingsaccessors.h"
|
||||||
@ -16,10 +18,11 @@
|
|||||||
#include "cloudtexthelpers.h"
|
#include "cloudtexthelpers.h"
|
||||||
#include "displays/bobbychangevaluedisplay.h"
|
#include "displays/bobbychangevaluedisplay.h"
|
||||||
#include "displays/menus/settingsmenu.h"
|
#include "displays/menus/settingsmenu.h"
|
||||||
#include "displays/menus/typesafeenumchangemenu.h"
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TEXT_CLOUDSETTINGS[] = "Cloud settings";
|
constexpr char TEXT_CLOUDSETTINGS[] = "Cloud settings";
|
||||||
|
constexpr char TEXT_CLOUDURL[] = "Cloud URL";
|
||||||
|
constexpr char TEXT_CLOUDKEY[] = "Cloud Key";
|
||||||
constexpr char TEXT_CLOUDENABLED[] = "Cloud enabled";
|
constexpr char TEXT_CLOUDENABLED[] = "Cloud enabled";
|
||||||
constexpr char TEXT_CLOUDTRANSMITTIMEOUT[] = "Transmit timeout";
|
constexpr char TEXT_CLOUDTRANSMITTIMEOUT[] = "Transmit timeout";
|
||||||
constexpr char TEXT_SENDSTATISTICS[] = "Send Statistics";
|
constexpr char TEXT_SENDSTATISTICS[] = "Send Statistics";
|
||||||
@ -27,6 +30,22 @@ constexpr char TEXT_CLOUDCOLLECTRATE[] = "Cloud collect rate";
|
|||||||
constexpr char TEXT_CLOUDSENDRATE[] = "Cloud send rate";
|
constexpr char TEXT_CLOUDSENDRATE[] = "Cloud send rate";
|
||||||
constexpr char TEXT_BACK[] = "Back";
|
constexpr char TEXT_BACK[] = "Back";
|
||||||
|
|
||||||
|
using CloudURLChangeScreen = espgui::makeComponent<
|
||||||
|
BobbyChangeValueDisplay<std::string>,
|
||||||
|
espgui::StaticText<TEXT_CLOUDURL>,
|
||||||
|
CloudURLAccessor,
|
||||||
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
|
>;
|
||||||
|
|
||||||
|
using CloudKeyChangeScreen = espgui::makeComponent<
|
||||||
|
BobbyChangeValueDisplay<std::string>,
|
||||||
|
espgui::StaticText<TEXT_CLOUDKEY>,
|
||||||
|
CloudKeyAccessor,
|
||||||
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
|
>;
|
||||||
|
|
||||||
using CloudTransmitTimeoutChangeScreen = espgui::makeComponent<
|
using CloudTransmitTimeoutChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_CLOUDTRANSMITTIMEOUT>,
|
espgui::StaticText<TEXT_CLOUDTRANSMITTIMEOUT>,
|
||||||
@ -66,6 +85,8 @@ using namespace espgui;
|
|||||||
CloudSettingsMenu::CloudSettingsMenu()
|
CloudSettingsMenu::CloudSettingsMenu()
|
||||||
{
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDENABLED>, BobbyCheckbox, CloudEnabledAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDENABLED>, BobbyCheckbox, CloudEnabledAccessor>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDURL>, PushScreenAction<CloudURLChangeScreen>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDKEY>, PushScreenAction<CloudKeyChangeScreen>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDTRANSMITTIMEOUT>, PushScreenAction<CloudTransmitTimeoutChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDTRANSMITTIMEOUT>, PushScreenAction<CloudTransmitTimeoutChangeScreen>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SENDSTATISTICS>, BobbyCheckbox, CloudSendStatisticsAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SENDSTATISTICS>, BobbyCheckbox, CloudSendStatisticsAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, CloudCreatedText, DisabledColor, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, CloudCreatedText, DisabledColor, DummyAction>>();
|
||||||
|
@ -94,14 +94,12 @@ extern "C" void app_main()
|
|||||||
recovery = true;
|
recovery = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
initScreen();
|
|
||||||
|
|
||||||
bootLabel.redraw("settings");
|
bootLabel.redraw("settings");
|
||||||
|
|
||||||
if (const auto result = configs.init("bobbycar"); result != ESP_OK)
|
if (const auto result = configs.init("bobbycar"); result != ESP_OK)
|
||||||
ESP_LOGE(TAG, "config_init_settings() failed with %s", esp_err_to_name(result));
|
ESP_LOGE(TAG, "config_init_settings() failed with %s", esp_err_to_name(result));
|
||||||
|
|
||||||
updateRotation();
|
initScreen();
|
||||||
|
|
||||||
profileSettings = presets::defaultProfileSettings;
|
profileSettings = presets::defaultProfileSettings;
|
||||||
|
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
idf.py -p /dev/ttyACM0 -b 921600 flash monitor -b 115200
|
idf.py -p /dev/ttyACM0 -b 115200 monitor
|
||||||
|
Reference in New Issue
Block a user