Merge branch 'release/v2.3.0'

This commit is contained in:
Ivan Kravets
2015-09-05 23:05:33 +03:00
151 changed files with 2378 additions and 1238 deletions

2
.gitignore vendored
View File

@ -3,7 +3,5 @@
.pioenvs .pioenvs
.tox .tox
.sconsign.dblite .sconsign.dblite
examples/ide-eclipse/.metadata
examples/ide-eclipse/RemoteSystemsTempFiles
docs/_build docs/_build
dist dist

View File

@ -1,3 +1,3 @@
[settings] [settings]
line_length=79 line_length=79
known_third_party=click,requests,serial,SCons,pytest,bottle known_third_party=bottle,click,lockfile,pytest,requests,serial,SCons

View File

@ -9,7 +9,7 @@ env:
- TOX_ENV=py27 - TOX_ENV=py27
install: install:
- pip install tox - pip install -U pip setuptools tox
script: script:
- tox -e $TOX_ENV - tox -e $TOX_ENV

View File

@ -1,8 +1,50 @@
Release History Release History
=============== ===============
PlatformIO 2.0
--------------
2.3.0 (2015-09-05)
~~~~~~~~~~~~~~~~~~
* Added
`native <http://docs.platformio.org/en/latest/platforms/native.html>`__,
`linux_arm <http://docs.platformio.org/en/latest/platforms/linux_arm.html>`__,
`linux_i686 <http://docs.platformio.org/en/latest/platforms/linux_i686.html>`__,
`linux_x86_64 <http://docs.platformio.org/en/latest/platforms/linux_x86_64.html>`__,
`windows_x86 <http://docs.platformio.org/en/latest/platforms/windows_x86.html>`__
development platforms
(`issue #263 <https://github.com/platformio/platformio/issues/263>`_)
* Added `PlatformIO Demo <http://docs.platformio.org/en/latest/demo.html>`_
page to documentation
* Simplified `installation <http://docs.platformio.org/en/latest/installation.html>`__
process of PlatformIO
(`issue #274 <https://github.com/platformio/platformio/issues/274>`_)
* Significantly improved `Project Generator <http://docs.platformio.org/en/latest/userguide/cmd_init.html#cmdoption-platformio-init--ide>`__ which allows to integrate with `the most popular
IDE <http://docs.platformio.org/en/latest/ide.html>`__
* Added short ``-h`` help option for PlatformIO and sub-commands
* Updated `mbed <http://docs.platformio.org/en/latest/frameworks/mbed.html>`__
framework
* Updated ``tool-teensy`` package for `Teensy <http://docs.platformio.org/en/latest/platforms/teensy.html>`__
platform
(`issue #268 <https://github.com/platformio/platformio/issues/268>`_)
* Added FAQ answer when `Program "platformio" not found in PATH <http://docs.platformio.org/en/latest/faq.html#faq-troubleshooting-pionotfoundinpath>`_
(`issue #272 <https://github.com/platformio/platformio/issues/272>`_)
* Generate "readme.txt" for project "lib" directory
(`issue #273 <https://github.com/platformio/platformio/issues/273>`_)
* Use toolchain's includes pattern ``include*`` for Project Generator
(`issue #277 <https://github.com/platformio/platformio/issues/277>`_)
* Added support for Adafruit Gemma board to
`atmelavr <http://docs.platformio.org/en/latest/platforms/atmelavr.html#boards>`__
platform
(`pull #256 <https://github.com/platformio/platformio/pull/256>`_)
* Fixed includes list for Windows OS when generating project for `Eclipse IDE <http://docs.platformio.org/en/latest/ide/eclipse.html>`__
(`issue #270 <https://github.com/platformio/platformio/issues/270>`_)
* Fixed ``AttributeError: 'module' object has no attribute 'packages'``
(`issue #252 <https://github.com/platformio/platformio/issues/252>`_)
2.2.2 (2015-07-30) 2.2.2 (2015-07-30)
------------------ ~~~~~~~~~~~~~~~~~~
* Integration with `Atom IDE <http://docs.platformio.org/en/latest/ide/atom.html>`__ * Integration with `Atom IDE <http://docs.platformio.org/en/latest/ide/atom.html>`__
* Support for off-line/unpublished/private libraries * Support for off-line/unpublished/private libraries
@ -18,7 +60,7 @@ Release History
(`issue #254 <https://github.com/platformio/platformio/issues/254>`_) (`issue #254 <https://github.com/platformio/platformio/issues/254>`_)
2.2.1 (2015-07-17) 2.2.1 (2015-07-17)
------------------ ~~~~~~~~~~~~~~~~~~
* Project generator for `CLion IDE <http://docs.platformio.org/en/latest/ide/clion.html>`__ * Project generator for `CLion IDE <http://docs.platformio.org/en/latest/ide/clion.html>`__
(`issue #132 <https://github.com/platformio/platformio/issues/132>`_) (`issue #132 <https://github.com/platformio/platformio/issues/132>`_)
@ -29,7 +71,7 @@ Release History
(`issue #248 <https://github.com/platformio/platformio/issues/248>`_) (`issue #248 <https://github.com/platformio/platformio/issues/248>`_)
2.2.0 (2015-07-01) 2.2.0 (2015-07-01)
------------------ ~~~~~~~~~~~~~~~~~~
* Allowed to exclude/include source files from build process using * Allowed to exclude/include source files from build process using
`src_filter <http://docs.platformio.org/en/latest/projectconf.html#src-filter>`__ `src_filter <http://docs.platformio.org/en/latest/projectconf.html#src-filter>`__
@ -60,12 +102,12 @@ Release History
(`issue #245 <https://github.com/platformio/platformio/issues/245>`_) (`issue #245 <https://github.com/platformio/platformio/issues/245>`_)
2.1.2 (2015-06-21) 2.1.2 (2015-06-21)
------------------ ~~~~~~~~~~~~~~~~~~
* Fixed broken link to SCons installer * Fixed broken link to SCons installer
2.1.1 (2015-06-09) 2.1.1 (2015-06-09)
------------------ ~~~~~~~~~~~~~~~~~~
* Automatically detect upload port using VID:PID board settings * Automatically detect upload port using VID:PID board settings
(`issue #231 <https://github.com/platformio/platformio/issues/231>`_) (`issue #231 <https://github.com/platformio/platformio/issues/231>`_)
@ -74,7 +116,7 @@ Release History
(`issue #229 <https://github.com/platformio/platformio/issues/229>`_) (`issue #229 <https://github.com/platformio/platformio/issues/229>`_)
2.1.0 (2015-06-03) 2.1.0 (2015-06-03)
------------------ ~~~~~~~~~~~~~~~~~~
* Added Silicon Labs EFM32 `siliconlabsefm32 <http://docs.platformio.org/en/latest/platforms/siliconlabsefm32.html>`_ * Added Silicon Labs EFM32 `siliconlabsefm32 <http://docs.platformio.org/en/latest/platforms/siliconlabsefm32.html>`_
development platform development platform
@ -93,12 +135,12 @@ Release History
(`issue #221 <https://github.com/platformio/platformio/issues/221>`_) (`issue #221 <https://github.com/platformio/platformio/issues/221>`_)
2.0.2 (2015-05-27) 2.0.2 (2015-05-27)
------------------ ~~~~~~~~~~~~~~~~~~
* Fixed libraries order for "Library Dependency Finder" under Linux OS * Fixed libraries order for "Library Dependency Finder" under Linux OS
2.0.1 (2015-05-27) 2.0.1 (2015-05-27)
------------------ ~~~~~~~~~~~~~~~~~~
* Handle new environment variable * Handle new environment variable
`PLATFORMIO_BUILD_FLAGS <http://docs.platformio.org/en/latest/envvars.html#platformio-build-flags>`_ `PLATFORMIO_BUILD_FLAGS <http://docs.platformio.org/en/latest/envvars.html#platformio-build-flags>`_
@ -119,7 +161,7 @@ Release History
(`issue #217 <https://github.com/platformio/platformio/issues/217>`_) (`issue #217 <https://github.com/platformio/platformio/issues/217>`_)
2.0.0 (2015-05-22) 2.0.0 (2015-05-22)
------------------ ~~~~~~~~~~~~~~~~~~
*Made in* `Paradise <https://twitter.com/ikravets/status/592356377185619969>`_ *Made in* `Paradise <https://twitter.com/ikravets/status/592356377185619969>`_
@ -166,8 +208,11 @@ Release History
* Fixed bug with creating copies of source files * Fixed bug with creating copies of source files
(`issue #177 <https://github.com/platformio/platformio/issues/177>`_) (`issue #177 <https://github.com/platformio/platformio/issues/177>`_)
PlatformIO 1.0
--------------
1.5.0 (2015-05-15) 1.5.0 (2015-05-15)
------------------ ~~~~~~~~~~~~~~~~~~
* Added support of `Framework mbed <http://platformio.org/#!/frameworks/mbed>`_ * Added support of `Framework mbed <http://platformio.org/#!/frameworks/mbed>`_
for Teensy 3.1 for Teensy 3.1
@ -190,7 +235,7 @@ Release History
(`issue #191 <https://github.com/platformio/platformio/issues/191>`_) (`issue #191 <https://github.com/platformio/platformio/issues/191>`_)
1.4.0 (2015-04-11) 1.4.0 (2015-04-11)
------------------ ~~~~~~~~~~~~~~~~~~
* Added `espressif <http://docs.platformio.org/en/latest/platforms/espressif.html>`_ * Added `espressif <http://docs.platformio.org/en/latest/platforms/espressif.html>`_
development platform with ESP01 board development platform with ESP01 board
@ -216,7 +261,7 @@ Release History
1.3.0 (2015-03-27) 1.3.0 (2015-03-27)
------------------ ~~~~~~~~~~~~~~~~~~
* Moved PlatformIO source code and repositories from `Ivan Kravets <https://github.com/ivankravets>`_ * Moved PlatformIO source code and repositories from `Ivan Kravets <https://github.com/ivankravets>`_
account to `PlatformIO Organisation <https://github.com/platformio>`_ account to `PlatformIO Organisation <https://github.com/platformio>`_
@ -237,7 +282,7 @@ Release History
1.2.0 (2015-03-20) 1.2.0 (2015-03-20)
------------------ ~~~~~~~~~~~~~~~~~~
* Added full support of `mbed <http://docs.platformio.org/en/latest/frameworks/mbed.html>`__ * Added full support of `mbed <http://docs.platformio.org/en/latest/frameworks/mbed.html>`__
framework including libraries: *RTOS, Ethernet, DSP, FAT, USB*. framework including libraries: *RTOS, Ethernet, DSP, FAT, USB*.
@ -269,7 +314,7 @@ Release History
(`issue #100 <https://github.com/platformio/platformio/issues/100>`_) (`issue #100 <https://github.com/platformio/platformio/issues/100>`_)
1.1.0 (2015-03-05) 1.1.0 (2015-03-05)
------------------ ~~~~~~~~~~~~~~~~~~
* Implemented ``PLATFORMIO_*`` environment variables * Implemented ``PLATFORMIO_*`` environment variables
(`issue #102 <https://github.com/platformio/platformio/issues/102>`_) (`issue #102 <https://github.com/platformio/platformio/issues/102>`_)
@ -287,7 +332,7 @@ Release History
* Fixed uploading for *Digispark* board (`issue #106 <https://github.com/platformio/platformio/issues/106>`_) * Fixed uploading for *Digispark* board (`issue #106 <https://github.com/platformio/platformio/issues/106>`_)
1.0.1 (2015-02-27) 1.0.1 (2015-02-27)
------------------ ~~~~~~~~~~~~~~~~~~
**PlatformIO 1.0 - recommended for production** **PlatformIO 1.0 - recommended for production**
@ -354,9 +399,11 @@ Release History
error (`issue #81 <https://github.com/platformio/platformio/issues/81>`_) error (`issue #81 <https://github.com/platformio/platformio/issues/81>`_)
* Several bug fixes, increased stability and performance improvements * Several bug fixes, increased stability and performance improvements
PlatformIO 0.0
--------------
0.10.2 (2015-01-06) 0.10.2 (2015-01-06)
------------------- ~~~~~~~~~~~~~~~~~~~
* Fixed an issue with ``--json-output`` * Fixed an issue with ``--json-output``
(`issue #42 <https://github.com/platformio/platformio/issues/42>`_) (`issue #42 <https://github.com/platformio/platformio/issues/42>`_)
@ -365,7 +412,7 @@ Release History
under Windows OS (`issue #45 <https://github.com/platformio/platformio/issues/45>`_) under Windows OS (`issue #45 <https://github.com/platformio/platformio/issues/45>`_)
0.10.1 (2015-01-02) 0.10.1 (2015-01-02)
------------------- ~~~~~~~~~~~~~~~~~~~
* Added ``--json-output`` option to * Added ``--json-output`` option to
`platformio list <http://docs.platformio.org/en/latest/userguide/cmd_list.html>`__, `platformio list <http://docs.platformio.org/en/latest/userguide/cmd_list.html>`__,
@ -377,7 +424,7 @@ Release History
command command
0.10.0 (2015-01-01) 0.10.0 (2015-01-01)
------------------- ~~~~~~~~~~~~~~~~~~~
**Happy New Year!** **Happy New Year!**
@ -400,7 +447,7 @@ Release History
* Fixed bug with *Arduino USB* boards (`issue #40 <https://github.com/platformio/platformio/issues/40>`_) * Fixed bug with *Arduino USB* boards (`issue #40 <https://github.com/platformio/platformio/issues/40>`_)
0.9.2 (2014-12-10) 0.9.2 (2014-12-10)
------------------ ~~~~~~~~~~~~~~~~~~
* Replaced "dark blue" by "cyan" colour for the texts (`issue #33 <https://github.com/platformio/platformio/issues/33>`_) * Replaced "dark blue" by "cyan" colour for the texts (`issue #33 <https://github.com/platformio/platformio/issues/33>`_)
* Added new setting `enable_prompts <http://docs.platformio.org/en/latest/userguide/cmd_settings.html>`_ * Added new setting `enable_prompts <http://docs.platformio.org/en/latest/userguide/cmd_settings.html>`_
@ -409,7 +456,7 @@ Release History
* Fixed compilation bug on *Windows* with installed *MSVC* (`issue #18 <https://github.com/platformio/platformio/issues/18>`_) * Fixed compilation bug on *Windows* with installed *MSVC* (`issue #18 <https://github.com/platformio/platformio/issues/18>`_)
0.9.1 (2014-12-05) 0.9.1 (2014-12-05)
------------------ ~~~~~~~~~~~~~~~~~~
* Ask user to install platform (when it hasn't been installed yet) within * Ask user to install platform (when it hasn't been installed yet) within
`platformio run <http://docs.platformio.org/en/latest/userguide/cmd_run.html>`__ `platformio run <http://docs.platformio.org/en/latest/userguide/cmd_run.html>`__
@ -418,13 +465,13 @@ Release History
* Fixed "*OSError: [Errno 2] No such file or directory*" within * Fixed "*OSError: [Errno 2] No such file or directory*" within
`platformio run <http://docs.platformio.org/en/latest/userguide/cmd_run.html>`__ `platformio run <http://docs.platformio.org/en/latest/userguide/cmd_run.html>`__
command when PlatformIO isn't installed properly command when PlatformIO isn't installed properly
* Fixed example for `Eclipse IDE with Tiva board <https://github.com/platformio/platformio/tree/develop/examples/ide-eclipse>`_ * Fixed example for `Eclipse IDE with Tiva board <https://github.com/platformio/platformio/tree/develop/examples/ide/eclipse>`_
(`issue #32 <https://github.com/platformio/platformio/pull/32>`_) (`issue #32 <https://github.com/platformio/platformio/pull/32>`_)
* Upgraded `Eclipse Project Examples <https://github.com/platformio/platformio/tree/develop/examples/ide-eclipse>`_ * Upgraded `Eclipse Project Examples <https://github.com/platformio/platformio/tree/develop/examples/ide/eclipse>`_
to latest *Luna* and *PlatformIO* releases to latest *Luna* and *PlatformIO* releases
0.9.0 (2014-12-01) 0.9.0 (2014-12-01)
------------------ ~~~~~~~~~~~~~~~~~~
* Implemented `platformio settings <http://docs.platformio.org/en/latest/userguide/cmd_settings.html>`_ command * Implemented `platformio settings <http://docs.platformio.org/en/latest/userguide/cmd_settings.html>`_ command
* Improved `platformio init <http://docs.platformio.org/en/latest/userguide/cmd_init.html>`_ command. * Improved `platformio init <http://docs.platformio.org/en/latest/userguide/cmd_init.html>`_ command.
@ -442,7 +489,7 @@ Release History
(`issue #28 <https://github.com/platformio/platformio/issues/28>`_) (`issue #28 <https://github.com/platformio/platformio/issues/28>`_)
0.8.0 (2014-10-19) 0.8.0 (2014-10-19)
------------------ ~~~~~~~~~~~~~~~~~~
* Avoided trademark issues in `library.json <http://docs.platformio.org/en/latest/librarymanager/config.html>`_ * Avoided trademark issues in `library.json <http://docs.platformio.org/en/latest/librarymanager/config.html>`_
with the new fields: `frameworks <http://docs.platformio.org/en/latest/librarymanager/config.html#frameworks>`_, with the new fields: `frameworks <http://docs.platformio.org/en/latest/librarymanager/config.html#frameworks>`_,
@ -459,7 +506,7 @@ Release History
command: ``--framework`` and ``--platform`` command: ``--framework`` and ``--platform``
0.7.1 (2014-10-06) 0.7.1 (2014-10-06)
------------------ ~~~~~~~~~~~~~~~~~~
* Fixed bug with order for includes in conversation from INO/PDE to CPP * Fixed bug with order for includes in conversation from INO/PDE to CPP
* Automatic detection of port on upload (`issue #15 <https://github.com/platformio/platformio/issues/15>`_) * Automatic detection of port on upload (`issue #15 <https://github.com/platformio/platformio/issues/15>`_)
@ -467,7 +514,7 @@ Release History
0.7.0 (2014-09-24) 0.7.0 (2014-09-24)
------------------ ~~~~~~~~~~~~~~~~~~
* Implemented new `[platformio] <http://docs.platformio.org/en/latest/projectconf.html#platformio>`_ * Implemented new `[platformio] <http://docs.platformio.org/en/latest/projectconf.html#platformio>`_
section for Configuration File with `home_dir <http://docs.platformio.org/en/latest/projectconf.html#home-dir>`_ section for Configuration File with `home_dir <http://docs.platformio.org/en/latest/projectconf.html#home-dir>`_
@ -475,14 +522,14 @@ Release History
* Implemented *Library Manager* (`issue #6 <https://github.com/platformio/platformio/issues/6>`_) * Implemented *Library Manager* (`issue #6 <https://github.com/platformio/platformio/issues/6>`_)
0.6.0 (2014-08-09) 0.6.0 (2014-08-09)
------------------ ~~~~~~~~~~~~~~~~~~
* Implemented `platformio serialports monitor <http://docs.platformio.org/en/latest/userguide/cmd_serialports.html#platformio-serialports-monitor>`_ (`issue #10 <https://github.com/platformio/platformio/issues/10>`_) * Implemented `platformio serialports monitor <http://docs.platformio.org/en/latest/userguide/cmd_serialports.html#platformio-serialports-monitor>`_ (`issue #10 <https://github.com/platformio/platformio/issues/10>`_)
* Fixed an issue ``ImportError: No module named platformio.util`` (`issue #9 <https://github.com/platformio/platformio/issues/9>`_) * Fixed an issue ``ImportError: No module named platformio.util`` (`issue #9 <https://github.com/platformio/platformio/issues/9>`_)
* Fixed bug with auto-conversation from Arduino \*.ino to \*.cpp * Fixed bug with auto-conversation from Arduino \*.ino to \*.cpp
0.5.0 (2014-08-04) 0.5.0 (2014-08-04)
------------------ ~~~~~~~~~~~~~~~~~~
* Improved nested lookups for libraries * Improved nested lookups for libraries
* Disabled default warning flag "-Wall" * Disabled default warning flag "-Wall"
@ -497,7 +544,7 @@ Release History
* Fixed a bug with nested libs building * Fixed a bug with nested libs building
0.4.0 (2014-07-31) 0.4.0 (2014-07-31)
------------------ ~~~~~~~~~~~~~~~~~~
* Implemented `platformio serialports <http://docs.platformio.org/en/latest/userguide/cmd_serialports.html>`_ command * Implemented `platformio serialports <http://docs.platformio.org/en/latest/userguide/cmd_serialports.html>`_ command
* Allowed to put special build flags only for ``src`` files via * Allowed to put special build flags only for ``src`` files via
@ -517,13 +564,13 @@ Release History
0.3.1 (2014-06-21) 0.3.1 (2014-06-21)
------------------ ~~~~~~~~~~~~~~~~~~
* Fixed auto-installer for Windows OS (bug with %PATH% customisations) * Fixed auto-installer for Windows OS (bug with %PATH% customisations)
0.3.0 (2014-06-21) 0.3.0 (2014-06-21)
------------------ ~~~~~~~~~~~~~~~~~~
* Allowed to pass multiple "SomePlatform" to install/uninstall commands * Allowed to pass multiple "SomePlatform" to install/uninstall commands
* Added "IDE Integration" section to README with Eclipse project examples * Added "IDE Integration" section to README with Eclipse project examples
@ -533,7 +580,7 @@ Release History
0.2.0 (2014-06-15) 0.2.0 (2014-06-15)
------------------ ~~~~~~~~~~~~~~~~~~
* Resolved `issue #1 "Build referred libraries" <https://github.com/platformio/platformio/issues/1>`_ * Resolved `issue #1 "Build referred libraries" <https://github.com/platformio/platformio/issues/1>`_
* Renamed project's "libs" directory to "lib" * Renamed project's "libs" directory to "lib"
@ -542,6 +589,6 @@ Release History
0.1.0 (2014-06-13) 0.1.0 (2014-06-13)
------------------ ~~~~~~~~~~~~~~~~~~
* Birth! First alpha release * Birth! First alpha release

