mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-29 17:47:14 +02:00
Merge branch 'release/v2.6.1'
This commit is contained in:
24
HISTORY.rst
24
HISTORY.rst
@ -4,6 +4,30 @@ Release History
|
||||
PlatformIO 2.0
|
||||
--------------
|
||||
|
||||
2.6.1 (2015-12-18)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Added support for the new ESP8266-based boards (SparkFun ESP8266 Thing,
|
||||
NodeMCU 0.9 & 1.0, Olimex MOD-WIFI-ESP8266(-DEV), Adafruit HUZZAH ESP8266,
|
||||
ESPino, SweetPea ESP-210, WeMos D1, WeMos D1 mini) to
|
||||
`Espressif <http://docs.platformio.org/en/latest/platforms/espressif.html>`__
|
||||
development platform
|
||||
* Created public `platformio-pkg-ldscripts <https://github.com/platformio/platformio-pkg-ldscripts.git>`_
|
||||
repository for LD scripts. Moved common configuration for ESP8266 MCU to
|
||||
``esp8266.flash.common.ld``
|
||||
(`issue #379 <https://github.com/platformio/platformio/issues/379>`_)
|
||||
* Improved documentation for `Espressif <http://docs.platformio.org/en/latest/platforms/espressif.html>`__
|
||||
development platform: OTA update, custom Flash Size, Upload Speed and CPU
|
||||
frequency
|
||||
* Fixed reset method for Espressif NodeMCU (ESP-12E Module)
|
||||
(`issue #380 <https://github.com/platformio/platformio/issues/380>`_)
|
||||
* Fixed issue with code builder when build path contains spaces
|
||||
(`issue #387 <https://github.com/platformio/platformio/issues/387>`_)
|
||||
* Fixed project generator for Eclipse IDE and "duplicate path entries found
|
||||
in project path"
|
||||
(`issue #383 <https://github.com/platformio/platformio/issues/383>`_)
|
||||
|
||||
|
||||
2.6.0 (2015-12-15)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
@ -23,6 +23,7 @@ Here are recent articles about PlatformIO:
|
||||
2015
|
||||
^^^^
|
||||
|
||||
* Dec 01, 2015 - **JetBrains CLion Blog** - `C++ Annotated: Fall 2015. Arduino Support in CLion using PlatformIO <http://blog.jetbrains.com/clion/2015/12/cpp-annotated-fall-2015/>`_
|
||||
* Dec 01, 2015 - **Tateno Yuichi** - `ESP8266 を CUI で開発する (Develop a ESP8266 in CUI, Japanese) <http://jaywiggins.com/platformio/arduino/avr/es8266/2015/09/30/platformio-investigation/>`_
|
||||
* Nov 29, 2015 - **Keith Hughes** - `Using PlatformIO for Embedded Projects <http://smartspacestuff.blogspot.com/2015/11/using-platformio-for-embedded-projects.html>`_
|
||||
* Nov 22, 2015 - **Michał Seroczyński** - `Using PlatformIO to get started with Arduino in CLion IDE <http://www.ches.pl/using-platformio-get-started-arduino-clion-ide/>`_
|
||||
|
@ -69,7 +69,7 @@ release = platformio.__version__
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
exclude_patterns = ['_build']
|
||||
exclude_patterns = ['_build', '**/*_extra.rst']
|
||||
|
||||
# The reST default role (used for this markup: `text`) to use for all
|
||||
# documents.
|
||||
|
@ -245,3 +245,8 @@ Archlinux: libncurses.so.5: cannot open shared object file
|
||||
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
Answered in `issue #291 <https://github.com/platformio/platformio/issues/291>`_.
|
||||
|
||||
Monitoring a serial port breaks upload
|
||||
''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
Answered in `issue #384 <https://github.com/platformio/platformio/issues/384>`_.
|
||||
|
@ -363,7 +363,7 @@ BQ
|
||||
- RAM
|
||||
|
||||
* - ``zumbt328``
|
||||
- `BQ ZUM BT-328 board <http://www.bq.com/gb/products/zum.html>`_
|
||||
- `BQ ZUM BT-328 <http://www.bq.com/gb/products/zum.html>`_
|
||||
- ATMEGA328P
|
||||
- 16 MHz
|
||||
- 32 Kb
|
||||
@ -484,26 +484,75 @@ Espressif
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``esp01``
|
||||
- `Espressif ESP8266 ESP-01 board <https://nurdspace.nl/ESP8266>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``esp01_1m``
|
||||
- `Espressif ESP8266 ESP-01-1MB board <https://nurdspace.nl/ESP8266>`_
|
||||
* - ``d1``
|
||||
- `WeMos D1 <http://www.wemos.cc/wiki/doku.php?id=en:d1>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 32 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp12e``
|
||||
- `Espressif ESP8266 ESP-12E board (NodeMCU) <https://nurdspace.nl/ESP8266>`_
|
||||
* - ``d1_mini``
|
||||
- `WeMos D1 mini <http://www.wemos.cc/wiki/doku.php?id=en:d1_mini>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 32 Kb
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp01``
|
||||
- `Espressif Generic ESP8266 ESP-01 <https://nurdspace.nl/ESP8266>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp12e``
|
||||
- `Espressif ESP8266 ESP-12E <https://nurdspace.nl/ESP8266>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp210``
|
||||
- `SweetPea ESP-210 <http://wiki.sweetpeas.se/index.php?title=ESP-210>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``espino``
|
||||
- `ESPino <http://www.espino.io>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``huzzah``
|
||||
- `Adafruit HUZZAH ESP8266 <https://www.adafruit.com/products/2471>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``modwifi``
|
||||
- `Olimex MOD-WIFI-ESP8266(-DEV) <https://www.olimex.com/Products/IoT/MOD-WIFI-ESP8266-DEV/open-source-hardware>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``nodemcu``
|
||||
- `NodeMCU 0.9 & 1.0 <http://www.nodemcu.com/>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``thing``
|
||||
- `SparkFun ESP8266 Thing <https://www.sparkfun.com/products/13231>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 80 Kb
|
||||
|
||||
LightUp
|
||||
~~~~~~~
|
||||
|
@ -71,7 +71,8 @@ The Missing Library Manager. *It's here!*
|
||||
* Automatic library updating
|
||||
* It runs on Windows, Mac OS X, and Linux (+ARM).
|
||||
|
||||
For further details, please refer to :ref:`faq_what_is_platformio`
|
||||
For further details, please refer to
|
||||
:ref:`What is PlatformIO? How does it work? <faq_what_is_platformio>`
|
||||
|
||||
Contents
|
||||
--------
|
||||
@ -94,7 +95,7 @@ Contents
|
||||
|
||||
.. toctree::
|
||||
:caption: Instruments
|
||||
:maxdepth: 2
|
||||
:maxdepth: 3
|
||||
|
||||
Platforms & Boards <platforms/index>
|
||||
frameworks/index
|
||||
|
@ -368,7 +368,7 @@ BQ
|
||||
- RAM
|
||||
|
||||
* - ``zumbt328``
|
||||
- `BQ ZUM BT-328 board <http://www.bq.com/gb/products/zum.html>`_
|
||||
- `BQ ZUM BT-328 <http://www.bq.com/gb/products/zum.html>`_
|
||||
- ATMEGA328P
|
||||
- 16 MHz
|
||||
- 32 Kb
|
||||
|
@ -85,23 +85,74 @@ Espressif
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``esp01``
|
||||
- `Espressif ESP8266 ESP-01 board <https://nurdspace.nl/ESP8266>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``esp01_1m``
|
||||
- `Espressif ESP8266 ESP-01-1MB board <https://nurdspace.nl/ESP8266>`_
|
||||
* - ``d1``
|
||||
- `WeMos D1 <http://www.wemos.cc/wiki/doku.php?id=en:d1>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 32 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp12e``
|
||||
- `Espressif ESP8266 ESP-12E board (NodeMCU) <https://nurdspace.nl/ESP8266>`_
|
||||
* - ``d1_mini``
|
||||
- `WeMos D1 mini <http://www.wemos.cc/wiki/doku.php?id=en:d1_mini>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 32 Kb
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp01``
|
||||
- `Espressif Generic ESP8266 ESP-01 <https://nurdspace.nl/ESP8266>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp12e``
|
||||
- `Espressif ESP8266 ESP-12E <https://nurdspace.nl/ESP8266>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp210``
|
||||
- `SweetPea ESP-210 <http://wiki.sweetpeas.se/index.php?title=ESP-210>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``espino``
|
||||
- `ESPino <http://www.espino.io>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``huzzah``
|
||||
- `Adafruit HUZZAH ESP8266 <https://www.adafruit.com/products/2471>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``modwifi``
|
||||
- `Olimex MOD-WIFI-ESP8266(-DEV) <https://www.olimex.com/Products/IoT/MOD-WIFI-ESP8266-DEV/open-source-hardware>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``nodemcu``
|
||||
- `NodeMCU 0.9 & 1.0 <http://www.nodemcu.com/>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``thing``
|
||||
- `SparkFun ESP8266 Thing <https://www.sparkfun.com/products/13231>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 80 Kb
|
||||
|
||||
.. include:: espressif_extra.rst
|
||||
|
131
docs/platforms/espressif_extra.rst
Normal file
131
docs/platforms/espressif_extra.rst
Normal file
@ -0,0 +1,131 @@
|
||||
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
OTA update
|
||||
----------
|
||||
|
||||
There are 2 options:
|
||||
|
||||
* Directly specify :option:`platformio run --upload-port` in command line
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
platformio run --target upload --upload-port IP_ADDRESS_HERE
|
||||
|
||||
* Specify ``upload_port`` option in :ref:`projectconf`
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[env:myenv]
|
||||
...
|
||||
upload_port = IP_ADDRESS_HERE
|
||||
|
||||
Authentication and upload options
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
You can pass additional options/flags to OTA uploader using
|
||||
``upload_flags`` option in :ref:`projectconf`
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[env:myenv]
|
||||
upload_flags = --port=8266
|
||||
|
||||
Available flags
|
||||
|
||||
* ``--port=ESP_PORT`` ESP8266 ota Port. Default 8266
|
||||
* ``--auth=AUTH`` Set authentication password
|
||||
* ``--spiffs`` Use this option to transmit a SPIFFS image and do not flash
|
||||
the module
|
||||
|
||||
For the full list with available options please run
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
~/.platformio/packages/framework-arduinoespressif/tools/espota.py -h
|
||||
|
||||
Usage: espota.py [options]
|
||||
|
||||
Transmit image over the air to the esp8266 module with OTA support.
|
||||
|
||||
Options:
|
||||
-h, --help show this help message and exit
|
||||
|
||||
Destination:
|
||||
-i ESP_IP, --ip=ESP_IP
|
||||
ESP8266 IP Address.
|
||||
-p ESP_PORT, --port=ESP_PORT
|
||||
ESP8266 ota Port. Default 8266
|
||||
|
||||
Authentication:
|
||||
-a AUTH, --auth=AUTH
|
||||
Set authentication password.
|
||||
|
||||
Image:
|
||||
-f FILE, --file=FILE
|
||||
Image file.
|
||||
-s, --spiffs Use this option to transmit a SPIFFS image and do not
|
||||
flash the module.
|
||||
|
||||
Output:
|
||||
-d, --debug Show debug output. And override loglevel with debug.
|
||||
-r, --progress Show progress output. Does not work for ArduinoIDE
|
||||
|
||||
Custom CPU Frequency and Upload Speed
|
||||
-------------------------------------
|
||||
|
||||
See :ref:`projectconf_board_f_cpu` and :ref:`projectconf_upload_speed` options
|
||||
from :ref:`projectconf`
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[env:myenv]
|
||||
# set frequency to 40MHz
|
||||
board_f_cpu = 40000000L
|
||||
|
||||
upload_speed = 9600
|
||||
|
||||
|
||||
Custom Flash Size
|
||||
-----------------
|
||||
|
||||
The list with preconfigured LD scripts is located in public repository
|
||||
`platformio-pkg-ldscripts <https://github.com/platformio/platformio-pkg-ldscripts>`_.
|
||||
|
||||
* ``esp8266.flash.512k0.ld`` 512K (no SPIFFS)
|
||||
* ``esp8266.flash.512k64.ld`` 512K (64K SPIFFS)
|
||||
* ``esp8266.flash.1m64.ld`` 1M (64K SPIFFS)
|
||||
* ``esp8266.flash.1m128.ld`` 1M (128K SPIFFS)
|
||||
* ``esp8266.flash.1m256.ld`` 1M (256K SPIFFS)
|
||||
* ``esp8266.flash.1m512.ld`` 1M (512K SPIFFS)
|
||||
* ``esp8266.flash.2m.ld`` 2M (1M SPIFFS)
|
||||
* ``esp8266.flash.4m1.ld`` 4M (1M SPIFFS)
|
||||
* ``esp8266.flash.4m.ld`` 4M (3M SPIFFS)
|
||||
* ``esp8266.flash.8m.ld`` 8M (7M SPIFFS)
|
||||
* ``esp8266.flash.16m.ld`` 16M (15M SPIFFS)
|
||||
|
||||
To override default LD script please use :ref:`projectconf_build_flags` from
|
||||
:ref:`projectconf`.
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[env:myenv]
|
||||
build_flags = -Wl,-Tesp8266.flash.4m.ld
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for Espressif platform <https://github.com/platformio/platformio/tree/develop/examples/espressif>`_.
|
||||
|
||||
* `Native SDK <https://github.com/platformio/platformio/tree/develop/examples/espressif/esp8266-native>`_
|
||||
* `WebServer <https://github.com/platformio/platformio/tree/develop/examples/espressif/esp8266-webserver>`_
|
||||
* `WiFiScan <https://github.com/platformio/platformio/tree/develop/examples/espressif/esp8266-wifiscan>`_
|
@ -176,6 +176,7 @@ is described `here <http://www.nongnu.org/avr-libc/user-manual/>`_.
|
||||
The full list of ``board_mcu`` for the popular embedded platforms you can find
|
||||
in *Boards* section of :ref:`platforms`. See "Microcontroller" column.
|
||||
|
||||
.. _projectconf_board_f_cpu:
|
||||
|
||||
``board_f_cpu``
|
||||
^^^^^^^^^^^^^^^
|
||||
@ -209,6 +210,7 @@ To print all available serial ports use :ref:`cmd_serialports` command.
|
||||
|
||||
A protocol that "uploader" tool uses to talk to the board.
|
||||
|
||||
.. _projectconf_upload_speed:
|
||||
|
||||
``upload_speed``
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
@ -30,9 +30,6 @@ Quickstart
|
||||
|
||||
$ platformio init --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||
|
||||
Would you like to enable firmware auto-uploading when project is successfully built using `platformio run` command?
|
||||
Don't forget that you can upload firmware manually using `platformio run --target upload` command. [y/N]: y
|
||||
|
||||
The current working directory *** will be used for the new project.
|
||||
You can specify another project directory via
|
||||
`platformio init -d %PATH_TO_THE_PROJECT_DIR%` command.
|
||||
@ -66,10 +63,9 @@ Change working directory to the project's root where is located
|
||||
# clean project
|
||||
$ platformio run --target clean
|
||||
|
||||
If you don't have installed required platforms, then *PlatformIO* will propose
|
||||
you to install them automatically.
|
||||
|
||||
Further examples can be found in `PlatformIO Repository <https://github.com/platformio/platformio/tree/develop/examples>`_.
|
||||
Useful links:
|
||||
|
||||
Also, for more detailed information as for commands please go to
|
||||
:ref:`userguide` sections.
|
||||
* `Project examples <https://github.com/platformio/platformio/tree/develop/examples>`_
|
||||
* :ref:`userguide` for PlatformIO commands
|
||||
* `Quickstart for Espressif ESP8266 <https://github.com/esp8266/Arduino/blob/master/doc/platformio.md>`_
|
||||
|
@ -191,13 +191,13 @@ Do not apply any encodings/transformations
|
||||
--exit-char
|
||||
|
||||
ASCII code of special character that is used to exit the application,
|
||||
default ``0x1d``
|
||||
default ``29`` (DEC)
|
||||
|
||||
.. option::
|
||||
--menu-char
|
||||
|
||||
ASCII code of special character that is used to control miniterm (menu),
|
||||
default ``0x14``
|
||||
default ``20`` (DEC)
|
||||
|
||||
.. option::
|
||||
---quiet
|
||||
|
@ -17,7 +17,22 @@
|
||||
# Automatic targets - enable auto-uploading
|
||||
# targets = upload
|
||||
|
||||
[env:esp01_8266]
|
||||
[env:esp01]
|
||||
platform = espressif
|
||||
framework = arduino
|
||||
board = esp01
|
||||
|
||||
[env:nodemcu]
|
||||
platform = espressif
|
||||
framework = arduino
|
||||
board = nodemcu
|
||||
|
||||
[env:huzzah]
|
||||
platform = espressif
|
||||
framework = arduino
|
||||
board = huzzah
|
||||
|
||||
[env:thing]
|
||||
platform = espressif
|
||||
framework = arduino
|
||||
board = thing
|
||||
|
@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
VERSION = (2, 6, 0)
|
||||
VERSION = (2, 6, 1)
|
||||
__version__ = ".".join([str(s) for s in VERSION])
|
||||
|
||||
__title__ = "platformio"
|
||||
|
@ -109,7 +109,11 @@ def main():
|
||||
An unexpected error occurred. Further steps:
|
||||
|
||||
* Verify that you have the latest version of PlatformIO using
|
||||
`platformio upgrade` command
|
||||
`pip install -U platformio` command
|
||||
|
||||
* Try to find answer in FAQ Troubleshooting section
|
||||
http://docs.platformio.org/en/latest/faq.html
|
||||
|
||||
* Report this problem to the developers
|
||||
https://github.com/platformio/platformio/issues
|
||||
|
||||
|
@ -2,67 +2,230 @@
|
||||
"esp01": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP01",
|
||||
"f_cpu": "80000000L",
|
||||
"ldscript": "esp8266.flash.512k.ld",
|
||||
"ldscript": "esp8266.flash.512k64.ld",
|
||||
"mcu": "esp8266",
|
||||
"variant": "generic"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Espressif ESP8266 ESP-01 board",
|
||||
"name": "Espressif Generic ESP8266 ESP-01",
|
||||
"platform": "espressif",
|
||||
"upload": {
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_ram_size": 81920,
|
||||
"maximum_size": 524288,
|
||||
"protocol": "arduino",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "https://nurdspace.nl/ESP8266",
|
||||
"vendor": "Espressif"
|
||||
},
|
||||
"esp01_1m": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266",
|
||||
"f_cpu": "80000000L",
|
||||
"ldscript": "esp8266.flash.1m128.ld",
|
||||
"mcu": "esp8266",
|
||||
"variant": "generic"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Espressif ESP8266 ESP-01-1MB board",
|
||||
"platform": "espressif",
|
||||
"upload": {
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_size": 1048576,
|
||||
"protocol": "arduino",
|
||||
"resetmethod": "ck",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "https://nurdspace.nl/ESP8266",
|
||||
"vendor": "Espressif"
|
||||
},
|
||||
|
||||
"esp12e": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DARDUINO_ESP8266_ESP12 -DARDUINO_ARCH_ESP8266 -DESP8266",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP12",
|
||||
"f_cpu": "80000000L",
|
||||
"ldscript": "esp8266.flash.4m.ld",
|
||||
"mcu": "esp8266",
|
||||
"variant": "nodemcu"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Espressif ESP8266 ESP-12E board (NodeMCU)",
|
||||
"name": "Espressif ESP8266 ESP-12E",
|
||||
"platform": "espressif",
|
||||
"upload": {
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_size": 4194304,
|
||||
"protocol": "arduino",
|
||||
"maximum_ram_size": 81920,
|
||||
"maximum_size": 1048576,
|
||||
"resetmethod": "nodemcu",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "https://nurdspace.nl/ESP8266",
|
||||
"vendor": "Espressif"
|
||||
},
|
||||
|
||||
"nodemcu": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP12",
|
||||
"f_cpu": "80000000L",
|
||||
"ldscript": "esp8266.flash.4m.ld",
|
||||
"mcu": "esp8266",
|
||||
"variant": "nodemcu"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "NodeMCU 0.9 & 1.0",
|
||||
"platform": "espressif",
|
||||
"upload": {
|
||||
"maximum_ram_size": 81920,
|
||||
"maximum_size": 1048576,
|
||||
"resetmethod": "nodemcu",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://www.nodemcu.com/",
|
||||
"vendor": "Espressif"
|
||||
},
|
||||
|
||||
"huzzah": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP12",
|
||||
"f_cpu": "80000000L",
|
||||
"ldscript": "esp8266.flash.4m.ld",
|
||||
"mcu": "esp8266",
|
||||
"variant": "adafruit"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Adafruit HUZZAH ESP8266",
|
||||
"platform": "espressif",
|
||||
"upload": {
|
||||
"maximum_ram_size": 81920,
|
||||
"maximum_size": 1048576,
|
||||
"resetmethod": "nodemcu",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "https://www.adafruit.com/products/2471",
|
||||
"vendor": "Espressif"
|
||||
},
|
||||
|
||||
"modwifi": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_MOD_WIFI_ESP8266",
|
||||
"f_cpu": "80000000L",
|
||||
"ldscript": "esp8266.flash.2m.ld",
|
||||
"mcu": "esp8266",
|
||||
"variant": "generic"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Olimex MOD-WIFI-ESP8266(-DEV)",
|
||||
"platform": "espressif",
|
||||
"upload": {
|
||||
"maximum_ram_size": 81920,
|
||||
"maximum_size": 1048576,
|
||||
"resetmethod": "ck",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "https://www.olimex.com/Products/IoT/MOD-WIFI-ESP8266-DEV/open-source-hardware",
|
||||
"vendor": "Espressif"
|
||||
},
|
||||
|
||||
"thing": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_THING",
|
||||
"f_cpu": "80000000L",
|
||||
"ldscript": "esp8266.flash.512k64.ld",
|
||||
"mcu": "esp8266",
|
||||
"variant": "thing"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "SparkFun ESP8266 Thing",
|
||||
"platform": "espressif",
|
||||
"upload": {
|
||||
"maximum_ram_size": 81920,
|
||||
"maximum_size": 524288,
|
||||
"resetmethod": "nodemcu",
|
||||
"require_upload_port" : true,
|
||||
"speed": 921600
|
||||
},
|
||||
"url": "https://www.sparkfun.com/products/13231",
|
||||
"vendor": "Espressif"
|
||||
},
|
||||
|
||||
"esp210": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP210",
|
||||
"f_cpu": "80000000L",
|
||||
"ldscript": "esp8266.flash.4m.ld",
|
||||
"mcu": "esp8266",
|
||||
"variant": "generic"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "SweetPea ESP-210",
|
||||
"platform": "espressif",
|
||||
"upload": {
|
||||
"maximum_ram_size": 81920,
|
||||
"maximum_size": 1048576,
|
||||
"resetmethod": "ck",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://wiki.sweetpeas.se/index.php?title=ESP-210",
|
||||
"vendor": "Espressif"
|
||||
},
|
||||
|
||||
"d1": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP12",
|
||||
"f_cpu": "80000000L",
|
||||
"ldscript": "esp8266.flash.4m.ld",
|
||||
"mcu": "esp8266",
|
||||
"variant": "d1"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "WeMos D1",
|
||||
"platform": "espressif",
|
||||
"upload": {
|
||||
"maximum_ram_size": 81920,
|
||||
"maximum_size": 1048576,
|
||||
"resetmethod": "nodemcu",
|
||||
"require_upload_port" : true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "http://www.wemos.cc/wiki/doku.php?id=en:d1",
|
||||
"vendor": "Espressif"
|
||||
},
|
||||
|
||||
"d1_mini": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP12",
|
||||
"f_cpu": "80000000L",
|
||||
"ldscript": "esp8266.flash.4m.ld",
|
||||
"mcu": "esp8266",
|
||||
"variant": "d1_mini"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "WeMos D1 mini",
|
||||
"platform": "espressif",
|
||||
"upload": {
|
||||
"maximum_ram_size": 81920,
|
||||
"maximum_size": 1048576,
|
||||
"resetmethod": "nodemcu",
|
||||
"require_upload_port" : true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "http://www.wemos.cc/wiki/doku.php?id=en:d1_mini",
|
||||
"vendor": "Espressif"
|
||||
},
|
||||
|
||||
"espino": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP12",
|
||||
"f_cpu": "80000000L",
|
||||
"ldscript": "esp8266.flash.4m1m.ld",
|
||||
"mcu": "esp8266",
|
||||
"variant": "espino"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "ESPino",
|
||||
"platform": "espressif",
|
||||
"upload": {
|
||||
"maximum_ram_size": 81920,
|
||||
"maximum_size": 1048576,
|
||||
"resetmethod": "ck",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://www.espino.io",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
}
|
||||
|
@ -459,7 +459,7 @@
|
||||
"variant": "eightanaloginputs"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "BQ ZUM BT-328 board",
|
||||
"name": "BQ ZUM BT-328",
|
||||
"platform": "atmelavr",
|
||||
"upload": {
|
||||
"disable_flushing": true,
|
||||
|
@ -18,7 +18,6 @@
|
||||
|
||||
"raspberrypi_2b": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DRASPBERRYPI -DRASPBERRYPI2",
|
||||
"f_cpu": "900000000L",
|
||||
"mcu": "bcm2836"
|
||||
|
@ -114,6 +114,7 @@ DefaultEnvironment(
|
||||
)
|
||||
|
||||
env = DefaultEnvironment()
|
||||
env.Prepend(LIBPATH=[join("$PIOPACKAGES_DIR", "ldscripts")])
|
||||
|
||||
if "BOARD" in env:
|
||||
try:
|
||||
|
@ -87,13 +87,12 @@ env.Replace(
|
||||
UPLOADER=join("$PIOPACKAGES_DIR", "tool-esptool", "esptool"),
|
||||
UPLOADERFLAGS=[
|
||||
"-vv",
|
||||
"-cd", "ck",
|
||||
"-cd", "${BOARD_OPTIONS['upload']['resetmethod']}",
|
||||
"-cb", "$UPLOAD_SPEED",
|
||||
"-cp", "$UPLOAD_PORT",
|
||||
"-ca", "0x00000",
|
||||
"-cf", "$SOURCE"
|
||||
],
|
||||
UPLOADCMD='$UPLOADER $UPLOADERFLAGS',
|
||||
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS',
|
||||
|
||||
PROGNAME="firmware",
|
||||
PROGSUFFIX=".elf"
|
||||
@ -105,9 +104,10 @@ env.Append(
|
||||
BUILDERS=dict(
|
||||
ElfToBin=Builder(
|
||||
action=" ".join([
|
||||
"$UPLOADER",
|
||||
"-eo", join("$PLATFORMFW_DIR", "bootloaders",
|
||||
"eboot", "eboot.elf"),
|
||||
'"$UPLOADER"',
|
||||
"-eo",
|
||||
'"%s"' % join("$PLATFORMFW_DIR", "bootloaders",
|
||||
"eboot", "eboot.elf"),
|
||||
"-bo", "$TARGET",
|
||||
"-bm", "dio",
|
||||
"-bf", "${BOARD_OPTIONS['build']['f_cpu'][:2]}",
|
||||
@ -148,7 +148,7 @@ if "FRAMEWORK" in env:
|
||||
"-i", "$UPLOAD_PORT",
|
||||
"-f", "$SOURCE"
|
||||
],
|
||||
UPLOADCMD='$UPLOADEROTA $UPLOADERFLAGS'
|
||||
UPLOADCMD='"$UPLOADEROTA" $UPLOADERFLAGS'
|
||||
)
|
||||
except socket.error:
|
||||
pass
|
||||
@ -164,7 +164,7 @@ else:
|
||||
BUILDERS=dict(
|
||||
ElfToBin=Builder(
|
||||
action=" ".join([
|
||||
"$UPLOADER",
|
||||
'"$UPLOADER"',
|
||||
"-eo", "$SOURCES",
|
||||
"-bo", "${TARGETS[0]}",
|
||||
"-bm", "qio",
|
||||
|
@ -61,7 +61,7 @@ if not isfile(join(env.subst("$PIOPACKAGES_DIR"), "ldscripts", ldscript)):
|
||||
if "mbed" in env.get("BOARD_OPTIONS", {}).get("frameworks", {}):
|
||||
env.Append(
|
||||
LINKFLAGS=[
|
||||
"-Wl,-T",
|
||||
'-Wl,-T"%s"' %
|
||||
join(
|
||||
"$PIOPACKAGES_DIR", "framework-mbed", "variant",
|
||||
env.subst("$BOARD").upper(), "mbed",
|
||||
|
@ -41,10 +41,11 @@ if env.subst("$UPLOAD_PROTOCOL") == "gdb":
|
||||
UPLOADERFLAGS=[
|
||||
join("$BUILD_DIR", "firmware.elf"),
|
||||
"-batch",
|
||||
"-x", join("$PROJECT_DIR", "upload.gdb")
|
||||
"-x",
|
||||
'"%s"' % join("$PROJECT_DIR", "upload.gdb")
|
||||
],
|
||||
|
||||
UPLOADCMD="$UPLOADER $UPLOADERFLAGS"
|
||||
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS'
|
||||
)
|
||||
else:
|
||||
env.Replace(
|
||||
@ -55,7 +56,7 @@ else:
|
||||
"0x08000000" # flash start adress
|
||||
],
|
||||
|
||||
UPLOADCMD="$UPLOADER $UPLOADERFLAGS"
|
||||
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS'
|
||||
)
|
||||
|
||||
|
||||
|
@ -68,7 +68,7 @@ env.Replace(
|
||||
"$UPLOAD_PROTOCOL" if system() != "Windows" else "tilib",
|
||||
"--force-reset"
|
||||
],
|
||||
UPLOADCMD='$UPLOADER $UPLOADERFLAGS "prog $SOURCES"',
|
||||
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS "prog $SOURCES"',
|
||||
|
||||
PROGNAME="firmware",
|
||||
PROGSUFFIX=".elf"
|
||||
|
@ -28,7 +28,7 @@ SConscript(env.subst(join("$PIOBUILDER_DIR", "scripts", "basearm.py")))
|
||||
|
||||
env.Replace(
|
||||
UPLOADER=join("$PIOPACKAGES_DIR", "tool-lm4flash", "lm4flash"),
|
||||
UPLOADCMD="$UPLOADER $SOURCES"
|
||||
UPLOADCMD='"$UPLOADER" $SOURCES'
|
||||
)
|
||||
|
||||
env.Append(
|
||||
|
@ -26,9 +26,13 @@ def _huge_sources_hook(sources):
|
||||
|
||||
tmp_file = join(gettempdir(), "pioarargs-%s" % md5(_sources).hexdigest())
|
||||
with open(tmp_file, "w") as f:
|
||||
f.write(_sources)
|
||||
# fix space in paths
|
||||
for line in _sources.split(".o "):
|
||||
if not line.endswith(".o"):
|
||||
line += ".o"
|
||||
f.write('"%s" ' % line)
|
||||
|
||||
return "@%s" % tmp_file
|
||||
return '@"%s"' % tmp_file
|
||||
|
||||
|
||||
def exists(_):
|
||||
|
@ -58,7 +58,7 @@ def BuildProgram(env):
|
||||
if ("LDSCRIPT_PATH" in env and
|
||||
not any(["-Wl,-T" in f for f in env['LINKFLAGS']])):
|
||||
env.Append(
|
||||
LINKFLAGS=["-Wl,-T", "$LDSCRIPT_PATH"]
|
||||
LINKFLAGS=['-Wl,-T"$LDSCRIPT_PATH"']
|
||||
)
|
||||
|
||||
# enable "cyclic reference" for linker
|
||||
@ -78,7 +78,9 @@ def BuildProgram(env):
|
||||
|
||||
env.Append(
|
||||
CPPDEFINES=["PLATFORMIO={0:02d}{1:02d}{2:02d}".format(
|
||||
*pioversion_to_intstr())]
|
||||
*pioversion_to_intstr())],
|
||||
LIBS=deplibs,
|
||||
LIBPATH=["$BUILD_DIR"]
|
||||
)
|
||||
|
||||
return env.Program(
|
||||
@ -86,9 +88,7 @@ def BuildProgram(env):
|
||||
env.LookupSources(
|
||||
"$BUILDSRC_DIR", "$PROJECTSRC_DIR", duplicate=False,
|
||||
src_filter=getenv("PLATFORMIO_SRC_FILTER",
|
||||
env.get("SRC_FILTER"))),
|
||||
LIBS=env.get("LIBS", []) + deplibs,
|
||||
LIBPATH=env.get("LIBPATH", []) + ["$BUILD_DIR"]
|
||||
env.get("SRC_FILTER")))
|
||||
)
|
||||
|
||||
|
||||
|
@ -24,6 +24,9 @@
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.1624502120" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.239157887" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
% for include in includes:
|
||||
% if "toolchain" in include:
|
||||
% continue
|
||||
% end
|
||||
% if include.startswith(user_home_dir):
|
||||
% if "windows" in systype:
|
||||
<listOptionValue builtIn="false" value="${USERPROFILE}{{include.replace(user_home_dir, '')}}"/>
|
||||
@ -45,6 +48,9 @@
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.54121539" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1096940598" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
% for include in includes:
|
||||
% if "toolchain" in include:
|
||||
% continue
|
||||
% end
|
||||
% if include.startswith(user_home_dir):
|
||||
% if "windows" in systype:
|
||||
<listOptionValue builtIn="false" value="${USERPROFILE}{{include.replace(user_home_dir, '')}}"/>
|
||||
@ -66,6 +72,9 @@
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.1310559623" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.41298875" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
% for include in includes:
|
||||
% if "toolchain" in include:
|
||||
% continue
|
||||
% end
|
||||
% if include.startswith(user_home_dir):
|
||||
% if "windows" in systype:
|
||||
<listOptionValue builtIn="false" value="${USERPROFILE}{{include.replace(user_home_dir, '')}}"/>
|
||||
|
@ -22,6 +22,7 @@ import uuid
|
||||
from collections import deque
|
||||
from os import getenv
|
||||
from time import sleep, time
|
||||
from traceback import format_exc
|
||||
|
||||
import click
|
||||
import requests
|
||||
@ -289,12 +290,13 @@ def on_event(category, action, label=None, value=None, screen_name=None):
|
||||
def on_exception(e):
|
||||
if isinstance(e, exception.AbortedByUser):
|
||||
return
|
||||
mp = MeasurementProtocol()
|
||||
mp['exd'] = "%s: %s" % (type(e).__name__, e)
|
||||
mp['exf'] = int(any([
|
||||
is_crash = any([
|
||||
not isinstance(e, exception.PlatformioException),
|
||||
"Error" in e.__class__.__name__
|
||||
]))
|
||||
])
|
||||
mp = MeasurementProtocol()
|
||||
mp['exd'] = "%s: %s" % (type(e).__name__, format_exc() if is_crash else e)
|
||||
mp['exf'] = 1 if is_crash else 0
|
||||
mp.send("exception")
|
||||
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
# limitations under the License.
|
||||
|
||||
from math import ceil
|
||||
from os.path import dirname, join, realpath
|
||||
from os.path import dirname, isfile, join, realpath
|
||||
from sys import exit as sys_exit
|
||||
from sys import path
|
||||
|
||||
@ -215,11 +215,13 @@ Boards
|
||||
|
||||
def update_platform_docs():
|
||||
for name in PlatformFactory.get_platforms().keys():
|
||||
rst_path = join(
|
||||
dirname(realpath(__file__)), "..", "docs", "platforms",
|
||||
"%s.rst" % name)
|
||||
platforms_dir = join(dirname(realpath(__file__)),
|
||||
"..", "docs", "platforms")
|
||||
rst_path = join(platforms_dir, "%s.rst" % name)
|
||||
with open(rst_path, "w") as f:
|
||||
f.write(generate_platform(name))
|
||||
if isfile(join(platforms_dir, "%s_extra.rst" % name)):
|
||||
f.write("\n.. include:: %s_extra.rst\n" % name)
|
||||
|
||||
|
||||
def generate_framework(type_, data):
|
||||
@ -302,10 +304,13 @@ Boards
|
||||
|
||||
def update_framework_docs():
|
||||
for name, data in util.get_frameworks().items():
|
||||
rst_path = join(util.get_source_dir(), "..", "docs", "frameworks",
|
||||
"%s.rst" % name)
|
||||
frameworks_dir = join(dirname(realpath(__file__)),
|
||||
"..", "docs", "frameworks")
|
||||
rst_path = join(frameworks_dir, "%s.rst" % name)
|
||||
with open(rst_path, "w") as f:
|
||||
f.write(generate_framework(name, data))
|
||||
if isfile(join(frameworks_dir, "%s_extra.rst" % name)):
|
||||
f.write("\n.. include:: %s_extra.rst\n" % name)
|
||||
|
||||
|
||||
def update_create_platform_doc():
|
||||
|
4
setup.py
4
setup.py
@ -74,7 +74,7 @@ setup(
|
||||
keywords=[
|
||||
"iot", "build tool", "compiler", "builder", "library manager",
|
||||
"embedded", "ci", "continuous integration", "arduino", "mbed",
|
||||
"framework", "ide", "ide integration", "library.json", "make", "cmake",
|
||||
"makefile", "mk"
|
||||
"esp8266", "framework", "ide", "ide integration", "library.json",
|
||||
"make", "cmake", "makefile", "mk"
|
||||
]
|
||||
)
|
||||
|
Reference in New Issue
Block a user