last version

This commit is contained in:
Dmitry Borisenko
2020-09-17 18:32:39 +03:00
parent 8568e945a4
commit d6f5506812
4 changed files with 65 additions and 41 deletions

View File

@@ -11,9 +11,12 @@ extern void decide();
extern void getPsn(); extern void getPsn();
extern String getUptimeTotal(); extern String getUptimeTotal();
extern int plusOneHour(); extern uint8_t getNextNumber(String file);
extern void eeWriteInt(int pos, int val); extern uint8_t getCurrentNumber(String file);
extern int eeGetInt(int pos);
//extern int plusOneHour();
//extern void eeWriteInt(int pos, int val);
//extern int eeGetInt(int pos);
//extern void updateDeviceList(); //extern void updateDeviceList();
//extern void saveId(String file, int id); //extern void saveId(String file, int id);
//extern int getId(String file); //extern int getId(String file);

View File

@@ -3,7 +3,7 @@
#include "Global.h" #include "Global.h"
void SerialPrint(String errorLevel, String module, String msg) { void SerialPrint(String errorLevel, String module, String msg) {
//if (module == "Stat") { if (module == "Stat") {
Serial.println(prettyMillis(millis()) + " [" + errorLevel + "] [" + module + "] " + msg); Serial.println(prettyMillis(millis()) + " [" + errorLevel + "] [" + module + "] " + msg);
//} }
} }

View File

@@ -14,7 +14,7 @@ void initSt() {
ts.add( ts.add(
STATISTICS, TELEMETRY_UPDATE_INTERVAL_MIN * 60000, [&](void*) { STATISTICS, TELEMETRY_UPDATE_INTERVAL_MIN * 60000, [&](void*) {
static bool secondTime = false; static bool secondTime = false;
if (secondTime) plusOneHour(); if (secondTime) getNextNumber("totalhrs.txt");
secondTime = true; secondTime = true;
updateDeviceStatus(); updateDeviceStatus();
}, },
@@ -24,7 +24,7 @@ void initSt() {
void decide() { void decide() {
if ((WiFi.status() == WL_CONNECTED)) { if ((WiFi.status() == WL_CONNECTED)) {
uint8_t cnt = getNewElementNumber("stat.txt"); uint8_t cnt = getNextNumber("stat.txt");
SerialPrint("I","Stat","Total resets number: " + String(cnt)); SerialPrint("I","Stat","Total resets number: " + String(cnt));
if (cnt <= 3) { if (cnt <= 3) {
//Serial.println("(get)"); //Serial.println("(get)");
@@ -127,7 +127,8 @@ String updateDeviceStatus() {
"&resetReason=" + ESP.getResetReason() + "&resetReason=" + ESP.getResetReason() +
"&uptime=" + timeNow->getUptime() + "&uptime=" + timeNow->getUptime() +
"&uptimeTotal=" + getUptimeTotal() + "&uptimeTotal=" + getUptimeTotal() +
"&version=" + FIRMWARE_VERSION + ""); "&version=" + FIRMWARE_VERSION +
"&resetsTotal=" + String(getCurrentNumber("stat.txt")) + "");
if (httpCode > 0) { if (httpCode > 0) {
ret = httpCode; ret = httpCode;
if (httpCode == HTTP_CODE_OK) { if (httpCode == HTTP_CODE_OK) {
@@ -144,46 +145,66 @@ String updateDeviceStatus() {
} }
String getUptimeTotal() { String getUptimeTotal() {
static int hrs; uint8_t hrs = getCurrentNumber("totalhrs.txt");
EEPROM.begin(512);
hrs = eeGetInt(0);
SerialPrint("I","Stat","Total running hrs: " + String(hrs));
String hrsStr = prettySeconds(hrs * 60 * 60); String hrsStr = prettySeconds(hrs * 60 * 60);
SerialPrint("I","Stat","Total running hrs (f): " + hrsStr); SerialPrint("I","Stat","Total running time: " + hrsStr);
return hrsStr; return hrsStr;
} }
int plusOneHour() { uint8_t getNextNumber(String file) {
static int hrs; uint8_t number = readFile(file, 100).toInt();
EEPROM.begin(512); number++;
hrs = eeGetInt(0); removeFile(file);
hrs++; addFile(file, String(number));
eeWriteInt(0, hrs); return number;
return hrs;
} }
void eeWriteInt(int pos, int val) { uint8_t getCurrentNumber(String file) {
byte* p = (byte*)&val; uint8_t number = readFile(file, 100).toInt();
EEPROM.write(pos, *p); return number;
EEPROM.write(pos + 1, *(p + 1));
EEPROM.write(pos + 2, *(p + 2));
EEPROM.write(pos + 3, *(p + 3));
EEPROM.commit();
} }
int eeGetInt(int pos) {
int val; //String getUptimeTotal() {
byte* p = (byte*)&val; // static int hrs;
*p = EEPROM.read(pos); // EEPROM.begin(512);
*(p + 1) = EEPROM.read(pos + 1); // hrs = eeGetInt(0);
*(p + 2) = EEPROM.read(pos + 2); // SerialPrint("I","Stat","Total running hrs: " + String(hrs));
*(p + 3) = EEPROM.read(pos + 3); // String hrsStr = prettySeconds(hrs * 60 * 60);
if (val < 0) { // SerialPrint("I","Stat","Total running hrs (f): " + hrsStr);
return 0; // return hrsStr;
} else { //}
return val; //int plusOneHour() {
} // static int hrs;
} // EEPROM.begin(512);
// hrs = eeGetInt(0);
// hrs++;
// eeWriteInt(0, hrs);
// return hrs;
//}
//
//void eeWriteInt(int pos, int val) {
// byte* p = (byte*)&val;
// EEPROM.write(pos, *p);
// EEPROM.write(pos + 1, *(p + 1));
// EEPROM.write(pos + 2, *(p + 2));
// EEPROM.write(pos + 3, *(p + 3));
// EEPROM.commit();
//}
//
//int eeGetInt(int pos) {
// int val;
// byte* p = (byte*)&val;
// *p = EEPROM.read(pos);
// *(p + 1) = EEPROM.read(pos + 1);
// *(p + 2) = EEPROM.read(pos + 2);
// *(p + 3) = EEPROM.read(pos + 3);
// if (val < 0) {
// return 0;
// } else {
// return val;
// }
//}
//========for updating list of device================= //========for updating list of device=================
/* /*
void updateDeviceList() { void updateDeviceList() {

View File

@@ -85,7 +85,7 @@ void setup() {
ts.add( ts.add(
TEST, 1000 * 60, [&](void*) { TEST, 1000 * 60, [&](void*) {
SerialPrint("I","module",printMemoryStatus()); SerialPrint("I","System",printMemoryStatus());
}, },
nullptr, true); nullptr, true);