Skip to content

Instantly share code, notes, and snippets.

@pfeerick
Created August 9, 2020 11:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pfeerick/33791f2ddbc70f30a89a590eab71d9a0 to your computer and use it in GitHub Desktop.
Save pfeerick/33791f2ddbc70f30a89a590eab71d9a0 to your computer and use it in GitHub Desktop.
#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;
}
#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();
};
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
#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