View File

@ -10,29 +10,32 @@ PlatformIO
.. image:: https://circleci.com/gh/platformio/platformio/tree/develop.svg?style=svg .. image:: https://circleci.com/gh/platformio/platformio/tree/develop.svg?style=svg
:target: https://circleci.com/gh/platformio/platformio/tree/develop :target: https://circleci.com/gh/platformio/platformio/tree/develop
:alt: Circle.CI Build Status :alt: Circle.CI Build Status
.. image:: https://gemnasium.com/platformio/platformio.png .. image:: https://requires.io/github/platformio/platformio/requirements.svg?branch=develop
:target: https://gemnasium.com/platformio/platformio :target: https://requires.io/github/platformio/platformio/requirements/?branch=develop
:alt: Dependency Status :alt: Requirements Status
.. image:: https://img.shields.io/pypi/v/platformio.svg .. image:: https://img.shields.io/pypi/v/platformio.svg
:target: https://pypi.python.org/pypi/platformio/ :target: https://pypi.python.org/pypi/platformio/
:alt: Latest Version :alt: Latest Version
.. image:: https://img.shields.io/pypi/dm/platformio.svg
:target: https://pypi.python.org/pypi/platformio/
:alt: Downloads
.. image:: https://img.shields.io/pypi/l/platformio.svg .. image:: https://img.shields.io/pypi/l/platformio.svg
:target: https://pypi.python.org/pypi/platformio/ :target: https://pypi.python.org/pypi/platformio/
:alt: License :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/sourceforge/dm/platformio-storage.svg
:target: https://sourceforge.net/projects/platformio-storage/
:alt: Packages Downloads
.. image:: https://badges.gitter.im/Join%20Chat.svg .. image:: https://badges.gitter.im/Join%20Chat.svg
:alt: Join the chat at https://gitter.im/platformio/platformio :alt: Join the chat at https://gitter.im/platformio/platformio
:target: https://gitter.im/platformio/platformio :target: https://gitter.im/platformio/platformio
.. image:: https://www.openhub.net/p/platformio/widgets/project_thin_badge.gif
:target: https://www.openhub.net/p/platformio
`Website + Library Search <http://platformio.org>`_ | `Home & Demo <http://platformio.org>`_ |
`Documentation <http://docs.platformio.org>`_ |
`Project Examples <https://github.com/platformio/platformio/tree/develop/examples>`_ | `Project Examples <https://github.com/platformio/platformio/tree/develop/examples>`_ |
`Code <https://github.com/platformio/platformio>`_ |
`Documentation <http://docs.platformio.org>`_ ||
`Blog <http://www.ikravets.com/category/computer-life/platformio>`_ | `Blog <http://www.ikravets.com/category/computer-life/platformio>`_ |
`Reddit <http://www.reddit.com/r/platformio/>`_ | `Reddit <http://www.reddit.com/r/platformio/>`_ |
`Facebook <https://www.facebook.com/platformio>`_ |
`Twitter <https://twitter.com/PlatformIO_Org>`_ `Twitter <https://twitter.com/PlatformIO_Org>`_
.. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-logo.png .. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-logo.png
@ -46,6 +49,9 @@ Continuous integration, Arduino and MBED compatible).
Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed, Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed,
libOpenCM3, etc.* libOpenCM3, etc.*
.. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-demo-wiring.gif
:target: http://platformio.org
* `Get Started <http://platformio.org/#!/get-started>`_ * `Get Started <http://platformio.org/#!/get-started>`_
* `Web 2.0 Library Search <http://platformio.org/#!/lib>`_ * `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
* `Development Platforms <http://platformio.org/#!/platforms>`_ * `Development Platforms <http://platformio.org/#!/platforms>`_

View File

@ -9,12 +9,18 @@ environment:
PYTHON_HOME: "C:\\Python27-x64" PYTHON_HOME: "C:\\Python27-x64"
PYTHON_VERSION: "2.7" PYTHON_VERSION: "2.7"
PYTHON_ARCH: "64" PYTHON_ARCH: "64"
init: init:
- "ECHO %TOXENV%" - "ECHO %TOXENV%"
- ps: "ls C:\\Python*" - ps: "ls C:\\Python*"
install: install:
- "git submodule update --init --recursive" - "git submodule update --init --recursive"
- "powershell scripts\\appveyor\\install.ps1" - "powershell scripts\\appveyor\\install.ps1"
before_test:
- cmd: SET PATH=%PATH%;C:\MinGW\bin
test_script: test_script:
- "%PYTHON_HOME%\\Scripts\\tox --version" - "%PYTHON_HOME%\\Scripts\\tox --version"
- "%PYTHON_HOME%\\Scripts\\pip --version" - "%PYTHON_HOME%\\Scripts\\pip --version"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 292 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 192 KiB

BIN
docs/_static/platformio-demo-lib.gif vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 569 KiB

BIN
docs/_static/platformio-demo-wiring.gif vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

View File

@ -4,18 +4,31 @@ Articles about us
================= =================
.. note:: .. note::
If you've written article about PlatformIO and would like it listed on If you've written article about PlatformIO and would like it listed on
this page, `please edit this page <https://github.com/platformio/platformio/blob/develop/docs/articles.rst>`_. this page, `please edit this page <https://github.com/platformio/platformio/blob/develop/docs/articles.rst>`_.
Here are recent articles about PlatformIO: Here are recent articles about PlatformIO:
2015
^^^^
* 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>`_
* Aug 01, 2015 - **Russell Davis** - `PlatformIO on the Raspberry Pi <http://www.russelldavis.org/2015/08/01/platformio-on-the-raspberry-pi/>`_
* Jul 25, 2015 - **DinoTools** - `Erste Schritte mit PlatformIO (German) <https://www.dinotools.de/2015/07/25/erste-schritte-mit-platformio/>`_
* Jul 20, 2015 - **Eli Fatsi** - `Arduino Development in Atom Editor <http://viget.com/extend/arduino-development-in-atom-editor>`_ * Jul 20, 2015 - **Eli Fatsi** - `Arduino Development in Atom Editor <http://viget.com/extend/arduino-development-in-atom-editor>`_
* Jul 14, 2015 - **ElbinarIO** - `Programar para Arduino y otros microcontroladores desde la linea de comandos (Spanish) <http://elbinario.net/2015/07/14/programar-para-arduino-y-otros-microcontroladores-desde-la-linea-de-comandos/>`_
* Jul 11, 2015 - **TrojanC** - `Learning Arduino GitHub Repository <http://www.trojanc.co.za/2015/07/11/learning-arduino-github-repository/>`_
* Jun 02, 2015 - **Alejandro Guirao Rodriguez** - `Discovering PlatformIO: The RaspberryPi / Arduino combo kit is a winner option when prototyping an IoT-style project <http://lekum.org/posts/discovering-platformio.html>`_ * Jun 02, 2015 - **Alejandro Guirao Rodriguez** - `Discovering PlatformIO: The RaspberryPi / Arduino combo kit is a winner option when prototyping an IoT-style project <http://lekum.org/posts/discovering-platformio.html>`_
* May 11, 2015 - **IT Hare** - `From Web Developer to Embedded One: Interview with Ivan Kravets, The Guy Behind PlatformIO. Part II <http://ithare.com/from-web-developer-to-embedded-one-interview-with-ivan-kravets-the-guy-behind-platformio-part-ii/>`_ * May 11, 2015 - **IT Hare** - `From Web Developer to Embedded One: Interview with Ivan Kravets, The Guy Behind PlatformIO. Part II <http://ithare.com/from-web-developer-to-embedded-one-interview-with-ivan-kravets-the-guy-behind-platformio-part-ii/>`_
* May 4, 2015 - **IT Hare** - `From Web Developer to Embedded One: Interview with Ivan Kravets, The Guy Behind PlatformIO. Part I <http://ithare.com/from-web-development-to-embedded-one-interview-with-ivan-kravets-the-guy-behind-platformio-part-i/>`_ * May 4, 2015 - **IT Hare** - `From Web Developer to Embedded One: Interview with Ivan Kravets, The Guy Behind PlatformIO. Part I <http://ithare.com/from-web-development-to-embedded-one-interview-with-ivan-kravets-the-guy-behind-platformio-part-i/>`_
* April 17, 2015 - **Michael Ball** - `PlatformIO - A Cross-Platform Code Builder and Missing Library Manager <http://arduino-pi.blogspot.com.es/2015/04/platformio-cross-platform-code-builder.html>`_ * April 17, 2015 - **Michael Ball** - `PlatformIO - A Cross-Platform Code Builder and Missing Library Manager <http://arduino-pi.blogspot.com.es/2015/04/platformio-cross-platform-code-builder.html>`_
* March 23, 2015 - **Atmel** - `Cross-board and cross-vendor embedded development with PlatformIO <http://blog.atmel.com/2015/03/23/cross-board-and-cross-vendor-embedded-development-with-platformio/>`_ * March 23, 2015 - **Atmel** - `Cross-board and cross-vendor embedded development with PlatformIO <http://blog.atmel.com/2015/03/23/cross-board-and-cross-vendor-embedded-development-with-platformio/>`_
* March 22, 2015 - **Mark VandeWettering** - `Discovered a new tool for embedded development: PlatformIO <http://brainwagon.org/2015/03/22/discovered-a-new-tool-for-embedded-development-platformio/>`_ * March 22, 2015 - **Mark VandeWettering** - `Discovered a new tool for embedded development: PlatformIO <http://brainwagon.org/2015/03/22/discovered-a-new-tool-for-embedded-development-platformio/>`_
* October 7, 2014 - **Ivan Kravets** - `Integration of PlatformIO library manager to Arduino and Energia IDEs <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_ * February 25, 2015 - **Hendrik Putzek** - `Use your favourite IDE together with Arduino <http://blog.putzek.com/2015/02/your-favourite-ide-with-arduino.html>`_
* June 20, 2014 - **Ivan Kravets** - `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>`_
* June 17, 2014 - **Ivan Kravets** - `How was PlatformIO born or why I love Python World <http://www.ikravets.com/computer-life/programming/2014/06/17/how-was-platformio-born-or-why-i-love-python-world>`_ 2014
^^^^
* October 7, 2014 - **Ivan Kravets, Ph.D.** - `Integration of PlatformIO library manager to Arduino and Energia IDEs <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_
* 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>`_
* June 17, 2014 - **Ivan Kravets, Ph.D.** - `How was PlatformIO born or why I love Python World <http://www.ikravets.com/computer-life/programming/2014/06/17/how-was-platformio-born-or-why-i-love-python-world>`_

