Skip to content

Commit 75dcb0b

Browse files
committed
Merge branch 'release/v0.3.0'
2 parents 6b9b780 + c10e76f commit 75dcb0b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+904
-84
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@
33
.pioenvs
44
.tox
55
.sconsign.dblite
6+
examples/ide-eclipse/.metadata
7+
examples/ide-eclipse/RemoteSystemsTempFiles

HISTORY.rst

+10
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
Release History
22
===============
33

4+
0.3.0 (2014-06-21)
5+
---------
6+
7+
* Allowed to pass multiple "SomePlatform" to install/uninstall commands
8+
* Added "IDE Integration" section to README with Eclipse project examples
9+
* Created auto installer script for *PlatformIO* (`issue #3 <https://github.com/ivankravets/platformio/issues/3>`_)
10+
* Added "Super-Quick" way to Installation section (README)
11+
* Implemented "build_flags" option for environments (`issue #4 <https://github.com/ivankravets/platformio/issues/4>`_)
12+
13+
414
0.2.0 (2014-06-15)
515
------------------
616

README.rst

+52-15
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,22 @@ PlatformIO
1010
.. image:: https://pypip.in/version/platformio/badge.png
1111
:target: https://pypi.python.org/pypi/platformio/
1212
:alt: Latest Version
13+
.. image:: https://pypip.in/download/platformio/badge.png
14+
:target: https://pypi.python.org/pypi/platformio/
15+
:alt: Downloads
1316
.. image:: https://pypip.in/license/platformio/badge.png
1417
:target: https://pypi.python.org/pypi/platformio/
1518
:alt: License
1619

1720

18-
**Platformio** is a console tool to build code with different development
21+
**PlatformIO** is a console tool to build code with different development
1922
platforms.
2023

21-
You have no need to install any *IDE* or compile any toolchains. *Platformio*
24+
You have no need to install any *IDE* or compile any toolchains. *PlatformIO*
2225
has pre-built different development platforms including: compiler, debugger,
2326
flasher (for embedded) and many other useful tools.
2427

25-
**Platformio** allows developer to compile the same code with different
28+
**PlatformIO** allows developer to compile the same code with different
2629
platforms using only one command ``platformio run``. This happens due to
2730
``platformio.ini`` project's file (see
2831
`default template <https://github.com/ivankravets/platformio/blob/develop/platformio/projectconftpl.ini>`_)
@@ -33,7 +36,12 @@ Each platform consists of packages which are located in own repository.
3336
Due to ``platformio update`` command you will have up-to-date development
3437
instruments.
3538

36-
**Platformio** is well suited for **embedded development**. It can:
39+
.. image:: examples/platformio-examples.png
40+
:target: https://github.com/ivankravets/platformio/raw/develop/examples/platformio-examples.png
41+
:alt: Examples
42+
:width: 730px
43+
44+
**PlatformIO** is well suited for **embedded development**. It can:
3745

3846
* Automatically analyse dependency
3947
* Reliably detect build changes
@@ -56,10 +64,16 @@ It has support for many popular embedded platforms like these:
5664
See project `examples with screenshots <https://github.com/ivankravets/platformio/tree/develop/examples>`_.
5765

5866

67+
IDE Integration
68+
---------------
69+
70+
* [Eclipse] `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>`_
71+
72+
5973
Python & OS Support
6074
-------------------
6175

62-
**Platformio** is written in `Python <https://www.python.org>`_ and works with
76+
**PlatformIO** is written in `Python <https://www.python.org>`_ and works with
6377
versions 2.6 and 2.7 on Unix/Linux, OS X, and Windows.
6478

6579

@@ -68,9 +82,6 @@ Quickstart
6882

6983
.. code-block:: bash
7084
71-
# Install platformio
72-
$ pip install platformio && pip install --egg scons
73-
7485
# Print all availalbe development platforms for installing
7586
$ platformio search all
7687
@@ -93,29 +104,55 @@ Installation
93104

94105
All commands below should be executed in
95106
`Command-line <http://en.wikipedia.org/wiki/Command-line_interface>`_
96-
application in your OS:
107+
application in your *OS*:
97108

