1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-13 13:01:55 +03:00
Commit Graph

3407 Commits

Author SHA1 Message Date
6dd8474014 libraries: wrong value for setFrequency() (#6409)
Thanks to fix suggestion from @UlliBien.

Fixes: https://github.com/esp8266/Arduino/issues/6380
2019-08-17 12:27:45 -07:00
0dbb04e881 Add HTTP_HEAD to HTTPMethod and parse it (#6413)
* Add HTTP_HEAD to HTTPMethod

* Parse the HTTP_HEAD variant of HTTPMethod from a method string

* Add HTTP_HEAD to the ESP8266WebServer constants

* Skip sending the content of the response if the HTTP method is HEAD method

* Convert the HTTP status code 418  to string
This status code is an easter egg from the IETF and is described in 
[RFC2324](https://tools.ietf.org/html/rfc2324#section-2.3.2)
2019-08-17 11:58:40 -07:00
8f45a0fb91 Set method _connectSSL as protected (#6424) 2019-08-16 13:23:05 +02:00
e77f96c3e1 Fix the number of examples (#6407) 2019-08-12 14:50:40 -07:00
f2bac1cae9 Prevent rewriting core_version.h if content unchanged (#6414) 2019-08-12 13:28:19 -07:00
5834c54717 - Add broadcast functionality.
- Add createPermanentConnections argument to attemptAutoEncryptingTransmission method.

- Reduce risk of misinterpreting acks by adding check for ack sender MAC.

- Reduce _encryptionRequestTimeoutMs from 500 ms to 300 ms since this should give enough (100 %) margin to the level where problems start appearing (150 ms timeout) and also save a lot of time in case of request failure.

- Improve comments.
2019-08-10 20:35:48 +02:00
26e626de19 Merge branch 'master' into wifi_mesh_update_2.2 2019-08-10 10:45:40 +02:00
adfc28d7d8 Fix basic SSL server definitions (#6402)
A typo was present in several ifdefs which would allow a server to negotiate
an EC connection even when in basic SSL mode.  When this happened, a crash
would occur (since there were no EC or advanced AES modes installed).

Fix the typo, fixes #6397
2019-08-08 21:54:59 -07:00
ea17a06bc8 Grammar edits in documentation (#6401)
* Grammar changes

* Update readme.rst

* Update README.md
2019-08-08 20:26:19 -04:00
021a81fc46 esptool: 3M-baud serial upload speed (#6399) 2019-08-08 12:28:07 +02:00
a8873c2364 fix documented parameter (#6392) 2019-08-07 14:16:07 +02:00
88f0410c4b ensure consistency for gdb hooks signatures (#6391) 2019-08-07 11:18:45 +02:00
2a7a3f5683 Uncouple uart from GDBStub library (#6390) 2019-08-07 09:51:37 +02:00
4e9358445a wstring: fix concatenation from flash (#6368)
fixes #6367
2019-08-05 08:16:49 -07:00
f78ab66f89 libraries: fixed no "OK" ACK for Signed Update (#6351) 2019-08-01 14:00:49 +02:00
d6973cd63d enable puya support by default (can be disabled with -DPUYA_SUPPORT=0) (#6362) 2019-07-31 01:04:01 -04:00
235b02edee Merge branch 'master' into wifi_mesh_update_2.2 2019-07-28 12:17:03 -07:00
19d09eae2b Preserve prior bitrate for I2S begin (#6349)
Fixes #6066

Preserve any existing sample rate for the I2S unit when performing an
`i2s_begin`.  If nothing has ever been set, default to 44.1KHz as
before.
2019-07-28 12:16:31 -07:00
c6bfec900c Add a FS::check() optional method (#6340)
* Add a FS::check() optional method

Fixes #2634

Expose any low-level filesystem check operations for users, and add
documentation on this and the gc() methods.

* Update doc w/more gc() info and link
2019-07-26 22:57:27 -07:00
d2fde8dee0 Fix trivial extra "\n" on web update success (#6350)
Fixes #3290
2019-07-26 16:34:22 -07:00
824a83347d Update LittleFS/SdFat to current project head (#6345)
* Update LittleFS to current project head

Several bugfixes noted in the LittleFS added:

https://github.com/ARMmbed/littlefs/commits/master

* Also update SdFat to latest upstream head

Also adds a delay(0) every 5000 fat clusters examined to avoid WDT
errors on highly fragmented FAT filesystems.
2019-07-25 13:50:58 -07:00
76ed52c1b2 Update WiFiServer docs for ::write(all clients) (#6338)
Fixes #5116
Fixes #2743

The Arduino WiFiClient object allows sending the same packet to all
connected clients of a WiFiServer.  In their implementation it may make
sense, but on the 8266 with things like SSL it doesn't.

Update the docs to note that WiFiServer::write() is a no-op, and that
the app should use the WiFiCliebnt::write() on all connected clients as
appropriate.
2019-07-25 14:31:00 +02:00
aa0bc3372f Add plain char* signatures WebServer::sendContent (#6341)
Fixes #2567

Allow the web server to send plain C strings instead of requring they be
encapsulated inside a String class object.  Saves memory vs. having to
convert C strings to Strings (i.e. duplication of data), overloads on
the efficient sendContent_P(char*) methods.
2019-07-25 13:39:57 +02:00
34077c03f5 Allow use of LED16 for generic boards (#6343)
Generic boards can have their LEDs on pins 0...16 inclusive, so ensure
that the range we generate in boards.txt is inclusive.

Fixes #5817
2019-07-25 11:16:04 +02:00
aecf113850 host emulation: littlefs was not fully enabled (#6342) 2019-07-24 18:05:10 -07:00
17ee38074f Move to -std=g++11 from -std=c++11 (#6339)
Looking at other projects, they're all building using gnu extensions
(-std=gnu++11).  We're already embedding gnu-specific pragmas for
compile options, so I see no reason not to fall in line w/others on
this.

Fixes #4639
2019-07-25 02:18:51 +02:00
4e7f5afc54 Update to latest BearSSL (#6337)
Fix a buffer overflow error in private key decoding.

https://bearssl.org/gitweb/?p=BearSSL;a=commit;h=b715b43e411dc5d5949df6f75ef7bb65952db11c
2019-07-23 22:05:47 -07:00
705dd39093 tools: fixed bug to select signed bin (#6334)
From platform.txt, the binary to be uploaded is hardcoded to *.bin file.
This is not the expected behaviour when Signed Update is used.
2019-07-23 17:10:16 -04:00
a64ef544d9 emulation on host: add missing strlcat strlcpy (#6327) 2019-07-23 11:13:50 +02:00
82a1382864 Don't throw exceptions from operator new by default (#6312)
Default mode (no exceptions) will no longer use the stdc++ library new
allocator when there is not enough memory.  Instead, it will return
nullptr.  This is the pre-exceptions-available behavior (2.5.0 and
earlier).

When exceptions are enabled, use the real new and throw exceptions that
can be caught at higher levels, or which will crash the app with an
uncaught exception if they're not handled.

Update to #6309
2019-07-23 10:18:52 +02:00
5d5cd1d426 Clear updater state on any error (#6325)
Fixes #2090

The Updater checks that an update isn't already in progress on ::begin,
but when an error happens in the middle of an upload it's impossible to
actually reset this flag w/o a reboot.

Reset the state members (esp. _size) on any error condition so
that you can restart the transfer with a new ::begin.  Any error
condition is fatal, anyway, so there is no reason not to clear the
current state at that point.
2019-07-21 16:21:35 -07:00
93ef2e29af Add using fs::SPIFFSConfig to FS.h (#6324)
The SPIFFS config object was defined in FS.h in its own namespace, but
is not made easily available like other SPIFFS and FS objects because of
a missing `using` statement.  Add it in FS.h

Fixes #6322
2019-07-21 13:40:21 -07:00
ac25f3276f Upgrade to 2.5.0-4 toolchain w/improved pgm_read_x, C++ exceptions (#6273)
* Upgrade to 2.5.0-4 toolchain w/improved pgm_read_x

Rebuild the entire toolchain (including standard libraries) with the
latest pgm_read_xxx headers included (which fix unaligned dword reads
from progmem and run faster/smaller, and a pgm_read_byte change which
removes an instruction on each read saving flash).

Pull in latest bearssl while we're at it, too, which speeds up EC
handshakes and reduced ROM usage, too.

* Fix C++ exceptions

Exception code now only does 32b aligned reads from progmem to access
the eh_table (some via -mforce-l32, some via hand-inserted pgm_read_x
macros).

Fixes #6151
Fixes #6305
Fixes #6198
2019-07-21 10:46:29 -07:00
5cb82c1610 webserver: restore legacy request handler (#6321) 2019-07-20 08:29:02 +02:00
d9684351c2 Make delay() as overridable as yield() already is, and add overridable loop_end() (#6306)
* Make delay() overridable "weak"

* Add pluggable loop_end()

* Release tag 5.2.3 for SoftwareSerial
2019-07-18 14:40:58 -07:00
2130f3ee8c Fix typo in doc (#6313) 2019-07-18 10:11:43 -07:00
29bedfa842 Clean tools key of obsolete version on next release (#6258)
Fixes #6068

Drop from the tools key all version:"1.20.0-26-gb404fb9" entries (which
were pre-2.0.0 and whose entry in platform versions was deleted on last
release).
2019-07-15 20:45:29 -07:00
3cc64f7877 Fix raise_exception() (#6288)
* workaround when an exceptin occurs while in an ISR

* tuning for gdb

* remove dead code and rename defines/variables

* per reviews: naming, handle "unhandled return" case

* fix reset message
2019-07-15 15:34:45 -07:00
1c68d02924 Create empty method for String class (#6293)
* Created empty method

* Changed method name from "empty" to "isEmpty". Created a new method to empty a string

* Changed method name from "empty" to "clear".
2019-07-15 10:52:05 -04:00
52f8c62b81 Fix GCC 9.1 warnings (except Ticker.h, gdbstub) (#6298)
Cleans up all warnings seen w/GCC 9.1 to allow it to track the main
branch more easily until 3.x.

Does not include Ticker.h "fix" of pragmas around a function cast we're
doing that GCC9 doesn't like, that will be addressed separately and
maybe only in the 3.0 branch.

Does not include GDB hook fix, either, because the pragmas required
to disable the GCC9.1 warnings don't exist in 4.8 at all.
2019-07-14 21:22:49 -07:00
c18b402c31 Add a dump of received FP and CERT when in debug mode (#6300)
* Add a dump of received FP and CERT when in debug mode

To simplify BearSSL debugging, print the received FP (when it doesn't
match the expected) and the binary certificate (always), when in debug
mode.

* Add documentation section on FP mismatch in rare instances.
2019-07-14 14:09:44 -07:00
38d8b6efde Added memory fence to xt_rsil() (#6301)
Without this the compiler may use memory references loaded to registers before the fence, in computation within the fence. These values could have changed before xt_rsil()
(critical section start) was called.
Note: this is needed to stop the compiler from reordering instructions at the critical section boundary.
2019-07-14 15:36:39 -04:00
147fada3f5 Minor doc update, "How to make a PR" link (#6297) 2019-07-14 04:25:57 -07:00
cd6cf984ec esptool.py: disable 9600bauds in menu for flash upload serial speed (#6292)
* emulation on host: disable coverage when not in CI
* disable 9600bauds for flash upload serial speed (esptool.py won't work)
2019-07-13 23:10:20 +02:00
8b5433977e Prepare signing before sketch is compiled (#6287)
* Prepare signing before sketch is compiled

This makes the right value available in ARDUINO_SIGNING in the sketch.

* Remove unnecessary .1s and fix packager script
2019-07-12 14:52:51 -07:00
8c37601614 Fix Ticker callback casting. (#6282)
Fixes errors seen in #6281 and adds a slight test case to the examples
to ensure no compiler errors.
2019-07-10 23:15:10 -04:00
7c6701512f Clean up remaining non-LeaMDNS diffs from gcc4.8 to gcc7.2 (#6279)
With this change plus the leamdns change, the core will compile
unmodified on GCC 4.8 and GCC 7.2, making keeping the two in sync for
3.0 much easier.
2019-07-10 13:52:38 -07:00
48ace77b48 Refactored to avoid compiler warning (#6278)
Fixes commit 2d9253e46c.
2019-07-10 10:47:01 -07:00
d20177ae35 - Add new ESP-NOW mesh backend.
- Add HelloEspnow.ino example to demonstrate the ESP-NOW mesh backend features.

- Deprecate the ESP8266WiFiMesh class in favour of the new ESP-NOW and TCP/IP backends.

- Update the TCP/IP mesh backend to use the new lwIP version preprocessor flag and remove obsolete preprocessor flags.
2019-07-10 02:29:01 +02:00
1b3ac4f5e9 Switch default FW to "2.2.2-dev(38a443e)" (menu:2.2.1+100) (#6272)
* enable by default latest 2.2.x firmware, including fixed espnow
* LittleFS: avoid crash when FS size is 0
* flash size defaults: 1M for generic board, not empty FS for all
2019-07-09 20:18:55 +02:00