View File

@ -113,17 +113,12 @@ same for the all projects, don't need to modify them):
function InstallPip ($python_home) { function InstallPip ($python_home) {
$pip_path = $python_home + "/Scripts/pip.exe"
$python_path = $python_home + "/python.exe" $python_path = $python_home + "/python.exe"
if (-not(Test-Path $pip_path)) { Write-Host "Installing pip..."
Write-Host "Installing pip..." $webclient = New-Object System.Net.WebClient
$webclient = New-Object System.Net.WebClient $webclient.DownloadFile($GET_PIP_URL, $GET_PIP_PATH)
$webclient.DownloadFile($GET_PIP_URL, $GET_PIP_PATH) Write-Host "Executing:" $python_path $GET_PIP_PATH
Write-Host "Executing:" $python_path $GET_PIP_PATH Start-Process -FilePath "$python_path" -ArgumentList "$GET_PIP_PATH" -Wait -Passthru
Start-Process -FilePath "$python_path" -ArgumentList "$GET_PIP_PATH" -Wait -Passthru
} else {
Write-Host "pip already installed."
}
} }
function InstallPackage ($python_home, $pkg) { function InstallPackage ($python_home, $pkg) {
@ -131,19 +126,11 @@ same for the all projects, don't need to modify them):
& $pip_path install -U $pkg & $pip_path install -U $pkg
} }
function InstallScons ($python_home) {
Write-Host "Start installing Scons"
$pip_path = $python_home + "/Scripts/pip.exe"
& $pip_path install --egg "http://dl.platformio.org/scons.zip"
Write-Host "Scons installed"
}
function main () { function main () {
InstallPython $env:PYTHON_VERSION $env:PYTHON_ARCH $env:PYTHON_HOME InstallPython $env:PYTHON_VERSION $env:PYTHON_ARCH $env:PYTHON_HOME
InstallPip $env:PYTHON_HOME InstallPip $env:PYTHON_HOME
InstallPackage $env:PYTHON_HOME setuptools InstallPackage $env:PYTHON_HOME setuptools
InstallPackage $env:PYTHON_HOME platformio InstallPackage $env:PYTHON_HOME platformio
InstallScons $env:PYTHON_HOME
} }
main main

50
docs/demo.rst Normal file
View File

@ -0,0 +1,50 @@
.. _demo:
Demo
====
.. contents::
Wiring Blink
------------
.. image:: _static/platformio-demo-wiring.gif
Used in demo
~~~~~~~~~~~~
1. Source code of `Wiring Blink Example <https://github.com/platformio/platformio/tree/develop/examples/wiring-blink>`_
2. :ref:`cmd_run` command
3. :ref:`platformio run -t upload <cmd_run>` command.
Platform Manager
----------------
.. image:: _static/platformio-demo-platforms.gif
Used in demo
~~~~~~~~~~~~
1. :ref:`userguide_platforms`
2. :ref:`cmd_platforms_list` command
3. :ref:`platformio platforms search avr <cmd_platforms_search>` command
4. :ref:`platformio platforms show teensy <cmd_platforms_show>` command
5. :ref:`cmd_platforms_update` command.
Library Manager
---------------
.. image:: _static/platformio-demo-lib.gif
Used in demo
~~~~~~~~~~~~
1. :ref:`userguide_lib`
2. :ref:`platformio lib search 1-wire <cmd_lib_search>` command
3. :ref:`platformio lib install 54 <cmd_lib_install>` command
4. :ref:`platformio lib search -f mbed <cmd_lib_search>` command
5. :ref:`platformio lib search -k rf <cmd_lib_search>` command
6. :ref:`platformio lib search radiohead <cmd_lib_search>` command
7. :ref:`platformio lib install 124 --version "1.40" <cmd_lib_install>` command
8. :ref:`platformio lib show 124 <cmd_lib_show>` command
9. :ref:`cmd_lib_update` command.

View File

@ -18,10 +18,7 @@ General
PlatformIO uses *General* environment variables for the common PlatformIO uses *General* environment variables for the common
operations/commands. operations/commands.
.. _envvar_CI: .. envvar:: CI
CI
~~
PlatformIO handles ``CI`` variable which is setup by PlatformIO handles ``CI`` variable which is setup by
`Continuous Integration <http://en.wikipedia.org/wiki/Continuous_integration>`_ `Continuous Integration <http://en.wikipedia.org/wiki/Continuous_integration>`_
@ -29,33 +26,21 @@ PlatformIO handles ``CI`` variable which is setup by
Currently, PlatformIO uses it to disable prompts. Currently, PlatformIO uses it to disable prompts.
In other words, ``CI=true`` automatically setup In other words, ``CI=true`` automatically setup
:ref:`PLATFORMIO_SETTING_ENABLE_PROMPTS=false <envvar_PLATFORMIO_SETTING_ENABLE_PROMPTS>`. :envvar:`PLATFORMIO_SETTING_ENABLE_PROMPTS=false <PLATFORMIO_SETTING_ENABLE_PROMPTS>`.
.. _envvar_PLATFORMIO_HOME_DIR: .. envvar:: PLATFORMIO_HOME_DIR
PLATFORMIO_HOME_DIR
~~~~~~~~~~~~~~~~~~~
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_home_dir`. Allows to override :ref:`projectconf` option :ref:`projectconf_pio_home_dir`.
.. _envvar_PLATFORMIO_LIB_DIR: .. envvar:: PLATFORMIO_LIB_DIR
PLATFORMIO_LIB_DIR
~~~~~~~~~~~~~~~~~~
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_lib_dir`. Allows to override :ref:`projectconf` option :ref:`projectconf_pio_lib_dir`.
.. _envvar_PLATFORMIO_SRC_DIR: .. envvar:: PLATFORMIO_SRC_DIR
PLATFORMIO_SRC_DIR
~~~~~~~~~~~~~~~~~~
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_src_dir`. Allows to override :ref:`projectconf` option :ref:`projectconf_pio_src_dir`.
.. _envvar_PLATFORMIO_ENVS_DIR: .. envvar:: PLATFORMIO_ENVS_DIR
PLATFORMIO_ENVS_DIR
~~~~~~~~~~~~~~~~~~~
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_envs_dir`. Allows to override :ref:`projectconf` option :ref:`projectconf_pio_envs_dir`.
@ -63,74 +48,53 @@ Allows to override :ref:`projectconf` option :ref:`projectconf_pio_envs_dir`.
Builder Builder
------- -------
.. _envvar_PLATFORMIO_BUILD_FLAGS: .. envvar:: PLATFORMIO_BUILD_FLAGS
PLATFORMIO_BUILD_FLAGS
~~~~~~~~~~~~~~~~~~~~~~
Allows to set :ref:`projectconf` option :ref:`projectconf_build_flags`. Allows to set :ref:`projectconf` option :ref:`projectconf_build_flags`.
.. _envvar_PLATFORMIO_SRC_BUILD_FLAGS: .. envvar:: PLATFORMIO_SRC_BUILD_FLAGS
PLATFORMIO_SRC_BUILD_FLAGS
~~~~~~~~~~~~~~~~~~~~~~~~~~
Allows to set :ref:`projectconf` option :ref:`projectconf_src_build_flags`. Allows to set :ref:`projectconf` option :ref:`projectconf_src_build_flags`.
.. _envvar_PLATFORMIO_SRC_FILTER: .. envvar:: PLATFORMIO_SRC_FILTER
PLATFORMIO_SRC_FILTER
~~~~~~~~~~~~~~~~~~~~~
Allows to set :ref:`projectconf` option :ref:`projectconf_src_filter`. Allows to set :ref:`projectconf` option :ref:`projectconf_src_filter`.
.. _envvar_PLATFORMIO_EXTRA_SCRIPT: .. envvar:: PLATFORMIO_EXTRA_SCRIPT
PLATFORMIO_EXTRA_SCRIPT
~~~~~~~~~~~~~~~~~~~~~~~
Allows to set :ref:`projectconf` option :ref:`projectconf_extra_script`. Allows to set :ref:`projectconf` option :ref:`projectconf_extra_script`.
Settings Settings
-------- --------
Allows to override PlatformIO settings. You can manage them via Allows to override PlatformIO settings. You can manage them via
:ref:`cmd_settings` command. :ref:`cmd_settings` command.
.. envvar:: PLATFORMIO_SETTING_AUTO_UPDATE_LIBRARIES
PLATFORMIO_SETTING_AUTO_UPDATE_LIBRARIES
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Allows to override setting :ref:`setting_auto_update_libraries`. Allows to override setting :ref:`setting_auto_update_libraries`.
PLATFORMIO_SETTING_AUTO_UPDATE_PLATFORMS .. envvar:: PLATFORMIO_SETTING_AUTO_UPDATE_PLATFORMS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Allows to override setting :ref:`setting_auto_update_platforms`. Allows to override setting :ref:`setting_auto_update_platforms`.
PLATFORMIO_SETTING_CHECK_LIBRARIES_INTERVAL .. envvar:: PLATFORMIO_SETTING_CHECK_LIBRARIES_INTERVAL
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Allows to override setting :ref:`setting_check_libraries_interval`. Allows to override setting :ref:`setting_check_libraries_interval`.
PLATFORMIO_SETTING_CHECK_PLATFORMIO_INTERVAL .. envvar:: PLATFORMIO_SETTING_CHECK_PLATFORMIO_INTERVAL
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Allows to override setting :ref:`setting_check_platformio_interval`. Allows to override setting :ref:`setting_check_platformio_interval`.
PLATFORMIO_SETTING_CHECK_PLATFORMS_INTERVAL .. envvar:: PLATFORMIO_SETTING_CHECK_PLATFORMS_INTERVAL
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Allows to override setting :ref:`setting_check_platforms_interval`. Allows to override setting :ref:`setting_check_platforms_interval`.
.. _envvar_PLATFORMIO_SETTING_ENABLE_PROMPTS: .. envvar:: PLATFORMIO_SETTING_ENABLE_PROMPTS
PLATFORMIO_SETTING_ENABLE_PROMPTS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Allows to override setting :ref:`setting_enable_prompts`. Allows to override setting :ref:`setting_enable_prompts`.
PLATFORMIO_SETTING_ENABLE_TELEMETRY .. envvar:: PLATFORMIO_SETTING_ENABLE_TELEMETRY
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Allows to override setting :ref:`setting_enable_telemetry`. Allows to override setting :ref:`setting_enable_telemetry`.

View File

@ -70,11 +70,35 @@ DISABLE** all prompts. It will allow you to avoid blocking.
There are a few options: There are a few options:
- using :option:`platformio --force` option before each command - using :option:`platformio --force` option before each command
- using environment variable :ref:`PLATFORMIO_SETTING_ENABLE_PROMPTS=No <envvar_PLATFORMIO_SETTING_ENABLE_PROMPTS>` - using environment variable :envvar:`PLATFORMIO_SETTING_ENABLE_PROMPTS=No <PLATFORMIO_SETTING_ENABLE_PROMPTS>`
- disable global setting ``enable_prompts`` via :ref:`cmd_settings` command - disable global setting ``enable_prompts`` via :ref:`cmd_settings` command
- masking under Continuous Integration system via environment variable - masking under Continuous Integration system via environment variable
:ref:`CI=true <envvar_CI>`. :envvar:`CI=true <CI>`.
.. _faq_troubleshooting_pionotfoundinpath:
Program ``platformio`` not found in PATH
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Where is ``platformio`` binary installed? Run this command in Terminal
.. code-block:: bash
# for Unix
which platformio
echo $PATH
# for Windows OS
where platformio
echo %PATH%
For example, ``which platformio`` is equal to ``/usr/local/bin/platformio``,
then `PATH (wiki) <https://en.wikipedia.org/wiki/PATH_(variable)>`_
should contain ``/usr/local/bin`` directory.
**Unix Users**: You can make "symlinks" from ``platformio`` and ``scons``
programs to the ``bin`` directory which is included in ``$PATH``. For example,
see `issue #272 <https://github.com/platformio/platformio/issues/272#issuecomment-133626112>`_.
Windows: ``UnicodeDecodeError: 'ascii' codec can't decode byte`` Windows: ``UnicodeDecodeError: 'ascii' codec can't decode byte``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -101,6 +125,11 @@ Please upgrade *SetupTools* package:
$ [sudo] pip uninstall platformio $ [sudo] pip uninstall platformio
$ [sudo] pip install platformio $ [sudo] pip install platformio
Windows: ``AttributeError: 'module' object has no attribute 'packages'``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Answered in `issue #252 <https://github.com/platformio/platformio/issues/252#issuecomment-127072039>`_.
ARM toolchain: ``cc1plus: error while loading shared libraries`` ARM toolchain: ``cc1plus: error while loading shared libraries``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@ -59,6 +59,13 @@ Adafruit
- 32 Kb - 32 Kb
- 2.5 Kb - 2.5 Kb
* - ``gemma``
- `Adafruit Gemma <http://www.adafruit.com/products/1222>`_
- ATTINY85
- 8 MHz
- 8 Kb
- 0.5 Kb
* - ``protrinket3`` * - ``protrinket3``
- `Adafruit Pro Trinket 3V/12MHz (USB) <http://www.adafruit.com/products/2010>`_ - `Adafruit Pro Trinket 3V/12MHz (USB) <http://www.adafruit.com/products/2010>`_
- ATMEGA328P - ATMEGA328P

View File

@ -23,7 +23,6 @@ Integration
More detailed information is located in PlatformIO blog: More detailed information is located in PlatformIO blog:
`Integration of PlatformIO library manager to Arduino IDE <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_. `Integration of PlatformIO library manager to Arduino IDE <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_.
Screenshot Screenshot
---------- ----------

View File

