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

3226 Commits

Author SHA1 Message Date
625c3a62c4 Fail if generated JSON file cannot be read (#6076)
To avoid issues as seen in 2.5.1 release where an invalid JSON was
published for a few hours, fail the board script if JQ can't parse the
generated output file.
2019-05-12 08:15:50 -07:00
9b8d4cca52 Moved 'Dropping' print from stdout to stderr in drop_versions.py (#6071)
Printing 'Dropping' debug strings to stdout leads to write in package json.
This moved that to stderr stream.
2019-05-12 06:54:11 -07:00
d65de4aa95 back to 2.6.0-dev (#6072)
* back to dev

* emergency procedure

* per review

* 2.6.0-dev per review
2019-05-11 20:28:09 -04:00
ac02aff575 hide dropping message in json package file (#6070) 2.5.1 2019-05-11 13:29:23 +02:00
024b1c15ca attempt to include submodules in deploy stage (#6067) 2019-05-11 12:08:53 +02:00
479741e2fc Fixing minor grammar typos (#6060) 2019-05-11 09:46:26 +02:00
67b59beff4 Release 2.5.1 (#6059) 2019-05-10 13:26:50 -04:00
5b5e56ad43 ci: deploy package index to esp8266.github.io (#6062)
* ci: deploy package index to esp8266.github.io

* Update deploy_package_index.sh

Fix path for git add
2019-05-10 10:11:33 -04:00
0ab76fcb37 Fix naming of obsolete version removal tool (#6058) 2019-05-07 13:33:50 -07:00
e67cc90b7a Honor timeout in HTTPClient (#6056)
* check for timeout in ESP8266HTTPClient::writeToStreamDataBlock
2019-05-06 21:26:17 +02:00
ac53c2998e Clarify analog output doc for pwm limits (#6051)
* Update reference.rst

Clarify analogWrite and PWM limitations.

* Update reference.rst
2019-05-05 11:22:01 -07:00
95fd7b55e4 Fix default git_ver (#6044) 2019-05-04 11:55:41 +02:00
e071033c3c minor fix for host emulation (#6046) 2019-05-04 10:32:12 +02:00
66c84ec514 fix lwip2 submodule pointer to match actual libraries (#6045) 2019-05-04 02:03:42 +02:00
3dbac1cab4 Update time.cpp (#5835)
* Update time.cpp

Migrate configTime() to use sntp_set_timezone_in_seconds() to correctly allow timezone spec in seconds without rounding

* Add sntp-lwip2.h for timezone function
2019-05-03 22:56:49 +02:00
a67aa569da Test for StreamString SSO bug (#6035) (#6041) 2019-05-03 07:09:32 -07:00
a3c556e490 git clean honors .gitignore, leaving the build tools downloaded by tools/get.py in place - (#6036)
tools/python is missing from .gitignore.
2019-05-02 11:13:57 -07:00
a994b75d75 StreamString SSO bug (#6035)
With SSO implementation in String, StreamString::write generates wrong strings under some circumstances.
Reason is that String::len() returns strlen(sso_buf) if SSO=true but with newly written data (in StreamString::write) the null-termination missing at the time len() is called.
Furthermore, len() is called twice which is inefficient if SSO=true.

* Git ignore

* - StreamString fix

* Remove changes to gitignore

* Fix missing space for 0-terminator lost in conversion
2019-05-02 09:55:43 -07:00
106d6f33a0 MDNS Callback setting needs std::bind parameter by reference instead of by value (#6037) 2019-05-02 07:54:43 -04:00
1750022601 fix switching to static address with lwip2 (#6026)
fix switching to static address with lwip2

For some reason, ip address is not propagated in a visible way for lwip2
when switching to static address (wifi.config()) *after* wifi.begin().

This patch calls lwip-v1.4's netif_set_addr() with the new ip address to set
all things up, just like it is done and right when wifi.begin() is called
after wifi.config().

Also tested when IPv6 is enabled.

fix documentation: It is more natural to set an IP address before starting WiFi
(.. and not after dhcp has started)
fixes #5839
fixes #6024
2019-05-01 12:35:03 +02:00
93ef9e7005 Upgrade to https: serving for JSON, links in docs (#5992)
* Upgrade to https: serving for JSON, links in docs

Fixes #5480

* Update boards.rst documentation

* Update more documentation http: refs to https:

* Remove obsolete staging info

* Drop obsolete versions from JSON programatically

After the final merge is done on the JSON, strip out any named versions
from the final product.

Removing 1.6.5-* and 2.5.0-beta(1,2,3) for now.

* Remove 2.4.0-rc(0/1) from JSON, too
2019-04-30 23:55:03 -07:00
0da6906499 Update DigestAuthorization.ino (#6029)
Fix WiFiClient vs. HttpClient declaration order
2019-05-01 00:47:20 -04:00
33a4c6a5a7 Update StreamHttpClient.ino (#6030)
Fix WiFiClient vs. HttpClient declaration order
Fixes #6028
2019-04-30 18:15:58 -07:00
13589b1ce9 Fix spi slave timing (library SPISlave) (#6022)
* Fix timing of MISO signal

* Fix comment
2019-04-30 17:09:20 -04:00
feb3988b93 Use original ESP8266-specific speeds for SPI speeds (#6023)
Replace the default SPI_FULL/HALF/QUARTER_SPEEDs with ESP8266
appropriate ones taken from the original SD library that @igrr modified.

Fixes #6019
2019-04-29 12:39:26 -07:00
cdb549572d restore proper arduino Client:: & Wire:: API (#5969) 2019-04-26 22:05:46 +02:00
5dd780c571 udp: restore correct address/port when parsing packet (#6011)
do interleave informations on addresses within reception pbuf chain:
before: (data-pbuf) -> (data-pbuf) -> (data-pbuf) -> ... in the receiving order
now: (address+port-info-pbuf -> data-pbuf) -> (address_port-info-pbuf -> data-pbuf) -> ...

address/port informations are updated along with data exposed to user
2019-04-26 20:09:23 +02:00
f6dd826437 Fix MFLN probe and allow returning whether MFLN succeeded or not after a connection. (#6000)
Fixes #5996

* Add extensions to probe message for EC, others

probeMFLN was failing on some connection attempts to servers which only
supported EC based ciphers because it did not include the proper TLS
handshake extensions to list what kinds of ECs it supported.

Add those to the probeMFLN ClientHello message to make probes pass.

* Add client.getMFLNStatus method, returns MFLN state

After a connection it is useful to check whether MFLN negotiation
succeeded.  getMFLNStatus returns a bool (valid only after
client.connect() succeeds, of course) indicating whether the requested
buffer sizes were negotiated successfully.
2019-04-25 12:40:26 -07:00
d9b0480f09 New menu option to minimize BSSL ROM with only RSA (#6006)
* New menu option to minimize BSSL ROM with only RSA

Adds a menu option and define to limit BearSSL to older RSA connection
options.  This saves ~45K program memory and can speed up connections
since EC, while more secure, is significantly slower on the chip.
The supported ciphers are identical to the ones that axTLS supported.

Fixes #6005

* Add default SSLFLAGS(blank) to platform.txt

* Fix unused variable warning

* Add clarifying comment to menu items
2019-04-25 11:13:26 -07:00
72c21feff6 Make chars unsigned by default, matching ESP8266 (#6013)
Force GCC to run with -funsigned-char during host tests  to make
the PC match the default behaviour used by the xtensa GCC port.

As noted in #6010.  Thanks @MichaelBrunn3r
2019-04-24 08:44:36 -07:00
c5efb922ca PlatformIO: generate core_version.h when using feature/stage (#5917)
* platformio: generate core_version.h when using feature/stage

* quote command line

* Modify CPPFLAGS conditionally
2019-04-23 23:36:42 +03:00
4e0e4e4340 Added notice to update submodules to test README (#6008)
Some users didn't know they had to update the submodules before running tests on host (see esp8266/Arduino/issues/5910). Added a notice to prevent wasting time of users new to git
2019-04-23 15:04:26 +02:00
0dd6549c36 ISR code must be in ICACHE_RAM - the check was commited in ab125162bf (#6002) 2019-04-20 15:35:56 +02:00
ab125162bf ISR: check for address in IRAM (#5995) 2019-04-19 06:40:18 -07:00
2c36cfe04d mock on host: compile without rtti (no dynamic_cast<>(), like on native) (#5994)
* mock on host: compile without rtti (no dynamic_cast<>(), like on native)
2019-04-17 18:27:30 +02:00
b4e8b2f6e0 Submodule SoftwareSerial: small footprint reduction. (#5993) 2019-04-17 07:39:59 -07:00
6156a54145 polledTimeout: ensures timeType is unsigned (#5991) 2019-04-16 14:29:50 -04:00
3b9db65ea3 Add String::toDouble from upstream Arduino core (#5986)
Fixes #5985
2019-04-15 00:33:15 +02:00
e3de77f671 Fixed paths in documentation (#5983) 2019-04-14 10:31:09 -07:00
755f61b86a Update station-class.rst (#5977)
Clarify ESP8266WiFiSTAClass::BSSID()
2019-04-12 17:09:52 -04:00
3cb2ec4ed0 Correct mistake with library version numbering (#5981)
Now version 5.0.3 - also available via Arduino library manager now (eps8266, esp32).
2019-04-12 08:20:56 -07:00
96cfdb3ec7 reenable ARP queuing in lwIP2 by courtesy of @aboulfad (#5978)
https://github.com/esp8266/Arduino/issues/3481#issuecomment-482293996
https://github.com/d-a-v/esp82xx-nonos-linklayer/pull/33
it was removed by error on 9 oct 2018 a1e59e9c01 (diff-8a46852651388faec204ec21c86b8098L586)
2019-04-12 12:14:02 +02:00
1c6e762203 Add note about needing 0.4 esp8266fs uploader (#5976)
Update the docs to point to the later version of the 8266 sketch data
uploader and inform existing users of the need to upgrade.

Fixes #5845
2019-04-12 04:59:05 +03:00
885276e75c Unaligned access support for pgm_read_word/dword (#5692)
* Unaligned access support for pgm_read_word/dword

* Fix pgm_read_ptr_aligned() per #5735

* Allow users to use aligned-only via a #define

Adding -DPGM_READ_UNALIGNED=0 or #define PGM_READ_UNALIGNED 0 will
change the default at compile-time to only aligned (faster, but less
compatible) macro implementations.

Default is still to allow unaligned accesses.
2019-04-11 22:24:49 +03:00
882d5ba422 Fix SoftwareSerial for inverse logic mode, release tag 5.0.2. (#5972) 2019-04-11 16:41:23 +02:00
667816ebe0 BearSSL Max Fragment Length Negotation and Node.js server (#5929)
* Minor bug fixes in Maximum Fragment Length Negotation example, mainly giving background processes some time in fetch()

* Minor layout changes to pass travis tests

* Use PolledTimeout for timeout
2019-04-11 14:21:04 +02:00
f950d53d82 Make SPIFFS garbage collection publicly available (#5944)
Original issue: https://github.com/esp8266/Arduino/issues/2870
2019-04-10 20:27:23 +03:00
9712170276 Fix String.replace overlapping strcpy (#5966)
* Fix String.replace overlapping strcpy

Fixes #5949

Adds a test from the issue above and fixes the problem valgrind found.

Additional pathological memcpy->memmove fixes
2019-04-10 17:21:15 +03:00
4b596d8fb1 Fix boards-manager install issues on Linux and Windows (#5898)
* Fix packaged python paths for Windows

Fixes #5881

The path to python.exe on Windows needs to change depending on whether
it is installed via the boards manager or GIT (similar to the compiler
paths).  Adjust accordingly.

* Add python-placeholder to make boardsmanager happy

An empty "python" directory will be created by the boards-manager
installer.  Required because all archs need all tools defined.

* Make the placeholder include a symlink for "python"

* Fix esptool windows python path

Fixes a typo in the python path for Windows for upload.

* Fix esptool windows python path

Fixes a typo in the python path for Windows for upload.

* Fix tools path when in GIT mode for upload
2019-04-10 07:32:50 -04:00
0f4c9f7103 Split IRAM into 2 linker sections to move std::fcn (#5922)
* Split IRAM into 2 linker sections to move std::fcn

Callbacks need to be placed in IRAM when being called from an IRQ (like
the SPISlave callbacks).

This can be done by hacking the std::functional header and making every
single specialization of the template into an IRAM section, which would
take a lot of space for no benefit in the majority of cases.

The alternate is to specify the single instantiation types/operators
required, but the problem is the flash segment matcher would match them
before the IRAM section was begun, and rules for them would just not be
applied.

Get around this by splitting the IRAM section definition into .text and
.text1.  This is linker syntactic sugar and does not actually change the
on-chip layout.  But it does allow us to put the exception vectors at
the required absolute addresses and add single functions to IRAM.

* Add .text1 segment to space used calculation in IDE

* All functional callers are now placed in IRAM

* Write out the .text1 segment to the BIN

The extra segment name needs to be placed into the output binary as
well, or else only the init code gets stored and none of the real app is
present.  This leads to an infinite boot loop.

This change adds in the segment to the generated image.
2019-04-10 10:49:31 +02:00