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 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 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
|
||||
//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())
|
||||
return;
|
||||
|
||||
if (!configs.cloudSettings.sendStatistic.value())
|
||||
return;
|
||||
|
||||
if (!cloudStarted)
|
||||
{
|
||||
if (espchrono::ago(lastStartTry) < 10s)
|
||||
|
@ -1,13 +1,15 @@
|
||||
#include "cloudsettingsmenu.h"
|
||||
|
||||
// 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 "menuitem.h"
|
||||
#include "changevaluedisplay.h"
|
||||
#include "actions/pushscreenaction.h"
|
||||
#include "actions/popscreenaction.h"
|
||||
#include "actions/dummyaction.h"
|
||||
#include "icons/back.h"
|
||||
#include <icons/back.h>
|
||||
#include <menuitem.h>
|
||||
|
||||
|
||||
// local includes
|
||||
#include "accessors/settingsaccessors.h"
|
||||
@ -16,10 +18,11 @@
|
||||
#include "cloudtexthelpers.h"
|
||||
#include "displays/bobbychangevaluedisplay.h"
|
||||
#include "displays/menus/settingsmenu.h"
|
||||
#include "displays/menus/typesafeenumchangemenu.h"
|
||||
|
||||
namespace {
|
||||
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_CLOUDTRANSMITTIMEOUT[] = "Transmit timeout";
|
||||
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_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<
|
||||
BobbyChangeValueDisplay<int16_t>,
|
||||
espgui::StaticText<TEXT_CLOUDTRANSMITTIMEOUT>,
|
||||
@ -66,6 +85,8 @@ using namespace espgui;
|
||||
CloudSettingsMenu::CloudSettingsMenu()
|
||||
{
|
||||
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_SENDSTATISTICS>, BobbyCheckbox, CloudSendStatisticsAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, CloudCreatedText, DisabledColor, DummyAction>>();
|
||||
|
@ -94,14 +94,12 @@ extern "C" void app_main()
|
||||
recovery = true;
|
||||
}
|
||||
|
||||
initScreen();
|
||||
|
||||
bootLabel.redraw("settings");
|
||||
|
||||
if (const auto result = configs.init("bobbycar"); result != ESP_OK)
|
||||
ESP_LOGE(TAG, "config_init_settings() failed with %s", esp_err_to_name(result));
|
||||
|
||||
updateRotation();
|
||||
initScreen();
|
||||
|
||||
profileSettings = presets::defaultProfileSettings;
|
||||
|
||||
|
@ -1,2 +1,2 @@
|
||||
#!/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