@ -33,8 +33,18 @@ Since PlatformIO 2.0 you can generate CLion compatible project using
platformio init --ide clion --board %TYPE% platformio init --ide clion --board %TYPE%
Then import this project from start menu or via ``File > Import Project>`` and Then:
specify root directory where is located :ref:`projectconf`.
1. 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: ``Menu: Run > Build``.
There are 3 predefined targets for building:
* ``PLATFORMIO_BUILD`` - build project without auto-uploading
* ``PLATFORMIO_UPLOAD`` - build and upload (if no errors)
* ``PLATFORMIO_CLEAN`` - clean compiled objects and etc.
.. warning:: .. warning::
CLion is still in the development stage, so some of the features (like, CLion is still in the development stage, so some of the features (like,
@ -49,3 +59,11 @@ Screenshot
.. 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/latest/_static/ide-platformio-clion.png
Examples
--------
"Blink" Project
^^^^^^^^^^^^^^^
Source code of `CLion "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/clion>`_.

View File

@ -37,19 +37,31 @@ Since PlatformIO 2.0 you can generate Eclipse compatible project using
platformio init --ide eclipse --board %TYPE% platformio init --ide eclipse --board %TYPE%
Then import this project via ``File > Import... > General > Existing Projects Then:
into Workspace > Next`` and specify root directory where is located
:ref:`projectconf`. 1. Import this project via
``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: ``Menu: Project > Build Project``.
Manual Integration Manual Integration
^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^
More detailed information is located in PlatformIO blog: `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>`_. * `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>`_
* `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation <http://thomasweldon.com/tpw/courses/embeddsp/p00pcFrdmK64_eclipsePlatformioSetup.html>`_
`More examples (TI MSP430, TI TIVA, etc.) <https://github.com/platformio/platformio/tree/develop/examples/ide-eclipse>`_
Screenshot Screenshot
---------- ----------
.. image:: ../_static/ide-platformio-eclipse.png .. image:: ../_static/ide-platformio-eclipse.png
:target: http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio :target: http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio
Examples
--------
"Blink" Project
^^^^^^^^^^^^^^^
Source code of `Eclipse "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/eclipse>`_.

View File

@ -18,6 +18,11 @@ page for more detailed information.
Integration Integration
----------- -----------
.. note::
Please verify that folder where is located ``platformio`` program is added
to `PATH (wiki) <https://en.wikipedia.org/wiki/PATH_(variable)>`_ environment
variable. See FAQ: :ref:`faq_troubleshooting_pionotfoundinpath`.
Project Generator Project Generator
^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
@ -29,10 +34,42 @@ Since PlatformIO 2.0 you can generate Qt Creator compatible project using
platformio init --ide qtcreator --board %TYPE% platformio init --ide qtcreator --board %TYPE%
Then import this project via ``File > New File or Project > Import Project`` Then:
and specify root directory where is located :ref:`projectconf`.
After import, we need to delete default build and clean steps and configure project with PlatformIO source code builder (click on Projects label on left menu or ``Ctrl+5`` shortcut): 1. Import project via ``File > Open File or Project`` and select
``platformio.pro`` from the folder where is located :ref:`projectconf`
2. Select default desktop kit and click on ``Configure Project`` (``Projects``
mode, left panel)
3. Set ``General > Build directory`` to the project directory where
is located :ref:`projectconf`
4. Remove all items from ``Build Steps``, click on
``Build Steps > Add Build Step > Custom Process Step`` and set:
* **Command**: ``platformio``
* **Arguments**: ``-f -c qtcreator run``
* **Working directory**: ``%{buildDir}``
5. Remove all items from ``Clean Steps``, click on
``Clean Steps > Add Clean Step > Custom Process Step`` and set:
* **Command**: ``platformio``
* **Arguments**: ``-f -c qtcreator run --target clean``
* **Working directory**: ``%{buildDir}``
6. Update ``PATH`` in ``Build Environment > PATH > EDIT`` with the result of
this command (paste in Terminal):
.. code-block:: shell
# Linux, Mac
echo $PATH
# Windows
echo %PATH%
7. Switch to ``Edit`` mode (left panel) and open source file from ``src``
directory (``*.c, *.cpp, *.ino, etc.``)
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/latest/_static/ide-platformio-qtcreator-3.png
@ -129,12 +166,21 @@ Edit the content to match the code described below.
framework = arduino framework = arduino
board = uno board = uno
Conclusion Conclusion
---------- ~~~~~~~~~~
Taking everything into account, we can build project with shortcut ``Ctrl+Shift+B`` or using ``Menu: Build > Build All``: Taking everything into account, we can build project with shortcut ``Ctrl+Shift+B`` or using ``Menu: Build > Build All``.
Screenshot
----------
.. 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/latest/_static/ide-platformio-qtcreator-7.png
Examples
--------
"Blink" Project
^^^^^^^^^^^^^^^
Source code of `Qt Creator "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/qtcreator>`_.

View File

@ -29,12 +29,23 @@ Since PlatformIO 2.0 you can generate Sublime Text compatible project using
platformio init --ide sublimetext --board %TYPE% platformio init --ide sublimetext --board %TYPE%
Then import this project via ``Project > Open Project...`` and specify root Then:
directory where is located :ref:`projectconf`.
1. Import project via ``Menu: Project > Open Project...`` and select
``platformio.sublime-project`` from the folder where is located :ref:`projectconf`
2. Select PlatformIO as build system: ``Menu: Tools > Build System > PlatformIO``
3. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``)
4. Build project: ``Menu: Tools > Build``.
Manual Integration Manual Integration
^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^
.. note::
Please verify that folder where is located ``platformio`` program is added
to `PATH (wiki) <https://en.wikipedia.org/wiki/PATH_(variable)>`_ environment
variable. See FAQ: :ref:`faq_troubleshooting_pionotfoundinpath`.
Initial configuration Initial configuration
~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
@ -45,17 +56,17 @@ described below:
.. code-block:: bash .. code-block:: bash
{ {
"cmd": ["platformio", "--force", "run"], "cmd": ["platformio", "-f", "-c", "sublimetext", "run"],
"working_dir": "${project_path:${folder}}", "working_dir": "${project_path:${folder}}",
"variants": "variants":
[ [
{ {
"name": "Clean", "name": "Clean",
"cmd": ["platformio", "--force", "run", "--target", "clean"] "cmd": ["platformio", "-f", "-c", "sublimetext", "run", "--target", "clean"]
}, },
{ {
"name": "Upload", "name": "Upload",
"cmd": ["platformio", "--force", "run", "--target", "upload"] "cmd": ["platformio", "-f", "-c", "sublimetext", "run", "--target", "upload"]
} }
] ]
} }
@ -139,8 +150,19 @@ Copy the source code which is described below to it.
board = uno board = uno
Conclusion Conclusion
---------- ~~~~~~~~~~
Taking everything into account, we can open project directory in Sublime Text using ``Menu: File > Open Folder`` and build it with shortcut ``Ctrl+B`` (Windows/Linux) or ``Cmd+B`` (Mac), clean project with shortcut ``F11`` and upload firmware to target with shortcut ``F12``. Taking everything into account, we can open project directory in Sublime Text using ``Menu: File > Open Folder`` and build it with shortcut ``Ctrl+B`` (Windows/Linux) or ``Cmd+B`` (Mac), clean project with shortcut ``F11`` and upload firmware to target with shortcut ``F12``.
Screenshot
----------
.. image:: ../_static/ide-sublime-text-platformio-newproject-5.png .. image:: ../_static/ide-sublime-text-platformio-newproject-5.png
Examples
--------
"Blink" Project
^^^^^^^^^^^^^^^
Source code of `Sublime Text "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/sublimetext>`_.

View File

@ -15,6 +15,11 @@ This software can be used with:
Integration Integration
----------- -----------
.. note::
Please verify that folder where is located ``platformio`` program is added
to `PATH (wiki) <https://en.wikipedia.org/wiki/PATH_(variable)>`_ environment
variable. See FAQ: :ref:`faq_troubleshooting_pionotfoundinpath`.
Recommended bundles: Recommended bundles:
* Syntax highlight - `Arduino-syntax-file <https://github.com/vim-scripts/Arduino-syntax-file>`_ * Syntax highlight - `Arduino-syntax-file <https://github.com/vim-scripts/Arduino-syntax-file>`_
@ -30,10 +35,10 @@ Put to the project directory ``Makefile`` wrapper with contents:
#PATH := /usr/local/bin:$(PATH) #PATH := /usr/local/bin:$(PATH)
all: all:
platformio --force run --target upload platformio -f -c vim run --target upload
clean: clean:
platformio --force run --target clean platformio -f -c vim run --target clean
Now, in VIM ``cd /path/to/this/project`` and press ``Ctrl+B`` or ``Cmd+B`` Now, in VIM ``cd /path/to/this/project`` and press ``Ctrl+B`` or ``Cmd+B``

View File

@ -18,6 +18,11 @@ page for more detailed information.
Integration Integration
----------- -----------
.. note::
Please verify that folder where is located ``platformio`` program is added
to `PATH (wiki) <https://en.wikipedia.org/wiki/PATH_(variable)>`_ environment
variable. See FAQ: :ref:`faq_troubleshooting_pionotfoundinpath`.
Project Generator Project Generator
^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
@ -29,8 +34,12 @@ Since PlatformIO 2.0 you can generate Visual Studio compatible project using
platformio init --ide visualstudio --board %TYPE% platformio init --ide visualstudio --board %TYPE%
Then import this project via ``File->Open->Project/Solution`` and specify root Then:
directory where is located :ref:`projectconf`.
1. Import this project via ``Menu: File > Open > Project/Solution``
and specify root directory where is located :ref:`projectconf`
2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``)
3. Build project: ``Menu: Build > Build Solution``.
Manual Integration Manual Integration
^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^
@ -118,9 +127,20 @@ Copy the source code which is described below to it.
Conclusion Conclusion
---------- ~~~~~~~~~~
Taking everything into account, we can build project with shortcut ``Ctrl+Shift+B`` or using ``Menu: Build > Build Solution``: Taking everything into account, we can build project with shortcut ``Ctrl+Shift+B`` or using ``Menu: Build > Build Solution``.
Screenshot
----------
.. 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/latest/_static/ide-vs-platformio-newproject-8.png
Examples
--------
"Blink" Project
^^^^^^^^^^^^^^^
Source code of `Visual Studio "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/visualstudio>`_.

View File

@ -19,6 +19,7 @@ libOpenCM3, etc.*
`Issues <https://github.com/platformio/platformio/issues>`_ `Issues <https://github.com/platformio/platformio/issues>`_
* `Blog <http://www.ikravets.com/category/computer-life/platformio>`_ | * `Blog <http://www.ikravets.com/category/computer-life/platformio>`_ |
`Reddit <http://www.reddit.com/r/platformio/>`_ | `Reddit <http://www.reddit.com/r/platformio/>`_ |
`Facebook <https://www.facebook.com/platformio>`_ |
`Twitter <https://twitter.com/PlatformIO_Org>`_ `Twitter <https://twitter.com/PlatformIO_Org>`_
You have **no need** to install any *IDE* or compile any tool chains. *PlatformIO* You have **no need** to install any *IDE* or compile any tool chains. *PlatformIO*
@ -60,18 +61,40 @@ Contents
-------- --------
.. toctree:: .. toctree::
:caption: Getting Started
:maxdepth: 2 :maxdepth: 2
quickstart demo
installation installation
quickstart
userguide/index
.. toctree::
:caption: Configuration
:maxdepth: 2
projectconf projectconf
envvars envvars
.. toctree::
:caption: Instruments
:maxdepth: 2
Platforms & Boards <platforms/index> Platforms & Boards <platforms/index>
frameworks/index frameworks/index
.. toctree::
:caption: Integration
:maxdepth: 2
librarymanager/index librarymanager/index
userguide/index
ci/index ci/index
ide ide
.. toctree::
:caption: Miscellaneous
:maxdepth: 2
articles articles
FAQ <faq> FAQ <faq>
history history

View File

@ -18,57 +18,69 @@ System requirements
* Mac OS X * Mac OS X
* Linux, +ARM * Linux, +ARM
* Windows * Windows
* `Python 2.6 or Python 2.7 <https://www.python.org/downloads/>`_ * Python 2.6.x or Python 2.7.x(recommended)
All commands below should be executed in All commands below should be executed in
`Command-line <http://en.wikipedia.org/wiki/Command-line_interface>`_ `Command-line <http://en.wikipedia.org/wiki/Command-line_interface>`_
application: application (Terminal):
* *Mac OS X / Linux* this is *Terminal* application. * Mac OS X / Linux *Terminal* application
* *Windows* this is * Windows ``cmd.exe`` application.
`Command Prompt <http://en.wikipedia.org/wiki/Command_Prompt>`_ (``cmd.exe``)
application.
.. warning:: Installation options
If you are going to run *PlatformIO* from **subprocess**, you
:ref:`MUST DISABLE <faq_troubleshooting_pioblocksprompt>` all prompts.
It will allow you to avoid blocking.
.. note::
**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
Troubleshooting
---------------
For further details, frequently questions, please refer to :ref:`faq`.
Installation Methods
-------------------- --------------------
Please *choose one of* the following installation methods: .. warning::
**Windows OS**: 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.
Super-Quick (Mac / Linux) Please *choose one of* the following installation options:
~~~~~~~~~~~~~~~~~~~~~~~~~
To install or upgrade *PlatformIO* paste that at a *Terminal* prompt Python Package Manager
(**you MIGHT need** to run ``sudo`` first, just for installation): ~~~~~~~~~~~~~~~~~~~~~~
The latest stable version of PlatformIO may be done via
`pip <https://pip.pypa.io>`_ as follows:
.. code-block:: bash .. code-block:: bash
[sudo] python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)" # update dependent packages to the latest versions
pip install -U pip setuptools
# install the latest version of PlatformIO
pip install -U scons platformio
Note that you may run into permissions issues running these commands. You have
a few options here:
* Run with ``sudo`` to install PlatformIO and dependencies globally
* Specify the `pip install --user <https://pip.pypa.io/en/stable/user_guide.html#user-installs>`_
option to install local to your user
* Run the command in a `virtualenv <https://virtualenv.pypa.io>`_ local to a
specific project working set.
Installer Script
~~~~~~~~~~~~~~~~
Super-Quick (Mac / Linux)
'''''''''''''''''''''''''
To install or upgrade *PlatformIO* paste that at a *Terminal* prompt
(**MAY require** administrator access ``sudo``):
.. code-block:: bash
python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
Installer Script (Mac / Linux / Windows) Local Download (Mac / Linux / Windows)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ''''''''''''''''''''''''''''''''''''''
To install or upgrade *PlatformIO*, download To install or upgrade *PlatformIO*, download (save as...)
`get-platformio.py <https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py>`_ `get-platformio.py <https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py>`_
script. Then run the following (**you MIGHT need** to run ``sudo`` first, script. Then run the following (**MAY require** administrator access ``sudo``):
just for installation):
.. code-block:: bash .. code-block:: bash
@ -96,9 +108,9 @@ Full Guide
.. code-block:: bash .. code-block:: bash
$ python --version python --version
*Windows OS* Users only: *Windows Users* only:
* `Download Python 2.7 <https://www.python.org/downloads/>`_ and install it. * `Download Python 2.7 <https://www.python.org/downloads/>`_ and install it.
* Add to PATH system variable ``;C:\Python27;C:\Python27\Scripts;`` and * Add to PATH system variable ``;C:\Python27;C:\Python27\Scripts;`` and
@ -106,30 +118,21 @@ Full Guide
article `How to set the path and environment variables in Windows article `How to set the path and environment variables in Windows
<http://www.computerhope.com/issues/ch000549.htm>`_. <http://www.computerhope.com/issues/ch000549.htm>`_.
2. Install a ``platformio`` and related packages:
2. Check a ``pip`` tool for installing and managing *Python* packages:
.. code-block:: bash .. code-block:: bash
$ pip search platformio pip install -U pip setuptools
pip install -U scons platformio
You should see short information about ``platformio`` package.
If your computer does not recognize ``pip`` command, try to install it first If your computer does not recognize ``pip`` command, try to install it first
using `these instructions <https://pip.pypa.io/en/latest/installing.html>`_. using `these instructions <https://pip.pypa.io/en/latest/installing.html>`_.
3. Install a ``platformio`` and related packages: For upgrading ``platformio`` to the latest version:
.. code-block:: bash .. code-block:: bash
$ pip install platformio && pip install --egg scons pip install -U platformio
For upgrading the ``platformio`` to new version please use this command:
.. code-block:: bash
$ pip install -U platformio
Development Version Development Version
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
@ -141,8 +144,26 @@ Install the latest PlatformIO from the ``develop`` branch:
.. code-block:: bash .. code-block:: bash
$ pip install https://github.com/platformio/platformio/archive/develop.zip pip install -U pip setuptools
pip install -U https://github.com/platformio/platformio/archive/develop.zip
If you want to be up-to-date with the latest ``develop`` version of PlatformIO, If you want to be up-to-date with the latest ``develop`` version of PlatformIO,
then you need to re-install PlatformIO each time if you see the new commits in then you need to re-install PlatformIO each time if you see the new commits in
`PlatformIO GitHub repository (branch: develop) <https://github.com/platformio/platformio/commits/develop>`_. `PlatformIO GitHub repository (branch: develop) <https://github.com/platformio/platformio/commits/develop>`_.
Troubleshooting
---------------
.. warning::
If you are going to run *PlatformIO* from **subprocess**, you
:ref:`MUST DISABLE <faq_troubleshooting_pioblocksprompt>` all prompts.
It will allow you to avoid blocking.
.. note::
**Linux OS**: 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 OS**: Please check that you have correctly installed USB driver
from board manufacturer
For further details, frequently questions, please refer to :ref:`faq`.

