Compare commits
233 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e50121e013 | ||
|
|
b169f2e252 | ||
|
|
d83b1280ed | ||
|
|
2d684d36e8 | ||
|
|
4023d5e558 | ||
|
|
0091ceecae | ||
|
|
9a6d15cfe6 | ||
|
|
b39dcb11ee | ||
|
|
ac4387328f | ||
|
|
5e4fcf0ed5 | ||
|
|
ea5a0ae75c | ||
|
|
657345fa7a | ||
|
|
2862c97958 | ||
|
|
b958960512 | ||
|
|
c327cd5c3f | ||
|
|
4256d6b6a3 | ||
|
|
b34b00eed2 | ||
|
|
ec2305bb10 | ||
|
|
553b91460a | ||
|
|
32e1ce219a | ||
|
|
86ddf628b1 | ||
|
|
1af462ff66 | ||
|
|
9d50803b0c | ||
|
|
08d38b0b79 | ||
|
|
edb2a50100 | ||
|
|
3011c6dd3f | ||
|
|
74a9483286 | ||
|
|
3f68eab9bc | ||
|
|
7dc80af70a | ||
|
|
83698dbdc0 | ||
|
|
e231b664fe | ||
|
|
c8c1c28054 | ||
|
|
85ad1a1f29 | ||
|
|
f412abf137 | ||
|
|
97487b617a | ||
|
|
3ce17fbcb6 | ||
|
|
af499876ff | ||
|
|
3487a21795 | ||
|
|
757df8c8ab | ||
|
|
034f431ab1 | ||
|
|
fa30a50d20 | ||
|
|
6523445185 | ||
|
|
8d22591914 | ||
|
|
a9bd45bbc8 | ||
|
|
605a5da65a | ||
|
|
739cfb2182 | ||
|
|
6005eaa9bc | ||
|
|
14f80975fa | ||
|
|
ea13e084ed | ||
|
|
f9cb31a2f3 | ||
|
|
85a5409e85 | ||
|
|
99abd8c090 | ||
|
|
f633dde50c | ||
|
|
26566282ee | ||
|
|
44fc5163e7 | ||
|
|
c231f0e41e | ||
|
|
6ee9c06285 | ||
|
|
4063cd6abd | ||
|
|
325c50e924 | ||
|
|
efd1896825 | ||
|
|
4f61a05c9e | ||
|
|
26bfd74a3c | ||
|
|
ee088f3aea | ||
|
|
c162988868 | ||
|
|
213938a9f8 | ||
|
|
d091d4f000 | ||
|
|
f74f79eed0 | ||
|
|
4c4682f457 | ||
|
|
614a736eff | ||
|
|
1332413f63 | ||
|
|
1e3e3dd999 | ||
|
|
888967eb61 | ||
|
|
7e0ccd0712 | ||
|
|
6a0cd46da7 | ||
|
|
288eb4df25 | ||
|
|
8388359b36 | ||
|
|
c9505b3acc | ||
|
|
72cb2f1240 | ||
|
|
9473e51e40 | ||
|
|
8cf3765b30 | ||
|
|
a1441b3e73 | ||
|
|
98026d83b6 | ||
|
|
b0ba8ae5e3 | ||
|
|
6190f1aa8f | ||
|
|
fdff0afd89 | ||
|
|
52bbe9af33 | ||
|
|
6d2130444d | ||
|
|
ce2bef7d26 | ||
|
|
2c4fbda5e3 | ||
|
|
f6f4366030 | ||
|
|
e6c1e35e75 | ||
|
|
bcb40fb2f9 | ||
|
|
8baf163684 | ||
|
|
99ddea6906 | ||
|
|
1c481e0840 | ||
|
|
ff08416307 | ||
|
|
d7e97731d8 | ||
|
|
0263691f8d | ||
|
|
2b2fe46772 | ||
|
|
10ad8ec987 | ||
|
|
fed45e5453 | ||
|
|
1f1dc9c5e6 | ||
|
|
caa0efd265 | ||
|
|
76c8ac4e6c | ||
|
|
3e52c194ca | ||
|
|
3f8d89f34a | ||
|
|
17796de60d | ||
|
|
66713021de | ||
|
|
d3f03f3fc8 | ||
|
|
17c9e8ddc1 | ||
|
|
87bc6a7e8c | ||
|
|
2faa2e003a | ||
|
|
a965d0ea6f | ||
|
|
90382e0f0d | ||
|
|
62d226c8a3 | ||
|
|
d7c49b72a9 | ||
|
|
779798c622 | ||
|
|
fbdcda720d | ||
|
|
321640bd71 | ||
|
|
5107d767ee | ||
|
|
dc007dd136 | ||
|
|
50294274c3 | ||
|
|
63902c8215 | ||
|
|
69836be1ca | ||
|
|
851f7db825 | ||
|
|
3484c41b64 | ||
|
|
d0d292b80f | ||
|
|
7e5f6fe22a | ||
|
|
45efc0e0d6 | ||
|
|
6baf6568d2 | ||
|
|
1a4d1c7d40 | ||
|
|
afe80072c6 | ||
|
|
b17acd7605 | ||
|
|
45096c3137 | ||
|
|
c3f78d1977 | ||
|
|
8dfd6ac3bb | ||
|
|
8a2789fe3f | ||
|
|
40729c38eb | ||
|
|
6c2df7d0e1 | ||
|
|
223a055e8b | ||
|
|
96c7ef36c2 | ||
|
|
21b52031e7 | ||
|
|
b44c75a3c1 | ||
|
|
1f95b6be25 | ||
|
|
848c50c55c | ||
|
|
0c4e0327e3 | ||
|
|
3eb3ba4ee0 | ||
|
|
631fd707fe | ||
|
|
8a269b1d24 | ||
|
|
131f1eb943 | ||
|
|
c036bde86c | ||
|
|
9102a70e04 | ||
|
|
c9616ed0fa | ||
|
|
dce2f2594a | ||
|
|
8c0bcc6ad9 | ||
|
|
edf19a8cac | ||
|
|
41f2adc1f6 | ||
|
|
2b55a2fd05 | ||
|
|
45e8379d99 | ||
|
|
73041b71a4 | ||
|
|
f8419c9184 | ||
|
|
aebba5f1c1 | ||
|
|
a446386cc9 | ||
|
|
2be2a4ebf3 | ||
|
|
d20eca3f09 | ||
|
|
3bc5cb0d27 | ||
|
|
e6745de8d8 | ||
|
|
04cd772f0d | ||
|
|
d44d757985 | ||
|
|
df8fda5b69 | ||
|
|
c74f122426 | ||
|
|
c20b6af1ec | ||
|
|
de43166257 | ||
|
|
5c2ba90edf | ||
|
|
503decdf2e | ||
|
|
ec19341e05 | ||
|
|
477f387bd7 | ||
|
|
9ede9d3c6d | ||
|
|
34d5358eaa | ||
|
|
9db5a7e004 | ||
|
|
e5f3dee470 | ||
|
|
63911f5192 | ||
|
|
8824c14768 | ||
|
|
17d68652cf | ||
|
|
559c46beb0 | ||
|
|
380d6eb4be | ||
|
|
d2f3b76132 | ||
|
|
07b69e9f59 | ||
|
|
3ce32e54b2 | ||
|
|
7cce906e55 | ||
|
|
a3911eda3b | ||
|
|
3ac72e4b8c | ||
|
|
456e0109cd | ||
|
|
1a2ed160cd | ||
|
|
9b49b80051 | ||
|
|
8a55e65388 | ||
|
|
0cecd955c5 | ||
|
|
a0d3a180e4 | ||
|
|
e257eeff0a | ||
|
|
8bc54b0179 | ||
|
|
59a97bff3d | ||
|
|
870b306b86 | ||
|
|
c29399944e | ||
|
|
21834b0832 | ||
|
|
5535529903 | ||
|
|
1ae2e189dd | ||
|
|
5e8bfe5ef2 | ||
|
|
6bd7129c80 | ||
|
|
a41cf3dd48 | ||
|
|
1829952b1e | ||
|
|
d658363b53 | ||
|
|
cc1dec39cf | ||
|
|
3035d4eeec | ||
|
|
c55204cc50 | ||
|
|
c48ffc0089 | ||
|
|
257f4b1c5b | ||
|
|
7f386126cb | ||
|
|
b1e9dea790 | ||
|
|
88fe8f2129 | ||
|
|
52ceb64758 | ||
|
|
1b85a3ddd3 | ||
|
|
9ba493bcee | ||
|
|
54f2f4ce45 | ||
|
|
2d42f944cd | ||
|
|
2f9b61aee4 | ||
|
|
e2d9d0a5d8 | ||
|
|
b60eb059c3 | ||
|
|
516887c050 | ||
|
|
8a85d7ef1c | ||
|
|
fa51860268 | ||
|
|
3d0aad6df8 | ||
|
|
4e2370e0a0 | ||
|
|
5634419513 |
53
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
What kind of issue is this?
|
||||
|
||||
- [ ] Question. This issue tracker is not the place for questions. If you want to ask how to do
|
||||
something, or to understand why something isn't working the way you expect it to, use
|
||||
our Community Forums http://community.platformio.org
|
||||
|
||||
- [ ] Feature Request. Start by telling us what problem you’re trying to solve. Often a solution
|
||||
already exists! Don’t send pull requests to implement new features without first getting our
|
||||
support. Sometimes we leave features out on purpose to keep the project small.
|
||||
|
||||
- [ ] PlatformIO IDE. All issues related to PlatformIO IDE should be reported to appropriate repository
|
||||
https://github.com/platformio/platformio-atom-ide/issues
|
||||
|
||||
- [ ] Bug report. If you’ve found a bug, please provide information below.
|
||||
|
||||
*You can erase any parts of this template not applicable to your Issue.*
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
### Configuration
|
||||
|
||||
**Operating system**:
|
||||
|
||||
**PlatformIO Version** (`platformio --version`):
|
||||
|
||||
### Description of problem
|
||||
|
||||
|
||||
#### Steps to Reproduce
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
### Actual Results
|
||||
|
||||
|
||||
### Expected Results
|
||||
|
||||
|
||||
### If problems with PlatformIO Build System:
|
||||
|
||||
**The content of `platformio.ini`:**
|
||||
```ini
|
||||
Insert here...
|
||||
```
|
||||
|
||||
**Source file to reproduce issue:**
|
||||
```cpp
|
||||
Insert here...
|
||||
```
|
||||
|
||||
### Additional info
|
||||
1
.gitignore
vendored
@@ -4,3 +4,4 @@
|
||||
.tox
|
||||
docs/_build
|
||||
dist
|
||||
build
|
||||
|
||||
20
.travis.yml
@@ -1,15 +1,21 @@
|
||||
language: python
|
||||
python:
|
||||
- "2.7"
|
||||
"2.7"
|
||||
|
||||
env:
|
||||
- TOX_ENV=docs
|
||||
- TOX_ENV=lint
|
||||
- TOX_ENV=py26
|
||||
- TOX_ENV=py27
|
||||
TOX_ENV=docs
|
||||
TOX_ENV=lint
|
||||
TOX_ENV=py26
|
||||
TOX_ENV=py27
|
||||
|
||||
install:
|
||||
- pip install -U pip setuptools tox
|
||||
pip install -U pip setuptools tox
|
||||
|
||||
script:
|
||||
- tox -e $TOX_ENV
|
||||
tox -e $TOX_ENV
|
||||
|
||||
notifications:
|
||||
slack:
|
||||
secure: uEU56hHACLxq6iRRZ0JeAl/MPADqQWMZZAsZB9IOnXaRUd0Pa6lT2CicJXhVlsEEbNRqR2u5LbcQ4R0nvAKPjYgglDlDet4RfhP+YIqLX2v2dv3B5q8cITsKMUUediv4fybdO/nmvQSImq5nqRQQsXKAwTAJZooIwS3F5Dsg+eE=
|
||||
on_failure: :always
|
||||
on_success: :change
|
||||
|
||||
141
HISTORY.rst
@@ -1,14 +1,147 @@
|
||||
Release History
|
||||
===============
|
||||
Release Notes
|
||||
=============
|
||||
|
||||
PlatformIO 2.0
|
||||
--------------
|
||||
|
||||
2.8.6 (2016-03-22)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Launched `PlatformIO Community Forums <http://community.platformio.org>`_
|
||||
(`issue #530 <https://github.com/platformio/platformio/issues/530>`_)
|
||||
* Added support for ARM mbed-enabled board Seed Arch Max (STM32F407VET6)
|
||||
(`issue #572 <https://github.com/platformio/platformio/issues/572>`_)
|
||||
* Improved DNS lookup for PlatformIO API
|
||||
* Updated Arduino Wiring-based framework to the latest version for
|
||||
Atmel AVR/SAM development platforms
|
||||
* Updated "Teensy Loader CLI" and fixed uploading of large .hex files
|
||||
(`issue #568 <https://github.com/platformio/platformio/issues/568>`_)
|
||||
* Updated the support for Sanguino Boards
|
||||
(`issue #586 <https://github.com/platformio/platformio/issues/586>`_)
|
||||
* Better handling of used boards when re-initialize/update project
|
||||
* Improved support for non-Unicode user profiles for Windows OS
|
||||
* Disabled progress bar for download operations when prompts are disabled
|
||||
* Fixed multiple definition errors for ST STM32 development platform and
|
||||
ARM mbed framework
|
||||
(`issue #571 <https://github.com/platformio/platformio/issues/571>`_)
|
||||
* Fixed invalid board parameters (reset method and baudrate) for a few
|
||||
ESP8266 based boards
|
||||
* Fixed "KeyError: 'content-length'" in PlatformIO Download Manager
|
||||
(`issue #591 <https://github.com/platformio/platformio/issues/591>`_)
|
||||
|
||||
|
||||
2.8.5 (2016-03-07)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Project generator for `NetBeans IDE <http://docs.platformio.org/en/latest/ide/netbeans.html>`__
|
||||
(`issue #541 <https://github.com/platformio/platformio/issues/541>`_)
|
||||
* Created package for Homebrew Mac OS X Package Manager: ``brew install
|
||||
platformio``
|
||||
(`issue #395 <https://github.com/platformio/platformio/issues/395>`_)
|
||||
* Updated Arduino core for Espressif platform to 2.1.0
|
||||
(`issue #544 <https://github.com/platformio/platformio/issues/544>`_)
|
||||
* Added support for the ESP8266 ESP-07 board to
|
||||
`Espressif <http://docs.platformio.org/en/latest/platforms/espressif.html>`__
|
||||
(`issue #527 <https://github.com/platformio/platformio/issues/527>`_)
|
||||
* Improved handling of String-based ``CPPDEFINES`` passed to extra ``build_flags``
|
||||
(`issue #526 <https://github.com/platformio/platformio/issues/526>`_)
|
||||
* Generate appropriate project for CLion IDE and CVS
|
||||
(`issue #523 <https://github.com/platformio/platformio/issues/523>`_)
|
||||
* Use ``src_dir`` directory from `Project Configuration File platformio.ini <http://docs.platformio.org/en/latest/projectconf.html>`__
|
||||
when initializing project otherwise create base ``src`` directory
|
||||
(`issue #536 <https://github.com/platformio/platformio/issues/536>`_)
|
||||
* Fixed issue with incorrect handling of user's build flags where the base flags
|
||||
were passed after user's flags to GCC compiler
|
||||
(`issue #528 <https://github.com/platformio/platformio/issues/528>`_)
|
||||
* Fixed issue with Project Generator when optional build flags were passed using
|
||||
system environment variables: `PLATFORMIO_BUILD_FLAGS <http://docs.platformio.org/en/latest/envvars.html#platformio-build-flags>`__
|
||||
or `PLATFORMIO_BUILD_SRC_FLAGS <http://docs.platformio.org/en/latest/envvars.html#platformio-build-src-flags>`__
|
||||
* Fixed invalid detecting of compiler type
|
||||
(`issue #550 <https://github.com/platformio/platformio/issues/550>`_)
|
||||
* Fixed issue with updating package which was deleted manually by user
|
||||
(`issue #555 <https://github.com/platformio/platformio/issues/555>`_)
|
||||
* Fixed incorrect parsing of GCC ``-include`` flag
|
||||
(`issue #552 <https://github.com/platformio/platformio/issues/552>`_)
|
||||
|
||||
2.8.4 (2016-02-17)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Added support for the new ESP8266-based boards (ESPDuino, ESP-WROOM-02,
|
||||
ESPresso Lite 1.0 & 2.0, SparkFun ESP8266 Thing Dev, ThaiEasyElec ESPino) to
|
||||
`Espressif <http://docs.platformio.org/en/latest/platforms/espressif.html>`__
|
||||
development platform
|
||||
* Added ``board_f_flash`` option to `Project Configuration File platformio.ini <http://docs.platformio.org/en/latest/projectconf.html>`__
|
||||
which allows to specify `custom flash chip frequency <http://docs.platformio.org/en/latest/platforms/espressif.html#custom-flash-frequency>`_
|
||||
for Espressif development platform
|
||||
(`issue #501 <https://github.com/platformio/platformio/issues/501>`_)
|
||||
* Added ``board_flash_mode`` option to `Project Configuration File platformio.ini <http://docs.platformio.org/en/latest/projectconf.html>`__
|
||||
which allows to specify `custom flash chip mode <http://docs.platformio.org/en/latest/platforms/espressif.html#custom-flash-mode>`_
|
||||
for Espressif development platform
|
||||
* Handle new environment variables
|
||||
`PLATFORMIO_UPLOAD_PORT <http://docs.platformio.org/en/latest/envvars.html#platformio-upload-port>`_
|
||||
and `PLATFORMIO_UPLOAD_FLAGS <http://docs.platformio.org/en/latest/envvars.html#platformio-upload-flags>`_
|
||||
(`issue #518 <https://github.com/platformio/platformio/issues/518>`_)
|
||||
* Fixed issue with ``CPPDEFINES`` which contain space and break PlatformIO
|
||||
IDE Linter
|
||||
(`IDE issue #34 <https://github.com/platformio/platformio-atom-ide/issues/34>`_)
|
||||
* Fixed unable to link C++ standard library to Espressif platform build
|
||||
(`issue #503 <https://github.com/platformio/platformio/issues/503>`_)
|
||||
* Fixed issue with pointer (``char* myfunc()``) while converting from ``*.ino``
|
||||
to ``*.cpp``
|
||||
(`issue #506 <https://github.com/platformio/platformio/issues/506>`_)
|
||||
|
||||
2.8.3 (2016-02-02)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Better integration of PlatformIO Builder with PlatformIO IDE Linter
|
||||
* Fixed issue with removing temporary file while converting ``*.ino`` to
|
||||
``*.cpp``
|
||||
* Fixed missing dependency (mbed framework) for Atmel SAM development platform
|
||||
(`issue #487 <https://github.com/platformio/platformio/issues/487>`_)
|
||||
|
||||
2.8.2 (2016-01-29)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Corrected RAM size for NXP LPC1768 based boards
|
||||
(`issue #484 <https://github.com/platformio/platformio/issues/484>`_)
|
||||
* Exclude only ``test`` and ``tests`` folders from build process
|
||||
* Reverted ``-Wl,-whole-archive`` hook for ST STM32 and mbed
|
||||
|
||||
2.8.1 (2016-01-29)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Fixed a bug with Project Initialization in PlatformIO IDE
|
||||
|
||||
2.8.0 (2016-01-29)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* `PlatformIO IDE <http://docs.platformio.org/en/latest/ide/atom.html>`_ for
|
||||
Atom
|
||||
(`issue #470 <https://github.com/platformio/platformio/issues/470>`_)
|
||||
* Added ``pio`` command line alias for ``platformio`` command
|
||||
(`issue #447 <https://github.com/platformio/platformio/issues/447>`_)
|
||||
* Added SPL-Framework support for Nucleo F401RE board
|
||||
(`issue #453 <https://github.com/platformio/platformio/issues/453>`_)
|
||||
* Added ``upload_resetmethod`` option to `Project Configuration File platformio.ini <http://docs.platformio.org/en/latest/projectconf.html>`__
|
||||
which allows to specify `custom upload reset method <http://docs.platformio.org/en/latest/platforms/espressif.html#custom-reset-method>`_
|
||||
for Espressif development platform
|
||||
(`issue #444 <https://github.com/platformio/platformio/issues/444>`_)
|
||||
* Allowed to force output of color ANSI-codes or to disable progress bar even
|
||||
if the output is a ``pipe`` (not a ``tty``) using `Environment variables <http://docs.platformio.org/en/latest/envvars.html>`__
|
||||
(`issue #465 <https://github.com/platformio/platformio/issues/465>`_)
|
||||
* Set 1Mb SPIFFS for Espressif boards by default
|
||||
(`issue #458 <https://github.com/platformio/platformio/issues/458>`_)
|
||||
* Exclude ``test*`` folder by default from build process
|
||||
* Generate project for IDEs with information about installed libraries
|
||||
* Fixed builder for mbed framework and ST STM32 platform
|
||||
|
||||
|
||||
2.7.1 (2016-01-06)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Initial support for Arduino Zero board
|
||||
(`issue #356 <https://github.com/platformio/platformio/issues/356>`_)
|
||||
* Added support for completions to Atom text editor using ``.clang_complete``
|
||||
* Generate default targets for `supported IDE <http://docs.platformio.org/en/latest/ide.html>`__
|
||||
(CLion, Eclipse IDE, Emacs, Sublime Text, VIM): Build,
|
||||
Clean, Upload, Upload SPIFFS image, Upload using Programmer, Update installed
|
||||
@@ -437,7 +570,7 @@ PlatformIO 1.0
|
||||
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
|
||||
(`issue #183 <https://github.com/platformio/platformio/issues/183>`_)
|
||||
* Added GDB as alternative uploader to `ststm32 <http://docs.platformio.org/en/latest/platforms/ststm32.html>`__ platform
|
||||
@@ -524,7 +657,7 @@ PlatformIO 1.0
|
||||
* Created new `Frameworks <http://docs.platformio.org/en/latest/frameworks/index.html>`__
|
||||
page in documentation and added to `PlatformIO Web Site <http://platformio.org>`_
|
||||
(`issue #115 <https://github.com/platformio/platformio/issues/115>`_)
|
||||
* Introduced online `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
* Introduced online `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
* Automatically append define ``-DPLATFORMIO=%version%`` to
|
||||
builder (`issue #105 <https://github.com/platformio/platformio/issues/105>`_)
|
||||
* Renamed ``stm32`` development platform to
|
||||
|
||||
94
README.rst
@@ -22,30 +22,38 @@ PlatformIO
|
||||
.. 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://img.shields.io/community/PlatformIO.png
|
||||
:alt: Join the chat at https://gitter.im/platformio/platformio
|
||||
:target: https://gitter.im/platformio/platformio
|
||||
:target: http://community.platformio.org
|
||||
.. image:: https://img.shields.io/donate/PlatformIO.png?color=yellow
|
||||
:alt: Donate for PlatformIO.Org
|
||||
:target: http://platformio.org/donate
|
||||
|
||||
`Home & Demo <http://platformio.org>`_ |
|
||||
|
||||
`Home <http://platformio.org>`_ |
|
||||
`IDE <http://platformio.org/platformio-ide>`_ |
|
||||
`Project Examples <https://github.com/platformio/platformio/tree/develop/examples>`_ |
|
||||
`Source Code <https://github.com/platformio>`_ |
|
||||
`Documentation <http://docs.platformio.org>`_ |
|
||||
`Blog <http://www.ikravets.com/category/computer-life/platformio>`_ |
|
||||
`Docs <http://docs.platformio.org>`_ |
|
||||
`Twitter <https://twitter.com/PlatformIO_Org>`_ |
|
||||
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
|
||||
`Facebook <https://www.facebook.com/platformio>`_ |
|
||||
`Reddit <http://www.reddit.com/r/platformio/>`_
|
||||
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
|
||||
`Bintray <https://bintray.com/platformio>`_ |
|
||||
`Community <http://community.platformio.org>`_ |
|
||||
`Donate <http://platformio.org/donate>`_ |
|
||||
`Contact Us <http://platformio.org/contact>`_
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-logo.png
|
||||
:target: http://platformio.org
|
||||
|
||||
`PlatformIO <http://platformio.org>`_ is an open source ecosystem for IoT
|
||||
development. Cross-platform code builder and library manager. Continuous and
|
||||
development. Cross-platform build system and library manager. Continuous and
|
||||
IDE integration. Arduino and MBED compatible. Ready for Cloud compiling.
|
||||
|
||||
* **PlatformIO IDE** - The next generation integrated development environment for IoT.
|
||||
C/C++ Intelligent Code Completion and Smart Code Linter for the super-fast coding.
|
||||
Multi-projects workflow with Multiple Panes. Themes Support with dark and light colors.
|
||||
Built-in Terminal with PlatformIO CLI tool and support for the powerful Serial Port Monitor.
|
||||
All advanced instruments without leaving your favourite development environment.
|
||||
* **Development Platforms** - Embedded and Desktop development platforms with
|
||||
pre-built toolchains, debuggers, uploaders and frameworks which work under
|
||||
popular host OS: Mac, Windows, Linux (+ARM)
|
||||
@@ -55,7 +63,7 @@ IDE integration. Arduino and MBED compatible. Ready for Cloud compiling.
|
||||
* **Library Manager** - Hundreds Popular Libraries are organized into single
|
||||
Web 2.0 platform: list by categories, keywords, authors, compatible
|
||||
platforms and frameworks; learn via examples; be up-to-date with the latest
|
||||
version
|
||||
version.
|
||||
|
||||
*Atmel AVR & SAM, Espressif, Freescale Kinetis, Nordic nRF51, NXP LPC,
|
||||
Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed,
|
||||
@@ -64,18 +72,19 @@ 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>`_
|
||||
* `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
|
||||
* `Development Platforms <http://platformio.org/#!/platforms>`_
|
||||
* `Frameworks <http://platformio.org/#!/frameworks>`_
|
||||
* `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
* `PlatformIO IDE <http://platformio.org/platformio-ide>`_
|
||||
* `Get Started <http://platformio.org/get-started>`_
|
||||
* `Web 2.0 Library Search <http://platformio.org/lib>`_
|
||||
* `Development Platforms <http://platformio.org/platforms>`_
|
||||
* `Frameworks <http://platformio.org/frameworks>`_
|
||||
* `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
* `Library Manager <http://docs.platformio.org/en/latest/librarymanager/index.html>`_
|
||||
* `User Guide <http://docs.platformio.org/en/latest/userguide/index.html>`_
|
||||
* `Continuous Integration <http://docs.platformio.org/en/latest/ci/index.html>`_
|
||||
* `IDE Integration <http://docs.platformio.org/en/latest/ide.html>`_
|
||||
* `Articles about us <http://docs.platformio.org/en/latest/articles.html>`_
|
||||
* `FAQ <http://docs.platformio.org/en/latest/faq.html>`_
|
||||
* `Release History <http://docs.platformio.org/en/latest/history.html>`_
|
||||
* `Release Notes <http://docs.platformio.org/en/latest/history.html>`_
|
||||
|
||||
Use whenever. *Run everywhere.*
|
||||
-------------------------------
|
||||
@@ -89,17 +98,17 @@ sized computers (`Raspberry Pi <http://www.raspberrypi.org>`_,
|
||||
Embedded Development. *Easier Than Ever.*
|
||||
-----------------------------------------
|
||||
*PlatformIO* is well suited for embedded development and has pre-configured
|
||||
settings for most popular `Embedded Boards <http://platformio.org/#!/boards>`_.
|
||||
settings for most popular `Embedded Boards <http://platformio.org/boards>`_.
|
||||
|
||||
* Colourful `command-line output <https://raw.githubusercontent.com/platformio/platformio/develop/examples/platformio-examples.png>`_
|
||||
* `IDE Integration <http://docs.platformio.org/en/latest/ide.html>`_ with
|
||||
*Arduino, Eclipse, Emacs, Energia, Qt Creator, Sublime Text, Vim, Visual Studio*
|
||||
*Arduino, Atom, Eclipse, Emacs, Energia, Qt Creator, Sublime Text, Vim, Visual Studio*
|
||||
* Cloud compiling and `Continuous Integration <http://docs.platformio.org/en/latest/ci/index.html>`_
|
||||
with *AppVeyor, Circle CI, Drone, Shippable, Travis CI*
|
||||
* Built-in `Serial Port Monitor <http://docs.platformio.org/en/latest/userguide/cmd_serialports.html#platformio-serialports-monitor>`_ and configurable
|
||||
`build -flags/-options <http://docs.platformio.org/en/latest/projectconf.html#build-flags>`_
|
||||
* Automatic **firmware uploading**
|
||||
* Pre-built tool chains, frameworks for the popular `Hardware Platforms <http://platformio.org/#!/platforms>`_
|
||||
* Pre-built tool chains, frameworks for the popular `Hardware Platforms <http://platformio.org/platforms>`_
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-embedded-development.png
|
||||
:target: http://platformio.org
|
||||
@@ -111,7 +120,7 @@ The Missing Library Manager. *It's here!*
|
||||
platforms which allows you to organize and have up-to-date external libraries.
|
||||
|
||||
* Friendly `Command-Line Interface <http://docs.platformio.org/en/latest/librarymanager/index.html>`_
|
||||
* Modern `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
|
||||
* Modern `Web 2.0 Library Search <http://platformio.org/lib>`_
|
||||
* Open Source `Library Registry API <https://github.com/platformio/platformio-api>`_
|
||||
* Library Crawler based on `library.json <http://docs.platformio.org/en/latest/librarymanager/config.html>`_
|
||||
specification
|
||||
@@ -122,7 +131,7 @@ platforms which allows you to organize and have up-to-date external libraries.
|
||||
:target: http://platformio.org
|
||||
:alt: PlatformIO Library Manager Architecture
|
||||
|
||||
Smart Code Builder. *Fast and Reliable.*
|
||||
Smart Build System. *Fast and Reliable.*
|
||||
----------------------------------------
|
||||
*PlatformIO Code Builder* is built-on a next-generation software construction
|
||||
tool named `SCons <http://www.scons.org/>`_. Think of *SCons* as an improved,
|
||||
@@ -136,7 +145,7 @@ cross-platform substitute for the classic *Make* utility.
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-scons-builder.png
|
||||
:target: http://platformio.org
|
||||
:alt: PlatformIO Code Builder Architecture
|
||||
:alt: PlatformIO Build System Architecture
|
||||
|
||||
Single source code. *Multiple platforms.*
|
||||
-----------------------------------------
|
||||
@@ -151,26 +160,27 @@ more).
|
||||
|
||||
It has support for the most popular embedded platforms:
|
||||
|
||||
* `Atmel AVR <http://platformio.org/#!/platforms/atmelavr>`_
|
||||
* `Atmel SAM <http://platformio.org/#!/platforms/atmelsam>`_
|
||||
* `Espressif <http://platformio.org/#!/platforms/espressif>`_
|
||||
* `Freescale Kinetis <http://platformio.org/#!/platforms/freescalekinetis>`_
|
||||
* `Nordic nRF51 <http://platformio.org/#!/platforms/nordicnrf51>`_
|
||||
* `NXP LPC <http://platformio.org/#!/platforms/nxplpc>`_
|
||||
* `ST STM32 <http://platformio.org/#!/platforms/ststm32>`_
|
||||
* `Silicon Labs EFM32 <http://platformio.org/#!/platforms/siliconlabsefm32>`_
|
||||
* `Teensy <http://platformio.org/#!/platforms/teensy>`_
|
||||
* `TI MSP430 <http://platformio.org/#!/platforms/timsp430>`_
|
||||
* `TI TIVA C <http://platformio.org/#!/platforms/titiva>`_
|
||||
* `Atmel AVR <http://platformio.org/platforms/atmelavr>`_
|
||||
* `Atmel SAM <http://platformio.org/platforms/atmelsam>`_
|
||||
* `Espressif <http://platformio.org/platforms/espressif>`_
|
||||
* `Freescale Kinetis <http://platformio.org/platforms/freescalekinetis>`_
|
||||
* `Nordic nRF51 <http://platformio.org/platforms/nordicnrf51>`_
|
||||
* `NXP LPC <http://platformio.org/platforms/nxplpc>`_
|
||||
* `ST STM32 <http://platformio.org/platforms/ststm32>`_
|
||||
* `Silicon Labs EFM32 <http://platformio.org/platforms/siliconlabsefm32>`_
|
||||
* `Teensy <http://platformio.org/platforms/teensy>`_
|
||||
* `TI MSP430 <http://platformio.org/platforms/timsp430>`_
|
||||
* `TI TIVA C <http://platformio.org/platforms/titiva>`_
|
||||
|
||||
Frameworks:
|
||||
|
||||
* `Arduino <http://platformio.org/#!/frameworks/arduino>`_
|
||||
* `CMSIS <http://platformio.org/#!/frameworks/cmsis>`_
|
||||
* `libOpenCM3 <http://platformio.org/#!/frameworks/libopencm3>`_
|
||||
* `Energia <http://platformio.org/#!/frameworks/energia>`_
|
||||
* `SPL <http://platformio.org/#!/frameworks/spl>`_
|
||||
* `mbed <http://platformio.org/#!/frameworks/mbed>`_
|
||||
* `Arduino <http://platformio.org/frameworks/arduino>`_
|
||||
* `CMSIS <http://platformio.org/frameworks/cmsis>`_
|
||||
* `libOpenCM3 <http://platformio.org/frameworks/libopencm3>`_
|
||||
* `Energia <http://platformio.org/frameworks/energia>`_
|
||||
* `SPL <http://platformio.org/frameworks/spl>`_
|
||||
* `mbed <http://platformio.org/frameworks/mbed>`_
|
||||
* `WiringPi <http://platformio.org/frameworks/wiringpi>`_
|
||||
|
||||
For further details, please refer to `What is PlatformIO? <http://docs.platformio.org/en/latest/faq.html#what-is-platformio>`_
|
||||
|
||||
|
||||
BIN
docs/_static/clang-installer-add-path.png
vendored
Normal file
|
After Width: | Height: | Size: 22 KiB |
39
docs/_static/extra.css
vendored
@@ -47,7 +47,7 @@ nav {
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
.container {
|
||||
width: 1170px;
|
||||
width: 1150px;
|
||||
}
|
||||
}
|
||||
.container-fluid {
|
||||
@@ -253,3 +253,40 @@ nav {
|
||||
.navbar-header .navbar-brand {
|
||||
color: #e0e0e0;
|
||||
}
|
||||
|
||||
/* Misc */
|
||||
|
||||
.wy-side-scroll .wy-side-nav-search .icon,
|
||||
.wy-side-scroll .wy-side-nav-search .version {
|
||||
display: none;
|
||||
visibility: none;
|
||||
}
|
||||
|
||||
.navbar-header .navbar-brand {
|
||||
color: #e0e0e0;
|
||||
background: url("../_static/platformio-logo-xs.png") no-repeat;
|
||||
background-position: 5px 0;
|
||||
padding-left: 50px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.top-banner {
|
||||
display: block;
|
||||
padding: 10px 20px;
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
background-color: #0275d8;
|
||||
}
|
||||
|
||||
.top-banner:hover {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
background-color: #025ebb;
|
||||
}
|
||||
|
||||
.top-banner:visited {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
BIN
docs/_static/ide-atom-platformio-install.png
vendored
Normal file
|
After Width: | Height: | Size: 240 KiB |
BIN
docs/_static/ide-atom-platformio-menu-item.png
vendored
Normal file
|
After Width: | Height: | Size: 224 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-1.png
vendored
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-10.png
vendored
Normal file
|
After Width: | Height: | Size: 73 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-11.png
vendored
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-12.png
vendored
Normal file
|
After Width: | Height: | Size: 81 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-13.png
vendored
Normal file
|
After Width: | Height: | Size: 57 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-14.png
vendored
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-2.png
vendored
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-3.png
vendored
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-4.png
vendored
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-5.png
vendored
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-6.png
vendored
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-7.png
vendored
Normal file
|
After Width: | Height: | Size: 134 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-8.png
vendored
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-9.png
vendored
Normal file
|
After Width: | Height: | Size: 73 KiB |
BIN
docs/_static/ide-atom-platformio-toolbar.png
vendored
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
docs/_static/ide-atom-platformio.png
vendored
Normal file
|
After Width: | Height: | Size: 645 KiB |
BIN
docs/_static/ide-platformio-arduino.png
vendored
|
Before Width: | Height: | Size: 108 KiB |
BIN
docs/_static/ide-platformio-emacs.png
vendored
|
Before Width: | Height: | Size: 753 KiB After Width: | Height: | Size: 430 KiB |
BIN
docs/_static/ide-platformio-energia.png
vendored
|
Before Width: | Height: | Size: 112 KiB |
BIN
docs/_static/ide-platformio-netbeans.png
vendored
Normal file
|
After Width: | Height: | Size: 213 KiB |
BIN
docs/_static/ide-sublime-text-deviot.gif
vendored
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
docs/_static/ide-vs-platformio-newproject-6.png
vendored
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 24 KiB |
BIN
docs/_static/ide-vs-platformio-newproject-8.png
vendored
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 108 KiB |
BIN
docs/_static/ide-vs-platformio-newproject-9.png
vendored
Normal file
|
After Width: | Height: | Size: 71 KiB |
BIN
docs/_static/platformio-logo-xs.png
vendored
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
docs/_static/python-installer-add-path.png
vendored
Normal file
|
After Width: | Height: | Size: 63 KiB |
16
docs/_templates/footer.html
vendored
@@ -5,22 +5,22 @@
|
||||
<header id="pionav" class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="container container-fluid">
|
||||
<div class="navbar-header">
|
||||
<a class="navbar-brand" href="http://platformio.org/"></i> PlatformIO</a>
|
||||
<a class="navbar-brand" href="http://platformio.org">PlatformIO</a>
|
||||
</div>
|
||||
|
||||
<nav role="navigation">
|
||||
<div>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="http://platformio.org/#!/get-started"><i class="fa fa-rocket fa-lg"></i>Get Started</a></li>
|
||||
<li><a href="http://platformio.org/#!/platforms"><i class="fa fa-laptop fa-lg"></i>Platforms</a></li>
|
||||
<li><a href="http://platformio.org/#!/frameworks"><i class="fa fa-cogs fa-lg"></i>Frameworks</a></li>
|
||||
<li><a href="http://platformio.org/#!/boards"><i class="fa fa-gamepad fa-lg"></i>Boards</a></li>
|
||||
<li ><a href="http://platformio.org/#!/lib"><i class="fa fa-code fa-lg"></i>Libraries</a></li>
|
||||
<li><a href="http://platformio.org/get-started"><i class="fa fa-rocket fa-lg"></i>Get Started</a></li>
|
||||
<li><a href="http://platformio.org/platformio-ide"><i class="fa fa-cube fa-lg"></i>IDE</a></li>
|
||||
<li><a href="http://platformio.org/platforms"><i class="fa fa-wrench fa-lg"></i>Development</a></li>
|
||||
<li ><a href="http://platformio.org/lib"><i class="fa fa-code fa-lg"></i>Libraries</a></li>
|
||||
</ul>
|
||||
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li><a href="http://platformio.org/#!/who-uses"><i class="fa fa-heart-o fa-lg"></i>Who uses</a></li>
|
||||
<li class="active"><a href="http://docs.platformio.org/"><i class="fa fa-book fa-lg"></i>Docs</a></li>
|
||||
<li class="active"><a href="http://docs.platformio.org"><i class="fa fa-book fa-lg"></i>Docs</a></li>
|
||||
<li><a href="http://community.platformio.org"><i class="fa fa-comments-o fa-lg"></i>Community</a></li>
|
||||
<li><a href="http://platformio.org/contact"><i class="fa fa-envelope fa-lg"></i>Contact</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -23,6 +23,19 @@ Here are recent articles about PlatformIO:
|
||||
2016
|
||||
^^^^
|
||||
|
||||
* Mar 12, 2016 - **Peter Marks** - `PlatformIO, the Arduino IDE for programmers <http://blog.marxy.org/2016/03/platformio-arduino-ide-for-programmers.html>`_
|
||||
* Mar 12, 2016 - **Richard Arthurs** - `Getting Started With PlatformIO <http://richarthurs.com/2016/03/12/platformio-review-and-first-thoughts/>`_
|
||||
* Mar 07, 2016 - **Joran Jessurun** - `Nieuwe wereld met PlatformIO (New world with PlatformIO, Dutch) <http://blog.wisclub.nl/#post178>`_
|
||||
* Mar 05, 2016 - **brichacek.net** - `PlatformIO – otevřený ekosystém pro vývoj IoT (PlatformIO – an open source ecosystem for IoT development, Czech) <http://blog.brichacek.net/platformio-otevreny-ekosystem-pro-vyvoj-iot/>`_
|
||||
* Mar 04, 2016 - **Ricardo Vega** - `Programa tu Arduino desde Atom (Program your Arduino from Atom, Spanish) <http://ricveal.com/blog/programa-arduino-desde-atom/>`_
|
||||
* Feb 28, 2016 - **Alex Bloggt** - `PlatformIO vorgestellt (Introduction to PlatformIO IDE, German) <https://alexbloggt.com/platformio-vorgestellt/>`_
|
||||
* Feb 25, 2016 - **NutDIY** - `PlatformIO Blink On Nodemcu Dev Kit V1.0 (Thai) <http://nutdiy.blogspot.com/2016/02/platformio-blink-on-nodemcu-dev-kit-v10.html>`_
|
||||
* Feb 23, 2016 - **Ptarmigan Labs** - `ESP8266 Over The Air updating – what are the options? <https://ptarmiganlabs.com/blog/2016/02/23/esp8266-over-the-air-updating-what-are-the-options/>`_
|
||||
* Feb 22, 2016 - **Grzegorz Hołdys** - `How to Integrate PlatformIO with Netbeans <http://www.instructables.com/id/How-to-Integrate-PlatformIO-With-Netbeans/>`_
|
||||
* Feb 19, 2016 - **Embedds** - `Develop easier with PlatformIO ecosystem <http://www.embedds.com/develop-easier-with-platformio-ecosystem/>`_
|
||||
* Jan 24, 2016 - **Sergey Prilukin** - `How to use IntelliJ IDEA to develop and upload software for micro controllers like Arduino <http://jandevblog.blogspot.com/2016/01/how-to-use-intellij-idea-to-develop-and.html>`_
|
||||
* Jan 16, 2016 - **Dani Eichhorn** - `ESP8266 Arduino IDE Alternative: PlatformIO <http://blog.squix.ch/2016/01/esp8266-arduino-ide-alternative.html>`_
|
||||
* Jan 11, 2016 - **David Mills, Ph.D.** - `STM NUCLEOF401RE TIMER IO <http://webshed.org/wiki/STM_NUCLEOF401RE_TIMER_IO>`_
|
||||
* Jan 05, 2016 - **Julien Rodrigues** - `Internet Of Things: The IDE scandal <https://medium.com/@jrodrigues/internet-of-things-the-ide-scandal-5ddb8fc9d918>`_
|
||||
|
||||
2015
|
||||
@@ -55,14 +68,14 @@ Here are recent articles about PlatformIO:
|
||||
* May 17, 2015 - **S.S** - `コマンドラインでArduino開発 : vim + platformio (Arduino development at the command line: VIM + PlatformIO, Japanese) <http://qiita.com/caad1229/items/7b5fb47f034ae6e0baf2>`_
|
||||
* 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/>`_
|
||||
* 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 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/>`_
|
||||
* February 25, 2015 - **Hendrik Putzek** - `Use your favourite IDE together with Arduino <http://blog.putzek.com/2015/02/your-favourite-ide-with-arduino.html>`_
|
||||
* Apr 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>`_
|
||||
* Mar 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/>`_
|
||||
* Mar 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/>`_
|
||||
* Feb 25, 2015 - **Hendrik Putzek** - `Use your favourite IDE together with Arduino <http://blog.putzek.com/2015/02/your-favourite-ide-with-arduino.html>`_
|
||||
|
||||
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>`_
|
||||
* Oct 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>`_
|
||||
* Jun 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>`_
|
||||
* Jun 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>`_
|
||||
|
||||
@@ -82,7 +82,7 @@ Install dependent library using :ref:`librarymanager`
|
||||
# Install the latest stable PlatformIO
|
||||
- sudo pip install -U platformio
|
||||
|
||||
# OneWire Library with ID=1 http://platformio.org/#!/lib/show/1/OneWire
|
||||
# OneWire Library with ID=1 http://platformio.org/lib/show/1/OneWire
|
||||
- platformio lib install 1
|
||||
|
||||
test:
|
||||
@@ -157,8 +157,8 @@ Examples
|
||||
#
|
||||
# Libraries from PlatformIO Library Registry:
|
||||
#
|
||||
# http://platformio.org/#!/lib/show/416/TinyGPS
|
||||
# http://platformio.org/#!/lib/show/417/SPI4Teensy3
|
||||
# http://platformio.org/lib/show/416/TinyGPS
|
||||
# http://platformio.org/lib/show/417/SPI4Teensy3
|
||||
- platformio lib install 416 417
|
||||
|
||||
test:
|
||||
|
||||
@@ -105,7 +105,7 @@ Install dependent library using :ref:`librarymanager`
|
||||
#
|
||||
# Libraries from PlatformIO Library Registry:
|
||||
#
|
||||
# http://platformio.org/#!/lib/show/1/OneWire
|
||||
# http://platformio.org/lib/show/1/OneWire
|
||||
platformio lib install 1
|
||||
|
||||
Manually download dependent library and include in build process via ``--lib`` option
|
||||
@@ -188,8 +188,8 @@ Examples
|
||||
#
|
||||
# Libraries from PlatformIO Library Registry:
|
||||
#
|
||||
# http://platformio.org/#!/lib/show/416/TinyGPS
|
||||
# http://platformio.org/#!/lib/show/417/SPI4Teensy3
|
||||
# http://platformio.org/lib/show/416/TinyGPS
|
||||
# http://platformio.org/lib/show/417/SPI4Teensy3
|
||||
- platformio lib install 416 417
|
||||
|
||||
script:
|
||||
@@ -247,10 +247,10 @@ Examples
|
||||
- "~/.platformio"
|
||||
|
||||
env:
|
||||
- PLATFORMIO_CI_SRC=examples/TimeArduinoDue PLATFORMIO_CI_BOARDS_ARGS="--board=due"
|
||||
- PLATFORMIO_CI_SRC=examples/TimeArduinoDue PLATFORMIO_CI_EXTRA_ARGS="--board=due"
|
||||
- PLATFORMIO_CI_SRC=examples/TimeGPS
|
||||
- PLATFORMIO_CI_SRC=examples/TimeNTP
|
||||
- PLATFORMIO_CI_SRC=examples/TimeTeensy3 PLATFORMIO_CI_BOARDS_ARGS="--board=teensy31"
|
||||
- PLATFORMIO_CI_SRC=examples/TimeTeensy3 PLATFORMIO_CI_EXTRA_ARGS="--board=teensy31"
|
||||
# - ...
|
||||
|
||||
install:
|
||||
@@ -260,11 +260,11 @@ Examples
|
||||
#
|
||||
# Libraries from PlatformIO Library Registry:
|
||||
#
|
||||
# http://platformio.org/#!/lib/show/416/TinyGPS
|
||||
# http://platformio.org/lib/show/416/TinyGPS
|
||||
- platformio lib install 416 421 422
|
||||
|
||||
script:
|
||||
- if [[ $PLATFORMIO_CI_BOARDS_ARGS ]]; then bash -c 'platformio ci --lib="." $PLATFORMIO_CI_BOARDS_ARGS'; else bash -c 'platformio ci --lib="." --board=uno --board=teensy20pp'; fi
|
||||
- platformio ci --lib="." --board=uno --board=teensy20pp $PLATFORMIO_CI_EXTRA_ARGS
|
||||
|
||||
* Configuration file: https://github.com/ivankravets/Time/blob/master/.travis.yml
|
||||
* Build History: https://travis-ci.org/ivankravets/Time
|
||||
|
||||
@@ -21,8 +21,8 @@ Project Examples
|
||||
|
||||
Preconfigured demo projects are located in `PlatformIO GitHub <https://github.com/platformio/platformio/tree/develop/examples>`_ repository.
|
||||
|
||||
Wiring Blink
|
||||
------------
|
||||
"Blink Project"
|
||||
---------------
|
||||
|
||||
.. image:: _static/platformio-demo-wiring.gif
|
||||
|
||||
|
||||
@@ -34,10 +34,20 @@ operations/commands.
|
||||
PlatformIO handles ``CI`` variable which is setup by
|
||||
`Continuous Integration <http://en.wikipedia.org/wiki/Continuous_integration>`_
|
||||
(Travis, Circle and etc.) systems.
|
||||
Currently, PlatformIO uses it to disable prompts.
|
||||
PlatformIO uses it to disable prompts and progress bars. In other words,
|
||||
``CI=true`` automatically setup :envvar:`PLATFORMIO_SETTING_ENABLE_PROMPTS` to
|
||||
``false`` and :envvar:`PLATFORMIO_DISABLE_PROGRESSBAR` to ``true``.
|
||||
|
||||
In other words, ``CI=true`` automatically setup
|
||||
:envvar:`PLATFORMIO_SETTING_ENABLE_PROMPTS=false <PLATFORMIO_SETTING_ENABLE_PROMPTS>`.
|
||||
.. envvar:: PLATFORMIO_FORCE_COLOR
|
||||
|
||||
Force to output color ANSI-codes even if the output is a ``pipe`` (not a ``tty``).
|
||||
The possible values are ``true`` and ``false``. Default is ``PLATFORMIO_FORCE_COLOR=false``.
|
||||
|
||||
.. envvar:: PLATFORMIO_DISABLE_PROGRESSBAR
|
||||
|
||||
Disable progress bar for package/library downloader and uploader. This is
|
||||
useful when calling PlatformIO from subprocess and output is a ``pipe`` (not a ``tty``).
|
||||
The possible values are ``true`` and ``false``. Default is ``PLATFORMIO_DISABLE_PROGRESSBAR=false``.
|
||||
|
||||
.. envvar:: PLATFORMIO_HOME_DIR
|
||||
|
||||
@@ -60,13 +70,27 @@ Allows to override :ref:`projectconf` option :ref:`projectconf_pio_envs_dir`.
|
||||
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_data_dir`.
|
||||
|
||||
|
||||
Builder
|
||||
-------
|
||||
Building
|
||||
--------
|
||||
|
||||
.. envvar:: PLATFORMIO_BUILD_FLAGS
|
||||
|
||||
Allows to set :ref:`projectconf` option :ref:`projectconf_build_flags`.
|
||||
|
||||
Examples:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Unix:
|
||||
export PLATFORMIO_BUILD_FLAGS=-DFOO
|
||||
export PLATFORMIO_BUILD_FLAGS="-DFOO -DBAR=1 -DFLOAT_VALUE=1.23457e+07"
|
||||
export PLATFORMIO_BUILD_FLAGS="'-DWIFI_PASS=\"My password\"' '-DWIFI_SSID=\"My ssid name\"'"
|
||||
|
||||
# Windows:
|
||||
SET PLATFORMIO_BUILD_FLAGS=-DFOO
|
||||
SET PLATFORMIO_BUILD_FLAGS=-DFOO -DBAR=1 -DFLOAT_VALUE=1.23457e+07
|
||||
SET PLATFORMIO_BUILD_FLAGS='-DWIFI_PASS="My password"' '-DWIFI_SSID="My ssid name"'
|
||||
|
||||
.. envvar:: PLATFORMIO_SRC_BUILD_FLAGS
|
||||
|
||||
Allows to set :ref:`projectconf` option :ref:`projectconf_src_build_flags`.
|
||||
@@ -80,6 +104,18 @@ Allows to set :ref:`projectconf` option :ref:`projectconf_src_filter`.
|
||||
Allows to set :ref:`projectconf` option :ref:`projectconf_extra_script`.
|
||||
|
||||
|
||||
Uploading
|
||||
---------
|
||||
|
||||
.. envvar:: PLATFORMIO_UPLOAD_PORT
|
||||
|
||||
Allows to set :ref:`projectconf` option :ref:`projectconf_upload_port`.
|
||||
|
||||
.. envvar:: PLATFORMIO_UPLOAD_FLAGS
|
||||
|
||||
Allows to set :ref:`projectconf` option :ref:`projectconf_upload_flags`.
|
||||
|
||||
|
||||
Settings
|
||||
--------
|
||||
|
||||
|
||||
48
docs/faq.rst
@@ -19,53 +19,15 @@ Frequently Asked Questions
|
||||
General
|
||||
-------
|
||||
|
||||
.. _faq_what_is_platformio:
|
||||
|
||||
What is PlatformIO?
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
`PlatformIO <http://platformio.org>`_ is an open source ecosystem for IoT
|
||||
development.
|
||||
Please refer to :ref:`what_is_pio`
|
||||
|
||||
PlatformIO is independent from the platform, in which it is running. In fact,
|
||||
the only requirement is Python, which exists pretty much everywhere. What this
|
||||
means is that PlatformIO projects can be easily moved from one computer to
|
||||
another, as well as that PlatformIO allows for the easy sharing of projects
|
||||
between team members, regardless of operating system they prefer to work with.
|
||||
Beyond that, PlatformIO can be run not only on commonly used desktops/laptops
|
||||
but also on the servers without X Window System. While PlatformIO itself is a
|
||||
console application, it can be used in combination with one's favorite
|
||||
:ref:`ide` or text editor such as :ref:`ide_arduino`, :ref:`ide_atom`,
|
||||
:ref:`ide_clion`, :ref:`ide_eclipse`, :ref:`ide_qtcreator`,
|
||||
:ref:`ide_sublimetext`, :ref:`ide_vim`, :ref:`ide_visualstudio`, etc.
|
||||
What is ``.pioenvs`` directory
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Alright, so PlatformIO can run on different operating systems. But more
|
||||
importantly, from development perspective at least, is a list of supported
|
||||
boards and MCUs. To keep things short: PlatformIO supports approximately 200
|
||||
`Embedded Boards <http://platformio.org/#!/boards>`_ and all major
|
||||
:ref:`Development Platforms <platforms>`.
|
||||
|
||||
PlatformIO allows users to:
|
||||
|
||||
* Decide which operation system they want to run development process on.
|
||||
You can even use one OS at home and another at work.
|
||||
* Choose which editor to use for writing the code. It can be pretty simple
|
||||
editor or powerful favorite :ref:`ide`.
|
||||
* Focus on the code development, significantly simplifying support for the
|
||||
:ref:`platforms` and MCUs.
|
||||
|
||||
|
||||
How does it work?
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
Without going too deep into PlatformIO implementation details, work cycle of
|
||||
the project developed using PlatformIO is as follows:
|
||||
|
||||
* Users choose board(s) interested in :ref:`projectconf`
|
||||
* Based on this list of boards, PlatformIO downloads required toolchains and
|
||||
installs them automatically.
|
||||
* Users develop code and PlatformIO makes sure that it is compiled, prepared
|
||||
and uploaded to all the boards of interest.
|
||||
Please refer to :ref:`projectconf_pio_envs_dir`.
|
||||
|
||||
Command completion in Terminal
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -79,6 +41,7 @@ Bash completion for `platformio` subcommands you need to put into your `.bashrc`
|
||||
.. code-block:: bash
|
||||
|
||||
eval "$(_PLATFORMIO_COMPLETE=source platformio)"
|
||||
eval "$(_PLATFORMIO_COMPLETE=source pio)"
|
||||
|
||||
ZSH completion
|
||||
''''''''''''''
|
||||
@@ -89,6 +52,7 @@ To enable ``zsh`` completion please run these commands:
|
||||
|
||||
autoload bashcompinit && bashcompinit
|
||||
eval "$(_PLATFORMIO_COMPLETE=source platformio)"
|
||||
eval "$(_PLATFORMIO_COMPLETE=source pio)"
|
||||
|
||||
.. note::
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
Framework ``arduino``
|
||||
=====================
|
||||
Arduino Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
|
||||
Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
|
||||
|
||||
For more detailed information please visit `vendor site <http://arduino.cc/en/Reference/HomePage>`_.
|
||||
|
||||
@@ -40,7 +40,7 @@ Platforms
|
||||
- The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
|
||||
|
||||
* - :ref:`platform_teensy`
|
||||
- Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard "Mini-B" USB cable and a PC or Macintosh with a USB port.
|
||||
- Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
|
||||
|
||||
* - :ref:`platform_timsp430`
|
||||
- MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.
|
||||
@@ -50,7 +50,7 @@ Boards
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by horizontal.
|
||||
|
||||
Adafruit
|
||||
@@ -214,14 +214,14 @@ Arduino
|
||||
|
||||
* - ``due``
|
||||
- `Arduino Due (Programming Port) <http://arduino.cc/en/Main/arduinoBoardDue>`_
|
||||
- AT91SAM3X8E
|
||||
- SAM3X8E
|
||||
- 84 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``dueUSB``
|
||||
- `Arduino Due (USB Native Port) <http://arduino.cc/en/Main/arduinoBoardDue>`_
|
||||
- AT91SAM3X8E
|
||||
- SAM3X8E
|
||||
- 84 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
@@ -380,6 +380,20 @@ Arduino
|
||||
- 32 Kb
|
||||
- 2.5 Kb
|
||||
|
||||
* - ``zero``
|
||||
- `Arduino Zero (Programming Port) <https://www.arduino.cc/en/Main/ArduinoBoardZero>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``zeroUSB``
|
||||
- `Arduino Zero (USB Native Port) <https://www.arduino.cc/en/Main/ArduinoBoardZero>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
BQ
|
||||
~~
|
||||
|
||||
@@ -468,6 +482,53 @@ Digistump
|
||||
- 512 Kb
|
||||
- 28 Kb
|
||||
|
||||
Doit
|
||||
~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``espduino``
|
||||
- `ESPDuino (ESP-13 Module) <https://www.tindie.com/products/doit/espduinowifi-uno-r3/>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
ESPert
|
||||
~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``espresso_lite_v1``
|
||||
- `ESPresso Lite 1.0 <http://www.espert.co>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``espresso_lite_v2``
|
||||
- `ESPresso Lite 2.0 <http://www.espert.co>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
ESPino
|
||||
~~~~~~
|
||||
|
||||
@@ -549,6 +610,13 @@ Espressif
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp07``
|
||||
- `Espressif Generic ESP8266 ESP-07 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family#esp-07>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp12e``
|
||||
- `Espressif ESP8266 ESP-12E <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
@@ -556,6 +624,13 @@ Espressif
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp_wroom_02``
|
||||
- `ESP-WROOM-02 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 50 Kb
|
||||
|
||||
LightUp
|
||||
~~~~~~~
|
||||
|
||||
@@ -693,7 +768,14 @@ NodeMCU
|
||||
- RAM
|
||||
|
||||
* - ``nodemcu``
|
||||
- `NodeMCU 0.9 & 1.0 <http://www.nodemcu.com/>`_
|
||||
- `NodeMCU 0.9 (ESP-12 Module) <http://www.nodemcu.com/>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``nodemcuv2``
|
||||
- `NodeMCU 1.0 (ESP-12E Module) <http://www.nodemcu.com/>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
@@ -900,20 +982,13 @@ Sanguino
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``sanguino_atmega12848m``
|
||||
* - ``sanguino_atmega1284_8m``
|
||||
- `Sanguino ATmega1284p (8MHz) <https://code.google.com/p/sanguino/>`_
|
||||
- ATMEGA1284P
|
||||
- 8 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``sanguino_atmega1284m``
|
||||
- `Sanguino ATmega1284p (20MHz) <https://code.google.com/p/sanguino/>`_
|
||||
- ATMEGA1284P
|
||||
- 20 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``sanguino_atmega1284p``
|
||||
- `Sanguino ATmega1284p (16MHz) <https://code.google.com/p/sanguino/>`_
|
||||
- ATMEGA1284P
|
||||
@@ -921,13 +996,34 @@ Sanguino
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``sanguino_atmega644``
|
||||
- `Sanguino ATmega644 or ATmega644A (16 MHz) <https://code.google.com/p/sanguino/>`_
|
||||
- ATMEGA644
|
||||
- 16 MHz
|
||||
- 64 Kb
|
||||
- 4 Kb
|
||||
|
||||
* - ``sanguino_atmega644_8m``
|
||||
- `Sanguino ATmega644 or ATmega644A (8 MHz) <https://code.google.com/p/sanguino/>`_
|
||||
- ATMEGA644
|
||||
- 8 MHz
|
||||
- 64 Kb
|
||||
- 4 Kb
|
||||
|
||||
* - ``sanguino_atmega644p``
|
||||
- `Sanguino ATmega644P <https://code.google.com/p/sanguino/>`_
|
||||
- `Sanguino ATmega644P or ATmega644PA (16 MHz) <https://code.google.com/p/sanguino/>`_
|
||||
- ATMEGA644P
|
||||
- 16 MHz
|
||||
- 64 Kb
|
||||
- 4 Kb
|
||||
|
||||
* - ``sanguino_atmega644p_8m``
|
||||
- `Sanguino ATmega644P or ATmega644PA (8 MHz) <https://code.google.com/p/sanguino/>`_
|
||||
- ATMEGA644P
|
||||
- 8 MHz
|
||||
- 64 Kb
|
||||
- 4 Kb
|
||||
|
||||
SparkFun
|
||||
~~~~~~~~
|
||||
|
||||
@@ -1011,6 +1107,13 @@ SparkFun
|
||||
- 512 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``thingdev``
|
||||
- `SparkFun ESP8266 Thing Dev <https://www.sparkfun.com/products/13231>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``uview``
|
||||
- `SparkFun MicroView <https://www.sparkfun.com/products/12923>`_
|
||||
- ATMEGA328P
|
||||
@@ -1073,7 +1176,7 @@ Teensy
|
||||
- 16 Kb
|
||||
|
||||
* - ``teensy31``
|
||||
- `Teensy 3.1 <https://www.pjrc.com/store/teensy31.html>`_
|
||||
- `Teensy 3.1 / 3.2 <https://www.pjrc.com/store/teensy31.html>`_
|
||||
- MK20DX256
|
||||
- 72 MHz
|
||||
- 256 Kb
|
||||
@@ -1086,6 +1189,26 @@ Teensy
|
||||
- 64 Kb
|
||||
- 8 Kb
|
||||
|
||||
ThaiEasyElec
|
||||
~~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``espinotee``
|
||||
- `ThaiEasyElec ESPino <http://www.thaieasyelec.com/products/wireless-modules/wifi-modules/espino-wifi-development-board-detail.html>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
TinyCircuits
|
||||
~~~~~~~~~~~~
|
||||
|
||||
@@ -1127,14 +1250,14 @@ WeMos
|
||||
- RAM
|
||||
|
||||
* - ``d1``
|
||||
- `WeMos D1 <http://www.wemos.cc/wiki/doku.php?id=en:d1>`_
|
||||
- `WeMos D1(Retired) <http://www.wemos.cc/wiki/doku.php?id=en:d1>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``d1_mini``
|
||||
- `WeMos D1 mini <http://www.wemos.cc/wiki/doku.php?id=en:d1_mini>`_
|
||||
- `WeMos D1 R2 & mini <http://www.wemos.cc/wiki/doku.php?id=en:d1_mini>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
|
||||
@@ -35,7 +35,7 @@ Boards
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by horizontal.
|
||||
|
||||
Armstrap
|
||||
|
||||
@@ -9,6 +9,13 @@
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Articles
|
||||
--------
|
||||
|
||||
* Jan 11, 2016 - **David Mills, Ph.D.** - `STM NUCLEOF401RE TIMER IO <http://webshed.org/wiki/STM_NUCLEOF401RE_TIMER_IO>`_
|
||||
|
||||
See more :ref:`articles`.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
Framework ``energia``
|
||||
=====================
|
||||
Energia framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before.
|
||||
Energia Wiring-based framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before.
|
||||
|
||||
For more detailed information please visit `vendor site <http://energia.nu/reference/>`_.
|
||||
|
||||
@@ -38,7 +38,7 @@ Boards
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by horizontal.
|
||||
|
||||
TI
|
||||
|
||||
@@ -38,7 +38,7 @@ Boards
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by horizontal.
|
||||
|
||||
ST
|
||||
|
||||
@@ -27,6 +27,9 @@ Platforms
|
||||
* - Name
|
||||
- Description
|
||||
|
||||
* - :ref:`platform_atmelsam`
|
||||
- Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
|
||||
|
||||
* - :ref:`platform_freescalekinetis`
|
||||
- Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
|
||||
|
||||
@@ -43,14 +46,14 @@ Platforms
|
||||
- The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
|
||||
|
||||
* - :ref:`platform_teensy`
|
||||
- Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard "Mini-B" USB cable and a PC or Macintosh with a USB port.
|
||||
- Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
|
||||
|
||||
Boards
|
||||
------
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by horizontal.
|
||||
|
||||
Atmel
|
||||
@@ -295,7 +298,7 @@ NXP
|
||||
- LPC1768
|
||||
- 96 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
- 64 Kb
|
||||
|
||||
Nordic
|
||||
~~~~~~
|
||||
@@ -593,6 +596,13 @@ SeeedStudio
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``seeedArchMax``
|
||||
- `SeeedStudio Arch Max <https://developer.mbed.org/platforms/Seeed-Arch-Max/>`_
|
||||
- STM32F407VET6
|
||||
- 168 MHz
|
||||
- 512 Kb
|
||||
- 192 Kb
|
||||
|
||||
* - ``seeedTinyBLE``
|
||||
- `SeeedStudio Seeed Tiny BLE <http://developer.mbed.org/platforms/Seeed-Tiny-BLE/>`_
|
||||
- NRF51822
|
||||
@@ -605,7 +615,7 @@ SeeedStudio
|
||||
- LPC1768
|
||||
- 96 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
- 64 Kb
|
||||
|
||||
Silicon Labs
|
||||
~~~~~~~~~~~~
|
||||
@@ -716,7 +726,7 @@ Teensy
|
||||
- RAM
|
||||
|
||||
* - ``teensy31``
|
||||
- `Teensy 3.1 <https://www.pjrc.com/store/teensy31.html>`_
|
||||
- `Teensy 3.1 / 3.2 <https://www.pjrc.com/store/teensy31.html>`_
|
||||
- MK20DX256
|
||||
- 72 MHz
|
||||
- 256 Kb
|
||||
@@ -740,6 +750,6 @@ u-blox
|
||||
- LPC1768
|
||||
- 96 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
- 64 Kb
|
||||
|
||||
.. include:: mbed_extra.rst
|
||||
|
||||
@@ -35,7 +35,7 @@ Boards
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by horizontal.
|
||||
|
||||
Armstrap
|
||||
@@ -106,4 +106,11 @@ ST
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``nucleo_f401re``
|
||||
- `ST Nucleo F401RE <https://developer.mbed.org/platforms/ST-Nucleo-F401RE/>`_
|
||||
- STM32F401RET6
|
||||
- 84 MHz
|
||||
- 512 Kb
|
||||
- 96 Kb
|
||||
|
||||
.. include:: spl_extra.rst
|
||||
|
||||
@@ -35,7 +35,7 @@ Boards
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by horizontal.
|
||||
|
||||
Raspberry Pi
|
||||
|
||||
@@ -17,12 +17,11 @@ IDE Integration
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
ide/arduino
|
||||
ide/atom
|
||||
ide/clion
|
||||
ide/eclipse
|
||||
ide/emacs
|
||||
ide/energia
|
||||
ide/netbeans
|
||||
ide/qtcreator
|
||||
ide/sublimetext
|
||||
ide/vim
|
||||
|
||||
31
docs/ide/_platformio_ide_extra.rst
Normal file
@@ -0,0 +1,31 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. note::
|
||||
We are proud to present our official `PlatformIO IDE <http://platformio.org/platformio-ide>`_ -
|
||||
The next generation integrated development environment for IoT.
|
||||
|
||||
* Cross-platform build system without external dependencies to the OS software:
|
||||
|
||||
- 200+ embedded boards
|
||||
- 15+ development platforms
|
||||
- 10+ frameworks
|
||||
|
||||
* C/C++ Intelligent code completion
|
||||
* C/C++ Smart code linter for super-fast coding
|
||||
* Library Manager for the hundreds popular libraries
|
||||
* Multi-projects workflow with multiple panes
|
||||
* Multiple panes
|
||||
* Themes support with dark and light colors
|
||||
* Serial Port Monitor
|
||||
* Built-in Terminal with :ref:`PlatformIO CLI <userguide>` tool (``pio``, ``platformio``)
|
||||
|
||||
`Install PlatformIO IDE <http://platformio.org/platformio-ide>`_.
|
||||
@@ -1,50 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_arduino:
|
||||
|
||||
Arduino
|
||||
=======
|
||||
|
||||
The open-source `Arduino Software (IDE) <http://arduino.cc/en/main/software>`_
|
||||
makes it easy to write code and upload it to the board. It runs on *Windows,
|
||||
Mac OS X, and Linux*. The environment is written in *Java* and based on
|
||||
*Processing* and other open-source software.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* :ref:`platform_atmelavr`
|
||||
* :ref:`platform_atmelsam`
|
||||
* :ref:`framework_arduino`
|
||||
|
||||
Refer to the `Arduino Getting Started <http://arduino.cc/en/Guide/HomePage>`_
|
||||
page for Installation instructions.
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
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>`_.
|
||||
|
||||
Articles / Manuals
|
||||
------------------
|
||||
|
||||
* `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>`_
|
||||
|
||||
See the full list with :ref:`articles`.
|
||||
|
||||
Screenshot
|
||||
----------
|
||||
|
||||
.. image:: ../_static/ide-platformio-arduino.png
|
||||
:target: http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides
|
||||
@@ -11,47 +11,433 @@
|
||||
|
||||
.. _ide_atom:
|
||||
|
||||
Atom
|
||||
====
|
||||
PlatformIO IDE for Atom
|
||||
=======================
|
||||
|
||||
`Atom <https://atom.io>`_ is a text editor that's modern, approachable,
|
||||
yet hackable to the core—a tool you can customize to do anything but also use
|
||||
productively without ever touching a config file.
|
||||
PlatformIO IDE is the next generation integrated development environment for IoT:
|
||||
|
||||
This software can be used with:
|
||||
* Cross-platform build system without external dependencies to the OS software:
|
||||
|
||||
* all available :ref:`platforms`
|
||||
* all available :ref:`frameworks`
|
||||
- 200+ embedded boards
|
||||
- 15+ development platforms
|
||||
- 10+ frameworks
|
||||
|
||||
Refer to the `Atom Documentation <https://atom.io/docs>`_
|
||||
page for more detailed information.
|
||||
* C/C++ Intelligent Code Completion
|
||||
* C/C++ Smart Code Linter for rapid professional development
|
||||
* Library Manager for the hundreds popular libraries
|
||||
* Multi-projects workflow with multiple panes
|
||||
* Themes support with dark and light colors
|
||||
* Serial Port Monitor
|
||||
* Built-in Terminal with :ref:`PlatformIO CLI <userguide>` tool (``pio``, ``platformio``)
|
||||
|
||||
|
||||
PlatformIO IDE is based on GitHub's `Atom <https://atom.io>`_ source
|
||||
code editor that's modern, approachable, yet hackable to the core; a tool you
|
||||
can customize to do anything but also use productively without ever touching a
|
||||
config file.
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio.png
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
Installation
|
||||
------------
|
||||
|
||||
PlatformIO IDE is the next generation integrated development environment for IoT.
|
||||
It's built on top of `GitHub's Atom "hackable" text editor <https://atom.io>`_.
|
||||
If you have already Atom installed, please install `PlatformIO IDE for Atom package <https://atom.io/packages/platformio-ide>`_.
|
||||
|
||||
.. note::
|
||||
You don't need to install PlatformIO CLI seprately to system.
|
||||
PlatformIO CLI is built into PlatformIO IDE and you will be able to use it
|
||||
within PlatformIO IDE Terminal.
|
||||
|
||||
1. IDE Installation
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. note::
|
||||
If you don't have Atom installed yet, we propose to download
|
||||
`PlatformIO IDE for Atom bundle <http://platformio.org/platformio-ide>`_
|
||||
with built-in auto installer (optional).
|
||||
|
||||
1. Download and install the `latest official Atom text editor <https://atom.io>`_.
|
||||
2. Open Atom Package Manager and install `platformio-ide <https://atom.io/packages/platformio-ide>`_
|
||||
Atom package (be patient and let the installation complete)
|
||||
|
||||
- **Mac OS X**: ``Menu: Atom > Preferences > Install``
|
||||
- **Windows**: ``Menu: File > Settings > Install``
|
||||
- **Linux**: ``Menu: Edit > Preferences > Install``
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-install.png
|
||||
|
||||
2. Python Interpreter
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE is based on PlatformIO CLI which is written in
|
||||
`Python <https://www.python.org/downloads/>`_. Python is installed by default
|
||||
on the all popular OS except Windows.
|
||||
|
||||
**Windows Users**, please `Download the latest Python 2.7.x <https://www.python.org/downloads/>`_
|
||||
and install it. **DON'T FORGET** to select ``Add python.exe to Path`` feature
|
||||
on the "Customize" stage, otherwise ``python`` command will not be available.
|
||||
|
||||
.. image:: ../_static/python-installer-add-path.png
|
||||
|
||||
.. _ide_atom_installation_clang:
|
||||
|
||||
3. Clang for Intelligent Code Autocompletion
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE uses `clang <http://clang.llvm.org>`_ for the Intelligent Code Autocompletion.
|
||||
To check that ``clang`` is available in your system, please open
|
||||
Terminal and run ``clang --version``. If ``clang`` is not installed, then install it:
|
||||
|
||||
- **Mac OS X**: Install the latest Xcode along with the latest Command Line Tools
|
||||
(they are installed automatically when you run ``clang`` in Terminal for the
|
||||
first time, or manually by running ``xcode-select --install``
|
||||
- **Windows**: Download the latest `Clang for Windows <http://llvm.org/releases/download.html>`_.
|
||||
Please select "Add LLVM to the system PATH" option on the installation step.
|
||||
|
||||
.. image:: ../_static/clang-installer-add-path.png
|
||||
|
||||
- **Linux**: Using package managers: ``apt-get install clang`` or ``yum install clang``.
|
||||
- **Other Systems**: Download the latest `Clang for the other systems <http://llvm.org/releases/download.html>`_.
|
||||
|
||||
.. warning::
|
||||
The libraries which are added/installed after initializing process will
|
||||
not be reflected in code linter. You need ``Menu: PlatformIO >
|
||||
Rebuild C/C++ Project Index (Autocomplete, Linter)``.
|
||||
|
||||
.. _atom_ide_quickstart:
|
||||
|
||||
Quick Start
|
||||
-----------
|
||||
|
||||
Using `Atom Packages <https://atom.io/docs/v1.0.2/using-atom-atom-packages>`_
|
||||
please install `platomformio <https://atom.io/packages/platomformio>`_ package.
|
||||
This tutorial introduces you to the basics of PlatformIO IDE workflow and shows
|
||||
you a creation process of a simple "Blink" example. After finishing you will
|
||||
have a general understanding of how to work with projects in the IDE.
|
||||
|
||||
Launch
|
||||
~~~~~~
|
||||
|
||||
After installation, you launch PlatformIO IDE by opening Atom. Once Atom is
|
||||
open, PlatformIO IDE auto installer will continue to install dependent packages
|
||||
and PlatformIO CLI. Please be patient and let the installation complete. In the
|
||||
final result PlatformIO IDE will ask you to reload Atom window to apply
|
||||
installed components. Please click on ``Reload Now``. After it PlatformIO IDE is
|
||||
ready for using. Happy coding!
|
||||
|
||||
Setting Up the Project
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
1. To create a new project choose
|
||||
``Menu: PlatformIO > Initialize new Project or update existing`` or press
|
||||
the corresponding icon in the PlatformIO toolbar as shown in the image below:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-1.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-1.png
|
||||
|
||||
2. In the "New Project Menu" choose desired boards (more than one board is
|
||||
allowed) and select a project directory. Then press "Initialize" button:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-2.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-2.png
|
||||
|
||||
3. If everything is fine, you should see the success message and project tree
|
||||
in the left panel:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-3.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-3.png
|
||||
|
||||
4. Now, let's create the first project source file: right-click on the folder
|
||||
``src`` and choose ``New File``:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-4.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-4.png
|
||||
|
||||
Enter filename ``main.cpp``:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-5.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-5.png
|
||||
|
||||
Copy the next source code to the just created file ``main.cpp``:
|
||||
|
||||
.. code-block:: cpp
|
||||
|
||||
/**
|
||||
* Blink
|
||||
* Turns on an LED on for one second,
|
||||
* then off for one second, repeatedly.
|
||||
*/
|
||||
#include "Arduino.h"
|
||||
|
||||
void setup()
|
||||
{
|
||||
// initialize LED digital pin as an output.
|
||||
pinMode(LED_BUILTIN, OUTPUT);
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
// turn the LED on (HIGH is the voltage level)
|
||||
digitalWrite(LED_BUILTIN, HIGH);
|
||||
// wait for a second
|
||||
delay(1000);
|
||||
// turn the LED off by making the voltage LOW
|
||||
digitalWrite(LED_BUILTIN, LOW);
|
||||
// wait for a second
|
||||
delay(1000);
|
||||
}
|
||||
|
||||
Process Project
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE proposes different ways to process project (build, clean,
|
||||
upload firmware, run other targets) using:
|
||||
|
||||
- :ref:`atom_ide_platformio_toolbar`
|
||||
- :ref:`atom_ide_platformio_menu`
|
||||
- :ref:`ide_atom_building_targets` and hotkeys
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-6.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-6.png
|
||||
|
||||
5. Run ``Build`` and you should see green "success" result in the building
|
||||
panel:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-7.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-7.png
|
||||
|
||||
To upload firmware to the board run ``Upload``.
|
||||
|
||||
6. What is more, you can run specific target or process project environment
|
||||
using ``Menu: PlatformIO > Run other target...``
|
||||
or call targets list from the status bar (bottom, left corner):
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-8.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-8.png
|
||||
|
||||
And select desired target:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-9.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-9.png
|
||||
|
||||
7. To run built-in terminal interface choose ``Menu: PlatformIO > Terminal`` or
|
||||
press the corresponding icon in the PlatformIO toolbar:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-10.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-10.png
|
||||
|
||||
It provides you fast access to all set of powerful PlatformIO CLI commands:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-11.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-11.png
|
||||
|
||||
8. To run built-in "Serial Monitor" choose ``Menu: PlatformIO > Serial Monitor``
|
||||
or press the corresponding icon in the PlatformIO toolbar:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-12.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-12.png
|
||||
|
||||
It has several settings to adjust your connection:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-13.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-13.png
|
||||
|
||||
And allows you to communicate with your board in an easy way:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-14.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-14.png
|
||||
|
||||
|
||||
User Guide
|
||||
----------
|
||||
|
||||
.. _atom_ide_platformio_menu:
|
||||
|
||||
Menu item ``PlatformIO``
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
`platformio-ide <https://atom.io/packages/platformio-ide>`_ package adds to Atom
|
||||
new menu item named ``Menu: PlatformIO`` (after ``Menu: Help`` item).
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-menu-item.png
|
||||
|
||||
.. _atom_ide_platformio_toolbar:
|
||||
|
||||
PlatformIO Toolbar
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE Toolbar contains the quick access button to the popular commands.
|
||||
Each button contains hint (delay mouse on it).
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-toolbar.png
|
||||
|
||||
* PlatformIO: Build
|
||||
* PlatformIO: Upload
|
||||
* PlatformIO: Clean
|
||||
* ||
|
||||
* Initialize new PlatformIO Project or update existing...
|
||||
* Add/Open Project Folder...
|
||||
* Find in Project...
|
||||
* ||
|
||||
* Terminal
|
||||
* Library Manager
|
||||
* Serial Monitor
|
||||
* ||
|
||||
* Settings
|
||||
* PlatformIO Documentation
|
||||
|
||||
.. _ide_atom_building_targets:
|
||||
|
||||
Building / Uploading / Targets
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* ``cmd-alt-b`` / ``ctrl-alt-b`` / ``f9`` builds project without auto-uploading.
|
||||
* ``cmd-alt-u`` / ``ctrl-alt-u`` builds and uploads (if no errors).
|
||||
* ``cmd-alt-c`` / ``ctrl-alt-c`` cleans compiled objects.
|
||||
* ``cmd-alt-t`` / ``ctrl-alt-t`` / ``f7`` run other targets (Upload using Programmer, Upload SPIFFS image, Update platforms and libraries).
|
||||
* ``cmd-alt-g`` / ``ctrl-alt-g`` / ``f4`` cycles through causes of build error.
|
||||
* ``cmd-alt-h`` / ``ctrl-alt-h`` / ``shift-f4`` goes to the first build error.
|
||||
* ``cmd-alt-v`` / ``ctrl-alt-v`` / ``f8`` toggles the build panel.
|
||||
* ``escape`` terminates build / closes the build window.
|
||||
|
||||
More options ``Menu: PlatformIO > Settings > Build``.
|
||||
|
||||
Intelligent Code Autocompletion
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE uses `clang <http://clang.llvm.org>`_ for the Intelligent Code Autocompletion.
|
||||
To install it or check if it is already installed, please follow to step
|
||||
:ref:`ide_atom_installation_clang` from Installation guide.
|
||||
|
||||
.. warning::
|
||||
The libraries which are added/installed after initializing process will
|
||||
not be reflected in code linter. You need ``Menu: PlatformIO >
|
||||
Rebuild C/C++ Project Index (Autocomplete, Linter)``.
|
||||
|
||||
.. _ide_atom_smart_code_linter:
|
||||
|
||||
Smart Code Linter
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE uses PlatformIO's pre-built GCC toolchains for Smart Code Linter
|
||||
and rapid professional development.
|
||||
The configuration data are located in ``.gcc-flags.json``. This file will be
|
||||
automatically created and preconfigured when you initialize project using
|
||||
``Menu: PlatformIO > Initialize new PlatformIO Project or update existing...``.
|
||||
|
||||
.. warning::
|
||||
The libraries which are added/installed after initializing process will
|
||||
not be reflected in code linter. You need ``Menu: PlatformIO >
|
||||
Rebuild C/C++ Project Index (Autocomplete, Linter)``.
|
||||
|
||||
|
||||
.. error::
|
||||
If you have error like ``linter-gcc: Executable not found`` and
|
||||
``"***/.platformio/packages/toolchain-atmelavr/bin/avr-g++" not found``
|
||||
please ``Menu: PlatformIO > Initialize new PlatformIO Project or update existing...``.
|
||||
|
||||
Install Shell Commands
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To install ``platformio`` and ``pio`` shell commands please use ``Menu:
|
||||
PlatformIO > Install Shell Commands``. It will allow you to call PlatformIO from
|
||||
other process, terminal and etc.
|
||||
|
||||
Known issues
|
||||
------------
|
||||
|
||||
Smart Code Linter is disabled for Arduino files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
:ref:`ide_atom_smart_code_linter` is disabled by default for Arduino files
|
||||
(``*.ino`` and ``.pde``) because they are not valid C/C++ based
|
||||
source files:
|
||||
|
||||
1. Missing includes such as ``#include <Arduino.h>``
|
||||
2. Function declarations are omitted.
|
||||
|
||||
There are two solutions:
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
.. _ide_atom_knownissues_sclarduino_manually:
|
||||
|
||||
Convert Arduino file to C++ manually
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
For example, we have the next ``Demo.ino`` file:
|
||||
|
||||
.. code-block:: cpp
|
||||
|
||||
void function setup () {
|
||||
someFunction(13);
|
||||
}
|
||||
|
||||
void function loop() {
|
||||
delay(1000);
|
||||
}
|
||||
|
||||
void someFunction(int num) {
|
||||
}
|
||||
|
||||
Let's convert it to ``Demo.cpp``:
|
||||
|
||||
1. Add ``#include <Arduino.h>`` at the top of the source file
|
||||
2. Declare each custom function (excluding built-in, such as ``setup`` and ``loop``)
|
||||
before it will be called.
|
||||
|
||||
The final ``Demo.cpp``:
|
||||
|
||||
.. code-block:: cpp
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
void someFunction(int num);
|
||||
|
||||
void function setup () {
|
||||
someFunction(13);
|
||||
}
|
||||
|
||||
void function loop() {
|
||||
delay(1000);
|
||||
}
|
||||
|
||||
void someFunction(int num) {
|
||||
}
|
||||
|
||||
Force Arduino file as C++
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
To force Smart Code Linter to use Arduino files as C++ please
|
||||
|
||||
1. Open ``.gcc-flags.json`` file from the Initialized/Imported project and add
|
||||
``-x c++`` flag at the beginning of the value of ``gccDefaultCppFlags`` field:
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
{
|
||||
"execPath": "...",
|
||||
"gccDefaultCFlags": "...",
|
||||
"gccDefaultCppFlags": "-x c++ -fsyntax-only ...",
|
||||
"gccErrorLimit": 15,
|
||||
"gccIncludePaths": "...",
|
||||
"gccSuppressWarnings": false
|
||||
}
|
||||
|
||||
2. Perform all steps from :ref:`ide_atom_knownissues_sclarduino_manually`
|
||||
(without renaming to ``.cpp``).
|
||||
|
||||
Articles / Manuals
|
||||
------------------
|
||||
|
||||
* Jul 20, 2015 - **Eli Fatsi** - `Arduino Development in Atom Editor <http://viget.com/extend/arduino-development-in-atom-editor>`_
|
||||
* Mar 12, 2016 - **Peter Marks** - `PlatformIO, the Arduino IDE for programmers <http://blog.marxy.org/2016/03/platformio-arduino-ide-for-programmers.html>`_
|
||||
* Mar 05, 2016 - **brichacek.net** - `PlatformIO – otevřený ekosystém pro vývoj IoT (PlatformIO – an open source ecosystem for IoT development, Czech) <http://blog.brichacek.net/platformio-otevreny-ekosystem-pro-vyvoj-iot/>`_
|
||||
* Mar 04, 2016 - **Ricardo Vega** - `Programa tu Arduino desde Atom (Program your Arduino from Atom, Spanish) <http://ricveal.com/blog/programa-arduino-desde-atom/>`_
|
||||
* Feb 28, 2016 - **Alex Bloggt** - `PlatformIO vorgestellt (Introduction to PlatformIO IDE, German) <https://alexbloggt.com/platformio-vorgestellt/>`_
|
||||
* Feb 25, 2016 - **NutDIY** - `PlatformIO Blink On Nodemcu Dev Kit V1.0 (Thai) <http://nutdiy.blogspot.com/2016/02/platformio-blink-on-nodemcu-dev-kit-v10.html>`_
|
||||
|
||||
See more :ref:`articles`.
|
||||
|
||||
Screenshot
|
||||
----------
|
||||
|
||||
Building
|
||||
^^^^^^^^
|
||||
|
||||
.. image:: ../_static/ide-platformio-atom-1.gif
|
||||
:target: https://atom.io/packages/platomformio
|
||||
|
||||
Uploading
|
||||
^^^^^^^^^
|
||||
|
||||
.. image:: ../_static/ide-platformio-atom-2.gif
|
||||
:target: https://atom.io/packages/platomformio
|
||||
See a full list with :ref:`articles`.
|
||||
|
||||
@@ -20,20 +20,18 @@ initial version will support the GCC and Clang compilers and GDB debugger.
|
||||
Clion includes such features as a smart editor, code quality assurance,
|
||||
automated refactorings, project manager, integrated version control systems.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* all available :ref:`platforms`
|
||||
* all available :ref:`frameworks`
|
||||
|
||||
Refer to the `CDT Documentation <https://www.jetbrains.com/clion/documentation/>`_
|
||||
Refer to the `CLion Documentation <https://www.jetbrains.com/clion/documentation/>`_
|
||||
page for more detailed information.
|
||||
|
||||
.. image:: ../_static/ide-platformio-clion.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-clion.png
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
@@ -90,12 +88,6 @@ Articles / Manuals
|
||||
|
||||
See more :ref:`articles`.
|
||||
|
||||
Screenshot
|
||||
----------
|
||||
|
||||
.. image:: ../_static/ide-platformio-clion.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-clion.png
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
|
||||
@@ -24,20 +24,18 @@ with syntax highlighting, folding and hyperlink navigation, source code
|
||||
refactoring and code generation, visual debugging tools, including memory,
|
||||
registers, and disassembly viewers.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* all available :ref:`platforms`
|
||||
* all available :ref:`frameworks`
|
||||
|
||||
Refer to the `CDT Documentation <https://eclipse.org/cdt/documentation.php>`_
|
||||
page for more detailed information.
|
||||
|
||||
.. image:: ../_static/ide-platformio-eclipse.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-eclipse.png
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
@@ -82,14 +80,6 @@ Articles / Manuals
|
||||
|
||||
See a full list with :ref:`articles`.
|
||||
|
||||
Screenshot
|
||||
----------
|
||||
|
||||
Cross-platform `Blink Project <http://platformio.org/#!/get-started#blink-project-example>`_.
|
||||
|
||||
.. image:: ../_static/ide-platformio-eclipse.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-eclipse.png
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
|
||||
@@ -19,15 +19,12 @@ an interpreter for Emacs Lisp, a dialect of the
|
||||
`Lisp programming language <http://en.wikipedia.org/wiki/Lisp_programming_language>`_
|
||||
with extensions to support text editing.
|
||||
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* all available :ref:`platforms`
|
||||
* all available :ref:`frameworks`
|
||||
|
||||
Refer to the `Emacs Documentation <https://www.gnu.org/software/emacs/#Manuals>`_
|
||||
page for more detailed information.
|
||||
|
||||
.. image:: ../_static/ide-platformio-emacs.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-emacs.png
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
@@ -48,7 +45,7 @@ Code completion can optionally be provided by installing `irony-mode <https://gi
|
||||
Project Generator
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
@@ -69,10 +66,3 @@ There are 6 predefined targets for building.
|
||||
The libraries which are added, installed or used in the project
|
||||
after generating process wont be reflected in IDE. To fix it you
|
||||
need to reinitialize project using :ref:`cmd_init` (repeat it).
|
||||
|
||||
|
||||
Screenshot
|
||||
----------
|
||||
|
||||
.. image:: ../_static/ide-platformio-emacs.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-emacs.png
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_energia:
|
||||
|
||||
Energia
|
||||
=======
|
||||
|
||||
The open-source `Energia Software (IDE) <http://energia.nu>`_
|
||||
makes it easy to write code and upload it to the board. It runs on *Windows,
|
||||
Mac OS X, and Linux*. The environment is written in *Java* and based on
|
||||
*Processing* and other open-source software.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* :ref:`platform_timsp430`
|
||||
* :ref:`platform_titiva`
|
||||
* :ref:`framework_energia`
|
||||
|
||||
Refer to the `Energia Getting Started <http://energia.nu/guide/>`_
|
||||
page for Installation instructions.
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
More detailed information is located in PlatformIO blog:
|
||||
`Integration of PlatformIO library manager to Energia IDE <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_.
|
||||
|
||||
Articles / Manuals
|
||||
------------------
|
||||
|
||||
* `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>`_
|
||||
|
||||
See the full list with :ref:`articles`.
|
||||
|
||||
Screenshot
|
||||
-----------
|
||||
|
||||
.. image:: ../_static/ide-platformio-energia.png
|
||||
:target: http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides
|
||||
64
docs/ide/netbeans.rst
Normal file
@@ -0,0 +1,64 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_netbeans:
|
||||
|
||||
NetBeans
|
||||
========
|
||||
|
||||
NetBeans is a Java-based integrated development environment (IDE). It provides
|
||||
out-of-the-box code analyzers and editors for working with the latest Java 8
|
||||
technologies--Java SE 8, Java SE Embedded 8, and Java ME Embedded 8. The IDE
|
||||
also has a range of new tools for HTML5/JavaScript, in particular for Node.js,
|
||||
KnockoutJS, and AngularJS; enhancements that further improve its support for
|
||||
Maven and Java EE with PrimeFaces; and improvements to PHP and C/C++ support.
|
||||
|
||||
NetBeans IDE can be downloaded from `here <https://netbeans.org/downloads/>`_.
|
||||
Just make sure you download the C/C++ version (or if you already use NetBeans,
|
||||
install the C/C++ development plugins).
|
||||
|
||||
.. image:: ../_static/ide-platformio-netbeans.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-platformio-netbeans.png
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
platformio init --ide netbeans --board %TYPE%
|
||||
|
||||
# For example, generate project for Arduino UNO
|
||||
platformio init --ide netbeans --board uno
|
||||
|
||||
Then:
|
||||
|
||||
1. Open this project via ``Menu: File > Open Project...``
|
||||
2. Add new files to ``src`` directory (``*.c, *.cpp, *.ino, etc.``) via
|
||||
right-click on ``src`` folder in the "Projects" pane
|
||||
3. Build project using ``Menu: Run > Build Project``
|
||||
4. Upload firmware using ``Menu: Run > Run Project``
|
||||
|
||||
.. warning::
|
||||
The libraries which are added, installed or used in the project
|
||||
after generating process wont be reflected in IDE. To fix it you
|
||||
need to reinitialize project using :ref:`cmd_init` (repeat it).
|
||||
|
||||
Articles / Manuals
|
||||
------------------
|
||||
|
||||
* Feb 22, 2016 - **Grzegorz Hołdys** - `How to Integrate PlatformIO with Netbeans <http://www.instructables.com/id/How-to-Integrate-PlatformIO-With-Netbeans/>`_
|
||||
|
||||
See the full list with :ref:`articles`.
|
||||
@@ -16,14 +16,12 @@ Qt Creator
|
||||
|
||||
The `Qt Creator <https://github.com/qtproject/qt-creator>`_ is an open source cross-platform integrated development environment. The editor includes such features as syntax highlighting for various languages, project manager, integrated version control systems, rapid code navigation tools and code autocompletion.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* all available :ref:`platforms`
|
||||
* all available :ref:`frameworks`
|
||||
|
||||
Refer to the `Qt-creator Manual <http://doc.qt.io/qtcreator/>`_
|
||||
page for more detailed information.
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-7.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-7.png
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
@@ -37,7 +35,7 @@ Integration
|
||||
Project Generator
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
@@ -107,7 +105,7 @@ On the next steps select any available kit and click Finish button.
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-2.png
|
||||
|
||||
Secondly, 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):
|
||||
Secondly, we need to delete default build and clean steps and configure project with PlatformIO Build System (click on Projects label on left menu or ``Ctrl+5`` shortcut):
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-3.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-3.png
|
||||
@@ -189,12 +187,6 @@ Conclusion
|
||||
|
||||
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
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-7.png
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
|
||||
@@ -16,23 +16,33 @@ Sublime Text
|
||||
|
||||
The `Sublime Text <http://www.sublimetext.com/>`_ is a cross-platform text and source code editor, with a Python application programming interface (API). Sublime Text is proprietary software. Its functionality is extendable with plugins. Most of the extending packages have free-software licenses and are community-built and maintained. Sublime Text lacks graphical setting dialogues and is entirely configured by editing text files.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* all available :ref:`platforms`
|
||||
* all available :ref:`frameworks`
|
||||
|
||||
Refer to the `Sublime Text Documentation <http://docs.sublimetext.info/en/latest>`_
|
||||
page for more detailed information.
|
||||
|
||||
.. image:: ../_static/ide-sublime-text-deviot.gif
|
||||
:target: https://github.com/gepd/Deviot
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
Deviot Plugin
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
We are glad to inform you about awesome Sublime Text plugin for IoT development
|
||||
named `Deviot <https://github.com/gepd/Deviot>`_. It is based on
|
||||
PlatformIO CLI and will automatically install it for you. Please visit `official
|
||||
Deviot page <https://github.com/gepd/Deviot>`_ for the further installation
|
||||
steps and documentation.
|
||||
|
||||
.. image:: ../_static/ide-sublime-text-deviot.gif
|
||||
:target: https://github.com/gepd/Deviot
|
||||
|
||||
Project Generator
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
@@ -176,11 +186,6 @@ 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``.
|
||||
|
||||
Screenshot
|
||||
----------
|
||||
|
||||
.. image:: ../_static/ide-sublime-text-platformio-newproject-5.png
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
|
||||
@@ -18,10 +18,7 @@ VIM
|
||||
editor. Vim is designed for use both from a command-line interface and as a
|
||||
standalone application in a graphical user interface.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* all available :ref:`platforms`
|
||||
* all available :ref:`frameworks`
|
||||
.. image:: ../_static/ide-platformio-vim.png
|
||||
|
||||
.. contents::
|
||||
|
||||
@@ -90,8 +87,3 @@ Articles / Manuals
|
||||
* `コマンドラインでArduino開発 : vim + platformio (Arduino development at the command line: VIM + PlatformIO, Japanese) <http://qiita.com/caad1229/items/7b5fb47f034ae6e0baf2>`_
|
||||
|
||||
See a full list with :ref:`articles`.
|
||||
|
||||
Screenshot
|
||||
----------
|
||||
|
||||
.. image:: ../_static/ide-platformio-vim.png
|
||||
|
||||
@@ -16,14 +16,12 @@ Visual Studio
|
||||
|
||||
The `Microsoft Visual Studio (Free) <http://visualstudio.com/free>`_ is an integrated development environment (IDE) from Microsoft. Visual Studio includes a code editor supporting IntelliSense (the code completion component) as well as code refactoring.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* all available :ref:`platforms`
|
||||
* all available :ref:`frameworks`
|
||||
|
||||
Refer to the `Visual Studio Documentation <https://msdn.microsoft.com/library/vstudio>`_
|
||||
page for more detailed information.
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject-8.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-vs-platformio-newproject-8.png
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
@@ -37,7 +35,7 @@ Integration
|
||||
Project Generator
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
@@ -69,7 +67,7 @@ First of all, let's create new project from Visual Studio Start Page: ``Start >
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject.png
|
||||
|
||||
Secondly, we need to configure project with PlatformIO source code builder:
|
||||
Secondly, we need to configure project with PlatformIO Build System:
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject-2.png
|
||||
|
||||
@@ -95,14 +93,14 @@ First program in Visual Studio
|
||||
|
||||
Simple "Blink" project will consist from two files:
|
||||
|
||||
1. Main "C" source file named ``main.c`` must be located in the ``src`` directory.
|
||||
Let's create new file named ``main.c`` using ``Menu: File > New File`` or shortcut ``Ctrl+N``:
|
||||
1. Main "C++" source file named ``main.cpp`` must be located in the ``src`` directory.
|
||||
Let's create new file named ``main.cpp`` using ``Menu: File > New File`` or shortcut ``Ctrl+N``:
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject-6.png
|
||||
|
||||
Copy the source code which is described below to file ``main.c``.
|
||||
Copy the source code which is described below to file ``main.cpp``.
|
||||
|
||||
.. code-block:: c
|
||||
.. code-block:: cpp
|
||||
|
||||
#include "Arduino.h"
|
||||
#define WLED 13 // Most Arduino boards already have an LED attached to pin 13 on the board itself
|
||||
@@ -149,12 +147,6 @@ Conclusion
|
||||
|
||||
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
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-vs-platformio-newproject-8.png
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
@@ -162,3 +154,25 @@ Examples
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Source code of `Visual Studio "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/visualstudio>`_.
|
||||
|
||||
Known issues
|
||||
------------
|
||||
|
||||
IntelliSense Errors
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
VS Studio does not allow to specify for project other toolchain which will
|
||||
be used by IntelliSense. In this case, IntelliSense does not understand
|
||||
GCC-specific definitions.
|
||||
|
||||
However, these errors does not have any influence on PlatformIO Build
|
||||
System. It means that you can ignore them and rely on PlatformIO Build System
|
||||
messages which will be shown in output console after build.
|
||||
|
||||
Nevertheless, you can provide an IntelliSense-friendly definition of problematic
|
||||
GCC constructs and make sure that the GCC will ignore such definitions or
|
||||
disable IntelliSense error reporting at all.
|
||||
See details in `issue #543 <https://github.com/platformio/platformio/issues/543>`_
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject-9.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-vs-platformio-newproject-9.png
|
||||
|
||||
@@ -12,9 +12,14 @@
|
||||
PlatformIO is an open source ecosystem for IoT development
|
||||
==========================================================
|
||||
|
||||
**Cross-platform code builder and library manager. Continuous and IDE
|
||||
**Cross-platform build system and library manager. Continuous and IDE
|
||||
integration. Arduino and MBED compatible. Ready for Cloud compiling.**
|
||||
|
||||
* **PlatformIO IDE** - The next generation integrated development environment for IoT.
|
||||
C/C++ Intelligent Code Completion and Smart Code Linter for the super-fast coding.
|
||||
Multi-projects workflow with Multiple Panes. Themes Support with dark and light colors.
|
||||
Built-in Terminal with PlatformIO CLI tool and support for the powerful Serial Port Monitor.
|
||||
All advanced instruments without leaving your favourite development environment.
|
||||
* **Development Platforms** - Embedded and Desktop development platforms with
|
||||
pre-built toolchains, debuggers, uploaders and frameworks which work under
|
||||
popular host OS: Mac, Windows, Linux (+ARM)
|
||||
@@ -31,16 +36,16 @@ Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed,
|
||||
libOpenCM3, etc.*
|
||||
|
||||
* `Website <http://platformio.org>`_
|
||||
* `Web 2.0 Library Search <http://platformio.org/#!/lib>`_ |
|
||||
`Embedded Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
* `Web 2.0 Library Search <http://platformio.org/lib>`_ |
|
||||
`Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
* `Project Examples <https://github.com/platformio/platformio/tree/develop/examples>`_
|
||||
* `Source Code <https://github.com/platformio/platformio>`_ |
|
||||
`Issues <https://github.com/platformio/platformio/issues>`_
|
||||
* `Blog <http://www.ikravets.com/category/computer-life/platformio>`_ |
|
||||
`Twitter <https://twitter.com/PlatformIO_Org>`_ |
|
||||
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
|
||||
`Facebook <https://www.facebook.com/platformio>`_ |
|
||||
`Reddit <http://www.reddit.com/r/platformio/>`_
|
||||
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
|
||||
`Forums <http://community.platformio.org>`_
|
||||
|
||||
Embedded Development. *Easier Than Ever.*
|
||||
-----------------------------------------
|
||||
@@ -54,7 +59,7 @@ Embedded Development. *Easier Than Ever.*
|
||||
* Pre-built toolchains, :ref:`frameworks` for the
|
||||
:ref:`Development Platforms <platforms>`
|
||||
|
||||
Smart Code Builder. *Fast and Reliable.*
|
||||
Smart Build System. *Fast and Reliable.*
|
||||
----------------------------------------
|
||||
|
||||
* Reliable, automatic dependency analysis and detection of build changes
|
||||
@@ -66,22 +71,27 @@ The Missing Library Manager. *It's here!*
|
||||
-----------------------------------------
|
||||
|
||||
* Friendly Command-Line Interface
|
||||
* Modern `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
|
||||
* Modern `Web 2.0 Library Search <http://platformio.org/lib>`_
|
||||
* Library dependency management
|
||||
* Automatic library updating
|
||||
* It runs on Windows, Mac OS X, and Linux (+ARM).
|
||||
|
||||
For further details, please refer to
|
||||
:ref:`What is PlatformIO? How does it work? <faq_what_is_platformio>`
|
||||
:ref:`What is PlatformIO? How does it work? <what_is_pio>`
|
||||
|
||||
Contents
|
||||
--------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
what-is-platformio
|
||||
demo
|
||||
|
||||
.. toctree::
|
||||
:caption: Getting Started
|
||||
:maxdepth: 2
|
||||
|
||||
demo
|
||||
installation
|
||||
quickstart
|
||||
userguide/index
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
Installation
|
||||
============
|
||||
|
||||
.. include:: /ide/_platformio_ide_extra.rst
|
||||
|
||||
**PlatformIO** is written in `Python <https://www.python.org/downloads/>`_ and
|
||||
works on Mac OS X, Linux, Windows OS and *ARM*-based credit-card sized
|
||||
computers (`Raspberry Pi <http://www.raspberrypi.org>`_,
|
||||
@@ -34,7 +36,10 @@ System requirements
|
||||
**Windows Users**: Please `Download the latest Python 2.7.x
|
||||
<https://www.python.org/downloads/>`_ and install it.
|
||||
**DON'T FORGET** to select ``Add python.exe to Path`` feature on the
|
||||
"Customize" stage, otherwise ``pip`` command will not be available.
|
||||
"Customize" stage, otherwise Python Package Manager ``pip`` command
|
||||
will not be available.
|
||||
|
||||
.. image:: _static/python-installer-add-path.png
|
||||
|
||||
:Terminal Application:
|
||||
|
||||
@@ -46,13 +51,22 @@ System requirements
|
||||
Installation Methods
|
||||
--------------------
|
||||
|
||||
.. note::
|
||||
You don't need to install PlatformIO CLI if you are going to use
|
||||
:ref:`ide_atom`. PlatformIO CLI is built into PlatformIO IDE and you will be
|
||||
able to use it within PlatformIO IDE Terminal.
|
||||
|
||||
|
||||
Please *choose ONE of* the following methods:
|
||||
|
||||
a) Python Package Manager
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
Python Package Manager
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The latest stable version of PlatformIO may be installed or upgraded via
|
||||
`pip <https://pip.pypa.io>`_ as follows:
|
||||
Python Package Manager (`pip <https://pip.pypa.io>`_) as follows:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@@ -73,8 +87,8 @@ a few options here:
|
||||
|
||||
.. _installation_installer_script:
|
||||
|
||||
b) Installer Script
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
Installer Script
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
Super-Quick (Mac / Linux)
|
||||
'''''''''''''''''''''''''
|
||||
@@ -113,8 +127,19 @@ On *Windows OS* it may look like:
|
||||
# run it
|
||||
C:\Python27\python.exe get-platformio.py
|
||||
|
||||
c) Full Guide
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Mac OS X Homebrew
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
The latest stable version of PlatformIO may be installed or upgraded via
|
||||
Mac OS X Homebrew Packages Manager (`brew <http://brew.sh/>`_) as follows:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
brew install platformio
|
||||
|
||||
Full Guide
|
||||
~~~~~~~~~~
|
||||
|
||||
1. Check a ``python`` version (only 2.6-2.7 is supported):
|
||||
|
||||
@@ -142,8 +167,13 @@ For upgrading ``platformio`` to the latest version:
|
||||
|
||||
pip install -U platformio
|
||||
|
||||
d) Development Version
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
Development Version
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. warning::
|
||||
If you use :ref:`ide_atom`, please enable development version via
|
||||
``Menu PlatformIO: Settings > PlatformIO IDE > Use development version of
|
||||
PlatformIO``.
|
||||
|
||||
Install the latest PlatformIO from the ``develop`` branch:
|
||||
|
||||
|
||||
@@ -138,7 +138,13 @@ Examples:
|
||||
|
||||
*Required* if :ref:`libjson_downloadurl` field is not defined | Type: ``Object``
|
||||
|
||||
The repository in which the source code can be found.
|
||||
The repository in which the source code can be found. The field consists for the
|
||||
next items:
|
||||
|
||||
* ``type``
|
||||
* ``url``
|
||||
* ``branch`` if is not specified, default branch will be used. This field will
|
||||
be ignored if tag/release exists with the value of :ref:`libjson_version`.
|
||||
|
||||
Example:
|
||||
|
||||
@@ -158,22 +164,46 @@ Example:
|
||||
*Required* if :ref:`libjson_repository` field is not defined | Type: ``String``
|
||||
| Max. Length: 20
|
||||
|
||||
A version of the current library source code.
|
||||
A version of the current library source code. Can contain a-z, digits, dots or
|
||||
dash. `Semantic Versioning <http://semver.org>`_ IS RECOMMENDED.
|
||||
|
||||
* Can contain a-z, digits, dots or dash.
|
||||
* `Semantic Versioning <http://semver.org>`_ IS RECOMMENDED.
|
||||
:Case 1:
|
||||
|
||||
If :ref:`libjson_version` field is not defined and :ref:`libjson_repository`
|
||||
field is defined, then |PIOAPICR| will use the
|
||||
`CVS <http://en.wikipedia.org/wiki/Concurrent_Versions_System>` revision from
|
||||
the latest commit as "current version". For example, ``13`` (*SVN*) or first
|
||||
10 chars of *SHA* digest ``e4564b7da4`` (*Git*).
|
||||
:ref:`libjson_version` and :ref:`libjson_repository` fields are defined.
|
||||
The :ref:`libjson_repository` is hosted on GitHub or Bitbucket.
|
||||
|
||||
If :ref:`libjson_version` and :ref:`libjson_repository` fields are defined,
|
||||
then :ref:`libjson_version` has HIGHER PRIORITY. We recommend to use
|
||||
:ref:`libjson_version` field and specify the real release version. In other
|
||||
case, users will receive updates for library with each new commit to
|
||||
:ref:`libjson_repository`.
|
||||
|PIOAPICR| will lookup for release tag named as value of :ref:`libjson_version`
|
||||
or with ``v`` prefix (you do not need to pass this ``v`` prefix to the
|
||||
:ref:`libjson_version` field).
|
||||
|
||||
:Case 2:
|
||||
|
||||
:ref:`libjson_version` and :ref:`libjson_repository` fields are defined
|
||||
and :ref:`libjson_repository` does not contain tag/release with value of
|
||||
:ref:`libjson_version`.
|
||||
|
||||
|PIOAPICR| will use the latest source code from :ref:`libjson_repository`
|
||||
and link it with specified :ref:`libjson_version`. If :ref:`libjson_repository`
|
||||
``branch`` is not specified, then default branch will be used.
|
||||
Also, if you push new commits to :ref:`libjson_repository`
|
||||
and do not update :ref:`libjson_version` field, the library will not be
|
||||
updated until you change the :ref:`libjson_version`.
|
||||
|
||||
:Case 3:
|
||||
|
||||
:ref:`libjson_version` field is not defined and :ref:`libjson_repository`
|
||||
field is defined.
|
||||
|
||||
|PIOAPICR| will use the
|
||||
`CVS <http://en.wikipedia.org/wiki/Concurrent_Versions_System>`_ revision from
|
||||
the latest commit as "current version". For example, ``13`` (*SVN*) or first
|
||||
10 chars of *SHA* digest ``e4564b7da4`` (*Git*). If :ref:`libjson_repository`
|
||||
``branch`` is not specified, then default branch will be used.
|
||||
|
||||
We recommend to use :ref:`libjson_version` field and specify the real release
|
||||
version and make appropriate target in the :ref:`libjson_repository`. In other
|
||||
case, users will receive updates for library with each new commit to
|
||||
:ref:`libjson_repository`.
|
||||
|
||||
.. note::
|
||||
|PIOAPICR| updates library only if:
|
||||
@@ -201,6 +231,11 @@ Example:
|
||||
It is the *HTTP URL* to the archived source code of library. It should end
|
||||
with the type of archive (``.zip`` or ``.tar.gz``).
|
||||
|
||||
.. note::
|
||||
|
||||
:ref:`libjson_downloadurl` has higher priority than
|
||||
:ref:`libjson_repository`.
|
||||
|
||||
Example with fixed release/tag on GitHub:
|
||||
|
||||
.. code-block:: javascript
|
||||
@@ -372,6 +407,9 @@ A list of example patterns. This field is predefined with default value:
|
||||
.. code-block:: javascript
|
||||
|
||||
"examples": [
|
||||
"[Ee]xamples/*/*.c",
|
||||
"[Ee]xamples/*/*.cpp",
|
||||
"[Ee]xamples/*/*.h",
|
||||
"[Ee]xamples/*/*.ino",
|
||||
"[Ee]xamples/*/*.pde"
|
||||
]
|
||||
|
||||
@@ -152,6 +152,6 @@ to :ref:`install <cmd_lib_install>` it.
|
||||
Examples
|
||||
--------
|
||||
|
||||
* `GitHub + fixed release <http://platformio.org/#!/lib/show/552/ACNoblex>`_
|
||||
* `Dependencies by author and framework <http://platformio.org/#!/lib/show/3/PID-AutoTune>`_
|
||||
* `GitHub + fixed release <http://platformio.org/lib/show/552/ACNoblex>`_
|
||||
* `Dependencies by author and framework <http://platformio.org/lib/show/3/PID-AutoTune>`_
|
||||
* `Multiple libraries in the one repository <https://github.com/jrowberg/i2cdevlib/tree/master/Arduino>`_
|
||||
|
||||
@@ -18,7 +18,7 @@ Library Manager
|
||||
You can search for new libraries via
|
||||
|
||||
* :ref:`Command Line interface <cmd_lib_search>`
|
||||
* `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
|
||||
* `Web 2.0 Library Search <http://platformio.org/lib>`_
|
||||
|
||||
You don't need to bother for finding the latest version of library. Due to
|
||||
:ref:`cmd_lib_update` command you will have up-to-date external libraries.
|
||||
|
||||
@@ -44,8 +44,9 @@ Packages
|
||||
**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
|
||||
|
||||
**Windows Users:** Please check that you have correctly installed USB
|
||||
driver from board manufacturer
|
||||
|
||||
|
||||
|
||||
@@ -58,14 +59,14 @@ Frameworks
|
||||
- Description
|
||||
|
||||
* - :ref:`framework_arduino`
|
||||
- Arduino Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
|
||||
- Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
|
||||
|
||||
Boards
|
||||
------
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by
|
||||
horizontal.
|
||||
|
||||
@@ -740,20 +741,13 @@ Sanguino
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``sanguino_atmega12848m``
|
||||
* - ``sanguino_atmega1284_8m``
|
||||
- `Sanguino ATmega1284p (8MHz) <https://code.google.com/p/sanguino/>`_
|
||||
- ATMEGA1284P
|
||||
- 8 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``sanguino_atmega1284m``
|
||||
- `Sanguino ATmega1284p (20MHz) <https://code.google.com/p/sanguino/>`_
|
||||
- ATMEGA1284P
|
||||
- 20 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``sanguino_atmega1284p``
|
||||
- `Sanguino ATmega1284p (16MHz) <https://code.google.com/p/sanguino/>`_
|
||||
- ATMEGA1284P
|
||||
@@ -761,13 +755,34 @@ Sanguino
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``sanguino_atmega644``
|
||||
- `Sanguino ATmega644 or ATmega644A (16 MHz) <https://code.google.com/p/sanguino/>`_
|
||||
- ATMEGA644
|
||||
- 16 MHz
|
||||
- 64 Kb
|
||||
- 4 Kb
|
||||
|
||||
* - ``sanguino_atmega644_8m``
|
||||
- `Sanguino ATmega644 or ATmega644A (8 MHz) <https://code.google.com/p/sanguino/>`_
|
||||
- ATMEGA644
|
||||
- 8 MHz
|
||||
- 64 Kb
|
||||
- 4 Kb
|
||||
|
||||
* - ``sanguino_atmega644p``
|
||||
- `Sanguino ATmega644P <https://code.google.com/p/sanguino/>`_
|
||||
- `Sanguino ATmega644P or ATmega644PA (16 MHz) <https://code.google.com/p/sanguino/>`_
|
||||
- ATMEGA644P
|
||||
- 16 MHz
|
||||
- 64 Kb
|
||||
- 4 Kb
|
||||
|
||||
* - ``sanguino_atmega644p_8m``
|
||||
- `Sanguino ATmega644P or ATmega644PA (8 MHz) <https://code.google.com/p/sanguino/>`_
|
||||
- ATMEGA644P
|
||||
- 8 MHz
|
||||
- 64 Kb
|
||||
- 4 Kb
|
||||
|
||||
SparkFun
|
||||
~~~~~~~~
|
||||
|
||||
|
||||
@@ -28,15 +28,21 @@ Packages
|
||||
* - Name
|
||||
- Contents
|
||||
|
||||
* - ``toolchain-gccarmnoneeabi``
|
||||
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
|
||||
|
||||
* - ``framework-arduinosam``
|
||||
- `Arduino Wiring-based Framework (SAM Core, 1.6) <http://arduino.cc/en/Reference/HomePage>`_
|
||||
|
||||
* - ``tool-openocd``
|
||||
- `OpenOCD <http://openocd.org>`_
|
||||
|
||||
* - ``framework-mbed``
|
||||
- `mbed Framework <http://mbed.org>`_
|
||||
|
||||
* - ``ldscripts``
|
||||
- `Linker Scripts <https://sourceware.org/binutils/docs/ld/Scripts.html>`_
|
||||
|
||||
* - ``toolchain-gccarmnoneeabi``
|
||||
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
|
||||
|
||||
* - ``tool-bossac``
|
||||
- `BOSSA CLI <https://sourceforge.net/projects/b-o-s-s-a/>`_
|
||||
|
||||
@@ -44,8 +50,9 @@ Packages
|
||||
**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
|
||||
|
||||
**Windows Users:** Please check that you have correctly installed USB
|
||||
driver from board manufacturer
|
||||
|
||||
|
||||
|
||||
@@ -58,14 +65,17 @@ Frameworks
|
||||
- Description
|
||||
|
||||
* - :ref:`framework_arduino`
|
||||
- Arduino Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
|
||||
- Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
|
||||
|
||||
* - :ref:`framework_mbed`
|
||||
- The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
|
||||
|
||||
Boards
|
||||
------
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by
|
||||
horizontal.
|
||||
|
||||
@@ -84,18 +94,32 @@ Arduino
|
||||
|
||||
* - ``due``
|
||||
- `Arduino Due (Programming Port) <http://arduino.cc/en/Main/arduinoBoardDue>`_
|
||||
- AT91SAM3X8E
|
||||
- SAM3X8E
|
||||
- 84 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``dueUSB``
|
||||
- `Arduino Due (USB Native Port) <http://arduino.cc/en/Main/arduinoBoardDue>`_
|
||||
- AT91SAM3X8E
|
||||
- SAM3X8E
|
||||
- 84 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``zero``
|
||||
- `Arduino Zero (Programming Port) <https://www.arduino.cc/en/Main/ArduinoBoardZero>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``zeroUSB``
|
||||
- `Arduino Zero (USB Native Port) <https://www.arduino.cc/en/Main/ArduinoBoardZero>`_
|
||||
- SAMD21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
Atmel
|
||||
~~~~~
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ Custom Board
|
||||
*PlatformIO* has pre-built settings for the most popular embedded boards. This
|
||||
list is available:
|
||||
|
||||
* `Embedded Boards Explorer <http://platformio.org/#!/boards>`_ (Web)
|
||||
* `Embedded Boards Explorer <http://platformio.org/boards>`_ (Web)
|
||||
* :ref:`cmd_boards` (CLI command)
|
||||
|
||||
Nevertheless, PlatformIO allows to create own board or override existing
|
||||
|
||||
@@ -119,6 +119,9 @@ Packages
|
||||
* - ``tool-mspdebug``
|
||||
- `MSPDebug <http://mspdebug.sourceforge.net/>`_
|
||||
|
||||
* - ``tool-openocd``
|
||||
- `OpenOCD <http://openocd.org>`_
|
||||
|
||||
* - ``tool-rfdloader``
|
||||
- `rfdloader <https://github.com/RFduino/RFduino>`_
|
||||
|
||||
|
||||
@@ -50,8 +50,9 @@ Packages
|
||||
**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
|
||||
|
||||
**Windows Users:** Please check that you have correctly installed USB
|
||||
driver from board manufacturer
|
||||
|
||||
|
||||
|
||||
@@ -64,14 +65,14 @@ Frameworks
|
||||
- Description
|
||||
|
||||
* - :ref:`framework_arduino`
|
||||
- Arduino Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
|
||||
- Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
|
||||
|
||||
Boards
|
||||
------
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by
|
||||
horizontal.
|
||||
|
||||
@@ -95,6 +96,53 @@ Adafruit
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
Doit
|
||||
~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``espduino``
|
||||
- `ESPDuino (ESP-13 Module) <https://www.tindie.com/products/doit/espduinowifi-uno-r3/>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
ESPert
|
||||
~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``espresso_lite_v1``
|
||||
- `ESPresso Lite 1.0 <http://www.espert.co>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``espresso_lite_v2``
|
||||
- `ESPresso Lite 2.0 <http://www.espert.co>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
ESPino
|
||||
~~~~~~
|
||||
|
||||
@@ -142,6 +190,13 @@ Espressif
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp07``
|
||||
- `Espressif Generic ESP8266 ESP-07 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family#esp-07>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp12e``
|
||||
- `Espressif ESP8266 ESP-12E <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
@@ -149,6 +204,13 @@ Espressif
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp_wroom_02``
|
||||
- `ESP-WROOM-02 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 50 Kb
|
||||
|
||||
NodeMCU
|
||||
~~~~~~~
|
||||
|
||||
@@ -163,7 +225,14 @@ NodeMCU
|
||||
- RAM
|
||||
|
||||
* - ``nodemcu``
|
||||
- `NodeMCU 0.9 & 1.0 <http://www.nodemcu.com/>`_
|
||||
- `NodeMCU 0.9 (ESP-12 Module) <http://www.nodemcu.com/>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``nodemcuv2``
|
||||
- `NodeMCU 1.0 (ESP-12E Module) <http://www.nodemcu.com/>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
@@ -209,6 +278,13 @@ SparkFun
|
||||
- 512 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``thingdev``
|
||||
- `SparkFun ESP8266 Thing Dev <https://www.sparkfun.com/products/13231>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 80 Kb
|
||||
|
||||
SweetPea
|
||||
~~~~~~~~
|
||||
|
||||
@@ -229,6 +305,26 @@ SweetPea
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
ThaiEasyElec
|
||||
~~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``espinotee``
|
||||
- `ThaiEasyElec ESPino <http://www.thaieasyelec.com/products/wireless-modules/wifi-modules/espino-wifi-development-board-detail.html>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
WeMos
|
||||
~~~~~
|
||||
|
||||
@@ -243,14 +339,14 @@ WeMos
|
||||
- RAM
|
||||
|
||||
* - ``d1``
|
||||
- `WeMos D1 <http://www.wemos.cc/wiki/doku.php?id=en:d1>`_
|
||||
- `WeMos D1(Retired) <http://www.wemos.cc/wiki/doku.php?id=en:d1>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``d1_mini``
|
||||
- `WeMos D1 mini <http://www.wemos.cc/wiki/doku.php?id=en:d1_mini>`_
|
||||
- `WeMos D1 R2 & mini <http://www.wemos.cc/wiki/doku.php?id=en:d1_mini>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
|
||||
@@ -9,19 +9,64 @@
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Custom CPU Frequency or Upload Speed
|
||||
------------------------------------
|
||||
Custom CPU Frequency
|
||||
--------------------
|
||||
|
||||
See :ref:`projectconf_board_f_cpu` and :ref:`projectconf_upload_speed` options
|
||||
from :ref:`projectconf`
|
||||
See :ref:`projectconf_board_f_cpu` option from :ref:`projectconf`
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[env:myenv]
|
||||
# set frequency to 40MHz
|
||||
board_f_cpu = 40000000L
|
||||
# set frequency to 160MHz
|
||||
board_f_cpu = 160000000L
|
||||
|
||||
upload_speed = 9600
|
||||
Custom FLASH Frequency
|
||||
----------------------
|
||||
|
||||
See :ref:`projectconf_board_f_flash` option from :ref:`projectconf`. Possible
|
||||
values:
|
||||
|
||||
* ``20000000L``
|
||||
* ``26000000L``
|
||||
* ``40000000L``
|
||||
* ``80000000L``
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[env:myenv]
|
||||
# set frequency to 80MHz
|
||||
board_f_flash = 80000000L
|
||||
|
||||
Custom FLASH Mode
|
||||
-----------------
|
||||
|
||||
Flash chip interface mode. This parameter is stored in the binary image
|
||||
header, along with the flash size and flash frequency. The ROM bootloader
|
||||
in the ESP chip uses the value of these parameters in order to know how to
|
||||
talk to the flash chip.
|
||||
|
||||
See :ref:`projectconf_board_flash_mode` option from :ref:`projectconf`. Possible
|
||||
values:
|
||||
|
||||
* ``qio``
|
||||
* ``qout``
|
||||
* ``dio``
|
||||
* ``dout``
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[env:myenv]
|
||||
board_flash_mode = qio
|
||||
|
||||
Custom Reset Method
|
||||
-------------------
|
||||
|
||||
See :ref:`projectconf_upload_resetmethod` option from :ref:`projectconf`
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[env:myenv]
|
||||
upload_resetmethod = ck
|
||||
|
||||
.. _platform_espressif_customflash:
|
||||
|
||||
@@ -53,6 +98,16 @@ To override default LD script please use :ref:`projectconf_build_flags` from
|
||||
[env:myenv]
|
||||
build_flags = -Wl,-Tesp8266.flash.4m.ld
|
||||
|
||||
Custom Upload Speed
|
||||
-------------------
|
||||
|
||||
See :ref:`projectconf_upload_speed` option from :ref:`projectconf`
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[env:myenv]
|
||||
upload_speed = 9600
|
||||
|
||||
.. _platform_espressif_uploadfs:
|
||||
|
||||
Uploading files to file system SPIFFS
|
||||
@@ -96,7 +151,6 @@ There are 2 options:
|
||||
.. code-block:: ini
|
||||
|
||||
[env:myenv]
|
||||
...
|
||||
upload_port = IP_ADDRESS_HERE or mDNS_NAME.local
|
||||
|
||||
For example,
|
||||
@@ -117,7 +171,7 @@ You can pass additional options/flags to OTA uploader using
|
||||
|
||||
Available flags
|
||||
|
||||
* ``--port=ESP_PORT`` ESP8266 ota Port. Default 8266
|
||||
* ``--port=ESP_PORT`` ESP8266 OTA Port. Default 8266
|
||||
* ``--auth=AUTH`` Set authentication password
|
||||
* ``--spiffs`` Use this option to transmit a SPIFFS image and do not flash
|
||||
the module
|
||||
@@ -161,9 +215,34 @@ Demo
|
||||
.. image:: ../_static/platformio-demo-ota-esp8266.jpg
|
||||
:target: https://www.youtube.com/watch?v=lXchL3hpDO4
|
||||
|
||||
|
||||
Using Arduino Framework with Staging version
|
||||
--------------------------------------------
|
||||
|
||||
1. Clone/Copy `main repository <https://github.com/esp8266/Arduino>`_ to
|
||||
:ref:`projectconf_pio_home_dir` + ``packages/framework-arduinoespressif``
|
||||
and create new file ``packages/framework-arduinoespressif/version.txt``
|
||||
with the new version (for example, ``2.2.0``).
|
||||
2. Try to build project
|
||||
3. If you see build errors, then try to build this project using the same
|
||||
``stage`` on Arduino IDE
|
||||
4. If it works with Arduino IDE but doesn't work with PlatformIO, then please
|
||||
`open new issue <https://github.com/platformio/platformio/issues>`_ with
|
||||
attached information:
|
||||
|
||||
- test project/files
|
||||
- detailed log of build process from Arduino IDE (please copy it from
|
||||
console to http://pastebin.com)
|
||||
- detailed log of build process from PlatformIO Build System (
|
||||
please copy it from console to http://pastebin.com)
|
||||
|
||||
Articles
|
||||
--------
|
||||
|
||||
* Mar 07, 2016 - **Joran Jessurun** - `Nieuwe wereld met PlatformIO (New world with PlatformIO, Dutch) <http://blog.wisclub.nl/#post178>`_
|
||||
* Feb 25, 2016 - **NutDIY** - `PlatformIO Blink On Nodemcu Dev Kit V1.0 (ESP 12-E) <http://nutdiy.blogspot.com/2016/02/platformio-blink-on-nodemcu-dev-kit-v10.html>`_
|
||||
* Feb 23, 2016 - **Ptarmigan Labs** - `ESP8266 Over The Air updating – what are the options? <https://ptarmiganlabs.com/blog/2016/02/23/esp8266-over-the-air-updating-what-are-the-options/>`_
|
||||
* Jan 16, 2016 - **Dani Eichhorn** - `ESP8266 Arduino IDE Alternative: PlatformIO <http://blog.squix.ch/2016/01/esp8266-arduino-ide-alternative.html>`_
|
||||
* Dec 22, 2015 - **Jan Penninkhof** - `Over-the-Air ESP8266 programming using PlatformIO <http://www.penninkhof.com/2015/12/1610-over-the-air-esp8266-programming-using-platformio/>`_
|
||||
* Dec 01, 2015 - **Tateno Yuichi** - `ESP8266 を CUI で開発する (Develop a ESP8266 in CUI, Japanese) <http://jaywiggins.com/platformio/arduino/avr/es8266/2015/09/30/platformio-investigation/>`_
|
||||
|
||||
|
||||
@@ -38,8 +38,9 @@ Packages
|
||||
**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
|
||||
|
||||
**Windows Users:** Please check that you have correctly installed USB
|
||||
driver from board manufacturer
|
||||
|
||||
|
||||
|
||||
@@ -59,7 +60,7 @@ Boards
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by
|
||||
horizontal.
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ 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>`_.
|
||||
For more detailed information please visit `vendor site <http://platformio.org/platforms/linux_arm>`_.
|
||||
|
||||
.. contents::
|
||||
|
||||
@@ -50,7 +50,7 @@ Boards
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by
|
||||
horizontal.
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ 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>`_.
|
||||
For more detailed information please visit `vendor site <http://platformio.org/platforms/linux_i686>`_.
|
||||
|
||||
.. contents::
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ 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>`_.
|
||||
For more detailed information please visit `vendor site <http://platformio.org/platforms/linux_i686>`_.
|
||||
|
||||
.. contents::
|
||||
|
||||
|
||||
@@ -15,6 +15,6 @@ Platform ``native``
|
||||
===================
|
||||
Native development platform is intended to be used for desktop OS. This platform uses built-in toolchains (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>`_.
|
||||
For more detailed information please visit `vendor site <http://platformio.org/platforms/native>`_.
|
||||
|
||||
.. contents::
|
||||
@@ -44,8 +44,9 @@ Packages
|
||||
**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
|
||||
|
||||
**Windows Users:** Please check that you have correctly installed USB
|
||||
driver from board manufacturer
|
||||
|
||||
|
||||
|
||||
@@ -58,7 +59,7 @@ Frameworks
|
||||
- Description
|
||||
|
||||
* - :ref:`framework_arduino`
|
||||
- Arduino Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
|
||||
- Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
|
||||
|
||||
* - :ref:`framework_mbed`
|
||||
- The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
|
||||
@@ -68,7 +69,7 @@ Boards
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by
|
||||
horizontal.
|
||||
|
||||
|
||||
@@ -38,8 +38,9 @@ Packages
|
||||
**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
|
||||
|
||||
**Windows Users:** Please check that you have correctly installed USB
|
||||
driver from board manufacturer
|
||||
|
||||
|
||||
|
||||
@@ -59,7 +60,7 @@ Boards
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by
|
||||
horizontal.
|
||||
|
||||
@@ -169,7 +170,7 @@ NXP
|
||||
- LPC1768
|
||||
- 96 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
- 64 Kb
|
||||
|
||||
Outrageous Circuits
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
@@ -209,7 +210,7 @@ SeeedStudio
|
||||
- LPC1768
|
||||
- 96 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
- 64 Kb
|
||||
|
||||
Solder Splash Labs
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
@@ -269,4 +270,4 @@ u-blox
|
||||
- LPC1768
|
||||
- 96 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
- 64 Kb
|
||||
|
||||
@@ -38,8 +38,9 @@ Packages
|
||||
**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
|
||||
|
||||
**Windows Users:** Please check that you have correctly installed USB
|
||||
driver from board manufacturer
|
||||
|
||||
|
||||
|
||||
@@ -59,7 +60,7 @@ Boards
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by
|
||||
horizontal.
|
||||
|
||||
|
||||
@@ -53,8 +53,9 @@ Packages
|
||||
**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
|
||||
|
||||
**Windows Users:** Please check that you have correctly installed USB
|
||||
driver from board manufacturer
|
||||
|
||||
|
||||
|
||||
@@ -83,7 +84,7 @@ Boards
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by
|
||||
horizontal.
|
||||
|
||||
@@ -330,4 +331,24 @@ ST
|
||||
- 1024 Kb
|
||||
- 128 Kb
|
||||
|
||||
SeeedStudio
|
||||
~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``seeedArchMax``
|
||||
- `SeeedStudio Arch Max <https://developer.mbed.org/platforms/Seeed-Arch-Max/>`_
|
||||
- STM32F407VET6
|
||||
- 168 MHz
|
||||
- 512 Kb
|
||||
- 192 Kb
|
||||
|
||||
.. include:: ststm32_extra.rst
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
Platform ``teensy``
|
||||
===================
|
||||
Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard "Mini-B" USB cable and a PC or Macintosh with a USB port.
|
||||
Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
|
||||
|
||||
For more detailed information please visit `vendor site <https://www.pjrc.com/teensy>`_.
|
||||
|
||||
@@ -50,9 +50,13 @@ Packages
|
||||
**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
|
||||
|
||||
**Windows Users:** Teensy programming uses only Windows built-in HID
|
||||
drivers. When Teensy is programmed to act as a USB Serial device,
|
||||
Windows XP, Vista, 7 and 8 require `this serial driver
|
||||
<http://www.pjrc.com/teensy/serial_install.exe>`_
|
||||
is needed to access the COM port your program uses. No special driver
|
||||
installation is necessary on Windows 10.
|
||||
|
||||
|
||||
Frameworks
|
||||
@@ -64,7 +68,7 @@ Frameworks
|
||||
- Description
|
||||
|
||||
* - :ref:`framework_arduino`
|
||||
- Arduino Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
|
||||
- Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
|
||||
|
||||
* - :ref:`framework_mbed`
|
||||
- The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
|
||||
@@ -74,7 +78,7 @@ Boards
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by
|
||||
horizontal.
|
||||
|
||||
@@ -113,7 +117,7 @@ Teensy
|
||||
- 16 Kb
|
||||
|
||||
* - ``teensy31``
|
||||
- `Teensy 3.1 <https://www.pjrc.com/store/teensy31.html>`_
|
||||
- `Teensy 3.1 / 3.2 <https://www.pjrc.com/store/teensy31.html>`_
|
||||
- MK20DX256
|
||||
- 72 MHz
|
||||
- 256 Kb
|
||||
@@ -125,3 +129,5 @@ Teensy
|
||||
- 48 MHz
|
||||
- 64 Kb
|
||||
- 8 Kb
|
||||
|
||||
.. include:: teensy_extra.rst
|
||||
|
||||
20
docs/platforms/teensy_extra.rst
Normal file
@@ -0,0 +1,20 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for Teensy platform <https://github.com/platformio/platformio/tree/develop/examples/teensy>`_.
|
||||
|
||||
* `Wiring Blink <https://github.com/platformio/platformio/tree/develop/examples/wiring-blink>`_
|
||||
* `HID Mouse <https://github.com/platformio/platformio/tree/develop/examples/teensy/teensy-hid-usb-mouse>`_
|
||||
* `Chat Server <https://github.com/platformio/platformio/tree/develop/examples/teensy/teensy-internal-libs>`_
|
||||
@@ -44,8 +44,9 @@ Packages
|
||||
**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
|
||||
|
||||
**Windows Users:** Please check that you have correctly installed USB
|
||||
driver from board manufacturer
|
||||
|
||||
|
||||
|
||||
@@ -58,17 +59,17 @@ Frameworks
|
||||
- Description
|
||||
|
||||
* - :ref:`framework_arduino`
|
||||
- Arduino Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
|
||||
- Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
|
||||
|
||||
* - :ref:`framework_energia`
|
||||
- Energia framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before.
|
||||
- Energia Wiring-based framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before.
|
||||
|
||||
Boards
|
||||
------
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by
|
||||
horizontal.
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ Examples
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for TI MSP430 platform <https://github.com/platformio/platformio/tree/develop/examples/timsp430>`_.
|
||||
|
||||
* `PanStamp blink <https://github.com/platformio/platformio/tree/develop/examples/timsp430/panstamp-blink>`_
|
||||
* `Energia blink <https://github.com/platformio/platformio/tree/develop/examples/timsp430/timsp430-energia-blink>`_
|
||||
* `Native blink <https://github.com/platformio/platformio/tree/develop/examples/timsp430/timsp430-native-blink>`_
|
||||
* `Wiring Blink <https://github.com/platformio/platformio/tree/develop/examples/wiring-blink>`_
|
||||
* `PanStamp blink <https://github.com/platformio/platformio/tree/develop/examples/timsp430/panstamp-blink>`_
|
||||
|
||||
@@ -47,8 +47,9 @@ Packages
|
||||
**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
|
||||
|
||||
**Windows Users:** Please check that you have correctly installed USB
|
||||
driver from board manufacturer
|
||||
|
||||
|
||||
|
||||
@@ -61,7 +62,7 @@ Frameworks
|
||||
- Description
|
||||
|
||||
* - :ref:`framework_energia`
|
||||
- Energia framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before.
|
||||
- Energia Wiring-based framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before.
|
||||
|
||||
* - :ref:`framework_libopencm3`
|
||||
- The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
|
||||
@@ -71,7 +72,7 @@ Boards
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by
|
||||
horizontal.
|
||||
|
||||
@@ -108,3 +109,5 @@ TI
|
||||
- 120 MHz
|
||||
- 1024 Kb
|
||||
- 256 Kb
|
||||
|
||||
.. include:: titiva_extra.rst
|
||||
|
||||
27
docs/platforms/titiva_extra.rst
Normal file
@@ -0,0 +1,27 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Articles
|
||||
--------
|
||||
|
||||
* Mar 12, 2016 - **Richard Arthurs** - `Getting Started With PlatformIO <http://richarthurs.com/2016/03/12/platformio-review-and-first-thoughts/>`_
|
||||
|
||||
See more :ref:`articles`.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for TI TIVA platform <https://github.com/platformio/platformio/tree/develop/examples/titiva>`_.
|
||||
|
||||
* `Energia blink <https://github.com/platformio/platformio/tree/develop/examples/titiva/titiva-energia-blink>`_
|
||||
* `Native blink <https://github.com/platformio/platformio/tree/develop/examples/titiva/titiva-native-blink>`_
|
||||
* `OpenCM3 Blink <https://github.com/platformio/platformio/tree/develop/examples/titiva/titiva-opencm3-blink>`_
|
||||
@@ -15,7 +15,7 @@ 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>`_.
|
||||
For more detailed information please visit `vendor site <http://platformio.org/platforms/windows_x86>`_.
|
||||
|
||||
.. contents::
|
||||
|
||||
|
||||
@@ -25,8 +25,8 @@ The sections and their allowable values are described below.
|
||||
|
||||
.. contents::
|
||||
|
||||
[platformio]
|
||||
------------
|
||||
Section ``[platformio]``
|
||||
------------------------
|
||||
|
||||
A ``platformio`` section is used for overriding default configuration options
|
||||
|
||||
@@ -97,7 +97,7 @@ This option can be overridden by global environment variable
|
||||
``envs_dir``
|
||||
^^^^^^^^^^^^
|
||||
|
||||
*PlatformIO Builder* within :ref:`cmd_run` command uses this folder for project
|
||||
This is a cache directory. *PlatformIO Build System* uses this folder for project
|
||||
environments to store compiled object files, static libraries, firmwares and
|
||||
other cached information. It allows PlatformIO to build source code extremely
|
||||
fast!
|
||||
@@ -130,9 +130,11 @@ project.
|
||||
This option can be overridden by global environment variable
|
||||
:envvar:`PLATFORMIO_DATA_DIR`.
|
||||
|
||||
[env:NAME]
|
||||
----------
|
||||
|
||||
Section ``[env:NAME]``
|
||||
----------------------
|
||||
|
||||
A section with ``env:`` prefix is used to define virtual environment with
|
||||
specific options that will be processed with :ref:`cmd_run` command. You can
|
||||
define unlimited numbers of environments.
|
||||
@@ -145,8 +147,8 @@ Each environment must have unique ``NAME``. The valid chars for ``NAME`` are
|
||||
|
||||
For example, ``[env:hello_world]``.
|
||||
|
||||
Options
|
||||
~~~~~~~
|
||||
General options
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
.. _projectconf_env_platform:
|
||||
|
||||
@@ -165,7 +167,6 @@ Options
|
||||
|
||||
The multiple frameworks are allowed, split them with comma ``,`` separator.
|
||||
|
||||
|
||||
.. _projectconf_env_board:
|
||||
|
||||
``board``
|
||||
@@ -177,9 +178,12 @@ need to specify ``board_mcu``, ``board_f_cpu``, ``upload_protocol`` or
|
||||
pre-fill options described above with appropriate values.
|
||||
|
||||
You can find the ``board`` type in *Boards* section of each :ref:`platforms` or
|
||||
using `PlatformIO Embedded Boards Explorer <http://platformio.org/#!/boards>`_.
|
||||
using `PlatformIO Embedded Boards Explorer <http://platformio.org/boards>`_.
|
||||
|
||||
|
||||
Board options
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
``board_mcu``
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
@@ -201,43 +205,31 @@ format of this option is ``C-like long integer`` value with ``L`` suffix. The
|
||||
1 Hertz is equal to ``1L``, then 16 Mhz (Mega Hertz) is equal to ``16000000L``.
|
||||
|
||||
The full list of ``board_f_cpu`` for the popular embedded platforms you can
|
||||
find in *Boards* section of :ref:`platforms`. See "Frequency" column.
|
||||
find in *Boards* section of :ref:`platforms`. See "Frequency" column. You can
|
||||
overclock a board by specifying a ``board_f_cpu`` value other than the default.
|
||||
|
||||
.. _projectconf_board_f_flash:
|
||||
|
||||
``upload_port``
|
||||
^^^^^^^^^^^^^^^
|
||||
``board_f_flash``
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
This option is used by "uploader" tool when sending firmware to board via
|
||||
``upload_port``. For example,
|
||||
An option ``board_f_flash`` is used to define FLASH chip frequency (Hertz, Clock). A
|
||||
format of this option is ``C-like long integer`` value with ``L`` suffix. The
|
||||
1 Hertz is equal to ``1L``, then 40 Mhz (Mega Hertz) is equal to ``40000000L``.
|
||||
|
||||
* ``/dev/ttyUSB0`` - Unix-based OS
|
||||
* ``COM3`` - Windows OS
|
||||
* ``192.168.0.13`` - IP address when using OTA
|
||||
This option isn't available for the all development platforms. The only
|
||||
:ref:`platform_espressif` supports it.
|
||||
|
||||
If ``upload_port`` isn't specified, then *PlatformIO* will try to detect it
|
||||
automatically.
|
||||
.. _projectconf_board_flash_mode:
|
||||
|
||||
To print all available serial ports use :ref:`cmd_serialports` command.
|
||||
``board_flash_mode``
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Flash chip interface mode. This option isn't available for the all development
|
||||
platforms. The only :ref:`platform_espressif` supports it.
|
||||
|
||||
``upload_protocol``
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
A protocol that "uploader" tool uses to talk to the board.
|
||||
|
||||
.. _projectconf_upload_speed:
|
||||
|
||||
``upload_speed``
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
A connection speed (`baud rate <http://en.wikipedia.org/wiki/Baud>`_)
|
||||
which "uploader" tool uses when sending firmware to board.
|
||||
|
||||
``upload_flags``
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
Extra flags for uploader. Will be added to the end of uploader command. If you
|
||||
need to override uploader command or base flags please use :ref:`projectconf_extra_script`.
|
||||
Building options
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
.. _projectconf_build_flags:
|
||||
|
||||
@@ -309,7 +301,10 @@ Example:
|
||||
.. code-block:: ini
|
||||
|
||||
[env:specific_defines]
|
||||
build_flags = -Dfoo -Dbar=1
|
||||
build_flags = -DFOO -DBAR=1 -DFLOAT_VALUE=1.23457e+07
|
||||
|
||||
[env:string_defines]
|
||||
build_flags = '-DHELLO="World!"' '-DWIFI_PASS="My password"'
|
||||
|
||||
[env:specific_inclibs]
|
||||
build_flags = -I/opt/include -L/opt/lib -lfoo
|
||||
@@ -362,12 +357,140 @@ be applied in theirs order.
|
||||
`GLOB Patterns <http://en.wikipedia.org/wiki/Glob_(programming)>`_ are allowed.
|
||||
|
||||
By default, ``src_filter`` is predefined to
|
||||
``+<*> -<.git/> -<svn/> -<examples/>``, which means "includes ALL files, then
|
||||
exclude ``.git`` and ``svn`` repository folders and exclude ``examples`` folder.
|
||||
``+<*> -<.git/> -<svn/> -<example/> -<examples/> -<test/> -<tests/>``,
|
||||
which means "includes ALL files, then
|
||||
exclude ``.git`` and ``svn`` repository folders, ``example`` ... folder.
|
||||
|
||||
This option can be set by global environment variable
|
||||
:envvar:`PLATFORMIO_SRC_FILTER`.
|
||||
|
||||
.. _projectconf_extra_script:
|
||||
|
||||
``extra_script``
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
Allows to launch extra script using `SCons <http://www.scons.org>`_ software
|
||||
construction tool. For more details please follow to "Construction Environments"
|
||||
section of
|
||||
`SCons documentation <http://www.scons.org/doc/production/HTML/scons-user.html#chap-environments>`_.
|
||||
|
||||
This option can be set by global environment variable
|
||||
:envvar:`PLATFORMIO_EXTRA_SCRIPT`.
|
||||
|
||||
Example, specify own upload command for :ref:`platform_atmelavr`:
|
||||
|
||||
``platformio.ini``:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[env:env_with_specific_extra_script]
|
||||
platform = atmelavr
|
||||
extra_script = /path/to/extra_script.py
|
||||
custom_option = hello
|
||||
|
||||
``extra_script.py``:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from SCons.Script import DefaultEnvironment
|
||||
|
||||
env = DefaultEnvironment()
|
||||
|
||||
env.Replace(UPLOADHEXCMD='"$UPLOADER" ${ARGUMENTS.get("custom_option")} --uploader --flags')
|
||||
|
||||
# uncomment line below to see environment variables
|
||||
# print env.Dump()
|
||||
# print ARGUMENTS
|
||||
|
||||
|
||||
* see built-in examples of `PlatformIO build scripts <https://github.com/platformio/platformio/tree/develop/platformio/builder/scripts>`_.
|
||||
* take a look at the multiple snippets/answers for the user questions:
|
||||
|
||||
- `#462 Split C/C++ build flags <https://github.com/platformio/platformio/issues/462#issuecomment-172667342>`_
|
||||
- `#365 Extra configuration for ESP8266 uploader <https://github.com/platformio/platformio/issues/365#issuecomment-163695011>`_
|
||||
- `#351 Specific reset method for ESP8266 <https://github.com/platformio/platformio/issues/351#issuecomment-161789165>`_
|
||||
- `#247 Specific options for avrdude <https://github.com/platformio/platformio/issues/247#issuecomment-118169728>`_.
|
||||
|
||||
``targets``
|
||||
^^^^^^^^^^^
|
||||
|
||||
A list with targets which will be processed by :ref:`cmd_run` command by
|
||||
default. You can enter more than one target separated with "space".
|
||||
|
||||
The list with available targets is located in :option:`platformio run --target`.
|
||||
|
||||
**Tip!** You can use these targets like an option to
|
||||
:option:`platformio run --target` command. For example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# clean project
|
||||
platformio run -t clean
|
||||
|
||||
# dump curent build environment
|
||||
platformio run --target envdump
|
||||
|
||||
When no targets are defined, *PlatformIO* will build only sources by default.
|
||||
|
||||
|
||||
Uploading options
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. _projectconf_upload_port:
|
||||
|
||||
``upload_port``
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
This option is used by "uploader" tool when sending firmware to board via
|
||||
``upload_port``. For example,
|
||||
|
||||
* ``/dev/ttyUSB0`` - Unix-based OS
|
||||
* ``COM3`` - Windows OS
|
||||
* ``192.168.0.13`` - IP address when using OTA
|
||||
|
||||
If ``upload_port`` isn't specified, then *PlatformIO* will try to detect it
|
||||
automatically.
|
||||
|
||||
To print all available serial ports use :ref:`cmd_serialports` command.
|
||||
|
||||
This option can be set by global environment variable
|
||||
:envvar:`PLATFORMIO_UPLOAD_PORT`.
|
||||
|
||||
``upload_protocol``
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
A protocol that "uploader" tool uses to talk to the board.
|
||||
|
||||
.. _projectconf_upload_speed:
|
||||
|
||||
``upload_speed``
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
A connection speed (`baud rate <http://en.wikipedia.org/wiki/Baud>`_)
|
||||
which "uploader" tool uses when sending firmware to board.
|
||||
|
||||
.. _projectconf_upload_flags:
|
||||
|
||||
``upload_flags``
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
Extra flags for uploader. Will be added to the end of uploader command. If you
|
||||
need to override uploader command or base flags please use :ref:`projectconf_extra_script`.
|
||||
|
||||
This option can be set by global environment variable
|
||||
:envvar:`PLATFORMIO_UPLOAD_FLAGS`.
|
||||
|
||||
.. _projectconf_upload_resetmethod:
|
||||
|
||||
``upload_resetmethod``
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Specify reset method for "uploader" tool. This option isn't available for all
|
||||
development platforms. The only :ref:`platform_espressif` supports it.
|
||||
|
||||
Library options
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
``lib_install``
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
@@ -428,72 +551,7 @@ Example:
|
||||
[env:libs_with_enabled_ldf_cyclic]
|
||||
lib_dfcyclic = True
|
||||
|
||||
.. _projectconf_extra_script:
|
||||
|
||||
``extra_script``
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
Allows to launch extra script using `SCons <http://www.scons.org>`_ software
|
||||
construction tool. For more details please follow to "Construction Environments"
|
||||
section of
|
||||
`SCons documentation <http://www.scons.org/doc/production/HTML/scons-user.html#chap-environments>`_.
|
||||
|
||||
This option can be set by global environment variable
|
||||
:envvar:`PLATFORMIO_EXTRA_SCRIPT`.
|
||||
|
||||
Example, specify own upload command for :ref:`platform_atmelavr`:
|
||||
|
||||
``platformio.ini``:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[env:env_with_specific_extra_script]
|
||||
platform = atmelavr
|
||||
extra_script = /path/to/extra_script.py
|
||||
custom_option = hello
|
||||
|
||||
``extra_script.py``:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from SCons.Script import DefaultEnvironment
|
||||
|
||||
env = DefaultEnvironment()
|
||||
|
||||
env.Replace(UPLOADHEXCMD='"$UPLOADER" ${ARGUMENTS.get("custom_option")} --uploader --flags')
|
||||
|
||||
# uncomment line below to see environment variables
|
||||
# print env.Dump()
|
||||
# print ARGUMENTS
|
||||
|
||||
|
||||
* see built-in examples of `PlatformIO build scripts <https://github.com/platformio/platformio/tree/develop/platformio/builder/scripts>`_.
|
||||
* take a look at the multiple snippets/answers for the user questions:
|
||||
`#365 <https://github.com/platformio/platformio/issues/365#issuecomment-163695011>`_,
|
||||
`#351 <https://github.com/platformio/platformio/issues/351#issuecomment-161789165>`_,
|
||||
`#236 <https://github.com/platformio/platformio/issues/236#issuecomment-112038284>`_,
|
||||
`#247 <https://github.com/platformio/platformio/issues/247#issuecomment-118169728>`_
|
||||
|
||||
``targets``
|
||||
^^^^^^^^^^^
|
||||
|
||||
A list with targets which will be processed by :ref:`cmd_run` command by
|
||||
default. You can enter more than one target separated with "space".
|
||||
|
||||
The list with available targets is located in :option:`platformio run --target`.
|
||||
|
||||
**Tip!** You can use these targets like an option to
|
||||
:option:`platformio run --target` command. For example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# clean project
|
||||
platformio run -t clean
|
||||
|
||||
# dump curent build environment
|
||||
platformio run --target envdump
|
||||
|
||||
When no targets are defined, *PlatformIO* will build only sources by default.
|
||||
-----------
|
||||
|
||||
.. _projectconf_examples:
|
||||
|
||||
@@ -551,8 +609,8 @@ Examples
|
||||
upload_protocol = usbasp
|
||||
upload_flags = -Pusb -B5
|
||||
|
||||
Then upload firmware using :option:`platformio run --target program`. To use
|
||||
other programmers see :ref:`atmelavr_upload_via_programmer`.
|
||||
Then upload firmware using target ``program`` for :option:`platformio run --target`.
|
||||
command. To use other programmers see :ref:`atmelavr_upload_via_programmer`.
|
||||
|
||||
|
||||
4. :ref:`platform_ststm32`: Upload firmware using GDB script ``upload.gdb``,
|
||||
|
||||
@@ -11,61 +11,250 @@
|
||||
|
||||
.. _quickstart:
|
||||
|
||||
Quickstart
|
||||
==========
|
||||
Quick Start
|
||||
===========
|
||||
|
||||
.. hint::
|
||||
Please read `Get Started <http://platformio.org/#!/get-started>`_
|
||||
article from the official WebSite.
|
||||
.. note::
|
||||
If you are looking for a Qucik Start for PlatformIO IDE please follow to
|
||||
:ref:`PlatformIO IDE Quick Start <atom_ide_quickstart>` page.
|
||||
|
||||
1. :ref:`Install PlatformIO <installation>`.
|
||||
This tutorial introduces you to the basics of PlatformIO Command Line Interface
|
||||
(CLI) workflow and shows you a creation process of a simple cross-platform
|
||||
“Blink” Project. After finishing you will have a general understanding of how
|
||||
to work with the multiple development platforms and embedded boards.
|
||||
|
||||
2. Find board ``type`` using `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
or via :ref:`cmd_boards` command.
|
||||
Setting Up the Project
|
||||
----------------------
|
||||
|
||||
3. Initialize new PlatformIO based project via :ref:`cmd_init` command with the
|
||||
pre-configured environments for your boards:
|
||||
PlatformIO CLI provides special :ref:`cmd_init` command for configuring your projects.
|
||||
It allows to initialize new empty project or update existing with the new data.
|
||||
|
||||
What is more, :ref:`cmd_init` can be used for :ref:`ide`. It means that you will
|
||||
be able to import pre-generated PlatformIO project using favourite IDE and
|
||||
extend it with the professional instruments for IoT development.
|
||||
|
||||
This tutorial is based on the next popular embedded boards and development
|
||||
platforms using *Arduino Wiring-based Framework*:
|
||||
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Platform
|
||||
- Board
|
||||
- Framework
|
||||
|
||||
* - Atmel AVR
|
||||
- Arduino Uno (8-bit ATmega328P)
|
||||
- Arduino Wiring-based Framework
|
||||
|
||||
* - Espressif
|
||||
- NodeMCU 1.0 (32-bit ESP8266)
|
||||
- Arduino Wiring-based Framework
|
||||
|
||||
* - Teensy
|
||||
- Teensy 3.1 (32-bit ARM MK20DX256)
|
||||
- Arduino Wiring-based Framework
|
||||
|
||||
Board Identifier
|
||||
----------------
|
||||
|
||||
:ref:`cmd_init` command requires to specify board identifier (ID/TYPE). It can
|
||||
be found using `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
or :ref:`cmd_boards` command. For example, using :ref:`cmd_boards` let's try
|
||||
to find Teensy boards:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ platformio init --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||
> platformio boards teensy
|
||||
|
||||
The current working directory *** will be used for the new project.
|
||||
You can specify another project directory via
|
||||
`platformio init -d %PATH_TO_THE_PROJECT_DIR%` command.
|
||||
Platform: teensy
|
||||
---------------------------------------------------------------------------
|
||||
Type MCU Frequency Flash RAM Name
|
||||
---------------------------------------------------------------------------
|
||||
teensy20 atmega32u4 16Mhz 31kB 2.5kB Teensy 2.0
|
||||
teensy30 mk20dx128 48Mhz 128kB 16kB Teensy 3.0
|
||||
teensy31 mk20dx256 72Mhz 256kB 64kB Teensy 3.1 / 3.2
|
||||
teensylc mkl26z64 48Mhz 62kB 8kB Teensy LC
|
||||
teensy20pp at90usb1286 16Mhz 127kB 8kB Teensy++ 2.0
|
||||
|
||||
The next files/directories will be created in ***
|
||||
platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-|
|
||||
src - Put your source files here
|
||||
lib - Put here project specific (private) libraries
|
||||
Do you want to continue? [y/N]: y
|
||||
Project has been successfully initialized!
|
||||
Useful commands:
|
||||
`platformio run` - process/build project from the current directory
|
||||
`platformio run --target upload` or `platformio run -t upload` - upload firmware to embedded board
|
||||
`platformio run --target clean` - clean project (remove compiled files)
|
||||
According to the table above the ID/TYPE for Teensy 3.1 is ``teensy31``. Also,
|
||||
the ID for Arduino UNO is ``uno`` and for NodeMCU 1.0 (ESP-12E Module)
|
||||
is ``nodemcuv2``.
|
||||
|
||||
Put your source files ``*.h, *.c, *.cpp or *.ino`` to ``src`` directory.
|
||||
|
||||
4. Process the project's environments.
|
||||
Initialize Project
|
||||
------------------
|
||||
|
||||
Change working directory to the project's root where is located
|
||||
:ref:`Project Configuration File (platformio.ini) <projectconf>` and run:
|
||||
PlatformIO ecosystem contains huge database with pre-configured settings for the
|
||||
most popular embedded boards. It helps you to forget about installing
|
||||
toolchains, writing build scripts or configuring uploading process. Just tell
|
||||
PlatformIO the Board ID and you will receive full working project with
|
||||
pre-installed instruments for the professional development.
|
||||
|
||||
1. Create empty folder where you are going to initialize new PlatformIO
|
||||
project. Then open system Terminal and change directory to it:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# create new direcotry
|
||||
> mkdir path_to_the_new_directory
|
||||
|
||||
# go to it
|
||||
> cd path_to_the_new_directory
|
||||
|
||||
2. Initialize project for the boards mentioned above (you can specify more
|
||||
than one board at time):
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
> platformio init --board uno --board nodemcuv2 --board teensy31
|
||||
|
||||
The current working directory *** will be used for the new project.
|
||||
You can specify another project directory via
|
||||
`platformio init -d %PATH_TO_THE_PROJECT_DIR%` command.
|
||||
|
||||
The next files/directories will be created in ***
|
||||
platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-|
|
||||
src - Put your source files here
|
||||
lib - Put here project specific (private) libraries
|
||||
Do you want to continue? [y/N]: y
|
||||
Project has been successfully initialized!
|
||||
Useful commands:
|
||||
`platformio run` - process/build project from the current directory
|
||||
`platformio run --target upload` or `platformio run -t upload` - upload firmware to embedded board
|
||||
`platformio run --target clean` - clean project (remove compiled files)
|
||||
|
||||
|
||||
Congrats! You have just created the first PlatformIO based Project with the
|
||||
next structure:
|
||||
|
||||
* :ref:`projectconf`
|
||||
* ``src`` directory where you should place source code
|
||||
(``*.h, *.c, *.cpp, *.S, *.ino, etc.``)
|
||||
* ``lib`` directory can be used for the project specific (private) libraries.
|
||||
More details are located in ``lib/readme.txt`` file.
|
||||
* Miscellaneous files for CVS and :ref:`ci` support.
|
||||
|
||||
|
||||
.. note::
|
||||
If you need to add new board to the existing project please use
|
||||
:ref:`cmd_init` again.
|
||||
|
||||
|
||||
The result of just generated ``platformio.ini``:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
#
|
||||
# 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:uno]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = uno
|
||||
|
||||
[env:nodemcuv2]
|
||||
platform = espressif
|
||||
framework = arduino
|
||||
board = nodemcuv2
|
||||
|
||||
[env:teensy31]
|
||||
platform = teensy
|
||||
framework = arduino
|
||||
board = teensy31
|
||||
|
||||
|
||||
Now, we need to create ``main.cpp`` file and place it to ``src`` folder of our
|
||||
newly created project. The contents of ``src/main.cpp``:
|
||||
|
||||
.. code-block:: cpp
|
||||
|
||||
/**
|
||||
* Blink
|
||||
*
|
||||
* Turns on an LED on for one second,
|
||||
* then off for one second, repeatedly.
|
||||
*/
|
||||
#include "Arduino.h"
|
||||
|
||||
void setup()
|
||||
{
|
||||
// initialize LED digital pin as an output.
|
||||
pinMode(LED_BUILTIN, OUTPUT);
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
// turn the LED on (HIGH is the voltage level)
|
||||
digitalWrite(LED_BUILTIN, HIGH);
|
||||
|
||||
// wait for a second
|
||||
delay(1000);
|
||||
|
||||
// turn the LED off by making the voltage LOW
|
||||
digitalWrite(LED_BUILTIN, LOW);
|
||||
|
||||
// wait for a second
|
||||
delay(1000);
|
||||
}
|
||||
|
||||
|
||||
The final Project structure:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ platformio run
|
||||
|
||||
# if you don't have specified `targets = upload` option for environment,
|
||||
# then you can upload firmware manually with this command:
|
||||
$ platformio run --target upload
|
||||
|
||||
# clean project
|
||||
$ platformio run --target clean
|
||||
project_dir
|
||||
├── lib
|
||||
│ └── readme.txt
|
||||
├── platformio.ini
|
||||
└── src
|
||||
└── main.cpp
|
||||
|
||||
|
||||
Useful links:
|
||||
Process Project
|
||||
---------------
|
||||
|
||||
PlatformIO CLI provides special :ref:`cmd_run` command to process project. If
|
||||
you call it without any arguments, PlatformIO Build System will process all
|
||||
project environments (which were created per each board specified above). Here
|
||||
are a few useful commands:
|
||||
|
||||
* ``platformio run``. Process (build) all environments specified in
|
||||
:ref:`projectconf`
|
||||
* ``platformio run --target upload``. Build project and upload firmware to the
|
||||
all devices specified in :ref:`projectconf`
|
||||
* ``platformio run --target clean``. Clean project (delete compiled objects)
|
||||
* ``platformio run -e uno``. Process only ``uno`` environment
|
||||
* ``platformio run -e uno -t upload``. Build project only for ``uno`` and upload
|
||||
firmware.
|
||||
|
||||
Please follow to :option:`platformio run --target` documentation for the other
|
||||
targets.
|
||||
|
||||
Finally, demo which demonstrates building project and uploading firmware to
|
||||
Arduino Uno:
|
||||
|
||||
.. image:: _static/platformio-demo-wiring.gif
|
||||
|
||||
Further Reading
|
||||
---------------
|
||||
|
||||
* `Project examples <https://github.com/platformio/platformio/tree/develop/examples>`_
|
||||
* :ref:`userguide` for PlatformIO commands
|
||||
* `Quickstart for Espressif ESP8266 <https://github.com/esp8266/Arduino/blob/master/doc/platformio.md>`_
|
||||
* :ref:`userguide` for PlatformIO CLI commands
|
||||
|
||||
@@ -33,15 +33,11 @@ Initialize new PlatformIO based project or update existing with new data.
|
||||
This command will create:
|
||||
|
||||
* :ref:`projectconf`
|
||||
* ``src`` - a source directory. Put your source files here
|
||||
* ``lib`` - a directory for the project specific (private) libraries.
|
||||
PlatformIO will compile them to static libraries and link to executable file
|
||||
* ``.travis.yml`` configuration file (template) for Continuous Integration
|
||||
with :ref:`ci_travis`
|
||||
|
||||
.. note::
|
||||
The source code of each library should be placed in separate directory.
|
||||
For example, ``lib/private_lib/[here are source files]``.
|
||||
* ``src`` directory where you should place source code
|
||||
(``*.h, *.c, *.cpp, *.S, *.ino, etc.``)
|
||||
* ``lib`` directory can be used for the project specific (private) libraries.
|
||||
More details are located in ``lib/readme.txt`` file.
|
||||
* Miscellaneous files for CVS and :ref:`ci` support.
|
||||
|
||||
Options
|
||||
-------
|
||||
|
||||
@@ -95,7 +95,7 @@ Description
|
||||
~~~~~~~~~~~
|
||||
|
||||
This is a console application that provides a small terminal
|
||||
application. It is based on `Miniterm <http://pyserial.sourceforge.net/examples.html#miniterm>`_
|
||||
application. It is based on `Miniterm <https://pythonhosted.org/pyserial/examples.html#miniterm>`_
|
||||
and itself does not implement any terminal features such
|
||||
as *VT102* compatibility. However it inherits these features from the terminal
|
||||
it is run. For example on GNU/Linux running from an *xterm* it will support the
|
||||
|
||||
@@ -148,7 +148,7 @@ Examples
|
||||
check_libraries_interval 7 Check for the library updates interval (days)
|
||||
check_platformio_interval 3 Check for the new PlatformIO interval (days)
|
||||
check_platforms_interval 7 Check for the platform updates interval (days)
|
||||
enable_prompts Yes Can PlatformIO communicate with you via prompts: propose to install platforms which aren't installed yet, paginate over library search results and etc.)? ATTENTION!!! If you call PlatformIO like subprocess, please disable prompts to avoid blocking (Yes/No)
|
||||
enable_prompts Yes Can PlatformIO communicate with you via prompts ...
|
||||
enable_telemetry Yes Telemetry service (Yes/No)
|
||||
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ Examples
|
||||
.. code-block:: bash
|
||||
|
||||
$ platformio upgrade
|
||||
You're up-to-date!
|
||||
You are up-to-date!
|
||||
PlatformIO x.x.x is currently the newest version available.
|
||||
|
||||
# If you have problem with permissions try:
|
||||
|
||||
@@ -22,6 +22,9 @@ Usage
|
||||
.. code-block:: bash
|
||||
|
||||
platformio [OPTIONS] COMMAND
|
||||
pio [OPTIONS] COMMAND
|
||||
|
||||
# "pio" is the alias of "platformio" command
|
||||
|
||||
Options
|
||||
-------
|
||||
|
||||
@@ -28,7 +28,7 @@ Description
|
||||
-----------
|
||||
|
||||
Install new library by specified
|
||||
`PlatformIO Library Registry ID <http://platformio.org/#!/lib>`_.
|
||||
`PlatformIO Library Registry ID <http://platformio.org/lib>`_.
|
||||
|
||||
Options
|
||||
-------
|
||||
@@ -48,7 +48,7 @@ Examples
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# IRremote: http://platformio.org/#!/lib/show/4/IRremote
|
||||
# IRremote: http://platformio.org/lib/show/4/IRremote
|
||||
$ platformio lib install 4
|
||||
# Installing library [ 4 ]:
|
||||
# Downloading [####################################] 100%
|
||||
@@ -60,7 +60,7 @@ Examples
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# XBee: http://platformio.org/#!/lib/show/6/XBee
|
||||
# XBee: http://platformio.org/lib/show/6/XBee
|
||||
$ platformio lib install 6 --version=0.5
|
||||
# Installing library [ 6 ]:
|
||||
# Downloading [####################################] 100%
|
||||
@@ -72,7 +72,7 @@ Examples
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Adafruit-ST7735: http://platformio.org/#!/lib/show/12/Adafruit-ST7735
|
||||
# Adafruit-ST7735: http://platformio.org/lib/show/12/Adafruit-ST7735
|
||||
$ platformio lib install 12
|
||||
# Installing library [ 12 ]:
|
||||
# Downloading [####################################] 100%
|
||||
|
||||
@@ -27,7 +27,7 @@ Usage
|
||||
Description
|
||||
-----------
|
||||
|
||||
Search for library in `PlatformIO Library Registry <http://platformio.org/#!/lib>`_
|
||||
Search for library in `PlatformIO Library Registry <http://platformio.org/lib>`_
|
||||
by :ref:`library_config` fields in the boolean mode.
|
||||
|
||||
The boolean search capability supports the following operators:
|
||||
@@ -121,7 +121,7 @@ Examples
|
||||
# Show next libraries? [y/N]:
|
||||
# ...
|
||||
|
||||
2. Search for `1-Wire libraries <http://platformio.org/#!/lib/search?query=%25221-wire%2522>`_
|
||||
2. Search for `1-Wire libraries <http://platformio.org/lib/search?query=%25221-wire%2522>`_
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@@ -133,7 +133,7 @@ Examples
|
||||
# [ 1 ] OneWire arduino, atmelavr "Paul Stoffregen": Control devices (from Dallas Semiconductor) that use the One Wire protocol (DS18S20, DS18B20, DS2408 and etc)
|
||||
# ...
|
||||
|
||||
3. Search for `Arduino-based "I2C" libraries <http://platformio.org/#!/lib/search?query=framework%253Aarduino%2520i2c>`_
|
||||
3. Search for `Arduino-based "I2C" libraries <http://platformio.org/lib/search?query=framework%253Aarduino%2520i2c>`_
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@@ -148,7 +148,7 @@ Examples
|
||||
# [ 14 ] Adafruit-9DOF-Unified arduino, atmelavr "Adafruit Industries": Unified sensor driver for the Adafruit 9DOF Breakout (L3GD20 / LSM303)
|
||||
# ...
|
||||
|
||||
4. Search for `libraries by "web" and "http" keywords <http://platformio.org/#!/lib/search?query=keyword%253A%2522web%2522%2520keyword%253A%2522http%2522>`_.
|
||||
4. Search for `libraries by "web" and "http" keywords <http://platformio.org/lib/search?query=keyword%253A%2522web%2522%2520keyword%253A%2522http%2522>`_.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@@ -161,7 +161,7 @@ Examples
|
||||
# [ 17 ] Adafruit-CC3000 arduino, atmelavr "Adafruit Industries": Library code for Adafruit's CC3000 Wi-Fi/WiFi breakouts
|
||||
# ...
|
||||
|
||||
5. Search for `libraries by "Adafruit Industries" author <http://platformio.org/#!/lib/search?query=author%253A%2522Adafruit%20Industries%2522>`_
|
||||
5. Search for `libraries by "Adafruit Industries" author <http://platformio.org/lib/search?query=author%253A%2522Adafruit%20Industries%2522>`_
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@@ -176,7 +176,7 @@ Examples
|
||||
# [ 26 ] Adafruit-LSM303DLHC-Unified arduino, atmelavr "Adafruit Industries": Unified sensor driver for Adafruit's LSM303 Breakout (Accelerometer + Magnetometer)
|
||||
# ...
|
||||
|
||||
6. Search for `libraries which are compatible with Dallas temperature sensors <http://platformio.org/#!/lib/search?query=DS*>`_
|
||||
6. Search for `libraries which are compatible with Dallas temperature sensors <http://platformio.org/lib/search?query=DS*>`_
|
||||
like DS18B20, DS18S20 and etc.
|
||||
|
||||
.. code-block:: bash
|
||||
@@ -189,7 +189,7 @@ Examples
|
||||
# [ 1 ] OneWire arduino, atmelavr "Paul Stoffregen": Control devices (from Dallas Semiconductor) that use the One Wire protocol (DS18S20, DS18B20, DS2408 and etc)
|
||||
# ...
|
||||
|
||||
7. Search for `Energia-based *nRF24* or *HttpClient* libraries <http://platformio.org/#!/lib/search?query=framework%253Aenergia%2520%252B(nRF24%2520HttpClient)>`_.
|
||||
7. Search for `Energia-based *nRF24* or *HttpClient* libraries <http://platformio.org/lib/search?query=framework%253Aenergia%2520%252B(nRF24%2520HttpClient)>`_.
|
||||
The search query that is described below can be interpreted like
|
||||
``energia nRF24 OR energia HttpClient``
|
||||
|
||||
@@ -204,7 +204,7 @@ Examples
|
||||
# [ 43 ] nRF24 energia, timsp430 "Eric": The nRF24L01 is a low-cost 2.4GHz ISM transceiver module. It supports a number of channel frequencies in the 2.4GHz band and a range of data rates.
|
||||
|
||||
|
||||
8. Search for the `all sensor libraries excluding temperature <http://platformio.org/#!/lib/search?query=sensor%2520-temperature>`_.
|
||||
8. Search for the `all sensor libraries excluding temperature <http://platformio.org/lib/search?query=sensor%2520-temperature>`_.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ Examples
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# OneWire: http://platformio.org/#!/lib/show/1/OneWire
|
||||
# OneWire: http://platformio.org/lib/show/1/OneWire
|
||||
$ platformio lib show 1
|
||||
# OneWire
|
||||
# -------
|
||||
|
||||