mirror of
https://github.com/platformio/platformio-core.git
synced 2025-12-24 07:38:09 +01:00
Compare commits
199 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a87c0c8a7a | ||
|
|
f15bb1d545 | ||
|
|
0b0064afd0 | ||
|
|
4f2c207bb3 | ||
|
|
9d1128af51 | ||
|
|
855c28d956 | ||
|
|
a588e88fec | ||
|
|
ca2adbac13 | ||
|
|
df0373c4fa | ||
|
|
4c10c85937 | ||
|
|
e6d3f6bc3f | ||
|
|
e821a438fe | ||
|
|
5c53b93a49 | ||
|
|
c61ff611fb | ||
|
|
ef9e1a0170 | ||
|
|
98f8c6b25a | ||
|
|
262b12524b | ||
|
|
826b518048 | ||
|
|
dfc594fc39 | ||
|
|
0b862735b2 | ||
|
|
a1d9bc7cee | ||
|
|
f16c05c429 | ||
|
|
d7fa255166 | ||
|
|
60b3fef37a | ||
|
|
7b8fb77250 | ||
|
|
79a4a943dc | ||
|
|
7ad8d08037 | ||
|
|
4f57cc52d4 | ||
|
|
ba23475425 | ||
|
|
f88466f3cd | ||
|
|
60be939a1f | ||
|
|
2dd01247e1 | ||
|
|
77a4d3f773 | ||
|
|
6cbd286836 | ||
|
|
b447e0aeab | ||
|
|
b165c3f543 | ||
|
|
d246ef9a2e | ||
|
|
8fd553fbfc | ||
|
|
f4cebfdbae | ||
|
|
2fdc57055b | ||
|
|
03b0b61aa1 | ||
|
|
3984f80bae | ||
|
|
581fd356cd | ||
|
|
0056651447 | ||
|
|
a0d9173b4f | ||
|
|
f12c721f44 | ||
|
|
a73a710364 | ||
|
|
e33e950712 | ||
|
|
f767feeef9 | ||
|
|
fd924f29f3 | ||
|
|
7f47a2fd25 | ||
|
|
8fe8318c77 | ||
|
|
ae81ec043d | ||
|
|
9ba96d3673 | ||
|
|
db204941ed | ||
|
|
5cd3f9d84d | ||
|
|
9160e61ac7 | ||
|
|
63ae732e72 | ||
|
|
ac9c3f88f9 | ||
|
|
52f1502051 | ||
|
|
e8acc9ca39 | ||
|
|
935f7cd5c3 | ||
|
|
e8290054c2 | ||
|
|
2c7c74743d | ||
|
|
4dd90d5493 | ||
|
|
241ad8174f | ||
|
|
98f5f73a41 | ||
|
|
62ad72fb11 | ||
|
|
4552931b95 | ||
|
|
39f9789fa1 | ||
|
|
8d7ff7f37e | ||
|
|
59606410f4 | ||
|
|
486529b112 | ||
|
|
b16938937b | ||
|
|
2ba3603a3d | ||
|
|
f6b9fd02b2 | ||
|
|
85becf861f | ||
|
|
1d919e5874 | ||
|
|
1089c55b26 | ||
|
|
51dd86e6da | ||
|
|
748437ef7a | ||
|
|
d219999892 | ||
|
|
53bd1df8e5 | ||
|
|
2b88ef134b | ||
|
|
2eca835ec7 | ||
|
|
8d94a62b9c | ||
|
|
4035b9ac6c | ||
|
|
31a110c37f | ||
|
|
47c238b1eb | ||
|
|
72c4db25f0 | ||
|
|
50f9186682 | ||
|
|
2cd22f725e | ||
|
|
1cab0c168e | ||
|
|
5dac4e3af6 | ||
|
|
09032fb4a5 | ||
|
|
48a8086519 | ||
|
|
c62a3f8ee6 | ||
|
|
682e435ded | ||
|
|
cdcf075635 | ||
|
|
7e027db02b | ||
|
|
4abaa67580 | ||
|
|
13d43425e5 | ||
|
|
0ba315243b | ||
|
|
9655ca229f | ||
|
|
b842a1d9b1 | ||
|
|
2978133862 | ||
|
|
7422b99b42 | ||
|
|
d04a7de26b | ||
|
|
68d834fba0 | ||
|
|
64c9004036 | ||
|
|
350fb885b8 | ||
|
|
8d03f2dc80 | ||
|
|
220dcd0f5c | ||
|
|
3671d7549d | ||
|
|
a38910b381 | ||
|
|
941b8e84f5 | ||
|
|
382c860d9b | ||
|
|
3dd51a442d | ||
|
|
ed21e8c7b2 | ||
|
|
2b6ba32b2c | ||
|
|
14f582faeb | ||
|
|
768ac77ea2 | ||
|
|
f75a7c91eb | ||
|
|
104132c5d3 | ||
|
|
3a315c5575 | ||
|
|
91fb714250 | ||
|
|
10d868efa4 | ||
|
|
3b8bc42266 | ||
|
|
9fb7f251f6 | ||
|
|
5398dbef95 | ||
|
|
a4345cedc5 | ||
|
|
ba574667c7 | ||
|
|
f2c1e279c9 | ||
|
|
60ff546fec | ||
|
|
f6088cbbe1 | ||
|
|
4b093dcdbb | ||
|
|
c9020d4879 | ||
|
|
c5b5e80de4 | ||
|
|
c1a8fdb940 | ||
|
|
1c8de51054 | ||
|
|
34c171f9fd | ||
|
|
9b2d49455a | ||
|
|
730b2371df | ||
|
|
f1afa864cd | ||
|
|
439cd77db8 | ||
|
|
4c35870dff | ||
|
|
9f3624d26e | ||
|
|
ac4e8514db | ||
|
|
646123f9ab | ||
|
|
11ef9dbdcb | ||
|
|
f3526b1d95 | ||
|
|
45d5159fe3 | ||
|
|
439e6b4ccf | ||
|
|
fb08322c17 | ||
|
|
c815e0fadc | ||
|
|
190ffab76d | ||
|
|
882bddf77e | ||
|
|
4f1e1a38c9 | ||
|
|
a9c02c9cbc | ||
|
|
331cfb5b54 | ||
|
|
0b80ed6c2b | ||
|
|
38967eab64 | ||
|
|
3ad1ad4ef1 | ||
|
|
0c8f469246 | ||
|
|
03d9351dec | ||
|
|
b3fc6617e5 | ||
|
|
1fdc2e3091 | ||
|
|
c773c8f5d5 | ||
|
|
b188a05b69 | ||
|
|
d7ca3f15a4 | ||
|
|
406e240de1 | ||
|
|
f3689ac157 | ||
|
|
ce72ee04f4 | ||
|
|
694121d49a | ||
|
|
250b39bcc8 | ||
|
|
c74a2b4529 | ||
|
|
a1e7ce415b | ||
|
|
ab15bafc5b | ||
|
|
f6014d2e52 | ||
|
|
35a602cfef | ||
|
|
6ecd86a244 | ||
|
|
0cb28f906e | ||
|
|
1a305f2dd7 | ||
|
|
cd22f5197b | ||
|
|
b3d27b42ad | ||
|
|
ab3a5331c1 | ||
|
|
9cbe12fbb8 | ||
|
|
056cc08d68 | ||
|
|
69effbfedb | ||
|
|
d881dfb63c | ||
|
|
d89b2828e3 | ||
|
|
75ca6c6e52 | ||
|
|
304c8b7184 | ||
|
|
3c46c17242 | ||
|
|
aca646e6b9 | ||
|
|
b587927687 | ||
|
|
3edc336f62 | ||
|
|
eee6685c59 | ||
|
|
76b5434157 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -5,3 +5,4 @@
|
||||
docs/_build
|
||||
dist
|
||||
build
|
||||
.cache
|
||||
|
||||
21
CONTRIBUTING.md
Normal file
21
CONTRIBUTING.md
Normal file
@@ -0,0 +1,21 @@
|
||||
Contributing
|
||||
------------
|
||||
|
||||
To get started, <a href="https://www.clahub.com/agreements/platformio/platformio">sign the Contributor License Agreement</a>.
|
||||
|
||||
1. Fork the repository on GitHub.
|
||||
2. Make a branch off of ``develop``
|
||||
3. Run ``pip install tox``
|
||||
4. Go to the root of project where is located ``tox.ini`` and run ``tox -e develop``
|
||||
5. Activate current development environment:
|
||||
|
||||
* Windows: ``.tox\develop\Scripts\activate``
|
||||
* Bash/ZSH: ``source .tox/develop/bin/activate``
|
||||
* Fish: ``source .tox/bin/activate.fish``
|
||||
|
||||
6. Make changes to code, documentation, etc.
|
||||
7. Lint source code ``tox -e lint``
|
||||
8. Run the tests ``tox -e py27``
|
||||
9. Build documentation ``tox -e docs`` (creates a directory _build under docs where you can find the html)
|
||||
10. Commit changes to your forked repository
|
||||
11. Submit a Pull Request on GitHub.
|
||||
154
HISTORY.rst
154
HISTORY.rst
@@ -4,6 +4,158 @@ Release Notes
|
||||
PlatformIO 2.0
|
||||
--------------
|
||||
|
||||
2.11.2 (2016-08-02)
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Improved support for `Microchip PIC32 <http://docs.platformio.org/en/latest/platforms/microchippic32.html>`__ development platform and ChipKIT boards
|
||||
(`issue #438 <https://github.com/platformio/platformio/issues/438>`_)
|
||||
* Added support for Pinoccio Scout board
|
||||
(`issue #52 <https://github.com/platformio/platformio/issues/52>`_)
|
||||
* Added support for `Teensy USB Features <http://docs.platformio.org/en/latest/platforms/teensy.html#usb-features>`__
|
||||
(HID, SERIAL_HID, DISK, DISK_SDFLASH, MIDI, etc.)
|
||||
(`issue #722 <https://github.com/platformio/platformio/issues/722>`_)
|
||||
* Switched to built-in GCC LwIP library for Espressif development platform
|
||||
* Added support for local ``--echo`` for Serial Port Monitor
|
||||
(`issue #733 <https://github.com/platformio/platformio/issues/733>`_)
|
||||
* Updated ``udev`` rules for the new STM32F407DISCOVERY boards
|
||||
(`issue #731 <https://github.com/platformio/platformio/issues/731>`_)
|
||||
* Implemented firmware merging with base firmware for Nordic nRF51 development platform
|
||||
(`issue #500 <https://github.com/platformio/platformio/issues/500>`_,
|
||||
`issue #533 <https://github.com/platformio/platformio/issues/533>`_)
|
||||
* Fixed Project Generator for ESP8266 and ARM mbed based projects
|
||||
(resolves incorrect linter errors)
|
||||
* Fixed broken LD Script for Element14 chipKIT Pi board
|
||||
(`issue #725 <https://github.com/platformio/platformio/issues/725>`_)
|
||||
* Fixed firmware uploading to Atmel SAMD21-XPRO board using ARM mbed framework
|
||||
(`issue #732 <https://github.com/platformio/platformio/issues/732>`_)
|
||||
|
||||
2.11.1 (2016-07-12)
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Added support for Arduino M0, M0 Pro and Tian boards
|
||||
(`issue #472 <https://github.com/platformio/platformio/issues/472>`_)
|
||||
* Added support for Microchip chipKIT Lenny board
|
||||
* Updated Microchip PIC32 Arduino framework to v1.2.1
|
||||
* Documented `uploading of EEPROM data <http://docs.platformio.org/en/latest/platforms/atmelavr.html#upload-eeprom-data>`__
|
||||
(from EEMEM directive)
|
||||
* Added ``Rebuild C/C++ Project Index`` target to CLion and Eclipse IDEs
|
||||
* Improved project generator for `CLion IDE <http://docs.platformio.org/en/latest/ide/clion.html>`__
|
||||
* Added ``udev`` rules for OpenOCD CMSIS-DAP adapters
|
||||
(`issue #718 <https://github.com/platformio/platformio/issues/718>`_)
|
||||
* Auto-remove project cache when PlatformIO is upgraded
|
||||
* Keep user changes for ``.gitignore`` file when re-generate/update project data
|
||||
* Ignore ``[platformio]`` section from custom project configuration file when
|
||||
`platformio ci --project-conf <http://docs.platformio.org/en/latest/userguide/cmd_ci.html>`__
|
||||
command is used
|
||||
* Fixed missed ``--boot`` flag for the firmware uploader for ATSAM3X8E
|
||||
Cortex-M3 MCU based boards (Arduino Due, etc)
|
||||
(`issue #710 <https://github.com/platformio/platformio/issues/710>`_)
|
||||
* Fixed missing trailing ``\`` for the source files list when generate project
|
||||
for `Qt Creator IDE <http://docs.platformio.org/en/latest/ide/qtcreator.html>`__
|
||||
(`issue #711 <https://github.com/platformio/platformio/issues/711>`_)
|
||||
* Split source files to ``HEADERS`` and ``SOURCES`` when generate project
|
||||
for `Qt Creator IDE <http://docs.platformio.org/en/latest/ide/qtcreator.html>`__
|
||||
(`issue #713 <https://github.com/platformio/platformio/issues/713>`_)
|
||||
|
||||
2.11.0 (2016-06-28)
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* New ESP8266-based boards: Generic ESP8285 Module, Phoenix 1.0 & 2.0, WifInfo
|
||||
* Added support for Arduino M0 Pro board
|
||||
(`issue #472 <https://github.com/platformio/platformio/issues/472>`_)
|
||||
* Added support for Arduino MKR1000 board
|
||||
(`issue #620 <https://github.com/platformio/platformio/issues/620>`_)
|
||||
* Added support for Adafruit Feather M0, SparkFun SAMD21 and SparkFun SAMD21
|
||||
Mini Breakout boards
|
||||
(`issue #520 <https://github.com/platformio/platformio/issues/520>`_)
|
||||
* Updated Arduino ESP8266 core for Espressif platform to 2.3.0
|
||||
* Better removing unnecessary flags using ``build_unflags`` option
|
||||
(`issue #698 <https://github.com/platformio/platformio/issues/698>`_)
|
||||
* Fixed issue with ``platformio init --ide`` command for Python 2.6
|
||||
|
||||
2.10.3 (2016-06-15)
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Fixed issue with ``platformio init --ide`` command
|
||||
|
||||
2.10.2 (2016-06-15)
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Added support for ST Nucleo L031K6 board to ARM mbed framework
|
||||
* Process ``build_unflags`` option for ARM mbed framework
|
||||
* Updated Intel ARC32 Arduino framework to v1.0.6
|
||||
(`issue #695 <https://github.com/platformio/platformio/issues/695>`_)
|
||||
* Improved a check of program size before uploading to the board
|
||||
* Fixed issue with ARM mbed framework ``-u _printf_float`` and
|
||||
``-u _scanf_float`` when parsing ``$LINKFLAGS``
|
||||
* Fixed issue with ARM mbed framework and extra includes for the custom boards,
|
||||
such as Seeeduino Arch Pro
|
||||
|
||||
2.10.1 (2016-06-13)
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Re-submit a package to PyPI
|
||||
|
||||
2.10.0 (2016-06-13)
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Added support for `emonPi <https://github.com/openenergymonitor/emonpi>`__,
|
||||
the OpenEnergyMonitor system
|
||||
(`issue #687 <https://github.com/platformio/platformio/issues/687>`_)
|
||||
* Added support for `SPL <http://platformio.org/frameworks/spl>`__
|
||||
framework for STM32F0 boards
|
||||
(`issue #683 <https://github.com/platformio/platformio/issues/683>`_)
|
||||
* Added support for `Arduboy DevKit <https://www.arduboy.com>`__, the game system
|
||||
the size of a credit card
|
||||
* Updated ARM mbed framework package to v121
|
||||
* Check program size before uploading to the board
|
||||
(`issue #689 <https://github.com/platformio/platformio/issues/689>`_)
|
||||
* Improved firmware uploading to Arduino Leonardo based boards
|
||||
(`issue #691 <https://github.com/platformio/platformio/issues/691>`_)
|
||||
* Fixed issue with ``-L relative/path`` when parsing ``build_flags``
|
||||
(`issue #688 <https://github.com/platformio/platformio/issues/688>`_)
|
||||
|
||||
2.9.4 (2016-06-04)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Show ``udev`` warning only for the Linux OS while uploading firmware
|
||||
|
||||
2.9.3 (2016-06-03)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Added support for `Arduboy <https://www.arduboy.com>`__, the game system
|
||||
the size of a credit card
|
||||
* Updated `99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`__ for Linux OS
|
||||
* Refactored firmware uploading to the embedded boards with SAM-BA bootloader
|
||||
|
||||
2.9.2 (2016-06-02)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Simplified `Continuous Integration with AppVeyor <http://docs.platformio.org/en/latest/ci/appveyor.html>`__
|
||||
(`issue #671 <https://github.com/platformio/platformio/issues/671>`_)
|
||||
* Automatically add source directory to ``CPPPATH`` of Build System
|
||||
* Added support for Silicon Labs SLSTK3401A (Pearl Gecko) and
|
||||
MultiTech mDot F411 ARM mbed based boards
|
||||
* Added support for MightyCore ATmega8535 board
|
||||
(`issue #585 <https://github.com/platformio/platformio/issues/585>`_)
|
||||
* Added ``stlink`` as the default uploader for STM32 Discovery boards
|
||||
(`issue #665 <https://github.com/platformio/platformio/issues/665>`_)
|
||||
* Use HTTP mirror for Package Manager in a case with SSL errors
|
||||
(`issue #645 <https://github.com/platformio/platformio/issues/645>`_)
|
||||
* Improved firmware uploading to Arduino Leonardo/Due based boards
|
||||
* Fixed bug with ``env_default`` when ``pio run -e`` is used
|
||||
* Fixed issue with ``src_filter`` option for Windows OS
|
||||
(`issue #652 <https://github.com/platformio/platformio/issues/652>`_)
|
||||
* Fixed configuration data for TI LaunchPads based on msp430fr4133 and
|
||||
msp430fr6989 MCUs
|
||||
(`issue #676 <https://github.com/platformio/platformio/issues/676>`_)
|
||||
* Fixed issue with ARM mbed framework and multiple definition errors
|
||||
on FRDM-KL46Z board
|
||||
(`issue #641 <https://github.com/platformio/platformio/issues/641>`_)
|
||||
* Fixed issue with ARM mbed framework when abstract class breaks compile
|
||||
for LPC1768
|
||||
(`issue #666 <https://github.com/platformio/platformio/issues/666>`_)
|
||||
|
||||
2.9.1 (2016-04-30)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -646,7 +798,7 @@ PlatformIO 1.0
|
||||
(`issue #183 <https://github.com/platformio/platformio/issues/183>`_)
|
||||
* Added GDB as alternative uploader to `ststm32 <http://docs.platformio.org/en/latest/platforms/ststm32.html>`__ platform
|
||||
(`issue #175 <https://github.com/platformio/platformio/issues/174>`_)
|
||||
* Added `examples <https://github.com/platformio/platformio/tree/develop/examples>`__
|
||||
* Added `examples <https://github.com/platformio/platformio-examples/tree/develop>`__
|
||||
with preconfigured IDE projects
|
||||
(`issue #154 <https://github.com/platformio/platformio/issues/154>`_)
|
||||
* Fixed firmware uploading under Linux OS for Arduino Leonardo board
|
||||
|
||||
36
README.rst
36
README.rst
@@ -16,11 +16,8 @@ PlatformIO
|
||||
.. image:: https://img.shields.io/pypi/l/platformio.svg
|
||||
:target: https://pypi.python.org/pypi/platformio/
|
||||
:alt: License
|
||||
.. image:: https://img.shields.io/pypi/dm/platformio.svg
|
||||
:target: https://pypi.python.org/pypi/platformio/
|
||||
:alt: PyPi Downloads
|
||||
.. image:: https://img.shields.io/community/PlatformIO.png
|
||||
:alt: Join the chat at https://gitter.im/platformio/platformio
|
||||
:alt: Community Forums
|
||||
:target: https://community.platformio.org
|
||||
.. image:: https://img.shields.io/donate/PlatformIO.png?color=yellow
|
||||
:alt: Donate for PlatformIO.Org
|
||||
@@ -29,7 +26,7 @@ PlatformIO
|
||||
|
||||
`Home <http://platformio.org>`_ |
|
||||
`IDE <http://platformio.org/platformio-ide>`_ |
|
||||
`Project Examples <https://github.com/platformio/platformio/tree/develop/examples>`_ |
|
||||
`Project Examples <https://github.com/platformio/platformio-examples/tree/develop>`_ |
|
||||
`Docs <http://docs.platformio.org>`_ |
|
||||
`Twitter <https://twitter.com/PlatformIO_Org>`_ |
|
||||
`Facebook <https://www.facebook.com/platformio>`_ |
|
||||
@@ -62,9 +59,9 @@ IDE integration. Arduino and MBED compatible. Ready for Cloud compiling.
|
||||
platforms and frameworks; learn via examples; be up-to-date with the latest
|
||||
version.
|
||||
|
||||
*Atmel AVR & SAM, Espressif, Freescale Kinetis, Nordic nRF51, NXP LPC,
|
||||
Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed,
|
||||
libOpenCM3, etc.*
|
||||
*Atmel AVR & SAM, Espressif, Freescale Kinetis, Intel ARC32, Lattice iCE40,
|
||||
Microchip PIC32, Nordic nRF51, NXP LPC, Silicon Labs EFM32, ST STM32,
|
||||
TI MSP430 & Tiva, Teensy, Arduino, mbed, libOpenCM3, etc.*
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-demo-wiring.gif
|
||||
:target: http://platformio.org
|
||||
@@ -161,6 +158,9 @@ It has support for the most popular embedded platforms:
|
||||
* `Atmel SAM <http://platformio.org/platforms/atmelsam>`_
|
||||
* `Espressif <http://platformio.org/platforms/espressif>`_
|
||||
* `Freescale Kinetis <http://platformio.org/platforms/freescalekinetis>`_
|
||||
* `Intel ARC32 <http://platformio.org/platforms/intel_arc32>`_
|
||||
* `Lattice iCE40 <http://platformio.org/platforms/lattice_ice40>`_
|
||||
* `Microchip PIC32 <http://platformio.org/platforms/microchippic32>`_
|
||||
* `Nordic nRF51 <http://platformio.org/platforms/nordicnrf51>`_
|
||||
* `NXP LPC <http://platformio.org/platforms/nxplpc>`_
|
||||
* `ST STM32 <http://platformio.org/platforms/ststm32>`_
|
||||
@@ -185,26 +185,12 @@ For further details, please refer to `What is PlatformIO? <http://docs.platformi
|
||||
Contributing
|
||||
------------
|
||||
|
||||
1. Fork the repository on GitHub.
|
||||
2. Make a branch off of ``develop``
|
||||
3. Run ``pip install tox``
|
||||
4. Go to the root of project where is located ``tox.ini`` and run ``tox -e develop``
|
||||
5. Activate current development environment:
|
||||
See `contributing guidelines <https://github.com/platformio/platformio/blob/develop/CONTRIBUTING.md>`_.
|
||||
|
||||
* Windows: ``.tox\develop\Scripts\activate``
|
||||
* Bash/ZSH: ``source .tox/develop/bin/activate``
|
||||
* Fish: ``source .tox/bin/activate.fish``
|
||||
|
||||
6. Make changes to code, documentation, etc.
|
||||
7. Lint source code ``tox -e lint``
|
||||
8. Run the tests ``tox -e py27``
|
||||
9. Commit changes to your forked repository
|
||||
10. Submit a Pull Request on GitHub.
|
||||
|
||||
Licence
|
||||
License
|
||||
-------
|
||||
|
||||
Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
|
||||
The PlatformIO is licensed under the permissive Apache 2.0 licence,
|
||||
The PlatformIO is licensed under the permissive Apache 2.0 license,
|
||||
so you can use it in both commercial and personal projects with confidence.
|
||||
|
||||
28
appveyor.yml
28
appveyor.yml
@@ -1,27 +1,13 @@
|
||||
build: off
|
||||
environment:
|
||||
global:
|
||||
WITH_COMPILER: "cmd /E:ON /V:ON /C .\\scripts\\appveyor\\run_with_compiler.cmd"
|
||||
|
||||
matrix:
|
||||
- TOXENV: "py27"
|
||||
TOXPYTHON: "C:\\Python27-x64\\python.exe"
|
||||
WINDOWS_SDK_VERSION: "v7.0"
|
||||
PYTHON_HOME: "C:\\Python27-x64"
|
||||
PYTHON_VERSION: "2.7"
|
||||
PYTHON_ARCH: "64"
|
||||
|
||||
init:
|
||||
- "ECHO %TOXENV%"
|
||||
- ps: "ls C:\\Python*"
|
||||
|
||||
|
||||
install:
|
||||
- "git submodule update --init --recursive"
|
||||
- "powershell scripts\\appveyor\\install.ps1"
|
||||
|
||||
before_test:
|
||||
- cmd: SET PATH=%PATH%;C:\MinGW\bin
|
||||
|
||||
- cmd: git submodule update --init --recursive
|
||||
- cmd: SET PATH=%PATH%;C:\Python27\Scripts;C:\MinGW\bin
|
||||
- cmd: pip install tox
|
||||
|
||||
test_script:
|
||||
- "%PYTHON_HOME%\\Scripts\\tox --version"
|
||||
- "%PYTHON_HOME%\\Scripts\\pip --version"
|
||||
- "%WITH_COMPILER% %PYTHON_HOME%\\Scripts\\tox"
|
||||
- cmd: tox
|
||||
|
||||
BIN
docs/_static/ide-eclipse-virtualiot.jpg
vendored
Normal file
BIN
docs/_static/ide-eclipse-virtualiot.jpg
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 140 KiB |
@@ -23,10 +23,30 @@ Here are recent articles about PlatformIO:
|
||||
2016
|
||||
^^^^
|
||||
|
||||
* Jul 5, 2016 - **Ivan Kravets, Ph.D.** - `Explore the new development instruments for Arduino with PlatformIO ecosystem <http://www.slideshare.net/ivankravets/explore-the-new-development-instruments-for-arduino-with-platformio-ecosystem>`_
|
||||
* Jul 5, 2016 - **Belinda** - `Monte Bianco Arduino Developer Summit <http://www.arduino.org/blog/arduino-developer-summit>`_
|
||||
* Jul 1, 2016 - **Tam Hanna** - `Mikrocontroller-Gipfel in den Alpen: Arduino Developer Summit, Tag eins (Microcontroller peaks in the Alps: Arduino Developer Summit, Day One, German) <http://www.heise.de/make/meldung/Mikrocontroller-Gipfel-in-den-Alpen-Arduino-Developer-Summit-Tag-eins-3252421.html>`_
|
||||
* Jun 14, 2016 - **Glyn Hudson** - `OpenEnergyMonitor Part 2/3: Firmware Continuous Test & Build <https://blog.openenergymonitor.org/2016/06/auto-build-continuous-test-firmware/>`_
|
||||
* Jun 13, 2016 - **Daniel Eichhorn** - `New Weather Station Demo on Github <http://blog.squix.org/2016/06/new-weather-station-demo-on-github.html>`_
|
||||
* Jun 12, 2016 - **Glyn Hudson** - `OpenEnergyMonitor Part 1/3: PlatformIO open-source embedded development ecosystem <https://blog.openenergymonitor.org/2016/06/platformio/>`_
|
||||
* Jun 12, 2016 - **Uli Wolf** - `Nutzung von PlatformIO im Atom Editor zur Entwicklung von Arduino Code (Use PlatformIO and Atom Editor to develop Arduino code, German) <https://wolf-u.li/5668/nutzung-von-platform-io-im-atom-editor-zur-entwicklung-von-arduino-code/>`_
|
||||
* Jun 3, 2016 - **Daniel Eichhorn** - `ESP8266: Continuous Delivery Pipeline – Push To Production <http://blog.squix.org/2016/06/esp8266-continuous-delivery-pipeline-push-to-production.html>`_
|
||||
* May 30, 2016 - **Ron Moerman** - `IoT Development with PlatformIO <https://electronicsworkbench.io/blog/platformio>`_
|
||||
* May 29, 2016 - **Chris Synan** - `Reverse Engineer RF Remote Controller for IoT! <http://www.instructables.com/id/Reverse-Engineer-RF-Remote-Controller-for-IoT/?ALLSTEPS>`_
|
||||
* May 26, 2016 - **Charlie Key** - `7 Best Developer Tools To Build Your NEXT Internet of Things Application <https://www.losant.com/blog/7-best-developer-tools-to-build-your-next-internet-of-things-application>`_
|
||||
* May 22, 2016 - **Pedro Minatel** - `Estação meteorológica com ESP8266 (Weather station with ESP8266, Portuguese) <http://pedrominatel.com.br/esp8266/estacao-meteorologica-com-esp8266/>`_
|
||||
* May 16, 2016 - **Pedro Minatel** - `Controle remoto WiFi com ESP8266 (WiFi remote control using ESP8266, Portuguese) <http://pedrominatel.com.br/esp8266/controle-remoto-wifi-com-esp8266/>`_
|
||||
* May 11, 2016 - **Jo Vandeginste** - `Using PlatformIO to compile for Jeelabs' Jeenode Micro <http://jovandeginste.github.io/2016/05/11/using-platformio-to-compile-for-jeelabs-jeenode-micro.html>`_
|
||||
* May 08, 2016 - **Radoslaw Bob** - `Touch controlled buzzer (Nodemcu ESP8266) <https://gettoknowthebob.wordpress.com/2016/05/08/touch-controlled-buzzer-nodemcu-esp8266/>`_
|
||||
* May 06, 2016 - **Jean Roux** - `The IoT building blocks I use for my home-automation projects <http://iotplay.blogspot.fr/2016/05/the-components-i-use-for-my-projects.html/>`_
|
||||
* May 05, 2016 - **Ivan Kravets, Ph.D. / Eclipse Virtual IoT Meetup** - `PlatformIO: a cross-platform IoT solution to build them all! <http://www.meetup.com/Virtual-IoT/events/229964142/>`_
|
||||
* May 01, 2016 - **Pedro Minatel** - `PlatformIO – Uma alternativa ao Arduino IDE (PlatformIO - An alternative to the Arduino IDE, Portuguese) <http://pedrominatel.com.br/ferramentas/platformio-uma-alternativa-ao-arduino-ide/>`_
|
||||
* Apr 23, 2016 - **Al Williams** - `Hackaday: Atomic Arduino (and Other) Development <http://hackaday.com/2016/04/23/atomic-arduino-and-other-development/>`_
|
||||
* Apr 16, 2016 - **Sathittham Sangthong** - `[PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน (Let's play together with PlatformIO IDE [alternative to Arduino IDE], Thai) <http://www.sathittham.com/platformio/platformio-ide/>`_
|
||||
* Apr 15, 2016 - **Daniel Eichhorn** - `ESP8266: Offline Debugging with the Platformio Environment <http://blog.squix.ch/2016/04/esp8266-offline-debugging-with.html>`_
|
||||
* Apr 11, 2016 - **Matjaz Trcek** - `Top 5 Arduino integrated development environments <https://codeandunicorns.com/top-5-arduino-integrated-development-environments-ide/>`_
|
||||
* Apr 06, 2016 - **Aleks** - `PlatformIO ausprobiert (Tried PlatformIO, German) <http://5volt-junkie.net/platformio/>`_
|
||||
* Apr 02, 2016 - **Diego Pinto** - `Você tem coragem de abandonar a IDE do Arduino? PlatformIO + Atom (Do you dare to leave the Arduino IDE? PlatformIO + Atom, Portuguese) <http://www.clubemaker.com.br/?rota=artigo/81>`_
|
||||
* Mar 30, 2016 - **Brandon Cannaday** - `Getting Started with PlatformIO and ESP8266 NodeMcu <https://www.losant.com/blog/getting-started-with-platformio-esp8266-nodemcu>`_
|
||||
* Mar 29, 2016 - **Pablo Peñalve** - `PlatformIO + Geany + Raspberry PI, Spanish <http://ret-catriel.blogspot.com/2016/03/framework-platformio-geany-raspberry-pi.html>`_
|
||||
* Mar 24, 2016 - **NAzT** - `PlatformIO และการปรับแต่ง เพื่อใช้สำหรับพัฒนา Arduino Library (PlatformIO and advanced development for Arduino Library, Thai) <https://cmmakerclub.com/tools-2/config-platformio-for-arduino-framework-developer/>`_
|
||||
|
||||
@@ -44,142 +44,20 @@ Put ``appveyor.yml`` to the root directory of the GitHub repository.
|
||||
|
||||
build: off
|
||||
environment:
|
||||
global:
|
||||
WITH_COMPILER: "cmd /E:ON /V:ON /C .\\scripts\\appveyor\\run_with_compiler.cmd"
|
||||
matrix:
|
||||
- PLATFORMIO_CI_SRC: "path\\to\\source\\file.c"
|
||||
PLATFORMIO_CI_SRC: "path\\to\\source\\file.ino"
|
||||
PLATFORMIO_CI_SRC: "path\\to\\source\\directory"
|
||||
WINDOWS_SDK_VERSION: "v7.0"
|
||||
PYTHON_HOME: "C:\\Python27-x64"
|
||||
PYTHON_VERSION: "2.7"
|
||||
PYTHON_ARCH: "64"
|
||||
install:
|
||||
- "git submodule update --init --recursive"
|
||||
- "powershell scripts\\appveyor\\install.ps1"
|
||||
before_test:
|
||||
- cmd: SET PATH=%PATH%;%PYTHON_HOME%;%PYTHON_HOME%\Scripts
|
||||
test_script:
|
||||
- '%WITH_COMPILER% %PYTHON_HOME%\\Scripts\\platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N'
|
||||
|
||||
matrix:
|
||||
- PLATFORMIO_CI_SRC: "path\\to\\source\\file.c"
|
||||
- PLATFORMIO_CI_SRC: "path\\to\\source\\file.ino"
|
||||
- PLATFORMIO_CI_SRC: "path\\to\\source\\directory"
|
||||
|
||||
Then create ``scripts/appveyor`` folder and put these 2 scripts (they are the
|
||||
same for the all projects, don't need to modify them):
|
||||
install:
|
||||
- cmd: git submodule update --init --recursive
|
||||
- cmd: SET PATH=%PATH%;C:\Python27\Scripts
|
||||
- cmd: pip install -U platformio
|
||||
|
||||
1. ``scripts/appveyor/install.ps1``:
|
||||
test_script:
|
||||
- cmd: platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||
|
||||
.. code-block:: PowerShell
|
||||
|
||||
$BASE_URL = "https://www.python.org/ftp/python/"
|
||||
$GET_PIP_URL = "https://bootstrap.pypa.io/get-pip.py"
|
||||
$GET_PIP_PATH = "C:\get-pip.py"
|
||||
|
||||
|
||||
function DownloadPython ($python_version, $platform_suffix) {
|
||||
$webclient = New-Object System.Net.WebClient
|
||||
$filename = "python-" + $python_version + $platform_suffix + ".msi"
|
||||
$url = $BASE_URL + $python_version + "/" + $filename
|
||||
|
||||
$basedir = $pwd.Path + "\"
|
||||
$filepath = $basedir + $filename
|
||||
if (Test-Path $filename) {
|
||||
Write-Host "Reusing" $filepath
|
||||
return $filepath
|
||||
}
|
||||
|
||||
# Download and retry up to 5 times in case of network transient errors.
|
||||
Write-Host "Downloading" $filename "from" $url
|
||||
$retry_attempts = 3
|
||||
for($i=0; $i -lt $retry_attempts; $i++){
|
||||
try {
|
||||
$webclient.DownloadFile($url, $filepath)
|
||||
break
|
||||
}
|
||||
Catch [Exception]{
|
||||
Start-Sleep 1
|
||||
}
|
||||
}
|
||||
Write-Host "File saved at" $filepath
|
||||
return $filepath
|
||||
}
|
||||
|
||||
|
||||
function InstallPython ($python_version, $architecture, $python_home) {
|
||||
Write-Host "Installing Python" $python_version "for" $architecture "bit architecture to" $python_home
|
||||
if (Test-Path $python_home) {
|
||||
Write-Host $python_home "already exists, skipping."
|
||||
return $false
|
||||
}
|
||||
if ($architecture -eq "32") {
|
||||
$platform_suffix = ""
|
||||
} else {
|
||||
$platform_suffix = ".amd64"
|
||||
}
|
||||
$filepath = DownloadPython $python_version $platform_suffix
|
||||
Write-Host "Installing" $filepath "to" $python_home
|
||||
$args = "/qn /i $filepath TARGETDIR=$python_home"
|
||||
Write-Host "msiexec.exe" $args
|
||||
Start-Process -FilePath "msiexec.exe" -ArgumentList $args -Wait -Passthru
|
||||
Write-Host "Python $python_version ($architecture) installation complete"
|
||||
return $true
|
||||
}
|
||||
|
||||
|
||||
function InstallPip ($python_home) {
|
||||
$python_path = $python_home + "/python.exe"
|
||||
Write-Host "Installing pip..."
|
||||
$webclient = New-Object System.Net.WebClient
|
||||
$webclient.DownloadFile($GET_PIP_URL, $GET_PIP_PATH)
|
||||
Write-Host "Executing:" $python_path $GET_PIP_PATH
|
||||
Start-Process -FilePath "$python_path" -ArgumentList "$GET_PIP_PATH" -Wait -Passthru
|
||||
}
|
||||
|
||||
function InstallPackage ($python_home, $pkg) {
|
||||
$pip_path = $python_home + "/Scripts/pip.exe"
|
||||
& $pip_path install -U $pkg
|
||||
}
|
||||
|
||||
function main () {
|
||||
InstallPython $env:PYTHON_VERSION $env:PYTHON_ARCH $env:PYTHON_HOME
|
||||
InstallPip $env:PYTHON_HOME
|
||||
InstallPackage $env:PYTHON_HOME setuptools
|
||||
InstallPackage $env:PYTHON_HOME platformio
|
||||
}
|
||||
|
||||
main
|
||||
|
||||
2. ``scripts/appveyor/run_with_compiler.cmd``:
|
||||
|
||||
.. code-block:: guess
|
||||
|
||||
@ECHO OFF
|
||||
|
||||
SET COMMAND_TO_RUN=%*
|
||||
SET WIN_SDK_ROOT=C:\Program Files\Microsoft SDKs\Windows
|
||||
|
||||
SET MAJOR_PYTHON_VERSION="%PYTHON_VERSION:~0,1%"
|
||||
IF %MAJOR_PYTHON_VERSION% == "2" (
|
||||
SET WINDOWS_SDK_VERSION="v7.0"
|
||||
) ELSE IF %MAJOR_PYTHON_VERSION% == "3" (
|
||||
SET WINDOWS_SDK_VERSION="v7.1"
|
||||
) ELSE (
|
||||
ECHO Unsupported Python version: "%MAJOR_PYTHON_VERSION%"
|
||||
EXIT 1
|
||||
)
|
||||
|
||||
IF "%PYTHON_ARCH%"=="64" (
|
||||
ECHO Configuring Windows SDK %WINDOWS_SDK_VERSION% for Python %MAJOR_PYTHON_VERSION% on a 64 bit architecture
|
||||
SET DISTUTILS_USE_SDK=1
|
||||
SET MSSdk=1
|
||||
"%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Setup\WindowsSdkVer.exe" -q -version:%WINDOWS_SDK_VERSION%
|
||||
"%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Bin\SetEnv.cmd" /x64 /release
|
||||
ECHO Executing: %COMMAND_TO_RUN%
|
||||
call %COMMAND_TO_RUN% || EXIT 1
|
||||
) ELSE (
|
||||
ECHO Using default MSVC build environment for 32 bit architecture
|
||||
ECHO Executing: %COMMAND_TO_RUN%
|
||||
call %COMMAND_TO_RUN% || EXIT 1
|
||||
)
|
||||
|
||||
For more details as for PlatformIO build process please look into :ref:`cmd_ci`
|
||||
command.
|
||||
@@ -194,20 +72,16 @@ Examples
|
||||
|
||||
build: off
|
||||
environment:
|
||||
global:
|
||||
WITH_COMPILER: "cmd /E:ON /V:ON /C .\\scripts\\appveyor\\run_with_compiler.cmd"
|
||||
matrix:
|
||||
- PLATFORMIO_CI_SRC: "examples\\Bluetooth\\PS3SPP\\PS3SPP.ino"
|
||||
PLATFORMIO_CI_SRC: "examples\\pl2303\\pl2303_gps\\pl2303_gps.ino"
|
||||
WINDOWS_SDK_VERSION: "v7.0"
|
||||
PYTHON_HOME: "C:\\Python27-x64"
|
||||
PYTHON_VERSION: "2.7"
|
||||
PYTHON_ARCH: "64"
|
||||
install:
|
||||
- "git submodule update --init --recursive"
|
||||
- "powershell scripts\\appveyor\\install.ps1"
|
||||
before_test:
|
||||
- cmd: SET PATH=%PATH%;%PYTHON_HOME%;%PYTHON_HOME%\Scripts
|
||||
- cmd: git clone https://github.com/xxxajk/spi4teensy3.git c:\spi4teensy
|
||||
test_script:
|
||||
- '%WITH_COMPILER% %PYTHON_HOME%\\Scripts\\platformio ci --lib="." --lib="c:\spi4teensy" --board=uno --board=teensy31 --board=due'
|
||||
|
||||
matrix:
|
||||
- PLATFORMIO_CI_SRC: "examples\\Bluetooth\\PS3SPP\\PS3SPP.ino"
|
||||
- PLATFORMIO_CI_SRC: "examples\\pl2303\\pl2303_gps\\pl2303_gps.ino"
|
||||
|
||||
install:
|
||||
- cmd: git submodule update --init --recursive
|
||||
- cmd: SET PATH=%PATH%;C:\Python27\Scripts
|
||||
- cmd: pip install -U platformio
|
||||
- cmd: git clone https://github.com/xxxajk/spi4teensy3.git C:\spi4teensy
|
||||
|
||||
test_script:
|
||||
- cmd: platformio ci --lib="." --lib="C:\\spi4teensy" --board=uno --board=teensy31 --board=due
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -19,7 +19,7 @@ Demo & Projects
|
||||
Project Examples
|
||||
----------------
|
||||
|
||||
Preconfigured demo projects are located in `PlatformIO GitHub <https://github.com/platformio/platformio/tree/develop/examples>`_ repository.
|
||||
Pre-configured demo projects are located in `PlatformIO GitHub <https://github.com/platformio/platformio-examples/tree/develop>`_ repository.
|
||||
|
||||
"Blink Project"
|
||||
---------------
|
||||
|
||||
@@ -14,6 +14,10 @@
|
||||
Frequently Asked Questions
|
||||
==========================
|
||||
|
||||
.. note::
|
||||
We have a big database with `Frequently Asked Questions in our Community Forums <https://community.platformio.org/c/faq>`_.
|
||||
Please have a look at it.
|
||||
|
||||
.. contents::
|
||||
|
||||
General
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -92,6 +92,13 @@ Adafruit
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``adafruit_feather_m0_usb``
|
||||
- `Adafruit Feather M0 <https://www.adafruit.com/product/2772>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``bluefruitmicro``
|
||||
- `Adafruit Bluefruit Micro <https://www.adafruit.com/products/2661>`_
|
||||
- ATMEGA32U4
|
||||
@@ -176,6 +183,33 @@ Adafruit
|
||||
- 8 Kb
|
||||
- 0.5 Kb
|
||||
|
||||
Arduboy
|
||||
~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``arduboy``
|
||||
- `Arduboy <https://www.arduboy.com>`_
|
||||
- ATMEGA32U4
|
||||
- 16 MHz
|
||||
- 32 Kb
|
||||
- 2.5 Kb
|
||||
|
||||
* - ``arduboy_devkit``
|
||||
- `Arduboy DevKit <https://www.arduboy.com>`_
|
||||
- ATMEGA32U4
|
||||
- 16 MHz
|
||||
- 32 Kb
|
||||
- 2.5 Kb
|
||||
|
||||
Arduino
|
||||
~~~~~~~
|
||||
|
||||
@@ -350,6 +384,34 @@ Arduino
|
||||
- 32 Kb
|
||||
- 2 Kb
|
||||
|
||||
* - ``mkr1000USB``
|
||||
- `Arduino MKR1000 <https://www.arduino.cc/en/Main/ArduinoMKR1000>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``mzeroUSB``
|
||||
- `Arduino M0 <http://www.arduino.org/products/boards/arduino-m0>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``mzeropro``
|
||||
- `Arduino M0 Pro (Programming Port) <http://www.arduino.org/products/boards/arduino-m0-pro>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``mzeroproUSB``
|
||||
- `Arduino M0 Pro (Native USB Port) <http://www.arduino.org/products/boards/arduino-m0-pro>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``nanoatmega168``
|
||||
- `Arduino Nano ATmega168 <http://www.arduino.org/products/boards/4-arduino-boards/arduino-nano>`_
|
||||
- ATMEGA168
|
||||
@@ -406,6 +468,13 @@ Arduino
|
||||
- 32 Kb
|
||||
- 2.5 Kb
|
||||
|
||||
* - ``tian``
|
||||
- `Arduino Tian <http://www.arduino.org/products/boards/arduino-tian>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``uno``
|
||||
- `Arduino Uno <http://www.arduino.org/products/boards/4-arduino-boards/arduino-uno>`_
|
||||
- ATMEGA328P
|
||||
@@ -571,13 +640,6 @@ Digilent
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``openbci``
|
||||
- `Digilent OpenScope <http://store.digilentinc.com/>`_
|
||||
- 32MX250F128B
|
||||
- 40 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``openscope``
|
||||
- `Digilent OpenScope <http://store.digilentinc.com/>`_
|
||||
- 32MZ2048EFG124
|
||||
@@ -782,6 +844,13 @@ Espressif
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp8285``
|
||||
- `Generic ESP8285 Module <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 448 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp_wroom_02``
|
||||
- `ESP-WROOM-02 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
@@ -789,6 +858,27 @@ Espressif
|
||||
- 4096 Kb
|
||||
- 50 Kb
|
||||
|
||||
* - ``phoenix_v1``
|
||||
- `Phoenix 1.0 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``phoenix_v2``
|
||||
- `Phoenix 2.0 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``wifinfo``
|
||||
- `WifInfo <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 448 Kb
|
||||
- 80 Kb
|
||||
|
||||
Fubarino
|
||||
~~~~~~~~
|
||||
|
||||
@@ -1020,6 +1110,13 @@ Mcudude
|
||||
- 64 Kb
|
||||
- 4 Kb
|
||||
|
||||
* - ``mightycore8535``
|
||||
- `MightyCore ATmega8535 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
|
||||
- ATMEGA16
|
||||
- 16 MHz
|
||||
- 8 Kb
|
||||
- 0.5 Kb
|
||||
|
||||
Microduino
|
||||
~~~~~~~~~~
|
||||
|
||||
@@ -1150,6 +1247,46 @@ Olimex
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
OpenBCI
|
||||
~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``openbci``
|
||||
- `OpenBCI 32bit <http://shop.openbci.com/>`_
|
||||
- 32MX250F128B
|
||||
- 40 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
||||
|
||||
OpenEnergyMonitor
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``emonpi``
|
||||
- `OpenEnergyMonitor emonPi <https://github.com/openenergymonitor/emonpi>`_
|
||||
- ATMEGA328P
|
||||
- 16 MHz
|
||||
- 32 Kb
|
||||
- 2 Kb
|
||||
|
||||
PONTECH
|
||||
~~~~~~~
|
||||
|
||||
@@ -1204,6 +1341,26 @@ PanStamp
|
||||
- 32 Kb
|
||||
- 4 Kb
|
||||
|
||||
Pinoccio
|
||||
~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``pinoccio``
|
||||
- `Pinoccio Scout <https://www.crowdsupply.com/pinoccio/mesh-sensor-network>`_
|
||||
- ATMEGA256RFR2
|
||||
- 16 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
Punch Through
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
@@ -1496,6 +1653,20 @@ SparkFun
|
||||
- 32 Kb
|
||||
- 2 Kb
|
||||
|
||||
* - ``sparkfun_samd21_dev_usb``
|
||||
- `SparkFun SAMD21 Dev Breakout <https://www.sparkfun.com/products/13672>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``sparkfun_samd21_mini_usb``
|
||||
- `SparkFun SAMD21 Mini Breakout <https://www.sparkfun.com/products/13664>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``thing``
|
||||
- `SparkFun ESP8266 Thing <https://www.sparkfun.com/products/13231>`_
|
||||
- ESP8266
|
||||
@@ -1713,6 +1884,26 @@ Wicked Device
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
chipKIT
|
||||
~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``lenny``
|
||||
- `chipKIT Lenny <http://chipkit.net/tag/lenny/>`_
|
||||
- 32MX270F256D
|
||||
- 40 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
||||
|
||||
element14
|
||||
~~~~~~~~~
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -77,7 +77,7 @@ TI
|
||||
|
||||
* - ``lpmsp430fr4133``
|
||||
- `TI LaunchPad w/ msp430fr4133 <http://www.ti.com/tool/msp-exp430fr4133>`_
|
||||
- MSP430G2553
|
||||
- MSP430FR4133
|
||||
- 16 MHz
|
||||
- 16 Kb
|
||||
- 2 Kb
|
||||
@@ -98,7 +98,7 @@ TI
|
||||
|
||||
* - ``lpmsp430fr6989``
|
||||
- `TI LaunchPad w/ msp430fr6989 <http://www.ti.com/tool/msp-exp430fr6989>`_
|
||||
- MSP430G2553
|
||||
- MSP430FR6989
|
||||
- 16 MHz
|
||||
- 128 Kb
|
||||
- 2 Kb
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -286,6 +286,26 @@ JKSoft
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
MultiTech
|
||||
~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``mts_mdot_f411re``
|
||||
- `MultiTech mDot F411 <https://developer.mbed.org/platforms/MTS-mDot-F411/>`_
|
||||
- STM32F411RET6
|
||||
- 100 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
NGX Technologies
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -609,6 +629,13 @@ ST
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``nucleo_l031k6``
|
||||
- `ST Nucleo L031K6 <https://developer.mbed.org/platforms/ST-Nucleo-L031K6/>`_
|
||||
- STM32L031K6T6
|
||||
- 32 MHz
|
||||
- 32 Kb
|
||||
- 8 Kb
|
||||
|
||||
* - ``nucleo_l053r8``
|
||||
- `ST Nucleo L053R8 <https://developer.mbed.org/platforms/ST-Nucleo-L053R8/>`_
|
||||
- STM32L053R8T6
|
||||
@@ -705,6 +732,13 @@ Silicon Labs
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``efm32pg_stk3401``
|
||||
- `Silicon Labs SLSTK3401A (Pearl Gecko) <https://developer.mbed.org/platforms/EFM32-Pearl-Gecko/>`_
|
||||
- EFM32PG1B200F256
|
||||
- 40 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``efm32wg_stk3800``
|
||||
- `Silicon Labs EFM32WG-STK3800 (Wonder Gecko) <https://developer.mbed.org/platforms/EFM32-Wonder-Gecko/>`_
|
||||
- EFM32WG990F256
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
|
||||
@@ -37,7 +37,7 @@ can customize to do anything but also use productively without ever touching a
|
||||
config file.
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio.png
|
||||
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio.png
|
||||
|
||||
.. contents::
|
||||
|
||||
@@ -71,9 +71,10 @@ on the "Customize" stage, otherwise ``python`` command will not be available.
|
||||
2. Clang for Intelligent Code Autocompletion
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE uses `clang <http://clang.llvm.org>`_ for the Intelligent Code Autocompletion.
|
||||
To check that ``clang`` is available in your system, please open
|
||||
Terminal and run ``clang --version``. If ``clang`` is not installed, then install it:
|
||||
PlatformIO IDE uses `clang <http://clang.llvm.org>`_ for the Intelligent Code
|
||||
Autocompletion. To check that ``clang`` is available in your system, please
|
||||
open Terminal and run ``clang --version``. If ``clang`` is not installed,
|
||||
then install it and restart Atom:
|
||||
|
||||
- **Mac OS X**: `Install the latest Xcode <https://developer.apple.com/xcode/download/>`_
|
||||
along with the latest Command Line Tools
|
||||
@@ -84,6 +85,12 @@ Terminal and run ``clang --version``. If ``clang`` is not installed, then instal
|
||||
|
||||
.. image:: ../_static/clang-installer-add-path.png
|
||||
|
||||
.. warning::
|
||||
If you see ``Failed to find MSBuild toolsets directory`` error in
|
||||
the installation console, please ignore it and press any key to close
|
||||
this window. PlatformIO IDE uses only Clang completion engine that
|
||||
should work after it without any problems.
|
||||
|
||||
- **Linux**: Using package managers: ``apt-get install clang`` or ``yum install clang``.
|
||||
- **Other Systems**: Download the latest `Clang for the other systems <http://llvm.org/releases/download.html>`_.
|
||||
|
||||
@@ -137,30 +144,30 @@ Setting Up the Project
|
||||
the corresponding icon in the PlatformIO toolbar as shown in the image below:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-1.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-1.png
|
||||
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-1.png
|
||||
|
||||
2. In the "New Project Menu" choose desired boards (more than one board is
|
||||
allowed) and select a project directory. Then press "Initialize" button:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-2.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-2.png
|
||||
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-2.png
|
||||
|
||||
3. If everything is fine, you should see the success message and project tree
|
||||
in the left panel:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-3.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-3.png
|
||||
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-3.png
|
||||
|
||||
4. Now, let's create the first project source file: right-click on the folder
|
||||
``src`` and choose ``New File``:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-4.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-4.png
|
||||
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-4.png
|
||||
|
||||
Enter filename ``main.cpp``:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-5.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-5.png
|
||||
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-5.png
|
||||
|
||||
Copy the next source code to the just created file ``main.cpp``:
|
||||
|
||||
@@ -202,13 +209,13 @@ upload firmware, run other targets) using:
|
||||
- :ref:`ide_atom_building_targets` and hotkeys
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-6.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-6.png
|
||||
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-6.png
|
||||
|
||||
5. Run ``Build`` and you should see green "success" result in the building
|
||||
panel:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-7.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-7.png
|
||||
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-7.png
|
||||
|
||||
To upload firmware to the board run ``Upload``.
|
||||
|
||||
@@ -217,39 +224,39 @@ To upload firmware to the board run ``Upload``.
|
||||
or call targets list from the status bar (bottom, left corner):
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-8.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-8.png
|
||||
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-8.png
|
||||
|
||||
And select desired target:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-9.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-9.png
|
||||
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-9.png
|
||||
|
||||
7. To run built-in terminal interface choose ``Menu: PlatformIO > Terminal`` or
|
||||
press the corresponding icon in the PlatformIO toolbar:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-10.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-10.png
|
||||
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-10.png
|
||||
|
||||
It provides you fast access to all set of powerful PlatformIO CLI commands:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-11.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-11.png
|
||||
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-11.png
|
||||
|
||||
8. To run built-in "Serial Monitor" choose ``Menu: PlatformIO > Serial Monitor``
|
||||
or press the corresponding icon in the PlatformIO toolbar:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-12.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-12.png
|
||||
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-12.png
|
||||
|
||||
It has several settings to adjust your connection:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-13.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-13.png
|
||||
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-13.png
|
||||
|
||||
And allows you to communicate with your board in an easy way:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-14.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-14.png
|
||||
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-14.png
|
||||
|
||||
|
||||
User Guide
|
||||
@@ -437,6 +444,19 @@ To force Smart Code Linter to use Arduino files as C++ please
|
||||
Frequently Asked Questions
|
||||
--------------------------
|
||||
|
||||
Keep build panel visible
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE hides build panel on success by default. Nevertheless, you can
|
||||
keep it visible all time. Please follow to
|
||||
``Menu: PlatformIO > Settings > Build`` and set ``Panel Visibility`` to
|
||||
``Keep Visible``.
|
||||
|
||||
Key-bindings (toggle panel):
|
||||
|
||||
* ``cmd+alt+v`` - Mac OS X
|
||||
* ``ctrl+alt+v`` - Windows/Linux
|
||||
|
||||
Automatically save on build
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -458,10 +478,13 @@ package and `C/C++ Uncrustify Code Beautifier <http://sourceforge.net/projects/u
|
||||
Articles / Manuals
|
||||
------------------
|
||||
|
||||
* May 30, 2016 - **Ron Moerman** - `IoT Development with PlatformIO <https://electronicsworkbench.io/blog/platformio>`_
|
||||
* May 01, 2016 - **Pedro Minatel** - `PlatformIO – Uma alternativa ao Arduino IDE (PlatformIO - An alternative to the Arduino IDE, Portuguese) <http://pedrominatel.com.br/ferramentas/platformio-uma-alternativa-ao-arduino-ide/>`_
|
||||
* Apr 23, 2016 - **Al Williams** - `Hackaday: Atomic Arduino (and Other) Development <http://hackaday.com/2016/04/23/atomic-arduino-and-other-development/>`_
|
||||
* Apr 16, 2016 - **Sathittham Sangthong** - `[PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน (Let's play together with PlatformIO IDE [alternative to Arduino IDE], Thai) <http://www.sathittham.com/platformio/platformio-ide/>`_
|
||||
* Apr 11, 2016 - **Matjaz Trcek** - `Top 5 Arduino integrated development environments <https://codeandunicorns.com/top-5-arduino-integrated-development-environments-ide/>`_
|
||||
* Apr 06, 2016 - **Aleks** - `PlatformIO ausprobiert (Tried PlatformIO, German) <http://5volt-junkie.net/platformio/>`_
|
||||
* Apr 02, 2016 - **Diego Pinto** - `Você tem coragem de abandonar a IDE do Arduino? PlatformIO + Atom (Do you dare to leave the Arduino IDE? PlatformIO + Atom, Portuguese) <http://www.clubemaker.com.br/?rota=artigo/81>`_
|
||||
* Mar 30, 2016 - **Brandon Cannaday** - `Getting Started with PlatformIO and ESP8266 NodeMcu <https://www.getstructure.io/blog/getting-started-with-platformio-esp8266-nodemcu>`_
|
||||
* Mar 12, 2016 - **Peter Marks** - `PlatformIO, the Arduino IDE for programmers <http://blog.marxy.org/2016/03/platformio-arduino-ide-for-programmers.html>`_
|
||||
* Mar 05, 2016 - **brichacek.net** - `PlatformIO – otevřený ekosystém pro vývoj IoT (PlatformIO – an open source ecosystem for IoT development, Czech) <http://blog.brichacek.net/platformio-otevreny-ekosystem-pro-vyvoj-iot/>`_
|
||||
|
||||
@@ -24,7 +24,7 @@ Refer to the `CLion Documentation <https://www.jetbrains.com/clion/documentation
|
||||
page for more detailed information.
|
||||
|
||||
.. image:: ../_static/ide-platformio-clion.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-clion.png
|
||||
:target: http://docs.platformio.org/en/stable/_static/ide-platformio-clion.png
|
||||
|
||||
.. contents::
|
||||
|
||||
@@ -43,41 +43,94 @@ command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
Then:
|
||||
|
||||
1. Import this project via ``Menu: File > Import Project``
|
||||
1. Place source files (``*.c, *.cpp, *.h, *.hpp``) to ``src`` directory
|
||||
2. Import this project via ``Menu: File > Import Project``
|
||||
and specify root directory where is located :ref:`projectconf`
|
||||
2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``)
|
||||
3. Build project (*DO NOT RUN*): ``Menu: Run > Build``.
|
||||
3. Open source file from ``src`` directory
|
||||
4. Build project (*DO NOT RUN*): ``Menu: Run > Build``.
|
||||
|
||||
.. warning::
|
||||
|
||||
See know issue: :ref:`ide_clion_knownissues_inopde_not_supported` and how
|
||||
to resolve it.
|
||||
|
||||
There are 6 predefined targets for building (*NOT FOR RUNNING*, see marks on
|
||||
the screenshot below):
|
||||
|
||||
* ``PLATFORMIO_BUILD`` - Build project without auto-uploading
|
||||
* ``PLATFORMIO_UPLOAD`` - Build and upload (if no errors).
|
||||
* ``PLATFORMIO_CLEAN`` - Clean compiled objects.
|
||||
* ``PLATFORMIO_PROGRAM`` - Build and upload using external programmer (if no errors), see :ref:`atmelavr_upload_via_programmer`.
|
||||
* ``PLATFORMIO_UPLOADFS`` - Upload files to file system SPIFFS, see :ref:`platform_espressif_uploadfs`.
|
||||
* ``PLATFORMIO_UPDATE`` - Update installed platforms and libraries via :ref:`cmd_update`.
|
||||
* ``PLATFORMIO_UPLOAD`` - Build and upload (if no errors)
|
||||
* ``PLATFORMIO_CLEAN`` - Clean compiled objects
|
||||
* ``PLATFORMIO_PROGRAM`` - Build and upload using external programmer
|
||||
(if no errors), see :ref:`atmelavr_upload_via_programmer`
|
||||
* ``PLATFORMIO_UPLOADFS`` - Upload files to file system SPIFFS,
|
||||
see :ref:`platform_espressif_uploadfs`
|
||||
* ``PLATFORMIO_UPDATE`` - Update installed platforms and libraries via :ref:`cmd_update`
|
||||
* ``PLATFORMIO_REBUILD_PROJECT_INDEX`` - Rebuild C/C++ Index for the Project.
|
||||
Allows to fix code completion and code linting issues.
|
||||
|
||||
.. warning::
|
||||
The libraries which are added, installed or used in the project
|
||||
after generating process wont be reflected in IDE. To fix it you
|
||||
need to reinitialize project using :ref:`cmd_init` (repeat it).
|
||||
after generating process wont be reflected in IDE. To fix it please run
|
||||
``PLATFORMIO_REBUILD_PROJECT_INDEX`` target.
|
||||
|
||||
.. warning::
|
||||
PlatformIO generates empty project by default and **code auto-completion
|
||||
will not work!** To enable auto-completion please choose one of:
|
||||
Known issues
|
||||
------------
|
||||
|
||||
* Add source files ``*.c, *.cpp, etc`` to ``src`` directory and re-initialize
|
||||
project with command above
|
||||
* Manually correct ``add_executable`` command in ``CMakeLists.txt`` file
|
||||
(will be created in project directory after initialization).
|
||||
.. _ide_clion_knownissues_inopde_not_supported:
|
||||
|
||||
``*.ino`` file isn't acceptable for ``add_executable`` command. You should
|
||||
convert it manually to ``*.cpp``. See `project example <https://github.com/platformio/platformio-examples/tree/develop/ide/clion>`_.
|
||||
Arduino ``.ino`` files are not supported
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
CLion uses "CMake" tool for code completion and code linting. As result, it
|
||||
doesn't support Arduino files (``*.ino`` and ``.pde``) because they are
|
||||
not valid C/C++ based source files:
|
||||
|
||||
1. Missing includes such as ``#include <Arduino.h>``
|
||||
2. Function declarations are omitted.
|
||||
|
||||
Convert Arduino file to C++ manually
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
For example, we have the next ``Demo.ino`` file:
|
||||
|
||||
.. code-block:: cpp
|
||||
|
||||
void function setup () {
|
||||
someFunction(13);
|
||||
}
|
||||
|
||||
void function loop() {
|
||||
delay(1000);
|
||||
}
|
||||
|
||||
void someFunction(int num) {
|
||||
}
|
||||
|
||||
Let's convert it to ``Demo.cpp``:
|
||||
|
||||
1. Add ``#include <Arduino.h>`` at the top of the source file
|
||||
2. Declare each custom function (excluding built-in, such as ``setup`` and ``loop``)
|
||||
before it will be called.
|
||||
|
||||
The final ``Demo.cpp``:
|
||||
|
||||
.. code-block:: cpp
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
void someFunction(int num);
|
||||
|
||||
void function setup () {
|
||||
someFunction(13);
|
||||
}
|
||||
|
||||
void function loop() {
|
||||
delay(1000);
|
||||
}
|
||||
|
||||
void someFunction(int num) {
|
||||
}
|
||||
|
||||
More info `CLion issue #CPP-3977 <https://youtrack.jetbrains.com/issue/CPP-3977>`_.
|
||||
Active discussion is located in
|
||||
`PlatformIO issue #132 <https://github.com/platformio/platformio/issues/132>`_.
|
||||
|
||||
Articles / Manuals
|
||||
------------------
|
||||
@@ -92,6 +145,6 @@ Examples
|
||||
--------
|
||||
|
||||
"Blink" Project
|
||||
^^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
Source code of `CLion "Blink" Project <https://github.com/platformio/platformio-examples/tree/develop/ide/clion>`_.
|
||||
|
||||
@@ -14,16 +14,16 @@
|
||||
CodeBlocks
|
||||
==========
|
||||
|
||||
Code::Blocks is a free, open-source cross-platform IDE that supports multiple
|
||||
compilers including GCC, Clang and Visual C++. It is developed in C++ using
|
||||
wxWidgets as the GUI toolkit. Using a plugin architecture, its capabilities
|
||||
and features are defined by the provided plugins. Currently, Code::Blocks is
|
||||
Code::Blocks is a free, open-source cross-platform IDE that supports multiple
|
||||
compilers including GCC, Clang and Visual C++. It is developed in C++ using
|
||||
wxWidgets as the GUI toolkit. Using a plugin architecture, its capabilities
|
||||
and features are defined by the provided plugins. Currently, Code::Blocks is
|
||||
oriented towards C, C++, and Fortran.
|
||||
|
||||
CodeBlocks IDE can be downloaded from `here <http://www.codeblocks.org/downloads>`_.
|
||||
|
||||
.. image:: ../_static/ide-platformio-codeblocks.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-platformio-codeblocks.png
|
||||
:target: http://docs.platformio.org/en/stable/_images/ide-platformio-codeblocks.png
|
||||
|
||||
.. contents::
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ Refer to the `CDT Documentation <https://eclipse.org/cdt/documentation.php>`_
|
||||
page for more detailed information.
|
||||
|
||||
.. image:: ../_static/ide-platformio-eclipse.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-eclipse.png
|
||||
:target: http://docs.platformio.org/en/stable/_static/ide-platformio-eclipse.png
|
||||
|
||||
.. contents::
|
||||
|
||||
@@ -51,7 +51,7 @@ Then:
|
||||
``Menu: File > Import... > General > Existing Projects into Workspace > Next``
|
||||
and specify root directory where is located :ref:`projectconf`
|
||||
2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``)
|
||||
3. Build project using ``Menu: Project > Build Project`` or preconfigured
|
||||
3. Build project using ``Menu: Project > Build Project`` or pre-configured
|
||||
Make Targets (see screenshot below):
|
||||
|
||||
+ ``PlatformIO: Build`` - Build project without auto-uploading
|
||||
@@ -59,21 +59,37 @@ Then:
|
||||
+ ``PlatformIO: Upload`` - Build and upload (if no errors)
|
||||
+ ``PlatformIO: Upload using Programmer`` see :ref:`atmelavr_upload_via_programmer`
|
||||
+ ``PlatformIO: Upload SPIFFS image`` see :ref:`platform_espressif_uploadfs`
|
||||
+ ``PlatformIO: Update platforms and libraries`` - Update installed platforms and libraries via :ref:`cmd_update`.
|
||||
+ ``PlatformIO: Update platforms and libraries`` - Update installed
|
||||
platforms and libraries via :ref:`cmd_update`
|
||||
+ ``PlatformIO: Rebuild C/C++ Project Index`` - Rebuild C/C++ Index for the Project.
|
||||
Allows to fix code completion and code linting issues.
|
||||
|
||||
If you have some problems with unresolved includes, defines, etc., then
|
||||
|
||||
* Restart Eclipse IDE
|
||||
* Rebuild index using ``Menu: Project > C/C++ Index > Rebuild``.
|
||||
1. Rebuild PlatformIO Project Index:
|
||||
``PlatformIO: Rebuild C/C++ Project Index`` target
|
||||
2. Rebuild Eclipse Project Index: ``Menu: Project > C/C++ Index > Rebuild``
|
||||
3. Refresh Project, right click on the project ``Project > Refresh`` (F5) or
|
||||
restart Eclipse IDE.
|
||||
|
||||
.. warning::
|
||||
The libraries which are added, installed or used in the project
|
||||
after generating process wont be reflected in IDE. To fix it you
|
||||
need to reinitialize project using :ref:`cmd_init` (repeat it).
|
||||
after generating process wont be reflected in IDE. To fix it please run
|
||||
``PlatformIO: Rebuild C/C++ Project Index`` target and right click on the
|
||||
project and ``Project > Refresh`` (F5).
|
||||
|
||||
Live Integration
|
||||
----------------
|
||||
|
||||
Eclipse Virtual IoT Meetup: `PlatformIO: a cross-platform IoT solution to build them all! <http://www.meetup.com/Virtual-IoT/events/229964142/>`_
|
||||
|
||||
.. image:: ../_static/ide-eclipse-virtualiot.jpg
|
||||
:target: https://www.youtube.com/watch?v=6t7UbX812Yw
|
||||
|
||||
Articles / Manuals
|
||||
------------------
|
||||
|
||||
* May 05, 2016 - **Ivan Kravets, Ph.D. / Eclipse Virtual IoT Meetup** - `PlatformIO: a cross-platform IoT solution to build them all! <http://www.meetup.com/Virtual-IoT/events/229964142/>`_
|
||||
* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation <http://thomasweldon.com/tpw/courses/embeddsp/p00pcFrdmK64_eclipsePlatformioSetup.html>`_
|
||||
* Jul 11, 2015 - **TrojanC** - `Learning Arduino GitHub Repository <http://www.trojanc.co.za/2015/07/11/learning-arduino-github-repository/>`_
|
||||
* June 20, 2014 - **Ivan Kravets, Ph.D.** - `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO <http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio>`_
|
||||
|
||||
@@ -23,7 +23,7 @@ Refer to the `Emacs Documentation <https://www.gnu.org/software/emacs/#Manuals>`
|
||||
page for more detailed information.
|
||||
|
||||
.. image:: ../_static/ide-platformio-emacs.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-emacs.png
|
||||
:target: http://docs.platformio.org/en/stable/_static/ide-platformio-emacs.png
|
||||
|
||||
.. contents::
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ Just make sure you download the C/C++ version (or if you already use NetBeans,
|
||||
install the C/C++ development plugins).
|
||||
|
||||
.. image:: ../_static/ide-platformio-netbeans.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-platformio-netbeans.png
|
||||
:target: http://docs.platformio.org/en/stable/_images/ide-platformio-netbeans.png
|
||||
|
||||
.. contents::
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ Refer to the `Qt-creator Manual <http://doc.qt.io/qtcreator/>`_
|
||||
page for more detailed information.
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-7.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-7.png
|
||||
:target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-7.png
|
||||
|
||||
.. contents::
|
||||
|
||||
@@ -83,7 +83,7 @@ Then:
|
||||
8. Build project: ``Menu: Build > Build All``.
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-3.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-3.png
|
||||
:target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-3.png
|
||||
|
||||
.. warning::
|
||||
The libraries which are added, installed or used in the project
|
||||
@@ -99,7 +99,7 @@ Setup New Project
|
||||
First of all, let's create new project from Qt Creator Start Page: ``New Project`` or using ``Menu: File > New File or Project``, then select project with ``Empty Qt Project`` type (``Other Project > Empty Qt Project``), fill ``Name``, ``Create in``.
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-1.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-1.png
|
||||
:target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-1.png
|
||||
|
||||
On the next steps select any available kit and click Finish button.
|
||||
|
||||
@@ -108,7 +108,7 @@ On the next steps select any available kit and click Finish button.
|
||||
Secondly, we need to delete default build and clean steps and configure project with PlatformIO Build System (click on Projects label on left menu or ``Ctrl+5`` shortcut):
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-3.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-3.png
|
||||
:target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-3.png
|
||||
|
||||
Thirdly, change project file by adding path to directories with header files. Please edit project file to match the following contents:
|
||||
|
||||
@@ -125,7 +125,7 @@ Thirdly, change project file by adding path to directories with header files. Pl
|
||||
INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/toolchain-atmelavr/avr/include"
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-4.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-4.png
|
||||
:target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-4.png
|
||||
|
||||
First program in Qt Creator
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -136,7 +136,7 @@ Simple "Blink" project will consist from two files:
|
||||
Let's create new text file named ``main.c`` using ``Menu: New File or Project > General > Text File``:
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-5.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-5.png
|
||||
:target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-5.png
|
||||
|
||||
Copy the source code which is described below to file ``main.c``.
|
||||
|
||||
@@ -161,22 +161,19 @@ Copy the source code which is described below to file ``main.c``.
|
||||
3. Locate the project configuration file named ``platformio.ini`` at the root of the project directory and open it.
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-6.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-6.png
|
||||
:target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-6.png
|
||||
|
||||
Edit the content to match the code described below.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
#
|
||||
# Project Configuration File
|
||||
# PlatformIO Project Configuration File
|
||||
#
|
||||
# A detailed documentation with the EXAMPLES is located here:
|
||||
# http://docs.platformio.org/en/latest/projectconf.html
|
||||
# Please make sure to read documentation with examples first
|
||||
# http://docs.platformio.org/en/stable/projectconf.html
|
||||
#
|
||||
|
||||
# A sign `#` at the beginning of the line indicates a comment
|
||||
# Comment lines are ignored.
|
||||
|
||||
[env:arduino_uno]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
|
||||
@@ -167,15 +167,12 @@ Copy the source code which is described below to it.
|
||||
.. code-block:: none
|
||||
|
||||
#
|
||||
# Project Configuration File
|
||||
# PlatformIO Project Configuration File
|
||||
#
|
||||
# A detailed documentation with the EXAMPLES is located here:
|
||||
# http://docs.platformio.org/en/latest/projectconf.html
|
||||
# Please make sure to read documentation with examples first
|
||||
# http://docs.platformio.org/en/stable/projectconf.html
|
||||
#
|
||||
|
||||
# A sign `#` at the beginning of the line indicates a comment
|
||||
# Comment lines are ignored.
|
||||
|
||||
[env:arduino_uno]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
|
||||
@@ -20,7 +20,7 @@ Refer to the `Visual Studio Documentation <https://msdn.microsoft.com/library/vs
|
||||
page for more detailed information.
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject-8.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-vs-platformio-newproject-8.png
|
||||
:target: http://docs.platformio.org/en/stable/_static/ide-vs-platformio-newproject-8.png
|
||||
|
||||
.. contents::
|
||||
|
||||
@@ -127,15 +127,12 @@ Copy the source code which is described below to it.
|
||||
.. code-block:: none
|
||||
|
||||
#
|
||||
# Project Configuration File
|
||||
# PlatformIO Project Configuration File
|
||||
#
|
||||
# A detailed documentation with the EXAMPLES is located here:
|
||||
# http://docs.platformio.org/en/latest/projectconf.html
|
||||
# Please make sure to read documentation with examples first
|
||||
# http://docs.platformio.org/en/stable/projectconf.html
|
||||
#
|
||||
|
||||
# A sign `#` at the beginning of the line indicates a comment
|
||||
# Comment lines are ignored.
|
||||
|
||||
[env:arduino_uno]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
@@ -175,4 +172,4 @@ disable IntelliSense error reporting at all.
|
||||
See details in `issue #543 <https://github.com/platformio/platformio/issues/543>`_
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject-9.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-vs-platformio-newproject-9.png
|
||||
:target: http://docs.platformio.org/en/stable/_static/ide-vs-platformio-newproject-9.png
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -19,7 +19,7 @@ integration. Arduino and MBED compatible. Ready for Cloud compiling.**
|
||||
C/C++ Intelligent Code Completion and Smart Code Linter for the super-fast coding.
|
||||
Multi-projects workflow with Multiple Panes. Themes Support with dark and light colors.
|
||||
Built-in Terminal with PlatformIO CLI tool and support for the powerful Serial Port Monitor.
|
||||
All advanced instruments without leaving your favourite development environment.
|
||||
All advanced instruments without leaving your favorite development environment.
|
||||
* **Development Platforms** - Embedded and Desktop development platforms with
|
||||
pre-built toolchains, debuggers, uploaders and frameworks which work under
|
||||
popular host OS: Mac, Windows, Linux (+ARM)
|
||||
@@ -39,7 +39,7 @@ libOpenCM3, etc.*
|
||||
* :ref:`ide_atom`
|
||||
* `Web 2.0 Library Search <http://platformio.org/lib>`_ |
|
||||
`Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
* `Project Examples <https://github.com/platformio/platformio/tree/develop/examples>`_
|
||||
* `Project Examples <https://github.com/platformio/platformio-examples/tree/develop>`_
|
||||
* `Source Code <https://github.com/platformio/platformio>`_ |
|
||||
`Issues <https://github.com/platformio/platformio/issues>`_
|
||||
* `Blog <http://www.ikravets.com/category/computer-life/platformio>`_ |
|
||||
@@ -57,8 +57,7 @@ Embedded Development. *Easier Than Ever.*
|
||||
* Cloud compiling and :ref:`ci` with *AppVeyor, Circle CI, Drone, Shippable, Travis CI*
|
||||
* Built-in :ref:`Serial Port Monitor <cmd_serialports_monitor>` and
|
||||
configurable build :ref:`-flags/-options <projectconf_build_flags>`
|
||||
* Pre-built toolchains, :ref:`frameworks` for the
|
||||
:ref:`Development Platforms <platforms>`
|
||||
* Pre-built toolchains, :ref:`frameworks` for the :ref:`platforms`
|
||||
|
||||
Smart Build System. *Fast and Reliable.*
|
||||
----------------------------------------
|
||||
@@ -108,8 +107,10 @@ Contents
|
||||
:caption: Instruments
|
||||
:maxdepth: 3
|
||||
|
||||
Platforms & Boards <platforms/index>
|
||||
platforms/index
|
||||
platforms/embedded_boards
|
||||
frameworks/index
|
||||
platforms/custom_platform_and_board
|
||||
|
||||
.. toctree::
|
||||
:caption: Library Manager
|
||||
|
||||
@@ -141,7 +141,7 @@ Examples:
|
||||
The repository in which the source code can be found. The field consists for the
|
||||
next items:
|
||||
|
||||
* ``type``
|
||||
* ``type`` the only "git", "hg" or "svn" are supported
|
||||
* ``url``
|
||||
* ``branch`` if is not specified, default branch will be used. This field will
|
||||
be ignored if tag/release exists with the value of :ref:`libjson_version`.
|
||||
|
||||
@@ -20,6 +20,9 @@ source code structure. The only one requirement is library's manifest file -
|
||||
:ref:`library_config`. It can be located inside your library or in the another
|
||||
location where |PIOAPICR| will have *HTTP* access.
|
||||
|
||||
Updates to existing libraries are done every 24 hours. In case a more urgent
|
||||
update is required, you can post a request on PlatformIO `community <https://community.platformio.org/>`_.
|
||||
|
||||
.. contents::
|
||||
|
||||
Source Code Location
|
||||
@@ -152,6 +155,12 @@ to :ref:`install <cmd_lib_install>` it.
|
||||
Examples
|
||||
--------
|
||||
|
||||
Command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ platformio lib register http://my.example.com/library.json
|
||||
|
||||
* `GitHub + fixed release <http://platformio.org/lib/show/552/ACNoblex>`_
|
||||
* `Dependencies by author and framework <http://platformio.org/lib/show/3/PID-AutoTune>`_
|
||||
* `Multiple libraries in the one repository <https://github.com/jrowberg/i2cdevlib/tree/master/Arduino>`_
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -43,16 +43,6 @@ Packages
|
||||
* - ``tool-micronucleus``
|
||||
- `Micronucleus <https://github.com/micronucleus/micronucleus>`_
|
||||
|
||||
.. warning::
|
||||
**Linux Users:** Don't forget to install "udev" rules file
|
||||
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
|
||||
|
||||
|
||||
**Windows Users:** Please check that you have correctly installed USB
|
||||
driver from board manufacturer
|
||||
|
||||
|
||||
|
||||
Frameworks
|
||||
----------
|
||||
.. list-table::
|
||||
@@ -166,6 +156,33 @@ Adafruit
|
||||
- 8 Kb
|
||||
- 0.5 Kb
|
||||
|
||||
Arduboy
|
||||
~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``arduboy``
|
||||
- `Arduboy <https://www.arduboy.com>`_
|
||||
- ATMEGA32U4
|
||||
- 16 MHz
|
||||
- 32 Kb
|
||||
- 2.5 Kb
|
||||
|
||||
* - ``arduboy_devkit``
|
||||
- `Arduboy DevKit <https://www.arduboy.com>`_
|
||||
- ATMEGA32U4
|
||||
- 16 MHz
|
||||
- 32 Kb
|
||||
- 2.5 Kb
|
||||
|
||||
Arduino
|
||||
~~~~~~~
|
||||
|
||||
@@ -702,6 +719,13 @@ Mcudude
|
||||
- 64 Kb
|
||||
- 4 Kb
|
||||
|
||||
* - ``mightycore8535``
|
||||
- `MightyCore ATmega8535 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
|
||||
- ATMEGA16
|
||||
- 16 MHz
|
||||
- 8 Kb
|
||||
- 0.5 Kb
|
||||
|
||||
Microduino
|
||||
~~~~~~~~~~
|
||||
|
||||
@@ -778,6 +802,26 @@ Microduino
|
||||
- 64 Kb
|
||||
- 4 Kb
|
||||
|
||||
OpenEnergyMonitor
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``emonpi``
|
||||
- `OpenEnergyMonitor emonPi <https://github.com/openenergymonitor/emonpi>`_
|
||||
- ATMEGA328P
|
||||
- 16 MHz
|
||||
- 32 Kb
|
||||
- 2 Kb
|
||||
|
||||
PanStamp
|
||||
~~~~~~~~
|
||||
|
||||
@@ -798,6 +842,26 @@ PanStamp
|
||||
- 32 Kb
|
||||
- 2 Kb
|
||||
|
||||
Pinoccio
|
||||
~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``pinoccio``
|
||||
- `Pinoccio Scout <https://www.crowdsupply.com/pinoccio/mesh-sensor-network>`_
|
||||
- ATMEGA256RFR2
|
||||
- 16 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
Punch Through
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
|
||||
@@ -95,6 +95,13 @@ Configuration for the programmers:
|
||||
upload_port = SERIAL_PORT_HERE
|
||||
upload_speed = 19200
|
||||
|
||||
Upload EEPROM data
|
||||
------------------
|
||||
|
||||
To upload EEPROM data (from EEMEM directive) you need to use ``uploadeep``
|
||||
target instead ``upload`` for :option:`platformio run --target` command.
|
||||
For example, ``platformio run -t uploadeep``.
|
||||
|
||||
Articles
|
||||
--------
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -28,23 +28,26 @@ Packages
|
||||
* - Name
|
||||
- Contents
|
||||
|
||||
* - ``framework-mbed``
|
||||
- `mbed Framework <http://mbed.org>`_
|
||||
|
||||
* - ``toolchain-gccarmnoneeabi``
|
||||
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
|
||||
|
||||
* - ``framework-arduinosam``
|
||||
- `Arduino Wiring-based Framework (SAM Core, 1.6) <http://arduino.cc/en/Reference/HomePage>`_
|
||||
|
||||
* - ``ldscripts``
|
||||
- `Linker Scripts <https://sourceware.org/binutils/docs/ld/Scripts.html>`_
|
||||
|
||||
* - ``framework-simba``
|
||||
- `Simba Framework <https://github.com/eerimoq/simba>`_
|
||||
|
||||
* - ``tool-openocd``
|
||||
- `OpenOCD <http://openocd.org>`_
|
||||
|
||||
* - ``framework-mbed``
|
||||
- `mbed Framework <http://mbed.org>`_
|
||||
|
||||
* - ``ldscripts``
|
||||
- `Linker Scripts <https://sourceware.org/binutils/docs/ld/Scripts.html>`_
|
||||
* - ``tool-avrdude``
|
||||
- `AVRDUDE <http://www.nongnu.org/avrdude/>`_
|
||||
|
||||
* - ``tool-bossac``
|
||||
- `BOSSA CLI <https://sourceforge.net/projects/b-o-s-s-a/>`_
|
||||
@@ -85,6 +88,26 @@ Boards
|
||||
* For more detailed ``board`` information please scroll tables below by
|
||||
horizontal.
|
||||
|
||||
Adafruit
|
||||
~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``adafruit_feather_m0_usb``
|
||||
- `Adafruit Feather M0 <https://www.adafruit.com/product/2772>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
Arduino
|
||||
~~~~~~~
|
||||
|
||||
@@ -112,6 +135,41 @@ Arduino
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``mkr1000USB``
|
||||
- `Arduino MKR1000 <https://www.arduino.cc/en/Main/ArduinoMKR1000>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``mzeroUSB``
|
||||
- `Arduino M0 <http://www.arduino.org/products/boards/arduino-m0>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``mzeropro``
|
||||
- `Arduino M0 Pro (Programming Port) <http://www.arduino.org/products/boards/arduino-m0-pro>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``mzeroproUSB``
|
||||
- `Arduino M0 Pro (Native USB Port) <http://www.arduino.org/products/boards/arduino-m0-pro>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``tian``
|
||||
- `Arduino Tian <http://www.arduino.org/products/boards/arduino-tian>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``zero``
|
||||
- `Arduino Zero (Programming Port) <https://www.arduino.cc/en/Main/ArduinoBoardZero>`_
|
||||
- SAMD21G18A
|
||||
@@ -206,3 +264,30 @@ SainSmart
|
||||
- 84 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
SparkFun
|
||||
~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``sparkfun_samd21_dev_usb``
|
||||
- `SparkFun SAMD21 Dev Breakout <https://www.sparkfun.com/products/13672>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``sparkfun_samd21_mini_usb``
|
||||
- `SparkFun SAMD21 Mini Breakout <https://www.sparkfun.com/products/13664>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -11,8 +11,8 @@
|
||||
|
||||
.. _board_creating:
|
||||
|
||||
Custom Board
|
||||
============
|
||||
Custom Embedded Board
|
||||
=====================
|
||||
|
||||
*PlatformIO* has pre-built settings for the most popular embedded boards. This
|
||||
list is available:
|
||||
@@ -33,10 +33,9 @@ JSON Structure
|
||||
|
||||
The key fields:
|
||||
|
||||
* ``build`` data will be used by :ref:`Platforms <platforms>` and
|
||||
:ref:`frameworks` builders
|
||||
* ``build`` data will be used by :ref:`platforms` and :ref:`frameworks` builders
|
||||
* ``frameworks`` is the list with supported :ref:`frameworks`
|
||||
* ``platform`` main type of :ref:`Platforms <platforms>`
|
||||
* ``platform`` main type of :ref:`platforms`
|
||||
* ``upload`` upload settings which depend on the ``platform``
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -11,8 +11,8 @@
|
||||
|
||||
.. _platform_creating:
|
||||
|
||||
Custom Platform
|
||||
===============
|
||||
Custom Development Platform
|
||||
===========================
|
||||
|
||||
*PlatformIO* was developed like a tool which would build the same source code
|
||||
for the different development platforms via single command :ref:`cmd_run`
|
||||
@@ -27,7 +27,7 @@ different/own build scripts, uploader and etc.
|
||||
|
||||
.. note::
|
||||
If you want to change some build flags for the existing
|
||||
:ref:`Platforms <platforms>`, you don't need to create (or duplicate) own
|
||||
:ref:`platforms`, you don't need to create (or duplicate) own
|
||||
development platforms! Please use :ref:`projectconf_build_flags` option.
|
||||
|
||||
**Step-by-Step Manual**
|
||||
@@ -143,6 +143,9 @@ Packages
|
||||
* - ``tool-scons``
|
||||
- `SCons software construction tool <http://www.scons.org>`_
|
||||
|
||||
* - ``tool-sreccat``
|
||||
- `Merging tool <https://github.com/marcows/SRecord>`_
|
||||
|
||||
* - ``tool-stlink``
|
||||
- `ST-Link <https://github.com/texane/stlink>`_
|
||||
|
||||
|
||||
19
docs/platforms/custom_platform_and_board.rst
Normal file
19
docs/platforms/custom_platform_and_board.rst
Normal file
@@ -0,0 +1,19 @@
|
||||
.. Copyright 2014-present 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.
|
||||
|
||||
Custom Platform & Board
|
||||
=======================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
creating_platform
|
||||
creating_board
|
||||
2848
docs/platforms/embedded_boards.rst
Normal file
2848
docs/platforms/embedded_boards.rst
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -210,6 +210,13 @@ Espressif
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp8285``
|
||||
- `Generic ESP8285 Module <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 448 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp_wroom_02``
|
||||
- `ESP-WROOM-02 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
@@ -217,6 +224,27 @@ Espressif
|
||||
- 4096 Kb
|
||||
- 50 Kb
|
||||
|
||||
* - ``phoenix_v1``
|
||||
- `Phoenix 1.0 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``phoenix_v2``
|
||||
- `Phoenix 2.0 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``wifinfo``
|
||||
- `WifInfo <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 448 Kb
|
||||
- 80 Kb
|
||||
|
||||
NodeMCU
|
||||
~~~~~~~
|
||||
|
||||
|
||||
@@ -240,6 +240,12 @@ Using Arduino Framework with Staging version
|
||||
Articles
|
||||
--------
|
||||
|
||||
* Jun 13, 2016 - **Daniel Eichhorn** - `New Weather Station Demo on Github <http://blog.squix.org/2016/06/new-weather-station-demo-on-github.html>`_
|
||||
* Jun 3, 2016 - **Daniel Eichhorn** - `ESP8266: Continuous Delivery Pipeline – Push To Production <http://blog.squix.org/2016/06/esp8266-continuous-delivery-pipeline-push-to-production.html>`_
|
||||
* May 29, 2016 - **Chris Synan** - `Reverse Engineer RF Remote Controller for IoT! <http://www.instructables.com/id/Reverse-Engineer-RF-Remote-Controller-for-IoT/?ALLSTEPS>`_
|
||||
* May 22, 2016 - **Pedro Minatel** - `Estação meteorológica com ESP8266 (Weather station with ESP8266, Portuguese) <http://pedrominatel.com.br/esp8266/estacao-meteorologica-com-esp8266/>`_
|
||||
* May 16, 2016 - **Pedro Minatel** - `Controle remoto WiFi com ESP8266 (WiFi remote control using ESP8266, Portuguese) <http://pedrominatel.com.br/esp8266/controle-remoto-wifi-com-esp8266/>`_
|
||||
* May 08, 2016 - **Radoslaw Bob** - `Touch controlled buzzer (Nodemcu ESP8266) <https://gettoknowthebob.wordpress.com/2016/05/08/touch-controlled-buzzer-nodemcu-esp8266/>`_
|
||||
* Mar 07, 2016 - **Joran Jessurun** - `Nieuwe wereld met PlatformIO (New world with PlatformIO, Dutch) <http://blog.wisclub.nl/#post178>`_
|
||||
* Feb 25, 2016 - **NutDIY** - `PlatformIO Blink On Nodemcu Dev Kit V1.0 (ESP 12-E) <http://nutdiy.blogspot.com/2016/02/platformio-blink-on-nodemcu-dev-kit-v10.html>`_
|
||||
* Feb 23, 2016 - **Ptarmigan Labs** - `ESP8266 Over The Air updating – what are the options? <https://ptarmiganlabs.com/blog/2016/02/23/esp8266-over-the-air-updating-what-are-the-options/>`_
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -11,8 +11,8 @@
|
||||
|
||||
.. _platforms:
|
||||
|
||||
Platforms & Embedded Boards
|
||||
===========================
|
||||
Development Platforms
|
||||
=====================
|
||||
|
||||
*PlatformIO* has pre-built different development platforms for popular OS
|
||||
(*Mac OS X, Linux (+ARM) and Windows*). Each of them include compiler,
|
||||
@@ -54,12 +54,3 @@ Desktop
|
||||
linux_i686
|
||||
linux_x86_64
|
||||
windows_x86
|
||||
|
||||
Custom Platform & Board
|
||||
-----------------------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
creating_platform
|
||||
creating_board
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -177,13 +177,6 @@ Digilent
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``openbci``
|
||||
- `Digilent OpenScope <http://store.digilentinc.com/>`_
|
||||
- 32MX250F128B
|
||||
- 40 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``openscope``
|
||||
- `Digilent OpenScope <http://store.digilentinc.com/>`_
|
||||
- 32MZ2048EFG124
|
||||
@@ -245,6 +238,26 @@ Olimex
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
OpenBCI
|
||||
~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``openbci``
|
||||
- `OpenBCI 32bit <http://shop.openbci.com/>`_
|
||||
- 32MX250F128B
|
||||
- 40 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
||||
|
||||
PONTECH
|
||||
~~~~~~~
|
||||
|
||||
@@ -319,6 +332,26 @@ UBW32
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
chipKIT
|
||||
~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``lenny``
|
||||
- `chipKIT Lenny <http://chipkit.net/tag/lenny/>`_
|
||||
- 32MX270F256D
|
||||
- 40 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
||||
|
||||
element14
|
||||
~~~~~~~~~
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -37,6 +37,9 @@ Packages
|
||||
* - ``toolchain-gccarmnoneeabi``
|
||||
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
|
||||
|
||||
* - ``tool-sreccat``
|
||||
- `Merging tool <https://github.com/marcows/SRecord>`_
|
||||
|
||||
* - ``framework-arduinonordicnrf51``
|
||||
- `Arduino Wiring-based Framework (RFduino Core) <https://github.com/RFduino/RFduino>`_
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -98,6 +98,13 @@ Silicon Labs
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``efm32pg_stk3401``
|
||||
- `Silicon Labs SLSTK3401A (Pearl Gecko) <https://developer.mbed.org/platforms/EFM32-Pearl-Gecko/>`_
|
||||
- EFM32PG1B200F256
|
||||
- 40 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``efm32wg_stk3800``
|
||||
- `Silicon Labs EFM32WG-STK3800 (Wonder Gecko) <https://developer.mbed.org/platforms/EFM32-Wonder-Gecko/>`_
|
||||
- EFM32WG990F256
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -142,6 +142,26 @@ Armstrap
|
||||
- 512 Kb
|
||||
- 192 Kb
|
||||
|
||||
MultiTech
|
||||
~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``mts_mdot_f411re``
|
||||
- `MultiTech mDot F411 <https://developer.mbed.org/platforms/MTS-mDot-F411/>`_
|
||||
- STM32F411RET6
|
||||
- 100 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
ST
|
||||
~~
|
||||
|
||||
@@ -337,6 +357,13 @@ ST
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``nucleo_l031k6``
|
||||
- `ST Nucleo L031K6 <https://developer.mbed.org/platforms/ST-Nucleo-L031K6/>`_
|
||||
- STM32L031K6T6
|
||||
- 32 MHz
|
||||
- 32 Kb
|
||||
- 8 Kb
|
||||
|
||||
* - ``nucleo_l053r8``
|
||||
- `ST Nucleo L053R8 <https://developer.mbed.org/platforms/ST-Nucleo-L053R8/>`_
|
||||
- STM32L053R8T6
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
|
||||
@@ -9,6 +9,33 @@
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
USB Features
|
||||
------------
|
||||
|
||||
If you want to use Teensy USB Features, you need to add special
|
||||
acros/define using :ref:`projectconf_build_flags`:
|
||||
|
||||
* ``-D USB_HID``
|
||||
* ``-D USB_SERIAL_HID``
|
||||
* ``-D USB_DISK``
|
||||
* ``-D USB_DISK_SDFLASH``
|
||||
* ``-D USB_MIDI``
|
||||
* ``-D USB_RAWHID``
|
||||
* ``-D USB_FLIGHTSIM``
|
||||
* ``-D USB_DISABLED``
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[env:teensy_hid_device]
|
||||
platform = teensy
|
||||
framework = arduino
|
||||
board = teensy20
|
||||
build_flags = -D USB_RAWHID
|
||||
|
||||
See `Teensy USB Examples <https://www.pjrc.com/teensy/usb_debug_only.html>`_.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -122,7 +122,7 @@ TI
|
||||
|
||||
* - ``lpmsp430fr4133``
|
||||
- `TI LaunchPad w/ msp430fr4133 <http://www.ti.com/tool/msp-exp430fr4133>`_
|
||||
- MSP430G2553
|
||||
- MSP430FR4133
|
||||
- 16 MHz
|
||||
- 16 Kb
|
||||
- 2 Kb
|
||||
@@ -143,7 +143,7 @@ TI
|
||||
|
||||
* - ``lpmsp430fr6989``
|
||||
- `TI LaunchPad w/ msp430fr6989 <http://www.ti.com/tool/msp-exp430fr6989>`_
|
||||
- MSP430G2553
|
||||
- MSP430FR6989
|
||||
- 16 MHz
|
||||
- 128 Kb
|
||||
- 2 Kb
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -97,7 +97,11 @@ This option can be overridden by global environment variable
|
||||
``envs_dir``
|
||||
^^^^^^^^^^^^
|
||||
|
||||
This is a cache directory. *PlatformIO Build System* uses this folder for project
|
||||
.. warning::
|
||||
**PLEASE DO NOT EDIT FILES IN THIS FOLDER**. PlatformIO will overwrite
|
||||
your changes on the next build. **THIS IS A CACHE DIRECTORY**.
|
||||
|
||||
*PlatformIO Build System* uses this folder for project
|
||||
environments to store compiled object files, static libraries, firmwares and
|
||||
other cached information. It allows PlatformIO to build source code extremely
|
||||
fast!
|
||||
@@ -194,7 +198,7 @@ General options
|
||||
``platform``
|
||||
^^^^^^^^^^^^
|
||||
|
||||
:ref:`Platform <platforms>` type.
|
||||
:ref:`platforms` type.
|
||||
|
||||
|
||||
.. _projectconf_env_framework:
|
||||
@@ -351,6 +355,10 @@ Example:
|
||||
[env:specific_ld_script]
|
||||
build_flags = -Wl,-T/path/to/ld_script.ld
|
||||
|
||||
[env:exec_command]
|
||||
# get VCS revision "on-the-fly"
|
||||
build_flags = !echo "-DPIO_SRC_REV="$(git rev-parse HEAD)
|
||||
|
||||
|
||||
For more detailed information about available flags/options go to:
|
||||
|
||||
@@ -373,7 +381,7 @@ For more detailed information about available flags/options go to:
|
||||
``src_build_flags``
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
An option ``src_build_flags`` has the same behaviour like ``build_flags``
|
||||
An option ``src_build_flags`` has the same behavior like ``build_flags``
|
||||
but will be applied only for the project source code from
|
||||
:ref:`projectconf_pio_src_dir` directory.
|
||||
|
||||
@@ -585,7 +593,7 @@ Example:
|
||||
``lib_dfcyclic``
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
Control cyclic (recursive) behaviour for ``Library Dependency Finder (LDF)``.
|
||||
Control cyclic (recursive) behavior for ``Library Dependency Finder (LDF)``.
|
||||
By default, this option is turned OFF (``lib_dfcyclic=False``) and means that
|
||||
``LDF`` will find only libraries which are included in source files from the
|
||||
project :ref:`projectconf_pio_src_dir`.
|
||||
@@ -610,7 +618,7 @@ Examples
|
||||
|
||||
.. note::
|
||||
A full list with project examples can be found in
|
||||
`PlatformIO Repository <https://github.com/platformio/platformio/tree/develop/examples>`_.
|
||||
`PlatformIO Repository <https://github.com/platformio/platformio-examples/tree/develop>`_.
|
||||
|
||||
1. :ref:`platform_atmelavr`: Arduino UNO board with auto pre-configured
|
||||
``board_*`` and ``upload_*`` options (use only ``board`` option) and Arduino
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -15,7 +15,7 @@ Quick Start
|
||||
===========
|
||||
|
||||
.. note::
|
||||
If you are looking for a Qucik Start for PlatformIO IDE please follow to
|
||||
If you are looking for a Quick Start for PlatformIO IDE please follow to
|
||||
:ref:`PlatformIO IDE Quick Start <atom_ide_quickstart>` page.
|
||||
|
||||
This tutorial introduces you to the basics of PlatformIO Command Line Interface
|
||||
@@ -30,7 +30,7 @@ PlatformIO CLI provides special :ref:`cmd_init` command for configuring your pro
|
||||
It allows to initialize new empty project or update existing with the new data.
|
||||
|
||||
What is more, :ref:`cmd_init` can be used for :ref:`ide`. It means that you will
|
||||
be able to import pre-generated PlatformIO project using favourite IDE and
|
||||
be able to import pre-generated PlatformIO project using favorite IDE and
|
||||
extend it with the professional instruments for IoT development.
|
||||
|
||||
This tutorial is based on the next popular embedded boards and development
|
||||
@@ -147,24 +147,12 @@ The result of just generated ``platformio.ini``:
|
||||
.. code-block:: ini
|
||||
|
||||
#
|
||||
# Project Configuration File
|
||||
# PlatformIO Project Configuration File
|
||||
#
|
||||
# A detailed documentation with the EXAMPLES is located here:
|
||||
# http://docs.platformio.org/en/latest/projectconf.html
|
||||
# Please make sure to read documentation with examples first
|
||||
# http://docs.platformio.org/en/stable/projectconf.html
|
||||
#
|
||||
|
||||
# A sign `#` at the beginning of the line indicates a comment
|
||||
# Comment lines are ignored.
|
||||
|
||||
# Simple and base environment
|
||||
# [env:mybaseenv]
|
||||
# platform = %INSTALLED_PLATFORM_NAME_HERE%
|
||||
# framework =
|
||||
# board =
|
||||
#
|
||||
# Automatic targets - enable auto-uploading
|
||||
# targets = upload
|
||||
|
||||
[env:uno]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
@@ -256,5 +244,5 @@ Arduino Uno:
|
||||
Further Reading
|
||||
---------------
|
||||
|
||||
* `Project examples <https://github.com/platformio/platformio/tree/develop/examples>`_
|
||||
* `Project examples <https://github.com/platformio/platformio-examples/tree/develop>`_
|
||||
* :ref:`userguide` for PlatformIO CLI commands
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -29,7 +29,7 @@ Description
|
||||
|
||||
:ref:`cmd_ci` command is conceived of as "hot key" for building project with
|
||||
arbitrary source code structure. In a nutshell, using ``SRC`` and
|
||||
:option:`platformio ci --lib` contents PlatformIO initialises via
|
||||
:option:`platformio ci --lib` contents PlatformIO initializes via
|
||||
:ref:`cmd_init` new project in :option:`platformio ci --build-dir`
|
||||
with the build environments (using :option:`platformio ci --board` or
|
||||
:option:`platformio ci --project-conf`) and processes them via :ref:`cmd_run`
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -47,7 +47,7 @@ Options
|
||||
.. option::
|
||||
-d, --project-dir
|
||||
|
||||
A path to the directory where *PlatformIO* will initialise new project.
|
||||
A path to the directory where *PlatformIO* will initialize new project.
|
||||
|
||||
.. option::
|
||||
-b, --board
|
||||
|
||||
@@ -207,14 +207,11 @@ default ``20`` (DEC)
|
||||
|
||||
Diagnostics: suppress non-error messages, default ``Off``
|
||||
|
||||
|
||||
.. option::
|
||||
--echo
|
||||
|
||||
Enable local echo, default ``Off``
|
||||
|
||||
**REMOVED**: Is not available in Miniterm/PySerial 3.0
|
||||
|
||||
.. option::
|
||||
--cr
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -27,7 +27,7 @@ Usage
|
||||
Description
|
||||
-----------
|
||||
|
||||
Check or update installed :ref:`Platforms <platforms>` and
|
||||
Check or update installed :ref:`platforms` and
|
||||
:ref:`Libraries <librarymanager>`
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -27,8 +27,7 @@ Usage
|
||||
Description
|
||||
-----------
|
||||
|
||||
Install pre-built development :ref:`Platforms <platforms>` with related
|
||||
packages.
|
||||
Install pre-built development :ref:`platforms` with related packages.
|
||||
|
||||
There are several predefined aliases for packages, such as:
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -27,7 +27,7 @@ Usage
|
||||
Description
|
||||
-----------
|
||||
|
||||
List installed :ref:`Platforms <platforms>`
|
||||
List installed :ref:`platforms`
|
||||
|
||||
Options
|
||||
~~~~~~~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -27,7 +27,7 @@ Usage
|
||||
Description
|
||||
-----------
|
||||
|
||||
Search for development :ref:`Platforms <platforms>`
|
||||
Search for development :ref:`platforms`
|
||||
|
||||
Options
|
||||
~~~~~~~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -27,7 +27,7 @@ Usage
|
||||
Description
|
||||
-----------
|
||||
|
||||
Show details about the installed :ref:`Platforms <platforms>`
|
||||
Show details about the installed :ref:`platforms`
|
||||
|
||||
|
||||
Examples
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -27,7 +27,7 @@ Usage
|
||||
Description
|
||||
-----------
|
||||
|
||||
Uninstall specified :ref:`Platforms <platforms>`
|
||||
Uninstall specified :ref:`platforms`
|
||||
|
||||
|
||||
Examples
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present 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
|
||||
@@ -27,7 +27,7 @@ Usage
|
||||
Description
|
||||
-----------
|
||||
|
||||
Check or update installed :ref:`Platforms <platforms>`
|
||||
Check or update installed :ref:`platforms`
|
||||
|
||||
|
||||
Examples
|
||||
|
||||
2
examples
2
examples
Submodule examples updated: c06e843757...a657ca4225
@@ -14,7 +14,7 @@
|
||||
|
||||
import sys
|
||||
|
||||
VERSION = (2, 9, 1)
|
||||
VERSION = (2, 11, 2)
|
||||
__version__ = ".".join([str(s) for s in VERSION])
|
||||
|
||||
__title__ = "platformio"
|
||||
|
||||
@@ -122,7 +122,7 @@ An unexpected error occurred. Further steps:
|
||||
`pip install -U platformio` command
|
||||
|
||||
* Try to find answer in FAQ Troubleshooting section
|
||||
http://docs.platformio.org/en/latest/faq.html
|
||||
http://docs.platformio.org/en/stable/faq.html
|
||||
|
||||
* Report this problem to the developers
|
||||
https://github.com/platformio/platformio/issues
|
||||
|
||||
@@ -46,7 +46,7 @@ DEFAULT_SETTINGS = {
|
||||
},
|
||||
"enable_telemetry": {
|
||||
"description": (
|
||||
"Telemetry service <http://docs.platformio.org/en/latest/"
|
||||
"Telemetry service <http://docs.platformio.org/en/stable/"
|
||||
"userguide/cmd_settings.html?#enable-telemetry> (Yes/No)"),
|
||||
"value": True
|
||||
},
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "Adafruit Flora",
|
||||
"variant": "flora",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x239A", "0x8004"]
|
||||
]
|
||||
},
|
||||
@@ -36,7 +36,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "Bluefruit Micro",
|
||||
"variant": "bluefruitmicro",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x239A", "0x800A"]
|
||||
]
|
||||
},
|
||||
@@ -85,7 +85,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "Feather 32u4",
|
||||
"variant": "feather32u4",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x239A", "0x800C"]
|
||||
]
|
||||
},
|
||||
@@ -248,5 +248,35 @@
|
||||
},
|
||||
"url": "http://www.adafruit.com/products/2000",
|
||||
"vendor": "Adafruit"
|
||||
},
|
||||
"adafruit_feather_m0_usb": {
|
||||
"build": {
|
||||
"core": "arduino_zero",
|
||||
"extra_flags": "-DARDUINO_SAMD_FEATHER_M0 -DARDUINO_ARCH_SAMD -D__SAMD21G18A__",
|
||||
"f_cpu": "48000000L",
|
||||
"mcu": "samd21g18a",
|
||||
"cpu": "cortex-m0plus",
|
||||
"usb_product": "Adafruit Feather M0",
|
||||
"variant": "arduino_zero",
|
||||
"ldscript": "flash_with_bootloader.ld",
|
||||
"hwids": [
|
||||
["0x239A", "0x800B"],
|
||||
["0x239A", "0x000B"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Adafruit Feather M0",
|
||||
"platform": "atmelsam",
|
||||
"upload": {
|
||||
"disable_flushing": true,
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_size": 262144,
|
||||
"protocol": "sam-ba",
|
||||
"require_upload_port" : true,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true
|
||||
},
|
||||
"url": "https://www.adafruit.com/product/2772",
|
||||
"vendor": "Adafruit"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "LilyPad USB",
|
||||
"variant": "leonardo",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x1B4F", "0x9207"],
|
||||
["0x1B4F", "0x9208"]
|
||||
]
|
||||
@@ -164,7 +164,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "Arduino Esplora",
|
||||
"variant": "leonardo",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2341", "0x003C"],
|
||||
["0x2341", "0x803C"],
|
||||
["0x2A03", "0x003C"],
|
||||
@@ -237,7 +237,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "Arduino Leonardo",
|
||||
"variant": "leonardo",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2341", "0x0036"],
|
||||
["0x2341", "0x8036"],
|
||||
["0x2A03", "0x0036"],
|
||||
@@ -268,7 +268,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "Arduino Leonardo ETH",
|
||||
"variant": "leonardo",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2A03", "0x8040"],
|
||||
["0x2A03", "0x0040"]
|
||||
]
|
||||
@@ -402,7 +402,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "Arduino Micro",
|
||||
"variant": "micro",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2341", "0x0037"],
|
||||
["0x2341", "0x8037"],
|
||||
["0x2A03", "0x0037"],
|
||||
@@ -601,7 +601,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "Robot Control",
|
||||
"variant": "robot_control",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2341", "0x0038"],
|
||||
["0x2341", "0x8038"],
|
||||
["0x2A03", "0x0038"],
|
||||
@@ -632,7 +632,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "Robot Motor",
|
||||
"variant": "robot_motor",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2341", "0x0039"],
|
||||
["0x2341", "0x8039"],
|
||||
["0x2A03", "0x0039"],
|
||||
@@ -662,7 +662,7 @@
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega328p",
|
||||
"variant": "standard",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2341", "0x0043"],
|
||||
["0x2341", "0x0001"],
|
||||
["0x2A03", "0x0043"]
|
||||
@@ -689,7 +689,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "Arduino Yun",
|
||||
"variant": "yun",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2341", "0x0041"],
|
||||
["0x2341", "0x8041"],
|
||||
["0x2A03", "0x0041"],
|
||||
@@ -721,7 +721,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "Arduino Yun Mini",
|
||||
"variant": "yun",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2A03", "0x8050"],
|
||||
["0x2A03", "0x0050"]
|
||||
]
|
||||
@@ -751,7 +751,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "Arduino Industrial 101",
|
||||
"variant": "yun",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2A03", "0x8056"],
|
||||
["0x2A03", "0x0056"]
|
||||
]
|
||||
@@ -781,7 +781,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "Linino One",
|
||||
"variant": "yun",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2A03", "0x8001"],
|
||||
["0x2A03", "0x0001"]
|
||||
]
|
||||
@@ -813,7 +813,7 @@
|
||||
"usb_product": "Arduino Due",
|
||||
"variant": "arduino_due_x",
|
||||
"ldscript": "sam3x8e.ld",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2341", "0x003D"],
|
||||
["0x2A03", "0x003D"]
|
||||
]
|
||||
@@ -843,7 +843,7 @@
|
||||
"usb_product": "Arduino Due",
|
||||
"variant": "arduino_due_x",
|
||||
"ldscript": "sam3x8e.ld",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2341", "0x003E"],
|
||||
["0x2A03", "0x003E"]
|
||||
]
|
||||
@@ -873,7 +873,7 @@
|
||||
"usb_product": "Arduino Zero",
|
||||
"variant": "arduino_zero",
|
||||
"ldscript": "flash_with_bootloader.ld",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2341", "0x804D"],
|
||||
["0x03EB", "0x2157"]
|
||||
]
|
||||
@@ -881,14 +881,18 @@
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduino Zero (Programming Port)",
|
||||
"platform": "atmelsam",
|
||||
"debug": {
|
||||
"openocdcfg": "arduino_zero.cfg"
|
||||
},
|
||||
"upload": {
|
||||
"disable_flushing": true,
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_size": 262144,
|
||||
"protocol": "sam-ba",
|
||||
"protocol": "openocd",
|
||||
"require_upload_port" : false,
|
||||
"use_1200bps_touch": false,
|
||||
"wait_for_upload_port": false
|
||||
"wait_for_upload_port": false,
|
||||
"section_start": "0x2000"
|
||||
},
|
||||
"url": "https://www.arduino.cc/en/Main/ArduinoBoardZero",
|
||||
"vendor": "Arduino"
|
||||
@@ -903,7 +907,7 @@
|
||||
"usb_product": "Arduino Zero",
|
||||
"variant": "arduino_zero",
|
||||
"ldscript": "flash_with_bootloader.ld",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2341", "0x804D"],
|
||||
["0x2341", "0x004D"],
|
||||
["0x2341", "0x824D"]
|
||||
@@ -923,5 +927,167 @@
|
||||
},
|
||||
"url": "https://www.arduino.cc/en/Main/ArduinoBoardZero",
|
||||
"vendor": "Arduino"
|
||||
},
|
||||
"mkr1000USB": {
|
||||
"build": {
|
||||
"core": "arduino_zero",
|
||||
"extra_flags": "-DARDUINO_SAMD_MKR1000 -DARDUINO_ARCH_SAMD -D__SAMD21G18A__",
|
||||
"f_cpu": "48000000L",
|
||||
"mcu": "samd21g18a",
|
||||
"cpu": "cortex-m0plus",
|
||||
"usb_product": "Arduino MKR1000",
|
||||
"variant": "mkr1000",
|
||||
"ldscript": "flash_with_bootloader.ld",
|
||||
"hwids": [
|
||||
["0x2341", "0x804E"],
|
||||
["0x2341", "0x004E"],
|
||||
["0x2341", "0x824E"],
|
||||
["0x2341", "0x024E"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduino MKR1000",
|
||||
"platform": "atmelsam",
|
||||
"upload": {
|
||||
"disable_flushing": true,
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_size": 262144,
|
||||
"protocol": "sam-ba",
|
||||
"require_upload_port" : true,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true
|
||||
},
|
||||
"url": "https://www.arduino.cc/en/Main/ArduinoMKR1000",
|
||||
"vendor": "Arduino"
|
||||
},
|
||||
"mzeropro": {
|
||||
"build": {
|
||||
"core": "arduino_zero_org",
|
||||
"extra_flags": "-DARDUINO_SAMD_ZERO -DARDUINO_ARCH_SAMD -D__SAMD21G18A__",
|
||||
"f_cpu": "48000000L",
|
||||
"mcu": "samd21g18a",
|
||||
"cpu": "cortex-m0plus",
|
||||
"usb_product": "Arduino M0 Pro",
|
||||
"variant": "arduino_zero_org",
|
||||
"ldscript": "samd21g18a_bootloader_org.ld",
|
||||
"hwids": [
|
||||
["0x2A03", "0x804F"],
|
||||
["0x03EB", "0x2111"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduino M0 Pro (Programming Port)",
|
||||
"platform": "atmelsam",
|
||||
"debug": {
|
||||
"openocdcfg": "arduino_zero_org.cfg"
|
||||
},
|
||||
"upload": {
|
||||
"disable_flushing": true,
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_size": 262144,
|
||||
"protocol": "openocd",
|
||||
"require_upload_port" : false,
|
||||
"use_1200bps_touch": false,
|
||||
"wait_for_upload_port": false,
|
||||
"section_start": "0x4000"
|
||||
},
|
||||
"url": "http://www.arduino.org/products/boards/arduino-m0-pro",
|
||||
"vendor": "Arduino"
|
||||
},
|
||||
"mzeroproUSB": {
|
||||
"build": {
|
||||
"core": "arduino_zero_org",
|
||||
"extra_flags": "-DARDUINO_SAMD_ZERO -DARDUINO_ARCH_SAMD -D__SAMD21G18A__",
|
||||
"f_cpu": "48000000L",
|
||||
"mcu": "samd21g18a",
|
||||
"cpu": "cortex-m0plus",
|
||||
"usb_product": "Arduino M0 Pro",
|
||||
"variant": "arduino_zero_org",
|
||||
"ldscript": "samd21g18a_bootloader_org.ld",
|
||||
"hwids": [
|
||||
["0x2A03", "0x804F"],
|
||||
["0x2A03", "0x004F"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduino M0 Pro (Native USB Port)",
|
||||
"platform": "atmelsam",
|
||||
"upload": {
|
||||
"disable_flushing": true,
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_size": 262144,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 57600,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true,
|
||||
"section_start": "0x4000"
|
||||
},
|
||||
"url": "http://www.arduino.org/products/boards/arduino-m0-pro",
|
||||
"vendor": "Arduino"
|
||||
},
|
||||
"mzeroUSB": {
|
||||
"build": {
|
||||
"core": "arduino_zero_org",
|
||||
"extra_flags": "-DARDUINO_SAMD_ZERO -DARDUINO_ARCH_SAMD -D__SAMD21G18A__",
|
||||
"f_cpu": "48000000L",
|
||||
"mcu": "samd21g18a",
|
||||
"cpu": "cortex-m0plus",
|
||||
"usb_product": "Arduino M0",
|
||||
"variant": "arduino_zero_org",
|
||||
"ldscript": "samd21g18a_bootloader_org.ld",
|
||||
"hwids": [
|
||||
["0x2A03", "0x804E"],
|
||||
["0x2A03", "0x004E"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduino M0",
|
||||
"platform": "atmelsam",
|
||||
"upload": {
|
||||
"disable_flushing": true,
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_size": 262144,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 57600,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true,
|
||||
"section_start": "0x4000"
|
||||
},
|
||||
"url": "http://www.arduino.org/products/boards/arduino-m0",
|
||||
"vendor": "Arduino"
|
||||
},
|
||||
"tian": {
|
||||
"build": {
|
||||
"core": "arduino_zero_org",
|
||||
"extra_flags": "-DARDUINO_SAMD_ZERO -DARDUINO_ARCH_SAMD -D__SAMD21G18A__",
|
||||
"f_cpu": "48000000L",
|
||||
"mcu": "samd21g18a",
|
||||
"cpu": "cortex-m0plus",
|
||||
"usb_product": "Arduino Tian",
|
||||
"variant": "arduino_zero_org",
|
||||
"ldscript": "samd21g18a_bootloader_org.ld",
|
||||
"hwids": [
|
||||
["0x2A03", "0x8052"],
|
||||
["0x10C4", "0xEA70"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduino Tian",
|
||||
"platform": "atmelsam",
|
||||
"upload": {
|
||||
"disable_flushing": true,
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_size": 262144,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 57600,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true,
|
||||
"section_start": "0x4000"
|
||||
},
|
||||
"url": "http://www.arduino.org/products/boards/arduino-tian",
|
||||
"vendor": "Arduino"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,11 @@
|
||||
"frameworks": ["mbed"],
|
||||
"name": "Atmel ATSAMR21-XPRO",
|
||||
"platform": "atmelsam",
|
||||
"debug": {
|
||||
"openocdcfg": "atmel_samr21_xplained_pro.cfg"
|
||||
},
|
||||
"upload": {
|
||||
"protocol": "openocd",
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_size": 262144
|
||||
},
|
||||
@@ -24,7 +28,11 @@
|
||||
"frameworks": ["mbed"],
|
||||
"name": "Atmel SAML21-XPRO-B",
|
||||
"platform": "atmelsam",
|
||||
"debug": {
|
||||
"openocdcfg": "atmel_saml21_xplained_pro.cfg"
|
||||
},
|
||||
"upload": {
|
||||
"protocol": "openocd",
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_size": 262144
|
||||
},
|
||||
@@ -40,7 +48,11 @@
|
||||
"frameworks": ["mbed"],
|
||||
"name": "Atmel SAMD21-XPRO",
|
||||
"platform": "atmelsam",
|
||||
"debug": {
|
||||
"openocdcfg": "atmel_samd21_xplained_pro.cfg"
|
||||
},
|
||||
"upload": {
|
||||
"protocol": "openocd",
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_size": 262144
|
||||
},
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
"ldscript": "sam3x8e.ld",
|
||||
"usb_product": "Digistump DigiX",
|
||||
"variant": "digispark_digix",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x16D0", "0x078A"]
|
||||
]
|
||||
},
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "EngduinoV1",
|
||||
"variant": "engduinov1",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x1B4F", "0x9208"]
|
||||
]
|
||||
},
|
||||
@@ -35,7 +35,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "EngduinoV2",
|
||||
"variant": "engduinov2",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x1B4F", "0x9208"]
|
||||
]
|
||||
},
|
||||
@@ -63,7 +63,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "EngduinoV3",
|
||||
"variant": "engduinov3",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x1B4F", "0x9208"]
|
||||
]
|
||||
},
|
||||
|
||||
@@ -133,7 +133,10 @@
|
||||
"flash_mode": "qio",
|
||||
"ldscript": "esp8266.flash.4m1m.ld",
|
||||
"mcu": "esp8266",
|
||||
"variant": "nodemcu"
|
||||
"variant": "nodemcu",
|
||||
"hwids": [
|
||||
["0x10C4", "0xEA60"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino", "simba"],
|
||||
"name": "NodeMCU 0.9 (ESP-12 Module)",
|
||||
@@ -158,7 +161,10 @@
|
||||
"flash_mode": "dio",
|
||||
"ldscript": "esp8266.flash.4m1m.ld",
|
||||
"mcu": "esp8266",
|
||||
"variant": "nodemcu"
|
||||
"variant": "nodemcu",
|
||||
"hwids": [
|
||||
["0x10C4", "0xEA60"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino", "simba"],
|
||||
"name": "NodeMCU 1.0 (ESP-12E Module)",
|
||||
@@ -352,7 +358,7 @@
|
||||
"d1": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_NODEMCU",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DESP8266_WEMOS_D1MINI",
|
||||
"f_cpu": "80000000L",
|
||||
"f_flash": "40000000L",
|
||||
"flash_mode": "dio",
|
||||
@@ -377,7 +383,7 @@
|
||||
"d1_mini": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_NODEMCU",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DESP8266_WEMOS_D1MINI",
|
||||
"f_cpu": "80000000L",
|
||||
"f_flash": "40000000L",
|
||||
"flash_mode": "dio",
|
||||
@@ -472,5 +478,105 @@
|
||||
},
|
||||
"url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family",
|
||||
"vendor": "Espressif"
|
||||
},
|
||||
|
||||
"esp8285": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DESP8266_ESP01",
|
||||
"f_cpu": "80000000L",
|
||||
"f_flash": "40000000L",
|
||||
"flash_mode": "dout",
|
||||
"ldscript": "esp8266.flash.1m256.ld",
|
||||
"mcu": "esp8266",
|
||||
"variant": "generic"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Generic ESP8285 Module",
|
||||
"platform": "espressif",
|
||||
"upload": {
|
||||
"maximum_ram_size": 81920,
|
||||
"maximum_size": 434160,
|
||||
"resetmethod": "ck",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family",
|
||||
"vendor": "Espressif"
|
||||
},
|
||||
|
||||
"phoenix_v1": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DESP8266_PHOENIX_V1",
|
||||
"f_cpu": "80000000L",
|
||||
"f_flash": "40000000L",
|
||||
"flash_mode": "dio",
|
||||
"ldscript": "esp8266.flash.4m1m.ld",
|
||||
"mcu": "esp8266",
|
||||
"variant": "phoenix_v1"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Phoenix 1.0",
|
||||
"platform": "espressif",
|
||||
"upload": {
|
||||
"maximum_ram_size": 81920,
|
||||
"maximum_size": 1044464,
|
||||
"resetmethod": "nodemcu",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family",
|
||||
"vendor": "Espressif"
|
||||
},
|
||||
|
||||
"phoenix_v2": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DESP8266_PHOENIX_V2",
|
||||
"f_cpu": "80000000L",
|
||||
"f_flash": "40000000L",
|
||||
"flash_mode": "dio",
|
||||
"ldscript": "esp8266.flash.4m1m.ld",
|
||||
"mcu": "esp8266",
|
||||
"variant": "phoenix_v2"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Phoenix 2.0",
|
||||
"platform": "espressif",
|
||||
"upload": {
|
||||
"maximum_ram_size": 81920,
|
||||
"maximum_size": 1044464,
|
||||
"resetmethod": "ck",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family",
|
||||
"vendor": "Espressif"
|
||||
},
|
||||
|
||||
"wifinfo": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DWIFINFO",
|
||||
"f_cpu": "80000000L",
|
||||
"f_flash": "40000000L",
|
||||
"flash_mode": "qio",
|
||||
"ldscript": "esp8266.flash.1m256.ld",
|
||||
"mcu": "esp8266",
|
||||
"variant": "wifinfo"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "WifInfo",
|
||||
"platform": "espressif",
|
||||
"upload": {
|
||||
"maximum_ram_size": 81920,
|
||||
"maximum_size": 434160,
|
||||
"resetmethod": "nodemcu",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,9 +6,10 @@
|
||||
"f_cpu": "32000000L",
|
||||
"ldscript": "flash.ld",
|
||||
"mcu": "ARCv2EM",
|
||||
"cpu": "quarkse_em",
|
||||
"usb_product": "Genuino 101",
|
||||
"variant": "arduino_101",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x8087", "0x0AB6"]
|
||||
]
|
||||
},
|
||||
@@ -17,14 +18,13 @@
|
||||
"platform": "intel_arc32",
|
||||
"upload": {
|
||||
"maximum_ram_size": 81920,
|
||||
"maximum_size": 196608,
|
||||
"use_1200bps_touch": true,
|
||||
"maximum_size": 155648,
|
||||
"protocol": "script",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": false
|
||||
"use_1200bps_touch": true
|
||||
},
|
||||
"url": "https://www.arduino.cc/en/Main/ArduinoBoard101",
|
||||
"vendor": "Intel"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"cpu": "fpga",
|
||||
"mcu": "ice40hx1k",
|
||||
"variant": "1k",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x0403", "0x6010"]
|
||||
]
|
||||
},
|
||||
@@ -28,7 +28,7 @@
|
||||
"cpu": "fpga",
|
||||
"mcu": "ice40hx1k",
|
||||
"variant": "1k",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x0403", "0x6010"]
|
||||
]
|
||||
},
|
||||
|
||||
@@ -16,8 +16,7 @@
|
||||
"maximum_size": 520192,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://store.digilentinc.com/cerebot-32mx4-limited-time-see-chipkit-pro-mx4/",
|
||||
"vendor": "Digilent"
|
||||
@@ -40,8 +39,7 @@
|
||||
"maximum_size": 520192,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://www.microchip.com/Developmenttools/ProductDetails.aspx?PartNO=TDGL004",
|
||||
"vendor": "Digilent"
|
||||
@@ -64,8 +62,7 @@
|
||||
"maximum_size": 126976,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://store.digilentinc.com/chipkit-mx3-microcontroller-board-with-pmod-headers/",
|
||||
"vendor": "Digilent"
|
||||
@@ -88,8 +85,7 @@
|
||||
"maximum_size": 520192,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://store.digilentinc.com/chipkit-pro-mx4-embedded-systems-trainer-board/",
|
||||
"vendor": "Digilent"
|
||||
@@ -112,8 +108,7 @@
|
||||
"maximum_size": 520192,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://store.digilentinc.com/chipkit-pro-mx7-advanced-peripherals-embedded-systems-trainer-board/",
|
||||
"vendor": "Digilent"
|
||||
@@ -124,7 +119,7 @@
|
||||
"core": "pic32",
|
||||
"extra_flags": "-D_BOARD_CHIPKIT_PI_",
|
||||
"f_cpu": "40000000L",
|
||||
"ldscript": "cchipKIT-application-32MX250F128.ld",
|
||||
"ldscript": "chipKIT-application-32MX250F128.ld",
|
||||
"mcu": "32MX250F128B",
|
||||
"variant": "ChipKIT_Pi"
|
||||
},
|
||||
@@ -136,8 +131,7 @@
|
||||
"maximum_size": 122880,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://www.element14.com/community/community/knode/dev_platforms_kits/element14_dev_kits/microchip-chipkit/chipkit_pi",
|
||||
"vendor": "element14"
|
||||
@@ -160,8 +154,7 @@
|
||||
"maximum_size": 126976,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://store.digilentinc.com/chipkit-cmod-breadboardable-mz-microcontroller-board/",
|
||||
"vendor": "Digilent"
|
||||
@@ -184,8 +177,7 @@
|
||||
"maximum_size": 520192,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://www.seeedstudio.com/wiki/CUI32Stem",
|
||||
"vendor": "SeeedStudio"
|
||||
@@ -208,8 +200,7 @@
|
||||
"maximum_size": 520192,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://www.schmalzhaus.com/UBW32/",
|
||||
"vendor": "UBW32"
|
||||
@@ -232,8 +223,7 @@
|
||||
"maximum_size": 520192,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://www.schmalzhaus.com/UBW32/",
|
||||
"vendor": "UBW32"
|
||||
@@ -246,7 +236,7 @@
|
||||
"f_cpu": "80000000L",
|
||||
"ldscript": "chipKIT-application-32MX440F512.ld",
|
||||
"mcu": "32MX440F512H",
|
||||
"variant": "Default_64"
|
||||
"variant": "PONTECH_UAV100"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "PONTECH UAV100",
|
||||
@@ -256,8 +246,7 @@
|
||||
"maximum_size": 520192,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://www.pontech.com/productdisplay/uav100",
|
||||
"vendor": "PONTECH"
|
||||
@@ -280,8 +269,7 @@
|
||||
"maximum_size": 122880,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://store.digilentinc.com/chipkit-dp32-dip-package-prototyping-microcontroller-board/",
|
||||
"vendor": "Digilent"
|
||||
@@ -304,8 +292,7 @@
|
||||
"maximum_size": 122880,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://fubarino.org/mini/",
|
||||
"vendor": "Fubarino"
|
||||
@@ -328,8 +315,7 @@
|
||||
"maximum_size": 520192,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://fubarino.org/sd/index.html",
|
||||
"vendor": "Fubarino"
|
||||
@@ -352,8 +338,7 @@
|
||||
"maximum_size": 520192,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://store.digilentinc.com/chipkit-max32-microcontroller-board-with-mega-r3-headers/",
|
||||
"vendor": "Digilent"
|
||||
@@ -376,8 +361,7 @@
|
||||
"maximum_size": 258048,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "https://www.olimex.com/Products/Duino/PIC32/PIC32-PINGUINO/open-source-hardware",
|
||||
"vendor": "Olimex"
|
||||
@@ -400,8 +384,7 @@
|
||||
"maximum_size": 520192,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://www.4dsystems.com.au/product/Picadillo_35T/",
|
||||
"vendor": "4DSystems"
|
||||
@@ -424,8 +407,7 @@
|
||||
"maximum_size": 520192,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://quick240.com/quicki/",
|
||||
"vendor": "PONTECH"
|
||||
@@ -448,8 +430,7 @@
|
||||
"maximum_size": 520192,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://store.digilentinc.com/chipkit-uc32-basic-microcontroller-board-with-uno-r3-headers/",
|
||||
"vendor": "Digilent"
|
||||
@@ -472,8 +453,7 @@
|
||||
"maximum_size": 126976,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://store.digilentinc.com/chipkit-uno32-basic-microcontroller-board-retired-see-chipkit-uc32/",
|
||||
"vendor": "Digilent"
|
||||
@@ -496,8 +476,7 @@
|
||||
"maximum_size": 520192,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://store.digilentinc.com/chipkit-wf32-wifi-enabled-microntroller-board-with-uno-r3-headers/",
|
||||
"vendor": "Digilent"
|
||||
@@ -520,8 +499,7 @@
|
||||
"maximum_size": 2080768,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://store.digilentinc.com/chipkit-wi-fire-wifi-enabled-mz-microcontroller-board/",
|
||||
"vendor": "Digilent"
|
||||
@@ -532,7 +510,7 @@
|
||||
"core": "pic32",
|
||||
"extra_flags": "-D_BOARD_OPENSCOPE_",
|
||||
"f_cpu": "200000000L",
|
||||
"ldscript": "MZ-application-32MZ2048ECX.ld",
|
||||
"ldscript": "OpenScope.ld",
|
||||
"mcu": "32MZ2048EFG124",
|
||||
"variant": "OpenScope"
|
||||
},
|
||||
@@ -544,8 +522,7 @@
|
||||
"maximum_size": 2080768,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://store.digilentinc.com/",
|
||||
"vendor": "Digilent"
|
||||
@@ -561,17 +538,39 @@
|
||||
"variant": "OpenBCI"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Digilent OpenScope",
|
||||
"name": "OpenBCI 32bit",
|
||||
"platform": "microchippic32",
|
||||
"upload": {
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_size": 122880,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200,
|
||||
"wait_for_upload_port": true
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://store.digilentinc.com/",
|
||||
"vendor": "Digilent"
|
||||
"url": "http://shop.openbci.com/",
|
||||
"vendor": "OpenBCI"
|
||||
},
|
||||
|
||||
"lenny": {
|
||||
"build": {
|
||||
"core": "pic32",
|
||||
"extra_flags": "-D_BOARD_LENNY_ -D_USE_USB_FOR_SERIAL_",
|
||||
"f_cpu": "40000000L",
|
||||
"ldscript": "chipKIT-application-32MX270F256.ld",
|
||||
"mcu": "32MX270F256D",
|
||||
"variant": "Lenny"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "chipKIT Lenny",
|
||||
"platform": "microchippic32",
|
||||
"upload": {
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_size": 122880,
|
||||
"protocol": "stk500v2",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://chipkit.net/tag/lenny/",
|
||||
"vendor": "chipKIT"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"variant": "32u4",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2341", "0x8036"]
|
||||
]
|
||||
},
|
||||
|
||||
@@ -129,5 +129,27 @@
|
||||
},
|
||||
"url": "https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board",
|
||||
"vendor": "Mcudude"
|
||||
},
|
||||
|
||||
"mightycore8535": {
|
||||
"build": {
|
||||
"core": "MightyCore",
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_ATmega8535",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega16",
|
||||
"variant": "mightycore"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "MightyCore ATmega8535",
|
||||
"platform": "atmelavr",
|
||||
"upload": {
|
||||
"maximum_ram_size": 512,
|
||||
"maximum_size": 7680,
|
||||
"protocol": "arduino",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board",
|
||||
"vendor": "Mcudude"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,6 +43,28 @@
|
||||
"vendor": "BitWizard"
|
||||
},
|
||||
|
||||
"emonpi": {
|
||||
"build": {
|
||||
"core": "arduino",
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR -DAVR_EMONPI",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega328p",
|
||||
"variant": "standard"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "OpenEnergyMonitor emonPi",
|
||||
"platform": "atmelavr",
|
||||
"upload": {
|
||||
"maximum_ram_size": 2048,
|
||||
"maximum_size": 30720,
|
||||
"protocol": "arduino",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "https://github.com/openenergymonitor/emonpi",
|
||||
"vendor": "OpenEnergyMonitor"
|
||||
},
|
||||
|
||||
"sainSmartDue": {
|
||||
"build": {
|
||||
"core": "arduino",
|
||||
@@ -53,7 +75,7 @@
|
||||
"usb_product": "Arduino Due",
|
||||
"variant": "arduino_due_x",
|
||||
"ldscript": "sam3x8e.ld",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2341", "0x003E"]
|
||||
]
|
||||
},
|
||||
@@ -82,7 +104,7 @@
|
||||
"usb_product": "Arduino Due",
|
||||
"variant": "arduino_due_x",
|
||||
"ldscript": "sam3x8e.ld",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2341", "0x003E"]
|
||||
]
|
||||
},
|
||||
@@ -326,7 +348,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "RedBearLab Blend",
|
||||
"variant": "leonardo",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2341", "0x8036"]
|
||||
]
|
||||
},
|
||||
@@ -355,7 +377,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "RedBearLab Blend",
|
||||
"variant": "micro",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x03EB", "0x2404"]
|
||||
]
|
||||
},
|
||||
@@ -384,7 +406,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "RedBearLab Blend",
|
||||
"variant": "micro",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x03EB", "0x2404"]
|
||||
]
|
||||
},
|
||||
@@ -435,7 +457,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "LightUp",
|
||||
"variant": "leonardo",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x1d50", "0x6096"]
|
||||
]
|
||||
},
|
||||
@@ -531,7 +553,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"variant" : "quirkbot",
|
||||
"usb_product": "Quirkbot",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x2886", "0xf004"],
|
||||
["0x2886", "0xf005"],
|
||||
["0x2886", "0xf006"],
|
||||
@@ -738,5 +760,87 @@
|
||||
},
|
||||
"url": "http://www.atmel.com/devices/ATTINY85.aspx",
|
||||
"vendor": "Generic ATTiny"
|
||||
},
|
||||
|
||||
"arduboy": {
|
||||
"build": {
|
||||
"core": "arduino",
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_ARDUBOY -DARDUBOY_10",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "Arduboy",
|
||||
"variant": "leonardo",
|
||||
"hwids": [
|
||||
["0x2341", "0x0036"],
|
||||
["0x2341", "0x8036"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduboy",
|
||||
"platform": "atmelavr",
|
||||
"upload": {
|
||||
"disable_flushing": true,
|
||||
"maximum_ram_size": 2560,
|
||||
"maximum_size": 28672,
|
||||
"protocol": "avr109",
|
||||
"require_upload_port" : true,
|
||||
"speed": 57600,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true
|
||||
},
|
||||
"url": "https://www.arduboy.com",
|
||||
"vendor": "Arduboy"
|
||||
},
|
||||
|
||||
"arduboy_devkit": {
|
||||
"build": {
|
||||
"core": "arduino",
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_ARDUBOY_DEVKIT -DAB_DEVKIT",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "Arduboy DevKit",
|
||||
"variant": "leonardo",
|
||||
"hwids": [
|
||||
["0x2341", "0x0036"],
|
||||
["0x2341", "0x8036"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Arduboy DevKit",
|
||||
"platform": "atmelavr",
|
||||
"upload": {
|
||||
"disable_flushing": true,
|
||||
"maximum_ram_size": 2560,
|
||||
"maximum_size": 28672,
|
||||
"protocol": "avr109",
|
||||
"require_upload_port" : true,
|
||||
"speed": 57600,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true
|
||||
},
|
||||
"url": "https://www.arduboy.com",
|
||||
"vendor": "Arduboy"
|
||||
},
|
||||
|
||||
"pinoccio": {
|
||||
"build": {
|
||||
"core": "arduino",
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_PINOCCIO -D__PROG_TYPES_COMPAT__",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega256rfr2",
|
||||
"variant": "pinoccio"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Pinoccio Scout",
|
||||
"platform": "atmelavr",
|
||||
"upload": {
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_size": 253952,
|
||||
"protocol": "wiring",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "https://www.crowdsupply.com/pinoccio/mesh-sensor-network",
|
||||
"vendor": "Pinoccio"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,5 +82,22 @@
|
||||
},
|
||||
"url": "https://developer.mbed.org/platforms/EFM32-Happy-Gecko/",
|
||||
"vendor": "Silicon Labs"
|
||||
},
|
||||
|
||||
"efm32pg_stk3401": {
|
||||
"build": {
|
||||
"f_cpu": "40000000L",
|
||||
"cpu": "cortex-m4",
|
||||
"mcu": "efm32pg1b200f256"
|
||||
},
|
||||
"frameworks": ["mbed"],
|
||||
"name": "Silicon Labs SLSTK3401A (Pearl Gecko)",
|
||||
"platform": "siliconlabsefm32",
|
||||
"upload": {
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_size": 262144
|
||||
},
|
||||
"url": "https://developer.mbed.org/platforms/EFM32-Pearl-Gecko/",
|
||||
"vendor": "Silicon Labs"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "SparkFun Pro Micro",
|
||||
"variant": "sparkfun_promicro",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x1B4F", "0x9205"],
|
||||
["0x1B4F", "0x9206"]
|
||||
]
|
||||
@@ -57,7 +57,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "SparkFun Pro Micro",
|
||||
"variant": "sparkfun_promicro",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x1B4F", "0x9203"],
|
||||
["0x1B4F", "0x9204"]
|
||||
]
|
||||
@@ -86,7 +86,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "SparkFun Fio v3",
|
||||
"variant": "sparkfun_promicro",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x1B4F", "0xF100"],
|
||||
["0x1B4F", "0xF101"]
|
||||
]
|
||||
@@ -115,7 +115,7 @@
|
||||
"mcu": "atmega32u4",
|
||||
"usb_product": "SparkFun MaKey",
|
||||
"variant": "sparkfun_promicro",
|
||||
"hwid": [
|
||||
"hwids": [
|
||||
["0x1B4F", "0x2B74"],
|
||||
["0x1B4F", "0x2B75"]
|
||||
]
|
||||
@@ -238,5 +238,67 @@
|
||||
},
|
||||
"url": "https://www.sparkfun.com/products/12923",
|
||||
"vendor": "SparkFun"
|
||||
},
|
||||
|
||||
"sparkfun_samd21_dev_usb": {
|
||||
"build": {
|
||||
"core": "arduino_zero",
|
||||
"extra_flags": "-DARDUINO_SAMD_ZERO -DARDUINO_ARCH_SAMD -D__SAMD21G18A__",
|
||||
"f_cpu": "48000000L",
|
||||
"mcu": "samd21g18a",
|
||||
"cpu": "cortex-m0plus",
|
||||
"usb_product": "SparkFun SAMD21",
|
||||
"variant": "arduino_zero",
|
||||
"ldscript": "flash_with_bootloader.ld",
|
||||
"hwids": [
|
||||
["0x1B4F", "0x8D21"],
|
||||
["0x1B4F", "0x0D21"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "SparkFun SAMD21 Dev Breakout",
|
||||
"platform": "atmelsam",
|
||||
"upload": {
|
||||
"disable_flushing": true,
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_size": 262144,
|
||||
"protocol": "sam-ba",
|
||||
"require_upload_port" : true,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true
|
||||
},
|
||||
"url": "https://www.sparkfun.com/products/13672",
|
||||
"vendor": "SparkFun"
|
||||
},
|
||||
|
||||
"sparkfun_samd21_mini_usb": {
|
||||
"build": {
|
||||
"core": "arduino_zero",
|
||||
"extra_flags": "-DARDUINO_SAMD_ZERO -DARDUINO_ARCH_SAMD -D__SAMD21G18A__",
|
||||
"f_cpu": "48000000L",
|
||||
"mcu": "samd21g18a",
|
||||
"cpu": "cortex-m0plus",
|
||||
"usb_product": "SparkFun SAMD21",
|
||||
"variant": "SparkFun_SAMD_Mini",
|
||||
"ldscript": "flash_with_bootloader.ld",
|
||||
"hwids": [
|
||||
["0x1B4F", "0x8D21"],
|
||||
["0x1B4F", "0x0D21"]
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "SparkFun SAMD21 Mini Breakout",
|
||||
"platform": "atmelsam",
|
||||
"upload": {
|
||||
"disable_flushing": true,
|
||||
"maximum_ram_size": 32768,
|
||||
"maximum_size": 262144,
|
||||
"protocol": "sam-ba",
|
||||
"require_upload_port" : true,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true
|
||||
},
|
||||
"url": "https://www.sparkfun.com/products/13664",
|
||||
"vendor": "SparkFun"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
"platform": "ststm32",
|
||||
"upload": {
|
||||
"maximum_ram_size": 131072,
|
||||
"maximum_size": 1048576
|
||||
"maximum_size": 1048576,
|
||||
"protocol": "stlink"
|
||||
},
|
||||
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF252419",
|
||||
"vendor": "ST"
|
||||
@@ -34,7 +35,8 @@
|
||||
"platform": "ststm32",
|
||||
"upload": {
|
||||
"maximum_ram_size": 16384,
|
||||
"maximum_size": 131072
|
||||
"maximum_size": 131072,
|
||||
"protocol": "stlink"
|
||||
},
|
||||
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF258515",
|
||||
"vendor": "ST"
|
||||
@@ -54,7 +56,8 @@
|
||||
"platform": "ststm32",
|
||||
"upload": {
|
||||
"maximum_ram_size": 49152,
|
||||
"maximum_size": 262144
|
||||
"maximum_size": 262144,
|
||||
"protocol": "stlink"
|
||||
},
|
||||
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF254044",
|
||||
"vendor": "ST"
|
||||
@@ -70,7 +73,8 @@
|
||||
"platform": "ststm32",
|
||||
"upload": {
|
||||
"maximum_ram_size": 8192,
|
||||
"maximum_size": 131072
|
||||
"maximum_size": 131072,
|
||||
"protocol": "stlink"
|
||||
},
|
||||
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF250863",
|
||||
"vendor": "ST"
|
||||
@@ -86,7 +90,8 @@
|
||||
"platform": "ststm32",
|
||||
"upload": {
|
||||
"maximum_ram_size": 8192,
|
||||
"maximum_size": 65536
|
||||
"maximum_size": 65536,
|
||||
"protocol": "stlink"
|
||||
},
|
||||
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF253215",
|
||||
"vendor": "ST"
|
||||
@@ -102,7 +107,8 @@
|
||||
"platform": "ststm32",
|
||||
"upload": {
|
||||
"maximum_ram_size": 16384,
|
||||
"maximum_size": 65536
|
||||
"maximum_size": 65536,
|
||||
"protocol": "stlink"
|
||||
},
|
||||
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF260318",
|
||||
"vendor": "ST"
|
||||
@@ -118,7 +124,8 @@
|
||||
"platform": "ststm32",
|
||||
"upload": {
|
||||
"maximum_ram_size": 65536,
|
||||
"maximum_size": 262144
|
||||
"maximum_size": 262144,
|
||||
"protocol": "stlink"
|
||||
},
|
||||
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF259098",
|
||||
"vendor": "ST"
|
||||
@@ -134,7 +141,8 @@
|
||||
"platform": "ststm32",
|
||||
"upload": {
|
||||
"maximum_ram_size": 262144,
|
||||
"maximum_size": 2097152
|
||||
"maximum_size": 2097152,
|
||||
"protocol": "stlink"
|
||||
},
|
||||
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF259090",
|
||||
"vendor": "ST"
|
||||
@@ -425,7 +433,8 @@
|
||||
"platform": "ststm32",
|
||||
"upload": {
|
||||
"maximum_ram_size": 8192,
|
||||
"maximum_size": 65536
|
||||
"maximum_size": 65536,
|
||||
"protocol": "stlink"
|
||||
},
|
||||
"url": "http://www.st.com/web/en/catalog/tools/PF260319",
|
||||
"vendor": "ST"
|
||||
@@ -441,7 +450,8 @@
|
||||
"platform": "ststm32",
|
||||
"upload": {
|
||||
"maximum_ram_size": 12288,
|
||||
"maximum_size": 65536
|
||||
"maximum_size": 65536,
|
||||
"protocol": "stlink"
|
||||
},
|
||||
"url": "http://www.st.com/web/en/catalog/tools/PF260318",
|
||||
"vendor": "ST"
|
||||
@@ -457,7 +467,8 @@
|
||||
"platform": "ststm32",
|
||||
"upload": {
|
||||
"maximum_ram_size": 393216,
|
||||
"maximum_size": 1048576
|
||||
"maximum_size": 1048576,
|
||||
"protocol": "stlink"
|
||||
},
|
||||
"url": "http://www.st.com/web/catalog/tools/FM116/CL1620/SC959/SS1532/LN1848/PF262395",
|
||||
"vendor": "ST"
|
||||
@@ -473,7 +484,8 @@
|
||||
"platform": "ststm32",
|
||||
"upload": {
|
||||
"maximum_ram_size": 131072,
|
||||
"maximum_size": 1048576
|
||||
"maximum_size": 1048576,
|
||||
"protocol": "stlink"
|
||||
},
|
||||
"url": "http://www.st.com/web/catalog/tools/FM116/CL1620/SC959/SS1532/LN1848/PF261635",
|
||||
"vendor": "ST"
|
||||
@@ -574,6 +586,22 @@
|
||||
"url": "https://developer.mbed.org/platforms/ST-Nucleo-L073RZ/",
|
||||
"vendor": "ST"
|
||||
},
|
||||
"nucleo_l031k6": {
|
||||
"build": {
|
||||
"f_cpu": "32000000L",
|
||||
"cpu": "cortex-m0plus",
|
||||
"mcu": "stm32l031k6t6"
|
||||
},
|
||||
"frameworks": ["mbed"],
|
||||
"name": "ST Nucleo L031K6",
|
||||
"platform": "ststm32",
|
||||
"upload": {
|
||||
"maximum_ram_size": 8192,
|
||||
"maximum_size": 32768
|
||||
},
|
||||
"url": "https://developer.mbed.org/platforms/ST-Nucleo-L031K6/",
|
||||
"vendor": "ST"
|
||||
},
|
||||
"seeedArchMax": {
|
||||
"build": {
|
||||
"f_cpu": "168000000L",
|
||||
@@ -605,5 +633,21 @@
|
||||
},
|
||||
"url": "https://developer.mbed.org/platforms/ST-B96B-F446VE/",
|
||||
"vendor": "96Boards"
|
||||
},
|
||||
"mts_mdot_f411re": {
|
||||
"build": {
|
||||
"f_cpu": "100000000L",
|
||||
"cpu": "cortex-m4",
|
||||
"mcu": "stm32f411ret6"
|
||||
},
|
||||
"frameworks": ["mbed"],
|
||||
"name": "MultiTech mDot F411",
|
||||
"platform": "ststm32",
|
||||
"upload": {
|
||||
"maximum_ram_size": 131072,
|
||||
"maximum_size": 524288
|
||||
},
|
||||
"url": "https://developer.mbed.org/platforms/MTS-mDot-F411/",
|
||||
"vendor": "MultiTech"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
"build": {
|
||||
"core": "msp430",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "msp430g2553",
|
||||
"mcu": "msp430fr4133",
|
||||
"variant": "launchpad_fr4133"
|
||||
},
|
||||
"frameworks": ["energia"],
|
||||
@@ -147,7 +147,7 @@
|
||||
"build": {
|
||||
"core": "msp430",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "msp430g2553",
|
||||
"mcu": "msp430fr6989",
|
||||
"variant": "launchpad_fr6989"
|
||||
},
|
||||
"frameworks": ["energia"],
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import base64
|
||||
import json
|
||||
import sys
|
||||
from os import environ
|
||||
@@ -99,6 +100,12 @@ DefaultEnvironment(
|
||||
)
|
||||
|
||||
env = DefaultEnvironment()
|
||||
|
||||
# decode common variables
|
||||
for k in commonvars.keys():
|
||||
if k in env:
|
||||
env[k] = base64.b64decode(env[k])
|
||||
|
||||
env.Prepend(LIBPATH=[join("$PIOPACKAGES_DIR", "ldscripts")])
|
||||
|
||||
if "BOARD" in env:
|
||||
|
||||
@@ -49,23 +49,24 @@ def BeforeUpload(target, source, env): # pylint: disable=W0613,W0621
|
||||
env.AutodetectUploadPort()
|
||||
env.Append(UPLOADERFLAGS=["-P", '"$UPLOAD_PORT"'])
|
||||
|
||||
if env.subst("$BOARD") == "raspduino":
|
||||
if env.subst("$BOARD") in ("raspduino", "emonpi"):
|
||||
|
||||
def _rpi_sysgpio(path, value):
|
||||
with open(path, "w") as f:
|
||||
f.write(str(value))
|
||||
|
||||
_rpi_sysgpio("/sys/class/gpio/export", 18)
|
||||
_rpi_sysgpio("/sys/class/gpio/gpio18/direction", "out")
|
||||
_rpi_sysgpio("/sys/class/gpio/gpio18/value", 1)
|
||||
pin_num = 18 if env.subst("$BOARD") == "raspduino" else 4
|
||||
_rpi_sysgpio("/sys/class/gpio/export", pin_num)
|
||||
_rpi_sysgpio("/sys/class/gpio/gpio%d/direction" % pin_num, "out")
|
||||
_rpi_sysgpio("/sys/class/gpio/gpio%d/value" % pin_num, 1)
|
||||
sleep(0.1)
|
||||
_rpi_sysgpio("/sys/class/gpio/gpio18/value", 0)
|
||||
_rpi_sysgpio("/sys/class/gpio/unexport", 18)
|
||||
_rpi_sysgpio("/sys/class/gpio/gpio%d/value" % pin_num, 0)
|
||||
_rpi_sysgpio("/sys/class/gpio/unexport", pin_num)
|
||||
else:
|
||||
if not upload_options.get("disable_flushing", False):
|
||||
env.FlushSerialBuffer("$UPLOAD_PORT")
|
||||
|
||||
before_ports = [i['port'] for i in get_serialports()]
|
||||
before_ports = get_serialports()
|
||||
|
||||
if upload_options.get("use_1200bps_touch", False):
|
||||
env.TouchSerialPort("$UPLOAD_PORT", 1200)
|
||||
@@ -148,10 +149,9 @@ AlwaysBuild(upload)
|
||||
# Target: Upload EEPROM data (from EEMEM directive)
|
||||
#
|
||||
|
||||
uploadeep = env.Alias(
|
||||
"uploadeep",
|
||||
env.ElfToEep(join("$BUILD_DIR", "firmware"), target_elf),
|
||||
[BeforeUpload, "$UPLOADEEPCMD"])
|
||||
uploadeep = env.Alias("uploadeep",
|
||||
env.ElfToEep(join("$BUILD_DIR", "firmware"), target_elf),
|
||||
[BeforeUpload, "$UPLOADEEPCMD"])
|
||||
AlwaysBuild(uploadeep)
|
||||
|
||||
#
|
||||
|
||||
@@ -18,30 +18,20 @@
|
||||
|
||||
from os.path import basename, join
|
||||
|
||||
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Default,
|
||||
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Builder, Default,
|
||||
DefaultEnvironment, SConscript)
|
||||
|
||||
from platformio.util import get_serialports
|
||||
|
||||
|
||||
def BeforeUpload(target, source, env): # pylint: disable=W0613,W0621
|
||||
env.AutodetectUploadPort()
|
||||
|
||||
board_type = env.subst("$BOARD")
|
||||
if "zero" not in board_type:
|
||||
env.Append(
|
||||
UPLOADERFLAGS=[
|
||||
"-U",
|
||||
"true" if ("usb" in board_type.lower(
|
||||
) or board_type == "digix") else "false"
|
||||
])
|
||||
|
||||
upload_options = env.get("BOARD_OPTIONS", {}).get("upload", {})
|
||||
|
||||
if not upload_options.get("disable_flushing", False):
|
||||
env.FlushSerialBuffer("$UPLOAD_PORT")
|
||||
|
||||
before_ports = [i['port'] for i in get_serialports()]
|
||||
before_ports = get_serialports()
|
||||
|
||||
if upload_options.get("use_1200bps_touch", False):
|
||||
env.TouchSerialPort("$UPLOAD_PORT", 1200)
|
||||
@@ -50,7 +40,8 @@ def BeforeUpload(target, source, env): # pylint: disable=W0613,W0621
|
||||
env.Replace(UPLOAD_PORT=env.WaitForNewSerialPort(before_ports))
|
||||
|
||||
# use only port name for BOSSA
|
||||
if "/" in env.subst("$UPLOAD_PORT"):
|
||||
if ("/" in env.subst("$UPLOAD_PORT") and
|
||||
env.subst("$UPLOAD_PROTOCOL") == "sam-ba"):
|
||||
env.Replace(UPLOAD_PORT=basename(env.subst("$UPLOAD_PORT")))
|
||||
|
||||
|
||||
@@ -58,41 +49,8 @@ env = DefaultEnvironment()
|
||||
|
||||
SConscript(env.subst(join("$PIOBUILDER_DIR", "scripts", "basearm.py")))
|
||||
|
||||
if env.subst("$BOARD") == "zero":
|
||||
env.Replace(
|
||||
UPLOADER=join("$PIOPACKAGES_DIR", "tool-openocd", "bin", "openocd"),
|
||||
UPLOADERFLAGS=[
|
||||
"-d2",
|
||||
"-s",
|
||||
join(
|
||||
"$PIOPACKAGES_DIR",
|
||||
"tool-openocd", "share", "openocd", "scripts"),
|
||||
"-f",
|
||||
join(
|
||||
"$PLATFORMFW_DIR", "variants",
|
||||
"${BOARD_OPTIONS['build']['variant']}", "openocd_scripts",
|
||||
"${BOARD_OPTIONS['build']['variant']}.cfg"
|
||||
),
|
||||
"-c", "\"telnet_port", "disabled;",
|
||||
"program", "{{$SOURCES}}",
|
||||
"verify", "reset", "0x00002000;", "shutdown\""
|
||||
],
|
||||
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS'
|
||||
)
|
||||
else:
|
||||
env.Replace(
|
||||
UPLOADER=join("$PIOPACKAGES_DIR", "$PIOPACKAGE_UPLOADER", "bossac"),
|
||||
UPLOADERFLAGS=[
|
||||
"--info",
|
||||
"--port", '"$UPLOAD_PORT"',
|
||||
"--erase",
|
||||
"--write",
|
||||
"--verify",
|
||||
"--reset",
|
||||
"--debug"
|
||||
],
|
||||
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS $SOURCES'
|
||||
)
|
||||
BOARD_OPTIONS = env.get("BOARD_OPTIONS", {})
|
||||
|
||||
|
||||
env.Append(
|
||||
|
||||
@@ -111,8 +69,7 @@ env.Append(
|
||||
],
|
||||
|
||||
CPPDEFINES=[
|
||||
"USBCON",
|
||||
'USB_MANUFACTURER="PlatformIO"'
|
||||
"USBCON"
|
||||
],
|
||||
|
||||
LINKFLAGS=[
|
||||
@@ -123,8 +80,21 @@ env.Append(
|
||||
]
|
||||
)
|
||||
|
||||
user_code_section = BOARD_OPTIONS.get("upload", {}).get("section_start", False)
|
||||
|
||||
if "sam3x8e" in env.get("BOARD_OPTIONS", {}).get("build", {}).get("mcu", None):
|
||||
if user_code_section:
|
||||
env.Append(
|
||||
CPPDEFINES=[
|
||||
"printf=iprintf"
|
||||
],
|
||||
|
||||
LINKFLAGS=[
|
||||
"-Wl,--entry=Reset_Handler",
|
||||
"-Wl,--section-start=.text=%s" % user_code_section
|
||||
]
|
||||
)
|
||||
|
||||
if "sam3x8e" in BOARD_OPTIONS.get("build", {}).get("mcu", ""):
|
||||
env.Append(
|
||||
CPPDEFINES=[
|
||||
"printf=iprintf"
|
||||
@@ -133,14 +103,10 @@ if "sam3x8e" in env.get("BOARD_OPTIONS", {}).get("build", {}).get("mcu", None):
|
||||
LINKFLAGS=[
|
||||
"-Wl,--entry=Reset_Handler",
|
||||
"-Wl,--start-group"
|
||||
],
|
||||
|
||||
UPLOADERFLAGS=[
|
||||
"--boot",
|
||||
]
|
||||
|
||||
)
|
||||
elif "zero" in env.subst("$BOARD"):
|
||||
elif "samd" in BOARD_OPTIONS.get("build", {}).get("mcu", ""):
|
||||
env.Append(
|
||||
LINKFLAGS=[
|
||||
"--specs=nosys.specs",
|
||||
@@ -148,6 +114,100 @@ elif "zero" in env.subst("$BOARD"):
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
upload_protocol = BOARD_OPTIONS.get("upload", {}).get("protocol", None)
|
||||
|
||||
if upload_protocol == "openocd":
|
||||
env.Replace(
|
||||
UPLOADER=join("$PIOPACKAGES_DIR", "tool-openocd", "bin", "openocd"),
|
||||
UPLOADERFLAGS=[
|
||||
"-d2",
|
||||
"-f", join(BOARD_OPTIONS.get("debug", {}).get("openocdcfg", "")),
|
||||
"-s", join("$PIOPACKAGES_DIR", "tool-openocd",
|
||||
"share", "openocd", "scripts"),
|
||||
"-s", join("$PIOPACKAGES_DIR", "tool-openocd",
|
||||
"share", "openocd", "scripts", "board")
|
||||
],
|
||||
|
||||
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS'
|
||||
)
|
||||
|
||||
if "zero" in env.subst("$BOARD"):
|
||||
env.Append(
|
||||
UPLOADERFLAGS=[
|
||||
"-s", join("$PLATFORMFW_DIR", "variants",
|
||||
"${BOARD_OPTIONS['build']['variant']}",
|
||||
"openocd_scripts")
|
||||
]
|
||||
)
|
||||
|
||||
env.Append(
|
||||
UPLOADERFLAGS=[
|
||||
"-c", "\"telnet_port", "disabled;",
|
||||
"program", "{{$SOURCES}}",
|
||||
"verify", "reset",
|
||||
"%s;" % user_code_section if user_code_section else "",
|
||||
"shutdown\""
|
||||
]
|
||||
)
|
||||
|
||||
elif upload_protocol == "sam-ba":
|
||||
|
||||
board_type = env.subst("$BOARD")
|
||||
|
||||
env.Replace(
|
||||
UPLOADER=join("$PIOPACKAGES_DIR", "$PIOPACKAGE_UPLOADER", "bossac"),
|
||||
UPLOADERFLAGS=[
|
||||
"--info",
|
||||
"--port", '"$UPLOAD_PORT"',
|
||||
"--erase",
|
||||
"--write",
|
||||
"--verify",
|
||||
"--reset",
|
||||
"--debug",
|
||||
"-U",
|
||||
"true" if ("usb" in board_type.lower(
|
||||
) or board_type == "digix") else "false"
|
||||
],
|
||||
|
||||
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS $SOURCES'
|
||||
)
|
||||
|
||||
if "sam3x8e" in BOARD_OPTIONS.get("build", {}).get("mcu", ""):
|
||||
env.Append(UPLOADERFLAGS=["--boot"])
|
||||
|
||||
elif upload_protocol == "stk500v2":
|
||||
env.Append(
|
||||
BUILDERS=dict(
|
||||
ElfToHex=Builder(
|
||||
action=" ".join([
|
||||
"$OBJCOPY",
|
||||
"-O",
|
||||
"ihex",
|
||||
"-R",
|
||||
".eeprom",
|
||||
"$SOURCES",
|
||||
"$TARGET"]),
|
||||
suffix=".hex"
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
env.Replace(
|
||||
UPLOADER=join("$PIOPACKAGES_DIR", "tool-avrdude", "avrdude"),
|
||||
UPLOADERFLAGS=[
|
||||
"-C", '"%s"' % join("$PIOPACKAGES_DIR",
|
||||
"tool-avrdude", "avrdude.conf"),
|
||||
"-v",
|
||||
"-p", "atmega2560", # Arduino M0/Tian upload hook
|
||||
"-c", "$UPLOAD_PROTOCOL",
|
||||
"-P", '"$UPLOAD_PORT"',
|
||||
"-b", "$UPLOAD_SPEED"
|
||||
],
|
||||
|
||||
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS -U flash:w:$SOURCES:i'
|
||||
)
|
||||
|
||||
#
|
||||
# Target: Build executable and linkable firmware
|
||||
#
|
||||
@@ -160,6 +220,8 @@ target_elf = env.BuildProgram()
|
||||
|
||||
if "uploadlazy" in COMMAND_LINE_TARGETS:
|
||||
target_firm = join("$BUILD_DIR", "firmware.bin")
|
||||
elif upload_protocol == "stk500v2":
|
||||
target_firm = env.ElfToHex(join("$BUILD_DIR", "firmware"), target_elf)
|
||||
else:
|
||||
target_firm = env.ElfToBin(join("$BUILD_DIR", "firmware"), target_elf)
|
||||
|
||||
@@ -174,11 +236,12 @@ AlwaysBuild(target_size)
|
||||
# Target: Upload by default .bin file
|
||||
#
|
||||
|
||||
if env.subst("$BOARD") == "zero":
|
||||
if upload_protocol == "openocd":
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm, "$UPLOADCMD")
|
||||
else:
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm,
|
||||
[BeforeUpload, "$UPLOADCMD"])
|
||||
upload = env.Alias(
|
||||
["upload", "uploadlazy"], target_firm,
|
||||
[env.AutodetectUploadPort, BeforeUpload, "$UPLOADCMD"])
|
||||
|
||||
AlwaysBuild(upload)
|
||||
|
||||
|
||||
@@ -82,8 +82,7 @@ env.Replace(
|
||||
"-falign-functions=4",
|
||||
"-U__STRICT_ANSI__",
|
||||
"-ffunction-sections",
|
||||
"-fdata-sections",
|
||||
"-MMD" # output dependancy info
|
||||
"-fdata-sections"
|
||||
],
|
||||
|
||||
CXXFLAGS=[
|
||||
@@ -346,7 +345,7 @@ AlwaysBuild(target_size)
|
||||
|
||||
target_upload = env.Alias(
|
||||
["upload", "uploadlazy", "uploadfs"], target_firm,
|
||||
[lambda target, source, env: env.AutodetectUploadPort(), "$UPLOADCMD"])
|
||||
[env.AutodetectUploadPort, "$UPLOADCMD"])
|
||||
env.AlwaysBuild(target_upload)
|
||||
|
||||
|
||||
|
||||
@@ -55,13 +55,17 @@ elif env.get("PLATFORM") == "timsp430":
|
||||
)
|
||||
elif env.get("PLATFORM") == "espressif":
|
||||
env.Prepend(
|
||||
CPPDEFINES=["LWIP_OPEN_SRC"],
|
||||
CPPPATH=[
|
||||
join("$PLATFORMFW_DIR", "tools", "sdk", "include"),
|
||||
join("$PLATFORMFW_DIR", "tools", "sdk", "lwip", "include")
|
||||
],
|
||||
LIBPATH=[join("$PLATFORMFW_DIR", "tools", "sdk", "lib")],
|
||||
LIBS=["mesh", "wpa2", "smartconfig", "pp", "main", "wpa", "lwip",
|
||||
"net80211", "wps", "crypto", "phy", "hal", "axtls", "gcc", "m"]
|
||||
LIBS=[
|
||||
"mesh", "wpa2", "smartconfig", "pp", "main", "wpa", "lwip_gcc",
|
||||
"net80211", "wps", "crypto", "phy", "hal", "axtls", "gcc",
|
||||
"m", "stdc++"
|
||||
]
|
||||
)
|
||||
env.VariantDirWrap(
|
||||
join("$BUILD_DIR", "generic"),
|
||||
@@ -112,7 +116,10 @@ elif env.get("PLATFORM") == "microchippic32":
|
||||
"$PLATFORMFW_DIR", "variants",
|
||||
"${BOARD_OPTIONS['build']['variant']}"
|
||||
)
|
||||
]
|
||||
],
|
||||
|
||||
CPPDEFINES=["ARDUINO_ARCH_PIC32"]
|
||||
|
||||
)
|
||||
|
||||
elif "intel" in env.get("PLATFORM"):
|
||||
@@ -179,8 +186,8 @@ ARDUINO_VERSION = int(
|
||||
ARDUINO_USBDEFINES = []
|
||||
if "usb_product" in BOARD_BUILDOPTS:
|
||||
ARDUINO_USBDEFINES = [
|
||||
"USB_VID=${BOARD_OPTIONS['build']['hwid'][0][0]}",
|
||||
"USB_PID=${BOARD_OPTIONS['build']['hwid'][0][1]}",
|
||||
"USB_VID=${BOARD_OPTIONS['build']['hwids'][0][0]}",
|
||||
"USB_PID=${BOARD_OPTIONS['build']['hwids'][0][1]}",
|
||||
'USB_PRODUCT=\\"%s\\"' % (env.subst(
|
||||
"${BOARD_OPTIONS['build']['usb_product']}").replace('"', "")),
|
||||
'USB_MANUFACTURER=\\"%s\\"' % (env.subst(
|
||||
@@ -192,6 +199,20 @@ if env.get("PLATFORM") == "teensy":
|
||||
"ARDUINO=10600",
|
||||
"TEENSYDUINO=%d" % ARDUINO_VERSION
|
||||
]
|
||||
|
||||
USB_FLAGS = (
|
||||
"USB_HID",
|
||||
"USB_SERIAL_HID",
|
||||
"USB_DISK",
|
||||
"USB_DISK_SDFLASH",
|
||||
"USB_MIDI",
|
||||
"USB_RAWHID",
|
||||
"USB_FLIGHTSIM",
|
||||
"USB_DISABLED"
|
||||
)
|
||||
|
||||
if not any(f in env.get("BUILD_FLAGS", []) for f in USB_FLAGS):
|
||||
env.Append(CPPDEFINES=["USB_SERIAL"])
|
||||
else:
|
||||
ARDUINO_USBDEFINES += ["ARDUINO=%d" % ARDUINO_VERSION]
|
||||
|
||||
@@ -210,11 +231,21 @@ env.Append(
|
||||
if env.subst("${PLATFORMFW_DIR}")[-3:] == "sam":
|
||||
env.VariantDirWrap(
|
||||
join("$BUILD_DIR", "FrameworkCMSISInc"),
|
||||
join("$PLATFORMFW_DIR", "system", "CMSIS", "CMSIS", "Include")
|
||||
join(
|
||||
"$PLATFORMFW_DIR", "system",
|
||||
"CMSIS%s" % (
|
||||
"_ORG" if BOARD_CORELIBDIRNAME.endswith("_org") else ""),
|
||||
"CMSIS", "Include"
|
||||
)
|
||||
)
|
||||
env.VariantDirWrap(
|
||||
join("$BUILD_DIR", "FrameworkDeviceInc"),
|
||||
join("$PLATFORMFW_DIR", "system", "CMSIS", "Device", "ATMEL")
|
||||
join(
|
||||
"$PLATFORMFW_DIR", "system",
|
||||
"CMSIS%s" % (
|
||||
"_ORG" if BOARD_CORELIBDIRNAME.endswith("_org") else ""),
|
||||
"Device", "ATMEL"
|
||||
)
|
||||
)
|
||||
env.VariantDirWrap(
|
||||
join("$BUILD_DIR", "FrameworkLibSam"),
|
||||
@@ -294,6 +325,8 @@ if BOARD_BUILDOPTS.get("core", None) == "teensy":
|
||||
with open(file_path, "w") as fp:
|
||||
fp.write(content)
|
||||
|
||||
env.Append(CPPPATH=[join("$PLATFORMFW_DIR", "cores")])
|
||||
|
||||
#
|
||||
# Target: Build Core Library
|
||||
#
|
||||
|
||||
@@ -28,6 +28,7 @@ http://mbed.org/
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import json
|
||||
import re
|
||||
import sys
|
||||
import xml.etree.ElementTree as ElementTree
|
||||
@@ -71,7 +72,7 @@ MBED_VARIANTS = {
|
||||
"samr21_xpro": "SAMR21G18A",
|
||||
"saml21_xpro_b": "SAML21J18A",
|
||||
"samd21_xpro": "SAMD21J18A",
|
||||
"bbcmicrobit": "NRF51822"
|
||||
"bbcmicrobit": "NRF51_MICROBIT"
|
||||
}
|
||||
|
||||
MBED_LIBS_MAP = {
|
||||
@@ -86,7 +87,7 @@ MBED_LIBS_MAP = {
|
||||
|
||||
def get_mbedlib_includes():
|
||||
result = []
|
||||
for lib in MBED_LIBS_MAP.keys():
|
||||
for lib in MBED_LIBS_MAP:
|
||||
includes = []
|
||||
lib_dir = join(env.subst("$PLATFORMFW_DIR"), "libs", lib)
|
||||
for _, _, files in walk(lib_dir):
|
||||
@@ -145,10 +146,27 @@ def add_mbedlib(libname, libar):
|
||||
"lwip-sys"
|
||||
)
|
||||
|
||||
target_map = {
|
||||
"nxplpc": "NXP",
|
||||
"freescalekinetis": "Freescale",
|
||||
"ststm32": "STM"
|
||||
}
|
||||
|
||||
target_includes = (
|
||||
"TARGET_%s" % target_map.get(env.subst("$PLATFORM"), ""),
|
||||
"TARGET_%s" % variant,
|
||||
"TARGET_CORTEX_M"
|
||||
)
|
||||
|
||||
for root, _, files in walk(lib_dir):
|
||||
if (not any(f.endswith(".h") for f in files) and
|
||||
basename(root) not in sysincdirs):
|
||||
continue
|
||||
|
||||
if "TARGET_" in root:
|
||||
if all([p not in root for p in target_includes]):
|
||||
continue
|
||||
|
||||
var_dir = join("$BUILD_DIR", "FrameworkMbed%sInc%d" %
|
||||
(libname.upper(), crc32(root)))
|
||||
if var_dir in env.get("CPPPATH"):
|
||||
@@ -183,6 +201,11 @@ def parse_eix_file(filename):
|
||||
result[key].append(
|
||||
node.get(_nkeys[0]) if len(_nkeys) == 1 else node.attrib)
|
||||
|
||||
if "LINKFLAGS" in result:
|
||||
for i, flag in enumerate(result["LINKFLAGS"]):
|
||||
if flag.startswith("-u "):
|
||||
result["LINKFLAGS"][i] = result["LINKFLAGS"][i].split(" ")
|
||||
|
||||
return result
|
||||
|
||||
|
||||
@@ -199,7 +222,7 @@ def get_build_flags(data):
|
||||
|
||||
def _mbed_whole_archive_hook(libs_):
|
||||
if (not isinstance(libs_, list) or
|
||||
env.get("BOARD_OPTIONS", {}).get("platform") != "ststm32"):
|
||||
env.subst("$PLATFORM") == "nordicnrf51"):
|
||||
return libs_
|
||||
|
||||
_dynlibs = []
|
||||
@@ -229,6 +252,37 @@ eixdata = parse_eix_file(
|
||||
build_flags = get_build_flags(eixdata)
|
||||
variant_dir = join("$PLATFORMFW_DIR", "variant", variant)
|
||||
|
||||
|
||||
def _find_soft_device_hex():
|
||||
|
||||
if not isfile(join(env.subst("$PLATFORMFW_DIR"), "targets.json")):
|
||||
return None
|
||||
|
||||
with open(join(env.subst("$PLATFORMFW_DIR"), "targets.json")) as fp:
|
||||
data = json.load(fp)
|
||||
|
||||
def _find_hex(target_name):
|
||||
assert isinstance(data, dict)
|
||||
if target_name not in data:
|
||||
return None
|
||||
target = data[target_name]
|
||||
if "EXPECTED_SOFTDEVICES_WITH_OFFSETS" not in target:
|
||||
try:
|
||||
return _find_hex(target.get("inherits", [])[0])
|
||||
except IndexError:
|
||||
return None
|
||||
else:
|
||||
return target['EXPECTED_SOFTDEVICES_WITH_OFFSETS'][0]['name']
|
||||
|
||||
softdevice_name = _find_hex(variant)
|
||||
if softdevice_name:
|
||||
for root, _, files in walk(env.subst(variant_dir)):
|
||||
if softdevice_name in files:
|
||||
return join(root, softdevice_name)
|
||||
|
||||
env.Exit("Error: Cannot find SoftDevice binary file for your board!")
|
||||
|
||||
|
||||
env.Replace(
|
||||
_mbed_whole_archive_hook=_mbed_whole_archive_hook,
|
||||
_LIBFLAGS="${_mbed_whole_archive_hook(%s)}" % env.get("_LIBFLAGS")[2:-1],
|
||||
@@ -241,11 +295,17 @@ env.Replace(
|
||||
join(variant_dir, eixdata.get("LDSCRIPT_PATH")[0]))
|
||||
)
|
||||
|
||||
|
||||
if env.get("PLATFORM") == "nordicnrf51":
|
||||
env.Append(SOFTDEVICEHEX=_find_soft_device_hex())
|
||||
|
||||
# restore external build flags
|
||||
env.ProcessFlags([
|
||||
env.get("BOARD_OPTIONS", {}).get("build", {}).get("extra_flags"),
|
||||
env.get("BUILD_FLAGS")
|
||||
])
|
||||
env.ProcessFlags(
|
||||
env.get("BOARD_OPTIONS", {}).get("build", {}).get("extra_flags"))
|
||||
# remove base flags
|
||||
env.ProcessUnFlags(env.get("BUILD_UNFLAGS"))
|
||||
# apply user flags
|
||||
env.ProcessFlags(env.get("BUILD_FLAGS"))
|
||||
|
||||
# Hook for K64F and K22F
|
||||
if board_type in ("frdm_k22f", "frdm_k64f"):
|
||||
|
||||
@@ -21,22 +21,16 @@ from os.path import join
|
||||
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Builder, Default,
|
||||
DefaultEnvironment)
|
||||
|
||||
env = DefaultEnvironment()
|
||||
|
||||
|
||||
def BeforeUpload(target, source, env): # pylint: disable=W0613,W0621
|
||||
|
||||
if "program" in COMMAND_LINE_TARGETS:
|
||||
return
|
||||
|
||||
env.AutodetectUploadPort()
|
||||
env.Prepend(UPLOADERFLAGS=['"$UPLOAD_PORT"'])
|
||||
|
||||
if env.get("BOARD_OPTIONS", {}).get("upload", {}).get(
|
||||
"use_1200bps_touch", False):
|
||||
env.TouchSerialPort("$UPLOAD_PORT", 1200)
|
||||
|
||||
|
||||
env = DefaultEnvironment()
|
||||
|
||||
env.Replace(
|
||||
AR="arc-elf32-ar",
|
||||
AS="arc-elf32-as",
|
||||
@@ -56,9 +50,8 @@ env.Replace(
|
||||
"-ffunction-sections",
|
||||
"-fdata-sections",
|
||||
"-Wall",
|
||||
"-mav2em",
|
||||
"-mlittle-endian",
|
||||
"-m${BOARD_OPTIONS['build']['mcu']}",
|
||||
"-mcpu=${BOARD_OPTIONS['build']['cpu']}",
|
||||
"-fno-reorder-functions",
|
||||
"-fno-asynchronous-unwind-tables",
|
||||
"-fno-omit-frame-pointer",
|
||||
@@ -96,7 +89,7 @@ env.Replace(
|
||||
"-Wl,--gc-sections",
|
||||
"-Wl,-X",
|
||||
"-Wl,-N",
|
||||
"-Wl,-m${BOARD_OPTIONS['build']['mcu']}",
|
||||
"-Wl,-mcpu=${BOARD_OPTIONS['build']['cpu']}",
|
||||
"-Wl,-marcelf",
|
||||
"-static",
|
||||
"-nostdlib",
|
||||
@@ -107,13 +100,16 @@ env.Replace(
|
||||
"-Wl,--no-whole-archive"
|
||||
],
|
||||
|
||||
LIBS=["c", "m", "gcc"],
|
||||
LIBS=["nsim", "c", "m", "gcc"],
|
||||
|
||||
SIZEPRINTCMD='"$SIZETOOL" -B -d $SOURCES',
|
||||
|
||||
UPLOADER=join("$PIOPACKAGES_DIR", "tool-arduino101load", "arduino101load"),
|
||||
UPLOADERFLAGS=[
|
||||
'"$UPLOAD_PORT"'
|
||||
],
|
||||
DFUUTIL=join("$PIOPACKAGES_DIR", "tool-arduino101load", "dfu-util"),
|
||||
UPLOADCMD='"$UPLOADER" $DFUUTIL $SOURCES $UPLOADERFLAGS verbose',
|
||||
UPLOADCMD='"$UPLOADER" "$DFUUTIL" $SOURCES $UPLOADERFLAGS verbose',
|
||||
|
||||
PROGNAME="firmware",
|
||||
PROGSUFFIX=".elf"
|
||||
@@ -189,8 +185,8 @@ AlwaysBuild(target_size)
|
||||
# Target: Upload firmware
|
||||
#
|
||||
|
||||
upload = env.Alias(
|
||||
["upload", "uploadlazy"], target_firm, [BeforeUpload, "$UPLOADCMD"])
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm,
|
||||
[env.AutodetectUploadPort, BeforeUpload, "$UPLOADCMD"])
|
||||
AlwaysBuild(upload)
|
||||
|
||||
#
|
||||
|
||||
@@ -21,12 +21,6 @@ from os.path import join
|
||||
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Builder, Default,
|
||||
DefaultEnvironment)
|
||||
|
||||
|
||||
def BeforeUpload(target, source, env): # pylint: disable=W0613,W0621
|
||||
|
||||
env.AutodetectUploadPort()
|
||||
env.Prepend(UPLOADERFLAGS=["-d", '"$UPLOAD_PORT"'])
|
||||
|
||||
env = DefaultEnvironment()
|
||||
|
||||
env.Replace(
|
||||
@@ -77,7 +71,19 @@ env.Replace(
|
||||
"-mprocessor=$BOARD_MCU",
|
||||
"-mno-peripheral-libs",
|
||||
"-nostartfiles",
|
||||
"-Wl,--gc-sections"
|
||||
"-Wl,--gc-sections",
|
||||
join(
|
||||
"$PLATFORMFW_DIR",
|
||||
"cores",
|
||||
"${BOARD_OPTIONS['build']['core']}",
|
||||
"cpp-startup.S"
|
||||
),
|
||||
join(
|
||||
"$PLATFORMFW_DIR",
|
||||
"cores",
|
||||
"${BOARD_OPTIONS['build']['core']}",
|
||||
"crti.S"
|
||||
)
|
||||
],
|
||||
|
||||
LIBS=["m"],
|
||||
@@ -86,7 +92,8 @@ env.Replace(
|
||||
|
||||
UPLOADER=join("$PIOPACKAGES_DIR", "tool-pic32prog", "pic32prog"),
|
||||
UPLOADERFLAGS=[
|
||||
"-b", "$UPLOAD_SPEED"
|
||||
"-b", "$UPLOAD_SPEED",
|
||||
"-d", '"$UPLOAD_PORT"'
|
||||
],
|
||||
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS $SOURCES',
|
||||
|
||||
@@ -97,6 +104,7 @@ env.Replace(
|
||||
if int(env.get("BOARD_OPTIONS", {}).get(
|
||||
"upload", {}).get("maximum_ram_size", 0)) < 65535:
|
||||
env.Append(
|
||||
ASFLAGS=["-G1024"],
|
||||
CCFLAGS=["-G1024"]
|
||||
)
|
||||
|
||||
@@ -120,15 +128,7 @@ env.Append(
|
||||
),
|
||||
|
||||
ElfToHex=Builder(
|
||||
action=" ".join([
|
||||
"$OBJCOPY",
|
||||
"-O",
|
||||
"ihex",
|
||||
"-R",
|
||||
".eeprom",
|
||||
"$SOURCES",
|
||||
"$TARGET"]),
|
||||
suffix=".hex"
|
||||
action=" ".join(["pic32-bin2hex", "-a", "$SOURCES"]), suffix=".hex"
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -166,7 +166,7 @@ env.Append(
|
||||
if "uploadlazy" in COMMAND_LINE_TARGETS:
|
||||
target_firm = join("$BUILD_DIR", "firmware.hex")
|
||||
else:
|
||||
target_firm = env.ElfToHex(join("$BUILD_DIR", "firmware"), target_elf)
|
||||
target_firm = env.ElfToHex(target_elf)
|
||||
|
||||
#
|
||||
# Target: Print binary size
|
||||
@@ -179,8 +179,8 @@ AlwaysBuild(target_size)
|
||||
# Target: Upload firmware
|
||||
#
|
||||
|
||||
upload = env.Alias(
|
||||
["upload", "uploadlazy"], target_firm, [BeforeUpload, "$UPLOADCMD"])
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm,
|
||||
[env.AutodetectUploadPort, "$UPLOADCMD"])
|
||||
AlwaysBuild(upload)
|
||||
|
||||
#
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
from os.path import join
|
||||
|
||||
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Default,
|
||||
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Builder, Default,
|
||||
DefaultEnvironment, SConscript)
|
||||
|
||||
env = DefaultEnvironment()
|
||||
@@ -35,6 +35,25 @@ if env.subst("$BOARD") == "rfduino":
|
||||
UPLOADERFLAGS=["-q", '"$UPLOAD_PORT"'],
|
||||
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS $SOURCES'
|
||||
)
|
||||
else:
|
||||
env.Append(
|
||||
BUILDERS=dict(
|
||||
MergeHex=Builder(
|
||||
action=" ".join([
|
||||
join("$PIOPACKAGES_DIR", "tool-sreccat", "srec_cat"),
|
||||
"$SOFTDEVICEHEX",
|
||||
"-intel",
|
||||
"$SOURCES",
|
||||
"-intel",
|
||||
"-o",
|
||||
"$TARGET",
|
||||
"-intel",
|
||||
"--line-length=44"
|
||||
]),
|
||||
suffix=".hex"
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
#
|
||||
# Target: Build executable and linkable firmware
|
||||
@@ -49,7 +68,13 @@ target_elf = env.BuildProgram()
|
||||
if "uploadlazy" in COMMAND_LINE_TARGETS:
|
||||
target_firm = join("$BUILD_DIR", "firmware.hex")
|
||||
else:
|
||||
target_firm = env.ElfToHex(join("$BUILD_DIR", "firmware"), target_elf)
|
||||
if env.subst("$BOARD") == "rfduino":
|
||||
target_firm = env.ElfToHex(join("$BUILD_DIR", "firmware"), target_elf)
|
||||
else:
|
||||
target_firm = env.MergeHex(
|
||||
join("$BUILD_DIR", "firmware"),
|
||||
env.ElfToHex(join("$BUILD_DIR", "userfirmware"), target_elf)
|
||||
)
|
||||
|
||||
#
|
||||
# Target: Print binary size
|
||||
@@ -63,9 +88,8 @@ AlwaysBuild(target_size)
|
||||
#
|
||||
|
||||
if env.subst("$BOARD") == "rfduino":
|
||||
upload = env.Alias(
|
||||
["upload", "uploadlazy"], target_firm,
|
||||
[lambda target, source, env: env.AutodetectUploadPort(), "$UPLOADCMD"])
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm,
|
||||
[env.AutodetectUploadPort, "$UPLOADCMD"])
|
||||
else:
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm, env.UploadToDisk)
|
||||
AlwaysBuild(upload)
|
||||
|
||||
@@ -17,19 +17,10 @@
|
||||
"""
|
||||
|
||||
from os.path import join
|
||||
from shutil import copyfile
|
||||
|
||||
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Default,
|
||||
DefaultEnvironment, SConscript)
|
||||
|
||||
|
||||
def UploadToDisk(target, source, env): # pylint: disable=W0613,W0621
|
||||
env.AutodetectUploadPort()
|
||||
copyfile(join(env.subst("$BUILD_DIR"), "firmware.bin"),
|
||||
join(env.subst("$UPLOAD_PORT"), "firmware.bin"))
|
||||
print("Firmware has been successfully uploaded.\n"
|
||||
"Please restart your board.")
|
||||
|
||||
env = DefaultEnvironment()
|
||||
|
||||
SConscript(env.subst(join("$PIOBUILDER_DIR", "scripts", "basearm.py")))
|
||||
@@ -60,7 +51,7 @@ AlwaysBuild(target_size)
|
||||
# Target: Upload by default .bin file
|
||||
#
|
||||
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm, UploadToDisk)
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm, env.UploadToDisk)
|
||||
AlwaysBuild(upload)
|
||||
|
||||
#
|
||||
|
||||
@@ -100,8 +100,7 @@ AlwaysBuild(target_size)
|
||||
#
|
||||
|
||||
if "mbed" in env.subst("$FRAMEWORK") and not env.subst("$UPLOAD_PROTOCOL"):
|
||||
upload = env.Alias(["upload", "uploadlazy"],
|
||||
target_firm, env.UploadToDisk)
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm, env.UploadToDisk)
|
||||
else:
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm, "$UPLOADCMD")
|
||||
AlwaysBuild(upload)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user