-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Feature/testbuild core2 5 0 beta1 #2157
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/testbuild core2 5 0 beta1 #2157
Conversation
Created own PIO platform to test 2.5.0-beta1
Disabling dev/test builds for 1 MB chips, since the bin files will be too big to fit on 1 MB modules. We have to decide later how to make the plugins in dev/test state available for 1 MB modules.
|
A test build for people to test. The status is: It compiles :) P003 (pulse), P008 (RF-ID reader) and Servo are left out for now, because we're hitting a limit on iRAM usage. |
|
Thank you @TD-er. Works with:
|
|
I am running it now also on Sonoff POW and POW-r2. I have noticed the LC (loop count) is quite low with core 2.5.0, but the wifi response keeps feeling snappy. |
|
@TD-er , thanks for your effort. |
|
The .bin files are running. Linking .pioenvs\test_ESP8266_4096\firmware.elf |
|
@micropet Indeed, not all sets can be built. |
|
@TD-er, #ifdef CORE_2_5_0 |
|
All versions included in the ZIP file should be able to build using these settings. And you really should make sure to do a clean of the project too. N.B. The define of |
|
Hm, I did a clean and I get the same mistake. |
|
On Arduino IDE on a mac it compiles (after disabling some plugins due to the size) the compiler only complains about line 1971 casting them to however when accessing the webpage it hits a SW WDT: sometimes more content can be sent, sometimes less.... still trying to find why... tried with lwip2 high bandwith and low mem versions... |
|
Have you also tried the pre-compiled ones? Also strange the compiler didn't complain about that modulo operator. It has been in there for a while. |
Yep, seems to work fine... strange... need to find the difference.. especially as it's on a node with only 1 task (system info). So I need to dig deeper why it fails... probably a mem, heap or stack issue, as I do have more plugins enabled (biary size close to max, 98%)...
Agree, no clue why it did not complain before 2.5.0 as the arduino framework is still the same... how should that line really be though? |
return static_cast<int>(round(first)) % static_cast<int>(round(second)); |
As reported here: letscontrolit#2157 (comment)
Must include the "core_250_beta" builds
|
Am I doing something wrong? Linking .pioenvs\test_core_250_beta_ESP8266_4096\firmware.elf |
|
the SW WDT's I'm experiencing seem to happen quite randomly... mainly on the main system info page... calling directly the tools or config page mostly works... probably if the delay is too big (weak signal or similar) and it has to wait too long for a response... so I'm still investigating, just as an update... |
|
I added a few builds in the daily deploy script. (marked with "core_250_beta") so others may also test them. |
|
test_core_250_beta_ESP8266_4096 did not compile: |
|
This one will be merged after diner and putting my daughter to bed. It is mainly the revert of the GPIO stuff, so we can make that one right in a separate branch and test it before merging it and let others see failing rules. etc. |
|
OK, i will test it :) |
|
ok, it seems in ESP-Core for Arduino IDE there is a (new) flag enabled by default at compile time called so now testing if the new core is more stable than 2.4.2 can start. I think this is just for information for other Arduino-IDE self-builders! |
|
It is indeed one of the flags I had to set. See these flags. Top one is the old config, 2nd one is needed for core 2.5.0 Lines 72 to 88 in 02ef853
|
|
Now the source can be compiled, thanks. |
... the dog is still there Plugins:⋄ Hope this helps |
|
Your loop frequency is quite low. |
|
ALso the layer 2 group-key timeout still happen... not quite so often though... |
|
@clumsy-stefan It is better (less worse) with core 2.5.0? ARP packets are also broadcasts. These are needed by switches to know what MAC address is reachable by what port on the switch. |
|
I can't statistically "prove" it, but it seems better than 2.4.2... ARP is already a layer higher, when WiFi is up and running. so when the reported group-key-timeout happens, ARP can't be done at all anymore (as no WiFi connection anymore to the node)... Besides I can see ARP Cache is still valid on the Server and has an entry for the not-reachable node... |
|
@TD-er probably unrelated here and stupid question, but while searching for issues (especially why my loop time are often >2sec.) I saw the main loop in ESPEasy.ino Especially as in this function it tests for
|
|
Finding enabled MQTT controller may return -1. Lines 396 to 404 in ebe1124
And that time of 33+ seconds, do you have deepsleep enabled? I see the |
|
Ah, thanks, didn't see that... Neither, nor... no deepsleep and not the first stat since flashing... and I see regular timings >4sec... also I just saw in the reference http://esp8266.github.io/Arduino/versions/2.0.0/doc/reference.html
so if any of the |
That's why I created the timingstats + webpage. |
yes, that's great, that's why I now now that |
|
The try_connect_host do perform a retry and default timeout is 1000 msec (?) |
|
yes, that's one thing (which obviously can be parametized already now) but I'm more worried about the sending of the values... if the connection is really slow, you can't do anything there as the I'm just experimenting though using |
|
The IP stack will buffer those. |




Some changes had to be made and some plugins disabled, due to exceeding the amount of iRAM available.
That should be taken care of later.
But for now, we are able to test core 2.5.0, since it contains a number of fixes we may really need.
For example this one: esp8266/Arduino#5210
In short, that pull request does change behavior on a low level which will make sure the ESP does receive broadcast messages, or at least will not miss them as often.
One of these broadcast messages are ARP requests, which tell a switch to which port packets should be sent, based on MAC addresses.
If these ARP requests are missed, a switch will throw them out of the ARP cache table and thus replies sent to the ESP will not be delivered.
If the ESP will not receive a reply to a (TCP) packet, it may wait forever and cause either WD resets, or it may be unreachable for other communications like commands or opening the web interface.
These are all issues which have been reported by users over-and-over.
So my hope is the core 2.5.0 will fix at least a number of these issues.