Old local changes from desktop pc

This commit is contained in:
Martin Bauer
2023-07-16 13:20:19 +02:00
parent bc7e414e53
commit c600d373aa
6 changed files with 111 additions and 34 deletions

View File

@@ -22,6 +22,8 @@ class Logger
public:
using NtpTimeT = unsigned long;
static constexpr int HEADER_SIZE = sizeof(NtpTimeT) + sizeof(millis());
~Logger();
template <class... Args>
@@ -53,6 +55,11 @@ public:
static void init();
static void setNtpTime(NtpTimeT time);
const size_t totalSize() const { return totalSize_; }
const size_t currentSize() const { return currentSize_; }
const char * data() const { return data_; }
private:
Logger();

View File

@@ -21,13 +21,11 @@
#include "UserDB.h"
#include "Logger.h"
// Api
#include "WebsocketServer.h"
#include "SessionAPI.h"
#include "WifiAPI.h"
using Session_T = SimpleMeasurementSession<MeasurementT, CONFIG_SESSION_MAX_SIZE>;
SessionManager<Session_T> sessionManager;
@@ -380,6 +378,12 @@ void httpSetup(SessionManager<SessionT> *sessionManager, WifiManager *wifiManage
prefs.putBool("hostname", CONFIG_HOSTNAME + getIdSuffix());
httpd_resp_send(req, "OK", -1);
};
auto cbLoggingGet = [](httpd_req_t *req)
{
const auto logger = Logger::getInstance();
httpd_resp_set_hdr(req, "Content-Type", "application/octet-stream");
httpd_resp_send(req, logger->data(), logger->currentSize());
};
espHttpServer.start();
@@ -387,34 +391,29 @@ void httpSetup(SessionManager<SessionT> *sessionManager, WifiManager *wifiManage
espHttpServer.on("/api/wifi", HTTP_POST, cbWifiPost);
espHttpServer.on("/api/restart", HTTP_GET, cbRestart);
if (!wifiManager->inProvisioningMode())
{
espHttpServer.on("/api/session/start", HTTP_GET, cbStartSession);
espHttpServer.on("/api/session/start", HTTP_POST, cbStartSession);
espHttpServer.on("/api/session/start", HTTP_GET, cbStartSession);
espHttpServer.on("/api/session/start", HTTP_POST, cbStartSession);
espHttpServer.on("/api/session/stop", HTTP_GET, cbStopSession);
espHttpServer.on("/api/session/stop", HTTP_POST, cbStopSession);
espHttpServer.on("/api/session/stop", HTTP_GET, cbStopSession);
espHttpServer.on("/api/session/stop", HTTP_POST, cbStopSession);
espHttpServer.on("/api/session/data", HTTP_GET, cbGetData);
espHttpServer.on("/api/status", HTTP_GET, cbStatus);
espHttpServer.on("/api/tare", HTTP_GET, cbTare);
espHttpServer.on("/api/firmwareupdate", HTTP_GET, cbFirmwareUpdate);
espHttpServer.on("/api/session/data", HTTP_GET, cbGetData);
espHttpServer.on("/api/status", HTTP_GET, cbStatus);
espHttpServer.on("/api/tare", HTTP_GET, cbTare);
espHttpServer.on("/api/firmwareupdate", HTTP_GET, cbFirmwareUpdate);
espHttpServer.on("/api/settings", HTTP_GET, cbSettingsGet);
espHttpServer.on("/api/settings", HTTP_POST, cbSettingsPost);
espHttpServer.on("/api/settings", HTTP_DELETE, cbSettingsDelete);
espHttpServer.on("/api/settings", HTTP_GET, cbSettingsGet);
espHttpServer.on("/api/settings", HTTP_POST, cbSettingsPost);
espHttpServer.on("/api/settings", HTTP_DELETE, cbSettingsDelete);
auto webdav = webdavHandler("/webdav/", "/dat");
espHttpServer.on("/webdav/*?", HTTP_GET, webdav);
espHttpServer.on("/webdav/*?", HTTP_PROPFIND, webdav);
espHttpServer.on("/webdav/*?", HTTP_DELETE, webdav);
espHttpServer.on("/webdav/*?", HTTP_OPTIONS, webdav);
LOG_INFO("HTTP setup done");
}
else
{
LOG_INFO("HTTP setup with limited API in provisioning mode");
}
espHttpServer.on("/api/log", HTTP_GET, cbLoggingGet);
auto webdav = webdavHandler("/webdav/", "/dat");
espHttpServer.on("/webdav/*?", HTTP_GET, webdav);
espHttpServer.on("/webdav/*?", HTTP_PROPFIND, webdav);
espHttpServer.on("/webdav/*?", HTTP_DELETE, webdav);
espHttpServer.on("/webdav/*?", HTTP_OPTIONS, webdav);
LOG_INFO("HTTP setup done");
}
void mdnsSetup(const String &fullHostname)
@@ -443,7 +442,7 @@ void setup()
LOG_WARNING("Failed to mount/format SPIFFS file system");
ESP_ERROR_CHECK(esp_event_loop_create_default());
auto spiffsSetupTimeSecs = (millis() - millisBeforeSpiffsInit) / 1000;
userStorage.init();