1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-25 20:02:37 +03:00

4083 Commits

Author SHA1 Message Date
david gauchard
52be27dfb5
Release process fix #2 (#8127)
* release script: fix variable name error
* Release process in README is decribed twice. Syncing the two walk-throughs.
* adding ARDUINO_ESP8266_VERSION reflecting exactly what's passed to `makecorever.py -v`
* remove "unix-" in version name (which was present even for windows but never used)
2021-06-17 00:51:15 +02:00
david gauchard
2897679060
Release process fix & major/minor/rev macro addition (#8126)
* update release process to the new CI
* generate ARDUINO_ESP8266_{MAJOR,MINOR,REVISION} in core_version.h
* makecorever: new option `-r` for release
2021-06-16 15:51:17 +02:00
Maximilian Gerhardt
ff041942e0
Remove include and lib folders removed since 3.0.0 core (#8125) 2021-06-15 21:19:49 +02:00
david gauchard
b4774edbfb
httpclient: remove old example (#8111) 2021-06-09 10:04:10 -07:00
Dirk O. Kaar
40116feb33
Normalize core header's include guard. (#8110) 2021-06-09 09:55:27 -07:00
Earle F. Philhower, III
2185f9bd73
BREAKING - "i2s.h" removed, I2S library added (#8108)
* BREAKING - "i2s.h" removed, I2S library added

An "i2S.h" header was present in prior cores, but this conflicts with the
Arduino standard I2S.h header for the I2S class under Windows (because of
case insensitivity).

Initial 3.0.0 release has a redirect "i2s.h" file in the cores directory to
redirect to the "I2S.h" file in the library, but under Windows this resulted
in the IDE not building the I2S library and link errors.

Remove the offending header.  Code will need to mode to including "I2S.h"
instead (which will include both the Arduino class as well as the low-level
definitions).

Fixes #8107

* Update examples to use proper I2S.h version
2021-06-08 23:12:23 +02:00
Earle F. Philhower, III
e8b411fafb
Update toolchain to gcc 10.3 w/patches (#8104)
* Update toolchain to gcc 10.3 w/patches

* Bump GIT version to clear GH CI cache
2021-06-06 12:41:06 -07:00
Earle F. Philhower, III
74d675cffa
Update to GCC 10.3 and toolchain rebuild (#8103)
Fixes #8069

GCC 10.3 has a patch to stop escaping the initial : in Windows paths which
is causing Arduino and other tools to fail dependency checks and rebuild
everything on every compile.
2021-06-05 15:27:58 -07:00
Earle F. Philhower, III
114a726798
Update toolchain to fix pgm_read_float_unaligned (#8091)
Update toolchain to fix pgm_read_float_unaligned
Fixes #8083
2021-06-04 17:06:16 +02:00
david gauchard
a183e3fce5
more of Use optimal bundled library name (#8098)
Ref: https://github.com/esp8266/Arduino/pull/8088#issuecomment-853711167
2021-06-03 13:20:11 +02:00
david gauchard
325619a4c2
makeword: sync header and implementation (#8097)
makeword: sync header and implementation
2021-06-02 23:42:31 +02:00
Valerii Koval
e5489cfd99
Synchronize PlatformIO build script (#8092) 2021-06-01 07:55:08 -07:00
per1234
e21ae06699
Use optimal bundled library names (#8088)
When multiple libraries contain files matching an #include directive in the program, the Arduino build system must pick
one to use for compilation. Multiple factors are used in order to make an intelligent determination of which library is
best.

In order to enhance this determination, the closeness of match between the library.properties name value and the
filename in the #include directive is being added as one of those factors. This new factor is referred to as
"Library Name Priority".

Unfortunately, this change can result in platform bundled libraries which had previously been correctly correctly chosen
no longer being given priority over their equivalent standalone libraries, which may be incompatible or not optimized
for the platform's boards.

This priority inversion only occurs when all the following conditions are true:

- There is a standalone library installed which provides a header filename collision.
- The platform bundled library is architecture optimized (e.g., architectures=esp32).
- The standalone library is architecture compatible (architectures=*).
- The standalone library has equal "Folder Name Priority".
- The standalone library has better "Library Name Priority" (e.g., name=SD vs name=SD(ESP32) for a library with primary
  header file SD.h.

The fix is to simply give the platform bundled library a perfect "Library Name Priority".

Some platform bundled libraries were given a modified name as a workaround to a bug in the Arduino IDE's Library Manager
which caused Library Manager to always show the library as updatable under specific circumstances. That bug was fixed in
Arduino IDE 1.8.6, ~3 years ago.
2021-05-31 07:34:35 -07:00
Develo
bf6f3e7c53
Merge pull request #8080 from dok-net/swserial
Update EspSoftwareSerial to bug fix release 6.12.6
2021-05-27 16:36:06 -04:00
Dirk O. Kaar
fa7a330741 Update EspSoftwareSerial to bug fix release 6.12.6 2021-05-27 21:33:15 +02:00
Earle F. Philhower, III
60fe7b4ca8
Add code-spell spelling checks to CI (#8067)
Help find and fix silly spelling errors as they are added to the repo.
2021-05-23 08:53:04 -07:00
david gauchard
78a2ed6bd8
release script: protect bash variables and add logs (#8074)
Ref: https://github.com/esp8266/Arduino/issues/8049
Ref: empty variable https://github.com/esp8266/Arduino/runs/2592755965?check_suite_focus=true#step:5:35
2021-05-23 15:26:13 +02:00
Earle F. Philhower, III
8dc80b5ef6
Re-add mklittlefs to package.json (#8060)
Fix #8057
2021-05-21 15:33:44 -07:00
Develo
d7d03f9a41
Merge pull request #6869 from dok-net/refactooptimisticyield
Minor yield() cleanup: optimistic_yield, proper polledTimeout use
2021-05-18 21:33:51 -04:00
Dirk O. Kaar
7571c729f5 Revert change after review comments. 2021-05-18 15:43:27 +02:00
Dirk O. Kaar
95b06cee0b Explain function of special PolledTimeout to the code reader 2021-05-18 15:43:27 +02:00
Dirk O. Kaar
f382fc9d77 Refactoring to PolledTimeout or optimistic_yield on the grounds that these are not wait loops on slow input. 2021-05-18 15:43:27 +02:00
Dirk O. Kaar
117f163099
Move _stopPWM in phase PWM to IRAM (#8048) 2021-05-17 14:50:33 -07:00
Wong "Sadale" Cho Ching
25e1b3b61c
Added IRAM_ATTR to _stopPWM() so that digitalWrite() would work inside ISR. Fixes #8043 (#8044) 2021-05-17 19:56:24 +02:00
david gauchard
90f611f984
back to dev (3.0.1) (#8039) 2021-05-15 19:42:38 -07:00
david gauchard
efb0341a41
ditto on the draft action file (#8037) 3.0.0 2021-05-16 03:17:15 +02:00
david gauchard
75e911354e
update release github action (#8036)
- following this error message
  Error: Unable to process command '::set-env name=TRAVIS_TAG::3.0.0' successfully.
  Error: The `set-env` command is disabled. Please upgrade to using Environment Files or opt into unsecure command execution by setting the `ACTIONS_ALLOW_UNSECURE_COMMANDS` environment variable to `true`. For more information see: https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
- this guide:
  https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#environment-files
2021-05-16 03:00:15 +02:00
david gauchard
7b6baf0fed
release 3.0.0 (#8034) 2021-05-16 02:06:06 +02:00
Max Prokhorov
0aaadd9fa1
WString: return bool instead of unsigned char (#7939)
Clean up the intent, resulting assembly stays the same.
2021-05-15 14:49:09 -07:00
Juraj Andrássy
3a3d1c693d
added ArduinoWiFiServer with send-to-all-clients functionality (#7612)
and with available() working according to Arduino documentation
plus PagerServer example
2021-05-15 13:50:15 -07:00
Max Prokhorov
4436e32a50
WiFi: clean up AP SSID setter & getter, support 32 chars (#7941) 2021-05-15 12:28:22 -07:00
Dirk O. Kaar
5f21c61c7c
ESP has no data members, is used as singleton object, and can be called before C++ runtime setup during boot: make all member functions static. (#8006) 2021-05-15 11:14:58 -07:00
david gauchard
bdd341c9ea
boards: wemos d1 clones: new entry with menus for flash mode and flash freq (#7989) 2021-05-15 11:04:09 -07:00
Dirk O. Kaar
1a455ffd8d
Fix a warning reported by @Tech-TX (#8014) 2021-05-15 10:54:53 -07:00
Max Prokhorov
b0ece8cac4
[BREAKING] wifi: remove pseudo-modes for shutdown, expose ::[resumeFrom]shutdown() (#7956)
* wifi: remove pseudo-modes for shutdown

make shutdown and resumeFromShutdown public
removes extra code from the mode handler and include method description
in the docs

* typo

* dup

* typos

* reference only shutdown() & resumeFromShutdown()

prefer to have some specific function, don't simply chain into sleep
update examples and docs

* safeguard raw sdk config usage
2021-05-15 19:49:35 +02:00
Adam Horvath
e9820c1f27
Adding comment to ignore SSL in sample code. (#7994) 2021-05-15 18:24:33 +02:00
david gauchard
6da2bfb664
simplifying internal code using stream::send api (#7995) 2021-05-15 18:13:05 +02:00
Dirk O. Kaar
4462fea2a6
Maintenance release 6.12.3: better dependency declarations for Platformio (#8030) 2021-05-15 17:58:11 +02:00
M Hightower
1a381477ec
Updated HWDT one missed ICACHE_RAM_ATTR (#8018) 2021-05-06 10:45:55 +02:00
M Hightower
bc816c657b
Updated HWDT to use IRAM_ATTR instead of ICACHE_RAM_ATTR. (#8013) 2021-05-02 14:58:54 +02:00
david gauchard
5704bf2102
minor host fix found while compiling arduinoJson (#8009) 2021-04-29 23:46:41 +02:00
david gauchard
f4178e58dc
fixes for WiFiClient::write(Stream) (#7987)
fixes for WiFiClient::write(Stream) and Stream transfers
- remove deprecated WiFiClient::write(Stream,size)
- fix and deprecate WiFiClient::write(Stream) to use Stream::sendAll instead of ::sendAvailable
- update ESP8266WebServer::streamFile to use file.sendAll(client) instead of client.write(file)
- remove stream dependence in ClientContext
- Stream::send(): honor timeout in all case, avoid short transfer when output is temporarily full
- example WiFiEcho: show sendAll and sendAvailable
2021-04-27 16:02:19 +02:00
Dirk O. Kaar
457692101a
Move prototype for enablePhaseLockedWaveform linker magic into header that's included by default instead of particular internal core header. (#7996) 2021-04-22 14:02:54 -07:00
Dirk O. Kaar
cfbbd6f22d
enableWiFiAtBootTime() should be declared in ESP8266WiFi.h (#7993) 2021-04-18 22:17:14 +02:00
david gauchard
b933e3d283
WiFi off a boot: document a linker error when user wants to use wifi without including ESP8266WiFi.h (#7990) 2021-04-18 00:15:42 -07:00
Dirk O. Kaar
ae359cc5f6
EspSoftwareSerial 6.12.2: Inlining push() functions that must be in IRAM for calling from ISRs (#7986) 2021-04-18 00:04:17 -07:00
Dirk O. Kaar
41de4115fd
Resolve "PWM-locked" / "phase-locked" waveform merge leftover in Servo lib (#7978)
Library was overlooked in "PWM-locked" / "phase-locked" waveform mode merge.
2021-04-17 13:43:02 -07:00
david gauchard
209e467120
doc: analogRead must not be called to frequently with WiFi is on (#7981) 2021-04-14 19:40:11 +02:00
david gauchard
1cc6960a55
[BREAKING] Disable WiFi at boot by default (#7902)
* Disable WiFi at boot by default

* +define WIFI_IS_OFF_AT_BOOT

* remove now useless example

* mv enableWiFiAtBootTime() to core_esp8266_features.h

* sync with master

* per @earlephilhower review: a file was missing

* doc

* WiFi persistence is now false by default

* fix doc

* ditto

* doc: remove sphinx warnings (fix links and formatting)

* fix link name

* fix doc

* legacy: restore persistence

* undeprecate preinit()

* move force modem up to when mode has changed (per @mcspr review)

* do not wake up from sleep when mode if OFF

* fix doc per review
2021-04-09 23:01:11 +02:00
M Hightower
da6ec83b5f
Hardware WDT Stack Dump Tool (#7010)
* Hardware WDT Stack Dump

This Sketch demonstrates the use of a tool to print a stack dump
at reboot after a Hardware WDT event.

The module hwdt_app_entry.cpp writes a stack dump to the serial interface
after a Hardware Watchdog Timer has struck and a new boot cycle has begun.
The sketch must properly initialized the Serial port before the crash.

hwdt_app_entry.cpp is the core file that does the work.

* Corrected Style. Improved HWDT reset detectionat boot.

* Style and typos

* Update comments.

* Improvements to reset reason determination.
Improved comments.
Added option to match the UART speed used by the sketch.
Added option to print greeting at the start to indicate the HWDT stack dump code is active.
Isolated logic for handling strings: one assuming they are not inited at
the time the code is running and one that does. The later appears to be the case.

* Style plus
Fix issue with HWDT reason detection when sketch crashes too fast.
Added sample sketch menu option for crashing with a function defined
with a weak attribute via prototype, but never actually defined in
full function form. eg. `void trouble(void){return;}`

* Moved all configuration options to the top.
Adjusted configuration option order for most likely to be used to the top.
Tried to improve comments.
Replace numbers with enum values.

* Removed clutter of having an alternate printing method.
Regular global strings have worked reliably.
Tweaked reset reason detection.
Reordered elements in global structure.
Improve #if test for debug option
Always improving comments.

* Added delays around uart_div_modify. This appeara to resolve the lost
data problem that occurs when printing after a flash upload using esptool.
Curiously, esptool stub also uses similar delays.
Word choices and description improvements.

* Finished TODO looked at assembly of app_entry_redefinable to confirm
no mixed up stack frame was created. Also removed no longer needed
extra level of function calling.
Use existing macros from uart_register,h to handle getting current
UART speed. Added some missing `const`.

* Comment changes.
Added a few newlines to printing.
Decreased the settling delay after the uart_div_modify call.

* Improved comments.
Print caution message when stack integrity checks failed.

* Several corrections to set_uart_speed
Comment improvements
Added missing ";"

* Removed unused include.
Code cleanup.
Comments.

* Now runs from flash before SDK is started.
Cache_Read_Enable working. Free 1K of IRAM and 200 bytes of DRAM.

* Changed ICACHE size from 32K to 16K to avoid conflict with
SDK or core selecting smaller 16K ICACHE.

The Issue: Cache_Read_Enable does not clear the bit field when mapping IRAM to
ICACHE on register 0x3FF00024. Thus, no problem upgrading from 16K to 32K;
however, you cannot downgrade from 32K to 16K. These bits are cleared at boot.

Improved uart data rate change handling.

Update comments.

* Added support to print ThunkStack.
Adjustments to inline asm. Added "memory" when callx0 is used.

* comment cleanup. added missing additional #if defined()
Made structure name unique. Changed HWDT_INFO to HWDR_INFO_S.

* Update style used for structure and typedef to match that used in core
when snake case is used. Moved a constexpr block up a scope so that
some #ifdef debug code compiles again.

* Updated comments

* Corrected new errors from upgrade to GCC 10.1 toolchain related to
constexpr and casting integers to pointers.
Cleared warning for asm.

* Work around divide by 0 HWDT event under toolchain 10.1.

* Changes to move feature into core.

Making ready for selection via tools menu, updated defines to DEBUG_ESP_,,, format.
Added HWDT and HWDT_NO4KEXTRA options to boards.txt.py. These options are selectable
from Arduino IDE 'Tools->Debug Level'
Converted macro names that use to be constexprs to uppercase.
Update comments. Added comments to maintainers anotated by '//C'
Revised example.

* Fix stack character buffer length.

* Updated comment to reflect support via Arduino IDE Tools menu.

* Improve meshing of HWDT and NOEXTRA4K

* Made compatible with `disable_extra4k_at_link_time()` usage.

Changed to strings containing "no4kextra" to "noextra4k" to be consistant with
original usage.

Updated example to provide indications of which build options were used or resulted.

Some comment cleanup.

* CI style

* Adjusted down the ROM Stack space for the extra 4K Heap option.
If too large, a really bad crashes occurs.

Updated the example to start WiFi. This helps double check ROM
Stack space size is not too small at start.

Removed stale comment.

Changed cont stack check functions to make globally available.

* Add replacement aes_unwrap for the debug HWDT option.
Improves the SYS stack space available when using the extra 4K Heap
option in conjunction with HWDT. Replaces the ROM AES buffer at
0x3FFFEA80 with one provided by malloc().

* Update umm_info_safe_printf_P to support default of unaligned PROGMEM strings.

* Improve cont stack trace for yielding case.
Check if cont stack is yielding to SYS, use g_pcont->sp_yield to limit the
amount of the cont stack dumped.

Generalized dev logic path to create a generalized debug function hwdt_pre_sdk_init_icache.

* Added missed update to heap.cpp for change to use PSTR instead of PSTR4

* Updated comments and #if in aes_unwrap.

* Update boards.txt
2021-04-08 01:35:49 +02:00