Chat freely about anything...

User avatar
By Noam76
#73152 Hello everyone,
I add to my code the json config file to save some variables and read them on the setup.
I use this example, https://github.com/esp8266/Arduino/blob/master/libraries/esp8266/examples/ConfigFile/ConfigFile.ino

I save my variables by a web form on the spiffs, by clicking the submit button.

When I add the load config on the setup, I receive an exception error
Exception (29):
epc1=0x40207cea epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000

ctx: cont
sp: 3fff0800 end: 3fff0b20 offset: 01a0

>>>stack>>>
3fff09a0: 00000018 00000001 3fff22dc 40207c5a
3fff09b0: 3ffe88f8 3fff09c0 000000c8 00000018
3fff09c0: 3fff09b0 3fff09c8 00000000 3fff22dc
3fff09d0: 00000002 3fff22eb 3fff2360 4020376c
3fff09e0: 00000000 00000000 3fff09f6 3fff09f0
3fff09f0: 0000001e 017c0429 0001c200 00000030
3fff0a00: 00100000 00002000 00100000 00000100
3fff0a10: feefeffe feefeffe feefeffe 00000020
3fff0a20: 00000001 000000fc 3fff2360 40202238
3fff0a30: 3fff0a70 00000000 3fff24fc 3fff27bc
3fff0a40: feefeffe feefeffe feefeffe 00000578
3fff0a50: 000000b4 3fff2360 3fff235c 4020cead
3fff0a60: 00000578 4020da34 3ffefac8 401004d8
3fff0a70: 4020d02c 00000001 3ffe8b99 4020d938
3fff0a80: 00100000 00000017 3ffe8f50 00000000
3fff0a90: 000003e8 00000018 3fff229c 3fff148c
3fff0aa0: 3fff09b0 3fff22f4 3fff22ef 4020b90a
3fff0ab0: 00000000 3fff2360 3ffefac8 4020b938
3fff0ac0: feefeffe 3ffefac8 3ffefac8 3ffefaf4
3fff0ad0: 3fffdad0 3ffefac8 3ffefac8 40207e05
3fff0ae0: feefeffe feefeffe feefeffe feefeffe
3fff0af0: feefeffe feefeffe feefeffe 3ffefaf4
3fff0b00: 3fffdad0 00000000 3ffefaec 4020c3e0
3fff0b10: feefeffe feefeffe 3ffefb00 40100718
<<<stack<<<

ets Jan 8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v3de0c112


on the debug
Exception 29: StoreProhibited: A store referenced a page mapped with an attribute that does not permit stores
Decoding 14 results
0x40207cea: loadConfig() at C:\Users\SA\Documents\Arduino\_arduino-1.8.5\libraries\EspSpiffs_New/EspSpiffs_New.ino line 401
0x40207c5a: get_impl at C:\Users\SA\Documents\Arduino\_arduino-1.8.5\libraries\libraries\ArduinoJson\src/ArduinoJson/JsonObject.hpp line 310
: (inlined by) get at C:\Users\SA\Documents\Arduino\_arduino-1.8.5\libraries\libraries\ArduinoJson\src/ArduinoJson/JsonObject.hpp line 180
: (inlined by) as at C:\Users\SA\Documents\Arduino\_arduino-1.8.5\libraries\libraries\ArduinoJson\src/ArduinoJson/JsonObjectSubscript.hpp line 61
: (inlined by) operator char at C:\Users\SA\Documents\Arduino\_arduino-1.8.5\libraries\libraries\ArduinoJson\src/ArduinoJson/Deserialization/../JsonVariantCasts.hpp line 49
: (inlined by) loadConfig() at C:\Users\SA\Documents\Arduino\_arduino-1.8.5\libraries\EspSpiffs_New/EspSpiffs_New.ino line 401
0x4020376c: spiffs_obj_lu_scan at C:\Users\SA\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs/spiffs_nucleus.c line 941
0x40202238: SPIFFS_mount at C:\Users\SA\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs/spiffs_hydrogen.c line 980
0x4020cead: SPIFFSImpl::_tryMount() at C:\Users\SA\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/spiffs_api.h line 240
0x4020da34: SPIFFSImpl::_check_cb(spiffs_check_type, spiffs_check_report, unsigned int, unsigned int) at C:\Users\SA\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/spiffs_api.h line 242
0x401004d8: malloc at C:\Users\SA\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\umm_malloc/umm_malloc.c line 1664
0x4020d02c: spiffs_hal_read(unsigned int, unsigned int, unsigned char*) at C:\Users\SA\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/spiffs_hal.cpp line 45
0x4020d938: Print::write(unsigned char const*, unsigned int) at C:\Users\SA\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.cpp line 38
0x4020b90a: Print::write(char const*) at C:\Users\SA\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.cpp line 182
0x4020b938: Print::println() at C:\Users\SA\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.cpp line 182
0x40207e05: setup at C:\Users\SA\Documents\Arduino\_arduino-1.8.5\libraries\EspSpiffs_New/EspSpiffs_New.ino line 447
0x4020c3e0: loop_wrapper at C:\Users\SA\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/core_esp8266_main.cpp line 56
0x40100718: cont_norm at C:\Users\SA\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/cont.S line 109


my setup code
Code: Select allvoid setup()
{
 Serial.begin(115200);
 Serial.println("...");
 Serial.println("Mounting FS...");
  if (!SPIFFS.begin())
  {
   Serial.println("Failed to mount file system");
   return;
  }
 else
  {Serial.println("Mounting FS Successfully");}
 
  // Read Data From SPIFFS File or EEPROM
  if (!loadConfig())
   {Serial.println("Failed to load config");}
 else
  {Serial.println("Config loaded");}
 
 WiFi.begin(ssid, password);
 Serial.println("");
 // Wait for connection
 while (WiFi.status() != WL_CONNECTED)
 {
  delay(500);
  Serial.print(".");
  }
 Serial.println("");
 Serial.print("Connected to ");
 Serial.println(ssid);
 Serial.print("IP address: ");
 Serial.println(WiFi.localIP());
 Serial.println("TCP server started");

 initWebserver();
 // Start TCP (HTTP) server
 server.begin();
}