These are chat archives for esp8266/Arduino

Apr 2016
Apr 24 2016 00:34
so is it possible to use the NMI timer with arduino? I tried a while back but was never successful.
Apr 24 2016 08:36
@fmgomes I too have seen the varying boot mode:(3,7 and 3,6) and that was using version 2.1.0. Whilst the cause or reason for the 3 is explained in numerous places on the web, I have never found the reason or cause of 3.6 or 3.7. It woould be good if anyone could clarify what the 6 or 7 means, I believe 7 is the correct one for a trouble free boot up and for the program to run properly i.e. bootmode: (3,7).
Apr 24 2016 11:22
@skorokithakis wifimanager would give you a configuration portal, so you don t need to hardcode the values in the config file. ssid/pass and other custom params you might need.
Stavros Korokithakis
Apr 24 2016 11:24
Hmm, I've never used it, do you have an example?
see this example
you can add custom params and save it to a json in fs
been meaning to do one for eeprom for ages, but my hobby time got shot in the leg, twice, in the last few weeks
Helio Machado
Apr 24 2016 21:00
@me-no-dev: I'm having a WDT reboot when serving empty file from SPIFFS. Please confirm me that is not a layer-8 error.
Me No Dev
Apr 24 2016 21:02
you mean 0 bytes file?
do you get a stack trace?
Helio Machado
Apr 24 2016 21:20
@me-no-dev: Yes. Pasting...

Exception (2):
epc1=0x3ffe884c epc2=0x00000000 epc3=0x00000000 excvaddr=0x3ffe884c depc=0x00000000

ctx: sys 
sp: 3ffffa00 end: 3fffffb0 offset: 01a0

