These are chat archives for esp8266/Arduino

3rd
Sep 2015
Anwar Hahj Jefferson-George
@anwarhahjjeffersongeorge
Sep 03 2015 19:05 UTC
on a wdt reset message, what does the line load 0x...... indicate
Markus
@Links2004
Sep 03 2015 19:25 UTC
thats the Hardware (rom) loading the bootloader from flash, you will see this message always, not only on wdt.
Michael Miller
@Makuna
Sep 03 2015 19:41 UTC
@igrr @Links2004 @sticilface As of the latest findings from SDK people that sticilface communicated to me, total stopping of all interrupts is not supported and will cause resets in the wifi core.
With this new knowledge, I believe we should change the NoInterrupts to set the level at 5 instead of 15, to allow these sensitive ISRs in the WiFi core to continue to function.
Ivan Grokhotkov
@igrr
Sep 03 2015 19:42 UTC
actually all interrupts are level 1, except NMI which is level 2
so setting it to 5 or 15 doesn't matter
what i do in flash access functions, is masking out some interrupts
works quite well i must say
oh, sorry, debug interrupt is level 2 and nmi is level 3
Michael Miller
@Makuna
Sep 03 2015 19:52 UTC
the whole change to use the rsil was to allow for bitbanging since those functions didn't disable all interrupts, now that we have been told we can't disable all interrupts ever (as long as you want the networking not to crash) then using RSIL isn't as important anymore. But it is still the fastest way (no core function call overhead).
Ivan Grokhotkov
@igrr
Sep 03 2015 19:53 UTC
we can still inline this, it's basically just rsr intenable, wsr intenable
plus an or and xor in between
Michael Miller
@Makuna
Sep 03 2015 19:54 UTC
so @igrr, do we want to set it level 2 then (rsil will disable all interrupts below the number, not at the number)
@igrr the problem with that is between the rsr and wsr, someone could interrupt your code and change the values and you would be putting the wrong thing back.
Ivan Grokhotkov
@igrr
Sep 03 2015 19:55 UTC
the point is, if you disable wifi interrupts for more than a few tens of microseconds, wifi stack will crash.
and wifi interrupt is a level 1 interrupt.
Michael Miller
@Makuna
Sep 03 2015 19:56 UTC
not the one they are talking about
Ivan Grokhotkov
@igrr
Sep 03 2015 19:56 UTC
which one are they talking about then?
Michael Miller
@Makuna
Sep 03 2015 19:56 UTC
they have an ISR that is above 5, as if I put RSIL at 4, they still interrupt the bitbang code.
or at five
Ivan Grokhotkov
@igrr
Sep 03 2015 19:57 UTC
that's weird because as you see it is not listed in core config file.
Michael Miller
@Makuna
Sep 03 2015 19:57 UTC
something internal they are pretty non talkative about.
it also came in with one the latest SDK, if we go back a version or two, there is no problem.
Ivan Grokhotkov
@igrr
Sep 03 2015 19:58 UTC
okay, i'll take a look at the sdk code on the weekend...
Michael Miller
@Makuna
Sep 03 2015 19:59 UTC
sure, go ahead and do what makes sense, as the whole reason I was driving this was to get bitbanging, which we now can't do.
Ivan Grokhotkov
@igrr
Sep 03 2015 20:00 UTC
but that's really weird because ets_intr_lock sets rsil at 3... and i know that if you do ets_intr_lock, it will crash.
need to double-check that.
Michael Miller
@Makuna
Sep 03 2015 20:00 UTC
to get neopixels to work, the only solution is using the hardware isp output with bits as timing, confirmed works, but means only one pin can ever be used.
Markus
@Links2004
Sep 03 2015 20:02 UTC
with neopixels you mean the WS2811/WS2812?
Michael Miller
@Makuna
Sep 03 2015 20:02 UTC
originally ets_intr_lock would not stop the interrupt, this is why I had to change it rsil to get the bitbanging to work. But this was all from investigations from several sdk versions back (june).
@Links2004 yes
I will be merging in the changes into my library shortly to switch from bitbanging to serial hardware.
Markus
@Links2004
Sep 03 2015 20:03 UTC
you can use I2S for control, have read it some how, will search link....
Michael Miller
@Makuna
Sep 03 2015 20:04 UTC
yes, this is the code I am switching to, stiliface ported it for me, I need to merge it in.
Markus
@Links2004
Sep 03 2015 20:04 UTC
k, no search need :)
Michael Miller
@Makuna
Sep 03 2015 20:06 UTC
what I hate is that I had code to update three pins at once with the bitbanging, so you could update 3x the number of pixels in the same time (of course, each is on a different pin). Making the very large count projects work with a high refresh rate. But now its useless if you use networking (!)
Anwar Hahj Jefferson-George
@anwarhahjjeffersongeorge
Sep 03 2015 22:53 UTC
@Links2004 thank you