Using the new Arduino IDE for ESP8266 and found bugs, report them here

Moderator: igrr

User avatar
By Joe Job
#52327 On first load if no connection data in spiffs it loads up an AP whre you add the data and it reboots into the script after updating the flash size in ide I now get this:

Code: Select allDecoding 13 results
0x40203e3f: spiffs_page_allocate_data at C:\Users\Usuario\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs/spiffs_nucleus.c line 941
0x40203e3f: spiffs_page_allocate_data at C:\Users\Usuario\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs/spiffs_nucleus.c line 941
0x40203e21: spiffs_page_allocate_data at C:\Users\Usuario\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs/spiffs_nucleus.c line 941
0x40204934: spiffs_object_append at C:\Users\Usuario\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs/spiffs_nucleus.c line 1122
0x40205ad8: spiffs_cache_page_remove_oldest at C:\Users\Usuario\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs/spiffs_cache.c line 86
0x4020246d: spiffs_hydro_write at C:\Users\Usuario\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs/spiffs_hydrogen.c line 980
0x402024e4: spiffs_fflush_cache at C:\Users\Usuario\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs/spiffs_hydrogen.c line 980
0x40210b51: SPIFFSFileImpl::write(unsigned char const*, unsigned int) at C:\Users\Usuario\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/spiffs_api.h line 287
0x40202eb6: SPIFFS_close at C:\Users\Usuario\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs/spiffs_hydrogen.c line 980
0x40210c6c: SPIFFSFileImpl::close() at C:\Users\Usuario\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/spiffs_api.h line 363
0x4020ea7a: swap  at C:\Users\Usuario\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/FS.cpp line 188
:  (inlined by) std::__shared_ptr ::swap(std::__shared_ptr &) at c:\users\usuario\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits/shared_ptr_base.h line 936
:  (inlined by) std::__shared_ptr ::operator=(std::__shared_ptr &&) at c:\users\usuario\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits/shared_ptr_base.h line 860
:  (inlined by) std::shared_ptr ::operator=(std::shared_ptr &&) at c:\users\usuario\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits/shared_ptr.h line 291
:  (inlined by) fs::File::close() at C:\Users\Usuario\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/FS.cpp line 109
0x4020c5b8: ArduinoJson::JsonObject::writeTo(ArduinoJson::Internals::JsonWriter&) const at C:\Users\Usuario\Transporter\TECHNOLOGIES-IoT\Arduino\_Sketches\libraries\ArduinoJson\src/JsonObject.cpp line 44
0x40207d75: operator() at C:\Users\Usuario\Transporter\TECHNOLOGIES-IoT\_TechBubbleProductMasters\Devices\ThermaSenseDS\ThermaSenseDS/ThermaSenseDS.ino line 276
User avatar
By Pablo2048
#52328 Do You have spiffs formatted? Is there enough free heap memory?...
OMG: - can You please provide Your readSpiffs() code? Is there SPIFFS.begin() ? What is the response from SPIFFS.begin() ?
User avatar
By Joe Job
#52331 Spiffs as it is in the script has been functioning on every single device I have ever made, the reason this one is failing now is due to changing the flash size as the flash script told me to. Which ever way I go everything just crashes. Had enough.

Code: Select all
void readSpiffs(){

  if (SPIFFS.begin()) {
    //SPIFFS.format();
    Serial.println(F("Mounted file system!"));
    if (SPIFFS.exists("/TechBubbleConfigs.json")) {
      File configFile = SPIFFS.open("/TechBubbleConfigs.json", "r");
      if (configFile) {
        size_t size = configFile.size();
        std::unique_ptr<char[]> buf(new char[size]);
        configFile.readBytes(buf.get(), size);
        DynamicJsonBuffer jsonBuffer;
        JsonObject& json = jsonBuffer.parseObject(buf.get());
        if (json.success()) {
          if(json["locationID"]!="") {
            locationID = json["locationID"].asString();
          }
          if(json["zoneID"]!="") {
            zoneID = json["zoneID"].asString();
          }
          if(json["deviceID"]!="") {
            deviceID = json["deviceID"].asString();
          }
          if(json["epass"]!="") {
            epass = json["epass"].asString();
          }
          if(json["esid"]!="") {
            esid = json["esid"].asString();
          }
          if(json["deviceName"]!="") {
            strcpy(deviceName, json["deviceName"]);
          }
          if(json["mqttUsername"]!="") {
            strcpy(mqttUsername, json["mqttUsername"]);
          }
          if(json["mqttPassword"]!="") {
            strcpy(mqttPassword, json["mqttPassword"]);
          }
        } else {
          Serial.println(F("Failed to load json config"));
        }
        configFile.close();
      }
    }
  } else {
    Serial.println(F("failed to mount FS"));
  }
}