* Make exceptions a configurable menu
Add a menu, Exceptions, which allows exceptions to be disabled for ROM
sensitive scripts. Default is enabled.
* Update to latest JSON builder
The packages JSON file which includes the boards, tools, etc. and needs to
have consistent formatting to be reproducible. The current boards.txt.py
uses a REGEX to string-replace a bit of it, but that bit has a different
indent than the rest of the file.
Use Python's JSON writer to format the whole file repeatably.
* update to lwIP-2.1.0rc1: partial SACK support
fix#4176
* hash fix
* get some flash back due to mistake in conf (fragmentation & reassembly was incorrectly enabled)
(ahah I scared you)
* add missing include files
* update to lwip-2.1.0(release) + remove unused lwIP's include files
* lwIP release 2.1.0, SACK is now default, bigger, no-SACK is selectable
* fix ldscript
* pio
* rename 'sack' option to 'feat'ure option, + IP fragmentation/reassembly
* merge, fix pio
* change internal/hidden string
* pio: more lwip2 configuration: + without sack for no change in flash footprint
* Move ICACHE_* to unique sections, local LD script
Similar to PROGMEM changes, make the name of each ICACHE_* variable/fuction
unique to avoid issues with section conflicts.
Also rename the generated LD linker script to avoid issue with older copies
of the eagle.app.v6.common.ld which were generated by the build process
in a global directory before being moved to the {build.path}. The linker
would use the older, generated *.ld file instead of the generated one, which
would lead to runtime failures on some systems and cause the VTABLE location
to not correspond to the IDE menu selection.
Fixes#5115, and is an update to #5117 and #5116.
* Update boards.txt.py and platform.io build
* Allow GPIO 9 and 10 for waveform generation
While most ESP8266 modules use quad-io mode for their SPI flash ROM,
there are some which only use dual-io mode. Allow the unused pins
(GPIO 9 and 10) to have waveforms generated on them. Should the user try
this on a quad-io mode board, expect very bad things to happen.
* Add variant for 8285 to init GPIO 9/10
The 8285 only has 2-bit flash IO, so the other two pins can be used as
inputs (9/10). Set them to input to mirror the way other pins are set
up.
* Update waveform gen to only allow 9/10 on 8285
Update the common.h in both generic (remove TODO, it's done!) and the
8285 variant to make isFlashInterfacePin macro correct. Use that macro
to disable pins 9 and 10 in the common, non-8285 case.
boards generator updates:
* simplified mapping description: only flash and spiffs sizes are needed
* some ldscripts are renamed due to autogenerated names
* +2M/0, +2M/512K spiffs, +4M0
* reduce length of hidden strings in boards.txt (#5100, https://github.com/arduino/arduino-builder/issues/284)
* give more details in ldscripts (address, size, +rf-cal, +sdk-wifi-settings)
arduino-builder 1.3.25 (shipped with Arduino 1.8.5) forces full
recompilation when any file in the core directory is modified. Avoid
full recompilation by placing generated ld script into build
directory, not source directory.
Also fix an issue where git version description would not be generated
if there were spaces in build path.
on behalf of @4dsystems #4613:
Need to change flash mode from qio to dio, due to a change in supplier of Flash Memory.
Old modules work just the same with no speed difference noticed,
new modules will not work without the change to dio however.
* Add flash for vtable destination, make it default
Add an option for placing vtables in flash to complement the existing
iram and heap options. "make flash"
Now that there is a way to change it, move to vtables in flash as default
as only users with interrupts which use vtables require the vtable to
be in RAM. For those users, if the tables are small enough they can put
them in IRAM and save heap space for their app. If not, then the vtables
can be placed in HEAP which supports much larger tables.
* Add VTable menu, FLASH as default, remove Makefile
Convert from manual "make" operated app.ld creation to runtime creation
whose options are selected from the build menu.
Use a prelink recipe to create the output app.ld file each run, without
need for any special tools.
Update the boards.txt.py script to generate this new config.
* LED_BUILTIN should be a #define
deduplicate and hide BUILTIN_LED as a deprecated constant
* test for LED_BUILTIN existence
* board:espino:variant: rename button macro (naming coherence)
* Case change and and 'none' reset option for Digistump Oak
The logo is 'digiStump', but is always written in text form as 'Digistump'.
The generator fixed an issue with the release version of 2.4.0 not having a resetMethod for the Digistump Oak, and hence not being able to be uploaded to without modifying the boards.txt file. However, the Oak doesn't support auto-reset via serial - it was primarily designed to be a cloud-programmed board.
* Regenerated boards.txt
* Regeneration of doc/boards.rst
+ generates boards.rst
+ generate and replace boards section in package.json
+ generate ldscripts
+ new debug option: OOM
+ new led menu for generic board