cloud and udpcloud splitup and into taskmanager migrated
This commit is contained in:
@@ -101,7 +101,8 @@ set(BOBBYCAR_BUILDFLAGS
|
|||||||
# -DDEFAULT_GAMETRAKDISTMIN=0
|
# -DDEFAULT_GAMETRAKDISTMIN=0
|
||||||
# -DDEFAULT_GAMETRAKDISTMAX=4095
|
# -DDEFAULT_GAMETRAKDISTMAX=4095
|
||||||
# -DFEATURE_POWERSUPPLY
|
# -DFEATURE_POWERSUPPLY
|
||||||
-DFEATURE_CLOUD
|
# -DFEATURE_CLOUD
|
||||||
|
-DFEATURE_UDPCLOUD
|
||||||
-DFEATURE_LEDBACKLIGHT
|
-DFEATURE_LEDBACKLIGHT
|
||||||
-DPINS_LEDBACKLIGHT=23
|
-DPINS_LEDBACKLIGHT=23
|
||||||
-DLEDBACKLIGHT_INVERTED
|
-DLEDBACKLIGHT_INVERTED
|
||||||
|
@@ -83,6 +83,7 @@ set(BOBBYCAR_BUILDFLAGS
|
|||||||
# -DDEFAULT_GAMETRAKDISTMAX=4095
|
# -DDEFAULT_GAMETRAKDISTMAX=4095
|
||||||
-DFEATURE_POWERSUPPLY
|
-DFEATURE_POWERSUPPLY
|
||||||
-DFEATURE_CLOUD
|
-DFEATURE_CLOUD
|
||||||
|
# -DFEATURE_UDPCLOUD
|
||||||
-DFEATURE_LEDBACKLIGHT
|
-DFEATURE_LEDBACKLIGHT
|
||||||
-DPINS_LEDBACKLIGHT=23
|
-DPINS_LEDBACKLIGHT=23
|
||||||
-DLEDBACKLIGHT_INVERTED
|
-DLEDBACKLIGHT_INVERTED
|
||||||
|
@@ -79,6 +79,7 @@ set(BOBBYCAR_BUILDFLAGS
|
|||||||
# -DDEFAULT_GAMETRAKDISTMAX=4095
|
# -DDEFAULT_GAMETRAKDISTMAX=4095
|
||||||
# -DFEATURE_POWERSUPPLY
|
# -DFEATURE_POWERSUPPLY
|
||||||
# -DFEATURE_CLOUD
|
# -DFEATURE_CLOUD
|
||||||
|
# -DFEATURE_UDPCLOUD
|
||||||
# -DFEATURE_LEDBACKLIGHT
|
# -DFEATURE_LEDBACKLIGHT
|
||||||
# -DPINS_LEDBACKLIGHT=23
|
# -DPINS_LEDBACKLIGHT=23
|
||||||
# -DLEDBACKLIGHT_INVERTED
|
# -DLEDBACKLIGHT_INVERTED
|
||||||
|
@@ -78,7 +78,8 @@ set(BOBBYCAR_BUILDFLAGS
|
|||||||
# -DDEFAULT_GAMETRAKDISTMIN=0
|
# -DDEFAULT_GAMETRAKDISTMIN=0
|
||||||
# -DDEFAULT_GAMETRAKDISTMAX=4095
|
# -DDEFAULT_GAMETRAKDISTMAX=4095
|
||||||
# -DFEATURE_POWERSUPPLY
|
# -DFEATURE_POWERSUPPLY
|
||||||
-DFEATURE_CLOUD
|
# -DFEATURE_CLOUD
|
||||||
|
-DFEATURE_UDPCLOUD
|
||||||
-DFEATURE_LEDBACKLIGHT
|
-DFEATURE_LEDBACKLIGHT
|
||||||
-DPINS_LEDBACKLIGHT=23
|
-DPINS_LEDBACKLIGHT=23
|
||||||
-DLEDBACKLIGHT_INVERTED
|
-DLEDBACKLIGHT_INVERTED
|
||||||
|
@@ -82,7 +82,8 @@ set(BOBBYCAR_BUILDFLAGS
|
|||||||
# -DDEFAULT_GAMETRAKDISTMIN=0
|
# -DDEFAULT_GAMETRAKDISTMIN=0
|
||||||
# -DDEFAULT_GAMETRAKDISTMAX=4095
|
# -DDEFAULT_GAMETRAKDISTMAX=4095
|
||||||
# -DFEATURE_POWERSUPPLY
|
# -DFEATURE_POWERSUPPLY
|
||||||
-DFEATURE_CLOUD
|
# -DFEATURE_CLOUD
|
||||||
|
-DFEATURE_UDPCLOUD
|
||||||
-DFEATURE_LEDBACKLIGHT
|
-DFEATURE_LEDBACKLIGHT
|
||||||
-DPINS_LEDBACKLIGHT=23
|
-DPINS_LEDBACKLIGHT=23
|
||||||
-DLEDBACKLIGHT_INVERTED
|
-DLEDBACKLIGHT_INVERTED
|
||||||
|
@@ -117,6 +117,7 @@ set(headers
|
|||||||
displays/menus/tempomatmodesettingsmenu.h
|
displays/menus/tempomatmodesettingsmenu.h
|
||||||
displays/menus/timersmenu.h
|
displays/menus/timersmenu.h
|
||||||
displays/menus/timesettingsmenu.h
|
displays/menus/timesettingsmenu.h
|
||||||
|
displays/menus/udpcloudsettingsmenu.h
|
||||||
displays/menus/wifiscanmenu.h
|
displays/menus/wifiscanmenu.h
|
||||||
displays/menus/wifisettingsmenu.h
|
displays/menus/wifisettingsmenu.h
|
||||||
displays/metersdisplay.h
|
displays/metersdisplay.h
|
||||||
@@ -332,6 +333,7 @@ set(sources
|
|||||||
displays/menus/tempomatmodesettingsmenu.cpp
|
displays/menus/tempomatmodesettingsmenu.cpp
|
||||||
displays/menus/timersmenu.cpp
|
displays/menus/timersmenu.cpp
|
||||||
displays/menus/timesettingsmenu.cpp
|
displays/menus/timesettingsmenu.cpp
|
||||||
|
displays/menus/udpcloudsettingsmenu.cpp
|
||||||
displays/menus/wifiscanmenu.cpp
|
displays/menus/wifiscanmenu.cpp
|
||||||
displays/menus/wifisettingsmenu.cpp
|
displays/menus/wifisettingsmenu.cpp
|
||||||
displays/metersdisplay.cpp
|
displays/metersdisplay.cpp
|
||||||
|
@@ -134,10 +134,13 @@ struct DisplayRedrawRateAccessor : public RefAccessorSaveSettings<int16_t> { int
|
|||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_CLOUD
|
||||||
struct CloudCollectRateAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return settings.boardcomputerHardware.timersSettings.cloudCollectRate; } };
|
struct CloudCollectRateAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return settings.boardcomputerHardware.timersSettings.cloudCollectRate; } };
|
||||||
struct CloudSendRateAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return settings.boardcomputerHardware.timersSettings.cloudSendRate; } };
|
struct CloudSendRateAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return settings.boardcomputerHardware.timersSettings.cloudSendRate; } };
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
struct UdpCloudSendIntervalAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return settings.boardcomputerHardware.timersSettings.udpSendRateMs; } };
|
struct UdpCloudSendIntervalAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return settings.boardcomputerHardware.timersSettings.udpSendRateMs; } };
|
||||||
struct UdpCloudEnabledAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.cloudSettings.udpCloudEnabled; } };
|
struct UdpCloudEnabledAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.udpCloudSettings.udpCloudEnabled; } };
|
||||||
struct CloudDebugEnableAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.cloudSettings.enableCloudDebug; } };
|
struct CloudDebugEnableAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.udpCloudSettings.enableCloudDebug; } };
|
||||||
struct UdpUseStdStringAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.cloudSettings.udpUseStdString; } };
|
struct UdpUseStdStringAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.udpCloudSettings.udpUseStdString; } };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// DefaultMode
|
// DefaultMode
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
#include "cloud.h"
|
#include "cloud.h"
|
||||||
|
|
||||||
|
// system includes
|
||||||
|
#include <optional>
|
||||||
|
|
||||||
// esp-idf includes
|
// esp-idf includes
|
||||||
#include <esp_log.h>
|
#include <esp_log.h>
|
||||||
|
|
||||||
@@ -17,6 +20,9 @@ espchrono::millis_clock::time_point lastCreateTry;
|
|||||||
espchrono::millis_clock::time_point lastStartTry;
|
espchrono::millis_clock::time_point lastStartTry;
|
||||||
std::string cloudBuffer;
|
std::string cloudBuffer;
|
||||||
|
|
||||||
|
std::optional<espchrono::millis_clock::time_point> lastCloudCollect;
|
||||||
|
std::optional<espchrono::millis_clock::time_point> lastCloudSend;
|
||||||
|
|
||||||
void initCloud()
|
void initCloud()
|
||||||
{
|
{
|
||||||
if (settings.cloudSettings.cloudEnabled &&
|
if (settings.cloudSettings.cloudEnabled &&
|
||||||
@@ -34,6 +40,25 @@ void initCloud()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void updateCloud()
|
||||||
|
{
|
||||||
|
const auto now = espchrono::millis_clock::now();
|
||||||
|
|
||||||
|
if (!lastCloudCollect || now - *lastCloudCollect >= std::chrono::milliseconds{settings.boardcomputerHardware.timersSettings.cloudCollectRate})
|
||||||
|
{
|
||||||
|
cloudCollect();
|
||||||
|
|
||||||
|
lastCloudCollect = now;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!lastCloudSend || now - *lastCloudSend >= 1000ms/settings.boardcomputerHardware.timersSettings.cloudSendRate)
|
||||||
|
{
|
||||||
|
cloudSend();
|
||||||
|
|
||||||
|
lastCloudSend = now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void cloudCollect()
|
void cloudCollect()
|
||||||
{
|
{
|
||||||
if (!cloudClient)
|
if (!cloudClient)
|
||||||
|
@@ -23,6 +23,7 @@ void destroyCloud();
|
|||||||
void startCloud();
|
void startCloud();
|
||||||
|
|
||||||
void initCloud();
|
void initCloud();
|
||||||
|
void updateCloud();
|
||||||
void cloudCollect();
|
void cloudCollect();
|
||||||
void cloudSend();
|
void cloudSend();
|
||||||
#endif
|
#endif
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_CLOUD
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
using CloudTransmitTimeoutChangeScreen = espgui::makeComponent<
|
using CloudTransmitTimeoutChangeScreen = espgui::makeComponent<
|
||||||
espgui::ChangeValueDisplay<int16_t>,
|
espgui::ChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_CLOUDTRANSMITTIMEOUT>,
|
espgui::StaticText<TEXT_CLOUDTRANSMITTIMEOUT>,
|
||||||
@@ -50,14 +51,6 @@ using CloudSendRateChangeDisplay = espgui::makeComponent<
|
|||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
|
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<CloudSettingsMenu>
|
espgui::SwitchScreenAction<CloudSettingsMenu>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using UdpCloudSendRateChangeDisplay = espgui::makeComponent<
|
|
||||||
espgui::ChangeValueDisplay<int16_t>,
|
|
||||||
espgui::StaticText<TEXT_UDPSENDRATE>,
|
|
||||||
UdpCloudSendIntervalAccessor,
|
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
|
|
||||||
espgui::SwitchScreenAction<CloudSettingsMenu>
|
|
||||||
>;
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
@@ -65,8 +58,6 @@ using namespace espgui;
|
|||||||
CloudSettingsMenu::CloudSettingsMenu()
|
CloudSettingsMenu::CloudSettingsMenu()
|
||||||
{
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDENABLED>, ToggleBoolAction, CheckboxIcon, CloudEnabledAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDENABLED>, ToggleBoolAction, CheckboxIcon, CloudEnabledAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPCLOUDENABLED>, ToggleBoolAction, CheckboxIcon, UdpCloudEnabledAccessor>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPUSESTRING>, ToggleBoolAction, CheckboxIcon, UdpUseStdStringAccessor>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDTRANSMITTIMEOUT>, SwitchScreenAction<CloudTransmitTimeoutChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDTRANSMITTIMEOUT>, SwitchScreenAction<CloudTransmitTimeoutChangeScreen>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, CloudCreatedText, DisabledColor, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, CloudCreatedText, DisabledColor, DummyAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, CloudStartedText, DisabledColor, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, CloudStartedText, DisabledColor, DummyAction>>();
|
||||||
@@ -74,7 +65,6 @@ CloudSettingsMenu::CloudSettingsMenu()
|
|||||||
constructMenuItem<makeComponent<MenuItem, CloudBufferLengthText, DisabledColor, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, CloudBufferLengthText, DisabledColor, DummyAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDCOLLECTRATE>, SwitchScreenAction<CloudCollectRateChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDCOLLECTRATE>, SwitchScreenAction<CloudCollectRateChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDSENDRATE>, SwitchScreenAction<CloudSendRateChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDSENDRATE>, SwitchScreenAction<CloudSendRateChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPSENDRATE>, SwitchScreenAction<UdpCloudSendRateChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -74,7 +74,7 @@ DebugMenu::DebugMenu()
|
|||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DYNAMICMENU>, SwitchScreenAction<DynamicDebugMenu>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DYNAMICMENU>, SwitchScreenAction<DynamicDebugMenu>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERYDEBUG>, SwitchScreenAction<BatteryDebugMenu>, StaticMenuItemIcon<&bobbyicons::battery>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERYDEBUG>, SwitchScreenAction<BatteryDebugMenu>, StaticMenuItemIcon<&bobbyicons::battery>>>();
|
||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_UDPCLOUD
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TOGGLECLOUDDEBUG>, ToggleBoolAction, CheckboxIcon, CloudDebugEnableAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TOGGLECLOUDDEBUG>, ToggleBoolAction, CheckboxIcon, CloudDebugEnableAccessor>>();
|
||||||
#endif
|
#endif
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
|
@@ -27,7 +27,12 @@
|
|||||||
#include "displays/menus/wifisettingsmenu.h"
|
#include "displays/menus/wifisettingsmenu.h"
|
||||||
#include "displays/menus/bluetoothsettingsmenu.h"
|
#include "displays/menus/bluetoothsettingsmenu.h"
|
||||||
#include "displays/menus/blesettingsmenu.h"
|
#include "displays/menus/blesettingsmenu.h"
|
||||||
|
#ifdef FEATURE_CLOUD
|
||||||
#include "displays/menus/cloudsettingsmenu.h"
|
#include "displays/menus/cloudsettingsmenu.h"
|
||||||
|
#endif
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
|
#include "displays/menus/udpcloudsettingsmenu.h"
|
||||||
|
#endif
|
||||||
#include "displays/menus/espnowmenu.h"
|
#include "displays/menus/espnowmenu.h"
|
||||||
#include "displays/menus/selectbuildservermenu.h"
|
#include "displays/menus/selectbuildservermenu.h"
|
||||||
#include "displays/menus/timesettingsmenu.h"
|
#include "displays/menus/timesettingsmenu.h"
|
||||||
@@ -74,6 +79,9 @@ SettingsMenu::SettingsMenu()
|
|||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_CLOUD
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDSETTINGS>, SwitchScreenAction<CloudSettingsMenu>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDSETTINGS>, SwitchScreenAction<CloudSettingsMenu>>>();
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPCLOUDSETTINGS>, SwitchScreenAction<UdpCloudSettingsMenu>>>();
|
||||||
|
#endif
|
||||||
#ifdef FEATURE_OTA
|
#ifdef FEATURE_OTA
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECTBUILDSERVERMENU>, SwitchScreenAction<SelectBuildServerMenu>, StaticMenuItemIcon<&bobbyicons::update>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECTBUILDSERVERMENU>, SwitchScreenAction<SelectBuildServerMenu>, StaticMenuItemIcon<&bobbyicons::update>>>();
|
||||||
#endif
|
#endif
|
||||||
|
42
main/displays/menus/udpcloudsettingsmenu.cpp
Normal file
42
main/displays/menus/udpcloudsettingsmenu.cpp
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
#include "udpcloudsettingsmenu.h"
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include <fmt/core.h>
|
||||||
|
#include "menuitem.h"
|
||||||
|
#include "changevaluedisplay.h"
|
||||||
|
#include "actions/switchscreenaction.h"
|
||||||
|
#include "actions/toggleboolaction.h"
|
||||||
|
#include "actions/dummyaction.h"
|
||||||
|
#include "checkboxicon.h"
|
||||||
|
#include "icons/back.h"
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "accessors/settingsaccessors.h"
|
||||||
|
#include "displays/menus/settingsmenu.h"
|
||||||
|
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
|
namespace {
|
||||||
|
using UdpCloudSendRateChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<int16_t>,
|
||||||
|
espgui::StaticText<TEXT_UDPSENDRATE>,
|
||||||
|
UdpCloudSendIntervalAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<UdpCloudSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<UdpCloudSettingsMenu>
|
||||||
|
>;
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
using namespace espgui;
|
||||||
|
|
||||||
|
UdpCloudSettingsMenu::UdpCloudSettingsMenu()
|
||||||
|
{
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPCLOUDENABLED>, ToggleBoolAction, CheckboxIcon, UdpCloudEnabledAccessor>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPUSESTRING>, ToggleBoolAction, CheckboxIcon, UdpUseStdStringAccessor>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPSENDRATE>, SwitchScreenAction<UdpCloudSendRateChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
|
}
|
||||||
|
|
||||||
|
void UdpCloudSettingsMenu::back()
|
||||||
|
{
|
||||||
|
switchScreen<SettingsMenu>();
|
||||||
|
}
|
||||||
|
#endif
|
19
main/displays/menus/udpcloudsettingsmenu.h
Normal file
19
main/displays/menus/udpcloudsettingsmenu.h
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include "menudisplay.h"
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "texts.h"
|
||||||
|
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
|
class UdpCloudSettingsMenu :
|
||||||
|
public espgui::MenuDisplay,
|
||||||
|
public espgui::StaticText<TEXT_UDPCLOUDSETTINGS>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
UdpCloudSettingsMenu();
|
||||||
|
|
||||||
|
void back() override;
|
||||||
|
};
|
||||||
|
#endif
|
@@ -3,6 +3,7 @@
|
|||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <tftinstance.h>
|
#include <tftinstance.h>
|
||||||
#include <screenmanager.h>
|
#include <screenmanager.h>
|
||||||
|
#include <cppmacros.h>
|
||||||
|
|
||||||
AlertDisplay::AlertDisplay(std::string &&message, std::unique_ptr<Display> &&lastDisplay) :
|
AlertDisplay::AlertDisplay(std::string &&message, std::unique_ptr<Display> &&lastDisplay) :
|
||||||
m_message{std::move(message)}, m_lastDisplay{std::move(lastDisplay)}
|
m_message{std::move(message)}, m_lastDisplay{std::move(lastDisplay)}
|
||||||
@@ -38,6 +39,8 @@ void AlertDisplay::initOverlay()
|
|||||||
const auto right = espgui::tft.width() - rightMargin;
|
const auto right = espgui::tft.width() - rightMargin;
|
||||||
const auto bottom = espgui::tft.height() - bottomMargin;
|
const auto bottom = espgui::tft.height() - bottomMargin;
|
||||||
|
|
||||||
|
CPP_UNUSED(right)
|
||||||
|
|
||||||
//espgui::tft.drawRect(leftMargin, topMargin, espgui::tft.width() - leftMargin - rightMargin, espgui::tft.height() - topMargin - bottomMargin, TFT_WHITE);
|
//espgui::tft.drawRect(leftMargin, topMargin, espgui::tft.width() - leftMargin - rightMargin, espgui::tft.height() - topMargin - bottomMargin, TFT_WHITE);
|
||||||
//espgui::tft.fillRect(leftMargin + 1, topMargin + 1, espgui::tft.width() - leftMargin - rightMargin - 2, espgui::tft.height() - topMargin - bottomMargin - 2, TFT_BLACK);
|
//espgui::tft.fillRect(leftMargin + 1, topMargin + 1, espgui::tft.width() - leftMargin - rightMargin - 2, espgui::tft.height() - topMargin - bottomMargin - 2, TFT_BLACK);
|
||||||
|
|
||||||
|
@@ -99,8 +99,8 @@ void StatusDisplay::redraw()
|
|||||||
m_backStatus.redraw(controllers.back);
|
m_backStatus.redraw(controllers.back);
|
||||||
|
|
||||||
tft.setTextFont(2);
|
tft.setTextFont(2);
|
||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_UDPCLOUD
|
||||||
if(settings.cloudSettings.udpCloudEnabled && settings.cloudSettings.enableCloudDebug)
|
if(settings.udpCloudSettings.udpCloudEnabled && settings.udpCloudSettings.enableCloudDebug)
|
||||||
{
|
{
|
||||||
tft.fillRect(125, 258, 8, 8, (visualSendUdpPacket) ? TFT_DARKGREY : TFT_BLACK);
|
tft.fillRect(125, 258, 8, 8, (visualSendUdpPacket) ? TFT_DARKGREY : TFT_BLACK);
|
||||||
}
|
}
|
||||||
|
@@ -27,11 +27,6 @@ using namespace std::chrono_literals;
|
|||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "presets.h"
|
#include "presets.h"
|
||||||
#include "statistics.h"
|
#include "statistics.h"
|
||||||
#ifdef FEATURE_CLOUD
|
|
||||||
#include "cloud.h"
|
|
||||||
#include "udpcloud.h"
|
|
||||||
#endif
|
|
||||||
#include "wifi_bobbycar.h"
|
|
||||||
#include "modes/defaultmode.h"
|
#include "modes/defaultmode.h"
|
||||||
#include "displays/statusdisplay.h"
|
#include "displays/statusdisplay.h"
|
||||||
#include "displays/lockscreen.h"
|
#include "displays/lockscreen.h"
|
||||||
@@ -48,10 +43,6 @@ std::optional<espchrono::millis_clock::time_point> lastModeUpdate;
|
|||||||
std::optional<espchrono::millis_clock::time_point> lastStatsUpdate;
|
std::optional<espchrono::millis_clock::time_point> lastStatsUpdate;
|
||||||
std::optional<espchrono::millis_clock::time_point> lastDisplayUpdate;
|
std::optional<espchrono::millis_clock::time_point> lastDisplayUpdate;
|
||||||
std::optional<espchrono::millis_clock::time_point> lastDisplayRedraw;
|
std::optional<espchrono::millis_clock::time_point> lastDisplayRedraw;
|
||||||
#ifdef FEATURE_CLOUD
|
|
||||||
std::optional<espchrono::millis_clock::time_point> lastCloudCollect;
|
|
||||||
std::optional<espchrono::millis_clock::time_point> lastCloudSend;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" void app_main()
|
extern "C" void app_main()
|
||||||
@@ -98,11 +89,6 @@ extern "C" void app_main()
|
|||||||
|
|
||||||
currentMode = &modes::defaultMode;
|
currentMode = &modes::defaultMode;
|
||||||
|
|
||||||
#ifdef FEATURE_CLOUD
|
|
||||||
bootLabel.redraw("cloud");
|
|
||||||
initCloud();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
bootLabel.redraw("switchScreen");
|
bootLabel.redraw("switchScreen");
|
||||||
|
|
||||||
#if defined(FEATURE_DPAD_5WIRESW) && defined(DPAD_5WIRESW_DEBUG)
|
#if defined(FEATURE_DPAD_5WIRESW) && defined(DPAD_5WIRESW_DEBUG)
|
||||||
@@ -184,22 +170,6 @@ extern "C" void app_main()
|
|||||||
performance.lastTime = now;
|
performance.lastTime = now;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef FEATURE_CLOUD
|
|
||||||
if (!lastCloudCollect || now - *lastCloudCollect >= std::chrono::milliseconds{settings.boardcomputerHardware.timersSettings.cloudCollectRate})
|
|
||||||
{
|
|
||||||
cloudCollect();
|
|
||||||
|
|
||||||
lastCloudCollect = now;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!lastCloudSend || now - *lastCloudSend >= 1000ms/settings.boardcomputerHardware.timersSettings.cloudSendRate)
|
|
||||||
{
|
|
||||||
cloudSend();
|
|
||||||
|
|
||||||
lastCloudSend = now;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef FEATURE_BMS
|
#ifdef FEATURE_BMS
|
||||||
bms::update();
|
bms::update();
|
||||||
#endif
|
#endif
|
||||||
@@ -208,10 +178,7 @@ extern "C" void app_main()
|
|||||||
handle_dns_announce();
|
handle_dns_announce();
|
||||||
#endif
|
#endif
|
||||||
calculateStatistics();
|
calculateStatistics();
|
||||||
#ifdef FEATURE_CLOUD
|
|
||||||
if (settings.cloudSettings.udpCloudEnabled)
|
|
||||||
sendUdpCloudPacket();
|
|
||||||
#endif
|
|
||||||
if (battery::bootBatPercentage == -1)
|
if (battery::bootBatPercentage == -1)
|
||||||
{
|
{
|
||||||
if(controllers.front.feedbackValid && controllers.back.feedbackValid)
|
if(controllers.front.feedbackValid && controllers.back.feedbackValid)
|
||||||
|
@@ -24,6 +24,8 @@ StringSettings makeDefaultStringSettings()
|
|||||||
},
|
},
|
||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_CLOUD
|
||||||
.cloudUrl = {},
|
.cloudUrl = {},
|
||||||
|
#endif
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
.udpCloudUrl = {},
|
.udpCloudUrl = {},
|
||||||
#endif
|
#endif
|
||||||
#ifdef FEATURE_OTA
|
#ifdef FEATURE_OTA
|
||||||
|
@@ -143,6 +143,8 @@ constexpr Settings::BoardcomputerHardware::TimersSettings defaultTimersSettings
|
|||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_CLOUD
|
||||||
.cloudCollectRate = 100,
|
.cloudCollectRate = 100,
|
||||||
.cloudSendRate = 1,
|
.cloudSendRate = 1,
|
||||||
|
#endif
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
.udpSendRateMs = 65,
|
.udpSendRateMs = 65,
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
@@ -170,7 +172,12 @@ constexpr Settings::BoardcomputerHardware defaultBoardcomputerHardware {
|
|||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_CLOUD
|
||||||
constexpr Settings::CloudSettings defaultCloudSettings {
|
constexpr Settings::CloudSettings defaultCloudSettings {
|
||||||
.cloudEnabled = false,
|
.cloudEnabled = false,
|
||||||
.cloudTransmitTimeout = 10,
|
.cloudTransmitTimeout = 10
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
|
constexpr Settings::UdpCloudSettings defaultUdpCloudSettings {
|
||||||
.udpUid = 0,
|
.udpUid = 0,
|
||||||
.udpCloudEnabled = false,
|
.udpCloudEnabled = false,
|
||||||
.enableCloudDebug = false,
|
.enableCloudDebug = false,
|
||||||
@@ -329,6 +336,9 @@ constexpr Settings defaultSettings {
|
|||||||
.boardcomputerHardware = defaultBoardcomputerHardware,
|
.boardcomputerHardware = defaultBoardcomputerHardware,
|
||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_CLOUD
|
||||||
.cloudSettings = defaultCloudSettings,
|
.cloudSettings = defaultCloudSettings,
|
||||||
|
#endif
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
|
.udpCloudSettings = defaultUdpCloudSettings,
|
||||||
#endif
|
#endif
|
||||||
.defaultMode = defaultDefaultMode,
|
.defaultMode = defaultDefaultMode,
|
||||||
.tempomatMode = defaultTempomatMode,
|
.tempomatMode = defaultTempomatMode,
|
||||||
|
@@ -110,6 +110,8 @@ struct Settings
|
|||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_CLOUD
|
||||||
int16_t cloudCollectRate;
|
int16_t cloudCollectRate;
|
||||||
int16_t cloudSendRate;
|
int16_t cloudSendRate;
|
||||||
|
#endif
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
int16_t udpSendRateMs;
|
int16_t udpSendRateMs;
|
||||||
#endif
|
#endif
|
||||||
} timersSettings;
|
} timersSettings;
|
||||||
@@ -119,11 +121,16 @@ struct Settings
|
|||||||
struct CloudSettings {
|
struct CloudSettings {
|
||||||
bool cloudEnabled;
|
bool cloudEnabled;
|
||||||
int16_t cloudTransmitTimeout; // in ms
|
int16_t cloudTransmitTimeout; // in ms
|
||||||
|
} cloudSettings;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
|
struct UdpCloudSettings {
|
||||||
uint32_t udpUid;
|
uint32_t udpUid;
|
||||||
bool udpCloudEnabled;
|
bool udpCloudEnabled;
|
||||||
bool enableCloudDebug;
|
bool enableCloudDebug;
|
||||||
bool udpUseStdString;
|
bool udpUseStdString;
|
||||||
} cloudSettings;
|
} udpCloudSettings;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct DefaultMode {
|
struct DefaultMode {
|
||||||
@@ -303,16 +310,21 @@ void Settings::executeForEveryCommonSetting(T &&callable)
|
|||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_CLOUD
|
||||||
callable("cloudCollectRat", boardcomputerHardware.timersSettings.cloudCollectRate);
|
callable("cloudCollectRat", boardcomputerHardware.timersSettings.cloudCollectRate);
|
||||||
callable("cloudSendRate", boardcomputerHardware.timersSettings.cloudSendRate);
|
callable("cloudSendRate", boardcomputerHardware.timersSettings.cloudSendRate);
|
||||||
|
#endif
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
callable("udpSendRate", boardcomputerHardware.timersSettings.udpSendRateMs);
|
callable("udpSendRate", boardcomputerHardware.timersSettings.udpSendRateMs);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_CLOUD
|
||||||
callable("cloudEnabled", cloudSettings.cloudEnabled);
|
callable("cloudEnabled", cloudSettings.cloudEnabled);
|
||||||
callable("clodTransmTmout", cloudSettings.cloudTransmitTimeout);
|
callable("clodTransmTmout", cloudSettings.cloudTransmitTimeout);
|
||||||
callable("cloudUDPUid", cloudSettings.udpUid);
|
#endif
|
||||||
callable("enUdpCloud", cloudSettings.udpCloudEnabled);
|
|
||||||
callable("debugCloud", cloudSettings.enableCloudDebug);
|
#ifdef FEATURE_UDPCLOUD
|
||||||
callable("udpusestdstr", cloudSettings.udpUseStdString);
|
callable("cloudUDPUid", udpCloudSettings.udpUid);
|
||||||
|
callable("enUdpCloud", udpCloudSettings.udpCloudEnabled);
|
||||||
|
callable("debugCloud", udpCloudSettings.enableCloudDebug);
|
||||||
|
callable("udpusestdstr", udpCloudSettings.udpUseStdString);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef FEATURE_LEDSTRIP
|
#ifdef FEATURE_LEDSTRIP
|
||||||
|
@@ -15,6 +15,9 @@ struct StringSettings
|
|||||||
|
|
||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_CLOUD
|
||||||
std::string cloudUrl;
|
std::string cloudUrl;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
std::string udpCloudUrl;
|
std::string udpCloudUrl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -81,6 +84,9 @@ void StringSettings::executeForEveryCommonSetting(T &&callable)
|
|||||||
|
|
||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_CLOUD
|
||||||
callable("cloudUrl", cloudUrl);
|
callable("cloudUrl", cloudUrl);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
callable("udpUrl", udpCloudUrl);
|
callable("udpUrl", udpCloudUrl);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -63,6 +63,12 @@
|
|||||||
#ifdef FEATURE_ESPNOW
|
#ifdef FEATURE_ESPNOW
|
||||||
#include "espnowfunctions.h"
|
#include "espnowfunctions.h"
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef FEATURE_CLOUD
|
||||||
|
#include "cloud.h"
|
||||||
|
#endif
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
|
#include "udpcloud.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
using namespace std::chrono_literals;
|
using namespace std::chrono_literals;
|
||||||
|
|
||||||
@@ -122,6 +128,13 @@ espcpputils::SchedulerTask schedulerTasksArr[] {
|
|||||||
#endif
|
#endif
|
||||||
#ifdef FEATURE_ESPNOW
|
#ifdef FEATURE_ESPNOW
|
||||||
espcpputils::SchedulerTask { "espnow", espnow::initESPNow, espnow::handle, 100ms },
|
espcpputils::SchedulerTask { "espnow", espnow::initESPNow, espnow::handle, 100ms },
|
||||||
|
#endif
|
||||||
|
#ifdef FEATURE_CLOUD
|
||||||
|
espcpputils::SchedulerTask { "cloud", initCloud, updateCloud, 50ms },
|
||||||
|
#endif
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
|
espcpputils::SchedulerTask { "udpcloud", udpCloudInit, udpCloudUpdate, 50ms },
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
@@ -48,11 +48,17 @@ char TEXT_BLEENABLED[] = "BLE enabled";
|
|||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_CLOUD
|
||||||
//CloudSettingsMenu
|
//CloudSettingsMenu
|
||||||
char TEXT_CLOUDSETTINGS[] = "Cloud settings";
|
char TEXT_CLOUDSETTINGS[] = "Cloud settings";
|
||||||
char TEXT_CLOUDENABLED[] = "Tcp Cloud enabled";
|
char TEXT_CLOUDENABLED[] = "Cloud enabled";
|
||||||
char TEXT_UDPCLOUDENABLED[] = "Udp Cloud enabled";
|
|
||||||
char TEXT_CLOUDTRANSMITTIMEOUT[] = "Transmit timeout";
|
char TEXT_CLOUDTRANSMITTIMEOUT[] = "Transmit timeout";
|
||||||
char TEXT_CLOUDCOLLECTRATE[] = "Cloud collect rate";
|
char TEXT_CLOUDCOLLECTRATE[] = "Cloud collect rate";
|
||||||
char TEXT_CLOUDSENDRATE[] = "Cloud send rate";
|
char TEXT_CLOUDSENDRATE[] = "Cloud send rate";
|
||||||
|
//char TEXT_BACK[] = "Back";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
|
//UdpCloudSettingsMenu
|
||||||
|
char TEXT_UDPCLOUDSETTINGS[] = "UDP Cloud settings";
|
||||||
|
char TEXT_UDPCLOUDENABLED[] = "Udp Cloud enabled";
|
||||||
char TEXT_UDPSENDRATE[] = "Udp send rate";
|
char TEXT_UDPSENDRATE[] = "Udp send rate";
|
||||||
char TEXT_UDPUSESTRING[] = "Udp use std::string";
|
char TEXT_UDPUSESTRING[] = "Udp use std::string";
|
||||||
//char TEXT_BACK[] = "Back";
|
//char TEXT_BACK[] = "Back";
|
||||||
|
@@ -48,10 +48,16 @@ extern char TEXT_BLEENABLED[];
|
|||||||
//CloudSettingsMenu
|
//CloudSettingsMenu
|
||||||
extern char TEXT_CLOUDSETTINGS[];
|
extern char TEXT_CLOUDSETTINGS[];
|
||||||
extern char TEXT_CLOUDENABLED[];
|
extern char TEXT_CLOUDENABLED[];
|
||||||
extern char TEXT_UDPCLOUDENABLED[];
|
|
||||||
extern char TEXT_CLOUDTRANSMITTIMEOUT[];
|
extern char TEXT_CLOUDTRANSMITTIMEOUT[];
|
||||||
extern char TEXT_CLOUDCOLLECTRATE[];
|
extern char TEXT_CLOUDCOLLECTRATE[];
|
||||||
extern char TEXT_CLOUDSENDRATE[];
|
extern char TEXT_CLOUDSENDRATE[];
|
||||||
|
//extern char TEXT_BACK[];
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
|
//UdpCloudSettingsMenu
|
||||||
|
extern char TEXT_UDPCLOUDSETTINGS[];
|
||||||
|
extern char TEXT_UDPCLOUDENABLED[];
|
||||||
extern char TEXT_UDPSENDRATE[];
|
extern char TEXT_UDPSENDRATE[];
|
||||||
extern char TEXT_UDPUSESTRING[];
|
extern char TEXT_UDPUSESTRING[];
|
||||||
//extern char TEXT_BACK[];
|
//extern char TEXT_BACK[];
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
constexpr const char * const TAG = "bobbycloud";
|
#include "udpcloud.h"
|
||||||
|
|
||||||
#ifdef FEATURE_CLOUD
|
|
||||||
// 3rd party includes
|
// 3rd party includes
|
||||||
#include <ArduinoJson.h>
|
#include <ArduinoJson.h>
|
||||||
#include <FastLED.h>
|
#include <FastLED.h>
|
||||||
@@ -10,7 +9,6 @@ constexpr const char * const TAG = "bobbycloud";
|
|||||||
#include <espwifistack.h>
|
#include <espwifistack.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "udpcloud.h"
|
|
||||||
#include "udpsender.h"
|
#include "udpsender.h"
|
||||||
#include "espwifistack.h"
|
#include "espwifistack.h"
|
||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
@@ -22,10 +20,28 @@ constexpr const char * const TAG = "bobbycloud";
|
|||||||
#include "battery.h"
|
#include "battery.h"
|
||||||
#include "drivingstatistics.h"
|
#include "drivingstatistics.h"
|
||||||
|
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
using namespace std::chrono_literals;
|
using namespace std::chrono_literals;
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
constexpr const char * const TAG = "bobbycloud";
|
||||||
|
|
||||||
|
espchrono::millis_clock::time_point timestampLastFailed;
|
||||||
|
} // namespace
|
||||||
|
|
||||||
// Little "flash" on statusdisplay when udp stuff is happening
|
// Little "flash" on statusdisplay when udp stuff is happening
|
||||||
bool visualSendUdpPacket;
|
bool visualSendUdpPacket;
|
||||||
espchrono::millis_clock::time_point timestampLastFailed;
|
|
||||||
|
void udpCloudInit()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void udpCloudUpdate()
|
||||||
|
{
|
||||||
|
if (settings.udpCloudSettings.udpCloudEnabled)
|
||||||
|
sendUdpCloudPacket();
|
||||||
|
}
|
||||||
|
|
||||||
void spamUdpBroadcast()
|
void spamUdpBroadcast()
|
||||||
{
|
{
|
||||||
@@ -77,7 +93,7 @@ std::string buildUdpCloudJson()
|
|||||||
// const auto w_per_kmh = watt / avgSpeedKmh;
|
// const auto w_per_kmh = watt / avgSpeedKmh;
|
||||||
|
|
||||||
// User ID
|
// User ID
|
||||||
doc["uid"] = settings.cloudSettings.udpUid;
|
doc["uid"] = settings.udpCloudSettings.udpUid;
|
||||||
doc["upt"] = uptime;
|
doc["upt"] = uptime;
|
||||||
|
|
||||||
const auto addController = [&](const Controller &controller, const bool isBack) {
|
const auto addController = [&](const Controller &controller, const bool isBack) {
|
||||||
@@ -175,8 +191,8 @@ std::string buildUdpCloudString()
|
|||||||
buf += "{";
|
buf += "{";
|
||||||
|
|
||||||
// User ID
|
// User ID
|
||||||
if(settings.cloudSettings.udpUid)
|
if(settings.udpCloudSettings.udpUid)
|
||||||
buf += fmt::format("\"uid\":{},", settings.cloudSettings.udpUid);
|
buf += fmt::format("\"uid\":{},", settings.udpCloudSettings.udpUid);
|
||||||
else
|
else
|
||||||
buf += "\"uid\":null,";
|
buf += "\"uid\":null,";
|
||||||
|
|
||||||
@@ -343,7 +359,7 @@ void sendUdpCloudPacket()
|
|||||||
|
|
||||||
wifi_stack::UdpSender udpCloudSender;
|
wifi_stack::UdpSender udpCloudSender;
|
||||||
std::string buf;
|
std::string buf;
|
||||||
buf = settings.cloudSettings.udpUseStdString ? buildUdpCloudString() : buildUdpCloudJson();
|
buf = settings.udpCloudSettings.udpUseStdString ? buildUdpCloudString() : buildUdpCloudJson();
|
||||||
|
|
||||||
|
|
||||||
if (const auto result = udpCloudSender.send(receipient, buf); !result)
|
if (const auto result = udpCloudSender.send(receipient, buf); !result)
|
||||||
|
@@ -1,10 +1,17 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
// system includes
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
#ifdef FEATURE_UDPCLOUD
|
||||||
// Little "flash" on statusdisplay when udp stuff is happening
|
// Little "flash" on statusdisplay when udp stuff is happening
|
||||||
extern bool visualSendUdpPacket;
|
extern bool visualSendUdpPacket;
|
||||||
|
|
||||||
|
void udpCloudInit();
|
||||||
|
void udpCloudUpdate();
|
||||||
|
|
||||||
void spamUdpBroadcast();
|
void spamUdpBroadcast();
|
||||||
std::string buildUdpCloudJson();
|
std::string buildUdpCloudJson();
|
||||||
std::string buildUdpCloudString();
|
std::string buildUdpCloudString();
|
||||||
void sendUdpCloudPacket();
|
void sendUdpCloudPacket();
|
||||||
|
#endif
|
||||||
|
Reference in New Issue
Block a user