Git Product home page Git Product logo

espsavecrashspiffs's Introduction

EspSaveCrashSpiffs

Save exception details and stack trace to SPIFFS everytime the ESP8266 crashes. Implement it in your sketch in two simple steps.

Overview

EspSaveCrashSpiffs is another handy little library that will keep automatically catching and saving crash information to ESP8266 module's flash in case it fails due to exception or software WDT. You will then be able to analyze the crash log and decode the stack trace using ESP Exception Decoder.

This library is inspired by the EspSaveCrash library written by krzychb.

You will implement it in your sketch in two simple steps:

  1. Include the library
#include "EspSaveCrashSpiffs.h"
  1. Declare object
EspSaveCrashSpiffs SaveCrashSpiffs(0);

That's it.

To print out the latest crash log to Serial use this:

// allocate some space for the latest log filename
char* _lastCrashFileName;
_lastCrashFileName = (char*)calloc(255, sizeof(char));

// get the last filename
SaveCrashSpiffs.getLastLogFileName(_lastCrashFileName);

Serial.printf("Name of last log file: '%s'\n", _lastCrashFileName);

Serial.println("--- BEGIN of crash file ---");
SaveCrashSpiffs.print(_lastCrashFileName);
Serial.println("--- END of crash file ---");

// free the allocated space
free(_lastCrashFileName);

Example serial output might be something like this:

Name of last log file: '/crashLog-5.log'
--- BEGIN of crash file ---
Crashed at 33535 ms
Restart reason: 2
Exception cause: 28
epc1=0x4020161a epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000
>>>stack>>>
3fffff90: 00000a65 00000000 00000001 40202cfd
3fffffa0: 3fffdad0 00000000 3ffee958 40202d8c
3fffffb0: feefeffe feefeffe 3ffe8504 40100459
<<<stack<<<

--- END of crash file ---

The browser output looks like that: alt text

To delete existing crash files from the flash refer to the deleteSomeFile() function in the SimpleCrashSpiffs example.

Check the examples folder for sample implementation of this library and tracking down where the program crash happened. Also an example to show how to access to latest saved information remotely with a web browser.

Compatibility

Functionality

  • Registers callback to automatically capture and save crash details
  • Captures several crashes to save them to ESP8266 module's flash
  • Captures exceptions and software WDT restarts (not hardware WDT)
  • The following information is saved:
    • Time of crash using the ESP's milliseconds counter
    • Reason of restart - see rst cause
    • Exception cause - see EXCCAUSE
    • epc1, epc2, epc3, excvaddr and depc
    • Stack trace in format you can analyze with ESP Exception Decoder
  • Automatically arms itself to operate after each restart or power up of module
  • Saves crash file to default file and renames this to the next logical name after a reboot. Small files avoid reboots due to buffer overflow or out of RAM stuff.

Examples

Library comes with example sketches that let you trigger some exceptions and see how to visualize saved data.

Tested With

Arduino Core

Programming Environment

Installation

  • Arduino IDE - use Library Manager in Arduino IDE and search for EspSaveCrash.
  • Visual Micro - installation procedure is the same as for Arduino IDE above.

Contribute

Feel free to contribute to the project in any way you like!

If you find any issues with code or descriptions please report them using Issues tab above.

Author

brainelectronics

Credits

  • Big thanks to krzychb who inspired me to extend it's great EspSaveCrash library to use now the SPIFFS
  • Preparation of this library has been inspired by issue #1152 in esp8266 / Arduino repository.

License

GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999

espsavecrashspiffs's People

Contributors

brainelectronics avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

alexdalexeev

espsavecrashspiffs's Issues

Compilation issue

Hi,

I would love to use this library, but it fails to compile with Arduino IDE 1.8.12 as well as VS Code. See the errors below.
Thanks.

