Compare commits

..

152 Commits

Author SHA1 Message Date
Ivan Kravets
5552460b2f Merge branch 'release/v2.7.1' 2016-01-06 14:56:30 +02:00
Ivan Kravets
038b641a4d Version bump to 2.7.1 (issues #356, #421, #422, #426, #427, #428, #434) 2016-01-06 14:56:16 +02:00
Ivan Kravets
b397748f53 Hook for requires services 2016-01-06 14:45:58 +02:00
Ivan Kravets
cd1440adb2 Remove board ldscripts test 2016-01-06 14:13:47 +02:00
Ivan Kravets
4097c34db8 Add new article "Internet Of Things: The IDE scandal" 2016-01-05 21:38:02 +02:00
Ivan Kravets
fcf50a80ac Merge pull request #436 from valeros/develop
Initial support for Arduino Zero board // Resolve #356
2016-01-05 17:48:59 +02:00
Ivan Kravets
010a8d15cd Merge pull request #435 from ZachMassia/develop
Update Emacs doc page
2016-01-05 17:40:56 +02:00
Valeriy Koval
29174e343d Fix pylint error 2016-01-05 09:47:57 +02:00
Valeriy Koval
9dde962add Initial support for Arduino Zero board // Resolve #356 2016-01-05 09:39:11 +02:00
Zach Massia
5c9bfdac00 Update Emacs doc page 2016-01-04 23:33:41 -05:00
Ivan Kravets
a9464d7878 History fix 2016-01-05 02:35:29 +02:00
Ivan Kravets
33543d6d8f Add generic targets for VIM // Issue #427 2016-01-05 02:26:37 +02:00
Ivan Kravets
df099e15c0 Add generic targets for IDE // Resolve #427 2016-01-05 02:15:43 +02:00
Ivan Kravets
7a7fa845fe Update Teensy Arduino Framework to 1.26 // Resolve #434 2016-01-05 00:07:28 +02:00
Ivan Kravets
0751a2cef9 Fix CMakeLists.txt add_executable has only one source file // Resolve #421 2016-01-04 18:11:20 +02:00
Ivan Kravets
917c0e3388 Use esptool as OBJCOPY for ElfToBin builder // Resolve #426 2016-01-04 17:47:10 +02:00
Ivan Kravets
13ba785400 Merge pull request #433 from ZachMassia/clang-complete
clang_complete support for Emacs and Atom
2016-01-04 14:04:52 +02:00
Zach Massia
6bc7404d3a Add .clang_complete for Atom 2016-01-04 00:29:37 -05:00
Zach Massia
44f0fc9720 Remove CMake from Emacs project template 2016-01-04 00:29:37 -05:00
Ivan Kravets
7184d70f0c Remove donate button 2016-01-04 03:36:54 +02:00
Ivan Kravets
5ecf952934 Minor improvements to docs 2016-01-04 03:34:47 +02:00
Ivan Kravets
39839e919e Remove quotes from includes 2016-01-04 01:46:38 +02:00
Ivan Kravets
363249f165 Minor improvements to the docs 2016-01-04 01:45:57 +02:00
Ivan Kravets
5d74e8ae6e Improve docs for library.json "version" field 2016-01-04 01:07:42 +02:00
Ivan Kravets
db50043972 Generate .clang_complete file for Emacs project 2016-01-03 20:44:42 +02:00
Ivan Kravets
fdff35e31c Fix package "shasum" validation on Mac OS X 10.11.2 // Resolve #429 2016-01-03 17:45:49 +02:00
Ivan Kravets
4d2daa9da4 Merge pull request #428 from ZachMassia/generic-targets
Add external programmer and SPIFFS targets to Emacs
2016-01-03 15:20:33 +02:00
Zach Massia
7d9cd1c2ae Add ext. programmer and spiffs targets to Emacs 2016-01-03 00:31:12 -05:00
Ivan Kravets
77c192050a Add enlarge link to Eclipse IDE screenshot 2016-01-03 03:09:33 +02:00
Ivan Kravets
6be39120ae Add generic targets to Eclipse IDE: Build, Clean, Upload, Upload SPIFFS image, Upload using Programmer // Issue #427 2016-01-03 03:02:21 +02:00
Ivan Kravets
b1de8d119d Fix project generator for CLion IDE // Resolve #422 2016-01-02 13:53:39 +02:00
Ivan Kravets
f29a06e3f3 Fix project generator for CLion IDE // Issue #422 2016-01-02 01:05:05 +02:00
Ivan Kravets
678791bd09 Fix history for PlatformIO 2.7.1 2016-01-02 00:40:21 +02:00
Ivan Kravets
b408f8f0bf Fix uploading of EEPROM data using "uploadeep" target for Atmel AVR development platform 2016-01-02 00:35:53 +02:00
Ivan Kravets
e101b02ccb Run/Upload specific environment 2016-01-01 23:30:18 +02:00
Ivan Kravets
628c54e0c6 Fix indention after bunch of replacements 2016-01-01 21:15:23 +02:00
Ivan Kravets
af85f76f9a Fix PyLint warning 2016-01-01 21:02:22 +02:00
Ivan Kravets
19f1ccd0df 🎄 Happy New 2016 Year! 🎄 2016-01-01 20:51:48 +02:00
Ivan Kravets
5c1c1da5f0 Correction to custom PlatformIO dirs per project 2016-01-01 19:44:24 +02:00
Ivan Kravets
5272f184cf Add Contributing section 2015-12-31 16:12:35 +02:00
Ivan Kravets
4bd507713c Merge pull request #420 from sticilface/patch-1
Update platformio.sublime-project.tpl
2015-12-31 13:32:01 +02:00
sticilface
6aaca7d33d Update platformio.sublime-project.tpl
Include SPIFFS upload in sublime project generation
2015-12-31 11:21:33 +00:00
Ivan Kravets
6e02ba17e3 Update "platformio boards" guide 2015-12-31 01:16:45 +02:00
Ivan Kravets
b588823799 Hint to use library.json with repo+version 2015-12-31 00:47:03 +02:00
Ivan Kravets
4d3a6c9791 Fix mDNS abbreviation 2015-12-30 23:57:33 +02:00
Ivan Kravets
3f19f51937 Minor updates to SPIFFS doc 2015-12-30 23:55:53 +02:00
Ivan Kravets
08ba6cc51c Minor fix for HISTORY 2015-12-30 20:36:27 +02:00
Ivan Kravets
be049bfac2 Merge branch 'release/v2.7.0' 2015-12-30 20:25:12 +02:00
Ivan Kravets
b7ecdf631b Merge branch 'release/v2.7.0' into develop 2015-12-30 20:25:12 +02:00
Ivan Kravets
02480730bb Version bump to 2.7.0 (issues #319, #382, #386, #391, #394, #397, #400, #403, #404, #406, #407, #417) 2015-12-30 20:24:51 +02:00
Ivan Kravets
4d8265bee2 Remove SCons from docs, etc. 2015-12-30 20:19:56 +02:00
Ivan Kravets
aff525e763 Use current interpreter to upgrade PlatformIO 2015-12-30 20:12:52 +02:00
Ivan Kravets
8d6aee3178 Use current Python interpreter for Python-based tools // Resolve #417 2015-12-30 20:01:43 +02:00
Ivan Kravets
d139225ffb Quote upload port for Espressif OTA // Issue #417 2015-12-30 19:23:58 +02:00
Ivan Kravets
56c5ba6fbb Allow OTA upload port to be quoted // Issue #417 2015-12-30 19:10:40 +02:00
Ivan Kravets
7a91683ca6 Better handling of upload port for OTA // Issue #417 2015-12-30 19:01:26 +02:00
Ivan Kravets
f2cad66d79 Quote upload port for Espressif OTA // Issue #417 2015-12-30 18:42:46 +02:00
Ivan Kravets
98ec2237b7 Merge pull request #418 from dh1tw/develop
updated URL in example to new mbed domain
2015-12-30 18:15:13 +02:00
dh1tw
27a555b99a updated URL in example to new mbed domain 2015-12-30 17:12:50 +01:00
Ivan Kravets
680c3867db Allow to use DNS.local as upload port for OTA // Issue #382 2015-12-30 15:02:13 +02:00
Ivan Kravets
121102beef Fix SPIFFS uploading via OTA // Issue #382 2015-12-30 14:33:16 +02:00
Ivan Kravets
4f8138fe1f Add link to discussion as for SPIFFS 2015-12-30 14:23:35 +02:00
Ivan Kravets
044486d46f Allow to upload SPIFFS image using OTA // Issue #382 2015-12-30 14:14:36 +02:00
Ivan Kravets
2d2ce0661f Update donate button 2015-12-30 01:49:16 +02:00
Ivan Kravets
e88ef48e18 Add example with library.json 2015-12-30 01:41:08 +02:00
Ivan Kravets
2dd2dd4f0d Use PySerial < 3 for Python 2.6 2015-12-30 00:13:38 +02:00
Ivan Kravets
38d9f0f5bc Add donate button 2015-12-29 21:59:32 +02:00
Ivan Kravets
14aed800a2 Improve telemetry service 2015-12-29 21:03:51 +02:00
Ivan Kravets
621393138f Move requirements to setuptools 2015-12-29 17:44:39 +02:00
Ivan Kravets
a959ff767d Better handling of source files for uploading // Issue #382 2015-12-29 14:36:39 +02:00
Ivan Kravets
11986354d9 Better handling of LD scripts for SPIFFS uploading // Issue #382 2015-12-29 00:21:24 +02:00
Ivan Kravets
5ea7ec470a Typo fix 2015-12-28 23:29:58 +02:00
Ivan Kravets
a0bcb4d4f0 Fix PyLint warning about sorting for imports 2015-12-28 20:35:56 +02:00
Ivan Kravets
ed68878592 Show error for invalid LD script 2015-12-28 20:09:48 +02:00
Ivan Kravets
3121ca5669 Fix SPIFFS_START address // Issue #382 2015-12-28 18:40:54 +02:00
Ivan Kravets
5abb21c3f9 Minor changes for offsets 2015-12-28 13:54:07 +02:00
Ivan Kravets
b9a87b3d54 Merge pull request #407 from ZachMassia/develop 2015-12-28 10:58:22 +02:00
Zach Massia
cd1259613a Fix typo 2015-12-28 00:54:19 -05:00
Ivan Kravets
023a3487e0 Don't run mkspiffs target by default 2015-12-28 01:38:41 +02:00
Ivan Kravets
2c4c3a12ea Add link to ESP8266 Flash layout // Issue #382 2015-12-28 01:21:17 +02:00
Ivan Kravets
cae5f1f553 Implement uploading files to file system SPIFFS for ESP8266 // Issue #382 2015-12-28 01:15:06 +02:00
Ivan Kravets
d7673b69e2 Add link for enlarge to Emacs screenshot 2015-12-27 17:54:51 +02:00
Ivan Kravets
85f0877d32 Project generator for Emacs text editor // Issue #404 2015-12-27 17:53:51 +02:00
Ivan Kravets
e152155a58 Merge pull request #404 from ZachMassia/develop
Emacs IDE integration support
2015-12-27 16:58:46 +02:00
Ivan Kravets
ce93e6013f Fix variant for RFduino board 2015-12-26 23:50:56 +02:00
Ivan Kravets
bee51aadcb Fix test for LD Scripts 2015-12-26 23:04:16 +02:00
Ivan Kravets
956633847d Add RFDuino iBeacon example 2015-12-26 21:50:47 +02:00
Ivan Kravets
918deb41a4 Typo fix 2015-12-26 21:32:10 +02:00
Ivan Kravets
1b7b2ca0a2 Add support for RFDuino // Resolve #319 2015-12-26 21:24:01 +02:00
Ivan Kravets
1b84078541 Show error message when user tries to install/run PlatformIO with Python 3 2015-12-26 20:22:22 +02:00
Ivan Kravets
f7311eb94d Update Wiring example according to Get-Started on home page 2015-12-26 20:08:50 +02:00
Ivan Kravets
9312ca7f0d Moved SCons to PlatformIO packages. PlatformIO does not require SCons to be installed in your system.
Significantly simplified installation process of  PlatformIO. "pip install platformio" rocks!
2015-12-26 14:47:42 +02:00
Zachary Massia
533720218a Add Emacs screenshot, add Emacs to IDE doc page 2015-12-26 03:00:44 -05:00
Ivan Kravets
d2088e7444 Enhance doc 2015-12-26 01:02:44 +02:00
Zachary Massia
9006b8b618 Add initial version of emacs documentation 2015-12-25 02:09:09 -05:00
Zachary Massia
b9f926d13b Add Emacs to IDE templates 2015-12-25 02:09:09 -05:00
Ivan Kravets
319636f017 Fix broken RST for mbed framework 2015-12-25 01:09:41 +02:00
Ivan Kravets
4c665a292a Cleanup docs for IDE integration 2015-12-25 01:06:55 +02:00
Ivan Kravets
72f93cd563 Link articles with platforms and frameworks 2015-12-25 00:49:27 +02:00
Ivan Kravets
2e38b156dd Add examples for frameworks 2015-12-25 00:31:13 +02:00
Ivan Kravets
a9a50f79da Add examples for Atmel AVR platform 2015-12-25 00:17:19 +02:00
Ivan Kravets
4b922b9de2 Documented firmware uploading for Atmel AVR development platform using Programmers 2015-12-24 23:55:49 +02:00
Ivan Kravets
36912c0fe6 Update Arduino framework for Atmel AVR development platform to 1.6.7 2015-12-24 23:39:25 +02:00
Ivan Kravets
dfe39f386d Add support for the new Adafruit boards Bluefruit Micro and Feather // Resolve #403 2015-12-24 23:09:40 +02:00
Ivan Kravets
943d16bcf8 Add example with "Ctrl+Q" to serial ports monitor as exit key // Resolve #386 2015-12-22 20:28:37 +02:00
Ivan Kravets
6d0b1a8106 Add demo for ESP8266 OTA 2015-12-22 20:17:10 +02:00
Ivan Kravets
663a3b1aec Add new articles 2015-12-22 20:07:43 +02:00
Ivan Kravets
131f6504ca Improve auto installation for SCons 2015-12-22 19:53:54 +02:00
Ivan Kravets
94cdc9b69e Merge branch 'feature/scons-autoinstall' into develop 2015-12-22 19:09:29 +02:00
Ivan Kravets
1c1cd2509e Add demo with "Over-the-Air update for ESP8266" 2015-12-22 18:21:21 +02:00
Ivan Kravets
abdc76aef8 Improve auto installation for SCons 2015-12-22 18:07:15 +02:00
Ivan Kravets
9b058c3958 Merge branch 'release/v2.6.3' into develop 2015-12-21 20:56:06 +02:00
Ivan Kravets
d91261412e Merge branch 'release/v2.6.3' 2015-12-21 20:56:05 +02:00
Ivan Kravets
2e26b5d31d Version bump to 2.6.3 (issues #396) 2015-12-21 20:55:49 +02:00
Ivan Kravets
3266d3b211 Fix top menu in docs 2015-12-21 20:52:39 +02:00
Ivan Kravets
c2072e3e62 Cleanup debug code 2015-12-21 20:43:07 +02:00
Ivan Kravets
5266f4810b Fix PyLint warning 2015-12-21 20:41:57 +02:00
Ivan Kravets
6e83b4b093 Restore support for Espressif ESP8266 ESP-01 1MB board (ready for OTA) 2015-12-21 20:39:45 +02:00
Ivan Kravets
7b1b908779 Fix invalid ROM size for ESP8266-based boards // Resolve #396 2015-12-21 19:23:46 +02:00
Ivan Kravets
7a95a201b5 Merge branch 'release/v2.6.2' 2015-12-21 17:42:01 +02:00
Ivan Kravets
70c86525cc Merge branch 'release/v2.6.2' into develop 2015-12-21 17:42:01 +02:00
Ivan Kravets
618d32b872 Version bump to 2.6.2 2015-12-21 17:41:37 +02:00
Ivan Kravets
66ca204697 Removed SCons from requirements list 2015-12-21 17:35:30 +02:00
Ivan Kravets
54d650aa40 Update number of supported boards 2015-12-19 01:19:36 +02:00
Ivan Kravets
851b452c17 Add warning to CLion docs to avoid running targets 2015-12-18 23:44:04 +02:00
Ivan Kravets
0ff795e798 Fix "ChunkedEncodingError" when SF connection is broken // Issue #356 2015-12-18 22:56:15 +02:00
Ivan Kravets
43b50e5b9f Update docs with the new vendors for ESP8266 2015-12-18 21:01:56 +02:00
Ivan Kravets
18d68bafd0 Fix vendors for ESP8266 boards 2015-12-18 20:56:17 +02:00
Ivan Kravets
feb951c35e Merge branch 'release/v2.6.1' into develop 2015-12-18 20:30:42 +02:00
Ivan Kravets
41c2164755 Merge branch 'release/v2.6.1' 2015-12-18 20:30:41 +02:00
Ivan Kravets
ee87b55947 Version bump to 2.6.1 (issues #377, #378, #379, #380, #381, #383, #384, #387) 2015-12-18 20:30:30 +02:00
Ivan Kravets
7119bb9084 Fix project generator for Eclipse IDE and "duplicate path entries found in project path" // Resolve #383 2015-12-18 20:18:19 +02:00
Ivan Kravets
132c769766 Better error handling 2015-12-18 19:58:09 +02:00
Ivan Kravets
e4dbcd50cc Improv documentation for Espressif platform 2015-12-18 19:29:20 +02:00
Ivan Kravets
62d5f66ae2 Extra docs for Espressif platform 2015-12-18 18:06:20 +02:00
Ivan Kravets
cfa3f1b520 Extra documentation for development platform / frameworks // Resolve #381 2015-12-18 17:06:28 +02:00
Ivan Kravets
0951d53f52 Fix issue with code builder when build path contains spaces // Resolve #387 2015-12-18 15:40:44 +02:00
Ivan Kravets
186580d794 Fix issue with code builder when build path contains spaces // Resolve #387 2015-12-18 15:20:37 +02:00
Ivan Kravets
1a47cfc938 Show INT values for serial monitor hot keys 2015-12-18 12:18:25 +02:00
Ivan Kravets
edc06f12b5 Add to FAQ "Monitoring a serial port breaks upload" // Resolve #384 2015-12-17 20:22:17 +02:00
Ivan Kravets
3830e98c1d Add support for the new ESP8266 based boards 2015-12-17 20:16:17 +02:00
Ivan Kravets
3cbbecb413 Repository for LD scripts; common LD script for ESP8266 // Resolve #379 2015-12-17 18:17:54 +02:00
Ivan Kravets
f0abd353ae Extend link to FAQ with what is PlatformIO 2015-12-17 00:47:56 +02:00
Ivan Kravets
84cbbe437d Remove default options 2015-12-17 00:08:57 +02:00
Ivan Kravets
34a5d366d5 Fix reset method for Espressif NodeMCU (ESP-12E Module) // Resolve #380 2015-12-17 00:02:22 +02:00
Ivan Kravets
d3b7fc7ddb Add JetBrains post in CLion Blog 2015-12-16 13:18:51 +02:00
Ivan Kravets
3d413743e4 Add ESP8266 quickstart 2015-12-16 00:35:24 +02:00
Ivan Kravets
1e38db8cae Merge branch 'release/v2.6.0' into develop 2015-12-15 20:54:31 +02:00
Ivan Kravets
cc46fa34e8 Add "framework-arduinonordicnrf51" for the platform 2015-11-10 00:12:30 +02:00
Valeriy Koval
b94cc655c2 Fix lint error. 2015-11-09 21:02:05 +02:00
Valeriy Koval
1c5d34cb5f Update nordicnrf51 platform for RFduino. 2015-11-09 20:24:41 +02:00
Valeriy Koval
ace9ae0b24 Initial support for RFduino. 2015-11-09 18:10:43 +02:00
288 changed files with 3194 additions and 923 deletions

1
.gitignore vendored
View File

@@ -2,6 +2,5 @@
*.pyc
.pioenvs
.tox
.sconsign.dblite
docs/_build
dist

View File

@@ -4,6 +4,90 @@ Release History
PlatformIO 2.0
--------------
2.7.1 (2016-01-06)
~~~~~~~~~~~~~~~~~~
* Initial support for Arduino Zero board
(`issue #356 <https://github.com/platformio/platformio/issues/356>`_)
* 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
platforms and libraries
(`issue #427 <https://github.com/platformio/platformio/issues/427>`_)
* Updated Teensy Arduino Framework to 1.27
(`issue #434 <https://github.com/platformio/platformio/issues/434>`_)
* Fixed uploading of EEPROM data using ``uploadeep`` target for Atmel AVR
development platform
* Fixed project generator for CLion IDE
(`issue #422 <https://github.com/platformio/platformio/issues/422>`_)
* Fixed package ``shasum`` validation on Mac OS X 10.11.2
(`issue #429 <https://github.com/platformio/platformio/issues/429>`_)
* Fixed CMakeLists.txt ``add_executable`` has only one source file
(`issue #421 <https://github.com/platformio/platformio/issues/421>`_)
2.7.0 (2015-12-30)
~~~~~~~~~~~~~~~~~~
**Happy New Year!**
* Moved SCons to PlatformIO packages. PlatformIO does not require SCons to be
installed in your system. Significantly simplified installation process of
PlatformIO. ``pip install platformio`` rocks!
* Implemented uploading files to file system of ESP8266 SPIFFS (including OTA)
(`issue #382 <https://github.com/platformio/platformio/issues/382>`_)
* Added support for the new Adafruit boards Bluefruit Micro and Feather
(`issue #403 <https://github.com/platformio/platformio/issues/403>`_)
* Added support for RFDuino
(`issue #319 <https://github.com/platformio/platformio/issues/319>`_)
* Project generator for `Emacs <http://docs.platformio.org/en/latest/ide/emacs.html>`__
text editor
(`pull #404 <https://github.com/platformio/platformio/pull/404>`_)
* Updated Arduino framework for Atmel AVR development platform to 1.6.7
* Documented `firmware uploading for Atmel AVR development platform using
Programmers <http://docs.platformio.org/en/latest/platforms/atmelavr.html#upload-using-programmer>`_:
AVR ISP, AVRISP mkII, USBtinyISP, USBasp, Parallel Programmer and Arduino as ISP
* Fixed issue with current Python interpreter for Python-based tools
(`issue #417 <https://github.com/platformio/platformio/issue/417>`_)
2.6.3 (2015-12-21)
~~~~~~~~~~~~~~~~~~
* Restored support for Espressif ESP8266 ESP-01 1MB board (ready for OTA)
* Fixed invalid ROM size for ESP8266-based boards
(`issue #396 <https://github.com/platformio/platformio/issues/396>`_)
2.6.2 (2015-12-21)
~~~~~~~~~~~~~~~~~~
* Removed ``SCons`` from requirements list. PlatformIO will try to install it
automatically, otherwise users need to install it manually
* Fixed ``ChunkedEncodingError`` when SF connection is broken
(`issue #356 <https://github.com/platformio/platformio/issues/356>`_)
2.6.1 (2015-12-18)
~~~~~~~~~~~~~~~~~~
* Added support for the new ESP8266-based boards (SparkFun ESP8266 Thing,
NodeMCU 0.9 & 1.0, Olimex MOD-WIFI-ESP8266(-DEV), Adafruit HUZZAH ESP8266,
ESPino, SweetPea ESP-210, WeMos D1, WeMos D1 mini) to
`Espressif <http://docs.platformio.org/en/latest/platforms/espressif.html>`__
development platform
* Created public `platformio-pkg-ldscripts <https://github.com/platformio/platformio-pkg-ldscripts.git>`_
repository for LD scripts. Moved common configuration for ESP8266 MCU to
``esp8266.flash.common.ld``
(`issue #379 <https://github.com/platformio/platformio/issues/379>`_)
* Improved documentation for `Espressif <http://docs.platformio.org/en/latest/platforms/espressif.html>`__
development platform: OTA update, custom Flash Size, Upload Speed and CPU
frequency
* Fixed reset method for Espressif NodeMCU (ESP-12E Module)
(`issue #380 <https://github.com/platformio/platformio/issues/380>`_)
* Fixed issue with code builder when build path contains spaces
(`issue #387 <https://github.com/platformio/platformio/issues/387>`_)
* Fixed project generator for Eclipse IDE and "duplicate path entries found
in project path"
(`issue #383 <https://github.com/platformio/platformio/issues/383>`_)
2.6.0 (2015-12-15)
~~~~~~~~~~~~~~~~~~

View File

@@ -93,7 +93,7 @@ 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, Energia, Qt Creator, Sublime Text, Vim, Visual Studio*
*Arduino, 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
@@ -174,10 +174,29 @@ Frameworks:
For further details, please refer to `What is PlatformIO? <http://docs.platformio.org/en/latest/faq.html#what-is-platformio>`_
Contributing
------------
1. Fork the repository on GitHub.
2. Make a branch off of ``develop``
3. Run ``pip install tox``
4. Go to the root of project where is located ``tox.ini`` and run ``tox -e develop``
5. Activate current development environment:
* Windows: ``.tox\develop\Scripts\activate``
* Bash/ZSH: ``source .tox/develop/bin/activate``
* Fish: ``source .tox/bin/activate.fish``
6. Make changes to code, documentation, etc.
7. Lint source code ``tox -e lint``
8. Run the tests ``tox -e py27``
9. Commit changes to your forked repository
10. Submit a Pull Request on GitHub.
Licence
-------
Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
The PlatformIO is licensed under the permissive Apache 2.0 licence,
so you can use it in both commercial and personal projects with confidence.

View File

@@ -1,5 +1,5 @@
/**
* Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
* 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.
@@ -29,7 +29,8 @@ nav {
margin-right: auto;
margin-left: auto;
}
@media (min-width: 768px) {
@media (min-width: 992px) {
#pionav {
display: block !important;
}
@@ -39,11 +40,7 @@ nav {
.wy-nav-side {
top: 50px;
}
.container {
width: 750px;
}
}
@media (min-width: 992px) {
.container {
width: 970px;
}
@@ -94,6 +91,7 @@ nav {
position: relative;
display: block;
padding: 10px 15px;
font-size: 14px;
}
.nav > li > a:hover,
.nav > li > a:focus {
@@ -103,6 +101,9 @@ nav {
.nav > li > a > img {
max-width: none;
}
.nav > li > a > i {
margin-right: 5px;
}
.navbar {
position: relative;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 292 KiB

After

Width:  |  Height:  |  Size: 297 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 KiB

After

Width:  |  Height:  |  Size: 341 KiB

BIN
docs/_static/ide-platformio-emacs.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 753 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

View File

@@ -11,16 +11,16 @@
<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/#!/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>
</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><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>
</ul>
</div>
@@ -39,7 +39,7 @@
}
window.setTimeout(fixScroll, 50);
$(window).on('hashchange', function(e){fixScroll();});
});
});
};
var timer = function() {

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -20,9 +20,19 @@ Articles about us
Here are recent articles about PlatformIO:
2016
^^^^
* Jan 05, 2016 - **Julien Rodrigues** - `Internet Of Things: The IDE scandal <https://medium.com/@jrodrigues/internet-of-things-the-ide-scandal-5ddb8fc9d918>`_
2015
^^^^
* 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 15, 2015 - **stastaka** - `PlatformIOでカスタムボードを使う (Use a custom board for PlatformIO, Japanese) <http://qiita.com/stastaka/items/a6a50dbbb2933bd78bdd>`_
* Dec 08, 2015 - **Piotr Król** - `Using PlatformIO with TI MSP430 LunchPads <http://blog.3mdeb.com/2015/12/08/using-platformio-with-ti-msp430-lunchpads/>`_
* Dec 01, 2015 - **Michał Seroczyński** - `Push Notification from Arduino Yún with motion sensor <http://www.ches.pl/push-from-yun-1/>`_
* Dec 01, 2015 - **JetBrains CLion Blog** - `C++ Annotated: Fall 2015. Arduino Support in CLion using PlatformIO <http://blog.jetbrains.com/clion/2015/12/cpp-annotated-fall-2015/>`_
* 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/>`_
* Nov 29, 2015 - **Keith Hughes** - `Using PlatformIO for Embedded Projects <http://smartspacestuff.blogspot.com/2015/11/using-platformio-for-embedded-projects.html>`_
* Nov 22, 2015 - **Michał Seroczyński** - `Using PlatformIO to get started with Arduino in CLion IDE <http://www.ches.pl/using-platformio-get-started-arduino-clion-ide/>`_
@@ -30,6 +40,7 @@ Here are recent articles about PlatformIO:
* Nov 06, 2015 - **nocd5** - `PlatformIOでmbedをオフラインビルドしSTM32 Nucleoボードでmrubyを使う (Use mruby in the offline build for STM32 Nucleo board with mbed and PlatformIO, Japanese) <http://qiita.com/nocd5/items/d5fda776240f7e7c17eb>`_
* Oct 21, 2015 - **Vittorio Zaccaria** - `Using a cheap STM32 Nucleo to teach remote sensor monitoring <http://www.vittoriozaccaria.net/blog/2015/10/21/using-a-cheap-stm32-nucleo-to-teach-remote-sensor-monitoring.html>`_
* Oct 18, 2015 - **Nico Coetzee** - `First Arduino I2C Experience with PlatformIO <https://electronicventurer.wordpress.com/2015/10/18/first-arduino-i2c-experience/>`_
* Oct 10, 2015 - **Floyd Hilton** - `Programming Arduino with Atom <http://floydhilton.com/software/career/2015/10/10/Arduino_with_Atom.html>`_
* Oct 01, 2015 - **Mistan** - `Compile and Upload Arduino Sketch with PlatformIO for Raspberry Pi Running Arch Linux <http://tech.memoryimprintstudio.com/code-building-for-arduino-with-platformio-for-raspberry-pi-with-arch-linux/>`_
* Sep 30, 2015 - **Jay Wiggins** - `PlatformIO Investigation <http://jaywiggins.com/platformio/arduino/avr/es8266/2015/09/30/platformio-investigation/>`_
* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation <http://thomasweldon.com/tpw/courses/embeddsp/p00pcFrdmK64_eclipsePlatformioSetup.html>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -50,7 +50,7 @@ Please fill all fields for your project in the Drone control panel:
.. code-block:: bash
python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
pip install -U platformio
platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
.. image:: ../_static/droneci-platformio-integration-1.png
@@ -75,7 +75,7 @@ Examples
.. code-block:: bash
python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
pip install -U platformio
wget https://github.com/xxxajk/spi4teensy3/archive/master.zip -O /tmp/spi4teensy3.zip
unzip /tmp/spi4teensy3.zip -d /tmp
platformio ci --lib="." --lib="/tmp/spi4teensy3-master" --board=uno --board=teensy31 --board=due

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -55,7 +55,7 @@ GitHub repository.
- PLATFORMIO_CI_SRC=path/to/source/directory
install:
- python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
- pip install -U platformio
script:
- platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
@@ -81,7 +81,7 @@ Examples
- PLATFORMIO_CI_SRC=examples/pl2303/pl2303_gps/pl2303_gps.ino
install:
- python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
- pip install -U platformio
- wget https://github.com/xxxajk/spi4teensy3/archive/master.zip -O /tmp/spi4teensy3.zip
- unzip /tmp/spi4teensy3.zip -d /tmp

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -45,7 +45,7 @@ master_doc = 'index'
# General information about the project.
project = u'PlatformIO'
copyright = u'2014-2015, Ivan Kravets'
copyright = u'2014-2016, Ivan Kravets'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
@@ -69,7 +69,7 @@ release = platformio.__version__
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
exclude_patterns = ['_build', '**/*_extra.rst']
# The reST default role (used for this markup: `text`) to use for all
# documents.

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -64,3 +64,15 @@ Used in demo
7. :ref:`platformio lib install 124 --version "1.40" <cmd_lib_install>` command
8. :ref:`platformio lib show 124 <cmd_lib_show>` command
9. :ref:`cmd_lib_update` command.
Over-the-Air update for ESP8266
-------------------------------
.. image:: _static/platformio-demo-ota-esp8266.jpg
:target: https://www.youtube.com/watch?v=lXchL3hpDO4
Used in demo
~~~~~~~~~~~~
1. :ref:`cmd_run` command
2. :ref:`platformio run -t upload <cmd_run>` command.

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -55,6 +55,10 @@ Allows to override :ref:`projectconf` option :ref:`projectconf_pio_src_dir`.
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_envs_dir`.
.. envvar:: PLATFORMIO_DATA_DIR
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_data_dir`.
Builder
-------

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -41,7 +41,7 @@ console application, it can be used in combination with one's favorite
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 over 150+
boards and MCUs. To keep things short: PlatformIO supports approximately 200
`Embedded Boards <http://platformio.org/#!/boards>`_ and all major
:ref:`Development Platforms <platforms>`.
@@ -103,52 +103,6 @@ Troubleshooting
Installation
~~~~~~~~~~~~
PlatformIO and ``SCons`` aren't installed properly
''''''''''''''''''''''''''''''''''''''''''''''''''
PlatformIO depends on awesome and irreplaceable software construction tool
named `SCons <http://www.scons.org>`_. PlatformIO Code Builder uses it to build
single source code for the multiple embedded platforms.
When you install PlatformIO it tries to find ``scons`` program in your OS. If
SCons is installed in your system, then PlatformIO will use it. Otherwise,
PlatformIO tries to install it automatically using ``pip install scons``. So, if
you are here, then it means that PlatformIO could not install it for you.
Let fix it manually.
1. Need to cleanup all previous SCons installations using `pip <https://pip.pypa.io>`_
.. code-block:: bash
[sudo] pip uninstall scons
2. Try to install it manually
.. code-block:: bash
[sudo] pip install scons
# If you have errors:
# * error: option --single-version-externally-managed not recognized
# * OSError: [Errno 1] Operation not permitted: '/System/Library/Frameworks/Python.framework/Versions/2.7/man'
[sudo] pip install --egg scons --install-option="--no-install-man"
3. If it didn't help you, try system OS package manager
* **Mac OS X** using `brew <http://brew.sh>`_ run ``brew install scons``
* **Linux** using ``apt`` run ``[sudo] apt-get install scons``
To identify that SCons is installed in your system run ``scons -v``.
.. _faq_troubleshooting_sconssingverextmanaged:
PIP & SCons Error: option --single-version-externally-managed not recognized
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Answered in `issue #279 <https://github.com/platformio/platformio/issues/279>`_.
[Errno 1] Operation not permitted
'''''''''''''''''''''''''''''''''
@@ -180,8 +134,8 @@ For example, ``which platformio`` is equal to ``/usr/local/bin/platformio``,
then `PATH (wiki) <https://en.wikipedia.org/wiki/PATH_(variable)>`_
should contain ``/usr/local/bin`` directory.
**Unix Users**: You can make "symlinks" from ``platformio`` and ``scons``
programs to the ``bin`` directory which is included in ``$PATH``. For example,
**Unix Users**: You can make "symlinks" from ``platformio`` program to the
``bin`` directory which is included in ``$PATH``. For example,
see `issue #272 <https://github.com/platformio/platformio/issues/272#issuecomment-133626112>`_.
Windows UnicodeDecodeError: 'ascii' codec can't decode byte
@@ -245,3 +199,8 @@ Archlinux: libncurses.so.5: cannot open shared object file
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Answered in `issue #291 <https://github.com/platformio/platformio/issues/291>`_.
Monitoring a serial port breaks upload
''''''''''''''''''''''''''''''''''''''
Answered in `issue #384 <https://github.com/platformio/platformio/issues/384>`_.

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -36,6 +36,9 @@ Platforms
* - :ref:`platform_espressif`
- Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
* - :ref:`platform_nordicnrf51`
- 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.
@@ -63,6 +66,20 @@ Adafruit
- Flash
- RAM
* - ``bluefruitmicro``
- `Adafruit Bluefruit Micro <https://www.adafruit.com/products/2661>`_
- ATMEGA32U4
- 8 MHz
- 32 Kb
- 2.5 Kb
* - ``feather32u4``
- `Adafruit Feather <https://learn.adafruit.com/adafruit-feather-32u4-bluefruit-le/>`_
- ATMEGA32U4
- 8 MHz
- 32 Kb
- 2.5 Kb
* - ``flora8``
- `Adafruit Flora <http://www.adafruit.com/product/659>`_
- ATMEGA32U4
@@ -77,6 +94,20 @@ Adafruit
- 8 Kb
- 0.5 Kb
* - ``huzzah``
- `Adafruit HUZZAH ESP8266 <https://www.adafruit.com/products/2471>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
* - ``metro``
- `Adafruit Metro <https://www.adafruit.com/products/2466>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``protrinket3``
- `Adafruit Pro Trinket 3V/12MHz (USB) <http://www.adafruit.com/products/2010>`_
- ATMEGA328P
@@ -363,7 +394,7 @@ BQ
- RAM
* - ``zumbt328``
- `BQ ZUM BT-328 board <http://www.bq.com/gb/products/zum.html>`_
- `BQ ZUM BT-328 <http://www.bq.com/gb/products/zum.html>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
@@ -437,6 +468,26 @@ Digistump
- 512 Kb
- 28 Kb
ESPino
~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``espino``
- `ESPino <http://www.espino.io>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
Engduino
~~~~~~~~
@@ -485,25 +536,25 @@ Espressif
- RAM
* - ``esp01``
- `Espressif ESP8266 ESP-01 board <https://nurdspace.nl/ESP8266>`_
- `Espressif Generic ESP8266 ESP-01 512k <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 512 Kb
- 32 Kb
- 80 Kb
* - ``esp01_1m``
- `Espressif ESP8266 ESP-01-1MB board <https://nurdspace.nl/ESP8266>`_
- `Espressif Generic ESP8266 ESP-01 1M <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 1024 Kb
- 32 Kb
- 80 Kb
* - ``esp12e``
- `Espressif ESP8266 ESP-12E board (NodeMCU) <https://nurdspace.nl/ESP8266>`_
- `Espressif ESP8266 ESP-12E <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 32 Kb
- 80 Kb
LightUp
~~~~~~~
@@ -628,6 +679,46 @@ Microduino
- 64 Kb
- 4 Kb
NodeMCU
~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``nodemcu``
- `NodeMCU 0.9 & 1.0 <http://www.nodemcu.com/>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
Olimex
~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``modwifi``
- `Olimex MOD-WIFI-ESP8266(-DEV) <https://www.olimex.com/Products/IoT/MOD-WIFI-ESP8266-DEV/open-source-hardware>`_
- ESP8266
- 80 MHz
- 2048 Kb
- 80 Kb
PanStamp
~~~~~~~~
@@ -695,6 +786,26 @@ Quirkbot
- 32 Kb
- 2.5 Kb
RFduino
~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``rfduino``
- `RFduino <http://www.rfduino.com/product/rfd22102-rfduino-dip/index.html>`_
- NRF51822
- 16 MHz
- 128 Kb
- 8 Kb
RedBearLab
~~~~~~~~~~
@@ -893,6 +1004,13 @@ SparkFun
- 32 Kb
- 2 Kb
* - ``thing``
- `SparkFun ESP8266 Thing <https://www.sparkfun.com/products/13231>`_
- ESP8266
- 80 MHz
- 512 Kb
- 80 Kb
* - ``uview``
- `SparkFun MicroView <https://www.sparkfun.com/products/12923>`_
- ATMEGA328P
@@ -900,6 +1018,26 @@ SparkFun
- 32 Kb
- 2 Kb
SweetPea
~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``esp210``
- `SweetPea ESP-210 <http://wiki.sweetpeas.se/index.php?title=ESP-210>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
Teensy
~~~~~~
@@ -975,6 +1113,33 @@ TinyCircuits
- 32 Kb
- 2 Kb
WeMos
~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``d1``
- `WeMos D1 <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>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
Wicked Device
~~~~~~~~~~~~~

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -112,3 +112,5 @@ ST
- 84 MHz
- 512 Kb
- 96 Kb
.. include:: cmsis_extra.rst

View File

@@ -0,0 +1,18 @@
.. 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 CMSIS framework <https://github.com/platformio/platformio/tree/develop/examples/stm32>`_.
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/stm32/stm32-cmsis-blink>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -115,3 +115,5 @@ TI
- 120 MHz
- 1024 Kb
- 256 Kb
.. include:: libopencm3_extra.rst

View File

@@ -0,0 +1,18 @@
.. 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 libOpenCM3 framework <https://github.com/platformio/platformio/tree/develop/examples/stm32>`_.
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/stm32/stm32-opencm3-blink>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -741,3 +741,5 @@ u-blox
- 96 MHz
- 512 Kb
- 32 Kb
.. include:: mbed_extra.rst

View File

@@ -0,0 +1,32 @@
.. 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
--------
* Dec 15, 2015 - **stastaka** - `PlatformIOでカスタムボードを使う (Use a custom board for PlatformIO, Japanese) <http://qiita.com/stastaka/items/a6a50dbbb2933bd78bdd>`_
* Nov 06, 2015 - **nocd5** - `PlatformIOでmbedをオフラインビルドしSTM32 Nucleoボードでmrubyを使う (Use mruby in the offline build for STM32 Nucleo board with mbed and PlatformIO, Japanese) <http://qiita.com/nocd5/items/d5fda776240f7e7c17eb>`_
* Oct 21, 2015 - **Vittorio Zaccaria** - `Using a cheap STM32 Nucleo to teach remote sensor monitoring <http://www.vittoriozaccaria.net/blog/2015/10/21/using-a-cheap-stm32-nucleo-to-teach-remote-sensor-monitoring.html>`_
* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation <http://thomasweldon.com/tpw/courses/embeddsp/p00pcFrdmK64_eclipsePlatformioSetup.html>`_
See more :ref:`articles`.
Examples
--------
All project examples are located in PlatformIO repository
`Examples for MBED framework <https://github.com/platformio/platformio/tree/develop/examples/mbed>`_.
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-blink>`_
* `DSP <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-dsp>`_
* `HTTP Client <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-http-client>`_
* `RTOS <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-rtos>`_
* `Serial <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-serial>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -105,3 +105,5 @@ ST
- 32 MHz
- 128 Kb
- 16 Kb
.. include:: spl_extra.rst

View File

@@ -0,0 +1,18 @@
.. 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 SPL framework <https://github.com/platformio/platformio/tree/develop/examples/stm32>`_.
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/stm32/stm32-spl-blink>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -71,3 +71,5 @@ Raspberry Pi
- 1000 MHz
- 524288 Kb
- 524288 Kb
.. include:: wiringpi_extra.rst

View File

@@ -0,0 +1,19 @@
.. 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 WiringPi framework <https://github.com/platformio/platformio/tree/develop/examples/raspberrypi>`_.
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/raspberrypi/wiringpi-blink>`_
* `Serial <https://github.com/platformio/platformio/tree/develop/examples/raspberrypi/wiringpi-serial>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -21,6 +21,7 @@ IDE Integration
ide/atom
ide/clion
ide/eclipse
ide/emacs
ide/energia
ide/qtcreator
ide/sublimetext

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -37,9 +37,9 @@ please install `platomformio <https://atom.io/packages/platomformio>`_ package.
Articles / Manuals
------------------
* `Arduino Development in Atom Editor <http://viget.com/extend/arduino-development-in-atom-editor>`_
* Jul 20, 2015 - **Eli Fatsi** - `Arduino Development in Atom Editor <http://viget.com/extend/arduino-development-in-atom-editor>`_
See a full list with :ref:`articles`.
See more :ref:`articles`.
Screenshot
----------

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -33,29 +33,32 @@ page for more detailed information.
Integration
-----------
Project Generator
^^^^^^^^^^^^^^^^^
Since PlatformIO 2.0 you can generate CLion compatible project using
:option:`platformio init --ide` command. Please choose board type using
:ref:`cmd_boards` command and run:
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 clion --board %TYPE%
# For example, generate project for Arduino UNO
platformio init --ide clion --board uno
Then:
1. Import this project via ``Menu: File > Import Project``
and specify root directory where is located :ref:`projectconf`
2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``)
3. Build project: ``Menu: Run > Build``.
3. Build project (*DO NOT RUN*): ``Menu: Run > Build``.
There are 3 predefined targets for building:
There are 6 predefined targets for building (*NOT FOR RUNNING*, see marks on
the screenshot below):
* ``PLATFORMIO_BUILD`` - build project without auto-uploading
* ``PLATFORMIO_UPLOAD`` - build and upload (if no errors)
* ``PLATFORMIO_CLEAN`` - clean compiled objects and etc.
* ``PLATFORMIO_BUILD`` - Build project without auto-uploading
* ``PLATFORMIO_UPLOAD`` - Build and upload (if no errors).
* ``PLATFORMIO_CLEAN`` - Clean compiled objects.
* ``PLATFORMIO_PROGRAM`` - Build and upload using external programmer (if no errors), see :ref:`atmelavr_upload_via_programmer`.
* ``PLATFORMIO_UPLOADFS`` - Upload files to file system SPIFFS, see :ref:`platform_espressif_uploadfs`.
* ``PLATFORMIO_UPDATE`` - Update installed platforms and libraries via :ref:`cmd_update`.
.. warning::
The libraries which are added, installed or used in the project
@@ -81,10 +84,11 @@ There are 3 predefined targets for building:
Articles / Manuals
------------------
* `Using PlatformIO to get started with Arduino in CLion IDE <http://www.ches.pl/using-platformio-get-started-arduino-clion-ide/>`_
* `Programar con Arduino "The good way" (Programming with Arduino "The good way", Spanish) <http://congdegnu.es/2015/11/09/programar-con-arduino-the-good-way/>`_
* Dec 01, 2015 - **JetBrains CLion Blog** - `C++ Annotated: Fall 2015. Arduino Support in CLion using PlatformIO <http://blog.jetbrains.com/clion/2015/12/cpp-annotated-fall-2015/>`_
* Nov 22, 2015 - **Michał Seroczyński** - `Using PlatformIO to get started with Arduino in CLion IDE <http://www.ches.pl/using-platformio-get-started-arduino-clion-ide/>`_
* Nov 09, 2015 - **ÁLvaro García Gómez** - `Programar con Arduino "The good way" (Programming with Arduino "The good way", Spanish) <http://congdegnu.es/2015/11/09/programar-con-arduino-the-good-way/>`_
See a full list with :ref:`articles`.
See more :ref:`articles`.
Screenshot
----------

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -37,21 +37,36 @@ page for more detailed information.
Integration
-----------
Since PlatformIO 2.0 you can generate Eclipse compatible project using
:option:`platformio init --ide` command. Please choose board type using
:ref:`cmd_boards` command and run:
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 eclipse --board %TYPE%
# For example, generate project for Arduino UNO
platformio init --ide eclipse --board uno
Then:
1. Import this project via
``Menu: File > Import... > General > Existing Projects into Workspace > Next``
and specify root directory where is located :ref:`projectconf`
2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``)
3. Build project: ``Menu: Project > Build Project``.
3. Build project using ``Menu: Project > Build Project`` or preconfigured
Make Targets (see screenshot below):
+ ``PlatformIO: Build`` - Build project without auto-uploading
+ ``PlatformIO: Clean`` - Clean compiled objects.
+ ``PlatformIO: Upload`` - Build and upload (if no errors)
+ ``PlatformIO: Upload using Programmer`` see :ref:`atmelavr_upload_via_programmer`
+ ``PlatformIO: Upload SPIFFS image`` see :ref:`platform_espressif_uploadfs`
+ ``PlatformIO: Update platforms and libraries`` - Update installed platforms and libraries via :ref:`cmd_update`.
If you have some problems with unresolved includes, defines, etc., then
* Restart Eclipse IDE
* Rebuild index using ``Menu: Project > C/C++ Index > Rebuild``.
.. warning::
The libraries which are added, installed or used in the project
@@ -61,17 +76,19 @@ Then:
Articles / Manuals
------------------
* `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO <http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio>`_
* `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation <http://thomasweldon.com/tpw/courses/embeddsp/p00pcFrdmK64_eclipsePlatformioSetup.html>`_
* `Learning Arduino GitHub Repository <http://www.trojanc.co.za/2015/07/11/learning-arduino-github-repository/>`_
* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation <http://thomasweldon.com/tpw/courses/embeddsp/p00pcFrdmK64_eclipsePlatformioSetup.html>`_
* Jul 11, 2015 - **TrojanC** - `Learning Arduino GitHub Repository <http://www.trojanc.co.za/2015/07/11/learning-arduino-github-repository/>`_
* 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>`_
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://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-eclipse.png
Examples
--------

78
docs/ide/emacs.rst Normal file
View File

@@ -0,0 +1,78 @@
.. 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_emacs:
Emacs
=====
GNU Emacs is an extensible, customizable text editor - and more. At its core is
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.
.. contents::
Integration
-----------
PlatformIO-Mode
^^^^^^^^^^^^^^^
An Emacs minor mode has been written to facilitate building and uploading from within Emacs.
It can be installed from the MELPA repository using ``M-x package-install``.
See the MELPA `Getting Started <https://melpa.org/#/getting-started>`_ page for more information.
Setup instructions and an example config can be found at the `Github page <https://github.com/ZachMassia/platformio-mode>`_.
Code completion can optionally be provided by installing `irony-mode <https://github.com/Sarcasm/irony-mode>`_
Project Generator
^^^^^^^^^^^^^^^^^
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 emacs --board %TYPE%
There are 6 predefined targets for building.
* ``platformio_build`` - Build project without auto-uploading. (``C-c i b``)
* ``platformio_clean`` - Clean compiled objects. (``C-c i c``)
* ``platformio_upload`` - Build and upload (if no errors). (``C-c i u``)
* ``platformio_programmer_upload`` - Build and upload using external programmer (if no errors, see :ref:`atmelavr_upload_via_programmer`). (``C-c i p``)
* ``platformio_spiffs_upload`` - Upload files to file system SPIFFS (see :ref:`platform_espressif_uploadfs`). (``C-c i s``)
* ``platformio_update`` - Update installed platforms and libraries. (``C-c i d``)
.. 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).
Screenshot
----------
.. image:: ../_static/ide-platformio-emacs.png
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-emacs.png

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -37,14 +37,16 @@ Integration
Project Generator
^^^^^^^^^^^^^^^^^
Since PlatformIO 2.0 you can generate Qt Creator compatible project using
:option:`platformio init --ide` command. Please choose board type using
:ref:`cmd_boards` command and run:
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 qtcreator --board %TYPE%
# For example, generate project for Arduino UNO
platformio init --ide qtcreator --board uno
Then:
1. Import project via ``File > Open File or Project`` and select

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -32,14 +32,16 @@ Integration
Project Generator
^^^^^^^^^^^^^^^^^
Since PlatformIO 2.0 you can generate Sublime Text compatible project using
:option:`platformio init --ide` command. Please choose board type using
:ref:`cmd_boards` command and run:
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 sublimetext --board %TYPE%
# For example, generate project for Arduino UNO
platformio init --ide sublimetext --board uno
Then:
1. Import project via ``Menu: Project > Open Project...`` and select
@@ -48,6 +50,15 @@ Then:
3. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``)
4. Build project: ``Menu: Tools > Build``.
Also, you can access to all pre-configured targets via
``Menu: Tools > Builds With...`` (ST3)
+ ``PlatformIO - Build`` - Build project without auto-uploading
+ ``PlatformIO - Clean`` - Clean compiled objects.
+ ``PlatformIO - Upload`` - Build and upload (if no errors)
+ ``PlatformIO - Upload using Programmer`` see :ref:`atmelavr_upload_via_programmer`
+ ``PlatformIO - Upload SPIFFS image`` see :ref:`platform_espressif_uploadfs`
+ ``PlatformIO - Update platforms and libraries`` - Update installed platforms and libraries via :ref:`cmd_update`.
Manual Integration
^^^^^^^^^^^^^^^^^^

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -48,11 +48,33 @@ Put to the project directory ``Makefile`` wrapper with contents:
#PATH := /usr/local/bin:$(PATH)
all:
platformio -f -c vim run
upload:
platformio -f -c vim run --target upload
clean:
platformio -f -c vim run --target clean
program:
platformio -f -c vim run --target program
uploadfs:
platformio -f -c vim run --target uploadfs
update:
platformio -f -c vim update
Pre-defined targets:
+ ``Build`` - Build project without auto-uploading
+ ``Clean`` - Clean compiled objects.
+ ``Upload`` - Build and upload (if no errors)
+ ``Upload using Programmer`` see :ref:`atmelavr_upload_via_programmer`
+ ``Upload SPIFFS image`` see :ref:`platform_espressif_uploadfs`
+ ``Update platforms and libraries`` - Update installed platforms and libraries via :ref:`cmd_update`.
Now, in VIM ``cd /path/to/this/project`` and press ``Ctrl+B`` or ``Cmd+B``
(Mac). *PlatformIO* should compile your source code from the ``src`` directory,

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -37,13 +37,15 @@ Integration
Project Generator
^^^^^^^^^^^^^^^^^
Since PlatformIO 2.0 you can generate Visual Studio compatible project using
:option:`platformio init --ide` command. Please choose board type using
:ref:`cmd_boards` command and run:
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 visualstudio --board %TYPE%
platformio init --ide sublimetext --board %TYPE%
# For example, generate project for Arduino UNO
platformio init --ide visualstudio --board uno
Then:

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -28,7 +28,7 @@ integration. Arduino and MBED compatible. Ready for Cloud compiling.**
*Atmel AVR & SAM, Espressif, Freescale Kinetis, Nordic nRF51, NXP LPC,
Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed,
libOpenCM3, etc.**
libOpenCM3, etc.*
* `Website <http://platformio.org>`_
* `Web 2.0 Library Search <http://platformio.org/#!/lib>`_ |
@@ -46,12 +46,12 @@ Embedded Development. *Easier Than Ever.*
-----------------------------------------
* Colourful command-line output
* :ref:`IDE Integration <ide>` with *Arduino, Eclipse, Energia, Qt Creator,
Sublime Text, Vim, Visual Studio*
* :ref:`IDE Integration <ide>` with *Arduino, Atom, CLion, Eclipse, Emacs,
Energia, Qt Creator, Sublime Text, Vim, Visual Studio*
* Cloud compiling and :ref:`ci` with *AppVeyor, Circle CI, Drone, Shippable, Travis CI*
* Built-in :ref:`Serial Port Monitor <cmd_serialports_monitor>` and
configurable build :ref:`-flags/-options <projectconf_build_flags>`
* Pre-built tool chains, :ref:`frameworks` for the
* Pre-built toolchains, :ref:`frameworks` for the
:ref:`Development Platforms <platforms>`
Smart Code Builder. *Fast and Reliable.*
@@ -71,7 +71,8 @@ The Missing Library Manager. *It's here!*
* Automatic library updating
* It runs on Windows, Mac OS X, and Linux (+ARM).
For further details, please refer to :ref:`faq_what_is_platformio`
For further details, please refer to
:ref:`What is PlatformIO? How does it work? <faq_what_is_platformio>`
Contents
--------
@@ -94,7 +95,7 @@ Contents
.. toctree::
:caption: Instruments
:maxdepth: 2
:maxdepth: 3
Platforms & Boards <platforms/index>
frameworks/index

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -25,28 +25,27 @@ computers (`Raspberry Pi <http://www.raspberrypi.org>`_,
System requirements
-------------------
* **Operating systems:**
* Mac OS X
* Linux, +ARM
* Windows
* Python 2.6.x or Python 2.7.x(recommended)
:Operating System: Mac OS X, Linux (+ARM) or Windows
:Python Interpreter:
All commands below should be executed in
`Command-line <http://en.wikipedia.org/wiki/Command-line_interface>`_
application (Terminal):
Python 2.6 or 2.7. Python 2.7 is recommended
* Mac OS X / Linux *Terminal* application
* Windows ``cmd.exe`` application.
.. attention::
**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.
:Terminal Application:
All commands below should be executed in
`Command-line <http://en.wikipedia.org/wiki/Command-line_interface>`_
application (Terminal). For Mac OS X and Linux OS - *Terminal* application,
for Windows OS ``cmd.exe`` application.
Installation Methods
--------------------
.. warning::
**Windows OS**: Please `Download the latest Python 2.7.x
<https://www.python.org/downloads/>`_ and install it.
**DON'T FORGET** to select ``Add python.exe to Path`` feature on the
"Customize" stage.
Please *choose ONE of* the following methods:
a) Python Package Manager
@@ -57,16 +56,18 @@ The latest stable version of PlatformIO may be installed or upgraded via
.. code-block:: bash
# update package installer
pip install -U pip setuptools
# install or upgrade PlatformIO
pip install -U platformio
If ``pip`` command is not available run ``easy_install pip`` or use
:ref:`installation_installer_script` which will install ``pip`` and
``platformio`` automatically.
Note that you may run into permissions issues running these commands. You have
a few options here:
* Run with ``sudo`` to install PlatformIO and dependencies globally
* Specify the `pip install --user <https://pip.pypa.io/en/stable/user_guide.html#user-installs>`_
option to install local to your user
* Run the command in a `virtualenv <https://virtualenv.pypa.io>`_ local to a
specific project working set.
@@ -130,10 +131,6 @@ c) Full Guide
.. code-block:: bash
# update package installer
pip install -U pip setuptools
# install or upgrade PlatformIO
pip install -U platformio
If your computer does not recognize ``pip`` command, try to install it first
@@ -152,8 +149,8 @@ Install the latest PlatformIO from the ``develop`` branch:
.. code-block:: bash
# update package installer
pip install -U pip setuptools
# uninstall existing version
pip uninstall platformio
# install the latest development version of PlatformIO
pip install -U https://github.com/platformio/platformio/archive/develop.zip

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -25,7 +25,7 @@ to keep project in own structure and define:
PlatformIO Library Crawler uses ``library.json`` manifest to extract
source code from developer's location and keeps cleaned library in own
Libraries Storage.
Library Storage.
A data in ``library.json`` should be represented
in `JSON-style <http://en.wikipedia.org/wiki/JSON>`_ via
@@ -150,18 +150,6 @@ Example:
"url": "https://github.com/foo/bar.git"
}
.. _libjson_downloadurl:
``downloadUrl``
---------------
*Required* if :ref:`libjson_repository` field is not defined | Type: ``String``
It is the *HTTP URL* to the archived source code of library. It should end
with the type of archive (``.zip`` or ``.tar.gz``).
.. _libjson_version:
``version``
@@ -173,16 +161,55 @@ with the type of archive (``.zip`` or ``.tar.gz``).
A version of the current library source code.
* Can contain a-z, digits, dots or dash.
* `Semantic Versioning <http://semver.org>`_ is recommended.
* A `CVS <http://en.wikipedia.org/wiki/Concurrent_Versions_System>`_
revision from the latest commit. Example: ``13`` (*SVN*) or first 10
chars of *SHA* digest ``e4564b7da4`` (*Git*).
* `Semantic Versioning <http://semver.org>`_ IS RECOMMENDED.
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*).
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`.
.. note::
You can omit :ref:`libjson_version` field and define
:ref:`libjson_repository` field. In this case
|PIOAPICR| will use the *CVS*-revision from the latest commit.
|PIOAPICR| updates library only if:
- the :ref:`libjson_version` is changed
- ``library.json`` is modified
Example:
.. code-block:: javascript
"repository":
{
"type": "git",
"url": "https://github.com/foo/bar.git"
},
"version": "1.0.0"
.. _libjson_downloadurl:
``downloadUrl``
---------------
*Required* if :ref:`libjson_repository` field is not defined | Type: ``String``
It is the *HTTP URL* to the archived source code of library. It should end
with the type of archive (``.zip`` or ``.tar.gz``).
Example with fixed release/tag on GitHub:
.. code-block:: javascript
"version": "1.0.0",
"downloadUrl": "https://github.com/foo/bar/archive/v1.0.0.tar.gz",
"include": "bar-1.0.0"
See more ``library.json`` :ref:`library_creating_examples`.
.. _libjson_url:
@@ -244,6 +271,7 @@ Pattern Meaning
* - ``[!seq]``
- matches any character not in seq
See more ``library.json`` :ref:`library_creating_examples`.
.. _libjson_exclude:
@@ -329,6 +357,8 @@ Example:
]
See more ``library.json`` :ref:`library_creating_examples`.
.. _libjson_examples:
``examples``

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -146,3 +146,12 @@ The registration requirements:
Now, you can :ref:`register <cmd_lib_register>` your library and allow others
to :ref:`install <cmd_lib_install>` it.
.. _library_creating_examples:
Examples
--------
* `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>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -82,6 +82,20 @@ Adafruit
- Flash
- RAM
* - ``bluefruitmicro``
- `Adafruit Bluefruit Micro <https://www.adafruit.com/products/2661>`_
- ATMEGA32U4
- 8 MHz
- 32 Kb
- 2.5 Kb
* - ``feather32u4``
- `Adafruit Feather <https://learn.adafruit.com/adafruit-feather-32u4-bluefruit-le/>`_
- ATMEGA32U4
- 8 MHz
- 32 Kb
- 2.5 Kb
* - ``flora8``
- `Adafruit Flora <http://www.adafruit.com/product/659>`_
- ATMEGA32U4
@@ -96,6 +110,13 @@ Adafruit
- 8 Kb
- 0.5 Kb
* - ``metro``
- `Adafruit Metro <https://www.adafruit.com/products/2466>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``protrinket3``
- `Adafruit Pro Trinket 3V/12MHz (USB) <http://www.adafruit.com/products/2010>`_
- ATMEGA328P
@@ -368,7 +389,7 @@ BQ
- RAM
* - ``zumbt328``
- `BQ ZUM BT-328 board <http://www.bq.com/gb/products/zum.html>`_
- `BQ ZUM BT-328 <http://www.bq.com/gb/products/zum.html>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
@@ -903,3 +924,5 @@ ubIQio
- 16 MHz
- 32 Kb
- 2 Kb
.. include:: atmelavr_extra.rst

View File

@@ -0,0 +1,115 @@
.. 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.
.. _atmelavr_upload_via_programmer:
Upload using Programmer
-----------------------
To upload firmware using programmer you need to use ``program`` target instead
``upload`` for :option:`platformio run --target` command. For example,
``platformio run -t program``.
Configuration for the programmers:
* AVR ISP
.. code-block:: ini
[env:myenv]
platform = atmelavr
framework = arduino
upload_protocol = stk500v1
upload_flags = -P$UPLOAD_PORT
# edit this line with valid upload port
upload_port = SERIAL_PORT_HERE
* AVRISP mkII
.. code-block:: ini
[env:myenv]
platform = atmelavr
framework = arduino
upload_protocol = stk500v2
upload_flags = -Pusb
* USBtinyISP
.. code-block:: ini
[env:myenv]
platform = atmelavr
framework = arduino
upload_protocol = usbtiny
* USBasp
.. code-block:: ini
[env:myenv]
platform = atmelavr
framework = arduino
upload_protocol = usbasp
upload_flags = -Pusb
* Parallel Programmer
.. code-block:: ini
[env:myenv]
platform = atmelavr
framework = arduino
upload_protocol = dapa
upload_flags = -F
* Arduino as ISP
.. code-block:: ini
[env:myenv]
platform = atmelavr
framework = arduino
upload_protocol = stk500v1
upload_flags = -P$UPLOAD_PORT -b$UPLOAD_SPEED
# edit these lines
upload_port = SERIAL_PORT_HERE
upload_speed = 19200
Articles
--------
* Dec 01, 2015 - **Michał Seroczyński** - `Push Notification from Arduino Yún with motion sensor <http://www.ches.pl/push-from-yun-1/>`_
* Nov 29, 2015 - **Keith Hughes** - `Using PlatformIO for Embedded Projects <http://smartspacestuff.blogspot.com/2015/11/using-platformio-for-embedded-projects.html>`_
* Nov 22, 2015 - **Michał Seroczyński** - `Using PlatformIO to get started with Arduino in CLion IDE <http://www.ches.pl/using-platformio-get-started-arduino-clion-ide/>`_
* Nov 09, 2015 - **ÁLvaro García Gómez** - `Programar con Arduino "The good way" (Programming with Arduino "The good way", Spanish) <http://congdegnu.es/2015/11/09/programar-con-arduino-the-good-way/>`_
* Oct 18, 2015 - **Nico Coetzee** - `First Arduino I2C Experience with PlatformIO <https://electronicventurer.wordpress.com/2015/10/18/first-arduino-i2c-experience/>`_
* Oct 10, 2015 - **Floyd Hilton** - `Programming Arduino with Atom <http://floydhilton.com/software/career/2015/10/10/Arduino_with_Atom.html>`_
* 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>`_
See more :ref:`articles`.
Examples
--------
All project examples are located in PlatformIO repository
`Examples for Atmel AVR platform <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino>`_.
* `Wiring Blink <https://github.com/platformio/platformio/tree/develop/examples/wiring-blink>`_
* `Arduino with external libraries <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/arduino-external-libs>`_
* `Arduino with internal libraries <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/arduino-internal-libs>`_
* `Project uses source file name for "src" directory (Arduino project structure) <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/arduino-own-src_dir>`_
* `Atmel AVR Native blink <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/atmelavr-native-blink>`_
* `Digitstump Mouse <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/digitstump-mouse>`_
* `Engduino magnetometer <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/engduino-magnetometer>`_
* `PanStamp blink <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/panstamp-blink>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -19,10 +19,10 @@ for the different development platforms via single command :ref:`cmd_run`
without any dependent software or requirements.
For this purpose *PlatformIO* uses own pre-configured platforms data:
build scripts, tool chains, the settings for the most popular embedded
build scripts, toolchains, the settings for the most popular embedded
boards and etc. These data are pre-built and packaged to the different
``packages``. It allows *PlatformIO* to have multiple development platforms
which can use the same packages(tool chains, frameworks), but have
which can use the same packages(toolchains, frameworks), but have
different/own build scripts, uploader and etc.
.. note::
@@ -62,6 +62,9 @@ Packages
* - ``framework-arduinomsp430``
- `Arduino Wiring-based Framework (MSP430 Core) <http://arduino.cc/en/Reference/HomePage>`_
* - ``framework-arduinonordicnrf51``
- `Arduino Wiring-based Framework (RFduino Core) <https://github.com/RFduino/RFduino>`_
* - ``framework-arduinosam``
- `Arduino Wiring-based Framework (SAM Core, 1.6) <http://arduino.cc/en/Reference/HomePage>`_
@@ -110,9 +113,18 @@ Packages
* - ``tool-micronucleus``
- `Micronucleus <https://github.com/micronucleus/micronucleus>`_
* - ``tool-mkspiffs``
- `Tool to build and unpack SPIFFS images <https://github.com/igrr/mkspiffs>`_
* - ``tool-mspdebug``
- `MSPDebug <http://mspdebug.sourceforge.net/>`_
* - ``tool-rfdloader``
- `rfdloader <https://github.com/RFduino/RFduino>`_
* - ``tool-scons``
- `SCons software construction tool <http://www.scons.org>`_
* - ``tool-stlink``
- `ST-Link <https://github.com/texane/stlink>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -28,21 +28,24 @@ Packages
* - Name
- Contents
* - ``toolchain-xtensa``
- `xtensa-gcc <https://github.com/jcmvbkbc/gcc-xtensa>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``tool-esptool``
- `esptool-ck <https://github.com/igrr/esptool-ck>`_
* - ``tool-mkspiffs``
- `Tool to build and unpack SPIFFS images <https://github.com/igrr/mkspiffs>`_
* - ``framework-arduinoespressif``
- `Arduino Wiring-based Framework (ESP8266 Core) <https://github.com/esp8266/Arduino>`_
* - ``ldscripts``
- `Linker Scripts <https://sourceware.org/binutils/docs/ld/Scripts.html>`_
* - ``sdk-esp8266``
- `ESP8266 SDK <http://bbs.espressif.com>`_
* - ``tool-esptool``
- `esptool-ck <https://github.com/igrr/esptool-ck>`_
* - ``framework-arduinoespressif``
- `Arduino Wiring-based Framework (ESP8266 Core) <https://github.com/esp8266/Arduino>`_
* - ``toolchain-xtensa``
- `xtensa-gcc <https://github.com/jcmvbkbc/gcc-xtensa>`_, `GDB <http://www.gnu.org/software/gdb/>`_
.. warning::
**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).
@@ -72,6 +75,46 @@ Boards
* For more detailed ``board`` information please scroll tables below by
horizontal.
Adafruit
~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``huzzah``
- `Adafruit HUZZAH ESP8266 <https://www.adafruit.com/products/2471>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
ESPino
~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``espino``
- `ESPino <http://www.espino.io>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
Espressif
~~~~~~~~~
@@ -86,22 +129,131 @@ Espressif
- RAM
* - ``esp01``
- `Espressif ESP8266 ESP-01 board <https://nurdspace.nl/ESP8266>`_
- `Espressif Generic ESP8266 ESP-01 512k <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 512 Kb
- 32 Kb
- 80 Kb
* - ``esp01_1m``
- `Espressif ESP8266 ESP-01-1MB board <https://nurdspace.nl/ESP8266>`_
- `Espressif Generic ESP8266 ESP-01 1M <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 1024 Kb
- 32 Kb
- 80 Kb
* - ``esp12e``
- `Espressif ESP8266 ESP-12E board (NodeMCU) <https://nurdspace.nl/ESP8266>`_
- `Espressif ESP8266 ESP-12E <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 32 Kb
- 80 Kb
NodeMCU
~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``nodemcu``
- `NodeMCU 0.9 & 1.0 <http://www.nodemcu.com/>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
Olimex
~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``modwifi``
- `Olimex MOD-WIFI-ESP8266(-DEV) <https://www.olimex.com/Products/IoT/MOD-WIFI-ESP8266-DEV/open-source-hardware>`_
- ESP8266
- 80 MHz
- 2048 Kb
- 80 Kb
SparkFun
~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``thing``
- `SparkFun ESP8266 Thing <https://www.sparkfun.com/products/13231>`_
- ESP8266
- 80 MHz
- 512 Kb
- 80 Kb
SweetPea
~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``esp210``
- `SweetPea ESP-210 <http://wiki.sweetpeas.se/index.php?title=ESP-210>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
WeMos
~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``d1``
- `WeMos D1 <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>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
.. include:: espressif_extra.rst

View File

@@ -0,0 +1,180 @@
.. 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.
Custom CPU Frequency or Upload Speed
------------------------------------
See :ref:`projectconf_board_f_cpu` and :ref:`projectconf_upload_speed` options
from :ref:`projectconf`
.. code-block:: ini
[env:myenv]
# set frequency to 40MHz
board_f_cpu = 40000000L
upload_speed = 9600
.. _platform_espressif_customflash:
Custom Flash Size
-----------------
.. warning::
Please make sure to read `ESP8266 Flash layout <https://github.com/esp8266/Arduino/blob/master/doc/filesystem.md#flash-layout>`_
information first.
The list with preconfigured LD scripts is located in public repository
`platformio-pkg-ldscripts <https://github.com/platformio/platformio-pkg-ldscripts>`_.
* ``esp8266.flash.512k0.ld`` 512K (no SPIFFS)
* ``esp8266.flash.512k64.ld`` 512K (64K SPIFFS)
* ``esp8266.flash.1m64.ld`` 1M (64K SPIFFS)
* ``esp8266.flash.1m128.ld`` 1M (128K SPIFFS)
* ``esp8266.flash.1m256.ld`` 1M (256K SPIFFS)
* ``esp8266.flash.1m512.ld`` 1M (512K SPIFFS)
* ``esp8266.flash.2m.ld`` 2M (1M SPIFFS)
* ``esp8266.flash.4m1m.ld`` 4M (1M SPIFFS)
* ``esp8266.flash.4m.ld`` 4M (3M SPIFFS)
To override default LD script please use :ref:`projectconf_build_flags` from
:ref:`projectconf`.
.. code-block:: ini
[env:myenv]
build_flags = -Wl,-Tesp8266.flash.4m.ld
.. _platform_espressif_uploadfs:
Uploading files to file system SPIFFS
-------------------------------------
.. warning::
Please make sure to read `ESP8266 Flash layout <https://github.com/esp8266/Arduino/blob/master/doc/filesystem.md#flash-layout>`_
information first.
1. Initialise project :ref:`cmd_init` (if you have not initialized yet)
2. Create :ref:`projectconf_pio_data_dir` and put files here
3. Run target ``uploadfs`` using :option:`platformio run --target` command.
To upload SPIFFS image using OTA update please specify ``upload_port`` /
``--upload-port`` as IP address or mDNS host name (ending with the ``*.local``).
For the details please follow to :ref:`platform_espressif_ota`.
By default, will be used default LD Script for the board where is specified
SPIFFS offsets (start, end, page, block). You can override it using
:ref:`platform_espressif_customflash`.
Active discussion is located in `issue #382 <https://github.com/platformio/platformio/issues/382>`_.
.. _platform_espressif_ota:
Over-the-Air (OTA) update
-------------------------
Firstly, please read `What is OTA? How to use it? <https://github.com/esp8266/Arduino/blob/master/doc/ota_updates/ota_updates.md>`_
There are 2 options:
* Directly specify :option:`platformio run --upload-port` in command line
.. code-block:: bash
platformio run --target upload --upload-port IP_ADDRESS_HERE or mDNS_NAME.local
* Specify ``upload_port`` option in :ref:`projectconf`
.. code-block:: ini
[env:myenv]
...
upload_port = IP_ADDRESS_HERE or mDNS_NAME.local
For example,
* ``platformio run -t upload --upload-port 192.168.0.255``
* ``platformio run -t upload --upload-port myesp8266.local``
Authentication and upload options
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can pass additional options/flags to OTA uploader using
``upload_flags`` option in :ref:`projectconf`
.. code-block:: ini
[env:myenv]
upload_flags = --port=8266
Available flags
* ``--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
For the full list with available options please run
.. code-block:: bash
~/.platformio/packages/framework-arduinoespressif/tools/espota.py -h
Usage: espota.py [options]
Transmit image over the air to the esp8266 module with OTA support.
Options:
-h, --help show this help message and exit
Destination:
-i ESP_IP, --ip=ESP_IP
ESP8266 IP Address.
-p ESP_PORT, --port=ESP_PORT
ESP8266 ota Port. Default 8266
Authentication:
-a AUTH, --auth=AUTH
Set authentication password.
Image:
-f FILE, --file=FILE
Image file.
-s, --spiffs Use this option to transmit a SPIFFS image and do not
flash the module.
Output:
-d, --debug Show debug output. And override loglevel with debug.
-r, --progress Show progress output. Does not work for ArduinoIDE
Demo
~~~~
.. image:: ../_static/platformio-demo-ota-esp8266.jpg
:target: https://www.youtube.com/watch?v=lXchL3hpDO4
Articles
--------
* 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/>`_
See more :ref:`articles`.
Examples
--------
All project examples are located in PlatformIO repository
`Examples for Espressif platform <https://github.com/platformio/platformio/tree/develop/examples/espressif>`_.
* `Native SDK <https://github.com/platformio/platformio/tree/develop/examples/espressif/esp8266-native>`_
* `WebServer <https://github.com/platformio/platformio/tree/develop/examples/espressif/esp8266-webserver>`_
* `WiFiScan <https://github.com/platformio/platformio/tree/develop/examples/espressif/esp8266-wifiscan>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -13,7 +13,7 @@
Platform ``native``
===================
Native development platform is intended to be used for desktop OS. This platform uses built-in tool chains (preferable based on GCC), frameworks, libs from particular OS where it will be run.
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>`_.

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -31,9 +31,15 @@ Packages
* - ``framework-mbed``
- `mbed Framework <http://mbed.org>`_
* - ``tool-rfdloader``
- `rfdloader <https://github.com/RFduino/RFduino>`_
* - ``toolchain-gccarmnoneeabi``
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``framework-arduinonordicnrf51``
- `Arduino Wiring-based Framework (RFduino Core) <https://github.com/RFduino/RFduino>`_
.. warning::
**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).
@@ -51,6 +57,9 @@ Frameworks
* - Name
- 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.
* - :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.
@@ -137,6 +146,26 @@ Nordic
- 128 Kb
- 16 Kb
RFduino
~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``rfduino``
- `RFduino <http://www.rfduino.com/product/rfd22102-rfduino-dip/index.html>`_
- NRF51822
- 16 MHz
- 128 Kb
- 8 Kb
RedBearLab
~~~~~~~~~~
@@ -203,3 +232,5 @@ Switch Science
- 16 MHz
- 256 Kb
- 16 Kb
.. include:: nordicnrf51_extra.rst

View File

@@ -0,0 +1,18 @@
.. 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 Nordic nRF51 platform <https://github.com/platformio/platformio/tree/develop/examples/nordicnrf51>`_.
* `RFduino iBeacon <https://github.com/platformio/platformio/tree/develop/examples/nordicnrf51/rfduino-ibeacon>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -329,3 +329,5 @@ ST
- 80 MHz
- 1024 Kb
- 128 Kb
.. include:: ststm32_extra.rst

View File

@@ -0,0 +1,29 @@
.. 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
--------
* Nov 06, 2015 - **nocd5** - `PlatformIOでmbedをオフラインビルドしSTM32 Nucleoボードでmrubyを使う (Use mruby in the offline build for STM32 Nucleo board with mbed and PlatformIO, Japanese) <http://qiita.com/nocd5/items/d5fda776240f7e7c17eb>`_
* Oct 21, 2015 - **Vittorio Zaccaria** - `Using a cheap STM32 Nucleo to teach remote sensor monitoring <http://www.vittoriozaccaria.net/blog/2015/10/21/using-a-cheap-stm32-nucleo-to-teach-remote-sensor-monitoring.html>`_
* Aug 08, 2015 - **Josh Glendenning** - `Armstrap Eagle and PlatformIO <http://isobit.io/2015/08/08/armstrap.html>`_
See more :ref:`articles`.
Examples
--------
All project examples are located in PlatformIO repository
`Examples for ST STM32 platform <https://github.com/platformio/platformio/tree/develop/examples/stm32>`_.
* `CMSIS Blink <https://github.com/platformio/platformio/tree/develop/examples/stm32/stm32-cmsis-blink>`_
* `libOpenCM3 Blink <https://github.com/platformio/platformio/tree/develop/examples/stm32/stm32-opencm3-blink>`_
* `SPL Blink <https://github.com/platformio/platformio/tree/develop/examples/stm32/stm32-spl-blink>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -153,3 +153,5 @@ TI
- 16 MHz
- 16 Kb
- 0.5 Kb
.. include:: timsp430_extra.rst

View File

@@ -0,0 +1,28 @@
.. 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
--------
* Dec 08, 2015 - **Piotr Król** - `Using PlatformIO with TI MSP430 LunchPads <http://blog.3mdeb.com/2015/12/08/using-platformio-with-ti-msp430-lunchpads/>`_
See more :ref:`articles`.
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>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -18,8 +18,8 @@ The Project configuration file is named ``platformio.ini``. This is a
`INI-style <http://en.wikipedia.org/wiki/INI_file>`_ file.
``platformio.ini`` has sections (each denoted by a ``[header]``) and
key / value pairs within the sections. A sign ``#`` at the beginning of the
line indicates a comment. Comment lines are ignored.
key / value pairs within the sections. Lines beginning with ``#`` or ``;``
are ignored and may be used to provide comments.
The sections and their allowable values are described below.
@@ -44,7 +44,7 @@ Options
``home_dir``
^^^^^^^^^^^^
Is used to store platform tool chains, frameworks, external libraries,
Is used to store platform toolchains, frameworks, external libraries,
service data and etc.
A default value is User's home directory:
@@ -81,7 +81,8 @@ This option can be overridden by global environment variable
A path to project's source directory. PlatformIO uses it for :ref:`cmd_run`
command.
A default value is ``%project_dir%/src``.
A default value is ``src`` which means that folder is located in the root of
project.
This option can be overridden by global environment variable
:envvar:`PLATFORMIO_SRC_DIR`.
@@ -105,7 +106,8 @@ fast!
then PlatformIO will remove this folder automatically. It will be created on the
next build operation.
A default value is ``%project_dir%/.pioenvs``.
A default value is ``.pioenvs`` which means that folder is located in the root of
project.
This option can be overridden by global environment variable
:envvar:`PLATFORMIO_ENVS_DIR`.
@@ -115,6 +117,19 @@ This option can be overridden by global environment variable
are defined in :ref:`projectconf`, then **TRY TO DELETE** this folder. In
this situation you will remove all cached files without any risk.
.. _projectconf_pio_data_dir:
``data_dir``
^^^^^^^^^^^^
Data directory to store contents and :ref:`platform_espressif_uploadfs`.
A default value is ``data`` which means that folder is located in the root of
project.
This option can be overridden by global environment variable
:envvar:`PLATFORMIO_DATA_DIR`.
[env:NAME]
----------
@@ -176,6 +191,7 @@ is described `here <http://www.nongnu.org/avr-libc/user-manual/>`_.
The full list of ``board_mcu`` for the popular embedded platforms you can find
in *Boards* section of :ref:`platforms`. See "Microcontroller" column.
.. _projectconf_board_f_cpu:
``board_f_cpu``
^^^^^^^^^^^^^^^
@@ -209,6 +225,7 @@ To print all available serial ports use :ref:`cmd_serialports` command.
A protocol that "uploader" tool uses to talk to the board.
.. _projectconf_upload_speed:
``upload_speed``
^^^^^^^^^^^^^^^^
@@ -396,7 +413,7 @@ Example:
^^^^^^^^^^^^^^^^
Control cyclic (recursive) behaviour for ``Library Dependency Finder (LDF)``.
By default, this option is turned OFF (``lib_dfcyclic=False``) and means, that
By default, this option is turned OFF (``lib_dfcyclic=False``) and means that
``LDF`` will find only libraries which are included in source files from the
project :ref:`projectconf_pio_src_dir`.
@@ -451,7 +468,7 @@ Example, specify own upload command for :ref:`platform_atmelavr`:
* see built-in examples of `PlatformIO build scripts <https://github.com/platformio/platformio/tree/develop/platformio/builder/scripts>`_.
* take a look on the multiple snippets/answers for the user questions:
* 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>`_,
@@ -461,8 +478,9 @@ Example, specify own upload command for :ref:`platform_atmelavr`:
^^^^^^^^^^^
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". Which
targets are supported is described in :option:`platformio run --target`.
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:
@@ -530,9 +548,11 @@ Examples
platform = atmelavr
framework = arduino
board = pro8MHzatmega328
upload_protocol = usbasp -B5
upload_protocol = usbasp
upload_flags = -Pusb -B5
Then upload firmware using :option:`platformio run --target program`
Then upload firmware using :option:`platformio run --target program`. To use
other programmers see :ref:`atmelavr_upload_via_programmer`.
4. :ref:`platform_ststm32`: Upload firmware using GDB script ``upload.gdb``,

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -14,7 +14,7 @@
Quickstart
==========
.. note::
.. hint::
Please read `Get Started <http://platformio.org/#!/get-started>`_
article from the official WebSite.
@@ -30,9 +30,6 @@ Quickstart
$ platformio init --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
Would you like to enable firmware auto-uploading when project is successfully built using `platformio run` command?
Don't forget that you can upload firmware manually using `platformio run --target upload` command. [y/N]: y
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.
@@ -66,10 +63,9 @@ Change working directory to the project's root where is located
# clean project
$ platformio run --target clean
If you don't have installed required platforms, then *PlatformIO* will propose
you to install them automatically.
Further examples can be found in `PlatformIO Repository <https://github.com/platformio/platformio/tree/develop/examples>`_.
Useful links:
Also, for more detailed information as for commands please go to
:ref:`userguide` sections.
* `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>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -21,23 +21,45 @@ Usage
.. code-block:: bash
# Print all available pre-configured embedded boards
platformio boards
# Filter boards by "Query"
platformio boards QUERY
platformio boards [OPTIONS] [FILTER]
Description
-----------
List pre-configured Embedded Boards
Options
~~~~~~~
.. program:: platformio boards
.. option::
--json-output
Return the output in `JSON <http://en.wikipedia.org/wiki/JSON>`_ format
Examples
--------
1. Show Arduino-based boards
1. Show all available pre-configured embedded boards
.. code-block:: bash
$ platformio boards
Platform: atmelavr
---------------------------------------------------------------------------
Type MCU Frequency Flash RAM Name
---------------------------------------------------------------------------
btatmega168 atmega168 16Mhz 14Kb 1Kb Arduino BT ATmega168
btatmega328 atmega328p 16Mhz 28Kb 2Kb Arduino BT ATmega328
diecimilaatmega168 atmega168 16Mhz 14Kb 1Kb Arduino Duemilanove or Diecimila ATmega168
diecimilaatmega328 atmega328p 16Mhz 30Kb 2Kb Arduino Duemilanove or Diecimila ATmega328
esplora atmega32u4 16Mhz 28Kb 2Kb Arduino Esplora
ethernet atmega328p 16Mhz 31Kb 2Kb Arduino Ethernet
...
2. Filter Arduino-based boards
.. code-block:: bash
@@ -56,7 +78,7 @@ Examples
...
2. Show mbed-enabled boards
3. Filter mbed-enabled boards
.. code-block:: bash
@@ -95,7 +117,7 @@ Examples
nucleo_f030r8 stm32f030r8t6 48Mhz 64Kb 8Kb ST Nucleo F030R8
...
3. Show boards which are based on ``ATmega168`` MCU
4. Filter boards which are based on ``ATmega168`` MCU
.. code-block:: bash
@@ -116,7 +138,7 @@ Examples
168pa16m atmega168p 16Mhz 15Kb 1Kb Microduino Core (Atmega168PA@16M,5V)
168pa8m atmega168p 8Mhz 15Kb 1Kb Microduino Core (Atmega168PA@8M,3.3V)
4. Show boards by :ref:`platform_timsp430`
5. Show boards by :ref:`platform_timsp430`
.. code-block:: bash
@@ -133,4 +155,3 @@ Examples
lpmsp430g2231 msp430g2231 1Mhz 2Kb 128B LaunchPad w/ msp430g2231 (1MHz)
lpmsp430g2452 msp430g2452 16Mhz 8Kb 256B LaunchPad w/ msp430g2452 (16MHz)
lpmsp430g2553 msp430g2553 16Mhz 16Kb 512B LaunchPad w/ msp430g2553 (16MHz)

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -73,7 +73,7 @@ Initialise PlatformIO project for the specified IDE which can be imported later
via "Import Project" functionality.
A list with supported IDE is available within ``platformio init --help`` command.
Also, please look into :ref:`ide` page.
Also, please take a look at :ref:`ide` page.
.. option::
--enable-auto-uploading

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -53,6 +53,7 @@ Pre-built targets:
* ``program`` firmware "auto-uploading" for embedded platforms using external
programmer (available only for :ref:`platform_atmelavr`)
* ``uploadlazy`` upload existing firmware without project rebuilding
* ``uploadfs`` :ref:`platform_espressif_uploadfs`
* ``envdump`` dump current build environment
* ``size`` print the size of the sections in a firmware/program

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -191,13 +191,16 @@ Do not apply any encodings/transformations
--exit-char
ASCII code of special character that is used to exit the application,
default ``0x1d``
default ``29`` (DEC).
For example, to use ``Ctrl+Q`` run
``platformio serialports monitor --exit-char 17``.
.. option::
--menu-char
ASCII code of special character that is used to control miniterm (menu),
default ``0x14``
default ``20`` (DEC)
.. option::
---quiet

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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
@@ -113,12 +113,19 @@ Can PlatformIO communicate with you via prompts?
:Default: Yes
:Values: Yes/No
Share diagnostics and usage information (PlatformIO fatal errors/exceptions,
platforms, boards, frameworks, commands) to help us make PlatformIO better.
The `source code for telemetry service <https://github.com/platformio/platformio/blob/develop/platformio/telemetry.py>`_
is open source. You can make sure that we DO NOT share PRIVATE information or
source code of your project. All information shares anonymously. Thanks a lot
that live this setting enabled.
Share diagnostics and usage information to help us make PlatformIO better:
* PlatformIO errors/exceptions
* The name of used platforms, boards, frameworks (for example, "espressif", "arduino", "uno", etc.)
* The name of commands (for example, "run", "lib list", etc.)
* The type of IDE (for example, "atom", "eclipse", etc.)
This gives us a sense of what parts of the PlatformIO is most important.
The source code of telemetry service is `open source <https://github.com/platformio/platformio/blob/develop/platformio/telemetry.py>`_. You can make sure that we DO NOT share PRIVATE information or
source code of your project. All information shares anonymously.
Thanks a lot that keep this setting enabled.
.. note::

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
.. 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

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