View File

@ -78,6 +78,13 @@ Adafruit
- 32 Kb - 32 Kb
- 2.5 Kb - 2.5 Kb
* - ``gemma``
- `Adafruit Gemma <http://www.adafruit.com/products/1222>`_
- ATTINY85
- 8 MHz
- 8 Kb
- 0.5 Kb
* - ``protrinket3`` * - ``protrinket3``
- `Adafruit Pro Trinket 3V/12MHz (USB) <http://www.adafruit.com/products/2010>`_ - `Adafruit Pro Trinket 3V/12MHz (USB) <http://www.adafruit.com/products/2010>`_
- ATMEGA328P - ATMEGA328P

View File

@ -108,9 +108,21 @@ Packages
* - ``toolchain-atmelavr`` * - ``toolchain-atmelavr``
- `avr-gcc <https://gcc.gnu.org/wiki/avr-gcc>`_, `GDB <http://www.gnu.org/software/gdb/>`_, `AVaRICE <http://avarice.sourceforge.net/>`_, `SimulAVR <http://www.nongnu.org/simulavr/>`_ - `avr-gcc <https://gcc.gnu.org/wiki/avr-gcc>`_, `GDB <http://www.gnu.org/software/gdb/>`_, `AVaRICE <http://avarice.sourceforge.net/>`_, `SimulAVR <http://www.nongnu.org/simulavr/>`_
* - ``toolchain-gccarmlinuxgnueabi``
- `GCC for Linux ARM GNU EABI <https://gcc.gnu.org>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``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/>`_
* - ``toolchain-gcclinux32``
- `GCC for Linux i686 <https://gcc.gnu.org>`_
* - ``toolchain-gcclinux64``
- `GCC for Linux x86_64 <https://gcc.gnu.org>`_
* - ``toolchain-gccmingw32``
- `MinGW <http://www.mingw.org>`_
* - ``toolchain-timsp430`` * - ``toolchain-timsp430``
- `msp-gcc <http://sourceforge.net/projects/mspgcc/>`_, `GDB <http://www.gnu.org/software/gdb/>`_ - `msp-gcc <http://sourceforge.net/projects/mspgcc/>`_, `GDB <http://www.gnu.org/software/gdb/>`_
@ -200,7 +212,7 @@ Build Script
Platform's build script is based on a next-generation build tool named Platform's build script is based on a next-generation build tool named
`SCons <http://www.scons.org>`_. PlatformIO has own built-in firmware builder `SCons <http://www.scons.org>`_. PlatformIO has own built-in firmware builder
``env.BuildFirmware`` with the nested libraries search. Please look into a ``env.BuildProgram`` with the nested libraries search. Please look into a
base template of ``test-builder.py``. base template of ``test-builder.py``.
.. code-block:: python .. code-block:: python
@ -260,7 +272,7 @@ base template of ``test-builder.py``.
# #
# Target: Build executable and linkable firmware # Target: Build executable and linkable firmware
# #
target_elf = env.BuildFirmware() target_elf = env.BuildProgram()
# #
# Target: Build the .bin file # Target: Build the .bin file
@ -383,7 +395,7 @@ and copy there two files:
# Target: Build executable and linkable firmware # Target: Build executable and linkable firmware
# #
target_elf = env.BuildFirmware() target_elf = env.BuildProgram()
# #
# Target: Build the .bin file # Target: Build the .bin file

View File

@ -11,6 +11,9 @@ Also it has pre-configured settings for most popular **Embedded Platform
Boards**. You have no need to specify in :ref:`projectconf` type or frequency of Boards**. You have no need to specify in :ref:`projectconf` type or frequency of
MCU, upload protocol or etc. Please use ``board`` option. MCU, upload protocol or etc. Please use ``board`` option.
Embedded
--------
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
@ -25,5 +28,24 @@ MCU, upload protocol or etc. Please use ``board`` option.
teensy teensy
timsp430 timsp430
titiva titiva
Desktop
-------
.. toctree::
:maxdepth: 2
native
linux_arm
linux_i686
linux_x86_64
windows_x86
Own Platform/Board
------------------
.. toctree::
:maxdepth: 2
creating_platform creating_platform
creating_board creating_board

View File

@ -0,0 +1,21 @@
.. _platform_linux_arm:
Platform ``linux_arm``
======================
Linux ARM is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X, Linux ARM) you can build native application for Linux ARM platform.
For more detailed information please visit `vendor site <http://platformio.org/#!/platforms/linux_arm>`_.
.. contents::
Packages
--------
.. list-table::
:header-rows: 1
* - Name
- Contents
* - ``toolchain-gccarmlinuxgnueabi``
- `GCC for Linux ARM GNU EABI <https://gcc.gnu.org>`_, `GDB <http://www.gnu.org/software/gdb/>`_

View File

@ -0,0 +1,21 @@
.. _platform_linux_i686:
Platform ``linux_i686``
=======================
Linux i686 (32-bit) is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X or Linux 32-bit) you can build native application for Linux i686 platform.
For more detailed information please visit `vendor site <http://platformio.org/#!/platforms/linux_i686>`_.
.. contents::
Packages
--------
.. list-table::
:header-rows: 1
* - Name
- Contents
* - ``toolchain-gcclinux32``
- `GCC for Linux i686 <https://gcc.gnu.org>`_

View File

@ -0,0 +1,21 @@
.. _platform_linux_x86_64:
Platform ``linux_x86_64``
=========================
Linux x86_64 (64-bit) is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X or Linux 64-bit) you can build native application for Linux x86_64 platform.
For more detailed information please visit `vendor site <http://platformio.org/#!/platforms/linux_i686>`_.
.. contents::
Packages
--------
.. list-table::
:header-rows: 1
* - Name
- Contents
* - ``toolchain-gcclinux64``
- `GCC for Linux x86_64 <https://gcc.gnu.org>`_

View File

@ -0,0 +1,9 @@
.. _platform_native:
Platform ``native``
===================
Native development platform is intended to be used for desktop OS. This platform uses built-in tool chains (preferable based on GCC), frameworks, libs from particular OS where it will be run.
For more detailed information please visit `vendor site <http://platformio.org/#!/platforms/native>`_.
.. contents::

View File

@ -0,0 +1,21 @@
.. _platform_windows_x86:
Platform ``windows_x86``
========================
Windows x86 (32-bit) is a metafamily of graphical operating systems developed and marketed by Microsoft. Using host OS (Windows, Linux 32/64 or Mac OS X) you can build native application for Windows x86 platform.
For more detailed information please visit `vendor site <http://platformio.org/#!/platforms/windows_x86>`_.
.. contents::
Packages
--------
.. list-table::
:header-rows: 1
* - Name
- Contents
* - ``toolchain-gccmingw32``
- `MinGW <http://www.mingw.org>`_

View File

@ -42,7 +42,7 @@ A default value is User's home directory:
* Windows ``%HOMEPATH%\.platformio`` * Windows ``%HOMEPATH%\.platformio``
This option can be overridden by global environment variable This option can be overridden by global environment variable
:ref:`envvar_PLATFORMIO_HOME_DIR`. :envvar:`PLATFORMIO_HOME_DIR`.
.. _projectconf_pio_lib_dir: .. _projectconf_pio_lib_dir:
@ -55,7 +55,7 @@ This directory is used to store external libraries downloaded by
A default value is ``%home_dir%/lib``. A default value is ``%home_dir%/lib``.
This option can be overridden by global environment variable This option can be overridden by global environment variable
:ref:`envvar_PLATFORMIO_LIB_DIR`. :envvar:`PLATFORMIO_LIB_DIR`.
.. note:: .. note::
You can put here your own/private libraries. The source code of each You can put here your own/private libraries. The source code of each
@ -73,7 +73,7 @@ command.
A default value is ``%project_dir%/src``. A default value is ``%project_dir%/src``.
This option can be overridden by global environment variable This option can be overridden by global environment variable
:ref:`envvar_PLATFORMIO_SRC_DIR`. :envvar:`PLATFORMIO_SRC_DIR`.
.. note:: .. note::
This option is useful for people who migrate from Arduino/Energia IDEs where This option is useful for people who migrate from Arduino/Energia IDEs where
@ -97,7 +97,7 @@ next build operation.
A default value is ``%project_dir%/.pioenvs``. A default value is ``%project_dir%/.pioenvs``.
This option can be overridden by global environment variable This option can be overridden by global environment variable
:ref:`envvar_PLATFORMIO_ENVS_DIR`. :envvar:`PLATFORMIO_ENVS_DIR`.
.. note:: .. note::
If you have any problems with building your Project environmets which If you have any problems with building your Project environmets which
@ -267,7 +267,7 @@ processes:
``-l``. ``-l``.
This option can be set by global environment variable This option can be set by global environment variable
:ref:`envvar_PLATFORMIO_BUILD_FLAGS`. :envvar:`PLATFORMIO_BUILD_FLAGS`.
Example: Example:
@ -309,7 +309,7 @@ but will be applied only for the project source code from
:ref:`projectconf_pio_src_dir` directory. :ref:`projectconf_pio_src_dir` directory.
This option can be set by global environment variable This option can be set by global environment variable
:ref:`envvar_PLATFORMIO_SRC_BUILD_FLAGS`. :envvar:`PLATFORMIO_SRC_BUILD_FLAGS`.
.. _projectconf_src_filter: .. _projectconf_src_filter:
@ -331,7 +331,7 @@ By default, ``src_filter`` is predefined to
exclude ``.git`` and ``svn`` repository folders and exclude ``examples`` folder. exclude ``.git`` and ``svn`` repository folders and exclude ``examples`` folder.
This option can be set by global environment variable This option can be set by global environment variable
:ref:`envvar_PLATFORMIO_SRC_FILTER`. :envvar:`PLATFORMIO_SRC_FILTER`.
``lib_install`` ``lib_install``
^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
@ -404,7 +404,7 @@ section of
`SCons documentation <http://www.scons.org/doc/production/HTML/scons-user.html#chap-environments>`_. `SCons documentation <http://www.scons.org/doc/production/HTML/scons-user.html#chap-environments>`_.
This option can be set by global environment variable This option can be set by global environment variable
:ref:`envvar_PLATFORMIO_EXTRA_SCRIPT`. :envvar:`PLATFORMIO_EXTRA_SCRIPT`.
Example, specify own upload command for :ref:`platform_atmelavr`: Example, specify own upload command for :ref:`platform_atmelavr`:
@ -435,14 +435,8 @@ See built-in examples of `PlatformIO build scripts <https://github.com/platformi
^^^^^^^^^^^ ^^^^^^^^^^^
A list with targets which will be processed by :ref:`cmd_run` command by A list with targets which will be processed by :ref:`cmd_run` command by
default. You can enter more then one target separated with "space". default. You can enter more then one target separated with "space". Which
targets are supported is described in :option:`platformio run --target`.
Pre-built targets:
* ``clean`` delete compiled object files, libraries and firmware binaries
* ``upload`` enable "auto-uploading" for embedded platforms after building
operation
* ``envdump`` dump current build environment
**Tip!** You can use these targets like an option to **Tip!** You can use these targets like an option to
:option:`platformio run --target` command. For example: :option:`platformio run --target` command. For example:

View File

@ -29,7 +29,7 @@ Quickstart
The next files/directories will be created in *** The next files/directories will be created in ***
platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-| platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-|
src - Put your source code here src - Put your source code here
lib - Put here project specific or 3-rd party libraries lib - Put here project specific (private) libraries
Do you want to continue? [y/N]: y Do you want to continue? [y/N]: y
Project has been successfully initialized! Project has been successfully initialized!
Useful commands: Useful commands:

View File

@ -23,8 +23,12 @@ This command will create:
* :ref:`projectconf` * :ref:`projectconf`
* ``src`` - a source directory. Put your source code here * ``src`` - a source directory. Put your source code here
* ``lib`` - a directory for the project specific libraries. PlatformIO will * ``lib`` - a directory for the project specific (private) libraries.
compile them to static libraries and link to executable file PlatformIO will compile them to static libraries and link to executable file
.. note::
The source code of each library should be placed in separate directory.
For example, ``lib/private_lib/[here are source files]``.
Options Options
------- -------
@ -70,11 +74,11 @@ allows you to disable firmware auto-uploading by default.
--env-prefix --env-prefix
An environment prefix which will be used with pair in board type. An environment prefix which will be used with pair in board type.
For example, the default environment name for ``teensy_31`` board will For example, the default environment name for ``teensy_31`` board will
be ``[env:teensy_31]``. be ``[env:teensy_31]``.
Examples Examples
-------- --------
@ -91,7 +95,7 @@ Examples
The next files/directories will be created in *** The next files/directories will be created in ***
platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-| platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-|
src - Put your source code here src - Put your source code here
lib - Put here project specific or 3-rd party libraries lib - Put here project specific (private) libraries
Do you want to continue? [y/N]: y Do you want to continue? [y/N]: y
Project has been successfully initialized! Project has been successfully initialized!
Useful commands: Useful commands:
@ -109,7 +113,7 @@ Examples
The next files/directories will be created in *** The next files/directories will be created in ***
platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-| platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-|
src - Put your source code here src - Put your source code here
lib - Put here project specific or 3-rd party libraries lib - Put here project specific (private) libraries
Do you want to continue? [y/N]: y Do you want to continue? [y/N]: y
Project has been successfully initialized! Project has been successfully initialized!
Useful commands: Useful commands:
@ -133,7 +137,7 @@ Examples
The next files/directories will be created in *** The next files/directories will be created in ***
platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-| platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-|
src - Put your source code here src - Put your source code here
lib - Put here project specific or 3-rd party libraries lib - Put here project specific (private) libraries
Do you want to continue? [y/N]: y Do you want to continue? [y/N]: y
Project has been successfully initialized! Project has been successfully initialized!
Useful commands: Useful commands:

View File

@ -33,7 +33,16 @@ Process specified environments
.. option:: .. option::
-t, --target -t, --target
Process specified targets Process specified targets.
Pre-built targets:
* ``clean`` delete compiled object files, libraries and firmware/program binaries
* ``upload`` enable "auto-uploading" for embedded platforms after building
operation
* ``uploadlazy`` upload existing firmware without project rebuilding
* ``envdump`` dump current build environment
* ``size`` print the size of the sections in a firmware/program
.. option:: .. option::
--upload-port --upload-port
@ -42,10 +51,10 @@ Upload port of embedded board. To print all available ports use
:ref:`cmd_serialports` command :ref:`cmd_serialports` command
.. option:: .. option::
--build-dir -d, --project-dir
Specify the path to project directory. By default, ``--build-dir`` is equal to Specify the path to project directory. By default, ``--project-dir`` is equal
current working directory (``CWD``). to current working directory (``CWD``).
.. option:: .. option::
-v, --verbose -v, --verbose

View File

@ -18,7 +18,7 @@ Options
.. program:: platformio .. program:: platformio
.. option:: .. option::
--force, - f --force, -f
Force to accept any confirmation prompts. This option allows to avoid an issue Force to accept any confirmation prompts. This option allows to avoid an issue
with :ref:`faq_troubleshooting_pioblocksprompt` with :ref:`faq_troubleshooting_pioblocksprompt`
@ -29,7 +29,7 @@ with :ref:`faq_troubleshooting_pioblocksprompt`
Show the version of PlatformIO Show the version of PlatformIO
.. option:: .. option::
--help --help, -h
Show help for the available options and commands Show help for the available options and commands

View File

@ -1,7 +1,7 @@
.. _userguide_platforms: .. _userguide_platforms:
Platforms Manager Platform Manager
================= ================
To print all available commands and options use: To print all available commands and options use:

View File

@ -0,0 +1,18 @@
How to build PlatformIO based project
=====================================
1. `Install PlatformIO <http://docs.platformio.org/en/latest/installation.html>`_
2. Download `source code with examples <https://github.com/platformio/platformio/archive/develop.zip>`_
3. Extract ZIP archive
4. Run these commands:
.. code-block:: bash
# Change directory to example
> cd platformio-develop/examples/desktop/hello-world
# Process example project
> platformio run
# Clean build files
> platformio run --target clean

