Created
August 9, 2020 11:15
-
-
Save pfeerick/33791f2ddbc70f30a89a590eab71d9a0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "flashLOG.h" | |
flashLOG::flashLOG(char *filename) | |
{ | |
_logfilename = filename; | |
} | |
void flashLOG::start() { | |
if (!LittleFS.begin()) | |
{ | |
Serial.println("LittleFS mount failed"); | |
} | |
else { | |
Serial.println("MOUNTED OK"); | |
} | |
} | |
void flashLOG::read() { | |
int r = 0; | |
int c = 0; | |
File file = LittleFS.open(_logfilename, "r"); | |
if (!file) | |
{ | |
Serial.println("Failed to open file for reading"); | |
} | |
else { | |
while (file.available()) | |
{ | |
char tt = file.read(); | |
if (tt != '\n') | |
{ | |
_log_array[r][c] = tt; | |
c++; | |
} | |
else | |
{ | |
_log_array[r][c] = '\n'; | |
r++; | |
c = 0; | |
// Serial.println(_log_array[r-1]); | |
} | |
Serial.write(tt); | |
} | |
} | |
file.close(); | |
// return r; | |
} | |
void flashLOG::write(const char *message) | |
{ | |
char a[_log_length]; | |
// sprintf(a, "%s\n", message); | |
File file = LittleFS.open(_logfilename, "a"); | |
if (!file) | |
{ | |
Serial.println("Failed to open file for appending"); | |
} | |
else { | |
if (file.print(message)) { | |
Serial.println("Append OK"); | |
} | |
else { | |
Serial.println("Append fail"); | |
} | |
} | |
Serial.printf("file size: %d\n", file.size()); | |
delay(2000); | |
file.close(); | |
} | |
void flashLOG::append(const char *message) | |
{ | |
char a[_log_length]; | |
// sprintf(a, "%s\n", message); | |
File file = LittleFS.open(_logfilename, "a"); | |
if (!file) | |
{ | |
Serial.println("Failed to open file for appending"); | |
} | |
else { | |
if (file.print(message)) { | |
Serial.println("Append OK"); | |
} | |
else { | |
Serial.println("Append fail"); | |
} | |
} | |
Serial.printf("file size: %d\n", file.size()); | |
// delay(2000); | |
file.close(); | |
} | |
void flashLOG::postlog(int x) | |
{ | |
int num_lines = 0;//read(); | |
int y = min(x, num_lines); | |
for (int a = 0; a < y; a++) | |
{ | |
if (y > 1) | |
{ | |
char t[_log_length]; | |
sprintf(t, "[#%d] %s", a, _log_array[a]); | |
Serial.println(t); | |
} | |
else | |
{ | |
Serial.println(_log_array[a]); | |
} | |
} | |
} | |
int flashLOG::sizelog() | |
{ | |
File file = LittleFS.open(_logfilename, "r"); | |
int f = file.size(); | |
file.close(); | |
return f; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <LittleFS.h> | |
class flashLOG { | |
private: | |
char *_logfilename = "/logfile.txt"; | |
const static int _logsize = 5; // entries | |
const static int _log_length = 20; // chars in each entry | |
char _log_array[_logsize][_log_length]; | |
public: | |
flashLOG(char *filename = "/logfile.txt"); | |
void start(); | |
void read(); | |
void write(const char *message); | |
void append(const char *message); | |
void postlog(int x); | |
int sizelog(); | |
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
Failed to open file for reading | |
Append OK | |
file size: 8 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2Append OK | |
file size: 16 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2Append OK | |
file size: 24 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2Append OK | |
file size: 32 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2Append OK | |
file size: 40 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2Append OK | |
file size: 48 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2Append OK | |
file size: 56 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2Append OK | |
file size: 64 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2Append OK | |
file size: 72 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2Append OK | |
file size: 80 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2Append OK | |
file size: 88 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2Append OK | |
file size: 96 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2Append OK | |
file size: 104 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2 | |
--------------- CUT HERE FOR EXCEPTION DECODER --------------- | |
Exception (9): | |
epc1=0x40206c5a epc2=0x00000000 epc3=0x00000000 excvaddr=0x32455245 depc=0x00000000 | |
>>>stack>>> | |
ctx: cont | |
sp: 3ffffd50 end: 3fffffc0 offset: 0190 | |
3ffffee0: 3ffee678 00000000 3ffef8fc 4020571b | |
3ffffef0: 3ffee678 00000000 3ffef95c 402096d4 | |
3fffff00: 3ffee678 00000032 3fffff30 40206c0a | |
3fffff10: 3ffef8fc 3ffef95c 3fffff30 00000002 | |
3fffff20: 00000003 00000000 00000068 402053bc | |
3fffff30: 3fffdad0 3ffe8800 3ffee678 40205400 | |
3fffff40: 00000000 00000000 00000000 00000000 | |
3fffff50: 3ffee6e0 3ffee6f4 3ffee714 40207084 | |
3fffff60: 3fffdad0 3ffee6f4 3ffee678 3ffee830 | |
3fffff70: 3fffdad0 3ffee6f4 3ffee678 40205503 | |
3fffff80: 3ffef700 0024002f 80efeffe 3ffef744 | |
3fffff90: 0017001f 00efeffe feefeffe feefeffe | |
3fffffa0: feefeffe 00000000 3ffee7f0 40207988 | |
3fffffb0: feefeffe feefeffe 3ffe84e0 40100c05 | |
<<<stack<<< | |
--------------- CUT HERE FOR EXCEPTION DECODER --------------- | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Exception | |
Formatting LittleFS filesystem to clear exception | |
Restarting to try again | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
Failed to open file for reading | |
Append OK | |
file size: 8 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2Append OK | |
file size: 16 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2Append OK | |
file size: 24 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2Append OK | |
file size: 32 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2Append OK | |
file size: 40 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2Append OK | |
file size: 48 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2Append OK | |
file size: 56 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2Append OK | |
file size: 64 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2Append OK | |
file size: 72 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2Append OK | |
file size: 80 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2Append OK | |
file size: 88 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2Append OK | |
file size: 96 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2Append OK | |
file size: 104 | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Software/System restart | |
BEGIN! | |
MOUNTED OK | |
HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2HITHERE2 | |
--------------- CUT HERE FOR EXCEPTION DECODER --------------- | |
Exception (9): | |
epc1=0x40206c5a epc2=0x00000000 epc3=0x00000000 excvaddr=0x32455245 depc=0x00000000 | |
>>>stack>>> | |
ctx: cont | |
sp: 3ffffd50 end: 3fffffc0 offset: 0190 | |
3ffffee0: 3ffee678 00000000 3ffef8fc 4020571b | |
3ffffef0: 3ffee678 00000000 3ffef95c 402096d4 | |
3fffff00: 3ffee678 00000032 3fffff30 40206c0a | |
3fffff10: 3ffef8fc 3ffef95c 3fffff30 00000002 | |
3fffff20: 00000003 00000000 00000068 402053bc | |
3fffff30: 3fffdad0 3ffe8800 3ffee678 40205400 | |
3fffff40: 00000000 00000000 00000000 00000000 | |
3fffff50: 3ffee6e0 3ffee6f4 3ffee714 40207084 | |
3fffff60: 3fffdad0 3ffee6f4 3ffee678 3ffee830 | |
3fffff70: 3fffdad0 3ffee6f4 3ffee678 40205503 | |
3fffff80: 3ffef700 0024002f 80efeffe 3ffef744 | |
3fffff90: 0017001f 00efeffe feefeffe feefeffe | |
3fffffa0: feefeffe 00000000 3ffee7f0 40207988 | |
3fffffb0: feefeffe feefeffe 3ffe84e0 40100c05 | |
<<<stack<<< | |
--------------- CUT HERE FOR EXCEPTION DECODER --------------- | |
ets Jan 8 2013,rst cause:2, boot mode:(3,6) | |
load 0x4010f000, len 3584, room 16 | |
tail 0 | |
chksum 0xb0 | |
csum 0xb0 | |
v2843a5ac | |
~ld | |
Reset reason:Exception | |
Formatting LittleFS filesystem to clear exception | |
Restarting to try again | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <Arduino.h> | |
#include "flashLOG.h" | |
flashLOG flog; | |
void setup() { | |
Serial.begin(115200); | |
String resetReason = ESP.getResetReason(); | |
Serial.println("Reset reason:" + resetReason); | |
if(resetReason == "Exception") | |
{ | |
Serial.println("Formatting LittleFS filesystem to clear exception"); | |
LittleFS.format(); | |
Serial.println("Restarting to try again"); | |
ESP.restart(); | |
} | |
Serial.println("\nBEGIN!"); | |
flog.start(); | |
// flog.write("HITHERE"); | |
flog.read(); | |
flog.append("HITHERE2"); | |
// flog.read(); | |
} | |
void loop() { | |
delay(1000); | |
ESP.restart(); | |
delay(100); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment