forked from platformio/platformio-core
Merge branch 'release/v2.8.3'
This commit is contained in:
@ -4,6 +4,15 @@ Release Notes
|
|||||||
PlatformIO 2.0
|
PlatformIO 2.0
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
|
2.8.3 (2016-02-02)
|
||||||
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
* Better integration of PlatformIO Builder with PlatformIO IDE Linter
|
||||||
|
* Fixed issue with removing temporary file while converting ``*.ino`` to
|
||||||
|
``*.cpp``
|
||||||
|
* Fixed missing dependency (mbed framework) for Atmel SAM development platform
|
||||||
|
(`issue #487 <https://github.com/platformio/platformio/issues/487>`_)
|
||||||
|
|
||||||
2.8.2 (2016-01-29)
|
2.8.2 (2016-01-29)
|
||||||
~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
4
docs/_static/extra.css
vendored
4
docs/_static/extra.css
vendored
@ -35,10 +35,10 @@ nav {
|
|||||||
display: block !important;
|
display: block !important;
|
||||||
}
|
}
|
||||||
body {
|
body {
|
||||||
padding-top: 100px;
|
padding-top: 50px;
|
||||||
}
|
}
|
||||||
.wy-nav-side {
|
.wy-nav-side {
|
||||||
top: 100px;
|
top: 50px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
|
BIN
docs/_static/ide-atom-platformio-install.png
vendored
Normal file
BIN
docs/_static/ide-atom-platformio-install.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 240 KiB |
BIN
docs/_static/ide-atom-platformio-menu-item.png
vendored
BIN
docs/_static/ide-atom-platformio-menu-item.png
vendored
Binary file not shown.
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 175 KiB |
BIN
docs/_static/ide-atom-platformio-toolbar.png
vendored
Normal file
BIN
docs/_static/ide-atom-platformio-toolbar.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 43 KiB |
BIN
docs/_static/ide-atom-platformio.png
vendored
BIN
docs/_static/ide-atom-platformio.png
vendored
Binary file not shown.
Before Width: | Height: | Size: 619 KiB After Width: | Height: | Size: 645 KiB |
@ -14,11 +14,9 @@
|
|||||||
PlatformIO IDE for Atom
|
PlatformIO IDE for Atom
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
PlatformIO IDE for `Atom <https://atom.io>`_ is the missing integrated
|
PlatformIO IDE is the next generation integrated development environment for IoT:
|
||||||
development environment which provides comprehensive facilities
|
|
||||||
for IoT development:
|
|
||||||
|
|
||||||
* Cross-platform builder without external dependencies to the system
|
* Cross-platform code builder without external dependencies to the system
|
||||||
software:
|
software:
|
||||||
|
|
||||||
- 200+ embedded boards
|
- 200+ embedded boards
|
||||||
@ -26,48 +24,41 @@ for IoT development:
|
|||||||
- 10+ frameworks
|
- 10+ frameworks
|
||||||
|
|
||||||
* C/C++ Intelligent code completion
|
* C/C++ Intelligent code completion
|
||||||
* C/C++ Smart code linter
|
* C/C++ Smart code linter for super-fast coding
|
||||||
* Library Manager for the hundreds popular libraries
|
* Library Manager for the hundreds popular libraries
|
||||||
* Built-in Terminal with :ref:`PlatformIO CLI <userguide>` (``pio``, ``platformio``)
|
* Multi-projects workflow with multiple panes
|
||||||
|
* Multiple panes
|
||||||
|
* Themes support with dark and light colors
|
||||||
|
* Serial Port Monitor
|
||||||
|
* Built-in Terminal with :ref:`PlatformIO CLI <userguide>` tool (``pio``, ``platformio``)
|
||||||
|
|
||||||
Atom is a source code editor that's modern, approachable,
|
PlatformIO IDE is based on GitHub's `Atom <https://atom.io>`_ source
|
||||||
yet hackable to the core—a tool you can customize to do anything but also use
|
code editor that's modern, approachable, yet hackable to the core; a tool you
|
||||||
productively without ever touching a config file.
|
can customize to do anything but also use productively without ever touching a
|
||||||
|
config file.
|
||||||
|
|
||||||
.. warning::
|
|
||||||
|
|
||||||
PlatformIO IDE is **in beta testing**. Please report all issues to
|
|
||||||
`PlatformIO IDE issues tracker <https://github.com/platformio/platformio-atom-ide/issues>`_.
|
|
||||||
|
|
||||||
.. contents::
|
.. contents::
|
||||||
|
|
||||||
Requirements
|
|
||||||
------------
|
|
||||||
|
|
||||||
The only one requirement is `Python Interpreter <https://www.python.org>`_.
|
|
||||||
PlatformIO is written in Python and works on Mac OS X, Linux, Windows OS and
|
|
||||||
ARM-based credit-card sized computers (Raspberry Pi, BeagleBone, CubieBoard).
|
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
------------
|
------------
|
||||||
|
|
||||||
:Python:
|
1. Download and install Atom source code editor
|
||||||
|
|
||||||
Python is installed on Mac OS X and Linux OS by default. The only **Windows Users**
|
- `Download for Mac <https://atom.io/download/mac>`_
|
||||||
should install it manually. Please `Download the latest Python 2.7.x <https://www.python.org/downloads/>`_
|
- `Download for Windows <https://atom.io/download/windows>`_
|
||||||
and install it. **DON'T FORGET** to select ``Add python.exe to Path`` feature on the
|
- `Download .deb <https://atom.io/download/deb>`_
|
||||||
"Customize" stage, otherwise ``python`` command will not be available.
|
- `Download .rpm <https://atom.io/download/rpm>`_
|
||||||
|
- `Other platforms <https://github.com/atom/atom/releases/latest>`_
|
||||||
|
|
||||||
:Atom: Download and install `Atom <https://atom.io>`_ source code editor
|
|
||||||
|
|
||||||
:PlatformIO IDE:
|
2. Open Atom Package Manager and search for `platformio-ide <https://atom.io/packages/platformio-ide>`_
|
||||||
|
|
||||||
Install `platformio-ide <https://atom.io/packages/platformio-ide>`_ package
|
- **Mac OS X**: ``Menu: Atom > Preferences > Install``
|
||||||
using:
|
- **Windows**: ``Menu: File > Settings > Install``
|
||||||
|
- **Linux**: ``Menu: Edit > Preferences > Install``
|
||||||
|
|
||||||
- **Mac OS X**: ``Menu: Atom > Preferences > Install``
|
.. image:: ../_static/ide-atom-platformio-install.png
|
||||||
- **Windows**: ``Menu: File > Settings > Install``
|
|
||||||
- **Linux**: ``Menu: Edit > Preferences > Install``
|
|
||||||
|
|
||||||
User Guide
|
User Guide
|
||||||
----------
|
----------
|
||||||
@ -83,8 +74,58 @@ new menu item named ``Menu: PlatformIO`` (after ``Menu: Help`` item).
|
|||||||
|
|
||||||
.. image:: ../_static/ide-atom-platformio-menu-item.png
|
.. image:: ../_static/ide-atom-platformio-menu-item.png
|
||||||
|
|
||||||
Building / Uploading / etc.
|
PlatformIO Toolbar
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
||||||
|
PlatformIO IDE Toolbar contains the quick access button to the popular commands.
|
||||||
|
Each button contains hint (delay mouse on it).
|
||||||
|
|
||||||
|
.. image:: ../_static/ide-atom-platformio-toolbar.png
|
||||||
|
|
||||||
|
* PlatformIO: Build
|
||||||
|
* PlatformIO: Upload
|
||||||
|
* PlatformIO: Clean
|
||||||
|
* Toggle build panel
|
||||||
|
* ||
|
||||||
|
* New File
|
||||||
|
* Add/Open Project Folder...
|
||||||
|
* Find in Project...
|
||||||
|
* ||
|
||||||
|
* Terminal
|
||||||
|
* Serial Ports
|
||||||
|
* Serial Monitor
|
||||||
|
* ||
|
||||||
|
* Settings
|
||||||
|
* PlatformIO Documentation
|
||||||
|
|
||||||
|
.. _ide_atom_quickstart:
|
||||||
|
|
||||||
|
Quickstart
|
||||||
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
:Step 1:
|
||||||
|
|
||||||
|
Create empty directory for the future project. Add it to PlatformIO IDE
|
||||||
|
using (folder) button on the Toolbar or ``Menu: File > Add Project
|
||||||
|
Folder...``
|
||||||
|
|
||||||
|
:Step 2:
|
||||||
|
|
||||||
|
Initialize new PlatformIO based project using ``Menu: PlatformIO >
|
||||||
|
Initialize new Project (or update existing)`` and select boards.
|
||||||
|
Put your source code ``*.h, *.c, *.cpp, *.S, *.ino, etc``. files to ``src``
|
||||||
|
directory.
|
||||||
|
|
||||||
|
:Step 3:
|
||||||
|
|
||||||
|
Process the project environments. More details :ref:`ide_atom_building_targets`.
|
||||||
|
|
||||||
|
|
||||||
|
.. _ide_atom_building_targets:
|
||||||
|
|
||||||
|
Building / Uploading / Targets
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
* ``cmd-alt-b`` / ``ctrl-alt-b`` / ``f9`` builds project without auto-uploading.
|
* ``cmd-alt-b`` / ``ctrl-alt-b`` / ``f9`` builds project without auto-uploading.
|
||||||
* ``cmd-alt-u`` / ``ctrl-alt-u`` builds and uploads (if no errors).
|
* ``cmd-alt-u`` / ``ctrl-alt-u`` builds and uploads (if no errors).
|
||||||
@ -113,39 +154,35 @@ Terminal and run ``clang --version``. If ``clang`` is not installed, then instal
|
|||||||
- **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>`_.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
The libraries which are added, installed or used in the project
|
The libraries which are added/installed after initializing process will
|
||||||
after initializing process will not be reflected in code completion. To fix
|
not be reflected in code linter. You need ``Menu: PlatformIO >
|
||||||
it you need to reinitialize project using ``Menu: PlatformIO > Initialize new Project (or update existing)``.
|
Rebuild C/C++ Project Index (Autocomplete, Linter)``.
|
||||||
|
|
||||||
Code linter
|
Code linter
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
PlatformIO IDE uses PlatformIO's pre-built GCC toolchains for code linting. You
|
PlatformIO IDE uses PlatformIO's pre-built GCC toolchains for code linting. The
|
||||||
can customize it in ``.gcc-flags.json`` which will be generated for the selected
|
settings for Linter are located in ``.gcc-flags.json``. This file will be
|
||||||
board in the project directory using
|
automatically created and preconfigured when you initialize project using
|
||||||
``Menu: PlatformIO > Initialize new Project (or update existing)``.
|
``Menu: PlatformIO > Initialize new Project (or update existing)``.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
The libraries which are added, installed or used in the project
|
The libraries which are added/installed after initializing process will
|
||||||
after initializing process will not be reflected in code linter. To fix
|
not be reflected in code linter. You need ``Menu: PlatformIO >
|
||||||
it you need to reinitialize project using ``Menu: PlatformIO > Initialize new Project (or update existing)``.
|
Rebuild C/C++ Project Index (Autocomplete, Linter)``.
|
||||||
|
|
||||||
|
|
||||||
|
.. error::
|
||||||
|
If you have error like ``linter-gcc: Executable not found`` and
|
||||||
|
``"***/.platformio/packages/toolchain-atmelavr/bin/avr-g++" not found``
|
||||||
|
please ``Menu: PlatformIO > Initialize new Project (or update existing)``.
|
||||||
|
|
||||||
Install Shell Commands
|
Install Shell Commands
|
||||||
~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
To install ``platformio`` and ``pio`` shell commands please use ``Menu:
|
To install ``platformio`` and ``pio`` shell commands please use ``Menu:
|
||||||
PlatformIO > Install Shell Commands``. It will allow you to call PlatformIO from
|
PlatformIO > Install Shell Commands``. It will allow you to call PlatformIO from
|
||||||
other process, terminals and etc.
|
other process, terminal and etc.
|
||||||
|
|
||||||
Serial Monitor
|
|
||||||
~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Serial Monitor was temporary disabled in PlatformIO IDE 0.2.1. See
|
|
||||||
`issue #17 <https://github.com/platformio/platformio-atom-ide/issues/17>`_.
|
|
||||||
|
|
||||||
Temporary solution is to ``Menu: PlatformIO > Install Shell Commands`` and use
|
|
||||||
:ref:`cmd_serialports_monitor` from system Terminal application (not built-in in
|
|
||||||
PlatformIO IDE).
|
|
||||||
|
|
||||||
Known issues
|
Known issues
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
|
@ -35,7 +35,6 @@ This command will create:
|
|||||||
* :ref:`projectconf`
|
* :ref:`projectconf`
|
||||||
* ``src`` - a source directory. Put your source files here
|
* ``src`` - a source directory. Put your source files here
|
||||||
* ``lib`` - a directory for the project specific (private) libraries.
|
* ``lib`` - a directory for the project specific (private) libraries.
|
||||||
PlatformIO will compile them to static libraries and link to executable file
|
|
||||||
* ``.travis.yml`` configuration file (template) for Continuous Integration
|
* ``.travis.yml`` configuration file (template) for Continuous Integration
|
||||||
with :ref:`ci_travis`
|
with :ref:`ci_travis`
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
VERSION = (2, 8, 2)
|
VERSION = (2, 8, 3)
|
||||||
__version__ = ".".join([str(s) for s in VERSION])
|
__version__ = ".".join([str(s) for s in VERSION])
|
||||||
|
|
||||||
__title__ = "platformio"
|
__title__ = "platformio"
|
||||||
|
@ -116,8 +116,10 @@ def ConvertInoToCpp(env):
|
|||||||
def delete_tmpcpp_file(file_):
|
def delete_tmpcpp_file(file_):
|
||||||
try:
|
try:
|
||||||
remove(file_)
|
remove(file_)
|
||||||
except WindowsError: # pylint: disable=undefined-variable
|
except: # pylint: disable=bare-except
|
||||||
pass
|
if isfile(file_):
|
||||||
|
print ("Warning: Could not remove temporary file '%s'. "
|
||||||
|
"Please remove it manually." % file_)
|
||||||
|
|
||||||
ino_nodes = (env.Glob(join("$PROJECTSRC_DIR", "*.ino")) +
|
ino_nodes = (env.Glob(join("$PROJECTSRC_DIR", "*.ino")) +
|
||||||
env.Glob(join("$PROJECTSRC_DIR", "*.pde")))
|
env.Glob(join("$PROJECTSRC_DIR", "*.pde")))
|
||||||
@ -214,6 +216,9 @@ def DumpIDEData(env):
|
|||||||
return {
|
return {
|
||||||
"defines": get_defines(),
|
"defines": get_defines(),
|
||||||
"includes": get_includes(),
|
"includes": get_includes(),
|
||||||
|
"cc_flags": env.subst("$SHCFLAGS $SHCCFLAGS $CPPFLAGS $_CPPDEFFLAGS"),
|
||||||
|
"cxx_flags": env.subst(
|
||||||
|
"$SHCXXFLAGS $SHCCFLAGS $CPPFLAGS $_CPPDEFFLAGS"),
|
||||||
"cxx_path": where_is_program(
|
"cxx_path": where_is_program(
|
||||||
env.subst("$CXX"), env.subst("${ENV['PATH']}"))
|
env.subst("$CXX"), env.subst("${ENV['PATH']}"))
|
||||||
}
|
}
|
||||||
|
@ -185,7 +185,7 @@ def BuildFrameworks(env, frameworks):
|
|||||||
if not frameworks or "uploadlazy" in COMMAND_LINE_TARGETS:
|
if not frameworks or "uploadlazy" in COMMAND_LINE_TARGETS:
|
||||||
return
|
return
|
||||||
|
|
||||||
board_frameworks = env.get("BOARD_OPTIONS", {}).get("frameworks")
|
board_frameworks = env.get("BOARD_OPTIONS", {}).get("frameworks", [])
|
||||||
if frameworks == ["platformio"]:
|
if frameworks == ["platformio"]:
|
||||||
if board_frameworks:
|
if board_frameworks:
|
||||||
frameworks.insert(0, board_frameworks[0])
|
frameworks.insert(0, board_frameworks[0])
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"execPath": "{{ cxx_path.replace("\\", "/") }}",
|
"execPath": "{{ cxx_path.replace("\\", "/") }}",
|
||||||
"gccDefaultCFlags": "-Wall -Wno-cpp -fsyntax-only -D{{ ' -D'.join(defines) }}",
|
"gccDefaultCFlags": "-fsyntax-only {{ cc_flags.replace(' -MMD ', ' ') }}",
|
||||||
"gccDefaultCppFlags": "-Wall -Wno-cpp -fsyntax-only -D{{ ' -D'.join(defines) }}",
|
"gccDefaultCppFlags": "-fsyntax-only {{ cxx_flags.replace(' -MMD ', ' ') }}",
|
||||||
"gccErrorLimit": 15,
|
"gccErrorLimit": 15,
|
||||||
"gccIncludePaths": "{{ ','.join(includes).replace("\\", "/") }}",
|
"gccIncludePaths": "{{ ','.join(includes).replace("\\", "/") }}",
|
||||||
"gccSuppressWarnings": false
|
"gccSuppressWarnings": false
|
||||||
|
@ -40,6 +40,10 @@ class AtmelsamPlatform(BasePlatform):
|
|||||||
"alias": "framework"
|
"alias": "framework"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"framework-mbed": {
|
||||||
|
"alias": "framework"
|
||||||
|
},
|
||||||
|
|
||||||
"tool-bossac": {
|
"tool-bossac": {
|
||||||
"alias": "uploader"
|
"alias": "uploader"
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user