View File

@ -0,0 +1,51 @@
#
# Project Configuration File
#
# A detailed documentation with the EXAMPLES is located here:
# http://docs.platformio.org/en/latest/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:native]
platform = native
#
# If host OS is Mac OS X
#
# [env:darwin_x86_64]
# platform = native
# [env:linux_i686]
# platform = linux_i686
# [env:linux_x86_64]
# platform = linux_x86_64
# [env:windows_x86]
# platform = windows_x86
# [env:linux_armv6l]
# platform = linux_arm
# build_flags = -march=armv6
#
# If host OS is Linux
#
# [env:linux_i686]
# platform = linux_i686
# [env:linux_x86_64]
# platform = linux_x86_64

View File

@ -0,0 +1,7 @@
#include <stdio.h>
int main()
{
printf("Hello World from PlatformIO!\n");
return 0;
}

View File

@ -1,14 +0,0 @@
Eclipse IDE Integration
=======================
The detailed information and steps are described in this article:
`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>`_.
.. image:: http://www.ikravets.com/wp-content/uploads/2014/06/eclipse_platformio_build_arduino_uno.png
:width: 850px
:target: http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio
.. image:: http://www.ikravets.com/wp-content/uploads/2014/06/eclipse_debugging_result_1-1024x775.png
:width: 850px
:target: http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio

View File

@ -1,20 +0,0 @@
/**
* Copyright (C) Ivan Kravets <me@ikravets.com>
* See LICENSE for details.
*/
#include "Arduino.h"
#define WLED 13 // Most Arduino boards already have an LED attached to pin 13 on the board itself
void setup()
{
pinMode(WLED, OUTPUT); // set pin as output
}
void loop()
{
digitalWrite(WLED, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(WLED, LOW); // set the LED off
delay(1000); // wait for a second
}

View File

@ -1,76 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="0.1706826288">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1706826288" moduleId="org.eclipse.cdt.core.settings" name="Default">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildProperties="" description="" id="0.1706826288" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
<folderInfo id="0.1706826288." name="/" resourcePath="">
<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.944229927" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.eclipse.cdt.build.core.prefbase.toolchain.944229927.1146791472" name=""/>
<builder cleanBuildTarget="run --target clean" command="platformio" id="org.eclipse.cdt.build.core.settings.default.builder.81097189" incrementalBuildTarget="run" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
<tool id="org.eclipse.cdt.build.core.settings.holder.libs.615700392" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
<tool id="org.eclipse.cdt.build.core.settings.holder.509191184" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1976688999" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-atmelavr/avr/include&quot;"/>
</option>
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.1146079252" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
<listOptionValue builtIn="false" value="__AVR_ATmega168__"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1061741986" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
<tool id="org.eclipse.cdt.build.core.settings.holder.524184308" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1379816017" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/atmelavr/tools/toolchain/avr/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-atmelavr/avr/include&quot;"/>
</option>
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.1180078676" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
<listOptionValue builtIn="false" value="__AVR_ATmega168__"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.492516621" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
<tool id="org.eclipse.cdt.build.core.settings.holder.746817635" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.905883681" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/atmelavr/tools/toolchain/avr/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-atmelavr/avr/include&quot;"/>
</option>
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.1589314232" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
<listOptionValue builtIn="false" value="__AVR_ATmega168__"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.247974714" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="test.null.312168076" name="test"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="0.1706826288">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="Default">
<resource resourceType="PROJECT" workspacePath="/test"/>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
</cproject>

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>atmelavr_atmega168</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
</projectDescription>

View File

@ -1,67 +0,0 @@
eclipse.preferences.version=1
org.eclipse.cdt.codan.checkers.errnoreturn=Warning
org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
org.eclipse.cdt.codan.checkers.errreturnvalue=Error
org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.checkers.noreturn=Error
org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=Error
org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=Error
org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning
org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error
org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning
org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false}
org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning
org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()}
org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=Error
org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning
org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true}
org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.InvalidArguments=Error
org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=Error
org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=Error
org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=Error
org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info
org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning
org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.OverloadProblem=Error
org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=Error
org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=Error
org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning
org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning
org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning
org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()}
org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning
org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false}
org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning
org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false}
org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning
org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning
org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning
org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")}
org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}

View File

@ -1,28 +0,0 @@
#
# Project Configuration File
#
# A detailed documentation with the EXAMPLES is located here:
# http://docs.platformio.org/en/latest/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:atmelavr_atmega168]
platform = atmelavr
board_mcu = atmega168
board_f_cpu = 16000000L
upload_protocol = arduino
upload_speed = 19200
# targets = upload

View File

@ -1,23 +0,0 @@
/**
* Copyright (C) Ivan Kravets <me@ikravets.com>
* See LICENSE for details.
*/
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
// make the LED pin an output for PORTB5
DDRB = 1 << 5;
while (1)
{
_delay_ms(500);
// toggle the LED
PORTB ^= 1 << 5;
}
return 0;
}

View File

@ -1,69 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="0.1778616297">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1778616297" moduleId="org.eclipse.cdt.core.settings" name="Default">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildProperties="" description="" id="0.1778616297" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
<folderInfo id="0.1778616297." name="/" resourcePath="">
<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.576447412" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.eclipse.cdt.build.core.prefbase.toolchain.576447412.203226592" name=""/>
<builder cleanBuildTarget="run --target clean" command="platformio" id="org.eclipse.cdt.build.core.settings.default.builder.592280532" incrementalBuildTarget="run" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
<tool id="org.eclipse.cdt.build.core.settings.holder.libs.251286138" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
<tool id="org.eclipse.cdt.build.core.settings.holder.1824859462" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.2021826184" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-timsp430/msp430/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/framework-energiamsp430/cores/msp430&quot;"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1509314343" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
<tool id="org.eclipse.cdt.build.core.settings.holder.1251065831" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1876118829" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/timsp430/tools/toolchain/msp430/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-timsp430/msp430/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/framework-energiamsp430/cores/msp430&quot;"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.518683230" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
<tool id="org.eclipse.cdt.build.core.settings.holder.847615484" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1922525168" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/timsp430/tools/toolchain/msp430/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-timsp430/msp430/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/framework-energiamsp430/cores/msp430&quot;"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.68822385" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="tilaunchpad_msp430g2.null.26341321" name="tilaunchpad_msp430g2"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="0.1778616297">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="Default">
<resource resourceType="PROJECT" workspacePath="/tilaunchpad_msp430g2"/>
</configuration>
</storageModule>
</cproject>

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>tilaunchpad_msp430g2</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
</projectDescription>

View File

@ -1,27 +0,0 @@
#
# Project Configuration File
#
# A detailed documentation with the EXAMPLES is located here:
# http://docs.platformio.org/en/latest/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:launchpad_msp430g2]
platform = timsp430
board_mcu = msp430g2553
board_f_cpu = 16000000L
upload_protocol = rf2500
# targets = upload

View File

@ -1,26 +0,0 @@
/**
* Copyright (C) Ivan Kravets <me@ikravets.com>
* See LICENSE for details.
*/
#include <msp430g2553.h>
int main(void)
{
WDTCTL = WDTPW + WDTHOLD;
// make the LED pin an output for P1.0
P1DIR |= 0x01;
volatile int i;
while (1)
{
for (i = 0; i < 10000; i++);
// toggle the LED
P1OUT ^= 0x01;
}
return 0;
}

View File

@ -1,63 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="0.18931736">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.18931736" moduleId="org.eclipse.cdt.core.settings" name="Default">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildProperties="" description="" id="0.18931736" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
<folderInfo id="0.18931736." name="/" resourcePath="">
<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.946409409" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.eclipse.cdt.build.core.prefbase.toolchain.946409409.264614082" name=""/>
<builder cleanBuildTarget="run --target clean" command="platformio" id="org.eclipse.cdt.build.core.settings.default.builder.2099118713" incrementalBuildTarget="run" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
<tool id="org.eclipse.cdt.build.core.settings.holder.libs.1860044306" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
<tool id="org.eclipse.cdt.build.core.settings.holder.490604788" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1186638432" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/framework-energiativa/cores/lm4f&quot;"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1338936035" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
<tool id="org.eclipse.cdt.build.core.settings.holder.1620533967" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1007143336" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/framework-energiativa/cores/lm4f&quot;"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.2051673558" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
<tool id="org.eclipse.cdt.build.core.settings.holder.549164281" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.454536693" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/framework-energiativa/cores/lm4f&quot;"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1468046922" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="titiva_lm4f120h5qr.null.1743670775" name="titiva_lm4f120h5qr"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="0.18931736">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope"/>
</cproject>

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>titiva_lm4f120</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
</projectDescription>

View File

@ -1,36 +0,0 @@
/**
* Copyright (C) Ivan Kravets <me@ikravets.com>
* See LICENSE for details.
*/
#define false 0
#define true 1
typedef int bool;
#include <stdint.h>
#include "inc/hw_memmap.h"
#include "driverlib/gpio.h"
#include "driverlib/sysctl.h"
#define LED_RED GPIO_PIN_1
#define LED_BLUE GPIO_PIN_2
#define LED_GREEN GPIO_PIN_3
void setup() {
SysCtlClockSet(
SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN);
}
void loop() {
GPIOPinWrite(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN, LED_RED);
SysCtlDelay(3000000);
GPIOPinWrite(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN, LED_BLUE);
SysCtlDelay(3000000);
GPIOPinWrite(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN, LED_GREEN);
SysCtlDelay(3000000);
}

10
examples/ide/clion/.idea/clion.iml generated Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="CPP_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/CMakeLists.txt" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

5
examples/ide/clion/.idea/misc.xml generated Normal file
View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
<component name="ProjectRootManager" version="2" />
</project>

9
examples/ide/clion/.idea/modules.xml generated Normal file
View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/clion.iml" filepath="$PROJECT_DIR$/.idea/clion.iml" />
<module fileurl="file://$PROJECT_DIR$/.idea/platformio.iml" filepath="$PROJECT_DIR$/.idea/platformio.iml" />
</modules>
</component>
</project>

8
examples/ide/clion/.idea/platformio.iml generated Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="CPP_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

6
examples/ide/clion/.idea/vcs.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="" />
</component>
</project>

287
examples/ide/clion/.idea/workspace.xml generated Normal file
View File

@ -0,0 +1,287 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CMakeRunConfigurationManager" shouldGenerate="true" assignedExecutableTargets="true" buildAllGenerated="true">
<generated>
<config projectName="PlatformIO" targetName="DEBUG" />
<config projectName="PlatformIO" targetName="PLATFORMIO_RUN" />
<config projectName="PlatformIO" targetName="PlatformIO" />
<config projectName="PlatformIO" targetName="PLATFORMIO_UPLOAD" />
<config projectName="PlatformIO" targetName="PLATFORMIO_CLEAN" />
<config projectName="PlatformIO" targetName="PLATFORMIO_BUILD" />
<config projectName="PlatformIO" targetName="PLATFORMIO" />
</generated>
</component>
<component name="CMakeSettings" AUTO_RELOAD="true" GENERATION_PASS_SYSTEM_ENVIRONMENT="true">
<ADDITIONAL_GENERATION_ENVIRONMENT>
<envs />
</ADDITIONAL_GENERATION_ENVIRONMENT>
</component>
<component name="ChangeListManager">
<list default="true" id="ec922180-b3d3-40f1-af0b-2568113a9075" name="Default" comment="" />
<ignored path="platformio.iws" />
<ignored path=".idea/workspace.xml" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="TRACKING_ENABLED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
<component name="CreatePatchCommitExecutor">
<option name="PATCH_PATH" value="" />
</component>
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
<component name="FavoritesManager">
<favorites_list name="PlatformIO" />
</component>
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="CMakeLists.txt" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/CMakeLists.txt">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.45302013">
<caret line="18" column="20" selection-start-line="18" selection-start-column="20" selection-end-line="18" selection-end-column="20" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="blink.cpp" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/blink.cpp">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="13" selection-start-line="0" selection-start-column="13" selection-end-line="0" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="JsBuildToolGruntFileManager" detection-done="true" />
<component name="JsGulpfileManager">
<detection-done>true</detection-done>
</component>
<component name="NamedScopeManager">
<order />
</component>
<component name="ProjectFrameBounds">
<option name="x" value="162" />
<option name="y" value="23" />
<option name="width" value="1400" />
<option name="height" value="1000" />
</component>
<component name="ProjectInspectionProfilesVisibleTreeState">
<entry key="Project Default">
<profile-state>
<expanded-state>
<State>
<id />
</State>
</expanded-state>
<selected-state>
<State>
<id>C/C++</id>
</State>
</selected-state>
</profile-state>
</entry>
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
<OptionsSetting value="true" id="Remove" />
<OptionsSetting value="true" id="Checkout" />
<OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" />
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectView">
<navigator currentView="ProjectPane" proportions="" version="1">
<flattenPackages />
<showMembers />
<showModules />
<showLibraryContents />
<hideEmptyPackages />
<abbreviatePackageNames />
<autoscrollToSource />
<autoscrollFromSource />
<sortByType />
</navigator>
<panes>
<pane id="ProjectPane">
<subPane>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="clion" />
<option name="myItemType" value="com.jetbrains.cidr.projectView.CidrFilesViewHelper$MyProjectTreeStructure$1" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="clion" />
<option name="myItemType" value="com.jetbrains.cidr.projectView.CidrFilesViewHelper$MyProjectTreeStructure$1" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="clion" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="clion" />
<option name="myItemType" value="com.jetbrains.cidr.projectView.CidrFilesViewHelper$MyProjectTreeStructure$1" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="clion" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
</panes>
</component>
<component name="PropertiesComponent">
<property name="recentsLimit" value="5" />
<property name="settings.editor.selected.configurable" value="CPPToolchains" />
<property name="settings.editor.splitter.proportion" value="0.2" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/CMakeLists.txt" />
<property name="restartRequiresConfirmation" value="true" />
<property name="FullScreen" value="false" />
</component>
<component name="RunManager" selected="Application.PLATFORMIO_CLEAN">
<configuration default="true" type="CMakeRunConfiguration" factoryName="Application" PASS_PARENT_ENVS="FALSE" PROJECT_NAME="PlatformIO" TARGET_NAME="PlatformIO" CONFIG_NAME="Debug">
<envs />
<method />
</configuration>
<configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js">
<node-options />
<gulpfile />
<tasks />
<arguments />
<pass-parent-envs>true</pass-parent-envs>
<envs />
<method />
</configuration>
<configuration default="false" name="Build All" type="CMakeRunConfiguration" factoryName="Application" WORKING_DIR="" PASS_PARENT_ENVS="FALSE" CONFIG_NAME="Debug" EXPLICIT_BUILD_TARGET_NAME="all">
<envs />
<method />
</configuration>
<configuration default="false" name="PLATFORMIO_BUILD" type="CMakeRunConfiguration" factoryName="Application" WORKING_DIR="" PASS_PARENT_ENVS="FALSE" PROJECT_NAME="PlatformIO" TARGET_NAME="PLATFORMIO_BUILD" CONFIG_NAME="Debug">
<envs />
<method />
</configuration>
<configuration default="false" name="PLATFORMIO_CLEAN" type="CMakeRunConfiguration" factoryName="Application" WORKING_DIR="" PASS_PARENT_ENVS="FALSE" PROJECT_NAME="PlatformIO" TARGET_NAME="PLATFORMIO_CLEAN" CONFIG_NAME="Debug">
<envs />
<method />
</configuration>
<configuration default="false" name="PLATFORMIO_UPLOAD" type="CMakeRunConfiguration" factoryName="Application" WORKING_DIR="" PASS_PARENT_ENVS="FALSE" PROJECT_NAME="PlatformIO" TARGET_NAME="PLATFORMIO_UPLOAD" CONFIG_NAME="Debug">
<envs />
<method />
</configuration>
<list size="4">
<item index="0" class="java.lang.String" itemvalue="Application.Build All" />
<item index="1" class="java.lang.String" itemvalue="Application.PLATFORMIO_BUILD" />
<item index="2" class="java.lang.String" itemvalue="Application.PLATFORMIO_CLEAN" />
<item index="3" class="java.lang.String" itemvalue="Application.PLATFORMIO_UPLOAD" />
</list>
</component>
<component name="ShelveChangesManager" show_recycled="false" />
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="ec922180-b3d3-40f1-af0b-2568113a9075" name="Default" comment="" />
<created>1435919971910</created>
<option name="number" value="Default" />
<updated>1435919971910</updated>
</task>
<servers />
</component>
<component name="ToolWindowManager">
<frame x="162" y="23" width="1400" height="1000" extended-state="0" />
<editor active="true" />
<layout>
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32975295" sideWeight="0.53684974" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32996634" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="CMake" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32996634" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32996634" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32996634" sideWeight="0.4631503" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
</layout>
</component>
<component name="Vcs.Log.UiProperties">
<option name="RECENTLY_FILTERED_USER_GROUPS">
<collection />
</option>
<option name="RECENTLY_FILTERED_BRANCH_GROUPS">
<collection />
</option>
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="VcsManagerConfiguration">
<ignored-roots>
<path value="$PROJECT_DIR$/../../.." />
</ignored-roots>
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<option name="time" value="4" />
</breakpoint-manager>
<watches-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/blink.cpp">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="13" selection-start-line="0" selection-start-column="13" selection-end-line="0" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/CMakeLists.txt">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.45302013">
<caret line="18" column="20" selection-start-line="18" selection-start-column="20" selection-end-line="18" selection-end-column="20" />
<folding />
</state>
</provider>
</entry>
</component>
<component name="masterDetails">
<states>
<state key="ScopeChooserConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
</states>
</component>
</project>