/Applications/Arduino.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware /Applications/Arduino.app/Contents/Java/hardware -hardware /Users/Zohar/Library/Arduino15/packages -tools /Applications/Arduino.app/Contents/Java/tools-builder -tools /Applications/Arduino.app/Contents/Java/hardware/tools/avr -tools /Users/Zohar/Library/Arduino15/packages -built-in-libraries /Applications/Arduino.app/Contents/Java/libraries -libraries /Users/Zohar/Documents/Arduino/libraries -fqbn=esp8266:esp8266:d1:CpuFrequency=80,VTable=flash,FlashSize=4M1M,LwIPVariant=v2mss536,Debug=Disabled,DebugLevel=None____,FlashErase=none,UploadSpeed=230400 -ide-version=10812 -build-path /var/folders/g/4t6g_8941x0lm6jypsg477m0000gp/T/arduino_build_284113 -warnings=none -build-cache /var/folders/g/4t6g_8941x0lm6jypsg477m0000gp/T/arduino_cache_347838 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.mkspiffs.path=/Users/Zohar/Library/Arduino15/packages/esp8266/tools/mkspiffs/0.2.0 -prefs=runtime.tools.mkspiffs-0.2.0.path=/Users/Zohar/Library/Arduino15/packages/esp8266/tools/mkspiffs/0.2.0 -prefs=runtime.tools.esptool.path=/Users/Zohar/Library/Arduino15/packages/esp8266/tools/esptool/0.4.13 -prefs=runtime.tools.esptool-0.4.13.path=/Users/Zohar/Library/Arduino15/packages/esp8266/tools/esptool/0.4.13 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=/Users/Zohar/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2 -prefs=runtime.tools.xtensa-lx106-elf-gcc-1.20.0-26-gb404fb9-2.path=/Users/Zohar/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2 -verbose /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs-master/examples/SimpleCrashSpiffs/SimpleCrashSpiffs.ino
/Applications/Arduino.app/Contents/Java/arduino-builder -compile -logger=machine -hardware /Applications/Arduino.app/Contents/Java/hardware -hardware /Users/Zohar/Library/Arduino15/packages -tools /Applications/Arduino.app/Contents/Java/tools-builder -tools /Applications/Arduino.app/Contents/Java/hardware/tools/avr -tools /Users/Zohar/Library/Arduino15/packages -built-in-libraries /Applications/Arduino.app/Contents/Java/libraries -libraries /Users/Zohar/Documents/Arduino/libraries -fqbn=esp8266:esp8266:d1:CpuFrequency=80,VTable=flash,FlashSize=4M1M,LwIPVariant=v2mss536,Debug=Disabled,DebugLevel=None
,FlashErase=none,UploadSpeed=230400 -ide-version=10812 -build-path /var/folders/g/4t6g_8941x0lm6jypsg477m0000gp/T/arduino_build_284113 -warnings=none -build-cache /var/folders/g/4t6g_8941x0lm6jypsg477m0000gp/T/arduino_cache_347838 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.mkspiffs.path=/Users/Zohar/Library/Arduino15/packages/esp8266/tools/mkspiffs/0.2.0 -prefs=runtime.tools.mkspiffs-0.2.0.path=/Users/Zohar/Library/Arduino15/packages/esp8266/tools/mkspiffs/0.2.0 -prefs=runtime.tools.esptool.path=/Users/Zohar/Library/Arduino15/packages/esp8266/tools/esptool/0.4.13 -prefs=runtime.tools.esptool-0.4.13.path=/Users/Zohar/Library/Arduino15/packages/esp8266/tools/esptool/0.4.13 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=/Users/Zohar/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2 -prefs=runtime.tools.xtensa-lx106-elf-gcc-1.20.0-26-gb404fb9-2.path=/Users/Zohar/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2 -verbose /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs-master/examples/SimpleCrashSpiffs/SimpleCrashSpiffs.ino
Using board 'd1' from platform in folder: /Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2
Using core 'esp8266' from platform in folder: /Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2
Detecting libraries used...
/Users/Zohar/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++ -D__ets
-DICACHE_FLASH -U__STRICT_ANSI
-I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/include -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/libc/xtensa-lx106-elf/include -I/var/folders/g/4t6g_8941x0lm6jypsg477m0000gp/T/arduino_build_284113/core -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DARDUINO=10812 -DARDUINO_ESP8266_WEMOS_D1R1 -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD="ESP8266_WEMOS_D1R1"" -DESP8266 -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266 -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/variants/d1 /var/folders/g/4t6g_8941x0lm6jypsg477m0000gp/T/arduino_build_284113/sketch/SimpleCrashSpiffs.ino.cpp -o /dev/null
Alternatives for EspSaveCrashSpiffs.h: [[email protected] [email protected]]
ResolveLibrary(EspSaveCrashSpiffs.h)
-> candidates: [[email protected] [email protected]]
/Users/Zohar/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++ -D__ets
-DICACHE_FLASH -U__STRICT_ANSI
-I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/include -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/libc/xtensa-lx106-elf/include -I/var/folders/g/4t6g_8941x0lm6jypsg477m0000gp/T/arduino_build_284113/core -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DARDUINO=10812 -DARDUINO_ESP8266_WEMOS_D1R1 -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD="ESP8266_WEMOS_D1R1"" -DESP8266 -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266 -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/variants/d1 -I/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src /var/folders/g/4t6g_8941x0lm6jypsg477m0000gp/T/arduino_build_284113/sketch/SimpleCrashSpiffs.ino.cpp -o /dev/null
/Users/Zohar/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++ -D__ets
-DICACHE_FLASH -U__STRICT_ANSI
-I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/include -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/libc/xtensa-lx106-elf/include -I/var/folders/g/4t6g_8941x0lm6jypsg477m0000gp/T/arduino_build_284113/core -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DARDUINO=10812 -DARDUINO_ESP8266_WEMOS_D1R1 -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD="ESP8266_WEMOS_D1R1"" -DESP8266 -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266 -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/variants/d1 -I/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp -o /dev/null
Generating function prototypes...
/Users/Zohar/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++ -D__ets
-DICACHE_FLASH -U__STRICT_ANSI__ -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/include -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/libc/xtensa-lx106-elf/include -I/var/folders/_g/_4t6g_8941x0lm6jypsg477m0000gp/T/arduino_build_284113/core -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DARDUINO=10812 -DARDUINO_ESP8266_WEMOS_D1R1 -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD="ESP8266_WEMOS_D1R1"" -DESP8266 -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266 -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/variants/d1 -I/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src /var/folders/_g/_4t6g_8941x0lm6jypsg477m0000gp/T/arduino_build_284113/sketch/SimpleCrashSpiffs.ino.cpp -o /var/folders/g/4t6g_8941x0lm6jypsg477m0000gp/T/arduino_build_284113/preproc/ctags_target_for_gcc_minus_e.cpp
/Applications/Arduino.app/Contents/Java/tools-builder/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /var/folders/g/4t6g_8941x0lm6jypsg477m0000gp/T/arduino_build_284113/preproc/ctags_target_for_gcc_minus_e.cpp
Compiling sketch...
/Users/Zohar/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++ -D__ets
-DICACHE_FLASH -U__STRICT_ANSI
-I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/include -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/libc/xtensa-lx106-elf/include -I/var/folders/_g/_4t6g_8941x0lm6jypsg477m0000gp/T/arduino_build_284113/core -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DARDUINO=10812 -DARDUINO_ESP8266_WEMOS_D1R1 -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD="ESP8266_WEMOS_D1R1"" -DESP8266 -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266 -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/variants/d1 -I/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src /var/folders/g/4t6g_8941x0lm6jypsg477m0000gp/T/arduino_build_284113/sketch/SimpleCrashSpiffs.ino.cpp -o /var/folders/g/4t6g_8941x0lm6jypsg477m0000gp/T/arduino_build_284113/sketch/SimpleCrashSpiffs.ino.cpp.o
Compiling libraries...
Compiling library "EspSaveCrashSpiffs"
/Users/Zohar/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++ -D__ets
-DICACHE_FLASH -U__STRICT_ANSI
-I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/include -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/libc/xtensa-lx106-elf/include -I/var/folders/_g/_4t6g_8941x0lm6jypsg477m0000gp/T/arduino_build_284113/core -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DARDUINO=10812 -DARDUINO_ESP8266_WEMOS_D1R1 -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD="ESP8266_WEMOS_D1R1"" -DESP8266 -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266 -I/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/variants/d1 -I/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp -o /var/folders/_g/_4t6g_8941x0lm6jypsg477m0000gp/T/arduino_build_284113/libraries/EspSaveCrashSpiffs/EspSaveCrashSpiffs.cpp.o
/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp: In function 'void saveToSpiffsFile(char*, const char*)':
/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:99:49: error: invalid conversion from 'char*' to 'const uint8_t* {aka const unsigned char*}' [-fpermissive]
fileCrashFile.write(content, strlen(content));

                                             ^