3ffffba0:  00000000 00000080 00000000 00000f23  
3ffffbb0:  00000002 3ffffc0e 40205808 00000000  
3ffffbc0:  00000002 3ffffc1e 00000020 00000020  
3ffffbd0:  00000001 3fff3d00 3fff09d8 40204839  
3ffffbe0:  00008001 000000f8 ffffffff 6f632f01  
3ffffbf0:  2e736564 00000004 3ffffc50 3ffffc61  
3ffffc00:  4010676c 00000000 3fff3c72 00000010  
3ffffc10:  3fff3af4 00000001 000000a5 00300000  
3ffffc20:  00002000 00000000 00000000 3ffffbb0  
3ffffc30:  3fff1ecc 3ffffc8e 3fff3c80 3fff09d8  
3ffffc40:  3ffffc60 3ffffc50 00000004 3ffffd0c  
3ffffc50:  00000010 3ffe8918 3fff3c72 00000000  
3ffffc60:  000000a5 ff000000 3ffffd0c 402116f9  
3ffffc70:  3fff0a70 000005b9 000005b9 40203a01  
3ffffc80:  3fff0a70 00002fa0 3fff0a70 40203b06  
3ffffc90:  000000a0 3fff3e64 3fff3dcc 40203c13  
3ffffca0:  00000020 00000000 00000010 40203d9e  
3ffffcb0:  00000094 00000001 3ffffd10 402116f9  
3ffffcc0:  3ffe8f22 00000000 3ffffd10 4021174e  
3ffffcd0:  3ffe8f20 3ffffd60 3ffffd10 4021177e  
3ffffce0:  00000000 3fff3bdc 3ffffd10 402117cc  
3ffffcf0:  3ffe8f22 00000000 000000a2 40203db4  
3ffffd00:  00000000 00000000 00000096 4020c777  
3ffffd10:  00000000 00000000 00000000 402038e4  
3ffffd20:  00000001 3fff3b24 3fff3c4c 40203fa0  
3ffffd30:  3fff3474 3fff3e64 3ffffd60 40211844  
3ffffd40:  00000010 3fff3474 3fff3b24 3ffffe0c  
3ffffd50:  00000001 3fff3474 3fff3af4 4020c1f4  
3ffffd60:  00000000 00000000 00000000 00000000  
3ffffd70:  00000000 3fff09cc 3fff3474 4020b584  
3ffffd80:  00000001 3fff09cc 3ffffdb0 40211880  
3ffffd90:  00000010 00000000 3fff3474 3ffffe0c  
3ffffda0:  00000001 3fff09cc 3fff3474 4020b600  
3ffffdb0:  3fff39e4 0000000f 00000000 3fff39c4  
3ffffdc0:  0000000f 0000000a 3ffffe00 4021177e  
3ffffdd0:  3ffffe00 3fff3474 3ffffe00 402117cc  
3ffffde0:  3ffe8f22 3fff3474 3ffffe00 00000149  
3ffffdf0:  3ffeb3c8 3fff3474 3fff3474 402101eb  
3ffffe00:  3fff3754 0000000f 00000000 3fff3734  
3ffffe10:  0000000f 0000000a 3fff3a0c 40203fa0  
3ffffe20:  00000000 00000000 3fff3474 4020d4d5  
3ffffe30:  00000000 00000001 3fff3488 4021174e  
3ffffe40:  3ffe8f22 3fff3474 3fff3488 00000147  
3ffffe50:  3ffeb3c8 0000014a 3fff3474 4020ba78  
3ffffe60:  3ffeb3c8 0000014a 3fff3474 40211b98  
3ffffe70:  00000037 014e50f1 3ffffeb0 402014e0  
3ffffe80:  3ffeb3c8 0000014a 3fff3474 4020bade  
3ffffe90:  00000000 00000000 3fff3474 4020bc9f  
3ffffea0:  000000e8 00000000 3fff3474 4020c048  
3ffffeb0:  3fff0a70 000004de 000004de 402038e4  
3ffffec0:  3fff0a70 0000038c 0000038c 402038e4  
3ffffed0:  00000020 3ffee704 3fff2894 3fff251c  
3ffffee0:  3fff326c 00000000 3fff33b4 4020be6d  
3ffffef0:  3fff0a70 0000031c 3fff33b4 4020a06d  
3fffff00:  3fff3408 00000000 3fff2514 40221599  
3fffff10:  4022261e 3fff326c 3ffee704 3ffee6e0  
3fffff20:  3ffee704 00000000 3fff326c 4020a0db  
3fffff30:  402220dd 3fff326c 00000000 402221db  
3fffff40:  967e5a39 00001971 0000014a 00000018  
3fffff50:  00000000 0000014a 4022103e 3fff251c  
3fffff60:  3fff113c 3ffeb3a0 3fff113c 4022037f  
3fffff70:  3fff113c 00000014 4022092a 3fff251c  
3fffff80:  3fff113c 3fffdc90 3fff11dc 00000001  
3fffff90:  4021c40b 3fff251c 00000000 4020155f  
3fffffa0:  40000f49 3fffdab0 3fffdab0 40000f49  
Me No Dev
Apr 24 2016 21:25
use this to decode it
Helio Machado
Apr 24 2016 21:26
Should I use Arduino IDE, or can I use PlatformIO?
Me No Dev
Apr 24 2016 21:26
Arduino IDE
it's a plugin for it like the one for uploading SPIFFS
Helio Machado
Apr 24 2016 21:28
But, I've built the code with PlatformIO. Where does Arduino IDE store the compilation results?
Me No Dev
Apr 24 2016 21:32
open the ide, enable verbose output for build in IDE's settings
then build an empty sketch (select the proper device)
and it will tell you the location of the temp folder that it used
Helio Machado
Apr 24 2016 21:33
Decoding 49 results
0x40205808: spiffs_object_find_object_index_header_by_name_v at spiffs_nucleus.c line ?
0x40204839: spiffs_stat_pix at spiffs_hydrogen.c line ?
0x4010676c: printf at ?? line ?
0x402116f9: String::changeBuffer(unsigned int) at ?? line ?
0x40203a01: check_poison$part$0$constprop$4 at umm_malloc.c line ?
0x40203b06: check_poison_block at umm_malloc.c line ?
0x40203c13: check_poison_all_blocks at umm_malloc.c line ?
0x40203d9e: malloc at ?? line ?
0x402116f9: String::changeBuffer(unsigned int) at ?? line ?
0x4021174e: String::reserve(unsigned int) at ?? line ?
0x4021177e: String::copy(char const*, unsigned int) at ?? line ?
0x402117cc: String::String(char const*) at ?? line ?
0x40203db4: malloc at ?? line ?
0x4020c777: AsyncAbstractResponse::_ack(AsyncWebServerRequest*, unsigned int, unsigned int) at ?? line ?
0x402038e4: _umm_free at umm_malloc.c line ?
0x40203fa0: free at ?? line ?
0x40211844: String::move(String&) at ?? line ?
0x4020c1f4: AsyncAbstractResponse::_respond(AsyncWebServerRequest*) at ?? line ?
0x4020b584: AsyncWebServerRequest::send(AsyncWebServerResponse*) at ?? line ?
0x40211880: String::operator=(String const&) at ?? line ?
0x4020b600: AsyncWebServerRequest::send(fs::FS&, String, String, bool) at ?? line ?
0x4021177e: String::copy(char const*, unsigned int) at ?? line ?
0x402117cc: String::String(char const*) at ?? line ?
0x402101eb: std::_Function_handler ::_M_invoke(std::_Any_data const&, AsyncWebServerRequest*) at main.cpp line ?
0x40203fa0: free at ?? line ?
0x4020d4d5: AsyncCallbackWebHandler::handleRequest(AsyncWebServerRequest*) at ?? line ?
0x4021174e: String::reserve(unsigned int) at ?? line ?
0x4020ba78: AsyncWebServerRequest::_parseLine() at ?? line ?
0x40211b98: String::concat(char) at ?? line ?
0x402014e0: operator delete(void*) at ?? line ?
0x4020bade: AsyncWebServerRequest::_parseByte(unsigned char) at ?? line ?
0x4020bc9f: AsyncWebServerRequest::_onData(void*, unsigned int) at ?? line ?
0x4020c048: AsyncWebServerRequest::AsyncWebServerRequest(AsyncWebServer*, AsyncClient*) at ?? line ?
0x402038e4: _umm_free at umm_malloc.c line ?
0x402038e4: _umm_free at umm_malloc.c line ?
0x4020be6d: std::_Function_handler ::_M_invoke(std::_Any_data const&, void*, AsyncClient*, void*, unsigned int) at WebRequest.cpp line ?
0x4020a06d: AsyncClient::_recv(tcp_pcb*, pbuf*, signed char) at ?? line ?
0x40221599: pbuf_alloc at ?? line ?
0x4022261e: tcp_input at ?? line ?
0x4020a0db: AsyncClient::_s_recv(void*, tcp_pcb*, pbuf*, signed char) at ?? line ?
0x402220dd: tcp_input at ?? line ?
0x402221db: tcp_input at ?? line ?
0x4022103e: ip_input at ?? line ?
0x4022037f: etharp_find_addr at ?? line ?
0x4022092a: ethernet_input at ?? line ?
0x4021c40b: system_get_sdk_version at ?? line ?
0x4020155f: loop_task(ETSEventTag*) at core_esp8266_main.cpp line ?
Is that what you want?
Is this output well?
Me No Dev
Apr 24 2016 21:34
how did you run it though?
Helio Machado
Apr 24 2016 21:35
I built a empty sketch, seen the build folder, and replaced the elf and the bin of the empty sketch with the ones from the platformio build.
Me No Dev
Apr 24 2016 21:36
funny it does not show the line numbers
but yes that should be the correct output
Helio Machado
Apr 24 2016 21:36
Maybe @ivankravets should think how to implement the stack trace decoder. If he does the interface, I'll do the backend.
Me No Dev
Apr 24 2016 21:36
exception seem to be in spiffs itself
Helio Machado
Apr 24 2016 21:37
Maybe my bad, adding a conditional to see if file "exists" (even if I upload it).
Helio Machado
Apr 24 2016 21:44
Spiffy said that the file exists.
@me-no-dev: Maybe you could try to reproduce the problem?
webServer.on("/memory.txt", [](AsyncWebServerRequest *request) {
    if(SPIFFS.exists("/codes.txt")) {Serial.println("Existssssssssssss");}
    request->send(SPIFFS, "/codes.txt", String(), true);
Me No Dev
Apr 24 2016 22:07
request->send(SPIFFS, "/codes.txt", String(), true); checks if the file exists also
maybe something is wrong with the file or spiffs itself