Skip to content
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

LEAmDNS v2 (optional) #1

Closed
wants to merge 142 commits into from
Closed

LEAmDNS v2 (optional) #1

wants to merge 142 commits into from

Conversation

d-a-v
Copy link

@d-a-v d-a-v commented May 24, 2020

@LaborEtArs This is your sources that I adapted a little bit and that have been confirmed to work (at least V2-Legacy).
I am reluctant to merge my PR (esp8266#7281) because I really don't like to take credit on your valuable changes.
If you merge this one then immediately create a pull request on https://github.com/esp8266/Arduino,
your name will appear instead of mine.

LaborEtArs and others added 30 commits December 2, 2019 19:19
…ard}`, (esp8266#7024)

as proposed by esp8266#6972 (comment).
@ttytyper 's changes have been incorporate into this PR
The build flag ARDUINO_SONOFF_... should now appear as ARDUINO_ESP8266_SONOFF_...
@ttytyper, @mcspr, and @d-a-v thanks!
* Update LEAmDNS.cpp (issue esp8266#6982)

Check m_pUDPContext before calling functions to reset WiFi event callbacks, stop probing ... to close esp8266#6982

* Update LEAmDNS.cpp

Co-authored-by: Earle F. Philhower, III <earlephilhower@yahoo.com>
…xcessive yields (esp8266#6802)

* optimistic_yield is a yield, not a delay, and avoids yielding if last yield has occurred recently enough.

* Suppress an unused argument warning.

Co-authored-by: Earle F. Philhower, III <earlephilhower@yahoo.com>
Updated eboot.ld to not fill with zeros through the CS field
on its way to the CRC.
Added size test to elf2bin.py
* Code size optimisation of ESP.getResetReason()

doing if/else snakes for something that is a switch/case
is wasteful, as it repeatedly evaluates the same if() condition.
Also repeating strcpy_P is adding code bloat.

This simplification reduces size from 111 to 41 bytes.

* add break statement also to default case
sendRequest has a major problem when sending a big payload, the comparator in the IF loop has its two operators changed, so the last part of payload is never sent
Updated eboot.ld to not fill with zeros through the CS field
on its way to the CRC.
Added size test to elf2bin.py
…ion.

Greatly reduces error rate (half, or 0 zero errors, depends on in/out ranges) for round-trip mapping at the same performance.
… x us, but yield only every x us between optimistic_yield calls.
…rval_us can overflow - 26s at 160MHz CPU clock.
…uino>, have to resort to preprocessor definition for inlining.
Changed ets_putc to ets_uart_putc1 to better newline handling.
…t-update

Updated stack offsets for postmortem stack dump.
earlephilhower and others added 29 commits May 4, 2020 14:22
* Deprecate SPIFFS, move examples to LittleFS

SPIFFS has been a great filesystem, but it has significant problems in
many cases (and it's also pretty slow).  Development seems to have
slowed/stopped on the upstream version, and we're not able to provide
support or fix the known issues with it as-is.

Deprecate SPIFFS variable.

Update all examples to use LittleFS instead of SPIFFS.

Also, minor cleanup on very old examples which has obsolete delays
waiting for the Serial port to come up, or which were stuck at 9600 baud
because of their ancient AVR heritage.

Fixes esp8266#7095

* Remove leftover debug code

* Clean up comments in some examples

* Update documentation on SPIFFS deprecation

* Fix host tests to avoid deprecation warnings

* Fix cut-n-paste error

* Restore SpeedTest.ino, adjust to allow custom FSes

Co-authored-by: Develo <deveyes@gmail.com>
* Update release instructions to reflect reality, add copy-paste checklist to ease issue.
Fix forgotten text edit for the latest version
* Because of git problems, start from a new fork and create a new PR. This was PR esp8266#6457

* Style update to pass Travis

* Update ReuseConnectionV2.ino

* fix + enforce testing http code

per @earlephilhower review

* Close connection before ::connecting on HTTP/1.0

HTTPClient never actually closes the TCP connection on its own. It will leave the TCP connection open unless you explicitly do a getString which makes a StreamString and stuffs it with the HTTP server response, at which point the HTTP server itself will close the connection.

If you check the HTTP error code and find failure, unless you do a getString and throw it away, it won't disconnect.  Even in HTTP/1.0 or in cases when you haven't enabled _reuse.

Change the logic in ::connect to only reuse the connection when it is specifically allowed.  Otherwise, fall back to re-connection.

* Adjust example per request

Do single URL get in each loop, avoid infinite for loop at end.

* Fix astyle

* Clean up final pass notice

* Fix example syntax error

Editing code in a web textbox without running it is a painful process.


Co-authored-by: Earle F. Philhower, III <earlephilhower@yahoo.com>
The BearSSL SigningVerifier was moved to the 2nd stack because some uses
required much more stack than available on the normal stack.

Add a reference to the second stack on object creation (which will
allocate it, if there is no BSSL stack already allocated), and delete
that reference on exit.

Fixes esp8266#7288
* Server Sent Events example - issue esp8266#7008

Illustrates the use of SSE using ESP8266WebServer

* Update ServerSentEvents.ino

* Create ServerSentEventsMultiClient.ino

* sync

* Update ServerSentEvents.ino

* Update ServerSentEvents.ino

Fix  missing variables in printf statments
Fix subscriptioncount not decreasing
Fix SSEBroadcastState (argument sequence wrong)

* Undo the library additions, move to current master

* Fix compiler warning

* Address review and fix multi-sensor updates

Address points of @devyte's code review:
* Use IPAddress vs. uint32_t
* Refactor the URL parsing logic to use strlen vs. sizeof, since there
  was some confusion in the original (correct) version
* Minimize copies of WiFiClients while in use
* Use byref access for sensor updates

Fix multi-sensor updates
* Create an update Ticker for each sensor, because the original code
  only had one whose callback was overridden by sensorB, meaning sensorA
  never changed

* Fix IPv6 build errors

* Remove WiFiClient extraneous copy

Avoid duplicating WiFiClient by using the WiFiClient object embedded in
the subscriber[] array instead.

Co-authored-by: Earle F. Philhower, III <earlephilhower@yahoo.com>
Co-authored-by: Anders <andlo151@student.liu.se>
* Allow non-aligned PSTR()

* Add PSTR4() macro to first 4-bytes aligned PSTR
* Flash size reduction for mime-type
* moving from fixed size strings to standard PROGMEM strings
* adding `#define MIMETYPE_MINIMAL` to reduce the footprint to
  mime-types that are strictly necessary

* Added MIMETYPE_MINIMAL conditionals
Manually merged the PATCH files from upstream up until Jan 26, 2020.

Looks to only fix a single bug related to reading past the end of a file
in certain cases.  Other new features (secure erase) are included to
make it easier to merge any future releases, but are not enabled in the
core.

Merges included:
20fc6df0ab2bee391961b5f823a327887abc96b4
da1cf494796d68bb5c02ba70cf78a904db08a170
13935985cdde6d6b4ec77f2685264242ee55e7ac
ec68ba8208d7550860e4e78299d58a529b88bf85
f59d958e0b2f169b549e5cdc293a70bc6873cd45
f7d3e9f2b207958dfc2c01cf3fc42f98a4b9b239
554b59c147d96223ccce18374989f191f7222b45
07e013056dd976d12ae36db5c54a275e1497f6c8
d0d44c4908efff7a443ed9b1174d9173fb784a72
3cb24dbfd32a396dca46a7ca56a8e75bdcb97078
8172b40813ff36aa0df4c88a6e9c76e5300d7e32
@d-a-v d-a-v closed this Jun 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.