View File

@ -0,0 +1,36 @@
cmake_minimum_required(VERSION 3.2)
project(PlatformIO)
set(PLATFORMIO_CMD platformio)
include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoavr/variants/standard")
include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoavr/cores/arduino")
include_directories("$ENV{HOME}/.platformio/packages/toolchain-atmelavr/avr/include")
include_directories("$ENV{HOME}/.platformio/packages/toolchain-atmelavr/bfd/include")
include_directories("$ENV{HOME}/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include")
include_directories("$ENV{HOME}/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include-fixed")
add_definitions(-DF_CPU=16000000L)
add_definitions(-DARDUINO_ARCH_AVR)
add_definitions(-DARDUINO_AVR_UNO)
add_definitions(-DARDUINO=10605)
add_definitions(-DPLATFORMIO=020300)
add_definitions(-D__AVR_ATmega328P__)
add_custom_target(
PLATFORMIO_BUILD ALL
COMMAND ${PLATFORMIO_CMD} -f -c clion run
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_custom_target(
PLATFORMIO_UPLOAD ALL
COMMAND ${PLATFORMIO_CMD} -f -c clion run --target upload
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_custom_target(
PLATFORMIO_CLEAN ALL
COMMAND ${PLATFORMIO_CMD} -f -c clion run --target clean
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)

View File

@ -0,0 +1,8 @@
CLion IDE Integration
=====================
The detailed information and steps are described in the main documentation:
`PlatformIO integration with CLion IDE <http://docs.platformio.org/en/latest/ide/clion.html>`_.
.. image:: http://docs.platformio.org/en/latest/_images/ide-platformio-clion.png
:target: http://docs.platformio.org/en/latest/ide/clion.html

View File

@ -0,0 +1,8 @@
Documentation: http://docs.platformio.org/en/latest/userguide/cmd_init.html
This directory is intended for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file.
The source code of each library should be placed in separate directory.
For example, "lib/private_lib/[here are source files]".

View File

@ -17,7 +17,8 @@
# Automatic targets - enable auto-uploading # Automatic targets - enable auto-uploading
# targets = upload # targets = upload
[env:flora8] [env:uno]
platform = atmelavr platform = atmelavr
framework = arduino framework = arduino
board = flora8 board = uno
# targets = upload

View File

@ -0,0 +1,15 @@
#include "Arduino.h"
// Most Arduino boards already have a LED attached to pin 13 on the board itself
#define LED_PIN 13
void setup() {
pinMode(LED_PIN, OUTPUT); // set pin as output
}
void loop() {
digitalWrite(LED_PIN, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(LED_PIN, LOW); // set the LED off
delay(1000); // wait for a second
}

View File

@ -15,43 +15,66 @@
</extensions> </extensions>
</storageModule> </storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0"> <storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildProperties="" description="" id="0.910961921" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg"> <configuration artifactName="PlatformIO" buildProperties="" description="" id="0.910961921" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
<folderInfo id="0.910961921." name="/" resourcePath=""> <folderInfo id="0.910961921." name="/" resourcePath="">
<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.952979152" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain"> <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.952979152" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.eclipse.cdt.build.core.prefbase.toolchain.952979152.52310970" name=""/> <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.eclipse.cdt.build.core.prefbase.toolchain.952979152.52310970" name=""/>
<builder cleanBuildTarget="run --target clean" command="platformio" id="org.eclipse.cdt.build.core.settings.default.builder.1519453406" incrementalBuildTarget="run" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/> <builder cleanBuildTarget="-f -c eclipse run --target clean" command="platformio" id="org.eclipse.cdt.build.core.settings.default.builder.1519453406" incrementalBuildTarget="-f -c eclipse run" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
<tool id="org.eclipse.cdt.build.core.settings.holder.libs.1409095472" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/> <tool id="org.eclipse.cdt.build.core.settings.holder.libs.1409095472" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
<tool id="org.eclipse.cdt.build.core.settings.holder.1624502120" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder"> <tool id="org.eclipse.cdt.build.core.settings.holder.1624502120" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.239157887" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath"> <option id="org.eclipse.cdt.build.core.settings.holder.incpaths.239157887" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-atmelavr/avr/include&quot;"/> <listOptionValue builtIn="false" value="${HOME}/.platformio/packages/framework-arduinoavr/variants/standard"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/framework-arduinoavr/cores/arduino&quot;"/> <listOptionValue builtIn="false" value="${HOME}/.platformio/packages/framework-arduinoavr/cores/arduino"/>
<listOptionValue builtIn="false" value="${HOME}/.platformio/packages/toolchain-atmelavr/avr/include"/>
<listOptionValue builtIn="false" value="${HOME}/.platformio/packages/toolchain-atmelavr/bfd/include"/>
<listOptionValue builtIn="false" value="${HOME}/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include"/>
<listOptionValue builtIn="false" value="${HOME}/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include-fixed"/>
</option> </option>
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.922107295" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols"> <option id="org.eclipse.cdt.build.core.settings.holder.symbols.922107295" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
<listOptionValue builtIn="false" value="__AVR_ATmega168__"/> <listOptionValue builtIn="false" value="F_CPU=16000000L"/>
<listOptionValue builtIn="false" value="ARDUINO_ARCH_AVR"/>
<listOptionValue builtIn="false" value="ARDUINO_AVR_UNO"/>
<listOptionValue builtIn="false" value="ARDUINO=10605"/>
<listOptionValue builtIn="false" value="PLATFORMIO=020300"/>
<listOptionValue builtIn="false" value="__AVR_ATmega328P__"/>
</option> </option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.149990277" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/> <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.149990277" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool> </tool>
<tool id="org.eclipse.cdt.build.core.settings.holder.54121539" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder"> <tool id="org.eclipse.cdt.build.core.settings.holder.54121539" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1096940598" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath"> <option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1096940598" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/atmelavr/tools/toolchain/avr/include&quot;"/> <listOptionValue builtIn="false" value="${HOME}/.platformio/packages/framework-arduinoavr/variants/standard"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/atmelavr/frameworks/arduino/cores/arduino&quot;"/> <listOptionValue builtIn="false" value="${HOME}/.platformio/packages/framework-arduinoavr/cores/arduino"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-atmelavr/avr/include&quot;"/> <listOptionValue builtIn="false" value="${HOME}/.platformio/packages/toolchain-atmelavr/avr/include"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/framework-arduinoavr/cores/arduino&quot;"/> <listOptionValue builtIn="false" value="${HOME}/.platformio/packages/toolchain-atmelavr/bfd/include"/>
<listOptionValue builtIn="false" value="${HOME}/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include"/>
<listOptionValue builtIn="false" value="${HOME}/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include-fixed"/>
</option> </option>
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.1198905600" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols"> <option id="org.eclipse.cdt.build.core.settings.holder.symbols.1198905600" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
<listOptionValue builtIn="false" value="__AVR_ATmega168__"/> <listOptionValue builtIn="false" value="F_CPU=16000000L"/>
<listOptionValue builtIn="false" value="ARDUINO_ARCH_AVR"/>
<listOptionValue builtIn="false" value="ARDUINO_AVR_UNO"/>
<listOptionValue builtIn="false" value="ARDUINO=10605"/>
<listOptionValue builtIn="false" value="PLATFORMIO=020300"/>
<listOptionValue builtIn="false" value="__AVR_ATmega328P__"/>
</option> </option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.762536863" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/> <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.762536863" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool> </tool>
<tool id="org.eclipse.cdt.build.core.settings.holder.1310559623" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder"> <tool id="org.eclipse.cdt.build.core.settings.holder.1310559623" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.41298875" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath"> <option id="org.eclipse.cdt.build.core.settings.holder.incpaths.41298875" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/atmelavr/tools/toolchain/avr/include&quot;"/> <listOptionValue builtIn="false" value="${HOME}/.platformio/packages/framework-arduinoavr/variants/standard"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/atmelavr/frameworks/arduino/cores/arduino&quot;"/> <listOptionValue builtIn="false" value="${HOME}/.platformio/packages/framework-arduinoavr/cores/arduino"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-atmelavr/avr/include&quot;"/> <listOptionValue builtIn="false" value="${HOME}/.platformio/packages/toolchain-atmelavr/avr/include"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/framework-arduinoavr/cores/arduino&quot;"/> <listOptionValue builtIn="false" value="${HOME}/.platformio/packages/toolchain-atmelavr/bfd/include"/>
<listOptionValue builtIn="false" value="${HOME}/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include"/>
<listOptionValue builtIn="false" value="${HOME}/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include-fixed"/>
</option> </option>
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.884639970" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols"> <option id="org.eclipse.cdt.build.core.settings.holder.symbols.884639970" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
<listOptionValue builtIn="false" value="__AVR_ATmega168__"/> <listOptionValue builtIn="false" value="F_CPU=16000000L"/>
<listOptionValue builtIn="false" value="ARDUINO_ARCH_AVR"/>
<listOptionValue builtIn="false" value="ARDUINO_AVR_UNO"/>
<listOptionValue builtIn="false" value="ARDUINO=10605"/>
<listOptionValue builtIn="false" value="PLATFORMIO=020300"/>
<listOptionValue builtIn="false" value="__AVR_ATmega328P__"/>
</option> </option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.549319812" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/> <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.549319812" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool> </tool>
@ -63,7 +86,7 @@
</cconfiguration> </cconfiguration>
</storageModule> </storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0"> <storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="arduino_pro5.null.189551033" name="arduino_pro5"/> <project id="PlatformIO.null.189551033" name="PlatformIO"/>
</storageModule> </storageModule>
<storageModule moduleId="scannerConfiguration"> <storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/> <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
@ -74,7 +97,7 @@
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/> <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope" versionNumber="2"> <storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="Default"> <configuration configurationName="Default">
<resource resourceType="PROJECT" workspacePath="/arduino_pro5"/> <resource resourceType="PROJECT" workspacePath="/uno"/>
</configuration> </configuration>
</storageModule> </storageModule>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<projectDescription> <projectDescription>
<name>arduino_pro5</name> <name>PlatformIO</name>
<comment></comment> <comment></comment>
<projects> <projects>
</projects> </projects>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project>
<configuration id="0.910961921" name="Default">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="-869785120007741010" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${HOME}/.platformio/packages/toolchain-atmelavr/bin/avr-g++ ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true" store-entries-with-project="false">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
</extension>
</configuration>
</project>

View File

@ -0,0 +1,8 @@
Eclipse IDE Integration
=======================
The detailed information and steps are described in the main documentation:
`PlatformIO integration with Eclipse IDE <http://docs.platformio.org/en/latest/ide/eclipse.html>`_.
.. image:: http://docs.platformio.org/en/latest/_images/ide-platformio-eclipse.png
:target: http://docs.platformio.org/en/latest/ide/eclipse.html

View File

@ -0,0 +1,8 @@
Documentation: http://docs.platformio.org/en/latest/userguide/cmd_init.html
This directory is intended for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file.
The source code of each library should be placed in separate directory.
For example, "lib/private_lib/[here are source files]".

View File

@ -17,7 +17,8 @@
# Automatic targets - enable auto-uploading # Automatic targets - enable auto-uploading
# targets = upload # targets = upload
[env:arduino_uno] [env:uno]
platform = atmelavr platform = atmelavr
framework = arduino framework = arduino
board = uno board = uno
# targets = upload

View File

@ -0,0 +1,15 @@
#include "Arduino.h"
// Most Arduino boards already have a LED attached to pin 13 on the board itself
#define LED_PIN 13
void setup() {
pinMode(LED_PIN, OUTPUT); // set pin as output
}
void loop() {
digitalWrite(LED_PIN, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(LED_PIN, LOW); // set the LED off
delay(1000); // wait for a second
}

View File

@ -0,0 +1,8 @@
Qt Creator IDE Integration
==========================
The detailed information and steps are described in the main documentation:
`PlatformIO integration with Qt Creator <http://docs.platformio.org/en/latest/ide/qtcreator.html>`_.
.. image:: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-7.png
:target: http://docs.platformio.org/en/latest/ide/qtcreator.html

View File

@ -0,0 +1,8 @@
Documentation: http://docs.platformio.org/en/latest/userguide/cmd_init.html
This directory is intended for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file.
The source code of each library should be placed in separate directory.
For example, "lib/private_lib/[here are source files]".

View File

@ -17,7 +17,8 @@
# Automatic targets - enable auto-uploading # Automatic targets - enable auto-uploading
# targets = upload # targets = upload
[env:arduino_uno] [env:uno]
platform = atmelavr platform = atmelavr
framework = arduino framework = arduino
board = uno board = uno
# targets = upload

View File

@ -2,18 +2,25 @@ win32 {
HOMEDIR += $$(USERPROFILE) HOMEDIR += $$(USERPROFILE)
} }
else { else {
HOMEDIR += $$(PWD) HOMEDIR += $$(HOME)
} }
INCLUDEPATH += "$$HOMEDIR/.platformio/packages/framework-arduinoavr/cores/arduino" INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/framework-arduinoavr/variants/standard"
INCLUDEPATH += "$$HOMEDIR/.platformio/packages/toolchain-atmelavr/avr/include" INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/framework-arduinoavr/cores/arduino"
INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/toolchain-atmelavr/avr/include"
INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/toolchain-atmelavr/bfd/include"
INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include"
INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include-fixed"
win32:INCLUDEPATH ~= s,/,\\,g DEFINES += "F_CPU=16000000L"
DEFINES += "ARDUINO_ARCH_AVR"
# DEFINES += __AVR_ATmega328__ DEFINES += "ARDUINO_AVR_UNO"
DEFINES += "ARDUINO=10605"
DEFINES += "PLATFORMIO=020300"
DEFINES += "__AVR_ATmega328P__"
OTHER_FILES += \ OTHER_FILES += \
platformio.ini platformio.ini
SOURCES += \ SOURCES += \
src/main.c src/blink.cpp

View File

@ -0,0 +1,15 @@
#include "Arduino.h"
// Most Arduino boards already have a LED attached to pin 13 on the board itself
#define LED_PIN 13
void setup() {
pinMode(LED_PIN, OUTPUT); // set pin as output
}
void loop() {
digitalWrite(LED_PIN, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(LED_PIN, LOW); // set the LED off
delay(1000); // wait for a second
}

View File

@ -1,25 +0,0 @@
#include "Arduino.h"
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
int led = 1; // blink 'digital' pin 1 - AKA the built in red LED
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}

View File

@ -1,24 +0,0 @@
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
int led = 1; // blink 'digital' pin 1 - AKA the built in red LED
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}

View File

@ -0,0 +1,8 @@
Sublime Text Integration
========================
The detailed information and steps are described in the main documentation:
`PlatformIO integration with Sublime Text <http://docs.platformio.org/en/latest/ide/sublimetext.html>`_.
.. image:: http://docs.platformio.org/en/latest/_images/ide-sublime-text-platformio-newproject-5.png
:target: http://docs.platformio.org/en/latest/ide/sublimetext.html

View File

@ -0,0 +1,8 @@
Documentation: http://docs.platformio.org/en/latest/userguide/cmd_init.html
This directory is intended for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file.
The source code of each library should be placed in separate directory.
For example, "lib/private_lib/[here are source files]".

View File

@ -17,9 +17,8 @@
# Automatic targets - enable auto-uploading # Automatic targets - enable auto-uploading
# targets = upload # targets = upload
[env:arduino_pro5v] [env:uno]
platform = atmelavr platform = atmelavr
framework = arduino framework = arduino
board = pro16MHzatmega168 board = uno
# targets = upload
# targets = upload

View File

@ -5,6 +5,7 @@
"cmd": "cmd":
[ [
"platformio", "platformio",
"-f", "-c", "sublimetext",
"run" "run"
], ],
"name": "PlatformIO", "name": "PlatformIO",
@ -14,8 +15,9 @@
"cmd": "cmd":
[ [
"platformio", "platformio",
"-f", "-c", "sublimetext",
"run", "run",
"-t", "--target",
"clean" "clean"
], ],
"name": "Clean" "name": "Clean"
@ -24,14 +26,16 @@
"cmd": "cmd":
[ [
"platformio", "platformio",
"-f", "-c", "sublimetext",
"run", "run",
"-t", "--target",
"upload" "upload"
], ],
"name": "Upload" "name": "Upload"
} }
], ],
"working_dir": "${project_path:${folder}}" "working_dir": "${project_path:${folder}}",
"selector": "source.c, source.c++"
} }
], ],
"folders": "folders":

