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
|
||||
--------------
|
||||
|
||||
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)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
4
docs/_static/extra.css
vendored
4
docs/_static/extra.css
vendored
@ -35,10 +35,10 @@ nav {
|
||||
display: block !important;
|
||||
}
|
||||
body {
|
||||
padding-top: 100px;
|
||||
padding-top: 50px;
|
||||
}
|
||||
.wy-nav-side {
|
||||
top: 100px;
|
||||
top: 50px;
|
||||
}
|
||||
|
||||
.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 <https://atom.io>`_ is the missing integrated
|
||||
development environment which provides comprehensive facilities
|
||||
for IoT development:
|
||||
PlatformIO IDE is the next generation integrated development environment for IoT:
|
||||
|
||||
* Cross-platform builder without external dependencies to the system
|
||||
* Cross-platform code builder without external dependencies to the system
|
||||
software:
|
||||
|
||||
- 200+ embedded boards
|
||||
@ -26,48 +24,41 @@ for IoT development:
|
||||
- 10+ frameworks
|
||||
|
||||
* 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
|
||||
* 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,
|
||||
yet hackable to the core—a tool you can customize to do anything but also use
|
||||
productively without ever touching a config file.
|
||||
PlatformIO IDE is based on GitHub's `Atom <https://atom.io>`_ source
|
||||
code editor that's modern, approachable, yet hackable to the core; a tool you
|
||||
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::
|
||||
|
||||
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
|
||||
------------
|
||||
|
||||
: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**
|
||||
should install it manually. Please `Download the latest Python 2.7.x <https://www.python.org/downloads/>`_
|
||||
and install it. **DON'T FORGET** to select ``Add python.exe to Path`` feature on the
|
||||
"Customize" stage, otherwise ``python`` command will not be available.
|
||||
- `Download for Mac <https://atom.io/download/mac>`_
|
||||
- `Download for Windows <https://atom.io/download/windows>`_
|
||||
- `Download .deb <https://atom.io/download/deb>`_
|
||||
- `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
|
||||
using:
|
||||
- **Mac OS X**: ``Menu: Atom > Preferences > Install``
|
||||
- **Windows**: ``Menu: File > Settings > Install``
|
||||
- **Linux**: ``Menu: Edit > Preferences > Install``
|
||||
|
||||
- **Mac OS X**: ``Menu: Atom > Preferences > Install``
|
||||
- **Windows**: ``Menu: File > Settings > Install``
|
||||
- **Linux**: ``Menu: Edit > Preferences > Install``
|
||||
.. image:: ../_static/ide-atom-platformio-install.png
|
||||
|
||||
User Guide
|
||||
----------
|
||||
@ -83,8 +74,58 @@ new menu item named ``Menu: PlatformIO`` (after ``Menu: Help`` item).
|
||||
|
||||
.. 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-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>`_.
|
||||
|
||||
.. warning::
|
||||
The libraries which are added, installed or used in the project
|
||||
after initializing process will not be reflected in code completion. To fix
|
||||
it you need to reinitialize project using ``Menu: PlatformIO > Initialize new Project (or update existing)``.
|
||||
The libraries which are added/installed after initializing process will
|
||||
not be reflected in code linter. You need ``Menu: PlatformIO >
|
||||
Rebuild C/C++ Project Index (Autocomplete, Linter)``.
|
||||
|
||||
Code linter
|
||||
~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE uses PlatformIO's pre-built GCC toolchains for code linting. You
|
||||
can customize it in ``.gcc-flags.json`` which will be generated for the selected
|
||||
board in the project directory using
|
||||
PlatformIO IDE uses PlatformIO's pre-built GCC toolchains for code linting. The
|
||||
settings for Linter are located in ``.gcc-flags.json``. This file will be
|
||||
automatically created and preconfigured when you initialize project using
|
||||
``Menu: PlatformIO > Initialize new Project (or update existing)``.
|
||||
|
||||
.. warning::
|
||||
The libraries which are added, installed or used in the project
|
||||
after initializing process will not be reflected in code linter. To fix
|
||||
it you need to reinitialize project using ``Menu: PlatformIO > Initialize new Project (or update existing)``.
|
||||
The libraries which are added/installed after initializing process will
|
||||
not be reflected in code linter. You need ``Menu: PlatformIO >
|
||||
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
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To install ``platformio`` and ``pio`` shell commands please use ``Menu:
|
||||
PlatformIO > Install Shell Commands``. It will allow you to call PlatformIO from
|
||||
other process, terminals 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).
|
||||
other process, terminal and etc.
|
||||
|
||||
Known issues
|
||||
~~~~~~~~~~~~
|
||||
|
@ -35,7 +35,6 @@ This command will create:
|
||||
* :ref:`projectconf`
|
||||
* ``src`` - a source directory. Put your source files here
|
||||
* ``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
|
||||
with :ref:`ci_travis`
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
import sys
|
||||
|
||||
VERSION = (2, 8, 2)
|
||||
VERSION = (2, 8, 3)
|
||||
__version__ = ".".join([str(s) for s in VERSION])
|
||||
|
||||
__title__ = "platformio"
|
||||
|
@ -116,8 +116,10 @@ def ConvertInoToCpp(env):
|
||||
def delete_tmpcpp_file(file_):
|
||||
try:
|
||||
remove(file_)
|
||||
except WindowsError: # pylint: disable=undefined-variable
|
||||
pass
|
||||
except: # pylint: disable=bare-except
|
||||
if isfile(file_):
|
||||
print ("Warning: Could not remove temporary file '%s'. "
|
||||
"Please remove it manually." % file_)
|
||||
|
||||
ino_nodes = (env.Glob(join("$PROJECTSRC_DIR", "*.ino")) +
|
||||
env.Glob(join("$PROJECTSRC_DIR", "*.pde")))
|
||||
@ -214,6 +216,9 @@ def DumpIDEData(env):
|
||||
return {
|
||||
"defines": get_defines(),
|
||||
"includes": get_includes(),
|
||||
"cc_flags": env.subst("$SHCFLAGS $SHCCFLAGS $CPPFLAGS $_CPPDEFFLAGS"),
|
||||
"cxx_flags": env.subst(
|
||||
"$SHCXXFLAGS $SHCCFLAGS $CPPFLAGS $_CPPDEFFLAGS"),
|
||||
"cxx_path": where_is_program(
|
||||
env.subst("$CXX"), env.subst("${ENV['PATH']}"))
|
||||
}
|
||||
|
@ -185,7 +185,7 @@ def BuildFrameworks(env, frameworks):
|
||||
if not frameworks or "uploadlazy" in COMMAND_LINE_TARGETS:
|
||||
return
|
||||
|
||||
board_frameworks = env.get("BOARD_OPTIONS", {}).get("frameworks")
|
||||
board_frameworks = env.get("BOARD_OPTIONS", {}).get("frameworks", [])
|
||||
if frameworks == ["platformio"]:
|
||||
if board_frameworks:
|
||||
frameworks.insert(0, board_frameworks[0])
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"execPath": "{{ cxx_path.replace("\\", "/") }}",
|
||||
"gccDefaultCFlags": "-Wall -Wno-cpp -fsyntax-only -D{{ ' -D'.join(defines) }}",
|
||||
"gccDefaultCppFlags": "-Wall -Wno-cpp -fsyntax-only -D{{ ' -D'.join(defines) }}",
|
||||
"gccDefaultCFlags": "-fsyntax-only {{ cc_flags.replace(' -MMD ', ' ') }}",
|
||||
"gccDefaultCppFlags": "-fsyntax-only {{ cxx_flags.replace(' -MMD ', ' ') }}",
|
||||
"gccErrorLimit": 15,
|
||||
"gccIncludePaths": "{{ ','.join(includes).replace("\\", "/") }}",
|
||||
"gccSuppressWarnings": false
|
||||
|
@ -40,6 +40,10 @@ class AtmelsamPlatform(BasePlatform):
|
||||
"alias": "framework"
|
||||
},
|
||||
|
||||
"framework-mbed": {
|
||||
"alias": "framework"
|
||||
},
|
||||
|
||||
"tool-bossac": {
|
||||
"alias": "uploader"
|
||||
},
|
||||
|
Reference in New Issue
Block a user