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

385 Commits

Author SHA1 Message Date
f23caa2dcd Merge branch 'master' into stdnothrow 2020-08-23 19:28:21 +02:00
1ff927d04c Fix spelling typo under doc/faq (#7538)
This patch fixes some spelling typo found in doc/faq.
2020-08-18 07:45:37 -07:00
6925982284 replace new by new (std::nothrow), remove arduino_new 2020-08-17 18:15:45 +02:00
f42327da34 doc: gcc handles duplicate literal strings (#7531) 2020-08-16 17:43:15 -07:00
01edc0e51f Fix and add details to Serial doc (#7521)
Fixes #7484

Clarify blocking case for write()

Add flush() method.

Missing ), clarifications
2020-08-13 16:41:57 -04:00
683b8e606c Fix spelling typos in files under doc/esp8266wifi (#7520)
This patch fixes some spelling typos in following files
bearssl-client-secure-class.rst
client-class.rst
scan-class.rst
scan-examples.rst
server-examples.rst
2020-08-12 08:28:22 -07:00
9afb084159 Clean up minor warnings from LGTM.com (#7500)
* Clean up minor warnings from LGTM.com

LGTM (Semmie) is a tool, bought by GitHub last year, that conducts basic
linting tasks on code and HTML.

Clean up the warnings identified in the latest report:
https://lgtm.com/projects/g/esp8266/Arduino/?mode=list

No functionality should change, however this may fix some issues with
the perl utilities not exiting properly on a Ctrl-C from the command
line.

* Back out HTML changes and rerun boards.txt.py
2020-08-03 19:19:04 -07:00
3be0cbb385 Typo (#7502) 2020-08-03 07:42:22 -07:00
d5187790bd Mention OTA Update class blocks flash mode changes (#7321)
Add mention that OTA Update class will block changes to flash mode bits if the image is uncompressed, and link to the recent discussion on this.

Co-authored-by: Earle F. Philhower, III <earlephilhower@yahoo.com>
2020-07-29 11:37:32 -04:00
a679869155 BREAKING - analogWriteRange 8-bit default (#7456)
Matching standard Arduino cores, make the default analogWrite() take
values from 0...255.  Users can always use the analogWriteRange() call
to change to a different setup.

Add a `analogWriteResolution` which takes a number of bits and sets
the range from 0...(1<<bits)-1, part of the standard Arduino API.

Remove the PWMRANGE define.  It's non-standard and not generally valid
(i.e. it's fixed at 1024 of 256, but the real range varies depending on
what you last set).

Also add note about the change and how to fix pre 3.0 applications.

Fixes #2895
2020-07-28 17:39:38 -07:00
1134194edc Fix spelling typos in readme.rst (#7447)
This patch fixes some spelling typos in doc/esp8266wifi/readme.rst

Co-authored-by: Earle F. Philhower, III <earlephilhower@yahoo.com>
2020-07-10 11:22:52 -07:00
df9bc38bce Grammar fixes (#7441)
Added a bunch of missing "the"s and "a"s mostly. Didn't change any of the coding examples or the meaning of this example. Great example though, thanks.
2020-07-09 20:35:19 -07:00
af1bc71a9e remove lwip-v1.4 specific code (#7436)
* remove lwip-v1.4 specific code

* ditto

* ditto

* fix ip4_addr definition

* CI: change debug builds to use IPv6, remove regular IPv6 builds

* ditto

* split pio CI in four (because they last twice the time of the other builds)

* remove option from pio

* remove lwIP-1.4 from doc

* restore pio CI splitting

* fix CI debug6 script

* ditto
2020-07-09 09:59:49 -07:00
70e4457041 Remove axTLS from code and documentation (#7437) 2020-07-09 09:21:38 -07:00
7b48b9de5f boards: 4dsystems (gen4iod) updates (#7433)
* boards: 4dsystems (gen4iod) updates
2020-07-07 17:10:05 +02:00
4609e440ad Add some pending methods to generic-class docs (#7427) 2020-07-06 16:39:30 -04:00
64f1f7b727 doc fixes for LittleFS (#7385) 2020-06-16 17:31:19 +02:00
1bfb29395f Update readme.rst (#7379)
ESP9266 to ESP8266
2020-06-14 23:05:42 -04:00
a70e834d1e Add a "-- CUT HERE --" marker to exception output (#7369)
Users aren't reporting/seeing the actual PC of failures because they
are only copying the >>stack<< into the decoder and not the Exception
line.  Add an ALL CAPS "CUT HERE FOR EXCEPTION DECODER" line to the
output to make it blindingly obvious to include the full crashdump
both in bug reports as well as exception decodes.
2020-06-11 15:24:21 -07:00
27ef03fc05 Add documentation on recovering from deep sleep with WAKE_RF_DISABLED (#7338)
* Clarify how to enable WiFi after DeepSleep

* Add FAQ item for recovering from DeepSleep

* Reference issue

* Update issue URL
2020-05-29 14:14:45 -04:00
0deb87483e Document ESP.getMaxFreeBlockSize() != max malloc size (#7328)
Fixes #7322.  Because of UMM internals, the largest `malloc()`able block
will be smaller than the largest contiguous free RAM block.  Note in the docs.
2020-05-26 14:00:41 -07:00
83166f948b Deprecate SPIFFS, move examples to LittleFS (#7263)
* 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 #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>
2020-05-04 14:22:50 -04:00
ce200ed72e - Move TypeConversion from namespace esp8266 to namespace experimental. (#7252)
- Add using namespace experimental::crypto; to HelloCrypto.ino.

- Add mention about new random function in libraries.rst.

- Update keywords.

Co-authored-by: Anders <andlo151@student.liu.se>
2020-04-29 10:30:26 -04:00
1bb5ccf71e Fixed misplacement of back quotes (#7247)
It might be the thing in some other doc files but I only noticed it here
2020-04-26 13:58:22 -04:00
845241b72c Fix RST links for PlatformIO (#7143)
* Fix RST links

* Update links to PlatformIO
2020-03-09 17:08:07 +02:00
01a4d292e1 Installation guide for PlatformIO (#7142) 2020-03-09 15:51:32 +02:00
0554d39c6c Add support for my new board eduino wifi (#6554)
* ^#

* Fix merge conflict

* Fix merge conflict

Co-authored-by: Earle F. Philhower, III <earlephilhower@yahoo.com>
2020-02-26 08:15:57 -08:00
16319da63d Resolved issue #3359 (#6969)
* Resolved issue #3359

Made severing connections optional as per the patch
in the issue.
Also fixed a minor spacing issue.

* Renamed sever to close and added information to readme

Also my editor automatically removed some odd whitespace at the
end of a few lines.
2020-02-22 16:30:17 -08:00
bea64dfa69 Add fileCreation/getCreation create-time accessors (#7000)
* Add fileCreation/getCreation create-time accessors

For SDFS and LittleFS, enable a creation time accessor for files and Dir
iterators, similar to the existing fileTime/getLastWrite calls.

Remove spurious Dir::getLastWrite method (the proper and only documented
way is really Dir::fileTime).

Update json to point to new mklittlefs which copies the creation date of
files to the image.

Fixes #6992

* Remove malloc(), use stack vars for temp names

LFS filenames are limited in size and generally very small.  Use a stack
variable instead of a dynamic allocation when performing full-path
computations.

* Replace "Creation" w/"CreationTime" in FS accessor

Per review, `getCreation` -> `getCreationTime`, `fileCreation` ->
`fileCreationTime`.

The names `fileTime()` and `getLastWrite()` are inherited from ESP32
implementation and unchanged.

* Add creation time to listfiles SD example

* Enable SdFat's sateTime callback for timestamping

SdFat requries the dateTimeCallback call (global for everything) to
update dates and times on created files.

Because the callback signature doesn't have space for us to provide
any parameters, we cannot get the the File, Dir, or FS object's
dateTimeCB member.  Instead, just go with `time(null)` as the callback
function which is right in all but the most esoteric cases.

* Correct DOS year/month offset in dateTime callback

* Fix docs to match new xxxCreationTime() API names

Co-authored-by: Develo <deveyes@gmail.com>
2020-02-22 12:49:08 -08:00
698ffc3498 Various String handling cleanups (#6945)
Use the proper api (::clear(), isEmpty()) instead of doing
comparisons/assignments of empty strings. Also fix mixture
of tabs and spaces in the source code.
2019-12-26 17:03:18 -03:00
52d84b1ead Add a CRC32 over progmem and ESP.checkFlashCRC (#6566)
* Add a CRC32 over progmem and ESP.checkFlashCRC

Automatically embed a CRC32 of the program memory (including bootloader
but excluding any filesystems) in all images in unused space in the
bootloader block.

Add a call, ESP.checkFlashCRC() which returns false if the calculated
CRC doesn't match the one stored in the image (i.e. flash corruption).

Fixes #4165

* Add example that corrupts itself, comments

Show CRC checking catch a 1-bit error in program code by corrupting a
large array, and then return it to clean and verify the CRC matches once
again.

Add comments to the CRC check routine

Clean up pylint complaints on crc32bin.py

* Check linker script for CRC space in bootsector

Add an assertion in the eboot linker file to guarantee that we have at
least 8 bytes of unused space at the end of the boot sector to patch in
the CRC.  If not, the eboot link will fail.

* Add note about what to do if CRC check fails

Per discussion with @d-a-v.

When the CRC check fails, you could *try* to do certain things (but may
not succeed since there is known flash corruption at that point).  List
a few ideas for application authors.

* Only single, flash/ram friendly crc32() function

* Combine the CRC calc and bin generation in 1 step

Per discussion w/@mcspr, combine the CRC calculation with the binary
generation, removing the additional build step.
2019-12-20 14:38:35 -08:00
9985a32914 Add documentation for compressed OTA, fix bug (#6924)
* Add documentation for compressed OTA, fix bug

Fixes #6923

Documents the user steps needed to do a compressed upload, and notes the
2-step process needed for deploying compressed uploads to the field for
the first time.

Fixes a bug in serial output formatting discovered by @AdrianEddy.

Adds additional contributors for uzlib, per @pfalcon.

* Update README for esptool.py, too
2019-12-20 09:22:10 -08:00
5aefed2f4b Update PROGMEM.rst (#6872)
* Update PROGMEM.rst

Include array of strings in the description, since the examples in Arduino do not consider the right pointer size

* Update PROGMEM.rst
2019-12-04 13:14:14 +01:00
56fe2bfe73 [BREAKING] Update FS plugin info for python3 compat (#6807)
The FS uploader plugins need to be updated to use python3 and not
python, or they will fail on Windows (or Linux boxes without an
installed python2 interpreter).

Update the documents to point to the new versions.
2019-11-26 08:43:18 -07:00
b478429fe4 Change Sphinx version to latest (#6817)
Was locked at an older one which no longer works due to an issue a while
ago, but that may no longer be needed.
2019-11-20 08:36:04 -07:00
adda7da485 Mention erasing arduino15 contents before installing git (#6741) 2019-11-09 23:53:38 -03:00
9f6d3c7c3e Add board filter support ... (#6643)
* Add boards filter support - allows for the creation of an abridged boards.txt.
Add some of the ITEAD Sonoff boards to boards.txt.py.
Minor reorder of presentation of board menu items, mainly grouped
board Model and module selection to the top.

* Corrected, I think, LED_BUILTIN vs BUILTIN_LED??

* Updated boards.txt

* Added support for DOIT ESP-Mx DevKit (ESP8285) board.
Adjusted wording and fixed side bar formating issue on the
Sonoff description. Also, removed resetmethod menu
and assigned resetmethod of none.
2019-11-08 14:49:29 -03:00
e2959eefd5 Adds SparkFun Blynk Board (#6713)
* adds initial commit to boards.txt before actual edits

* reminder to remove vim .swp file

* Removes spaces and modifies outdated tags for menu `CpuFrequency -> xtal` for example

* Adds SparkFun Bynk Board to boards.txt.py, moves .build flags all together for SparkFun Blynk

* runs boards.txt.py to generate files for pull request - all files have been included as instructed at top of boards.txt file

* Deletes three .orig files generated by boards.txt.py: rst, txt, and json

* Moves boards.txt.py back to /tools directory and attempts to change its mode.

* restore 'x' flag
2019-11-05 17:56:52 +01:00
d776ca5875 Re-wording of ATOMIC_FS_UPDATE documenation (#6693) 2019-10-31 10:04:22 -07:00
70e8c99019 fix doc and update ci (#6692) 2019-10-31 16:55:11 +01:00
72dd589599 Add time to filesystem API (#6544)
* Add time to filesystem API

Support the ESP32 File::getLastWrite() call and setting the time on
all filesystems automatically (assuming the system clock has
been set properly and time(NULL) returns the proper time!).

Adds Dir::fileTime() to get the time of a file being listed, similar to
Dir::fileName() and Dir::fileSize().

Adds ::setTimeCallback(time_t (*cb)()) to File, Dir, and FS, allowing
users to override the default timestamp on a per-file, directory, or
filesystem basis. By default, a simple callback returning time(nullptr)
is implemented.

LittleFS uses the 't' attribute and should be backwards compatible.

SD/SDFS work and include wrappers for obsolete SdFat timestamp callbacks
using the MSDOS time.

This PR does not update SPIFFS, due to compatability concerns and a
possible massive rewrite which would make it possible to determine if an
old-style ot metadata enabled FS is present at mount time.

Includes an updated SD/listfiles and LittleFS_time example.

Replaces #6315

* Add links to new mklittlefs w/timestamp support

Include the update mklittlefs which generated 't' metadata on imported
files.
	../tools/sdk/lwip2/include/netif/lowpan6_opts.h

* Add explicit note about timestamp being local time

* Address review concerns

Clean up some awkward object instantiations.

Remove the _enableTime flag/setter from SPIFFS.

Clean up the FSConfig constructors using C++ style init lists.
2019-10-31 14:09:52 +01:00
45d71ae4bd Support FS update in two steps (#6505)
* Support FS update in two steps
2019-10-16 10:11:15 +02:00
52bc1df424 Update installing.rst (#6625)
Add uninstalling of previous core versions into prerequisites for latest git instructions
Added prior step for uninstalling to Other OS
2019-10-10 13:30:01 -03:00
4489e239bb Add interrupt section to docs (#6560)
* Add info about installing python3 on Mac, Linux

The Mac requires special handholding to allow SSL connections for
get.py, so document those for end users.

* Add interrupt section to docs

Adds a section on interrupts to the docs and lists the restrictions
and warnings about running long tasks.

Fixes #6428

* Update per review comments
2019-09-28 15:03:28 -07:00
c755771098 Minor FS documentation change from #2904 (#6563)
* Minor FS documentation change from #2904

Trivial addition to filesystem upload documentation.

Supercedes #2904 which cannot merge due to file renames and massive
changes to the filesystem.rst file since it was pushed.

* Fix periods on the steps, they are complete sentences
2019-09-28 12:44:03 -07:00
ff1e8e92d1 Add info about installing python3 on Mac, Linux (#6558)
The Mac requires special handholding to allow SSL connections for
get.py, so document those for end users.
2019-09-27 13:49:26 -07:00
308e131dee Update EEPROM library documentation (#6548)
Update EEPROM description with mention of current implementation limitations
Move ESP_EEPROM to Other Libraries, update description from upstream README
Add https://github.com/xoseperez/eeprom_rotate to Other Libraries as an alternative
2019-09-23 07:30:02 -07:00
4f74ed8408 Edited OTA readme, added Stream Interface snippet (#6487)
* Edited OTA readme, added Stream Interface snippet

Reworded for easier understanding. Changes mostly in first half of page.

* OTA docs: corrected typos, misc edits near end

* Incorporated suggestions from earlephilhower

Extra ^, removed TODO
2019-09-10 11:44:19 -03:00
85f1ea7c78 exceptions: optionally enforce c++ standards (#6333)
* exceptions: 3 choices: legacy, std::new never returns 0, or exceptions enabled
* arduino_new (doc, example, array)
2019-08-29 00:21:10 +02:00
0a031ce957 Move all scripts and documentation to Python3 (#6378)
* Move all scripts and documentation to Python3

Python 2 EOL is Jan 1, 2020.  Migrate scripts to run under Python 3.

Under Windows, we're already running Python 3.7, by dumb luck.  The
oddness is that the Windows standalone executable for Python 3 is called
"python" whereas under UNIX-like OSes it's called "python3" with
"python" always referring to the Python 2 executable.  The ZIP needs to
be updated to include a Python3.exe (copy of Python.exe) so that we can
use the same command lines under Linux and Windows, and to preserve my
sanity.

Fixes #6376

* Add new Windows ZIP with python3.exe file

* Sort options in boards.txt generation for repeatability

The order of the board opts dict changes depending on the Python version
and machine, so sort the options before printing them to get a stable
ordering.

* Re-add Python2 compatibility tweaks

Most scripts can run as Python 2 or Python 3 with minimal changes, so
re-add (and fix, as necessary) compatibility tweaks to the scripts.
2019-08-28 12:42:48 -07:00