In file included from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.h:43:0,
from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:39:
/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/FS.h:55:12: error: initializing argument 1 of 'virtual size_t fs::File::write(const uint8_t*, size_t)' [-fpermissive]
size_t write(const uint8_t buf, size_t size) override;
^
/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp: In function 'void custom_crash_callback(rst_info
, uint32_t, uint32_t)':
/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:164:53: error: invalid conversion from 'char*' to 'const uint8_t* {aka const unsigned char*}' [-fpermissive]
fileCrashFile.write(tmpBuffer, strlen(tmpBuffer));

                                                 ^

In file included from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.h:43:0,
from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:39:
/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/FS.h:55:12: error: initializing argument 1 of 'virtual size_t fs::File::write(const uint8_t*, size_t)' [-fpermissive]
size_t write(const uint8_t buf, size_t size) override;
^
/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:169:53: error: invalid conversion from 'char
' to 'const uint8_t* {aka const unsigned char*}' [-fpermissive]
fileCrashFile.write(tmpBuffer, strlen(tmpBuffer));

                                                 ^

In file included from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.h:43:0,
from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:39:
/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/FS.h:55:12: error: initializing argument 1 of 'virtual size_t fs::File::write(const uint8_t*, size_t)' [-fpermissive]
size_t write(const uint8_t buf, size_t size) override;
^
/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:192:55: error: invalid conversion from 'char
' to 'const uint8_t* {aka const unsigned char*}' [-fpermissive]
fileCrashFile.write(tmpBuffer, strlen(tmpBuffer));

                                                   ^

