forked from platformio/platformio-core
Merge branch 'release/v2.11.2'
This commit is contained in:
25
HISTORY.rst
25
HISTORY.rst
@ -4,6 +4,31 @@ Release Notes
|
|||||||
PlatformIO 2.0
|
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)
|
2.11.1 (2016-07-12)
|
||||||
~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -1341,6 +1341,26 @@ PanStamp
|
|||||||
- 32 Kb
|
- 32 Kb
|
||||||
- 4 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
|
Punch Through
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ can customize to do anything but also use productively without ever touching a
|
|||||||
config file.
|
config file.
|
||||||
|
|
||||||
.. image:: ../_static/ide-atom-platformio.png
|
.. 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::
|
.. contents::
|
||||||
|
|
||||||
@ -71,9 +71,10 @@ on the "Customize" stage, otherwise ``python`` command will not be available.
|
|||||||
2. Clang for Intelligent Code Autocompletion
|
2. Clang for Intelligent Code Autocompletion
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
PlatformIO IDE uses `clang <http://clang.llvm.org>`_ for the Intelligent Code Autocompletion.
|
PlatformIO IDE uses `clang <http://clang.llvm.org>`_ for the Intelligent Code
|
||||||
To check that ``clang`` is available in your system, please open
|
Autocompletion. To check that ``clang`` is available in your system, please
|
||||||
Terminal and run ``clang --version``. If ``clang`` is not installed, then install it:
|
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/>`_
|
- **Mac OS X**: `Install the latest Xcode <https://developer.apple.com/xcode/download/>`_
|
||||||
along with the latest Command Line Tools
|
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
|
.. 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``.
|
- **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>`_.
|
- **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:
|
the corresponding icon in the PlatformIO toolbar as shown in the image below:
|
||||||
|
|
||||||
.. image:: ../_static/ide-atom-platformio-quick-start-1.png
|
.. 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
|
2. In the "New Project Menu" choose desired boards (more than one board is
|
||||||
allowed) and select a project directory. Then press "Initialize" button:
|
allowed) and select a project directory. Then press "Initialize" button:
|
||||||
|
|
||||||
.. image:: ../_static/ide-atom-platformio-quick-start-2.png
|
.. 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
|
3. If everything is fine, you should see the success message and project tree
|
||||||
in the left panel:
|
in the left panel:
|
||||||
|
|
||||||
.. image:: ../_static/ide-atom-platformio-quick-start-3.png
|
.. 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
|
4. Now, let's create the first project source file: right-click on the folder
|
||||||
``src`` and choose ``New File``:
|
``src`` and choose ``New File``:
|
||||||
|
|
||||||
.. image:: ../_static/ide-atom-platformio-quick-start-4.png
|
.. 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``:
|
Enter filename ``main.cpp``:
|
||||||
|
|
||||||
.. image:: ../_static/ide-atom-platformio-quick-start-5.png
|
.. 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``:
|
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
|
- :ref:`ide_atom_building_targets` and hotkeys
|
||||||
|
|
||||||
.. image:: ../_static/ide-atom-platformio-quick-start-6.png
|
.. 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
|
5. Run ``Build`` and you should see green "success" result in the building
|
||||||
panel:
|
panel:
|
||||||
|
|
||||||
.. image:: ../_static/ide-atom-platformio-quick-start-7.png
|
.. 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``.
|
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):
|
or call targets list from the status bar (bottom, left corner):
|
||||||
|
|
||||||
.. image:: ../_static/ide-atom-platformio-quick-start-8.png
|
.. 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:
|
And select desired target:
|
||||||
|
|
||||||
.. image:: ../_static/ide-atom-platformio-quick-start-9.png
|
.. 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
|
7. To run built-in terminal interface choose ``Menu: PlatformIO > Terminal`` or
|
||||||
press the corresponding icon in the PlatformIO toolbar:
|
press the corresponding icon in the PlatformIO toolbar:
|
||||||
|
|
||||||
.. image:: ../_static/ide-atom-platformio-quick-start-10.png
|
.. 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:
|
It provides you fast access to all set of powerful PlatformIO CLI commands:
|
||||||
|
|
||||||
.. image:: ../_static/ide-atom-platformio-quick-start-11.png
|
.. 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``
|
8. To run built-in "Serial Monitor" choose ``Menu: PlatformIO > Serial Monitor``
|
||||||
or press the corresponding icon in the PlatformIO toolbar:
|
or press the corresponding icon in the PlatformIO toolbar:
|
||||||
|
|
||||||
.. image:: ../_static/ide-atom-platformio-quick-start-12.png
|
.. 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:
|
It has several settings to adjust your connection:
|
||||||
|
|
||||||
.. image:: ../_static/ide-atom-platformio-quick-start-13.png
|
.. 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:
|
And allows you to communicate with your board in an easy way:
|
||||||
|
|
||||||
.. image:: ../_static/ide-atom-platformio-quick-start-14.png
|
.. 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
|
User Guide
|
||||||
|
@ -24,7 +24,7 @@ Refer to the `CLion Documentation <https://www.jetbrains.com/clion/documentation
|
|||||||
page for more detailed information.
|
page for more detailed information.
|
||||||
|
|
||||||
.. image:: ../_static/ide-platformio-clion.png
|
.. 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::
|
.. contents::
|
||||||
|
|
||||||
@ -43,12 +43,17 @@ command and generate project via :option:`platformio init --ide` command:
|
|||||||
|
|
||||||
Then:
|
Then:
|
||||||
|
|
||||||
1. Place source files (``*.c, *.cpp, *.h, *.ino, etc.``) to ``src`` directory
|
1. Place source files (``*.c, *.cpp, *.h, *.hpp``) to ``src`` directory
|
||||||
2. Import this project via ``Menu: File > Import Project``
|
2. Import this project via ``Menu: File > Import Project``
|
||||||
and specify root directory where is located :ref:`projectconf`
|
and specify root directory where is located :ref:`projectconf`
|
||||||
3. Open source file from ``src`` directory
|
3. Open source file from ``src`` directory
|
||||||
4. Build project (*DO NOT RUN*): ``Menu: Run > Build``.
|
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
|
There are 6 predefined targets for building (*NOT FOR RUNNING*, see marks on
|
||||||
the screenshot below):
|
the screenshot below):
|
||||||
|
|
||||||
@ -68,6 +73,65 @@ the screenshot below):
|
|||||||
after generating process wont be reflected in IDE. To fix it please run
|
after generating process wont be reflected in IDE. To fix it please run
|
||||||
``PLATFORMIO_REBUILD_PROJECT_INDEX`` target.
|
``PLATFORMIO_REBUILD_PROJECT_INDEX`` target.
|
||||||
|
|
||||||
|
Known issues
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. _ide_clion_knownissues_inopde_not_supported:
|
||||||
|
|
||||||
|
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) {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Articles / Manuals
|
Articles / Manuals
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
@ -81,6 +145,6 @@ Examples
|
|||||||
--------
|
--------
|
||||||
|
|
||||||
"Blink" Project
|
"Blink" Project
|
||||||
^^^^^^^^^^^^^^^
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Source code of `CLion "Blink" Project <https://github.com/platformio/platformio-examples/tree/develop/ide/clion>`_.
|
Source code of `CLion "Blink" Project <https://github.com/platformio/platformio-examples/tree/develop/ide/clion>`_.
|
||||||
|
@ -14,16 +14,16 @@
|
|||||||
CodeBlocks
|
CodeBlocks
|
||||||
==========
|
==========
|
||||||
|
|
||||||
Code::Blocks is a free, open-source cross-platform IDE that supports multiple
|
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
|
compilers including GCC, Clang and Visual C++. It is developed in C++ using
|
||||||
wxWidgets as the GUI toolkit. Using a plugin architecture, its capabilities
|
wxWidgets as the GUI toolkit. Using a plugin architecture, its capabilities
|
||||||
and features are defined by the provided plugins. Currently, Code::Blocks is
|
and features are defined by the provided plugins. Currently, Code::Blocks is
|
||||||
oriented towards C, C++, and Fortran.
|
oriented towards C, C++, and Fortran.
|
||||||
|
|
||||||
CodeBlocks IDE can be downloaded from `here <http://www.codeblocks.org/downloads>`_.
|
CodeBlocks IDE can be downloaded from `here <http://www.codeblocks.org/downloads>`_.
|
||||||
|
|
||||||
.. image:: ../_static/ide-platformio-codeblocks.png
|
.. 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::
|
.. contents::
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ Refer to the `CDT Documentation <https://eclipse.org/cdt/documentation.php>`_
|
|||||||
page for more detailed information.
|
page for more detailed information.
|
||||||
|
|
||||||
.. image:: ../_static/ide-platformio-eclipse.png
|
.. 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::
|
.. contents::
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ Refer to the `Emacs Documentation <https://www.gnu.org/software/emacs/#Manuals>`
|
|||||||
page for more detailed information.
|
page for more detailed information.
|
||||||
|
|
||||||
.. image:: ../_static/ide-platformio-emacs.png
|
.. 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::
|
.. 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).
|
install the C/C++ development plugins).
|
||||||
|
|
||||||
.. image:: ../_static/ide-platformio-netbeans.png
|
.. 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::
|
.. contents::
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ Refer to the `Qt-creator Manual <http://doc.qt.io/qtcreator/>`_
|
|||||||
page for more detailed information.
|
page for more detailed information.
|
||||||
|
|
||||||
.. image:: ../_static/ide-platformio-qtcreator-7.png
|
.. 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::
|
.. contents::
|
||||||
|
|
||||||
@ -83,7 +83,7 @@ Then:
|
|||||||
8. Build project: ``Menu: Build > Build All``.
|
8. Build project: ``Menu: Build > Build All``.
|
||||||
|
|
||||||
.. image:: ../_static/ide-platformio-qtcreator-3.png
|
.. 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::
|
.. warning::
|
||||||
The libraries which are added, installed or used in the project
|
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``.
|
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
|
.. 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.
|
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):
|
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
|
.. 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:
|
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"
|
INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/toolchain-atmelavr/avr/include"
|
||||||
|
|
||||||
.. image:: ../_static/ide-platformio-qtcreator-4.png
|
.. 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
|
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``:
|
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
|
.. 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``.
|
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.
|
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
|
.. 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.
|
Edit the content to match the code described below.
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
#
|
#
|
||||||
# Project Configuration File
|
# PlatformIO Project Configuration File
|
||||||
#
|
#
|
||||||
# A detailed documentation with the EXAMPLES is located here:
|
# Please make sure to read documentation with examples first
|
||||||
# http://docs.platformio.org/en/latest/projectconf.html
|
# 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]
|
[env:arduino_uno]
|
||||||
platform = atmelavr
|
platform = atmelavr
|
||||||
framework = arduino
|
framework = arduino
|
||||||
|
@ -167,15 +167,12 @@ Copy the source code which is described below to it.
|
|||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
#
|
#
|
||||||
# Project Configuration File
|
# PlatformIO Project Configuration File
|
||||||
#
|
#
|
||||||
# A detailed documentation with the EXAMPLES is located here:
|
# Please make sure to read documentation with examples first
|
||||||
# http://docs.platformio.org/en/latest/projectconf.html
|
# 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]
|
[env:arduino_uno]
|
||||||
platform = atmelavr
|
platform = atmelavr
|
||||||
framework = arduino
|
framework = arduino
|
||||||
|
@ -20,7 +20,7 @@ Refer to the `Visual Studio Documentation <https://msdn.microsoft.com/library/vs
|
|||||||
page for more detailed information.
|
page for more detailed information.
|
||||||
|
|
||||||
.. image:: ../_static/ide-vs-platformio-newproject-8.png
|
.. 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::
|
.. contents::
|
||||||
|
|
||||||
@ -127,15 +127,12 @@ Copy the source code which is described below to it.
|
|||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
#
|
#
|
||||||
# Project Configuration File
|
# PlatformIO Project Configuration File
|
||||||
#
|
#
|
||||||
# A detailed documentation with the EXAMPLES is located here:
|
# Please make sure to read documentation with examples first
|
||||||
# http://docs.platformio.org/en/latest/projectconf.html
|
# 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]
|
[env:arduino_uno]
|
||||||
platform = atmelavr
|
platform = atmelavr
|
||||||
framework = arduino
|
framework = arduino
|
||||||
@ -175,4 +172,4 @@ disable IntelliSense error reporting at all.
|
|||||||
See details in `issue #543 <https://github.com/platformio/platformio/issues/543>`_
|
See details in `issue #543 <https://github.com/platformio/platformio/issues/543>`_
|
||||||
|
|
||||||
.. image:: ../_static/ide-vs-platformio-newproject-9.png
|
.. 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
|
||||||
|
@ -842,6 +842,26 @@ PanStamp
|
|||||||
- 32 Kb
|
- 32 Kb
|
||||||
- 2 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
|
Punch Through
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -143,6 +143,9 @@ Packages
|
|||||||
* - ``tool-scons``
|
* - ``tool-scons``
|
||||||
- `SCons software construction tool <http://www.scons.org>`_
|
- `SCons software construction tool <http://www.scons.org>`_
|
||||||
|
|
||||||
|
* - ``tool-sreccat``
|
||||||
|
- `Merging tool <https://github.com/marcows/SRecord>`_
|
||||||
|
|
||||||
* - ``tool-stlink``
|
* - ``tool-stlink``
|
||||||
- `ST-Link <https://github.com/texane/stlink>`_
|
- `ST-Link <https://github.com/texane/stlink>`_
|
||||||
|
|
||||||
|
@ -1726,6 +1726,26 @@ PanStamp
|
|||||||
- 32 Kb
|
- 32 Kb
|
||||||
- 4 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
|
Punch Through
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -37,6 +37,9 @@ Packages
|
|||||||
* - ``toolchain-gccarmnoneeabi``
|
* - ``toolchain-gccarmnoneeabi``
|
||||||
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
|
- `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``
|
* - ``framework-arduinonordicnrf51``
|
||||||
- `Arduino Wiring-based Framework (RFduino Core) <https://github.com/RFduino/RFduino>`_
|
- `Arduino Wiring-based Framework (RFduino Core) <https://github.com/RFduino/RFduino>`_
|
||||||
|
|
||||||
|
@ -9,6 +9,33 @@
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
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
|
Examples
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
@ -147,24 +147,12 @@ The result of just generated ``platformio.ini``:
|
|||||||
.. code-block:: ini
|
.. code-block:: ini
|
||||||
|
|
||||||
#
|
#
|
||||||
# Project Configuration File
|
# PlatformIO Project Configuration File
|
||||||
#
|
#
|
||||||
# A detailed documentation with the EXAMPLES is located here:
|
# Please make sure to read documentation with examples first
|
||||||
# http://docs.platformio.org/en/latest/projectconf.html
|
# 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]
|
[env:uno]
|
||||||
platform = atmelavr
|
platform = atmelavr
|
||||||
framework = arduino
|
framework = arduino
|
||||||
|
@ -207,14 +207,11 @@ default ``20`` (DEC)
|
|||||||
|
|
||||||
Diagnostics: suppress non-error messages, default ``Off``
|
Diagnostics: suppress non-error messages, default ``Off``
|
||||||
|
|
||||||
|
|
||||||
.. option::
|
.. option::
|
||||||
--echo
|
--echo
|
||||||
|
|
||||||
Enable local echo, default ``Off``
|
Enable local echo, default ``Off``
|
||||||
|
|
||||||
**REMOVED**: Is not available in Miniterm/PySerial 3.0
|
|
||||||
|
|
||||||
.. option::
|
.. option::
|
||||||
--cr
|
--cr
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
VERSION = (2, 11, 1)
|
VERSION = (2, 11, 2)
|
||||||
__version__ = ".".join([str(s) for s in VERSION])
|
__version__ = ".".join([str(s) for s in VERSION])
|
||||||
|
|
||||||
__title__ = "platformio"
|
__title__ = "platformio"
|
||||||
|
@ -122,7 +122,7 @@ An unexpected error occurred. Further steps:
|
|||||||
`pip install -U platformio` command
|
`pip install -U platformio` command
|
||||||
|
|
||||||
* Try to find answer in FAQ Troubleshooting section
|
* 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
|
* Report this problem to the developers
|
||||||
https://github.com/platformio/platformio/issues
|
https://github.com/platformio/platformio/issues
|
||||||
|
@ -46,7 +46,7 @@ DEFAULT_SETTINGS = {
|
|||||||
},
|
},
|
||||||
"enable_telemetry": {
|
"enable_telemetry": {
|
||||||
"description": (
|
"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)"),
|
"userguide/cmd_settings.html?#enable-telemetry> (Yes/No)"),
|
||||||
"value": True
|
"value": True
|
||||||
},
|
},
|
||||||
|
@ -881,6 +881,9 @@
|
|||||||
"frameworks": ["arduino"],
|
"frameworks": ["arduino"],
|
||||||
"name": "Arduino Zero (Programming Port)",
|
"name": "Arduino Zero (Programming Port)",
|
||||||
"platform": "atmelsam",
|
"platform": "atmelsam",
|
||||||
|
"debug": {
|
||||||
|
"openocdcfg": "arduino_zero.cfg"
|
||||||
|
},
|
||||||
"upload": {
|
"upload": {
|
||||||
"disable_flushing": true,
|
"disable_flushing": true,
|
||||||
"maximum_ram_size": 32768,
|
"maximum_ram_size": 32768,
|
||||||
@ -888,7 +891,8 @@
|
|||||||
"protocol": "openocd",
|
"protocol": "openocd",
|
||||||
"require_upload_port" : false,
|
"require_upload_port" : false,
|
||||||
"use_1200bps_touch": 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",
|
"url": "https://www.arduino.cc/en/Main/ArduinoBoardZero",
|
||||||
"vendor": "Arduino"
|
"vendor": "Arduino"
|
||||||
@ -974,6 +978,9 @@
|
|||||||
"frameworks": ["arduino"],
|
"frameworks": ["arduino"],
|
||||||
"name": "Arduino M0 Pro (Programming Port)",
|
"name": "Arduino M0 Pro (Programming Port)",
|
||||||
"platform": "atmelsam",
|
"platform": "atmelsam",
|
||||||
|
"debug": {
|
||||||
|
"openocdcfg": "arduino_zero_org.cfg"
|
||||||
|
},
|
||||||
"upload": {
|
"upload": {
|
||||||
"disable_flushing": true,
|
"disable_flushing": true,
|
||||||
"maximum_ram_size": 32768,
|
"maximum_ram_size": 32768,
|
||||||
|
@ -8,7 +8,11 @@
|
|||||||
"frameworks": ["mbed"],
|
"frameworks": ["mbed"],
|
||||||
"name": "Atmel ATSAMR21-XPRO",
|
"name": "Atmel ATSAMR21-XPRO",
|
||||||
"platform": "atmelsam",
|
"platform": "atmelsam",
|
||||||
|
"debug": {
|
||||||
|
"openocdcfg": "atmel_samr21_xplained_pro.cfg"
|
||||||
|
},
|
||||||
"upload": {
|
"upload": {
|
||||||
|
"protocol": "openocd",
|
||||||
"maximum_ram_size": 32768,
|
"maximum_ram_size": 32768,
|
||||||
"maximum_size": 262144
|
"maximum_size": 262144
|
||||||
},
|
},
|
||||||
@ -24,7 +28,11 @@
|
|||||||
"frameworks": ["mbed"],
|
"frameworks": ["mbed"],
|
||||||
"name": "Atmel SAML21-XPRO-B",
|
"name": "Atmel SAML21-XPRO-B",
|
||||||
"platform": "atmelsam",
|
"platform": "atmelsam",
|
||||||
|
"debug": {
|
||||||
|
"openocdcfg": "atmel_saml21_xplained_pro.cfg"
|
||||||
|
},
|
||||||
"upload": {
|
"upload": {
|
||||||
|
"protocol": "openocd",
|
||||||
"maximum_ram_size": 32768,
|
"maximum_ram_size": 32768,
|
||||||
"maximum_size": 262144
|
"maximum_size": 262144
|
||||||
},
|
},
|
||||||
@ -40,7 +48,11 @@
|
|||||||
"frameworks": ["mbed"],
|
"frameworks": ["mbed"],
|
||||||
"name": "Atmel SAMD21-XPRO",
|
"name": "Atmel SAMD21-XPRO",
|
||||||
"platform": "atmelsam",
|
"platform": "atmelsam",
|
||||||
|
"debug": {
|
||||||
|
"openocdcfg": "atmel_samd21_xplained_pro.cfg"
|
||||||
|
},
|
||||||
"upload": {
|
"upload": {
|
||||||
|
"protocol": "openocd",
|
||||||
"maximum_ram_size": 32768,
|
"maximum_ram_size": 32768,
|
||||||
"maximum_size": 262144
|
"maximum_size": 262144
|
||||||
},
|
},
|
||||||
|
@ -119,7 +119,7 @@
|
|||||||
"core": "pic32",
|
"core": "pic32",
|
||||||
"extra_flags": "-D_BOARD_CHIPKIT_PI_",
|
"extra_flags": "-D_BOARD_CHIPKIT_PI_",
|
||||||
"f_cpu": "40000000L",
|
"f_cpu": "40000000L",
|
||||||
"ldscript": "cchipKIT-application-32MX250F128.ld",
|
"ldscript": "chipKIT-application-32MX250F128.ld",
|
||||||
"mcu": "32MX250F128B",
|
"mcu": "32MX250F128B",
|
||||||
"variant": "ChipKIT_Pi"
|
"variant": "ChipKIT_Pi"
|
||||||
},
|
},
|
||||||
|
@ -820,5 +820,27 @@
|
|||||||
},
|
},
|
||||||
"url": "https://www.arduboy.com",
|
"url": "https://www.arduboy.com",
|
||||||
"vendor": "Arduboy"
|
"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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -122,32 +122,35 @@ if upload_protocol == "openocd":
|
|||||||
UPLOADER=join("$PIOPACKAGES_DIR", "tool-openocd", "bin", "openocd"),
|
UPLOADER=join("$PIOPACKAGES_DIR", "tool-openocd", "bin", "openocd"),
|
||||||
UPLOADERFLAGS=[
|
UPLOADERFLAGS=[
|
||||||
"-d2",
|
"-d2",
|
||||||
"-s", join(
|
"-f", join(BOARD_OPTIONS.get("debug", {}).get("openocdcfg", "")),
|
||||||
"$PIOPACKAGES_DIR",
|
"-s", join("$PIOPACKAGES_DIR", "tool-openocd",
|
||||||
"tool-openocd",
|
"share", "openocd", "scripts"),
|
||||||
"share",
|
"-s", join("$PIOPACKAGES_DIR", "tool-openocd",
|
||||||
"openocd",
|
"share", "openocd", "scripts", "board")
|
||||||
"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",
|
|
||||||
"%s;" % user_code_section if user_code_section else "0x2000",
|
|
||||||
"shutdown\""
|
|
||||||
],
|
],
|
||||||
|
|
||||||
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS'
|
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":
|
elif upload_protocol == "sam-ba":
|
||||||
|
|
||||||
board_type = env.subst("$BOARD")
|
board_type = env.subst("$BOARD")
|
||||||
|
@ -55,13 +55,14 @@ elif env.get("PLATFORM") == "timsp430":
|
|||||||
)
|
)
|
||||||
elif env.get("PLATFORM") == "espressif":
|
elif env.get("PLATFORM") == "espressif":
|
||||||
env.Prepend(
|
env.Prepend(
|
||||||
|
CPPDEFINES=["LWIP_OPEN_SRC"],
|
||||||
CPPPATH=[
|
CPPPATH=[
|
||||||
join("$PLATFORMFW_DIR", "tools", "sdk", "include"),
|
join("$PLATFORMFW_DIR", "tools", "sdk", "include"),
|
||||||
join("$PLATFORMFW_DIR", "tools", "sdk", "lwip", "include")
|
join("$PLATFORMFW_DIR", "tools", "sdk", "lwip", "include")
|
||||||
],
|
],
|
||||||
LIBPATH=[join("$PLATFORMFW_DIR", "tools", "sdk", "lib")],
|
LIBPATH=[join("$PLATFORMFW_DIR", "tools", "sdk", "lib")],
|
||||||
LIBS=[
|
LIBS=[
|
||||||
"mesh", "wpa2", "smartconfig", "pp", "main", "wpa", "lwip",
|
"mesh", "wpa2", "smartconfig", "pp", "main", "wpa", "lwip_gcc",
|
||||||
"net80211", "wps", "crypto", "phy", "hal", "axtls", "gcc",
|
"net80211", "wps", "crypto", "phy", "hal", "axtls", "gcc",
|
||||||
"m", "stdc++"
|
"m", "stdc++"
|
||||||
]
|
]
|
||||||
@ -198,6 +199,20 @@ if env.get("PLATFORM") == "teensy":
|
|||||||
"ARDUINO=10600",
|
"ARDUINO=10600",
|
||||||
"TEENSYDUINO=%d" % ARDUINO_VERSION
|
"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:
|
else:
|
||||||
ARDUINO_USBDEFINES += ["ARDUINO=%d" % ARDUINO_VERSION]
|
ARDUINO_USBDEFINES += ["ARDUINO=%d" % ARDUINO_VERSION]
|
||||||
|
|
||||||
@ -310,6 +325,8 @@ if BOARD_BUILDOPTS.get("core", None) == "teensy":
|
|||||||
with open(file_path, "w") as fp:
|
with open(file_path, "w") as fp:
|
||||||
fp.write(content)
|
fp.write(content)
|
||||||
|
|
||||||
|
env.Append(CPPPATH=[join("$PLATFORMFW_DIR", "cores")])
|
||||||
|
|
||||||
#
|
#
|
||||||
# Target: Build Core Library
|
# Target: Build Core Library
|
||||||
#
|
#
|
||||||
|
@ -28,6 +28,7 @@ http://mbed.org/
|
|||||||
|
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
|
|
||||||
|
import json
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
import xml.etree.ElementTree as ElementTree
|
import xml.etree.ElementTree as ElementTree
|
||||||
@ -251,6 +252,37 @@ eixdata = parse_eix_file(
|
|||||||
build_flags = get_build_flags(eixdata)
|
build_flags = get_build_flags(eixdata)
|
||||||
variant_dir = join("$PLATFORMFW_DIR", "variant", variant)
|
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(
|
env.Replace(
|
||||||
_mbed_whole_archive_hook=_mbed_whole_archive_hook,
|
_mbed_whole_archive_hook=_mbed_whole_archive_hook,
|
||||||
_LIBFLAGS="${_mbed_whole_archive_hook(%s)}" % env.get("_LIBFLAGS")[2:-1],
|
_LIBFLAGS="${_mbed_whole_archive_hook(%s)}" % env.get("_LIBFLAGS")[2:-1],
|
||||||
@ -263,6 +295,10 @@ env.Replace(
|
|||||||
join(variant_dir, eixdata.get("LDSCRIPT_PATH")[0]))
|
join(variant_dir, eixdata.get("LDSCRIPT_PATH")[0]))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
if env.get("PLATFORM") == "nordicnrf51":
|
||||||
|
env.Append(SOFTDEVICEHEX=_find_soft_device_hex())
|
||||||
|
|
||||||
# restore external build flags
|
# restore external build flags
|
||||||
env.ProcessFlags(
|
env.ProcessFlags(
|
||||||
env.get("BOARD_OPTIONS", {}).get("build", {}).get("extra_flags"))
|
env.get("BOARD_OPTIONS", {}).get("build", {}).get("extra_flags"))
|
||||||
|
@ -71,7 +71,19 @@ env.Replace(
|
|||||||
"-mprocessor=$BOARD_MCU",
|
"-mprocessor=$BOARD_MCU",
|
||||||
"-mno-peripheral-libs",
|
"-mno-peripheral-libs",
|
||||||
"-nostartfiles",
|
"-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"],
|
LIBS=["m"],
|
||||||
@ -92,6 +104,7 @@ env.Replace(
|
|||||||
if int(env.get("BOARD_OPTIONS", {}).get(
|
if int(env.get("BOARD_OPTIONS", {}).get(
|
||||||
"upload", {}).get("maximum_ram_size", 0)) < 65535:
|
"upload", {}).get("maximum_ram_size", 0)) < 65535:
|
||||||
env.Append(
|
env.Append(
|
||||||
|
ASFLAGS=["-G1024"],
|
||||||
CCFLAGS=["-G1024"]
|
CCFLAGS=["-G1024"]
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -115,15 +128,7 @@ env.Append(
|
|||||||
),
|
),
|
||||||
|
|
||||||
ElfToHex=Builder(
|
ElfToHex=Builder(
|
||||||
action=" ".join([
|
action=" ".join(["pic32-bin2hex", "-a", "$SOURCES"]), suffix=".hex"
|
||||||
"$OBJCOPY",
|
|
||||||
"-O",
|
|
||||||
"ihex",
|
|
||||||
"-R",
|
|
||||||
".eeprom",
|
|
||||||
"$SOURCES",
|
|
||||||
"$TARGET"]),
|
|
||||||
suffix=".hex"
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -161,7 +166,7 @@ env.Append(
|
|||||||
if "uploadlazy" in COMMAND_LINE_TARGETS:
|
if "uploadlazy" in COMMAND_LINE_TARGETS:
|
||||||
target_firm = join("$BUILD_DIR", "firmware.hex")
|
target_firm = join("$BUILD_DIR", "firmware.hex")
|
||||||
else:
|
else:
|
||||||
target_firm = env.ElfToHex(join("$BUILD_DIR", "firmware"), target_elf)
|
target_firm = env.ElfToHex(target_elf)
|
||||||
|
|
||||||
#
|
#
|
||||||
# Target: Print binary size
|
# Target: Print binary size
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
from os.path import join
|
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)
|
DefaultEnvironment, SConscript)
|
||||||
|
|
||||||
env = DefaultEnvironment()
|
env = DefaultEnvironment()
|
||||||
@ -35,6 +35,25 @@ if env.subst("$BOARD") == "rfduino":
|
|||||||
UPLOADERFLAGS=["-q", '"$UPLOAD_PORT"'],
|
UPLOADERFLAGS=["-q", '"$UPLOAD_PORT"'],
|
||||||
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS $SOURCES'
|
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
|
# Target: Build executable and linkable firmware
|
||||||
@ -49,7 +68,13 @@ target_elf = env.BuildProgram()
|
|||||||
if "uploadlazy" in COMMAND_LINE_TARGETS:
|
if "uploadlazy" in COMMAND_LINE_TARGETS:
|
||||||
target_firm = join("$BUILD_DIR", "firmware.hex")
|
target_firm = join("$BUILD_DIR", "firmware.hex")
|
||||||
else:
|
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
|
# Target: Print binary size
|
||||||
|
@ -40,7 +40,6 @@ elif env.get("BOARD_OPTIONS", {}).get("build", {}).get("core") == "teensy3":
|
|||||||
|
|
||||||
env.Append(
|
env.Append(
|
||||||
CPPDEFINES=[
|
CPPDEFINES=[
|
||||||
"USB_SERIAL",
|
|
||||||
"LAYOUT_US_ENGLISH"
|
"LAYOUT_US_ENGLISH"
|
||||||
],
|
],
|
||||||
|
|
||||||
|
@ -147,17 +147,15 @@ def DumpIDEData(env):
|
|||||||
|
|
||||||
def get_includes(env_):
|
def get_includes(env_):
|
||||||
includes = []
|
includes = []
|
||||||
# includes from used framework and libs
|
|
||||||
for item in env_.get("VARIANT_DIRS", []):
|
|
||||||
if "$BUILDSRC_DIR" in item[0]:
|
|
||||||
continue
|
|
||||||
includes.append(env_.subst(item[1]))
|
|
||||||
|
|
||||||
# custom includes
|
|
||||||
for item in env_.get("CPPPATH", []):
|
for item in env_.get("CPPPATH", []):
|
||||||
if item.startswith("$BUILD_DIR"):
|
invardir = False
|
||||||
continue
|
for vardiritem in env_.get("VARIANT_DIRS", []):
|
||||||
includes.append(env_.subst(item))
|
if item == vardiritem[0]:
|
||||||
|
includes.append(env_.subst(vardiritem[1]))
|
||||||
|
invardir = True
|
||||||
|
break
|
||||||
|
if not invardir:
|
||||||
|
includes.append(env_.subst(item))
|
||||||
|
|
||||||
# installed libs
|
# installed libs
|
||||||
for d in env_.get("LIBSOURCE_DIRS", []):
|
for d in env_.get("LIBSOURCE_DIRS", []):
|
||||||
|
@ -115,6 +115,8 @@ def BuildProgram(env):
|
|||||||
def ProcessFlags(env, flags):
|
def ProcessFlags(env, flags):
|
||||||
if not flags:
|
if not flags:
|
||||||
return
|
return
|
||||||
|
if isinstance(flags, list):
|
||||||
|
flags = " ".join(flags)
|
||||||
parsed_flags = env.ParseFlags(str(flags))
|
parsed_flags = env.ParseFlags(str(flags))
|
||||||
for flag in parsed_flags.pop("CPPDEFINES"):
|
for flag in parsed_flags.pop("CPPDEFINES"):
|
||||||
if not isinstance(flag, list):
|
if not isinstance(flag, list):
|
||||||
@ -148,14 +150,16 @@ def ProcessFlags(env, flags):
|
|||||||
def ProcessUnFlags(env, flags):
|
def ProcessUnFlags(env, flags):
|
||||||
if not flags:
|
if not flags:
|
||||||
return
|
return
|
||||||
parsed_flags = env.ParseFlags(flags)
|
if isinstance(flags, list):
|
||||||
|
flags = " ".join(flags)
|
||||||
|
parsed_flags = env.ParseFlags(str(flags))
|
||||||
all_flags = []
|
all_flags = []
|
||||||
for items in parsed_flags.values():
|
for items in parsed_flags.values():
|
||||||
all_flags.extend(items)
|
all_flags.extend(items)
|
||||||
all_flags = set(all_flags)
|
all_flags = set(all_flags)
|
||||||
|
|
||||||
for key in parsed_flags:
|
for key in parsed_flags:
|
||||||
cur_flags = set(env.get(key, []))
|
cur_flags = set(env.Flatten(env.get(key, [])))
|
||||||
for item in cur_flags & all_flags:
|
for item in cur_flags & all_flags:
|
||||||
while item in env[key]:
|
while item in env[key]:
|
||||||
env[key].remove(item)
|
env[key].remove(item)
|
||||||
|
@ -186,7 +186,7 @@ include paths and build them.
|
|||||||
|
|
||||||
See additional options for PlatformIO Library Dependency Finder `lib_*`:
|
See additional options for PlatformIO Library Dependency Finder `lib_*`:
|
||||||
|
|
||||||
http://docs.platformio.org/en/latest/projectconf.html#lib-install
|
http://docs.platformio.org/en/stable/projectconf.html#lib-install
|
||||||
|
|
||||||
""")
|
""")
|
||||||
|
|
||||||
@ -197,7 +197,7 @@ def init_ci_conf(project_dir):
|
|||||||
with open(join(project_dir, ".travis.yml"), "w") as f:
|
with open(join(project_dir, ".travis.yml"), "w") as f:
|
||||||
f.write("""# Continuous Integration (CI) is the practice, in software
|
f.write("""# Continuous Integration (CI) is the practice, in software
|
||||||
# engineering, of merging all developer working copies with a shared mainline
|
# engineering, of merging all developer working copies with a shared mainline
|
||||||
# several times a day < http://docs.platformio.org/en/latest/ci/index.html >
|
# several times a day < http://docs.platformio.org/en/stable/ci/index.html >
|
||||||
#
|
#
|
||||||
# Documentation:
|
# Documentation:
|
||||||
#
|
#
|
||||||
@ -205,10 +205,10 @@ def init_ci_conf(project_dir):
|
|||||||
# < https://docs.travis-ci.com/user/integration/platformio/ >
|
# < https://docs.travis-ci.com/user/integration/platformio/ >
|
||||||
#
|
#
|
||||||
# * PlatformIO integration with Travis CI
|
# * PlatformIO integration with Travis CI
|
||||||
# < http://docs.platformio.org/en/latest/ci/travis.html >
|
# < http://docs.platformio.org/en/stable/ci/travis.html >
|
||||||
#
|
#
|
||||||
# * User Guide for `platformio ci` command
|
# * User Guide for `platformio ci` command
|
||||||
# < http://docs.platformio.org/en/latest/userguide/cmd_ci.html >
|
# < http://docs.platformio.org/en/stable/userguide/cmd_ci.html >
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Please choice one of the following templates (proposed below) and uncomment
|
# Please choice one of the following templates (proposed below) and uncomment
|
||||||
|
@ -90,7 +90,7 @@ def lib_search(query, json_output, page, **filters):
|
|||||||
click.echo("For more examples and advanced search syntax, "
|
click.echo("For more examples and advanced search syntax, "
|
||||||
"please use documentation:")
|
"please use documentation:")
|
||||||
click.secho("http://docs.platformio.org"
|
click.secho("http://docs.platformio.org"
|
||||||
"/en/latest/userguide/lib/cmd_search.html\n", fg="cyan")
|
"/en/stable/userguide/lib/cmd_search.html\n", fg="cyan")
|
||||||
return
|
return
|
||||||
|
|
||||||
click.secho("Found %d libraries:\n" % result['total'],
|
click.secho("Found %d libraries:\n" % result['total'],
|
||||||
|
@ -61,6 +61,8 @@ if int(PYSERIAL_VERSION[0]) == 3:
|
|||||||
help="Set initial RTS line state")
|
help="Set initial RTS line state")
|
||||||
@click.option("--dtr", default=None, type=click.Choice(["0", "1"]),
|
@click.option("--dtr", default=None, type=click.Choice(["0", "1"]),
|
||||||
help="Set initial DTR line state")
|
help="Set initial DTR line state")
|
||||||
|
@click.option("--echo", is_flag=True,
|
||||||
|
help="Enable local echo, default=Off")
|
||||||
@click.option("--encoding", default="UTF-8",
|
@click.option("--encoding", default="UTF-8",
|
||||||
help="Set the encoding for the serial port (e.g. hexlify, "
|
help="Set the encoding for the serial port (e.g. hexlify, "
|
||||||
"Latin1, UTF-8), default: UTF-8")
|
"Latin1, UTF-8), default: UTF-8")
|
||||||
|
@ -70,7 +70,7 @@ def cli():
|
|||||||
"PlatformIO has been successfully upgraded to %s" %
|
"PlatformIO has been successfully upgraded to %s" %
|
||||||
actual_version, fg="green")
|
actual_version, fg="green")
|
||||||
click.echo("Release notes: ", nl=False)
|
click.echo("Release notes: ", nl=False)
|
||||||
click.secho("http://docs.platformio.org/en/latest/history.html",
|
click.secho("http://docs.platformio.org/en/stable/history.html",
|
||||||
fg="cyan")
|
fg="cyan")
|
||||||
except Exception as e: # pylint: disable=W0703
|
except Exception as e: # pylint: disable=W0703
|
||||||
if not r:
|
if not r:
|
||||||
|
@ -191,7 +191,7 @@ class UpgradeError(PlatformioException):
|
|||||||
|
|
||||||
* Upgrade using `pip install -U platformio`
|
* Upgrade using `pip install -U platformio`
|
||||||
* Try different installation/upgrading steps:
|
* Try different installation/upgrading steps:
|
||||||
http://docs.platformio.org/en/latest/installation.html
|
http://docs.platformio.org/en/stable/installation.html
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
@ -217,7 +217,7 @@ def check_platformio_upgrade():
|
|||||||
click.secho("pip install -U platformio", fg="cyan", nl=False)
|
click.secho("pip install -U platformio", fg="cyan", nl=False)
|
||||||
click.secho("` command.", fg="yellow")
|
click.secho("` command.", fg="yellow")
|
||||||
click.secho("Changes: ", fg="yellow", nl=False)
|
click.secho("Changes: ", fg="yellow", nl=False)
|
||||||
click.secho("http://docs.platformio.org/en/latest/history.html",
|
click.secho("http://docs.platformio.org/en/stable/history.html",
|
||||||
fg="cyan")
|
fg="cyan")
|
||||||
click.echo("*" * terminal_width)
|
click.echo("*" * terminal_width)
|
||||||
click.echo("")
|
click.echo("")
|
||||||
|
@ -181,6 +181,9 @@ PLATFORM_PACKAGES = {
|
|||||||
],
|
],
|
||||||
"tool-arduino101load": [
|
"tool-arduino101load": [
|
||||||
("Genuino101 uploader", "https://github.com/01org/intel-arduino-tools")
|
("Genuino101 uploader", "https://github.com/01org/intel-arduino-tools")
|
||||||
|
],
|
||||||
|
"tool-sreccat": [
|
||||||
|
("Merging tool", "https://github.com/marcows/SRecord")
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,6 +43,10 @@ class Nordicnrf51Platform(BasePlatform):
|
|||||||
"alias": "framework"
|
"alias": "framework"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"tool-sreccat": {
|
||||||
|
"default": True
|
||||||
|
},
|
||||||
|
|
||||||
"tool-rfdloader": {
|
"tool-rfdloader": {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Project Configuration File
|
# PlatformIO Project Configuration File
|
||||||
#
|
#
|
||||||
# A detailed documentation with the EXAMPLES is located here:
|
# Please make sure to read documentation with examples first
|
||||||
# http://docs.platformio.org/en/latest/projectconf.html
|
# 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
|
|
@ -224,7 +224,7 @@ def get_pioenvs_dir():
|
|||||||
with open(dontmod_path, "w") as fp:
|
with open(dontmod_path, "w") as fp:
|
||||||
fp.write("""
|
fp.write("""
|
||||||
[InternetShortcut]
|
[InternetShortcut]
|
||||||
URL=http://docs.platformio.org/en/latest/projectconf.html#envs-dir
|
URL=http://docs.platformio.org/en/stable/projectconf.html#envs-dir
|
||||||
""")
|
""")
|
||||||
return path
|
return path
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ SUBSYSTEMS=="usb", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="066
|
|||||||
KERNEL=="ttyACM*", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
|
KERNEL=="ttyACM*", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||||
|
|
||||||
# STM32 discovery boards, with onboard st/linkv2
|
# STM32 discovery boards, with onboard st/linkv2
|
||||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", MODE:="0666"
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374?", MODE:="0666"
|
||||||
|
|
||||||
# USBtiny
|
# USBtiny
|
||||||
SUBSYSTEMS=="usb", ATTRS{idProduct}=="0c9f", ATTRS{idVendor}=="1781", MODE="0666"
|
SUBSYSTEMS=="usb", ATTRS{idProduct}=="0c9f", ATTRS{idVendor}=="1781", MODE="0666"
|
||||||
|
Reference in New Issue
Block a user