98109
* *Unix/Linux/OS X* this is *Terminal* application.
99110
* *Windows* this is
100111
`Command Prompt <http://en.wikipedia.org/wiki/Command_Prompt>`_ (``cmd.exe``)
101112
application.
102113

103-
2. Check a ``python`` version:
114+
Also, the `Python Interpreter <https://www.python.org/downloads/>`_ (2.6 or 2.7)
115+
is required.
116+
117+
118+
Super-Quick
119+
~~~~~~~~~~~
120+
121+
To install or upgrade *PlatformIO*, download
122+
`get-platformio.py <https://raw.githubusercontent.com/ivankravets/platformio/develop/scripts/get-platformio.py>`_ script.
123+
124+
Then run the following (which may require administrator access):
125+
126+
.. code-block:: bash
127+
128+
$ python get-platformio.py
129+
130+
On *Windows OS* it may look like:
131+
132+
.. code-block:: bash
133+
134+
C:\Python27\python.exe get-platformio.py
135+
136+
137+
Full Guide
138+
~~~~~~~~~~
139+
140+
1. Check a ``python`` version (only 2.6-2.7 is supported):
104141

105142
.. code-block:: bash
106143
107144
$ python --version
108145
109-
Windows OS Users only:
146+
*Windows OS* Users only:
110147

111-
* `Download Python <https://www.python.org/downloads/>`_ and install it.
148+
* `Download Python 2.7 <https://www.python.org/downloads/>`_ and install it.
112149
* Add to PATH system variable ``;C:\Python27;C:\Python27\Scripts;`` and
113150
reopen *Command Prompt* (``cmd.exe``) application. Please read this
114151
article `How to set the path and environment variables in Windows
115152
<http://www.computerhope.com/issues/ch000549.htm>`_.
116153

117154

118-
2. Check a ``pip`` tool for installing and managing Python packages:
155+
2. Check a ``pip`` tool for installing and managing *Python* packages:
119156

120157
.. code-block:: bash
121158
@@ -193,7 +230,7 @@ Search for development platforms:
193230
``platformio install``
194231
~~~~~~~~~~~~~~~~~~~~~~
195232

196-
*Platformio* has pre-built development platforms with related packages. You
233+
*PlatformIO* has pre-built development platforms with related packages. You
197234
can install one of them:
198235

199236
.. code-block:: bash
@@ -294,7 +331,7 @@ Initialize new platformio based project.
294331
After this command ``platformio`` will create:
295332
296333
* ``.pioenvs`` - a temporary working directory.
297-
* ``lib`` - a directory for project specific libraries. Platformio will
334+
* ``lib`` - a directory for project specific libraries. PlatformIO will
298335
compile their to static libraries and link to executable file
299336
* ``src`` - a source directory. Put code here.
300337
* ``platformio.ini`` - a configuration file for project