In file included from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.h:43:0,
from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:39:
/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/FS.h:55:12: error: initializing argument 1 of 'virtual size_t fs::File::write(const uint8_t*, size_t)' [-fpermissive]
size_t write(const uint8_t buf, size_t size) override;
^
/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:200:57: error: invalid conversion from 'char
' to 'const uint8_t* {aka const unsigned char*}' [-fpermissive]
fileCrashFile.write(tmpBuffer, strlen(tmpBuffer));

                                                     ^

In file included from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.h:43:0,
from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:39:
/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/FS.h:55:12: error: initializing argument 1 of 'virtual size_t fs::File::write(const uint8_t*, size_t)' [-fpermissive]
size_t write(const uint8_t buf, size_t size) override;
^
/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:218:45: error: invalid conversion from 'const char
' to 'const uint8_t* {aka const unsigned char*}' [-fpermissive]
fileCrashFile.write("\n", strlen("\n"));

                                         ^

In file included from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.h:43:0,
from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:39:
/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/FS.h:55:12: error: initializing argument 1 of 'virtual size_t fs::File::write(const uint8_t*, size_t)' [-fpermissive]
size_t write(const uint8_t buf, size_t size) override;
^
/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:222:69: error: invalid conversion from 'const char
' to 'const uint8_t* {aka const unsigned char*}' [-fpermissive]
fileCrashFile.write("<<<stack<<<\n\n", strlen("<<<stack<<<\n\n"));

                                                                 ^

In file included from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.h:43:0,
from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:39:
/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/FS.h:55:12: error: initializing argument 1 of 'virtual size_t fs::File::write(const uint8_t*, size_t)' [-fpermissive]
size_t write(const uint8_t buf, size_t size) override;
^
/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp: In constructor 'EspSaveCrashSpiffs::EspSaveCrashSpiffs(char
)':
/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:301:64: error: invalid conversion from 'char*' to 'const uint8_t* {aka const unsigned char*}' [-fpermissive]
lastFileNameFile.write(nextFilePath, strlen(nextFilePath));

                                                            ^

In file included from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.h:43:0,
from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:39:
/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/FS.h:55:12: error: initializing argument 1 of 'virtual size_t fs::File::write(const uint8_t*, size_t)' [-fpermissive]
size_t write(const uint8_t buf, size_t size) override;
^
/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp: In member function 'bool EspSaveCrashSpiffs::removeFile(uint32_t)':
/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:622:74: error: invalid conversion from 'char
' to 'const uint8_t* {aka const unsigned char*}' [-fpermissive]
lastFileNameFile.write(latestFilePath, strlen(latestFilePath));

                                                                      ^

In file included from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.h:43:0,
from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:39:
/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/FS.h:55:12: error: initializing argument 1 of 'virtual size_t fs::File::write(const uint8_t*, size_t)' [-fpermissive]
size_t write(const uint8_t buf, size_t size) override;
^
/Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:668:68: error: invalid conversion from 'char
' to 'const uint8_t* {aka const unsigned char*}' [-fpermissive]
lastFileNameFile.write(latestFilePath, strlen(latestFilePath));

                                                                ^

In file included from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.h:43:0,
from /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs/src/EspSaveCrashSpiffs.cpp:39:
/Users/Zohar/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/FS.h:55:12: error: initializing argument 1 of 'virtual size_t fs::File::write(const uint8_t*, size_t)' [-fpermissive]
size_t write(const uint8_t *buf, size_t size) override;
^
Multiple libraries were found for "EspSaveCrashSpiffs.h"
Used: /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs
Not used: /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs-master
Using library EspSaveCrashSpiffs at version 0.1.0 in folder: /Users/Zohar/Documents/Arduino/libraries/EspSaveCrashSpiffs
exit status 1
Error compiling for board WeMos D1 R1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.