pagination in eventlog fix

This commit is contained in:
Paul
2019-08-11 12:18:49 +02:00
parent 3940c935a4
commit 0f6be3c5b5

View File

@@ -509,7 +509,7 @@ void MyESP::_ota_setup() {
static unsigned int _progOld;
unsigned int _prog = (progress / (total / 100));
if (_prog != _progOld) {
myDebug_P(PSTR("[OTA] Progress: %u%%\r"), _prog);
myDebug_P(PSTR("[OTA] Progress: %u%%"), _prog);
_progOld = _prog;
}
});
@@ -2101,9 +2101,7 @@ void MyESP::_writeEvent(const char * type, const char * src, const char * desc,
return;
}
DynamicJsonDocument doc(300);
JsonObject root = doc.to<JsonObject>(); // TODO do I need to convert to root? read docs
StaticJsonDocument<300> root;
root["type"] = type;
root["src"] = src;
root["desc"] = desc;
@@ -2122,7 +2120,6 @@ void MyESP::_writeEvent(const char * type, const char * src, const char * desc,
}
// send a paged list (10 items) to the ws
// limit to 10 pages
void MyESP::_sendEventLog(uint8_t page) {
File eventlog = SPIFFS.open(MYESP_EVENTLOG_FILE, "r");
if (!eventlog) {
@@ -2143,9 +2140,8 @@ void MyESP::_sendEventLog(uint8_t page) {
uint8_t last = page * 10;
uint8_t i = 0;
// TODO event is limited to 50 entries. implement purge
while (eventlog.available() && (i < 50)) {
String item = String(); // TODO replace String with char*
while (eventlog.available()) {
String item = String();
item = eventlog.readStringUntil('\n');
if (i >= first && i < last) {
list.add(item);
@@ -2160,6 +2156,7 @@ void MyESP::_sendEventLog(uint8_t page) {
char buffer[MYESP_JSON_MAXSIZE];
size_t len = serializeJson(root, buffer);
//Serial.printf("\nEVENTLLOG: page %d\n", page); // turn on for debugging
//serializeJson(root, Serial); // turn on for debugging
_ws->textAll(buffer, len);