examples/ide-eclipse/README.rst

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Eclipse IDE Integration
2+
=======================
3+
4+
The detailed information and steps are described in this article:
5+
`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>`_.
6+
7+
8+
.. image:: http://www.ikravets.com/wp-content/uploads/2014/06/eclipse_build_arduino_pro5v-1024x822.png
9+
:width: 850px
10+
:target: http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio
11+
12+
.. image:: http://www.ikravets.com/wp-content/uploads/2014/06/eclipse_debugging_result_1-1024x775.png
13+
:width: 850px
14+
:target: http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<?fileVersion 4.0.0?>
3+
4+
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
5+
<storageModule moduleId="org.eclipse.cdt.core.settings">
6+
<cconfiguration id="0.910961921">
7+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.910961921" moduleId="org.eclipse.cdt.core.settings" name="Default">
8+
<externalSettings/>
9+
<extensions>
10+
<extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
11+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
12+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
13+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
14+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
15+
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
16+
</extensions>
17+
</storageModule>
18+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
19+
<configuration artifactName="${ProjName}" buildProperties="" description="" id="0.910961921" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
20+
<folderInfo id="0.910961921." name="/" resourcePath="">
21+
<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.952979152" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
22+
<targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.952979152.52310970" name=""/>
23+
<builder id="org.eclipse.cdt.build.core.settings.default.builder.1519453406" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
24+
<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"/>
25+
<tool id="org.eclipse.cdt.build.core.settings.holder.1624502120" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
26+
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.239157887" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
27+
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/atmelavr/tools/toolchain/avr/include&quot;"/>
28+
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/atmelavr/frameworks/arduino/cores/arduino&quot;"/>
29+
</option>
30+
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.922107295" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
31+
<listOptionValue builtIn="false" value="__AVR_ATmega168__"/>
32+
</option>
33+
<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"/>
34+
</tool>
35+
<tool id="org.eclipse.cdt.build.core.settings.holder.54121539" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
36+
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1096940598" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
37+
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/atmelavr/tools/toolchain/avr/include&quot;"/>
38+
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/atmelavr/frameworks/arduino/cores/arduino&quot;"/>
39+
</option>
40+
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.1198905600" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
41+
<listOptionValue builtIn="false" value="__AVR_ATmega168__"/>
42+
</option>
43+
<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"/>
44+
</tool>
45+
<tool id="org.eclipse.cdt.build.core.settings.holder.1310559623" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
46+
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.41298875" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
47+
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/atmelavr/tools/toolchain/avr/include&quot;"/>
48+
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/atmelavr/frameworks/arduino/cores/arduino&quot;"/>
49+
</option>
50+
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.884639970" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
51+
<listOptionValue builtIn="false" value="__AVR_ATmega168__"/>
52+
</option>
53+
<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"/>
54+
</tool>
55+
</toolChain>
56+
</folderInfo>
57+
</configuration>
58+
</storageModule>
59+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
60+
</cconfiguration>
61+
</storageModule>
62+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
63+
<project id="arduino_pro5.null.189551033" name="arduino_pro5"/>
64+
</storageModule>
65+
<storageModule moduleId="scannerConfiguration">
66+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
67+
<scannerConfigBuildInfo instanceId="0.910961921">
68+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
69+
</scannerConfigBuildInfo>
70+
</storageModule>
71+
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
72+
<storageModule moduleId="refreshScope" versionNumber="2">
73+
<configuration configurationName="Default">
74+
<resource resourceType="PROJECT" workspacePath="/arduino_pro5"/>
75+
</configuration>
76+
</storageModule>
77+
</cproject>
+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>arduino_pro5</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
10+
<triggers>clean,full,incremental,</triggers>
11+
<arguments>
12+
</arguments>
13+
</buildCommand>
14+
<buildCommand>
15+
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
16+
<triggers>full,incremental,</triggers>
17+
<arguments>
18+
</arguments>
19+
</buildCommand>
20+
</buildSpec>
21+
<natures>
22+
<nature>org.eclipse.cdt.core.cnature</nature>
23+
<nature>org.eclipse.cdt.core.ccnature</nature>
24+
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
25+
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
26+
</natures>
27+
</projectDescription>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
all:
2+
platformio run -t upload
3+
4+
clean:
5+
platformio run -t clean
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Copyright (C) Ivan Kravets <[email protected]>
2+
# See LICENSE for details.
3+
4+
[env:arduino_pro5v]
5+
platform = atmelavr
6+
framework = arduino
7+
board = pro16MHzatmega168
8+
upload_port = /dev/tty.SLAB_USBtoUART
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/**
2+
* Copyright (C) Ivan Kravets <[email protected]>
3+
* See LICENSE for details.
4+
*/
5+
6+
#include "Arduino.h"
7+
#define WLED 13 // Most Arduino boards already have an LED attached to pin 13 on the board itself
8+
9+
void setup()
10+
{
11+
pinMode(WLED, OUTPUT); // set pin as output
12+
}
13+
14+
void loop()
15+
{
16+
digitalWrite(WLED, HIGH); // set the LED on
17+
delay(1000); // wait for a second
18+
digitalWrite(WLED, LOW); // set the LED off
19+
delay(1000); // wait for a second
20+
}

0 commit comments

Comments
 (0)