webserver cleanups

This commit is contained in:
2021-12-28 20:27:16 +01:00
parent 27863b2bf0
commit 7b1c64c08e
15 changed files with 149 additions and 117 deletions

View File

@@ -218,6 +218,7 @@ set(headers
webserver_ota.h webserver_ota.h
webserver_settings.h webserver_settings.h
webserver_stringsettings.h webserver_stringsettings.h
webserver_newsettings.h
widgets/doubleprogressbar.h widgets/doubleprogressbar.h
displays/menudisplaywithtime.h displays/menudisplaywithtime.h
wifi_bobbycar.h wifi_bobbycar.h
@@ -444,6 +445,7 @@ set(sources
webserver_ota.cpp webserver_ota.cpp
webserver_settings.cpp webserver_settings.cpp
webserver_stringsettings.cpp webserver_stringsettings.cpp
webserver_newsettings.cpp
widgets/doubleprogressbar.cpp widgets/doubleprogressbar.cpp
wifi_bobbycar.cpp wifi_bobbycar.cpp
wifitexthelpers.cpp wifitexthelpers.cpp

View File

@@ -1,19 +1,50 @@
#include "webserver.h" #include "webserver.h"
#include "sdkconfig.h" #include "sdkconfig.h"
// system includes
#include <chrono>
// esp-idf includes
#include <esp_log.h>
// 3rdparty lib includes
#include <menuitem.h>
#include <espcppmacros.h>
#include <esphttpdutils.h>
#include <display.h>
#include <screenmanager.h>
#include <menudisplay.h>
#include <lockhelper.h>
#include <tickchrono.h>
// local includes
#include "webserver_lock.h"
#include "webserver_displaycontrol.h"
#ifdef FEATURE_OTA
#include "webserver_ota.h"
#endif
#include "webserver_settings.h"
#include "webserver_stringsettings.h"
#ifdef OLD_NVS
#include "webserver_dumpnvs.h"
#endif
#include "globals.h"
using namespace std::chrono_literals; using namespace std::chrono_literals;
#ifdef FEATURE_WEBSERVER #ifdef FEATURE_WEBSERVER
namespace { namespace {
constexpr const char * const TAG = "BOBBYWEB"; constexpr const char * const TAG = "BOBBYWEB";
} // namespace
namespace bobbywebserver { //bool forceRefresh{false};
bool forceRefresh{false};
bool lastScreenWasMenu{}; bool lastScreenWasMenu{};
int8_t lastSelectIndex{}; int8_t lastSelectIndex{};
std::vector<std::pair<std::string, const espgui::MenuItemIcon*>> menuBuf{}; std::vector<std::pair<std::string, const espgui::MenuItemIcon*>> menuBuf{};
}
esp_err_t webserver_reboot_handler(httpd_req_t *req);
bool menuDisplayChanged();
esp_err_t webserver_status_handler(httpd_req_t *req);
} // namespace bobbywebserver
httpd_handle_t httpdHandle; httpd_handle_t httpdHandle;
@@ -72,6 +103,8 @@ void handleWebserver()
#endif #endif
} }
namespace {
esp_err_t webserver_reboot_handler(httpd_req_t *req) esp_err_t webserver_reboot_handler(httpd_req_t *req)
{ {
esp_restart(); esp_restart();
@@ -81,7 +114,6 @@ esp_err_t webserver_reboot_handler(httpd_req_t *req)
bool menuDisplayChanged() bool menuDisplayChanged()
{ {
using namespace bobbywebserver;
if (auto currentDisplay = static_cast<const espgui::Display *>(espgui::currentDisplay.get())) if (auto currentDisplay = static_cast<const espgui::Display *>(espgui::currentDisplay.get()))
{ {
lastScreenWasMenu = true; lastScreenWasMenu = true;
@@ -170,4 +202,5 @@ esp_err_t webserver_status_handler(httpd_req_t *req)
} }
} }
} // namespace
#endif #endif

View File

@@ -1,30 +1,9 @@
#pragma once #pragma once
// system includes
#include <atomic>
#include <string_view>
// esp-idf includes // esp-idf includes
#ifdef FEATURE_WEBSERVER #ifdef FEATURE_WEBSERVER
#include <esp_http_server.h> #include <esp_http_server.h>
#endif #endif
#include <esp_log.h>
// 3rdparty lib includes
#include <espcppmacros.h>
#include <esphttpdutils.h>
// local includes
#include "webserver_lock.h"
#include "webserver_displaycontrol.h"
#ifdef FEATURE_OTA
#include "webserver_ota.h"
#endif
#include "webserver_settings.h"
#include "webserver_stringsettings.h"
#ifdef OLD_NVS
#include "webserver_dumpnvs.h"
#endif
#ifdef FEATURE_WEBSERVER #ifdef FEATURE_WEBSERVER
extern httpd_handle_t httpdHandle; extern httpd_handle_t httpdHandle;
@@ -32,13 +11,4 @@ extern httpd_handle_t httpdHandle;
void initWebserver(); void initWebserver();
void handleWebserver(); void handleWebserver();
bool MenuDisplayChanged(); bool MenuDisplayChanged();
esp_err_t webserver_reboot_handler(httpd_req_t *req);
esp_err_t webserver_status_handler(httpd_req_t *req);
namespace bobbywebserver {
extern bool forceRefresh;
extern bool lastScreenWasMenu;
extern int8_t lastSelectIndex;
extern std::vector<std::pair<std::string, const espgui::MenuItemIcon*>> menuBuf;
}
#endif #endif

View File

@@ -1,5 +1,29 @@
#include "webserver_displaycontrol.h" #include "webserver_displaycontrol.h"
// esp-idf includes
#ifdef FEATURE_WEBSERVER
#include <esp_http_server.h>
#endif
#include <esp_log.h>
// 3rdparty lib includes
#include <htmlbuilder.h>
#include <fmt/core.h>
#include <espcppmacros.h>
#include <numberparsing.h>
#include <esphttpdutils.h>
#include <textinterface.h>
#include <menudisplay.h>
#include <changevaluedisplay.h>
#include <lockhelper.h>
#include <tickchrono.h>
#include <screenmanager.h>
// local includes
#include "buttons.h"
#include "globals.h"
#include "webserver_lock.h"
#ifdef FEATURE_WEBSERVER #ifdef FEATURE_WEBSERVER
using esphttpdutils::HtmlTag; using esphttpdutils::HtmlTag;
using namespace std::chrono_literals; using namespace std::chrono_literals;

View File

@@ -4,25 +4,7 @@
#ifdef FEATURE_WEBSERVER #ifdef FEATURE_WEBSERVER
#include <esp_http_server.h> #include <esp_http_server.h>
#endif #endif
#include <esp_log.h> #include <esp_err.h>
// 3rdparty lib includes
#include <htmlbuilder.h>
#include <fmt/core.h>
#include <espcppmacros.h>
#include <numberparsing.h>
#include <esphttpdutils.h>
#include <textinterface.h>
#include <menudisplay.h>
#include <changevaluedisplay.h>
#include <lockhelper.h>
#include <tickchrono.h>
#include <screenmanager.h>
// local includes
#include "buttons.h"
#include "globals.h"
#include "webserver_lock.h"
#ifdef FEATURE_WEBSERVER #ifdef FEATURE_WEBSERVER
esp_err_t webserver_root_handler(httpd_req_t *req); esp_err_t webserver_root_handler(httpd_req_t *req);

View File

@@ -1,5 +1,26 @@
#include "webserver_dumpnvs.h" #include "webserver_dumpnvs.h"
// esp-idf includes
#ifdef FEATURE_WEBSERVER
#include <esp_http_server.h>
#endif
#include <esp_log.h>
// 3rdparty lib includes
#include <htmlbuilder.h>
#include <fmt/core.h>
#include <espcppmacros.h>
#include <esphttpdutils.h>
#include <espchrono.h>
#include <lockhelper.h>
#include <tickchrono.h>
#include <ArduinoJson.h>
// local includes
#include "globals.h"
#include "webserver_lock.h"
#include "settingsutils.h"
using esphttpdutils::HtmlTag; using esphttpdutils::HtmlTag;
using namespace espchrono; using namespace espchrono;
using namespace std::chrono_literals; using namespace std::chrono_literals;

View File

@@ -4,22 +4,7 @@
#ifdef FEATURE_WEBSERVER #ifdef FEATURE_WEBSERVER
#include <esp_http_server.h> #include <esp_http_server.h>
#endif #endif
#include <esp_log.h> #include <esp_err.h>
// 3rdparty lib includes
#include <htmlbuilder.h>
#include <fmt/core.h>
#include <espcppmacros.h>
#include <esphttpdutils.h>
#include <espchrono.h>
#include <lockhelper.h>
#include <tickchrono.h>
#include <ArduinoJson.h>
// local includes
#include "globals.h"
#include "webserver_lock.h"
#include "settingsutils.h"
#ifdef FEATURE_WEBSERVER #ifdef FEATURE_WEBSERVER
esp_err_t webserver_dump_nvs_handler(httpd_req_t *req); esp_err_t webserver_dump_nvs_handler(httpd_req_t *req);

View File

View File

View File

@@ -1,6 +1,26 @@
#include "webserver_ota.h" #include "webserver_ota.h"
// esp-idf includes
#ifdef FEATURE_WEBSERVER
#include <esp_http_server.h>
#endif
#include <esp_log.h>
#include <esp_ota_ops.h>
// 3rdparty lib includes
#include <htmlbuilder.h>
#include <fmt/core.h>
#include <espcppmacros.h>
#include <esphttpdutils.h>
#include <lockhelper.h>
#include <tickchrono.h>
#include <espstrutils.h>
// local includes // local includes
#ifdef FEATURE_OTA
#include "ota.h"
#endif
#include "webserver_lock.h"
#include "globals.h" #include "globals.h"
#if defined(FEATURE_WEBSERVER) && defined(FEATURE_OTA) #if defined(FEATURE_WEBSERVER) && defined(FEATURE_OTA)

View File

@@ -4,23 +4,7 @@
#ifdef FEATURE_WEBSERVER #ifdef FEATURE_WEBSERVER
#include <esp_http_server.h> #include <esp_http_server.h>
#endif #endif
#include <esp_log.h> #include <esp_err.h>
#include <esp_ota_ops.h>
// 3rdparty lib includes
#include <htmlbuilder.h>
#include <fmt/core.h>
#include <espcppmacros.h>
#include <esphttpdutils.h>
#include <lockhelper.h>
#include <tickchrono.h>
#include <espstrutils.h>
// local includes
#ifdef FEATURE_OTA
#include "ota.h"
#endif
#include "webserver_lock.h"
#if defined(FEATURE_WEBSERVER) && defined(FEATURE_OTA) #if defined(FEATURE_WEBSERVER) && defined(FEATURE_OTA)
esp_err_t webserver_ota_handler(httpd_req_t *req); esp_err_t webserver_ota_handler(httpd_req_t *req);

View File

@@ -1,5 +1,27 @@
#include "webserver_settings.h" #include "webserver_settings.h"
// system includes
#include <limits>
// esp-idf includes
#ifdef FEATURE_WEBSERVER
#include <esp_http_server.h>
#endif
#include <esp_log.h>
// 3rdparty lib includes
#include <htmlbuilder.h>
#include <fmt/core.h>
#include <espcppmacros.h>
#include <esphttpdutils.h>
#include <numberparsing.h>
#include <lockhelper.h>
#include <tickchrono.h>
// local includes
#include "globals.h"
#include "webserver_lock.h"
#ifdef FEATURE_WEBSERVER #ifdef FEATURE_WEBSERVER
using namespace std::chrono_literals; using namespace std::chrono_literals;
using esphttpdutils::HtmlTag; using esphttpdutils::HtmlTag;

View File

@@ -1,26 +1,10 @@
#pragma once #pragma once
// system includes
#include <limits>
// esp-idf includes // esp-idf includes
#ifdef FEATURE_WEBSERVER #ifdef FEATURE_WEBSERVER
#include <esp_http_server.h> #include <esp_http_server.h>
#endif #endif
#include <esp_log.h> #include <esp_err.h>
// 3rdparty lib includes
#include <htmlbuilder.h>
#include <fmt/core.h>
#include <espcppmacros.h>
#include <esphttpdutils.h>
#include <numberparsing.h>
#include <lockhelper.h>
#include <tickchrono.h>
// local includes
#include "globals.h"
#include "webserver_lock.h"
#ifdef FEATURE_WEBSERVER #ifdef FEATURE_WEBSERVER
esp_err_t webserver_settings_handler(httpd_req_t *req); esp_err_t webserver_settings_handler(httpd_req_t *req);

View File

@@ -1,5 +1,22 @@
#include "webserver_stringsettings.h" #include "webserver_stringsettings.h"
// esp-idf includes
#ifdef FEATURE_WEBSERVER
#include <esp_http_server.h>
#endif
// 3rdparty lib includes
#include <htmlbuilder.h>
#include <fmt/core.h>
#include <espcppmacros.h>
#include <esphttpdutils.h>
#include <lockhelper.h>
#include <tickchrono.h>
// local includes
#include "globals.h"
#include "webserver_lock.h"
#ifdef FEATURE_WEBSERVER #ifdef FEATURE_WEBSERVER
using namespace std::chrono_literals; using namespace std::chrono_literals;
using esphttpdutils::HtmlTag; using esphttpdutils::HtmlTag;

View File

@@ -4,19 +4,7 @@
#ifdef FEATURE_WEBSERVER #ifdef FEATURE_WEBSERVER
#include <esp_http_server.h> #include <esp_http_server.h>
#endif #endif
#include <esp_log.h> #include <esp_err.h>
// 3rdparty lib includes
#include <htmlbuilder.h>
#include <fmt/core.h>
#include <espcppmacros.h>
#include <esphttpdutils.h>
#include <lockhelper.h>
#include <tickchrono.h>
// local includes
#include "globals.h"
#include "webserver_lock.h"
#ifdef FEATURE_WEBSERVER #ifdef FEATURE_WEBSERVER
esp_err_t webserver_stringSettings_handler(httpd_req_t *req); esp_err_t webserver_stringSettings_handler(httpd_req_t *req);