Simpler Measurement session, fully in memory

This commit is contained in:
Martin Bauer
2020-06-21 11:10:45 +02:00
parent fc469f47a6
commit c7137f74a1
7 changed files with 206 additions and 53 deletions

View File

@@ -18,6 +18,7 @@
#include "MeasurementSession.h"
#include "SpiffsStorage.h"
#include "DeviceInfoLog.h"
#include "SimpleMeasurementSession.h"
// Configuration
#include "ConfigWifi.h"
@@ -29,7 +30,8 @@
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "pool.ntp.org");
typedef MeasurementSession<uint16_t, SpiffsStorageReader, SpiffsStorageWriter, CONFIG_SESSION_CHUNK_SIZE> Session_T;
//typedef MeasurementSession<uint16_t, SpiffsStorageReader, SpiffsStorageWriter, CONFIG_SESSION_CHUNK_SIZE> Session_T;
using Session_T = SimpleMeasurementSession<uint16_t, CONFIG_SESSION_MAX_SIZE>;
template <typename Session_T>
class SessionManager
@@ -46,6 +48,7 @@ public:
scale.tare(CONFIG_TARE_AVG_COUNT);
Serial.println("Finished tare");
session.init(timeClient.getEpochTime());
Serial.println("Finished session init");
}
void startMeasurements()
@@ -69,13 +72,16 @@ public:
void iteration()
{
if (!measuring_)
{
//Serial.println("Disabled");
return;
}
uint16_t measurement = -1;
scale.measure(measurement);
session.addPoint(measurement);
bool addPointSuccessful = session.addPoint(measurement);
if(!addPointSuccessful) {
Serial.println("Maximum time of session reached - stopping");
stopMeasurements();
return;
}
Serial.print("Measurement: ");
Serial.println(measurement);
if (lastCallTime_ != 0)
@@ -198,9 +204,11 @@ void httpSetup(SessionManager<Session_T> *sessionManager)
espHttpServer.on("/api/session/data", HTTP_GET, cbGetData);
espHttpServer.on("/api/status", HTTP_GET, cbStatus);
espHttpServer.on("/webdav/*?", HTTP_GET, webdavHandler);
espHttpServer.on("/webdav/*?", HTTP_PROPFIND, webdavHandler);
espHttpServer.on("/webdav/*?", HTTP_DELETE, webdavHandler);
auto webdav = webdavHandler("/webdav/", "/dat");
espHttpServer.on("/webdav/*?", HTTP_GET, webdav);
espHttpServer.on("/webdav/*?", HTTP_PROPFIND, webdav);
espHttpServer.on("/webdav/*?", HTTP_DELETE, webdav);
Serial.println("HTTP setup done");
}
void setup()
@@ -258,6 +266,5 @@ void setup()
void loop()
{
delay(10000);
//sessionManager.iteration();
sessionManager.iteration();
}