Fermenter History 2

This commit is contained in:
Patrick Haßel 2025-02-19 15:59:32 +01:00
parent 97f711a22d
commit 19e81885a9
3 changed files with 26 additions and 19 deletions

View File

@ -5,6 +5,17 @@
#include "pid.h" #include "pid.h"
#include "Program.h" #include "Program.h"
void httpHistory(AsyncWebServerRequest* request) {
AsyncResponseStream* stream = request->beginResponseStream("text/plain");
constexpr int size = std::size(history);
const History* h = history;
for (int i = 0; i < size; i++) {
stream->printf("%d/%d/%d\n", h->target, h->temperature, h->heater);
h = (h - history + size - 1) % size + history;
}
request->send(stream);
}
void httpStatus(AsyncWebServerRequest* request) { void httpStatus(AsyncWebServerRequest* request) {
JsonDocument json; JsonDocument json;
json["pid"]["p"] = pid.p; json["pid"]["p"] = pid.p;
@ -130,22 +141,15 @@ void httpProgramResume(AsyncWebServerRequest* request) {
} }
void httpSetup2() { void httpSetup2() {
server.on("/history", httpHistory);
server.on("/status", httpStatus); server.on("/status", httpStatus);
server.on("/status/", httpStatus);
server.on("/target/add", httpTargetAdd); server.on("/target/add", httpTargetAdd);
server.on("/target/add/", httpTargetAdd);
server.on("/config/set", httpConfigSet); server.on("/config/set", httpConfigSet);
server.on("/config/set/", httpConfigSet);
server.on("/program/load", httpProgramLoad); server.on("/program/load", httpProgramLoad);
server.on("/program/load/", httpProgramLoad);
server.on("/program/start", httpProgramStart); server.on("/program/start", httpProgramStart);
server.on("/program/start/", httpProgramStart);
server.on("/program/stop", httpProgramStop); server.on("/program/stop", httpProgramStop);
server.on("/program/stop/", httpProgramStop);
server.on("/program/pause", httpProgramPause); server.on("/program/pause", httpProgramPause);
server.on("/program/pause/", httpProgramPause);
server.on("/program/resume", httpProgramResume); server.on("/program/resume", httpProgramResume);
server.on("/program/resume/", httpProgramResume);
} }
#endif #endif

View File

@ -1,19 +1,8 @@
#include <patrix/Patrix.h>
#ifdef NODE_FERMENTER #ifdef NODE_FERMENTER
#include "pid.h" #include "pid.h"
#include "config.h" #include "config.h"
struct History {
int16_t target;
int16_t temperature;
uint8_t heater;
};
History history[3 * 60]; History history[3 * 60];
History* historyPtr = history; History* historyPtr = history;

View File

@ -7,6 +7,20 @@
#define HEATER_POWER_W 30 #define HEATER_POWER_W 30
struct History {
int16_t target;
int16_t temperature;
uint8_t heater;
};
extern History history[3 * 60];
extern History* historyPtr;
extern DS18B20 ds18b20; extern DS18B20 ds18b20;
extern DS18B20Sensor temperature; extern DS18B20Sensor temperature;