View File

@ -0,0 +1,15 @@
#include "Arduino.h"
// Most Arduino boards already have a LED attached to pin 13 on the board itself
#define LED_PIN 13
void setup() {
pinMode(LED_PIN, OUTPUT); // set pin as output
}
void loop() {
digitalWrite(LED_PIN, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(LED_PIN, LOW); // set the LED off
delay(1000); // wait for a second
}

View File

@ -1,29 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="Source Files\src">
<UniqueIdentifier>{cad450ef-1a84-42d4-a5b5-a1736b8833d3}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<Text Include="readme.txt" />
</ItemGroup>
<ItemGroup>
<None Include="platformio.ini" />
<None Include="src\blink.pde">
<Filter>Source Files\src</Filter>
</None>
</ItemGroup>
</Project>

View File

@ -1,24 +0,0 @@
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
int led = 1; // blink 'digital' pin 1 - AKA the built in red LED
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}

View File

@ -0,0 +1,8 @@
Visual Studio Integration
=========================
The detailed information and steps are described in the main documentation:
`PlatformIO integration with Visual Studio <http://docs.platformio.org/en/latest/ide/visualstudio.html>`_.
.. image:: http://docs.platformio.org/en/latest/_images/ide-vs-platformio-newproject-8.png
:target: http://docs.platformio.org/en/latest/ide/visualstudio.html

View File

@ -0,0 +1,8 @@
Documentation: http://docs.platformio.org/en/latest/userguide/cmd_init.html
This directory is intended for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file.
The source code of each library should be placed in separate directory.
For example, "lib/private_lib/[here are source files]".

View File

@ -16,10 +16,9 @@
# #
# Automatic targets - enable auto-uploading # Automatic targets - enable auto-uploading
# targets = upload # targets = upload
[env:launchpad_lm4f120] [env:uno]
platform = titiva platform = atmelavr
framework = energia framework = arduino
board = lplm4f120h5qr board = uno
# targets = upload
# targets = upload

View File

@ -1,62 +1,63 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32"> <ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32"> <ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration> <Configuration>Release</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<ProjectGuid>{0FA9C3A8-452B-41EF-A418-9102B170F49F}</ProjectGuid> <ProjectGuid>{0FA9C3A8-452B-41EF-A418-9102B170F49F}</ProjectGuid>
<Keyword>MakeFileProj</Keyword> <Keyword>MakeFileProj</Keyword>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType> <ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset> <PlatformToolset>v120</PlatformToolset>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType> <ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset> <PlatformToolset>v120</PlatformToolset>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<NMakeBuildCommandLine>platformio run</NMakeBuildCommandLine> <NMakeBuildCommandLine>platformio -f -c visualstudio run</NMakeBuildCommandLine>
<NMakeCleanCommandLine>platformio run -t clean</NMakeCleanCommandLine> <NMakeCleanCommandLine>platformio -f -c visualstudio run --target clean</NMakeCleanCommandLine>
<NMakePreprocessorDefinitions>WIN32;_DEBUG;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions> <NMakePreprocessorDefinitions>F_CPU=16000000L;ARDUINO_ARCH_AVR;ARDUINO_AVR_UNO;ARDUINO=10605;PLATFORMIO=020300;__AVR_ATmega328P__</NMakePreprocessorDefinitions>
<NMakeIncludeSearchPath>$(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\toolchain-atmelavr\avr\include;$(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\framework-arduinoavr\cores\arduino;$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath> <NMakeIncludeSearchPath>$(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\framework-arduinoavr\variants\standard;$(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\framework-arduinoavr\cores\arduino;$(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\toolchain-atmelavr\avr\include;$(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\toolchain-atmelavr\lib\gcc\avr\4.8.1\include;$(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\toolchain-atmelavr\lib\gcc\avr\4.8.1\include-fixed</NMakeIncludeSearchPath>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<NMakeBuildCommandLine>platformio run</NMakeBuildCommandLine> <NMakeBuildCommandLine>platformio run</NMakeBuildCommandLine>
<NMakeCleanCommandLine>platformio run -t clean</NMakeCleanCommandLine> <NMakeCleanCommandLine>platformio run --target clean</NMakeCleanCommandLine>
<NMakePreprocessorDefinitions>WIN32;NDEBUG;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions> <NMakePreprocessorDefinitions>{";".join(defines)}}</NMakePreprocessorDefinitions>
<NMakeIncludeSearchPath>$(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\toolchain-atmelavr\avr\include;$(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\framework-arduinoavr\cores\arduino;$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath> <NMakeIncludeSearchPath>$(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\framework-arduinoavr\variants\standard;$(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\framework-arduinoavr\cores\arduino;$(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\toolchain-atmelavr\avr\include;$(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\toolchain-atmelavr\lib\gcc\avr\4.8.1\include;$(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\toolchain-atmelavr\lib\gcc\avr\4.8.1\include-fixed</NMakeIncludeSearchPath>
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup> <ItemDefinitionGroup>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Text Include="readme.txt" /> <ImportGroup Label="ExtensionTargets">
</ItemGroup> </ImportGroup>
<ItemGroup> <ItemGroup>
<None Include="platformio.ini" /> <None Include="platformio.ini" />
<None Include="src\blink.pde" /> </ItemGroup>
</ItemGroup> <ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ClCompile Include="src\blink.ino">
<ImportGroup Label="ExtensionTargets"> <Filter>Source Files</Filter>
</ImportGroup> </ClCompile>
</Project> </ItemGroup>
</Project>

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;ino;pde</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="platformio.ini" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\blink.ino">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,15 @@
#include "Arduino.h"
// Most Arduino boards already have a LED attached to pin 13 on the board itself
#define LED_PIN 13
void setup() {
pinMode(LED_PIN, OUTPUT); // set pin as output
}
void loop() {
digitalWrite(LED_PIN, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(LED_PIN, LOW); // set the LED off
delay(1000); // wait for a second
}

View File

@ -1,7 +1,7 @@
# Copyright (C) Ivan Kravets <me@ikravets.com> # Copyright (C) Ivan Kravets <me@ikravets.com>
# See LICENSE for details. # See LICENSE for details.
VERSION = (2, 2, 2) VERSION = (2, 3, 0)
__version__ = ".".join([str(s) for s in VERSION]) __version__ = ".".join([str(s) for s in VERSION])
__title__ = "platformio" __title__ = "platformio"

View File

@ -51,18 +51,20 @@ class PlatformioCLI(click.MultiCommand): # pylint: disable=R0904
raise AttributeError() raise AttributeError()
@click.command(cls=PlatformioCLI) @click.command(cls=PlatformioCLI,
context_settings=dict(help_option_names=["-h", "--help"]))
@click.version_option(__version__, prog_name="PlatformIO") @click.version_option(__version__, prog_name="PlatformIO")
@click.option("--force", "-f", is_flag=True, @click.option("--force", "-f", is_flag=True,
help="Force to accept any confirmation prompts") help="Force to accept any confirmation prompts.")
@click.option("--caller", "-c", help="Caller ID (service).")
@click.pass_context @click.pass_context
def cli(ctx, force): def cli(ctx, force, caller):
maintenance.on_platformio_start(ctx, force) maintenance.on_platformio_start(ctx, force, caller)
@cli.resultcallback() @cli.resultcallback()
@click.pass_context @click.pass_context
def process_result(ctx, result, force): # pylint: disable=W0613 def process_result(ctx, result, force, caller): # pylint: disable=W0613
maintenance.on_platformio_end(ctx, result) maintenance.on_platformio_end(ctx, result)
@ -70,9 +72,14 @@ def main():
try: try:
# https://urllib3.readthedocs.org # https://urllib3.readthedocs.org
# /en/latest/security.html#insecureplatformwarning # /en/latest/security.html#insecureplatformwarning
requests.packages.urllib3.disable_warnings() try:
requests.packages.urllib3.disable_warnings()
except AttributeError:
raise exception.PlatformioException(
"Invalid installation of Python `requests` package`. See "
"< https://github.com/platformio/platformio/issues/252 >")
cli(None, None) cli(None, None, None)
except Exception as e: # pylint: disable=W0703 except Exception as e: # pylint: disable=W0703
if not isinstance(e, exception.ReturnErrorCode): if not isinstance(e, exception.ReturnErrorCode):
maintenance.on_platformio_exception(e) maintenance.on_platformio_exception(e)

View File

@ -5,6 +5,8 @@ import json
from os import environ, getenv from os import environ, getenv
from os.path import isfile, join from os.path import isfile, join
from lockfile import LockFile
from platformio import __version__ from platformio import __version__
from platformio.exception import InvalidSettingName, InvalidSettingValue from platformio.exception import InvalidSettingName, InvalidSettingValue
from platformio.util import get_home_dir, is_ci from platformio.util import get_home_dir, is_ci
@ -48,7 +50,9 @@ DEFAULT_SETTINGS = {
SESSION_VARS = { SESSION_VARS = {
"force_option": False "command_ctx": None,
"force_option": False,
"caller_id": None
} }
@ -59,22 +63,30 @@ class State(object):
if not self.path: if not self.path:
self.path = join(get_home_dir(), "appstate.json") self.path = join(get_home_dir(), "appstate.json")
self._state = {} self._state = {}
self._prev_state = {}
self._lock = None
def __enter__(self): def __enter__(self):
try: try:
if isfile(self.path): if isfile(self.path):
self._lock = LockFile(self.path)
self._lock.acquire()
with open(self.path, "r") as fp: with open(self.path, "r") as fp:
self._state = json.load(fp) self._state = json.load(fp)
except ValueError: except ValueError:
self._state = {} self._state = {}
self._prev_state = self._state.copy()
return self._state return self._state
def __exit__(self, type_, value, traceback): def __exit__(self, type_, value, traceback):
with open(self.path, "w") as fp: if self._prev_state != self._state:
if "dev" in __version__: with open(self.path, "w") as fp:
json.dump(self._state, fp, indent=4) if "dev" in __version__:
else: json.dump(self._state, fp, indent=4)
json.dump(self._state, fp) else:
json.dump(self._state, fp)
if self._lock:
self._lock.release()
def sanitize_setting(name, value): def sanitize_setting(name, value):

View File

@ -47,6 +47,26 @@
"vendor": "Adafruit" "vendor": "Adafruit"
}, },
"gemma": {
"build": {
"core": "arduino",
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_GEMMA",
"f_cpu": "8000000L",
"mcu": "attiny85",
"variant": "gemma"
},
"frameworks": ["arduino"],
"name": "Adafruit Gemma",
"platform": "atmelavr",
"upload": {
"maximum_ram_size": 512,
"maximum_size": 8192,
"protocol": "usbtiny"
},
"url": "http://www.adafruit.com/products/1222",
"vendor": "Adafruit"
},
"trinket5": { "trinket5": {
"build": { "build": {
"core": "arduino", "core": "arduino",

View File

@ -5,14 +5,22 @@ try:
from platformio import util from platformio import util
except ImportError: except ImportError:
import sys import sys
for _path in sys.path: for p in sys.path:
if "platformio" in _path: _new_path = None
sys.path.insert(0, _path[:_path.rfind("platformio") - 1]) if not p.endswith("site-packages") and "site-packages" in p:
_new_path = p[:p.rfind("site-packages") + 13]
elif "platformio" in p:
_new_path = p[:p.rfind("platformio") - 1]
if _new_path and _new_path not in sys.path:
sys.path.insert(0, _new_path)
try:
from platformio import util
break break
from platformio import util except ImportError:
pass
import json import json
from os import getenv from os import environ
from os.path import isfile, join from os.path import isfile, join
from time import time from time import time
@ -63,7 +71,11 @@ DefaultEnvironment(
toolpath=[join("$PIOBUILDER_DIR", "tools")], toolpath=[join("$PIOBUILDER_DIR", "tools")],
variables=commonvars, variables=commonvars,
# Propagating External Environment
ENV=environ,
UNIX_TIME=int(time()), UNIX_TIME=int(time()),
PROGNAME="program",
PIOHOME_DIR=util.get_home_dir(), PIOHOME_DIR=util.get_home_dir(),
PROJECT_DIR=util.get_project_dir(), PROJECT_DIR=util.get_project_dir(),
@ -123,16 +135,17 @@ for opt in ("LIB_IGNORE", "LIB_USE"):
continue continue
env[opt] = [l.strip() for l in env[opt].split(",") if l.strip()] env[opt] = [l.strip() for l in env[opt].split(",") if l.strip()]
env.PrependENVPath( if env.subst("$PIOPACKAGE_TOOLCHAIN"):
"PATH", env.PrependENVPath(
env.subst(join("$PIOPACKAGES_DIR", "$PIOPACKAGE_TOOLCHAIN", "bin")) "PATH",
) env.subst(join("$PIOPACKAGES_DIR", "$PIOPACKAGE_TOOLCHAIN", "bin"))
)
SConscriptChdir(0) SConscriptChdir(0)
SConscript(env.subst("$BUILD_SCRIPT")) SConscript(env.subst("$BUILD_SCRIPT"))
if getenv("PLATFORMIO_EXTRA_SCRIPT", env.get("EXTRA_SCRIPT", None)): if environ.get("PLATFORMIO_EXTRA_SCRIPT", env.get("EXTRA_SCRIPT", None)):
SConscript(getenv("PLATFORMIO_EXTRA_SCRIPT", env.get("EXTRA_SCRIPT"))) SConscript(environ.get("PLATFORMIO_EXTRA_SCRIPT", env.get("EXTRA_SCRIPT")))
if "envdump" in COMMAND_LINE_TARGETS: if "envdump" in COMMAND_LINE_TARGETS:
print env.Dump() print env.Dump()

Some files were not shown because too many files have changed in this diff Show More