Compare commits

..

154 Commits

Author SHA1 Message Date
Ivan Kravets
e50121e013 Merge branch 'release/v2.8.6' 2016-03-22 23:02:56 +02:00
Ivan Kravets
b169f2e252 Version bump to 2.8.6 (issues #568, #571, #572, #586, #591) 2016-03-22 23:02:42 +02:00
Ivan Kravets
d83b1280ed Fix "KeyError: 'content-length'" in PlatformIO Download Manager // Resolve #591 2016-03-22 22:03:51 +02:00
Ivan Kravets
2d684d36e8 Update the support for Sanguino Boards 2016-03-22 19:14:32 +02:00
Ivan Kravets
4023d5e558 Add screenshot for Clang installer 2016-03-22 19:13:35 +02:00
Valeriy Koval
0091ceecae Update Sanguino boards // Resolve #586 2016-03-22 16:12:34 +02:00
Ivan Kravets
9a6d15cfe6 Fix resetmethod of ESPresso Lite 2.0 // Resolve #584 2016-03-21 19:15:00 +02:00
Ivan Kravets
b39dcb11ee Peter test for Unicode and home_dir 2016-03-21 18:50:45 +02:00
Ivan Kravets
ac4387328f Fix typo with exception 2016-03-21 18:33:49 +02:00
Ivan Kravets
5e4fcf0ed5 Check user profile for ASCII 2016-03-21 18:31:22 +02:00
Ivan Kravets
ea5a0ae75c Improve support for non-Unicode user profiles for Windows OS 2016-03-21 18:08:15 +02:00
Ivan Kravets
657345fa7a Don't process symbolic links for CI 2016-03-21 16:47:24 +02:00
Ivan Kravets
2862c97958 Update Release Notes 2016-03-21 14:39:02 +02:00
Ivan Kravets
b958960512 Handle ConnectTimeout for API requests 2016-03-21 14:20:37 +02:00
Ivan Kravets
c327cd5c3f Improve DNS lookup for PlatformIO API 2016-03-21 14:17:36 +02:00
Ivan Kravets
4256d6b6a3 Disable progress bar for download operations when prompts are disabled 2016-03-21 14:17:04 +02:00
Valeriy Koval
b34b00eed2 Move arduinoteensy specific math libraries to framework build script 2016-03-19 16:20:41 +02:00
Ivan Kravets
ec2305bb10 Better handling of used boards when init/update project 2016-03-19 00:13:51 +02:00
Valeriy Koval
553b91460a Update linker flags for teensy platform 2016-03-18 18:50:05 +02:00
Valeriy Koval
32e1ce219a Add Seeed Arch Max board // Resolve #572 2016-03-18 11:50:14 +02:00
Ivan Kravets
86ddf628b1 Extra docs for some dev platforms 2016-03-17 00:40:26 +02:00
Ivan Kravets
1af462ff66 Fix broken "warning" block for Teensy platform 2016-03-16 22:17:14 +02:00
Ivan Kravets
9d50803b0c Minor fix for Teensy platform 2016-03-16 19:40:46 +02:00
Ivan Kravets
08d38b0b79 Merge pull request #581 from PaulStoffregen/teensydocs
Document Window driver requirement for Teensy
2016-03-16 19:19:13 +02:00
PaulStoffregen
edb2a50100 Document Window driver requirement for Teensy 2016-03-16 10:14:34 -07:00
Ivan Kravets
3011c6dd3f Add "What is ".pioenvs" dir to FAQ 2016-03-16 17:40:58 +02:00
Ivan Kravets
74a9483286 Fixed invalid board parameters (reset method and baudrate) for a few ESP8266 based boards 2016-03-15 19:57:32 +02:00
Valeriy Koval
3f68eab9bc Fix parameters for espressif boards 2016-03-15 17:23:19 +02:00
Ivan Kravets
7dc80af70a Add information about Deviot Plugin for Sublime Text 2016-03-15 17:20:26 +02:00
Ivan Kravets
83698dbdc0 Add article by Peter B Marks 2016-03-15 11:09:32 +02:00
Ivan Kravets
e231b664fe Minor update to IDE installation 2016-03-14 13:55:41 +02:00
Ivan Kravets
c8c1c28054 Note that don't need to install PlatformIO CLI for IDE 2016-03-14 00:59:21 +02:00
Ivan Kravets
85ad1a1f29 Improve installation section of PlatformIO IDE 2016-03-14 00:37:29 +02:00
Ivan Kravets
f412abf137 Remove unused slash 2016-03-12 21:34:50 +02:00
Ivan Kravets
97487b617a Switch to pretty PlatformIO URLs 2016-03-12 21:32:13 +02:00
Ivan Kravets
3ce17fbcb6 Add article by Richard Arthurs // Resolve #574 2016-03-12 13:49:28 +02:00
Ivan Kravets
af499876ff Note about NetBeans C++ IDE version 2016-03-11 19:22:25 +02:00
Ivan Kravets
3487a21795 Add warning about dev version for PlatformIO IDE 2016-03-11 16:07:21 +02:00
Ivan Kravets
757df8c8ab Fix multiple definition errors for ST STM32 development platform and mbed framework // Resolve #571 2016-03-11 16:01:24 +02:00
Ivan Kravets
034f431ab1 Add new article 2016-03-11 15:25:02 +02:00
Valeriy Koval
fa30a50d20 Update environment variable for extra args. 2016-03-10 13:56:44 +02:00
Valeriy Koval
6523445185 Update script command for dynamic testing of the boards 2016-03-10 13:51:48 +02:00
Ivan Kravets
8d22591914 Short IDE title 2016-03-10 01:33:07 +02:00
Ivan Kravets
a9bd45bbc8 Launch PlatformIO Community Forums // Resolve #530 2016-03-10 01:31:28 +02:00
Valeriy Koval
605a5da65a Fix screenshot in "Quick Start" tutorial 2016-03-09 15:29:17 +02:00
Ivan Kravets
739cfb2182 Add new article "New world with PlatformIO" 2016-03-08 16:26:36 +02:00
Valeriy Koval
6005eaa9bc Update screenshots fort the "Quick Start" tutorial 2016-03-08 12:52:30 +02:00
Ivan Kravets
14f80975fa Update screenshots for PlatformIO IDE 1.0.5 2016-03-08 00:24:41 +02:00
Ivan Kravets
ea13e084ed Add screenshot for each IDE 2016-03-07 21:30:06 +02:00
Ivan Kravets
f9cb31a2f3 Try to disable notification for each commit 2016-03-07 21:29:35 +02:00
Ivan Kravets
85a5409e85 Fix link to PySerial Miniterm 2016-03-07 20:38:35 +02:00
Ivan Kravets
99abd8c090 Update ISSUE_TEMPLATE.md 2016-03-07 18:46:48 +02:00
Ivan Kravets
f633dde50c Merge branch 'release/v2.8.5' into develop 2016-03-07 18:34:44 +02:00
Ivan Kravets
26566282ee Merge branch 'release/v2.8.5' 2016-03-07 18:34:43 +02:00
Ivan Kravets
44fc5163e7 Version bump to 2.8.5 (issues #395, #401, #523, #526, #527, #528, #534, #536, #540, #541, #543, #544, #550, #552, #555) 2016-03-07 18:34:29 +02:00
Ivan Kravets
c231f0e41e Show notification about new PlatformIO as the bottom of screen 2016-03-07 18:27:33 +02:00
Ivan Kravets
6ee9c06285 Travis: Notify only for problems 2016-03-07 18:13:53 +02:00
Ivan Kravets
4063cd6abd Use src_dir directory from platformio.ini when initializing project otherwise create base src directory // Resolve #536 2016-03-07 17:42:15 +02:00
Ivan Kravets
325c50e924 Notify to slack about builds 2016-03-07 16:00:52 +02:00
Ivan Kravets
efd1896825 Explain about IntelliSense Errors for VS // Resolve #543 2016-03-07 15:35:36 +02:00
Ivan Kravets
4f61a05c9e Update ISSUE_TEMPLATE.md 2016-03-07 11:56:59 +02:00
Ivan Kravets
26bfd74a3c Update docs for IDE & init command 2016-03-06 01:03:43 +02:00
Ivan Kravets
ee088f3aea Fix dumping data for IDE with excess -fPIC flag 2016-03-06 00:40:28 +02:00
Ivan Kravets
c162988868 Create ISSUE_TEMPLATE.md 2016-03-06 00:19:16 +02:00
Ivan Kravets
213938a9f8 Add info about "Using Arduino Framework with Staging version" // Resolve #401 2016-03-05 19:01:54 +02:00
Ivan Kravets
d091d4f000 Improve docs 2016-03-04 19:49:30 +02:00
Ivan Kravets
f74f79eed0 Add new article by Ricardo Vega 2016-03-04 15:51:42 +02:00
Ivan Kravets
4c4682f457 Fix incorrect parsing of GCC "-include" flag // Resolve #552 2016-03-04 01:45:04 +02:00
Valeriy Koval
614a736eff Merge ASFLAGS and CCFLAGS in a proper way. 2016-03-03 20:28:06 +02:00
Valeriy Koval
1332413f63 Combine ASFLAGS and CCFLAGS in a proper way 2016-03-03 20:05:51 +02:00
Ivan Kravets
1e3e3dd999 Fix issue with updating package which was deleted manually by user // Resolve #555 2016-03-03 19:01:09 +02:00
Ivan Kravets
888967eb61 Minor improvements to docs 2016-03-03 16:39:58 +02:00
Ivan Kravets
7e0ccd0712 Update Emacs screenshot 2016-03-03 01:47:29 +02:00
Ivan Kravets
6a0cd46da7 Refactor Quick Start page 2016-03-02 22:01:21 +02:00
Ivan Kravets
288eb4df25 Add new article "Introduction to PlatformIO IDE" 2016-03-02 01:42:00 +02:00
Ivan Kravets
8388359b36 Fix invalid detecting of compiler type // Resolve #550 2016-03-02 00:25:36 +02:00
Valeriy Koval
c9505b3acc Add warning block about IntelliSense to Visual Studio documentation 2016-03-01 18:45:39 +02:00
Valeriy Koval
72cb2f1240 Put parsed mbed flags to appropriate scope 2016-03-01 12:58:54 +02:00
Ivan Kravets
9473e51e40 Fix platform ID for NetBeans IDE under Windows 2016-02-29 18:00:47 +02:00
Valeriy Koval
8cf3765b30 Complete NetBeans project template for Windows 2016-02-29 17:48:51 +02:00
Ivan Kravets
a1441b3e73 Minor updates 2016-02-29 17:33:20 +02:00
Ivan Kravets
98026d83b6 Rename CMakeListsLocal.txt to CMakeListsPrivate.txt // Issue #523 2016-02-29 17:33:08 +02:00
Valeriy Koval
b0ba8ae5e3 Improve espressif platform for updated framework. 2016-02-29 12:08:24 +02:00
Ivan Kravets
6190f1aa8f Project generator for NetBeans IDE // Resolve #541 2016-02-27 20:09:27 +02:00
Ivan Kravets
fdff0afd89 Update Gitter badge 2016-02-27 14:30:26 +02:00
Ivan Kravets
52bbe9af33 Generate appropriate project for CLion IDE and CVS // Resolve #523 2016-02-27 01:27:57 +02:00
Ivan Kravets
6d2130444d Add link to @Bintray 2016-02-27 01:01:32 +02:00
Ivan Kravets
ce2bef7d26 Change direct links to PlatformIO IDE binaries 2016-02-27 00:36:48 +02:00
Ivan Kravets
2c4fbda5e3 Add support for the ESP8266 ESP-07 board // Resolve #527 2016-02-27 00:20:42 +02:00
Ivan Kravets
f6f4366030 Add new article "PlatformIO Blink On Nodemcu Dev Kit" 2016-02-26 23:26:20 +02:00
Ivan Kravets
e6c1e35e75 Refactor test for packages manifest 2016-02-26 21:00:51 +02:00
Valeriy Koval
bcb40fb2f9 Initial documentation for "Quickstart" tutorial. 2016-02-26 20:18:38 +02:00
Ivan Kravets
8baf163684 Better handling of PlatformIO Storage Mirrors 2016-02-26 19:48:30 +02:00
Ivan Kravets
99ddea6906 Remove debug code 2016-02-26 01:10:48 +02:00
Valeriy Koval
1c481e0840 Fix handling of build flags passed via environment vars // Resolve #526 2016-02-25 15:09:23 +02:00
Ivan Kravets
ff08416307 Add Awards block 2016-02-25 02:57:42 +02:00
Ivan Kravets
d7e97731d8 Minor updates to docs 2016-02-25 02:38:06 +02:00
Ivan Kravets
0263691f8d Refactor docs for "What is PlatformIO?" 2016-02-25 02:23:54 +02:00
Ivan Kravets
2b2fe46772 Add NetBeans to supported list of IDEs 2016-02-25 02:23:26 +02:00
Ivan Kravets
10ad8ec987 Cleanup docs 2016-02-25 02:22:57 +02:00
Ivan Kravets
fed45e5453 Add new article "How to Integrate PlatformIO with Netbeans" 2016-02-25 01:10:38 +02:00
Valeriy Koval
1f1dc9c5e6 Better handling of build flags passed via environment vars // Resolve #526 2016-02-24 18:23:42 +02:00
Ivan Kravets
caa0efd265 Add new article by Ptarmigan Labs 2016-02-24 12:16:18 +02:00
Ivan Kravets
76c8ac4e6c Fix broken link to IDE 2016-02-23 22:19:42 +02:00
Ivan Kravets
3e52c194ca Fix issue with Project Generator when optional build flags were passed using system environment variables 2016-02-23 21:24:00 +02:00
Ivan Kravets
3f8d89f34a Remove links to PlatformIO IDE from other IDE pages 2016-02-23 21:22:28 +02:00
Valeriy Koval
17796de60d Refactor platform build scripts // Resolve #528 2016-02-22 21:52:44 +02:00
Ivan Kravets
66713021de Update IDE DL links to the new storage // Resolve #531 2016-02-22 11:45:37 +02:00
Ivan Kravets
d3f03f3fc8 Minor updates to IDE docs 2016-02-22 01:23:55 +02:00
Ivan Kravets
17c9e8ddc1 Replace DL links with own DL storage 2016-02-20 08:57:16 +02:00
Ivan Kravets
87bc6a7e8c Update Docs navigation bar according main site 2016-02-20 01:20:18 +02:00
Ivan Kravets
2faa2e003a Place links to PlatformIO IDE 2016-02-20 01:06:25 +02:00
Ivan Kravets
a965d0ea6f Update docs for PlatformIO IDE 1.0.0 2016-02-19 21:54:20 +02:00
Ivan Kravets
90382e0f0d Add new article Develop easier with PlatformIO ecosystem 2016-02-19 18:07:38 +02:00
Ivan Kravets
62d226c8a3 Update donate link // Resolve #478 2016-02-18 00:08:06 +02:00
Ivan Kravets
d7c49b72a9 Typo fix 2016-02-17 22:55:43 +02:00
Ivan Kravets
779798c622 Merge branch 'release/v2.8.4' 2016-02-17 22:53:08 +02:00
Ivan Kravets
fbdcda720d Merge branch 'release/v2.8.4' into develop 2016-02-17 22:53:08 +02:00
Ivan Kravets
321640bd71 Version bump to 2.8.4 (issues #494, #501, #503, #506, #518) 2016-02-17 22:52:52 +02:00
Ivan Kravets
5107d767ee Update links to the new PlatformIO site 2016-02-17 22:47:55 +02:00
Ivan Kravets
dc007dd136 Handle new environment variables PLATFORMIO_UPLOAD_PORT and PLATFORMIO_UPLOAD_FLAGS 2016-02-17 20:20:39 +02:00
Ivan Kravets
50294274c3 Explain what does mean "pip" // Issue #517 2016-02-13 17:51:08 +02:00
Ivan Kravets
63902c8215 Add "pip" to title of installation method using Python Package Manager 2016-02-13 17:46:27 +02:00
Ivan Kravets
69836be1ca Show different info about upgrading PlatformIO within CLI or IDE 2016-02-13 17:22:17 +02:00
Ivan Kravets
851f7db825 Fix issue with pointer (char* myfunc()) while converting from *.ino to *.cpp // Resolve #506 2016-02-11 00:43:52 +02:00
Ivan Kravets
3484c41b64 Fix issue with quotes in CPPDEFINES when dumping data for IDE 2016-02-11 00:27:41 +02:00
Ivan Kravets
d0d292b80f Add support for the new ESP8266-based boards (ESPDuino, ESP-WROOM-02, ESPresso Lite 1.0 & 2.0, SparkFun ESP8266 Thing Dev, ThaiEasyElec ESPino) to Espressif development platform 2016-02-11 00:16:43 +02:00
Ivan Kravets
7e5f6fe22a Update docs for board_flash_mode 2016-02-11 00:00:23 +02:00
Ivan Kravets
45efc0e0d6 Add "board_flash_mode" option to Project Configuration File 2016-02-10 23:16:25 +02:00
Ivan Kravets
6baf6568d2 Add "board_f_flash" option to Project Configuration File // Resolve #501 2016-02-10 22:58:12 +02:00
Ivan Kravets
1a4d1c7d40 Fix unable to link C++ standard library to Espressif platform build // Resolve #503 2016-02-10 17:19:24 +02:00
Ivan Kravets
afe80072c6 Merge branch 'feature/cpp-libs-issue-503' into develop 2016-02-10 17:17:15 +02:00
Ivan Kravets
b17acd7605 Fix issue with "CPPDEFINES" which contain space and break PlatformIO IDE Linter 2016-02-10 17:16:52 +02:00
Valeriy Koval
45096c3137 Change libs order. 2016-02-09 13:58:08 +02:00
Ivan Kravets
c3f78d1977 Temporary disabled "CPPDEFINES" which contain space and break PlatformIO IDE Linter 2016-02-03 01:37:43 +02:00
Ivan Kravets
8dfd6ac3bb Merge branch 'release/v2.8.3' 2016-02-02 19:52:38 +02:00
Ivan Kravets
8a2789fe3f Merge branch 'release/v2.8.3' into develop 2016-02-02 19:52:38 +02:00
Ivan Kravets
40729c38eb Version bump to 2.8.3 (issue #487) 2016-02-02 19:52:05 +02:00
Ivan Kravets
6c2df7d0e1 Fix missing dependency (mbed framework) for Atmel SAM development platform // Resolve #487 2016-02-02 19:47:11 +02:00
Ivan Kravets
223a055e8b Fix issue with removing temporary file while converting *.ino to *.cpp 2016-02-01 00:18:04 +02:00
Ivan Kravets
96c7ef36c2 Update info about PlatformIO IDE 2016-01-31 01:13:06 +02:00
Ivan Kravets
21b52031e7 Fix issue when board is not specified 2016-01-30 21:45:26 +02:00
Ivan Kravets
b44c75a3c1 Better integration of PlatformIO Builder with PlatformIO IDE Linter 2016-01-30 19:14:11 +02:00
Ivan Kravets
1f95b6be25 Add QuickStart for PlatformIO IDE 2016-01-30 13:41:46 +02:00
Ivan Kravets
848c50c55c Update docs for PlatformIO IDE 2016-01-29 23:52:14 +02:00
Ivan Kravets
0c4e0327e3 Fix docs layout 2016-01-29 20:43:22 +02:00
Ivan Kravets
3eb3ba4ee0 Merge branch 'release/v2.8.2' into develop 2016-01-29 20:34:48 +02:00
Ivan Kravets
631fd707fe Merge branch 'release/v2.8.2' 2016-01-29 20:34:47 +02:00
Ivan Kravets
8a269b1d24 Version bump to 2.8.2 (issues #484) 2016-01-29 20:34:25 +02:00
Ivan Kravets
131f1eb943 Correct RAM size for NXP LPC1768 based boards // Resolve #484 2016-01-29 18:17:33 +02:00
Ivan Kravets
c036bde86c Reverted `-Wl,-whole-archive` hook for ST STM32 and mbed 2016-01-29 17:55:48 +02:00
Ivan Kravets
9102a70e04 More strictness to default src filter for builder 2016-01-29 17:52:54 +02:00
Ivan Kravets
c9616ed0fa Exclude only "test" and "tests" folders from build process 2016-01-29 17:25:31 +02:00
Ivan Kravets
8c0bcc6ad9 Merge branch 'release/v2.8.1' into develop 2016-01-29 15:50:33 +02:00
148 changed files with 2786 additions and 1009 deletions

53
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,53 @@
What kind of issue is this?
- [ ] Question. This issue tracker is not the place for questions. If you want to ask how to do
something, or to understand why something isn't working the way you expect it to, use
our Community Forums http://community.platformio.org
- [ ] Feature Request. Start by telling us what problem youre trying to solve. Often a solution
already exists! Dont send pull requests to implement new features without first getting our
support. Sometimes we leave features out on purpose to keep the project small.
- [ ] PlatformIO IDE. All issues related to PlatformIO IDE should be reported to appropriate repository
https://github.com/platformio/platformio-atom-ide/issues
- [ ] Bug report. If youve found a bug, please provide information below.
*You can erase any parts of this template not applicable to your Issue.*
------------------------------------------------------------------
### Configuration
**Operating system**:
**PlatformIO Version** (`platformio --version`):
### Description of problem
#### Steps to Reproduce
1.
2.
3.
### Actual Results
### Expected Results
### If problems with PlatformIO Build System:
**The content of `platformio.ini`:**
```ini
Insert here...
```
**Source file to reproduce issue:**
```cpp
Insert here...
```
### Additional info

View File

@@ -1,15 +1,21 @@
language: python
python:
- "2.7"
"2.7"
env:
- TOX_ENV=docs
- TOX_ENV=lint
- TOX_ENV=py26
- TOX_ENV=py27
TOX_ENV=docs
TOX_ENV=lint
TOX_ENV=py26
TOX_ENV=py27
install:
- pip install -U pip setuptools tox
pip install -U pip setuptools tox
script:
- tox -e $TOX_ENV
tox -e $TOX_ENV
notifications:
slack:
secure: uEU56hHACLxq6iRRZ0JeAl/MPADqQWMZZAsZB9IOnXaRUd0Pa6lT2CicJXhVlsEEbNRqR2u5LbcQ4R0nvAKPjYgglDlDet4RfhP+YIqLX2v2dv3B5q8cITsKMUUediv4fybdO/nmvQSImq5nqRQQsXKAwTAJZooIwS3F5Dsg+eE=
on_failure: :always
on_success: :change

View File

@@ -4,6 +4,109 @@ Release Notes
PlatformIO 2.0
--------------
2.8.6 (2016-03-22)
~~~~~~~~~~~~~~~~~~
* Launched `PlatformIO Community Forums <http://community.platformio.org>`_
(`issue #530 <https://github.com/platformio/platformio/issues/530>`_)
* Added support for ARM mbed-enabled board Seed Arch Max (STM32F407VET6)
(`issue #572 <https://github.com/platformio/platformio/issues/572>`_)
* Improved DNS lookup for PlatformIO API
* Updated Arduino Wiring-based framework to the latest version for
Atmel AVR/SAM development platforms
* Updated "Teensy Loader CLI" and fixed uploading of large .hex files
(`issue #568 <https://github.com/platformio/platformio/issues/568>`_)
* Updated the support for Sanguino Boards
(`issue #586 <https://github.com/platformio/platformio/issues/586>`_)
* Better handling of used boards when re-initialize/update project
* Improved support for non-Unicode user profiles for Windows OS
* Disabled progress bar for download operations when prompts are disabled
* Fixed multiple definition errors for ST STM32 development platform and
ARM mbed framework
(`issue #571 <https://github.com/platformio/platformio/issues/571>`_)
* Fixed invalid board parameters (reset method and baudrate) for a few
ESP8266 based boards
* Fixed "KeyError: 'content-length'" in PlatformIO Download Manager
(`issue #591 <https://github.com/platformio/platformio/issues/591>`_)
2.8.5 (2016-03-07)
~~~~~~~~~~~~~~~~~~
* Project generator for `NetBeans IDE <http://docs.platformio.org/en/latest/ide/netbeans.html>`__
(`issue #541 <https://github.com/platformio/platformio/issues/541>`_)
* Created package for Homebrew Mac OS X Package Manager: ``brew install
platformio``
(`issue #395 <https://github.com/platformio/platformio/issues/395>`_)
* Updated Arduino core for Espressif platform to 2.1.0
(`issue #544 <https://github.com/platformio/platformio/issues/544>`_)
* Added support for the ESP8266 ESP-07 board to
`Espressif <http://docs.platformio.org/en/latest/platforms/espressif.html>`__
(`issue #527 <https://github.com/platformio/platformio/issues/527>`_)
* Improved handling of String-based ``CPPDEFINES`` passed to extra ``build_flags``
(`issue #526 <https://github.com/platformio/platformio/issues/526>`_)
* Generate appropriate project for CLion IDE and CVS
(`issue #523 <https://github.com/platformio/platformio/issues/523>`_)
* Use ``src_dir`` directory from `Project Configuration File platformio.ini <http://docs.platformio.org/en/latest/projectconf.html>`__
when initializing project otherwise create base ``src`` directory
(`issue #536 <https://github.com/platformio/platformio/issues/536>`_)
* Fixed issue with incorrect handling of user's build flags where the base flags
were passed after user's flags to GCC compiler
(`issue #528 <https://github.com/platformio/platformio/issues/528>`_)
* Fixed issue with Project Generator when optional build flags were passed using
system environment variables: `PLATFORMIO_BUILD_FLAGS <http://docs.platformio.org/en/latest/envvars.html#platformio-build-flags>`__
or `PLATFORMIO_BUILD_SRC_FLAGS <http://docs.platformio.org/en/latest/envvars.html#platformio-build-src-flags>`__
* Fixed invalid detecting of compiler type
(`issue #550 <https://github.com/platformio/platformio/issues/550>`_)
* Fixed issue with updating package which was deleted manually by user
(`issue #555 <https://github.com/platformio/platformio/issues/555>`_)
* Fixed incorrect parsing of GCC ``-include`` flag
(`issue #552 <https://github.com/platformio/platformio/issues/552>`_)
2.8.4 (2016-02-17)
~~~~~~~~~~~~~~~~~~
* Added support for the new ESP8266-based boards (ESPDuino, ESP-WROOM-02,
ESPresso Lite 1.0 & 2.0, SparkFun ESP8266 Thing Dev, ThaiEasyElec ESPino) to
`Espressif <http://docs.platformio.org/en/latest/platforms/espressif.html>`__
development platform
* Added ``board_f_flash`` option to `Project Configuration File platformio.ini <http://docs.platformio.org/en/latest/projectconf.html>`__
which allows to specify `custom flash chip frequency <http://docs.platformio.org/en/latest/platforms/espressif.html#custom-flash-frequency>`_
for Espressif development platform
(`issue #501 <https://github.com/platformio/platformio/issues/501>`_)
* Added ``board_flash_mode`` option to `Project Configuration File platformio.ini <http://docs.platformio.org/en/latest/projectconf.html>`__
which allows to specify `custom flash chip mode <http://docs.platformio.org/en/latest/platforms/espressif.html#custom-flash-mode>`_
for Espressif development platform
* Handle new environment variables
`PLATFORMIO_UPLOAD_PORT <http://docs.platformio.org/en/latest/envvars.html#platformio-upload-port>`_
and `PLATFORMIO_UPLOAD_FLAGS <http://docs.platformio.org/en/latest/envvars.html#platformio-upload-flags>`_
(`issue #518 <https://github.com/platformio/platformio/issues/518>`_)
* Fixed issue with ``CPPDEFINES`` which contain space and break PlatformIO
IDE Linter
(`IDE issue #34 <https://github.com/platformio/platformio-atom-ide/issues/34>`_)
* Fixed unable to link C++ standard library to Espressif platform build
(`issue #503 <https://github.com/platformio/platformio/issues/503>`_)
* Fixed issue with pointer (``char* myfunc()``) while converting from ``*.ino``
to ``*.cpp``
(`issue #506 <https://github.com/platformio/platformio/issues/506>`_)
2.8.3 (2016-02-02)
~~~~~~~~~~~~~~~~~~
* Better integration of PlatformIO Builder with PlatformIO IDE Linter
* Fixed issue with removing temporary file while converting ``*.ino`` to
``*.cpp``
* Fixed missing dependency (mbed framework) for Atmel SAM development platform
(`issue #487 <https://github.com/platformio/platformio/issues/487>`_)
2.8.2 (2016-01-29)
~~~~~~~~~~~~~~~~~~
* Corrected RAM size for NXP LPC1768 based boards
(`issue #484 <https://github.com/platformio/platformio/issues/484>`_)
* Exclude only ``test`` and ``tests`` folders from build process
* Reverted ``-Wl,-whole-archive`` hook for ST STM32 and mbed
2.8.1 (2016-01-29)
~~~~~~~~~~~~~~~~~~
@@ -20,7 +123,7 @@ PlatformIO 2.0
* Added SPL-Framework support for Nucleo F401RE board
(`issue #453 <https://github.com/platformio/platformio/issues/453>`_)
* Added ``upload_resetmethod`` option to `Project Configuration File platformio.ini <http://docs.platformio.org/en/latest/projectconf.html>`__
and allowed to `change default upload reset method <http://docs.platformio.org/en/latest/platforms/espressif.html#custom-reset-method>`_
which allows to specify `custom upload reset method <http://docs.platformio.org/en/latest/platforms/espressif.html#custom-reset-method>`_
for Espressif development platform
(`issue #444 <https://github.com/platformio/platformio/issues/444>`_)
* Allowed to force output of color ANSI-codes or to disable progress bar even
@@ -467,7 +570,7 @@ PlatformIO 1.0
1.5.0 (2015-05-15)
~~~~~~~~~~~~~~~~~~
* Added support of `Framework mbed <http://platformio.org/#!/frameworks/mbed>`_
* Added support of `Framework mbed <http://platformio.org/frameworks/mbed>`_
for Teensy 3.1
(`issue #183 <https://github.com/platformio/platformio/issues/183>`_)
* Added GDB as alternative uploader to `ststm32 <http://docs.platformio.org/en/latest/platforms/ststm32.html>`__ platform
@@ -554,7 +657,7 @@ PlatformIO 1.0
* Created new `Frameworks <http://docs.platformio.org/en/latest/frameworks/index.html>`__
page in documentation and added to `PlatformIO Web Site <http://platformio.org>`_
(`issue #115 <https://github.com/platformio/platformio/issues/115>`_)
* Introduced online `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
* Introduced online `Embedded Boards Explorer <http://platformio.org/boards>`_
* Automatically append define ``-DPLATFORMIO=%version%`` to
builder (`issue #105 <https://github.com/platformio/platformio/issues/105>`_)
* Renamed ``stm32`` development platform to

View File

@@ -22,34 +22,38 @@ PlatformIO
.. image:: https://img.shields.io/pypi/dm/platformio.svg
:target: https://pypi.python.org/pypi/platformio/
:alt: PyPi Downloads
.. image:: https://img.shields.io/sourceforge/dm/platformio-storage.svg
:target: https://sourceforge.net/projects/platformio-storage/
:alt: Packages Downloads
.. image:: https://badges.gitter.im/Join%20Chat.svg
.. image:: https://img.shields.io/community/PlatformIO.png
:alt: Join the chat at https://gitter.im/platformio/platformio
:target: https://gitter.im/platformio/platformio
:target: http://community.platformio.org
.. image:: https://img.shields.io/donate/PlatformIO.png?color=yellow
:alt: Donate for PlatformIO.Org
:target: https://www.liqpay.com/api/3/checkout?data=eyJ2ZXJzaW9uIjozLCJhY3Rpb24iOiJwYXlkb25hdGUiLCJwdWJsaWNfa2V5IjoiaTc0NzkxMDA2NjIxIiwiYW1vdW50IjoiMSIsImN1cnJlbmN5IjoiVVNEIiwiZGVzY3JpcHRpb24iOiJEb25hdGlvbiBmb3IgUGxhdGZvcm1JTy5PcmciLCJ0eXBlIjoiZG9uYXRlIiwibGFuZ3VhZ2UiOiJlbiJ9&signature=XYvETjqlpoFhoFtxUJlF6hQyS7Y%3D
:target: http://platformio.org/donate
`Home & Demo <http://platformio.org>`_ |
`Home <http://platformio.org>`_ |
`IDE <http://platformio.org/platformio-ide>`_ |
`Project Examples <https://github.com/platformio/platformio/tree/develop/examples>`_ |
`Source Code <https://github.com/platformio>`_ |
`Documentation <http://docs.platformio.org>`_ |
`Blog <http://www.ikravets.com/category/computer-life/platformio>`_ |
`Docs <http://docs.platformio.org>`_ |
`Twitter <https://twitter.com/PlatformIO_Org>`_ |
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
`Facebook <https://www.facebook.com/platformio>`_ |
`Reddit <http://www.reddit.com/r/platformio/>`_
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
`Bintray <https://bintray.com/platformio>`_ |
`Community <http://community.platformio.org>`_ |
`Donate <http://platformio.org/donate>`_ |
`Contact Us <http://platformio.org/contact>`_
.. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-logo.png
:target: http://platformio.org
`PlatformIO <http://platformio.org>`_ is an open source ecosystem for IoT
development. Cross-platform code builder and library manager. Continuous and
development. Cross-platform build system and library manager. Continuous and
IDE integration. Arduino and MBED compatible. Ready for Cloud compiling.
* **PlatformIO IDE** - The next generation integrated development environment for IoT.
C/C++ Intelligent Code Completion and Smart Code Linter for the super-fast coding.
Multi-projects workflow with Multiple Panes. Themes Support with dark and light colors.
Built-in Terminal with PlatformIO CLI tool and support for the powerful Serial Port Monitor.
All advanced instruments without leaving your favourite development environment.
* **Development Platforms** - Embedded and Desktop development platforms with
pre-built toolchains, debuggers, uploaders and frameworks which work under
popular host OS: Mac, Windows, Linux (+ARM)
@@ -59,7 +63,7 @@ IDE integration. Arduino and MBED compatible. Ready for Cloud compiling.
* **Library Manager** - Hundreds Popular Libraries are organized into single
Web 2.0 platform: list by categories, keywords, authors, compatible
platforms and frameworks; learn via examples; be up-to-date with the latest
version
version.
*Atmel AVR & SAM, Espressif, Freescale Kinetis, Nordic nRF51, NXP LPC,
Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed,
@@ -68,11 +72,12 @@ libOpenCM3, etc.*
.. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-demo-wiring.gif
:target: http://platformio.org
* `Get Started <http://platformio.org/#!/get-started>`_
* `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
* `Development Platforms <http://platformio.org/#!/platforms>`_
* `Frameworks <http://platformio.org/#!/frameworks>`_
* `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
* `PlatformIO IDE <http://platformio.org/platformio-ide>`_
* `Get Started <http://platformio.org/get-started>`_
* `Web 2.0 Library Search <http://platformio.org/lib>`_
* `Development Platforms <http://platformio.org/platforms>`_
* `Frameworks <http://platformio.org/frameworks>`_
* `Embedded Boards Explorer <http://platformio.org/boards>`_
* `Library Manager <http://docs.platformio.org/en/latest/librarymanager/index.html>`_
* `User Guide <http://docs.platformio.org/en/latest/userguide/index.html>`_
* `Continuous Integration <http://docs.platformio.org/en/latest/ci/index.html>`_
@@ -93,7 +98,7 @@ sized computers (`Raspberry Pi <http://www.raspberrypi.org>`_,
Embedded Development. *Easier Than Ever.*
-----------------------------------------
*PlatformIO* is well suited for embedded development and has pre-configured
settings for most popular `Embedded Boards <http://platformio.org/#!/boards>`_.
settings for most popular `Embedded Boards <http://platformio.org/boards>`_.
* Colourful `command-line output <https://raw.githubusercontent.com/platformio/platformio/develop/examples/platformio-examples.png>`_
* `IDE Integration <http://docs.platformio.org/en/latest/ide.html>`_ with
@@ -103,7 +108,7 @@ settings for most popular `Embedded Boards <http://platformio.org/#!/boards>`_.
* Built-in `Serial Port Monitor <http://docs.platformio.org/en/latest/userguide/cmd_serialports.html#platformio-serialports-monitor>`_ and configurable
`build -flags/-options <http://docs.platformio.org/en/latest/projectconf.html#build-flags>`_
* Automatic **firmware uploading**
* Pre-built tool chains, frameworks for the popular `Hardware Platforms <http://platformio.org/#!/platforms>`_
* Pre-built tool chains, frameworks for the popular `Hardware Platforms <http://platformio.org/platforms>`_
.. image:: https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-embedded-development.png
:target: http://platformio.org
@@ -115,7 +120,7 @@ The Missing Library Manager. *It's here!*
platforms which allows you to organize and have up-to-date external libraries.
* Friendly `Command-Line Interface <http://docs.platformio.org/en/latest/librarymanager/index.html>`_
* Modern `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
* Modern `Web 2.0 Library Search <http://platformio.org/lib>`_
* Open Source `Library Registry API <https://github.com/platformio/platformio-api>`_
* Library Crawler based on `library.json <http://docs.platformio.org/en/latest/librarymanager/config.html>`_
specification
@@ -126,7 +131,7 @@ platforms which allows you to organize and have up-to-date external libraries.
:target: http://platformio.org
:alt: PlatformIO Library Manager Architecture
Smart Code Builder. *Fast and Reliable.*
Smart Build System. *Fast and Reliable.*
----------------------------------------
*PlatformIO Code Builder* is built-on a next-generation software construction
tool named `SCons <http://www.scons.org/>`_. Think of *SCons* as an improved,
@@ -140,7 +145,7 @@ cross-platform substitute for the classic *Make* utility.
.. image:: https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-scons-builder.png
:target: http://platformio.org
:alt: PlatformIO Code Builder Architecture
:alt: PlatformIO Build System Architecture
Single source code. *Multiple platforms.*
-----------------------------------------
@@ -155,27 +160,27 @@ more).
It has support for the most popular embedded platforms:
* `Atmel AVR <http://platformio.org/#!/platforms/atmelavr>`_
* `Atmel SAM <http://platformio.org/#!/platforms/atmelsam>`_
* `Espressif <http://platformio.org/#!/platforms/espressif>`_
* `Freescale Kinetis <http://platformio.org/#!/platforms/freescalekinetis>`_
* `Nordic nRF51 <http://platformio.org/#!/platforms/nordicnrf51>`_
* `NXP LPC <http://platformio.org/#!/platforms/nxplpc>`_
* `ST STM32 <http://platformio.org/#!/platforms/ststm32>`_
* `Silicon Labs EFM32 <http://platformio.org/#!/platforms/siliconlabsefm32>`_
* `Teensy <http://platformio.org/#!/platforms/teensy>`_
* `TI MSP430 <http://platformio.org/#!/platforms/timsp430>`_
* `TI TIVA C <http://platformio.org/#!/platforms/titiva>`_
* `Atmel AVR <http://platformio.org/platforms/atmelavr>`_
* `Atmel SAM <http://platformio.org/platforms/atmelsam>`_
* `Espressif <http://platformio.org/platforms/espressif>`_
* `Freescale Kinetis <http://platformio.org/platforms/freescalekinetis>`_
* `Nordic nRF51 <http://platformio.org/platforms/nordicnrf51>`_
* `NXP LPC <http://platformio.org/platforms/nxplpc>`_
* `ST STM32 <http://platformio.org/platforms/ststm32>`_
* `Silicon Labs EFM32 <http://platformio.org/platforms/siliconlabsefm32>`_
* `Teensy <http://platformio.org/platforms/teensy>`_
* `TI MSP430 <http://platformio.org/platforms/timsp430>`_
* `TI TIVA C <http://platformio.org/platforms/titiva>`_
Frameworks:
* `Arduino <http://platformio.org/#!/frameworks/arduino>`_
* `CMSIS <http://platformio.org/#!/frameworks/cmsis>`_
* `libOpenCM3 <http://platformio.org/#!/frameworks/libopencm3>`_
* `Energia <http://platformio.org/#!/frameworks/energia>`_
* `SPL <http://platformio.org/#!/frameworks/spl>`_
* `mbed <http://platformio.org/#!/frameworks/mbed>`_
* `WiringPi <http://platformio.org/#!/frameworks/wiringpi>`_
* `Arduino <http://platformio.org/frameworks/arduino>`_
* `CMSIS <http://platformio.org/frameworks/cmsis>`_
* `libOpenCM3 <http://platformio.org/frameworks/libopencm3>`_
* `Energia <http://platformio.org/frameworks/energia>`_
* `SPL <http://platformio.org/frameworks/spl>`_
* `mbed <http://platformio.org/frameworks/mbed>`_
* `WiringPi <http://platformio.org/frameworks/wiringpi>`_
For further details, please refer to `What is PlatformIO? <http://docs.platformio.org/en/latest/faq.html#what-is-platformio>`_

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -35,10 +35,10 @@ nav {
display: block !important;
}
body {
padding-top: 100px;
padding-top: 50px;
}
.wy-nav-side {
top: 100px;
top: 50px;
}
.container {
@@ -47,7 +47,7 @@ nav {
}
@media (min-width: 1200px) {
.container {
width: 1170px;
width: 1150px;
}
}
.container-fluid {
@@ -256,6 +256,20 @@ nav {
/* Misc */
.wy-side-scroll .wy-side-nav-search .icon,
.wy-side-scroll .wy-side-nav-search .version {
display: none;
visibility: none;
}
.navbar-header .navbar-brand {
color: #e0e0e0;
background: url("../_static/platformio-logo-xs.png") no-repeat;
background-position: 5px 0;
padding-left: 50px;
font-weight: 500;
}
.top-banner {
display: block;
padding: 10px 20px;

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 KiB

After

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 619 KiB

After

Width:  |  Height:  |  Size: 645 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 753 KiB

After

Width:  |  Height:  |  Size: 430 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

BIN
docs/_static/ide-sublime-text-deviot.gif vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

BIN
docs/_static/platformio-logo-xs.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

View File

@@ -5,22 +5,22 @@
<header id="pionav" class="navbar navbar-inverse navbar-fixed-top">
<div class="container container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="http://platformio.org/"></i> PlatformIO</a>
<a class="navbar-brand" href="http://platformio.org">PlatformIO</a>
</div>
<nav role="navigation">
<div>
<ul class="nav navbar-nav">
<li><a href="http://platformio.org/#!/get-started"><i class="fa fa-rocket fa-lg"></i>Get Started</a></li>
<li><a href="http://platformio.org/#!/platforms"><i class="fa fa-laptop fa-lg"></i>Platforms</a></li>
<li><a href="http://platformio.org/#!/frameworks"><i class="fa fa-cogs fa-lg"></i>Frameworks</a></li>
<li><a href="http://platformio.org/#!/boards"><i class="fa fa-gamepad fa-lg"></i>Boards</a></li>
<li ><a href="http://platformio.org/#!/lib"><i class="fa fa-code fa-lg"></i>Libraries</a></li>
<li><a href="http://platformio.org/get-started"><i class="fa fa-rocket fa-lg"></i>Get Started</a></li>
<li><a href="http://platformio.org/platformio-ide"><i class="fa fa-cube fa-lg"></i>IDE</a></li>
<li><a href="http://platformio.org/platforms"><i class="fa fa-wrench fa-lg"></i>Development</a></li>
<li ><a href="http://platformio.org/lib"><i class="fa fa-code fa-lg"></i>Libraries</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="http://platformio.org/#!/who-uses"><i class="fa fa-heart-o fa-lg"></i>Who uses</a></li>
<li class="active"><a href="http://docs.platformio.org/"><i class="fa fa-book fa-lg"></i>Docs</a></li>
<li class="active"><a href="http://docs.platformio.org"><i class="fa fa-book fa-lg"></i>Docs</a></li>
<li><a href="http://community.platformio.org"><i class="fa fa-comments-o fa-lg"></i>Community</a></li>
<li><a href="http://platformio.org/contact"><i class="fa fa-envelope fa-lg"></i>Contact</a></li>
</ul>
</div>

View File

@@ -23,6 +23,16 @@ Here are recent articles about PlatformIO:
2016
^^^^
* Mar 12, 2016 - **Peter Marks** - `PlatformIO, the Arduino IDE for programmers <http://blog.marxy.org/2016/03/platformio-arduino-ide-for-programmers.html>`_
* Mar 12, 2016 - **Richard Arthurs** - `Getting Started With PlatformIO <http://richarthurs.com/2016/03/12/platformio-review-and-first-thoughts/>`_
* Mar 07, 2016 - **Joran Jessurun** - `Nieuwe wereld met PlatformIO (New world with PlatformIO, Dutch) <http://blog.wisclub.nl/#post178>`_
* Mar 05, 2016 - **brichacek.net** - `PlatformIO otevřený ekosystém pro vývoj IoT (PlatformIO an open source ecosystem for IoT development, Czech) <http://blog.brichacek.net/platformio-otevreny-ekosystem-pro-vyvoj-iot/>`_
* Mar 04, 2016 - **Ricardo Vega** - `Programa tu Arduino desde Atom (Program your Arduino from Atom, Spanish) <http://ricveal.com/blog/programa-arduino-desde-atom/>`_
* Feb 28, 2016 - **Alex Bloggt** - `PlatformIO vorgestellt (Introduction to PlatformIO IDE, German) <https://alexbloggt.com/platformio-vorgestellt/>`_
* Feb 25, 2016 - **NutDIY** - `PlatformIO Blink On Nodemcu Dev Kit V1.0 (Thai) <http://nutdiy.blogspot.com/2016/02/platformio-blink-on-nodemcu-dev-kit-v10.html>`_
* Feb 23, 2016 - **Ptarmigan Labs** - `ESP8266 Over The Air updating what are the options? <https://ptarmiganlabs.com/blog/2016/02/23/esp8266-over-the-air-updating-what-are-the-options/>`_
* Feb 22, 2016 - **Grzegorz Hołdys** - `How to Integrate PlatformIO with Netbeans <http://www.instructables.com/id/How-to-Integrate-PlatformIO-With-Netbeans/>`_
* Feb 19, 2016 - **Embedds** - `Develop easier with PlatformIO ecosystem <http://www.embedds.com/develop-easier-with-platformio-ecosystem/>`_
* Jan 24, 2016 - **Sergey Prilukin** - `How to use IntelliJ IDEA to develop and upload software for micro controllers like Arduino <http://jandevblog.blogspot.com/2016/01/how-to-use-intellij-idea-to-develop-and.html>`_
* Jan 16, 2016 - **Dani Eichhorn** - `ESP8266 Arduino IDE Alternative: PlatformIO <http://blog.squix.ch/2016/01/esp8266-arduino-ide-alternative.html>`_
* Jan 11, 2016 - **David Mills, Ph.D.** - `STM NUCLEOF401RE TIMER IO <http://webshed.org/wiki/STM_NUCLEOF401RE_TIMER_IO>`_
@@ -58,14 +68,14 @@ Here are recent articles about PlatformIO:
* May 17, 2015 - **S.S** - `コマンドラインでArduino開発 : vim + platformio (Arduino development at the command line: VIM + PlatformIO, Japanese) <http://qiita.com/caad1229/items/7b5fb47f034ae6e0baf2>`_
* May 11, 2015 - **IT Hare** - `From Web Developer to Embedded One: Interview with Ivan Kravets, The Guy Behind PlatformIO. Part II <http://ithare.com/from-web-developer-to-embedded-one-interview-with-ivan-kravets-the-guy-behind-platformio-part-ii/>`_
* May 4, 2015 - **IT Hare** - `From Web Developer to Embedded One: Interview with Ivan Kravets, The Guy Behind PlatformIO. Part I <http://ithare.com/from-web-development-to-embedded-one-interview-with-ivan-kravets-the-guy-behind-platformio-part-i/>`_
* April 17, 2015 - **Michael Ball** - `PlatformIO - A Cross-Platform Code Builder and Missing Library Manager <http://arduino-pi.blogspot.com.es/2015/04/platformio-cross-platform-code-builder.html>`_
* March 23, 2015 - **Atmel** - `Cross-board and cross-vendor embedded development with PlatformIO <http://blog.atmel.com/2015/03/23/cross-board-and-cross-vendor-embedded-development-with-platformio/>`_
* March 22, 2015 - **Mark VandeWettering** - `Discovered a new tool for embedded development: PlatformIO <http://brainwagon.org/2015/03/22/discovered-a-new-tool-for-embedded-development-platformio/>`_
* February 25, 2015 - **Hendrik Putzek** - `Use your favourite IDE together with Arduino <http://blog.putzek.com/2015/02/your-favourite-ide-with-arduino.html>`_
* Apr 17, 2015 - **Michael Ball** - `PlatformIO - A Cross-Platform Code Builder and Missing Library Manager <http://arduino-pi.blogspot.com.es/2015/04/platformio-cross-platform-code-builder.html>`_
* Mar 23, 2015 - **Atmel** - `Cross-board and cross-vendor embedded development with PlatformIO <http://blog.atmel.com/2015/03/23/cross-board-and-cross-vendor-embedded-development-with-platformio/>`_
* Mar 22, 2015 - **Mark VandeWettering** - `Discovered a new tool for embedded development: PlatformIO <http://brainwagon.org/2015/03/22/discovered-a-new-tool-for-embedded-development-platformio/>`_
* Feb 25, 2015 - **Hendrik Putzek** - `Use your favourite IDE together with Arduino <http://blog.putzek.com/2015/02/your-favourite-ide-with-arduino.html>`_
2014
^^^^
* October 7, 2014 - **Ivan Kravets, Ph.D.** - `Integration of PlatformIO library manager to Arduino and Energia IDEs <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_
* June 20, 2014 - **Ivan Kravets, Ph.D.** - `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO <http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio>`_
* June 17, 2014 - **Ivan Kravets, Ph.D.** - `How was PlatformIO born or why I love Python World <http://www.ikravets.com/computer-life/programming/2014/06/17/how-was-platformio-born-or-why-i-love-python-world>`_
* Oct 7, 2014 - **Ivan Kravets, Ph.D.** - `Integration of PlatformIO library manager to Arduino and Energia IDEs <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_
* Jun 20, 2014 - **Ivan Kravets, Ph.D.** - `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO <http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio>`_
* Jun 17, 2014 - **Ivan Kravets, Ph.D.** - `How was PlatformIO born or why I love Python World <http://www.ikravets.com/computer-life/programming/2014/06/17/how-was-platformio-born-or-why-i-love-python-world>`_

View File

@@ -82,7 +82,7 @@ Install dependent library using :ref:`librarymanager`
# Install the latest stable PlatformIO
- sudo pip install -U platformio
# OneWire Library with ID=1 http://platformio.org/#!/lib/show/1/OneWire
# OneWire Library with ID=1 http://platformio.org/lib/show/1/OneWire
- platformio lib install 1
test:
@@ -157,8 +157,8 @@ Examples
#
# Libraries from PlatformIO Library Registry:
#
# http://platformio.org/#!/lib/show/416/TinyGPS
# http://platformio.org/#!/lib/show/417/SPI4Teensy3
# http://platformio.org/lib/show/416/TinyGPS
# http://platformio.org/lib/show/417/SPI4Teensy3
- platformio lib install 416 417
test:

View File

@@ -105,7 +105,7 @@ Install dependent library using :ref:`librarymanager`
#
# Libraries from PlatformIO Library Registry:
#
# http://platformio.org/#!/lib/show/1/OneWire
# http://platformio.org/lib/show/1/OneWire
platformio lib install 1
Manually download dependent library and include in build process via ``--lib`` option
@@ -188,8 +188,8 @@ Examples
#
# Libraries from PlatformIO Library Registry:
#
# http://platformio.org/#!/lib/show/416/TinyGPS
# http://platformio.org/#!/lib/show/417/SPI4Teensy3
# http://platformio.org/lib/show/416/TinyGPS
# http://platformio.org/lib/show/417/SPI4Teensy3
- platformio lib install 416 417
script:
@@ -247,10 +247,10 @@ Examples
- "~/.platformio"
env:
- PLATFORMIO_CI_SRC=examples/TimeArduinoDue PLATFORMIO_CI_BOARDS_ARGS="--board=due"
- PLATFORMIO_CI_SRC=examples/TimeArduinoDue PLATFORMIO_CI_EXTRA_ARGS="--board=due"
- PLATFORMIO_CI_SRC=examples/TimeGPS
- PLATFORMIO_CI_SRC=examples/TimeNTP
- PLATFORMIO_CI_SRC=examples/TimeTeensy3 PLATFORMIO_CI_BOARDS_ARGS="--board=teensy31"
- PLATFORMIO_CI_SRC=examples/TimeTeensy3 PLATFORMIO_CI_EXTRA_ARGS="--board=teensy31"
# - ...
install:
@@ -260,11 +260,11 @@ Examples
#
# Libraries from PlatformIO Library Registry:
#
# http://platformio.org/#!/lib/show/416/TinyGPS
# http://platformio.org/lib/show/416/TinyGPS
- platformio lib install 416 421 422
script:
- if [[ $PLATFORMIO_CI_BOARDS_ARGS ]]; then bash -c 'platformio ci --lib="." $PLATFORMIO_CI_BOARDS_ARGS'; else bash -c 'platformio ci --lib="." --board=uno --board=teensy20pp'; fi
- platformio ci --lib="." --board=uno --board=teensy20pp $PLATFORMIO_CI_EXTRA_ARGS
* Configuration file: https://github.com/ivankravets/Time/blob/master/.travis.yml
* Build History: https://travis-ci.org/ivankravets/Time

View File

@@ -21,8 +21,8 @@ Project Examples
Preconfigured demo projects are located in `PlatformIO GitHub <https://github.com/platformio/platformio/tree/develop/examples>`_ repository.
Wiring Blink
------------
"Blink Project"
---------------
.. image:: _static/platformio-demo-wiring.gif

View File

@@ -70,13 +70,27 @@ Allows to override :ref:`projectconf` option :ref:`projectconf_pio_envs_dir`.
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_data_dir`.
Builder
-------
Building
--------
.. envvar:: PLATFORMIO_BUILD_FLAGS
Allows to set :ref:`projectconf` option :ref:`projectconf_build_flags`.
Examples:
.. code-block:: bash
# Unix:
export PLATFORMIO_BUILD_FLAGS=-DFOO
export PLATFORMIO_BUILD_FLAGS="-DFOO -DBAR=1 -DFLOAT_VALUE=1.23457e+07"
export PLATFORMIO_BUILD_FLAGS="'-DWIFI_PASS=\"My password\"' '-DWIFI_SSID=\"My ssid name\"'"
# Windows:
SET PLATFORMIO_BUILD_FLAGS=-DFOO
SET PLATFORMIO_BUILD_FLAGS=-DFOO -DBAR=1 -DFLOAT_VALUE=1.23457e+07
SET PLATFORMIO_BUILD_FLAGS='-DWIFI_PASS="My password"' '-DWIFI_SSID="My ssid name"'
.. envvar:: PLATFORMIO_SRC_BUILD_FLAGS
Allows to set :ref:`projectconf` option :ref:`projectconf_src_build_flags`.
@@ -90,6 +104,18 @@ Allows to set :ref:`projectconf` option :ref:`projectconf_src_filter`.
Allows to set :ref:`projectconf` option :ref:`projectconf_extra_script`.
Uploading
---------
.. envvar:: PLATFORMIO_UPLOAD_PORT
Allows to set :ref:`projectconf` option :ref:`projectconf_upload_port`.
.. envvar:: PLATFORMIO_UPLOAD_FLAGS
Allows to set :ref:`projectconf` option :ref:`projectconf_upload_flags`.
Settings
--------

View File

@@ -19,53 +19,15 @@ Frequently Asked Questions
General
-------
.. _faq_what_is_platformio:
What is PlatformIO?
~~~~~~~~~~~~~~~~~~~
`PlatformIO <http://platformio.org>`_ is an open source ecosystem for IoT
development.
Please refer to :ref:`what_is_pio`
PlatformIO is independent from the platform, in which it is running. In fact,
the only requirement is Python, which exists pretty much everywhere. What this
means is that PlatformIO projects can be easily moved from one computer to
another, as well as that PlatformIO allows for the easy sharing of projects
between team members, regardless of operating system they prefer to work with.
Beyond that, PlatformIO can be run not only on commonly used desktops/laptops
but also on the servers without X Window System. While PlatformIO itself is a
console application, it can be used in combination with one's favorite
:ref:`ide` or text editor such as :ref:`ide_arduino`, :ref:`ide_atom`,
:ref:`ide_clion`, :ref:`ide_eclipse`, :ref:`ide_qtcreator`,
:ref:`ide_sublimetext`, :ref:`ide_vim`, :ref:`ide_visualstudio`, etc.
What is ``.pioenvs`` directory
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Alright, so PlatformIO can run on different operating systems. But more
importantly, from development perspective at least, is a list of supported
boards and MCUs. To keep things short: PlatformIO supports approximately 200
`Embedded Boards <http://platformio.org/#!/boards>`_ and all major
:ref:`Development Platforms <platforms>`.
PlatformIO allows users to:
* Decide which operation system they want to run development process on.
You can even use one OS at home and another at work.
* Choose which editor to use for writing the code. It can be pretty simple
editor or powerful favorite :ref:`ide`.
* Focus on the code development, significantly simplifying support for the
:ref:`platforms` and MCUs.
How does it work?
~~~~~~~~~~~~~~~~~
Without going too deep into PlatformIO implementation details, work cycle of
the project developed using PlatformIO is as follows:
* Users choose board(s) interested in :ref:`projectconf`
* Based on this list of boards, PlatformIO downloads required toolchains and
installs them automatically.
* Users develop code and PlatformIO makes sure that it is compiled, prepared
and uploaded to all the boards of interest.
Please refer to :ref:`projectconf_pio_envs_dir`.
Command completion in Terminal
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@@ -13,7 +13,7 @@
Framework ``arduino``
=====================
Arduino Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
For more detailed information please visit `vendor site <http://arduino.cc/en/Reference/HomePage>`_.
@@ -40,7 +40,7 @@ Platforms
- The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
* - :ref:`platform_teensy`
- Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard "Mini-B" USB cable and a PC or Macintosh with a USB port.
- Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
* - :ref:`platform_timsp430`
- MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.
@@ -50,7 +50,7 @@ Boards
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by horizontal.
Adafruit
@@ -482,6 +482,53 @@ Digistump
- 512 Kb
- 28 Kb
Doit
~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``espduino``
- `ESPDuino (ESP-13 Module) <https://www.tindie.com/products/doit/espduinowifi-uno-r3/>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
ESPert
~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``espresso_lite_v1``
- `ESPresso Lite 1.0 <http://www.espert.co>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
* - ``espresso_lite_v2``
- `ESPresso Lite 2.0 <http://www.espert.co>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
ESPino
~~~~~~
@@ -563,6 +610,13 @@ Espressif
- 1024 Kb
- 80 Kb
* - ``esp07``
- `Espressif Generic ESP8266 ESP-07 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family#esp-07>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
* - ``esp12e``
- `Espressif ESP8266 ESP-12E <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
@@ -570,6 +624,13 @@ Espressif
- 4096 Kb
- 80 Kb
* - ``esp_wroom_02``
- `ESP-WROOM-02 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 50 Kb
LightUp
~~~~~~~
@@ -707,7 +768,14 @@ NodeMCU
- RAM
* - ``nodemcu``
- `NodeMCU 0.9 / 1.0 <http://www.nodemcu.com/>`_
- `NodeMCU 0.9 (ESP-12 Module) <http://www.nodemcu.com/>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
* - ``nodemcuv2``
- `NodeMCU 1.0 (ESP-12E Module) <http://www.nodemcu.com/>`_
- ESP8266
- 80 MHz
- 4096 Kb
@@ -914,20 +982,13 @@ Sanguino
- Flash
- RAM
* - ``sanguino_atmega12848m``
* - ``sanguino_atmega1284_8m``
- `Sanguino ATmega1284p (8MHz) <https://code.google.com/p/sanguino/>`_
- ATMEGA1284P
- 8 MHz
- 128 Kb
- 16 Kb
* - ``sanguino_atmega1284m``
- `Sanguino ATmega1284p (20MHz) <https://code.google.com/p/sanguino/>`_
- ATMEGA1284P
- 20 MHz
- 128 Kb
- 16 Kb
* - ``sanguino_atmega1284p``
- `Sanguino ATmega1284p (16MHz) <https://code.google.com/p/sanguino/>`_
- ATMEGA1284P
@@ -935,13 +996,34 @@ Sanguino
- 128 Kb
- 16 Kb
* - ``sanguino_atmega644``
- `Sanguino ATmega644 or ATmega644A (16 MHz) <https://code.google.com/p/sanguino/>`_
- ATMEGA644
- 16 MHz
- 64 Kb
- 4 Kb
* - ``sanguino_atmega644_8m``
- `Sanguino ATmega644 or ATmega644A (8 MHz) <https://code.google.com/p/sanguino/>`_
- ATMEGA644
- 8 MHz
- 64 Kb
- 4 Kb
* - ``sanguino_atmega644p``
- `Sanguino ATmega644P <https://code.google.com/p/sanguino/>`_
- `Sanguino ATmega644P or ATmega644PA (16 MHz) <https://code.google.com/p/sanguino/>`_
- ATMEGA644P
- 16 MHz
- 64 Kb
- 4 Kb
* - ``sanguino_atmega644p_8m``
- `Sanguino ATmega644P or ATmega644PA (8 MHz) <https://code.google.com/p/sanguino/>`_
- ATMEGA644P
- 8 MHz
- 64 Kb
- 4 Kb
SparkFun
~~~~~~~~
@@ -1025,6 +1107,13 @@ SparkFun
- 512 Kb
- 80 Kb
* - ``thingdev``
- `SparkFun ESP8266 Thing Dev <https://www.sparkfun.com/products/13231>`_
- ESP8266
- 80 MHz
- 512 Kb
- 80 Kb
* - ``uview``
- `SparkFun MicroView <https://www.sparkfun.com/products/12923>`_
- ATMEGA328P
@@ -1100,6 +1189,26 @@ Teensy
- 64 Kb
- 8 Kb
ThaiEasyElec
~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``espinotee``
- `ThaiEasyElec ESPino <http://www.thaieasyelec.com/products/wireless-modules/wifi-modules/espino-wifi-development-board-detail.html>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
TinyCircuits
~~~~~~~~~~~~
@@ -1141,14 +1250,14 @@ WeMos
- RAM
* - ``d1``
- `WeMos D1 <http://www.wemos.cc/wiki/doku.php?id=en:d1>`_
- `WeMos D1(Retired) <http://www.wemos.cc/wiki/doku.php?id=en:d1>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
* - ``d1_mini``
- `WeMos D1 mini <http://www.wemos.cc/wiki/doku.php?id=en:d1_mini>`_
- `WeMos D1 R2 & mini <http://www.wemos.cc/wiki/doku.php?id=en:d1_mini>`_
- ESP8266
- 80 MHz
- 4096 Kb

View File

@@ -35,7 +35,7 @@ Boards
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by horizontal.
Armstrap

View File

@@ -13,7 +13,7 @@
Framework ``energia``
=====================
Energia framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before.
Energia Wiring-based framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before.
For more detailed information please visit `vendor site <http://energia.nu/reference/>`_.
@@ -38,7 +38,7 @@ Boards
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by horizontal.
TI

View File

@@ -38,7 +38,7 @@ Boards
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by horizontal.
ST

View File

@@ -27,6 +27,9 @@ Platforms
* - Name
- Description
* - :ref:`platform_atmelsam`
- Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
* - :ref:`platform_freescalekinetis`
- Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
@@ -43,14 +46,14 @@ Platforms
- The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
* - :ref:`platform_teensy`
- Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard "Mini-B" USB cable and a PC or Macintosh with a USB port.
- Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by horizontal.
Atmel
@@ -295,7 +298,7 @@ NXP
- LPC1768
- 96 MHz
- 512 Kb
- 32 Kb
- 64 Kb
Nordic
~~~~~~
@@ -593,6 +596,13 @@ SeeedStudio
- Flash
- RAM
* - ``seeedArchMax``
- `SeeedStudio Arch Max <https://developer.mbed.org/platforms/Seeed-Arch-Max/>`_
- STM32F407VET6
- 168 MHz
- 512 Kb
- 192 Kb
* - ``seeedTinyBLE``
- `SeeedStudio Seeed Tiny BLE <http://developer.mbed.org/platforms/Seeed-Tiny-BLE/>`_
- NRF51822
@@ -605,7 +615,7 @@ SeeedStudio
- LPC1768
- 96 MHz
- 512 Kb
- 32 Kb
- 64 Kb
Silicon Labs
~~~~~~~~~~~~
@@ -740,6 +750,6 @@ u-blox
- LPC1768
- 96 MHz
- 512 Kb
- 32 Kb
- 64 Kb
.. include:: mbed_extra.rst

View File

@@ -35,7 +35,7 @@ Boards
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by horizontal.
Armstrap

View File

@@ -35,7 +35,7 @@ Boards
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by horizontal.
Raspberry Pi

View File

@@ -18,11 +18,10 @@ IDE Integration
:maxdepth: 2
ide/atom
ide/arduino
ide/clion
ide/eclipse
ide/emacs
ide/energia
ide/netbeans
ide/qtcreator
ide/sublimetext
ide/vim

View File

@@ -0,0 +1,31 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.. note::
We are proud to present our official `PlatformIO IDE <http://platformio.org/platformio-ide>`_ -
The next generation integrated development environment for IoT.
* Cross-platform build system without external dependencies to the OS software:
- 200+ embedded boards
- 15+ development platforms
- 10+ frameworks
* C/C++ Intelligent code completion
* C/C++ Smart code linter for super-fast coding
* Library Manager for the hundreds popular libraries
* Multi-projects workflow with multiple panes
* Multiple panes
* Themes support with dark and light colors
* Serial Port Monitor
* Built-in Terminal with :ref:`PlatformIO CLI <userguide>` tool (``pio``, ``platformio``)
`Install PlatformIO IDE <http://platformio.org/platformio-ide>`_.

View File

@@ -1,50 +0,0 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.. _ide_arduino:
Arduino
=======
The open-source `Arduino Software (IDE) <http://arduino.cc/en/main/software>`_
makes it easy to write code and upload it to the board. It runs on *Windows,
Mac OS X, and Linux*. The environment is written in *Java* and based on
*Processing* and other open-source software.
This software can be used with:
* :ref:`platform_atmelavr`
* :ref:`platform_atmelsam`
* :ref:`framework_arduino`
Refer to the `Arduino Getting Started <http://arduino.cc/en/Guide/HomePage>`_
page for Installation instructions.
.. contents::
Integration
-----------
More detailed information is located in PlatformIO blog:
`Integration of PlatformIO library manager to Arduino IDE <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_.
Articles / Manuals
------------------
* `Integration of PlatformIO library manager to Arduino and Energia IDEs <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_
See the full list with :ref:`articles`.
Screenshot
----------
.. image:: ../_static/ide-platformio-arduino.png
:target: http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides

View File

@@ -14,66 +14,247 @@
PlatformIO IDE for Atom
=======================
PlatformIO IDE for `Atom <https://atom.io>`_ is the missing integrated
development environment which provides comprehensive facilities
for IoT development:
PlatformIO IDE is the next generation integrated development environment for IoT:
* Cross-platform builder without external dependencies to the system
software:
* Cross-platform build system without external dependencies to the OS software:
- 200+ embedded boards
- 15+ development platforms
- 10+ frameworks
* C/C++ Intelligent code completion
* C/C++ Smart code linter
* C/C++ Intelligent Code Completion
* C/C++ Smart Code Linter for rapid professional development
* Library Manager for the hundreds popular libraries
* Built-in Terminal with :ref:`PlatformIO CLI <userguide>` (``pio``, ``platformio``)
* Multi-projects workflow with multiple panes
* Themes support with dark and light colors
* Serial Port Monitor
* Built-in Terminal with :ref:`PlatformIO CLI <userguide>` tool (``pio``, ``platformio``)
Atom is a source code editor that's modern, approachable,
yet hackable to the core—a tool you can customize to do anything but also use
productively without ever touching a config file.
.. warning::
PlatformIO IDE is based on GitHub's `Atom <https://atom.io>`_ source
code editor that's modern, approachable, yet hackable to the core; a tool you
can customize to do anything but also use productively without ever touching a
config file.
PlatformIO IDE is **in beta testing**. Please report all issues to
`PlatformIO IDE issues tracker <https://github.com/platformio/platformio-atom-ide/issues>`_.
.. image:: ../_static/ide-atom-platformio.png
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio.png
.. contents::
Requirements
------------
The only one requirement is `Python Interpreter <https://www.python.org>`_.
PlatformIO is written in Python and works on Mac OS X, Linux, Windows OS and
ARM-based credit-card sized computers (Raspberry Pi, BeagleBone, CubieBoard).
Installation
------------
:Python:
PlatformIO IDE is the next generation integrated development environment for IoT.
It's built on top of `GitHub's Atom "hackable" text editor <https://atom.io>`_.
If you have already Atom installed, please install `PlatformIO IDE for Atom package <https://atom.io/packages/platformio-ide>`_.
Python is installed on Mac OS X and Linux OS by default. The only **Windows Users**
should install it manually. Please `Download the latest Python 2.7.x <https://www.python.org/downloads/>`_
and install it. **DON'T FORGET** to select ``Add python.exe to Path`` feature on the
"Customize" stage, otherwise ``python`` command will not be available.
.. note::
You don't need to install PlatformIO CLI seprately to system.
PlatformIO CLI is built into PlatformIO IDE and you will be able to use it
within PlatformIO IDE Terminal.
:Atom: Download and install `Atom <https://atom.io>`_ source code editor
1. IDE Installation
~~~~~~~~~~~~~~~~~~~
:PlatformIO IDE:
.. note::
If you don't have Atom installed yet, we propose to download
`PlatformIO IDE for Atom bundle <http://platformio.org/platformio-ide>`_
with built-in auto installer (optional).
Install `platformio-ide <https://atom.io/packages/platformio-ide>`_ package
using:
1. Download and install the `latest official Atom text editor <https://atom.io>`_.
2. Open Atom Package Manager and install `platformio-ide <https://atom.io/packages/platformio-ide>`_
Atom package (be patient and let the installation complete)
- **Mac OS X**: ``Menu: Atom > Preferences > Install``
- **Windows**: ``Menu: File > Settings > Install``
- **Linux**: ``Menu: Edit > Preferences > Install``
.. image:: ../_static/ide-atom-platformio-install.png
2. Python Interpreter
~~~~~~~~~~~~~~~~~~~~~
PlatformIO IDE is based on PlatformIO CLI which is written in
`Python <https://www.python.org/downloads/>`_. Python is installed by default
on the all popular OS except Windows.
**Windows Users**, please `Download the latest Python 2.7.x <https://www.python.org/downloads/>`_
and install it. **DON'T FORGET** to select ``Add python.exe to Path`` feature
on the "Customize" stage, otherwise ``python`` command will not be available.
.. image:: ../_static/python-installer-add-path.png
.. _ide_atom_installation_clang:
3. Clang for Intelligent Code Autocompletion
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PlatformIO IDE uses `clang <http://clang.llvm.org>`_ for the Intelligent Code Autocompletion.
To check that ``clang`` is available in your system, please open
Terminal and run ``clang --version``. If ``clang`` is not installed, then install it:
- **Mac OS X**: Install the latest Xcode along with the latest Command Line Tools
(they are installed automatically when you run ``clang`` in Terminal for the
first time, or manually by running ``xcode-select --install``
- **Windows**: Download the latest `Clang for Windows <http://llvm.org/releases/download.html>`_.
Please select "Add LLVM to the system PATH" option on the installation step.
.. image:: ../_static/clang-installer-add-path.png
- **Linux**: Using package managers: ``apt-get install clang`` or ``yum install clang``.
- **Other Systems**: Download the latest `Clang for the other systems <http://llvm.org/releases/download.html>`_.
.. warning::
The libraries which are added/installed after initializing process will
not be reflected in code linter. You need ``Menu: PlatformIO >
Rebuild C/C++ Project Index (Autocomplete, Linter)``.
.. _atom_ide_quickstart:
Quick Start
-----------
This tutorial introduces you to the basics of PlatformIO IDE workflow and shows
you a creation process of a simple "Blink" example. After finishing you will
have a general understanding of how to work with projects in the IDE.
Launch
~~~~~~
After installation, you launch PlatformIO IDE by opening Atom. Once Atom is
open, PlatformIO IDE auto installer will continue to install dependent packages
and PlatformIO CLI. Please be patient and let the installation complete. In the
final result PlatformIO IDE will ask you to reload Atom window to apply
installed components. Please click on ``Reload Now``. After it PlatformIO IDE is
ready for using. Happy coding!
Setting Up the Project
~~~~~~~~~~~~~~~~~~~~~~
1. To create a new project choose
``Menu: PlatformIO > Initialize new Project or update existing`` or press
the corresponding icon in the PlatformIO toolbar as shown in the image below:
.. image:: ../_static/ide-atom-platformio-quick-start-1.png
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-1.png
2. In the "New Project Menu" choose desired boards (more than one board is
allowed) and select a project directory. Then press "Initialize" button:
.. image:: ../_static/ide-atom-platformio-quick-start-2.png
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-2.png
3. If everything is fine, you should see the success message and project tree
in the left panel:
.. image:: ../_static/ide-atom-platformio-quick-start-3.png
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-3.png
4. Now, let's create the first project source file: right-click on the folder
``src`` and choose ``New File``:
.. image:: ../_static/ide-atom-platformio-quick-start-4.png
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-4.png
Enter filename ``main.cpp``:
.. image:: ../_static/ide-atom-platformio-quick-start-5.png
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-5.png
Copy the next source code to the just created file ``main.cpp``:
.. code-block:: cpp
/**
* Blink
* Turns on an LED on for one second,
* then off for one second, repeatedly.
*/
#include "Arduino.h"
void setup()
{
// initialize LED digital pin as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
void loop()
{
// turn the LED on (HIGH is the voltage level)
digitalWrite(LED_BUILTIN, HIGH);
// wait for a second
delay(1000);
// turn the LED off by making the voltage LOW
digitalWrite(LED_BUILTIN, LOW);
// wait for a second
delay(1000);
}
Process Project
~~~~~~~~~~~~~~~
PlatformIO IDE proposes different ways to process project (build, clean,
upload firmware, run other targets) using:
- :ref:`atom_ide_platformio_toolbar`
- :ref:`atom_ide_platformio_menu`
- :ref:`ide_atom_building_targets` and hotkeys
.. image:: ../_static/ide-atom-platformio-quick-start-6.png
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-6.png
5. Run ``Build`` and you should see green "success" result in the building
panel:
.. image:: ../_static/ide-atom-platformio-quick-start-7.png
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-7.png
To upload firmware to the board run ``Upload``.
6. What is more, you can run specific target or process project environment
using ``Menu: PlatformIO > Run other target...``
or call targets list from the status bar (bottom, left corner):
.. image:: ../_static/ide-atom-platformio-quick-start-8.png
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-8.png
And select desired target:
.. image:: ../_static/ide-atom-platformio-quick-start-9.png
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-9.png
7. To run built-in terminal interface choose ``Menu: PlatformIO > Terminal`` or
press the corresponding icon in the PlatformIO toolbar:
.. image:: ../_static/ide-atom-platformio-quick-start-10.png
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-10.png
It provides you fast access to all set of powerful PlatformIO CLI commands:
.. image:: ../_static/ide-atom-platformio-quick-start-11.png
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-11.png
8. To run built-in "Serial Monitor" choose ``Menu: PlatformIO > Serial Monitor``
or press the corresponding icon in the PlatformIO toolbar:
.. image:: ../_static/ide-atom-platformio-quick-start-12.png
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-12.png
It has several settings to adjust your connection:
.. image:: ../_static/ide-atom-platformio-quick-start-13.png
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-13.png
And allows you to communicate with your board in an easy way:
.. image:: ../_static/ide-atom-platformio-quick-start-14.png
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-14.png
- **Mac OS X**: ``Menu: Atom > Preferences > Install``
- **Windows**: ``Menu: File > Settings > Install``
- **Linux**: ``Menu: Edit > Preferences > Install``
User Guide
----------
.. image:: ../_static/ide-atom-platformio.png
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio.png
.. _atom_ide_platformio_menu:
Menu item ``PlatformIO``
~~~~~~~~~~~~~~~~~~~~~~~~
@@ -83,8 +264,35 @@ new menu item named ``Menu: PlatformIO`` (after ``Menu: Help`` item).
.. image:: ../_static/ide-atom-platformio-menu-item.png
Building / Uploading / etc.
~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. _atom_ide_platformio_toolbar:
PlatformIO Toolbar
~~~~~~~~~~~~~~~~~~
PlatformIO IDE Toolbar contains the quick access button to the popular commands.
Each button contains hint (delay mouse on it).
.. image:: ../_static/ide-atom-platformio-toolbar.png
* PlatformIO: Build
* PlatformIO: Upload
* PlatformIO: Clean
* ||
* Initialize new PlatformIO Project or update existing...
* Add/Open Project Folder...
* Find in Project...
* ||
* Terminal
* Library Manager
* Serial Monitor
* ||
* Settings
* PlatformIO Documentation
.. _ide_atom_building_targets:
Building / Uploading / Targets
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* ``cmd-alt-b`` / ``ctrl-alt-b`` / ``f9`` builds project without auto-uploading.
* ``cmd-alt-u`` / ``ctrl-alt-u`` builds and uploads (if no errors).
@@ -95,59 +303,141 @@ Building / Uploading / etc.
* ``cmd-alt-v`` / ``ctrl-alt-v`` / ``f8`` toggles the build panel.
* ``escape`` terminates build / closes the build window.
More details `Atom Build package <https://atom.io/packages/build>`_.
More options ``Menu: PlatformIO > Settings > Build``.
Code completion
~~~~~~~~~~~~~~~
Intelligent Code Autocompletion
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PlatformIO IDE uses `clang <http://clang.llvm.org>`_ for the code completion.
To check that ``clang`` is available in your system, please open
Terminal and run ``clang --version``. If ``clang`` is not installed, then install it:
- **Mac OS X**: Install the latest Xcode along with the latest Command Line Tools
(they are installed automatically when you run ``clang`` in Terminal for the
first time, or manually by running ``xcode-select --install``
- **Windows**: Download the latest `Clang for Windows <http://llvm.org/releases/download.html>`_.
Please select "Add LLVM to the system PATH" option on the installation step.
- **Linux**: Using package managers: ``apt-get install clang`` or ``yum install clang``.
- **Other Systems**: Download the latest `Clang for the other systems <http://llvm.org/releases/download.html>`_.
PlatformIO IDE uses `clang <http://clang.llvm.org>`_ for the Intelligent Code Autocompletion.
To install it or check if it is already installed, please follow to step
:ref:`ide_atom_installation_clang` from Installation guide.
.. warning::
The libraries which are added, installed or used in the project
after initializing process will not be reflected in code completion. To fix
it you need to reinitialize project using ``Menu: PlatformIO > Initialize new Project (or update existing)``.
The libraries which are added/installed after initializing process will
not be reflected in code linter. You need ``Menu: PlatformIO >
Rebuild C/C++ Project Index (Autocomplete, Linter)``.
Code linter
~~~~~~~~~~~
.. _ide_atom_smart_code_linter:
PlatformIO IDE uses PlatformIO's pre-built GCC toolchains for code linting. You
can customize it in ``.gcc-flags.json`` which will be generated for the selected
board in the project directory using
``Menu: PlatformIO > Initialize new Project (or update existing)``.
Smart Code Linter
~~~~~~~~~~~~~~~~~
PlatformIO IDE uses PlatformIO's pre-built GCC toolchains for Smart Code Linter
and rapid professional development.
The configuration data are located in ``.gcc-flags.json``. This file will be
automatically created and preconfigured when you initialize project using
``Menu: PlatformIO > Initialize new PlatformIO Project or update existing...``.
.. warning::
The libraries which are added, installed or used in the project
after initializing process will not be reflected in code linter. To fix
it you need to reinitialize project using ``Menu: PlatformIO > Initialize new Project (or update existing)``.
The libraries which are added/installed after initializing process will
not be reflected in code linter. You need ``Menu: PlatformIO >
Rebuild C/C++ Project Index (Autocomplete, Linter)``.
.. error::
If you have error like ``linter-gcc: Executable not found`` and
``"***/.platformio/packages/toolchain-atmelavr/bin/avr-g++" not found``
please ``Menu: PlatformIO > Initialize new PlatformIO Project or update existing...``.
Install Shell Commands
~~~~~~~~~~~~~~~~~~~~~~
To install ``platformio`` and ``pio`` shell commands please use ``Menu:
PlatformIO > Install Shell Commands``. It will allow you to call PlatformIO from
other process, terminals and etc.
Serial Monitor
~~~~~~~~~~~~~~
Serial Monitor was temporary disabled in PlatformIO IDE 0.2.1. See
`issue #17 <https://github.com/platformio/platformio-atom-ide/issues/17>`_.
Temporary solution is to ``Menu: PlatformIO > Install Shell Commands`` and use
:ref:`cmd_serialports_monitor` from system Terminal application (not built-in in
PlatformIO IDE).
other process, terminal and etc.
Known issues
~~~~~~~~~~~~
------------
* Built-in Terminal doesn't support ``STDIN`` interaction
Smart Code Linter is disabled for Arduino files
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:ref:`ide_atom_smart_code_linter` is disabled by default for Arduino files
(``*.ino`` and ``.pde``) because they are not valid C/C++ based
source files:
1. Missing includes such as ``#include <Arduino.h>``
2. Function declarations are omitted.
There are two solutions:
.. contents::
:local:
.. _ide_atom_knownissues_sclarduino_manually:
Convert Arduino file to C++ manually
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
For example, we have the next ``Demo.ino`` file:
.. code-block:: cpp
void function setup () {
someFunction(13);
}
void function loop() {
delay(1000);
}
void someFunction(int num) {
}
Let's convert it to ``Demo.cpp``:
1. Add ``#include <Arduino.h>`` at the top of the source file
2. Declare each custom function (excluding built-in, such as ``setup`` and ``loop``)
before it will be called.
The final ``Demo.cpp``:
.. code-block:: cpp
#include <Arduino.h>
void someFunction(int num);
void function setup () {
someFunction(13);
}
void function loop() {
delay(1000);
}
void someFunction(int num) {
}
Force Arduino file as C++
^^^^^^^^^^^^^^^^^^^^^^^^^
To force Smart Code Linter to use Arduino files as C++ please
1. Open ``.gcc-flags.json`` file from the Initialized/Imported project and add
``-x c++`` flag at the beginning of the value of ``gccDefaultCppFlags`` field:
.. code-block:: json
{
"execPath": "...",
"gccDefaultCFlags": "...",
"gccDefaultCppFlags": "-x c++ -fsyntax-only ...",
"gccErrorLimit": 15,
"gccIncludePaths": "...",
"gccSuppressWarnings": false
}
2. Perform all steps from :ref:`ide_atom_knownissues_sclarduino_manually`
(without renaming to ``.cpp``).
Articles / Manuals
------------------
* Mar 12, 2016 - **Peter Marks** - `PlatformIO, the Arduino IDE for programmers <http://blog.marxy.org/2016/03/platformio-arduino-ide-for-programmers.html>`_
* Mar 05, 2016 - **brichacek.net** - `PlatformIO otevřený ekosystém pro vývoj IoT (PlatformIO an open source ecosystem for IoT development, Czech) <http://blog.brichacek.net/platformio-otevreny-ekosystem-pro-vyvoj-iot/>`_
* Mar 04, 2016 - **Ricardo Vega** - `Programa tu Arduino desde Atom (Program your Arduino from Atom, Spanish) <http://ricveal.com/blog/programa-arduino-desde-atom/>`_
* Feb 28, 2016 - **Alex Bloggt** - `PlatformIO vorgestellt (Introduction to PlatformIO IDE, German) <https://alexbloggt.com/platformio-vorgestellt/>`_
* Feb 25, 2016 - **NutDIY** - `PlatformIO Blink On Nodemcu Dev Kit V1.0 (Thai) <http://nutdiy.blogspot.com/2016/02/platformio-blink-on-nodemcu-dev-kit-v10.html>`_
See a full list with :ref:`articles`.

View File

@@ -20,20 +20,18 @@ initial version will support the GCC and Clang compilers and GDB debugger.
Clion includes such features as a smart editor, code quality assurance,
automated refactorings, project manager, integrated version control systems.
This software can be used with:
* all available :ref:`platforms`
* all available :ref:`frameworks`
Refer to the `CDT Documentation <https://www.jetbrains.com/clion/documentation/>`_
Refer to the `CLion Documentation <https://www.jetbrains.com/clion/documentation/>`_
page for more detailed information.
.. image:: ../_static/ide-platformio-clion.png
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-clion.png
.. contents::
Integration
-----------
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
command and generate project via :option:`platformio init --ide` command:
.. code-block:: shell
@@ -90,12 +88,6 @@ Articles / Manuals
See more :ref:`articles`.
Screenshot
----------
.. image:: ../_static/ide-platformio-clion.png
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-clion.png
Examples
--------

View File

@@ -24,20 +24,18 @@ with syntax highlighting, folding and hyperlink navigation, source code
refactoring and code generation, visual debugging tools, including memory,
registers, and disassembly viewers.
This software can be used with:
* all available :ref:`platforms`
* all available :ref:`frameworks`
Refer to the `CDT Documentation <https://eclipse.org/cdt/documentation.php>`_
page for more detailed information.
.. image:: ../_static/ide-platformio-eclipse.png
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-eclipse.png
.. contents::
Integration
-----------
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
command and generate project via :option:`platformio init --ide` command:
.. code-block:: shell
@@ -82,14 +80,6 @@ Articles / Manuals
See a full list with :ref:`articles`.
Screenshot
----------
Cross-platform `Blink Project <http://platformio.org/#!/get-started#blink-project-example>`_.
.. image:: ../_static/ide-platformio-eclipse.png
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-eclipse.png
Examples
--------

View File

@@ -19,15 +19,12 @@ an interpreter for Emacs Lisp, a dialect of the
`Lisp programming language <http://en.wikipedia.org/wiki/Lisp_programming_language>`_
with extensions to support text editing.
This software can be used with:
* all available :ref:`platforms`
* all available :ref:`frameworks`
Refer to the `Emacs Documentation <https://www.gnu.org/software/emacs/#Manuals>`_
page for more detailed information.
.. image:: ../_static/ide-platformio-emacs.png
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-emacs.png
.. contents::
Integration
@@ -48,7 +45,7 @@ Code completion can optionally be provided by installing `irony-mode <https://gi
Project Generator
^^^^^^^^^^^^^^^^^
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
command and generate project via :option:`platformio init --ide` command:
.. code-block:: shell
@@ -69,10 +66,3 @@ There are 6 predefined targets for building.
The libraries which are added, installed or used in the project
after generating process wont be reflected in IDE. To fix it you
need to reinitialize project using :ref:`cmd_init` (repeat it).
Screenshot
----------
.. image:: ../_static/ide-platformio-emacs.png
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-emacs.png

View File

@@ -1,50 +0,0 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.. _ide_energia:
Energia
=======
The open-source `Energia Software (IDE) <http://energia.nu>`_
makes it easy to write code and upload it to the board. It runs on *Windows,
Mac OS X, and Linux*. The environment is written in *Java* and based on
*Processing* and other open-source software.
This software can be used with:
* :ref:`platform_timsp430`
* :ref:`platform_titiva`
* :ref:`framework_energia`
Refer to the `Energia Getting Started <http://energia.nu/guide/>`_
page for Installation instructions.
.. contents::
Integration
-----------
More detailed information is located in PlatformIO blog:
`Integration of PlatformIO library manager to Energia IDE <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_.
Articles / Manuals
------------------
* `Integration of PlatformIO library manager to Arduino and Energia IDEs <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_
See the full list with :ref:`articles`.
Screenshot
-----------
.. image:: ../_static/ide-platformio-energia.png
:target: http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides

64
docs/ide/netbeans.rst Normal file
View File

@@ -0,0 +1,64 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.. _ide_netbeans:
NetBeans
========
NetBeans is a Java-based integrated development environment (IDE). It provides
out-of-the-box code analyzers and editors for working with the latest Java 8
technologies--Java SE 8, Java SE Embedded 8, and Java ME Embedded 8. The IDE
also has a range of new tools for HTML5/JavaScript, in particular for Node.js,
KnockoutJS, and AngularJS; enhancements that further improve its support for
Maven and Java EE with PrimeFaces; and improvements to PHP and C/C++ support.
NetBeans IDE can be downloaded from `here <https://netbeans.org/downloads/>`_.
Just make sure you download the C/C++ version (or if you already use NetBeans,
install the C/C++ development plugins).
.. image:: ../_static/ide-platformio-netbeans.png
:target: http://docs.platformio.org/en/latest/_images/ide-platformio-netbeans.png
.. contents::
Integration
-----------
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
command and generate project via :option:`platformio init --ide` command:
.. code-block:: shell
platformio init --ide netbeans --board %TYPE%
# For example, generate project for Arduino UNO
platformio init --ide netbeans --board uno
Then:
1. Open this project via ``Menu: File > Open Project...``
2. Add new files to ``src`` directory (``*.c, *.cpp, *.ino, etc.``) via
right-click on ``src`` folder in the "Projects" pane
3. Build project using ``Menu: Run > Build Project``
4. Upload firmware using ``Menu: Run > Run Project``
.. warning::
The libraries which are added, installed or used in the project
after generating process wont be reflected in IDE. To fix it you
need to reinitialize project using :ref:`cmd_init` (repeat it).
Articles / Manuals
------------------
* Feb 22, 2016 - **Grzegorz Hołdys** - `How to Integrate PlatformIO with Netbeans <http://www.instructables.com/id/How-to-Integrate-PlatformIO-With-Netbeans/>`_
See the full list with :ref:`articles`.

View File

@@ -16,14 +16,12 @@ Qt Creator
The `Qt Creator <https://github.com/qtproject/qt-creator>`_ is an open source cross-platform integrated development environment. The editor includes such features as syntax highlighting for various languages, project manager, integrated version control systems, rapid code navigation tools and code autocompletion.
This software can be used with:
* all available :ref:`platforms`
* all available :ref:`frameworks`
Refer to the `Qt-creator Manual <http://doc.qt.io/qtcreator/>`_
page for more detailed information.
.. image:: ../_static/ide-platformio-qtcreator-7.png
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-7.png
.. contents::
Integration
@@ -37,7 +35,7 @@ Integration
Project Generator
^^^^^^^^^^^^^^^^^
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
command and generate project via :option:`platformio init --ide` command:
.. code-block:: shell
@@ -107,7 +105,7 @@ On the next steps select any available kit and click Finish button.
.. image:: ../_static/ide-platformio-qtcreator-2.png
Secondly, we need to delete default build and clean steps and configure project with PlatformIO source code builder (click on Projects label on left menu or ``Ctrl+5`` shortcut):
Secondly, we need to delete default build and clean steps and configure project with PlatformIO Build System (click on Projects label on left menu or ``Ctrl+5`` shortcut):
.. image:: ../_static/ide-platformio-qtcreator-3.png
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-3.png
@@ -189,12 +187,6 @@ Conclusion
Taking everything into account, we can build project with shortcut ``Ctrl+Shift+B`` or using ``Menu: Build > Build All``.
Screenshot
----------
.. image:: ../_static/ide-platformio-qtcreator-7.png
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-7.png
Examples
--------

View File

@@ -16,23 +16,33 @@ Sublime Text
The `Sublime Text <http://www.sublimetext.com/>`_ is a cross-platform text and source code editor, with a Python application programming interface (API). Sublime Text is proprietary software. Its functionality is extendable with plugins. Most of the extending packages have free-software licenses and are community-built and maintained. Sublime Text lacks graphical setting dialogues and is entirely configured by editing text files.
This software can be used with:
* all available :ref:`platforms`
* all available :ref:`frameworks`
Refer to the `Sublime Text Documentation <http://docs.sublimetext.info/en/latest>`_
page for more detailed information.
.. image:: ../_static/ide-sublime-text-deviot.gif
:target: https://github.com/gepd/Deviot
.. contents::
Integration
-----------
Deviot Plugin
^^^^^^^^^^^^^
We are glad to inform you about awesome Sublime Text plugin for IoT development
named `Deviot <https://github.com/gepd/Deviot>`_. It is based on
PlatformIO CLI and will automatically install it for you. Please visit `official
Deviot page <https://github.com/gepd/Deviot>`_ for the further installation
steps and documentation.
.. image:: ../_static/ide-sublime-text-deviot.gif
:target: https://github.com/gepd/Deviot
Project Generator
^^^^^^^^^^^^^^^^^
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
command and generate project via :option:`platformio init --ide` command:
.. code-block:: shell
@@ -176,11 +186,6 @@ Conclusion
Taking everything into account, we can open project directory in Sublime Text using ``Menu: File > Open Folder`` and build it with shortcut ``Ctrl+B`` (Windows/Linux) or ``Cmd+B`` (Mac), clean project with shortcut ``F11`` and upload firmware to target with shortcut ``F12``.
Screenshot
----------
.. image:: ../_static/ide-sublime-text-platformio-newproject-5.png
Examples
--------

View File

@@ -18,10 +18,7 @@ VIM
editor. Vim is designed for use both from a command-line interface and as a
standalone application in a graphical user interface.
This software can be used with:
* all available :ref:`platforms`
* all available :ref:`frameworks`
.. image:: ../_static/ide-platformio-vim.png
.. contents::
@@ -90,8 +87,3 @@ Articles / Manuals
* `コマンドラインでArduino開発 : vim + platformio (Arduino development at the command line: VIM + PlatformIO, Japanese) <http://qiita.com/caad1229/items/7b5fb47f034ae6e0baf2>`_
See a full list with :ref:`articles`.
Screenshot
----------
.. image:: ../_static/ide-platformio-vim.png

View File

@@ -16,14 +16,12 @@ Visual Studio
The `Microsoft Visual Studio (Free) <http://visualstudio.com/free>`_ is an integrated development environment (IDE) from Microsoft. Visual Studio includes a code editor supporting IntelliSense (the code completion component) as well as code refactoring.
This software can be used with:
* all available :ref:`platforms`
* all available :ref:`frameworks`
Refer to the `Visual Studio Documentation <https://msdn.microsoft.com/library/vstudio>`_
page for more detailed information.
.. image:: ../_static/ide-vs-platformio-newproject-8.png
:target: http://docs.platformio.org/en/latest/_static/ide-vs-platformio-newproject-8.png
.. contents::
Integration
@@ -37,7 +35,7 @@ Integration
Project Generator
^^^^^^^^^^^^^^^^^
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
command and generate project via :option:`platformio init --ide` command:
.. code-block:: shell
@@ -69,7 +67,7 @@ First of all, let's create new project from Visual Studio Start Page: ``Start >
.. image:: ../_static/ide-vs-platformio-newproject.png
Secondly, we need to configure project with PlatformIO source code builder:
Secondly, we need to configure project with PlatformIO Build System:
.. image:: ../_static/ide-vs-platformio-newproject-2.png
@@ -95,14 +93,14 @@ First program in Visual Studio
Simple "Blink" project will consist from two files:
1. Main "C" source file named ``main.c`` must be located in the ``src`` directory.
Let's create new file named ``main.c`` using ``Menu: File > New File`` or shortcut ``Ctrl+N``:
1. Main "C++" source file named ``main.cpp`` must be located in the ``src`` directory.
Let's create new file named ``main.cpp`` using ``Menu: File > New File`` or shortcut ``Ctrl+N``:
.. image:: ../_static/ide-vs-platformio-newproject-6.png
Copy the source code which is described below to file ``main.c``.
Copy the source code which is described below to file ``main.cpp``.
.. code-block:: c
.. code-block:: cpp
#include "Arduino.h"
#define WLED 13 // Most Arduino boards already have an LED attached to pin 13 on the board itself
@@ -149,12 +147,6 @@ Conclusion
Taking everything into account, we can build project with shortcut ``Ctrl+Shift+B`` or using ``Menu: Build > Build Solution``.
Screenshot
----------
.. image:: ../_static/ide-vs-platformio-newproject-8.png
:target: http://docs.platformio.org/en/latest/_static/ide-vs-platformio-newproject-8.png
Examples
--------
@@ -162,3 +154,25 @@ Examples
^^^^^^^^^^^^^^^
Source code of `Visual Studio "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/visualstudio>`_.
Known issues
------------
IntelliSense Errors
^^^^^^^^^^^^^^^^^^^
VS Studio does not allow to specify for project other toolchain which will
be used by IntelliSense. In this case, IntelliSense does not understand
GCC-specific definitions.
However, these errors does not have any influence on PlatformIO Build
System. It means that you can ignore them and rely on PlatformIO Build System
messages which will be shown in output console after build.
Nevertheless, you can provide an IntelliSense-friendly definition of problematic
GCC constructs and make sure that the GCC will ignore such definitions or
disable IntelliSense error reporting at all.
See details in `issue #543 <https://github.com/platformio/platformio/issues/543>`_
.. image:: ../_static/ide-vs-platformio-newproject-9.png
:target: http://docs.platformio.org/en/latest/_static/ide-vs-platformio-newproject-9.png

View File

@@ -12,9 +12,14 @@
PlatformIO is an open source ecosystem for IoT development
==========================================================
**Cross-platform code builder and library manager. Continuous and IDE
**Cross-platform build system and library manager. Continuous and IDE
integration. Arduino and MBED compatible. Ready for Cloud compiling.**
* **PlatformIO IDE** - The next generation integrated development environment for IoT.
C/C++ Intelligent Code Completion and Smart Code Linter for the super-fast coding.
Multi-projects workflow with Multiple Panes. Themes Support with dark and light colors.
Built-in Terminal with PlatformIO CLI tool and support for the powerful Serial Port Monitor.
All advanced instruments without leaving your favourite development environment.
* **Development Platforms** - Embedded and Desktop development platforms with
pre-built toolchains, debuggers, uploaders and frameworks which work under
popular host OS: Mac, Windows, Linux (+ARM)
@@ -31,16 +36,16 @@ Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed,
libOpenCM3, etc.*
* `Website <http://platformio.org>`_
* `Web 2.0 Library Search <http://platformio.org/#!/lib>`_ |
`Embedded Boards Explorer <http://platformio.org/#!/boards>`_
* `Web 2.0 Library Search <http://platformio.org/lib>`_ |
`Embedded Boards Explorer <http://platformio.org/boards>`_
* `Project Examples <https://github.com/platformio/platformio/tree/develop/examples>`_
* `Source Code <https://github.com/platformio/platformio>`_ |
`Issues <https://github.com/platformio/platformio/issues>`_
* `Blog <http://www.ikravets.com/category/computer-life/platformio>`_ |
`Twitter <https://twitter.com/PlatformIO_Org>`_ |
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
`Facebook <https://www.facebook.com/platformio>`_ |
`Reddit <http://www.reddit.com/r/platformio/>`_
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
`Forums <http://community.platformio.org>`_
Embedded Development. *Easier Than Ever.*
-----------------------------------------
@@ -54,7 +59,7 @@ Embedded Development. *Easier Than Ever.*
* Pre-built toolchains, :ref:`frameworks` for the
:ref:`Development Platforms <platforms>`
Smart Code Builder. *Fast and Reliable.*
Smart Build System. *Fast and Reliable.*
----------------------------------------
* Reliable, automatic dependency analysis and detection of build changes
@@ -66,22 +71,27 @@ The Missing Library Manager. *It's here!*
-----------------------------------------
* Friendly Command-Line Interface
* Modern `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
* Modern `Web 2.0 Library Search <http://platformio.org/lib>`_
* Library dependency management
* Automatic library updating
* It runs on Windows, Mac OS X, and Linux (+ARM).
For further details, please refer to
:ref:`What is PlatformIO? How does it work? <faq_what_is_platformio>`
:ref:`What is PlatformIO? How does it work? <what_is_pio>`
Contents
--------
.. toctree::
:maxdepth: 2
what-is-platformio
demo
.. toctree::
:caption: Getting Started
:maxdepth: 2
demo
installation
quickstart
userguide/index

View File

@@ -14,19 +14,14 @@
Installation
============
.. include:: /ide/_platformio_ide_extra.rst
**PlatformIO** is written in `Python <https://www.python.org/downloads/>`_ and
works on Mac OS X, Linux, Windows OS and *ARM*-based credit-card sized
computers (`Raspberry Pi <http://www.raspberrypi.org>`_,
`BeagleBone <http://beagleboard.org>`_,
`CubieBoard <http://cubieboard.org>`_).
.. note::
We are glad to announce official :ref:`ide_atom` which provides
comprehensive facilities for IoT development: built-in PlatformIO CLI tool,
Terminal and other instruments.
Try :ref:`ide_atom` for free now!
.. contents::
System requirements
@@ -41,7 +36,10 @@ System requirements
**Windows Users**: Please `Download the latest Python 2.7.x
<https://www.python.org/downloads/>`_ and install it.
**DON'T FORGET** to select ``Add python.exe to Path`` feature on the
"Customize" stage, otherwise ``pip`` command will not be available.
"Customize" stage, otherwise Python Package Manager ``pip`` command
will not be available.
.. image:: _static/python-installer-add-path.png
:Terminal Application:
@@ -53,13 +51,22 @@ System requirements
Installation Methods
--------------------
.. note::
You don't need to install PlatformIO CLI if you are going to use
:ref:`ide_atom`. PlatformIO CLI is built into PlatformIO IDE and you will be
able to use it within PlatformIO IDE Terminal.
Please *choose ONE of* the following methods:
a) Python Package Manager
~~~~~~~~~~~~~~~~~~~~~~~~~
.. contents::
:local:
Python Package Manager
~~~~~~~~~~~~~~~~~~~~~~
The latest stable version of PlatformIO may be installed or upgraded via
`pip <https://pip.pypa.io>`_ as follows:
Python Package Manager (`pip <https://pip.pypa.io>`_) as follows:
.. code-block:: bash
@@ -80,8 +87,8 @@ a few options here:
.. _installation_installer_script:
b) Installer Script
~~~~~~~~~~~~~~~~~~~
Installer Script
~~~~~~~~~~~~~~~~
Super-Quick (Mac / Linux)
'''''''''''''''''''''''''
@@ -120,8 +127,19 @@ On *Windows OS* it may look like:
# run it
C:\Python27\python.exe get-platformio.py
c) Full Guide
~~~~~~~~~~~~~
Mac OS X Homebrew
~~~~~~~~~~~~~~~~~
The latest stable version of PlatformIO may be installed or upgraded via
Mac OS X Homebrew Packages Manager (`brew <http://brew.sh/>`_) as follows:
.. code-block:: bash
brew install platformio
Full Guide
~~~~~~~~~~
1. Check a ``python`` version (only 2.6-2.7 is supported):
@@ -149,8 +167,13 @@ For upgrading ``platformio`` to the latest version:
pip install -U platformio
d) Development Version
~~~~~~~~~~~~~~~~~~~~~~
Development Version
~~~~~~~~~~~~~~~~~~~
.. warning::
If you use :ref:`ide_atom`, please enable development version via
``Menu PlatformIO: Settings > PlatformIO IDE > Use development version of
PlatformIO``.
Install the latest PlatformIO from the ``develop`` branch:

View File

@@ -152,6 +152,6 @@ to :ref:`install <cmd_lib_install>` it.
Examples
--------
* `GitHub + fixed release <http://platformio.org/#!/lib/show/552/ACNoblex>`_
* `Dependencies by author and framework <http://platformio.org/#!/lib/show/3/PID-AutoTune>`_
* `GitHub + fixed release <http://platformio.org/lib/show/552/ACNoblex>`_
* `Dependencies by author and framework <http://platformio.org/lib/show/3/PID-AutoTune>`_
* `Multiple libraries in the one repository <https://github.com/jrowberg/i2cdevlib/tree/master/Arduino>`_

View File

@@ -18,7 +18,7 @@ Library Manager
You can search for new libraries via
* :ref:`Command Line interface <cmd_lib_search>`
* `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
* `Web 2.0 Library Search <http://platformio.org/lib>`_
You don't need to bother for finding the latest version of library. Due to
:ref:`cmd_lib_update` command you will have up-to-date external libraries.

View File

@@ -44,8 +44,9 @@ Packages
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
**Windows Users:** Please check that you have correctly installed USB driver
from board manufacturer
**Windows Users:** Please check that you have correctly installed USB
driver from board manufacturer
@@ -58,14 +59,14 @@ Frameworks
- Description
* - :ref:`framework_arduino`
- Arduino Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
- Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by
horizontal.
@@ -740,20 +741,13 @@ Sanguino
- Flash
- RAM
* - ``sanguino_atmega12848m``
* - ``sanguino_atmega1284_8m``
- `Sanguino ATmega1284p (8MHz) <https://code.google.com/p/sanguino/>`_
- ATMEGA1284P
- 8 MHz
- 128 Kb
- 16 Kb
* - ``sanguino_atmega1284m``
- `Sanguino ATmega1284p (20MHz) <https://code.google.com/p/sanguino/>`_
- ATMEGA1284P
- 20 MHz
- 128 Kb
- 16 Kb
* - ``sanguino_atmega1284p``
- `Sanguino ATmega1284p (16MHz) <https://code.google.com/p/sanguino/>`_
- ATMEGA1284P
@@ -761,13 +755,34 @@ Sanguino
- 128 Kb
- 16 Kb
* - ``sanguino_atmega644``
- `Sanguino ATmega644 or ATmega644A (16 MHz) <https://code.google.com/p/sanguino/>`_
- ATMEGA644
- 16 MHz
- 64 Kb
- 4 Kb
* - ``sanguino_atmega644_8m``
- `Sanguino ATmega644 or ATmega644A (8 MHz) <https://code.google.com/p/sanguino/>`_
- ATMEGA644
- 8 MHz
- 64 Kb
- 4 Kb
* - ``sanguino_atmega644p``
- `Sanguino ATmega644P <https://code.google.com/p/sanguino/>`_
- `Sanguino ATmega644P or ATmega644PA (16 MHz) <https://code.google.com/p/sanguino/>`_
- ATMEGA644P
- 16 MHz
- 64 Kb
- 4 Kb
* - ``sanguino_atmega644p_8m``
- `Sanguino ATmega644P or ATmega644PA (8 MHz) <https://code.google.com/p/sanguino/>`_
- ATMEGA644P
- 8 MHz
- 64 Kb
- 4 Kb
SparkFun
~~~~~~~~

View File

@@ -28,17 +28,20 @@ Packages
* - Name
- Contents
* - ``toolchain-gccarmnoneeabi``
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``framework-arduinosam``
- `Arduino Wiring-based Framework (SAM Core, 1.6) <http://arduino.cc/en/Reference/HomePage>`_
* - ``ldscripts``
- `Linker Scripts <https://sourceware.org/binutils/docs/ld/Scripts.html>`_
* - ``tool-openocd``
- `OpenOCD <http://openocd.org>`_
* - ``toolchain-gccarmnoneeabi``
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``framework-mbed``
- `mbed Framework <http://mbed.org>`_
* - ``ldscripts``
- `Linker Scripts <https://sourceware.org/binutils/docs/ld/Scripts.html>`_
* - ``tool-bossac``
- `BOSSA CLI <https://sourceforge.net/projects/b-o-s-s-a/>`_
@@ -47,8 +50,9 @@ Packages
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
**Windows Users:** Please check that you have correctly installed USB driver
from board manufacturer
**Windows Users:** Please check that you have correctly installed USB
driver from board manufacturer
@@ -61,14 +65,17 @@ Frameworks
- Description
* - :ref:`framework_arduino`
- Arduino Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
- Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
* - :ref:`framework_mbed`
- The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by
horizontal.

View File

@@ -17,7 +17,7 @@ Custom Board
*PlatformIO* has pre-built settings for the most popular embedded boards. This
list is available:
* `Embedded Boards Explorer <http://platformio.org/#!/boards>`_ (Web)
* `Embedded Boards Explorer <http://platformio.org/boards>`_ (Web)
* :ref:`cmd_boards` (CLI command)
Nevertheless, PlatformIO allows to create own board or override existing

View File

@@ -50,8 +50,9 @@ Packages
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
**Windows Users:** Please check that you have correctly installed USB driver
from board manufacturer
**Windows Users:** Please check that you have correctly installed USB
driver from board manufacturer
@@ -64,14 +65,14 @@ Frameworks
- Description
* - :ref:`framework_arduino`
- Arduino Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
- Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by
horizontal.
@@ -95,6 +96,53 @@ Adafruit
- 4096 Kb
- 80 Kb
Doit
~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``espduino``
- `ESPDuino (ESP-13 Module) <https://www.tindie.com/products/doit/espduinowifi-uno-r3/>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
ESPert
~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``espresso_lite_v1``
- `ESPresso Lite 1.0 <http://www.espert.co>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
* - ``espresso_lite_v2``
- `ESPresso Lite 2.0 <http://www.espert.co>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
ESPino
~~~~~~
@@ -142,6 +190,13 @@ Espressif
- 1024 Kb
- 80 Kb
* - ``esp07``
- `Espressif Generic ESP8266 ESP-07 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family#esp-07>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
* - ``esp12e``
- `Espressif ESP8266 ESP-12E <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
@@ -149,6 +204,13 @@ Espressif
- 4096 Kb
- 80 Kb
* - ``esp_wroom_02``
- `ESP-WROOM-02 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 50 Kb
NodeMCU
~~~~~~~
@@ -163,7 +225,14 @@ NodeMCU
- RAM
* - ``nodemcu``
- `NodeMCU 0.9 / 1.0 <http://www.nodemcu.com/>`_
- `NodeMCU 0.9 (ESP-12 Module) <http://www.nodemcu.com/>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
* - ``nodemcuv2``
- `NodeMCU 1.0 (ESP-12E Module) <http://www.nodemcu.com/>`_
- ESP8266
- 80 MHz
- 4096 Kb
@@ -209,6 +278,13 @@ SparkFun
- 512 Kb
- 80 Kb
* - ``thingdev``
- `SparkFun ESP8266 Thing Dev <https://www.sparkfun.com/products/13231>`_
- ESP8266
- 80 MHz
- 512 Kb
- 80 Kb
SweetPea
~~~~~~~~
@@ -229,6 +305,26 @@ SweetPea
- 4096 Kb
- 80 Kb
ThaiEasyElec
~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``espinotee``
- `ThaiEasyElec ESPino <http://www.thaieasyelec.com/products/wireless-modules/wifi-modules/espino-wifi-development-board-detail.html>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
WeMos
~~~~~
@@ -243,14 +339,14 @@ WeMos
- RAM
* - ``d1``
- `WeMos D1 <http://www.wemos.cc/wiki/doku.php?id=en:d1>`_
- `WeMos D1(Retired) <http://www.wemos.cc/wiki/doku.php?id=en:d1>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
* - ``d1_mini``
- `WeMos D1 mini <http://www.wemos.cc/wiki/doku.php?id=en:d1_mini>`_
- `WeMos D1 R2 & mini <http://www.wemos.cc/wiki/doku.php?id=en:d1_mini>`_
- ESP8266
- 80 MHz
- 4096 Kb

View File

@@ -9,19 +9,54 @@
See the License for the specific language governing permissions and
limitations under the License.
Custom CPU Frequency or Upload Speed
------------------------------------
Custom CPU Frequency
--------------------
See :ref:`projectconf_board_f_cpu` and :ref:`projectconf_upload_speed` options
from :ref:`projectconf`
See :ref:`projectconf_board_f_cpu` option from :ref:`projectconf`
.. code-block:: ini
[env:myenv]
# set frequency to 40MHz
board_f_cpu = 40000000L
# set frequency to 160MHz
board_f_cpu = 160000000L
upload_speed = 9600
Custom FLASH Frequency
----------------------
See :ref:`projectconf_board_f_flash` option from :ref:`projectconf`. Possible
values:
* ``20000000L``
* ``26000000L``
* ``40000000L``
* ``80000000L``
.. code-block:: ini
[env:myenv]
# set frequency to 80MHz
board_f_flash = 80000000L
Custom FLASH Mode
-----------------
Flash chip interface mode. This parameter is stored in the binary image
header, along with the flash size and flash frequency. The ROM bootloader
in the ESP chip uses the value of these parameters in order to know how to
talk to the flash chip.
See :ref:`projectconf_board_flash_mode` option from :ref:`projectconf`. Possible
values:
* ``qio``
* ``qout``
* ``dio``
* ``dout``
.. code-block:: ini
[env:myenv]
board_flash_mode = qio
Custom Reset Method
-------------------
@@ -30,10 +65,7 @@ See :ref:`projectconf_upload_resetmethod` option from :ref:`projectconf`
.. code-block:: ini
[env:esp12e]
platform = espressif
framework = arduino
board = esp12e
[env:myenv]
upload_resetmethod = ck
.. _platform_espressif_customflash:
@@ -66,6 +98,16 @@ To override default LD script please use :ref:`projectconf_build_flags` from
[env:myenv]
build_flags = -Wl,-Tesp8266.flash.4m.ld
Custom Upload Speed
-------------------
See :ref:`projectconf_upload_speed` option from :ref:`projectconf`
.. code-block:: ini
[env:myenv]
upload_speed = 9600
.. _platform_espressif_uploadfs:
Uploading files to file system SPIFFS
@@ -129,7 +171,7 @@ You can pass additional options/flags to OTA uploader using
Available flags
* ``--port=ESP_PORT`` ESP8266 ota Port. Default 8266
* ``--port=ESP_PORT`` ESP8266 OTA Port. Default 8266
* ``--auth=AUTH`` Set authentication password
* ``--spiffs`` Use this option to transmit a SPIFFS image and do not flash
the module
@@ -173,9 +215,33 @@ Demo
.. image:: ../_static/platformio-demo-ota-esp8266.jpg
:target: https://www.youtube.com/watch?v=lXchL3hpDO4
Using Arduino Framework with Staging version
--------------------------------------------
1. Clone/Copy `main repository <https://github.com/esp8266/Arduino>`_ to
:ref:`projectconf_pio_home_dir` + ``packages/framework-arduinoespressif``
and create new file ``packages/framework-arduinoespressif/version.txt``
with the new version (for example, ``2.2.0``).
2. Try to build project
3. If you see build errors, then try to build this project using the same
``stage`` on Arduino IDE
4. If it works with Arduino IDE but doesn't work with PlatformIO, then please
`open new issue <https://github.com/platformio/platformio/issues>`_ with
attached information:
- test project/files
- detailed log of build process from Arduino IDE (please copy it from
console to http://pastebin.com)
- detailed log of build process from PlatformIO Build System (
please copy it from console to http://pastebin.com)
Articles
--------
* Mar 07, 2016 - **Joran Jessurun** - `Nieuwe wereld met PlatformIO (New world with PlatformIO, Dutch) <http://blog.wisclub.nl/#post178>`_
* Feb 25, 2016 - **NutDIY** - `PlatformIO Blink On Nodemcu Dev Kit V1.0 (ESP 12-E) <http://nutdiy.blogspot.com/2016/02/platformio-blink-on-nodemcu-dev-kit-v10.html>`_
* Feb 23, 2016 - **Ptarmigan Labs** - `ESP8266 Over The Air updating what are the options? <https://ptarmiganlabs.com/blog/2016/02/23/esp8266-over-the-air-updating-what-are-the-options/>`_
* Jan 16, 2016 - **Dani Eichhorn** - `ESP8266 Arduino IDE Alternative: PlatformIO <http://blog.squix.ch/2016/01/esp8266-arduino-ide-alternative.html>`_
* Dec 22, 2015 - **Jan Penninkhof** - `Over-the-Air ESP8266 programming using PlatformIO <http://www.penninkhof.com/2015/12/1610-over-the-air-esp8266-programming-using-platformio/>`_
* Dec 01, 2015 - **Tateno Yuichi** - `ESP8266 を CUI で開発する (Develop a ESP8266 in CUI, Japanese) <http://jaywiggins.com/platformio/arduino/avr/es8266/2015/09/30/platformio-investigation/>`_

View File

@@ -38,8 +38,9 @@ Packages
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
**Windows Users:** Please check that you have correctly installed USB driver
from board manufacturer
**Windows Users:** Please check that you have correctly installed USB
driver from board manufacturer
@@ -59,7 +60,7 @@ Boards
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by
horizontal.

View File

@@ -15,7 +15,7 @@ Platform ``linux_arm``
======================
Linux ARM is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X, Linux ARM) you can build native application for Linux ARM platform.
For more detailed information please visit `vendor site <http://platformio.org/#!/platforms/linux_arm>`_.
For more detailed information please visit `vendor site <http://platformio.org/platforms/linux_arm>`_.
.. contents::
@@ -50,7 +50,7 @@ Boards
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by
horizontal.

View File

@@ -15,7 +15,7 @@ Platform ``linux_i686``
=======================
Linux i686 (32-bit) is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X or Linux 32-bit) you can build native application for Linux i686 platform.
For more detailed information please visit `vendor site <http://platformio.org/#!/platforms/linux_i686>`_.
For more detailed information please visit `vendor site <http://platformio.org/platforms/linux_i686>`_.
.. contents::

View File

@@ -15,7 +15,7 @@ Platform ``linux_x86_64``
=========================
Linux x86_64 (64-bit) is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X or Linux 64-bit) you can build native application for Linux x86_64 platform.
For more detailed information please visit `vendor site <http://platformio.org/#!/platforms/linux_i686>`_.
For more detailed information please visit `vendor site <http://platformio.org/platforms/linux_i686>`_.
.. contents::

View File

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

View File

@@ -44,8 +44,9 @@ Packages
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
**Windows Users:** Please check that you have correctly installed USB driver
from board manufacturer
**Windows Users:** Please check that you have correctly installed USB
driver from board manufacturer
@@ -58,7 +59,7 @@ Frameworks
- Description
* - :ref:`framework_arduino`
- Arduino Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
- Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
* - :ref:`framework_mbed`
- The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
@@ -68,7 +69,7 @@ Boards
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by
horizontal.

View File

@@ -38,8 +38,9 @@ Packages
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
**Windows Users:** Please check that you have correctly installed USB driver
from board manufacturer
**Windows Users:** Please check that you have correctly installed USB
driver from board manufacturer
@@ -59,7 +60,7 @@ Boards
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by
horizontal.
@@ -169,7 +170,7 @@ NXP
- LPC1768
- 96 MHz
- 512 Kb
- 32 Kb
- 64 Kb
Outrageous Circuits
~~~~~~~~~~~~~~~~~~~
@@ -209,7 +210,7 @@ SeeedStudio
- LPC1768
- 96 MHz
- 512 Kb
- 32 Kb
- 64 Kb
Solder Splash Labs
~~~~~~~~~~~~~~~~~~
@@ -269,4 +270,4 @@ u-blox
- LPC1768
- 96 MHz
- 512 Kb
- 32 Kb
- 64 Kb

View File

@@ -38,8 +38,9 @@ Packages
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
**Windows Users:** Please check that you have correctly installed USB driver
from board manufacturer
**Windows Users:** Please check that you have correctly installed USB
driver from board manufacturer
@@ -59,7 +60,7 @@ Boards
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by
horizontal.

View File

@@ -53,8 +53,9 @@ Packages
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
**Windows Users:** Please check that you have correctly installed USB driver
from board manufacturer
**Windows Users:** Please check that you have correctly installed USB
driver from board manufacturer
@@ -83,7 +84,7 @@ Boards
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by
horizontal.
@@ -330,4 +331,24 @@ ST
- 1024 Kb
- 128 Kb
SeeedStudio
~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``seeedArchMax``
- `SeeedStudio Arch Max <https://developer.mbed.org/platforms/Seeed-Arch-Max/>`_
- STM32F407VET6
- 168 MHz
- 512 Kb
- 192 Kb
.. include:: ststm32_extra.rst

View File

@@ -13,7 +13,7 @@
Platform ``teensy``
===================
Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard "Mini-B" USB cable and a PC or Macintosh with a USB port.
Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
For more detailed information please visit `vendor site <https://www.pjrc.com/teensy>`_.
@@ -50,9 +50,13 @@ Packages
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
**Windows Users:** Please check that you have correctly installed USB driver
from board manufacturer
**Windows Users:** Teensy programming uses only Windows built-in HID
drivers. When Teensy is programmed to act as a USB Serial device,
Windows XP, Vista, 7 and 8 require `this serial driver
<http://www.pjrc.com/teensy/serial_install.exe>`_
is needed to access the COM port your program uses. No special driver
installation is necessary on Windows 10.
Frameworks
@@ -64,7 +68,7 @@ Frameworks
- Description
* - :ref:`framework_arduino`
- Arduino Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
- Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
* - :ref:`framework_mbed`
- The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
@@ -74,7 +78,7 @@ Boards
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by
horizontal.
@@ -125,3 +129,5 @@ Teensy
- 48 MHz
- 64 Kb
- 8 Kb
.. include:: teensy_extra.rst

View File

@@ -0,0 +1,20 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Examples
--------
All project examples are located in PlatformIO repository
`Examples for Teensy platform <https://github.com/platformio/platformio/tree/develop/examples/teensy>`_.
* `Wiring Blink <https://github.com/platformio/platformio/tree/develop/examples/wiring-blink>`_
* `HID Mouse <https://github.com/platformio/platformio/tree/develop/examples/teensy/teensy-hid-usb-mouse>`_
* `Chat Server <https://github.com/platformio/platformio/tree/develop/examples/teensy/teensy-internal-libs>`_

View File

@@ -44,8 +44,9 @@ Packages
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
**Windows Users:** Please check that you have correctly installed USB driver
from board manufacturer
**Windows Users:** Please check that you have correctly installed USB
driver from board manufacturer
@@ -58,17 +59,17 @@ Frameworks
- Description
* - :ref:`framework_arduino`
- Arduino Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
- Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
* - :ref:`framework_energia`
- Energia framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before.
- Energia Wiring-based framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before.
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by
horizontal.

View File

@@ -22,7 +22,7 @@ Examples
All project examples are located in PlatformIO repository
`Examples for TI MSP430 platform <https://github.com/platformio/platformio/tree/develop/examples/timsp430>`_.
* `PanStamp blink <https://github.com/platformio/platformio/tree/develop/examples/timsp430/panstamp-blink>`_
* `Energia blink <https://github.com/platformio/platformio/tree/develop/examples/timsp430/timsp430-energia-blink>`_
* `Native blink <https://github.com/platformio/platformio/tree/develop/examples/timsp430/timsp430-native-blink>`_
* `Wiring Blink <https://github.com/platformio/platformio/tree/develop/examples/wiring-blink>`_
* `PanStamp blink <https://github.com/platformio/platformio/tree/develop/examples/timsp430/panstamp-blink>`_

View File

@@ -47,8 +47,9 @@ Packages
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
**Windows Users:** Please check that you have correctly installed USB driver
from board manufacturer
**Windows Users:** Please check that you have correctly installed USB
driver from board manufacturer
@@ -61,7 +62,7 @@ Frameworks
- Description
* - :ref:`framework_energia`
- Energia framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before.
- Energia Wiring-based framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before.
* - :ref:`framework_libopencm3`
- The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
@@ -71,7 +72,7 @@ Boards
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by
horizontal.
@@ -108,3 +109,5 @@ TI
- 120 MHz
- 1024 Kb
- 256 Kb
.. include:: titiva_extra.rst

View File

@@ -0,0 +1,27 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Articles
--------
* Mar 12, 2016 - **Richard Arthurs** - `Getting Started With PlatformIO <http://richarthurs.com/2016/03/12/platformio-review-and-first-thoughts/>`_
See more :ref:`articles`.
Examples
--------
All project examples are located in PlatformIO repository
`Examples for TI TIVA platform <https://github.com/platformio/platformio/tree/develop/examples/titiva>`_.
* `Energia blink <https://github.com/platformio/platformio/tree/develop/examples/titiva/titiva-energia-blink>`_
* `Native blink <https://github.com/platformio/platformio/tree/develop/examples/titiva/titiva-native-blink>`_
* `OpenCM3 Blink <https://github.com/platformio/platformio/tree/develop/examples/titiva/titiva-opencm3-blink>`_

View File

@@ -15,7 +15,7 @@ Platform ``windows_x86``
========================
Windows x86 (32-bit) is a metafamily of graphical operating systems developed and marketed by Microsoft. Using host OS (Windows, Linux 32/64 or Mac OS X) you can build native application for Windows x86 platform.
For more detailed information please visit `vendor site <http://platformio.org/#!/platforms/windows_x86>`_.
For more detailed information please visit `vendor site <http://platformio.org/platforms/windows_x86>`_.
.. contents::

View File

@@ -97,7 +97,7 @@ This option can be overridden by global environment variable
``envs_dir``
^^^^^^^^^^^^
*PlatformIO Builder* within :ref:`cmd_run` command uses this folder for project
This is a cache directory. *PlatformIO Build System* uses this folder for project
environments to store compiled object files, static libraries, firmwares and
other cached information. It allows PlatformIO to build source code extremely
fast!
@@ -178,7 +178,7 @@ need to specify ``board_mcu``, ``board_f_cpu``, ``upload_protocol`` or
pre-fill options described above with appropriate values.
You can find the ``board`` type in *Boards* section of each :ref:`platforms` or
using `PlatformIO Embedded Boards Explorer <http://platformio.org/#!/boards>`_.
using `PlatformIO Embedded Boards Explorer <http://platformio.org/boards>`_.
Board options
@@ -205,9 +205,28 @@ format of this option is ``C-like long integer`` value with ``L`` suffix. The
1 Hertz is equal to ``1L``, then 16 Mhz (Mega Hertz) is equal to ``16000000L``.
The full list of ``board_f_cpu`` for the popular embedded platforms you can
find in *Boards* section of :ref:`platforms`. See "Frequency" column. You can
find in *Boards* section of :ref:`platforms`. See "Frequency" column. You can
overclock a board by specifying a ``board_f_cpu`` value other than the default.
.. _projectconf_board_f_flash:
``board_f_flash``
^^^^^^^^^^^^^^^^^
An option ``board_f_flash`` is used to define FLASH chip frequency (Hertz, Clock). A
format of this option is ``C-like long integer`` value with ``L`` suffix. The
1 Hertz is equal to ``1L``, then 40 Mhz (Mega Hertz) is equal to ``40000000L``.
This option isn't available for the all development platforms. The only
:ref:`platform_espressif` supports it.
.. _projectconf_board_flash_mode:
``board_flash_mode``
^^^^^^^^^^^^^^^^^^^^
Flash chip interface mode. This option isn't available for the all development
platforms. The only :ref:`platform_espressif` supports it.
Building options
~~~~~~~~~~~~~~~~
@@ -282,7 +301,10 @@ Example:
.. code-block:: ini
[env:specific_defines]
build_flags = -Dfoo -Dbar=1
build_flags = -DFOO -DBAR=1 -DFLOAT_VALUE=1.23457e+07
[env:string_defines]
build_flags = '-DHELLO="World!"' '-DWIFI_PASS="My password"'
[env:specific_inclibs]
build_flags = -I/opt/include -L/opt/lib -lfoo
@@ -335,8 +357,9 @@ be applied in theirs order.
`GLOB Patterns <http://en.wikipedia.org/wiki/Glob_(programming)>`_ are allowed.
By default, ``src_filter`` is predefined to
``+<*> -<.git/> -<svn/> -<example*/>``, which means "includes ALL files, then
exclude ``.git`` and ``svn`` repository folders and exclude ``examples`` folder.
``+<*> -<.git/> -<svn/> -<example/> -<examples/> -<test/> -<tests/>``,
which means "includes ALL files, then
exclude ``.git`` and ``svn`` repository folders, ``example`` ... folder.
This option can be set by global environment variable
:envvar:`PLATFORMIO_SRC_FILTER`.
@@ -413,6 +436,8 @@ When no targets are defined, *PlatformIO* will build only sources by default.
Uploading options
~~~~~~~~~~~~~~~~~
.. _projectconf_upload_port:
``upload_port``
^^^^^^^^^^^^^^^
@@ -428,6 +453,9 @@ automatically.
To print all available serial ports use :ref:`cmd_serialports` command.
This option can be set by global environment variable
:envvar:`PLATFORMIO_UPLOAD_PORT`.
``upload_protocol``
^^^^^^^^^^^^^^^^^^^
@@ -441,12 +469,17 @@ A protocol that "uploader" tool uses to talk to the board.
A connection speed (`baud rate <http://en.wikipedia.org/wiki/Baud>`_)
which "uploader" tool uses when sending firmware to board.
.. _projectconf_upload_flags:
``upload_flags``
^^^^^^^^^^^^^^^^
Extra flags for uploader. Will be added to the end of uploader command. If you
need to override uploader command or base flags please use :ref:`projectconf_extra_script`.
This option can be set by global environment variable
:envvar:`PLATFORMIO_UPLOAD_FLAGS`.
.. _projectconf_upload_resetmethod:
``upload_resetmethod``

View File

@@ -11,61 +11,250 @@
.. _quickstart:
Quickstart
==========
Quick Start
===========
.. hint::
Please read `Get Started <http://platformio.org/#!/get-started>`_
article from the official WebSite.
.. note::
If you are looking for a Qucik Start for PlatformIO IDE please follow to
:ref:`PlatformIO IDE Quick Start <atom_ide_quickstart>` page.
1. :ref:`Install PlatformIO <installation>`.
This tutorial introduces you to the basics of PlatformIO Command Line Interface
(CLI) workflow and shows you a creation process of a simple cross-platform
“Blink” Project. After finishing you will have a general understanding of how
to work with the multiple development platforms and embedded boards.
2. Find board ``type`` using `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
or via :ref:`cmd_boards` command.
Setting Up the Project
----------------------
3. Initialize new PlatformIO based project via :ref:`cmd_init` command with the
pre-configured environments for your boards:
PlatformIO CLI provides special :ref:`cmd_init` command for configuring your projects.
It allows to initialize new empty project or update existing with the new data.
What is more, :ref:`cmd_init` can be used for :ref:`ide`. It means that you will
be able to import pre-generated PlatformIO project using favourite IDE and
extend it with the professional instruments for IoT development.
This tutorial is based on the next popular embedded boards and development
platforms using *Arduino Wiring-based Framework*:
.. list-table::
:header-rows: 1
* - Platform
- Board
- Framework
* - Atmel AVR
- Arduino Uno (8-bit ATmega328P)
- Arduino Wiring-based Framework
* - Espressif
- NodeMCU 1.0 (32-bit ESP8266)
- Arduino Wiring-based Framework
* - Teensy
- Teensy 3.1 (32-bit ARM MK20DX256)
- Arduino Wiring-based Framework
Board Identifier
----------------
:ref:`cmd_init` command requires to specify board identifier (ID/TYPE). It can
be found using `Embedded Boards Explorer <http://platformio.org/boards>`_
or :ref:`cmd_boards` command. For example, using :ref:`cmd_boards` let's try
to find Teensy boards:
.. code-block:: bash
$ platformio init --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
> platformio boards teensy
The current working directory *** will be used for the new project.
You can specify another project directory via
`platformio init -d %PATH_TO_THE_PROJECT_DIR%` command.
Platform: teensy
---------------------------------------------------------------------------
Type MCU Frequency Flash RAM Name
---------------------------------------------------------------------------
teensy20 atmega32u4 16Mhz 31kB 2.5kB Teensy 2.0
teensy30 mk20dx128 48Mhz 128kB 16kB Teensy 3.0
teensy31 mk20dx256 72Mhz 256kB 64kB Teensy 3.1 / 3.2
teensylc mkl26z64 48Mhz 62kB 8kB Teensy LC
teensy20pp at90usb1286 16Mhz 127kB 8kB Teensy++ 2.0
The next files/directories will be created in ***
platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-|
src - Put your source files here
lib - Put here project specific (private) libraries
Do you want to continue? [y/N]: y
Project has been successfully initialized!
Useful commands:
`platformio run` - process/build project from the current directory
`platformio run --target upload` or `platformio run -t upload` - upload firmware to embedded board
`platformio run --target clean` - clean project (remove compiled files)
According to the table above the ID/TYPE for Teensy 3.1 is ``teensy31``. Also,
the ID for Arduino UNO is ``uno`` and for NodeMCU 1.0 (ESP-12E Module)
is ``nodemcuv2``.
Put your source files ``*.h, *.c, *.cpp or *.ino`` to ``src`` directory.
4. Process the project's environments.
Initialize Project
------------------
Change working directory to the project's root where is located
:ref:`Project Configuration File (platformio.ini) <projectconf>` and run:
PlatformIO ecosystem contains huge database with pre-configured settings for the
most popular embedded boards. It helps you to forget about installing
toolchains, writing build scripts or configuring uploading process. Just tell
PlatformIO the Board ID and you will receive full working project with
pre-installed instruments for the professional development.
1. Create empty folder where you are going to initialize new PlatformIO
project. Then open system Terminal and change directory to it:
.. code-block:: bash
# create new direcotry
> mkdir path_to_the_new_directory
# go to it
> cd path_to_the_new_directory
2. Initialize project for the boards mentioned above (you can specify more
than one board at time):
.. code-block:: bash
> platformio init --board uno --board nodemcuv2 --board teensy31
The current working directory *** will be used for the new project.
You can specify another project directory via
`platformio init -d %PATH_TO_THE_PROJECT_DIR%` command.
The next files/directories will be created in ***
platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-|
src - Put your source files here
lib - Put here project specific (private) libraries
Do you want to continue? [y/N]: y
Project has been successfully initialized!
Useful commands:
`platformio run` - process/build project from the current directory
`platformio run --target upload` or `platformio run -t upload` - upload firmware to embedded board
`platformio run --target clean` - clean project (remove compiled files)
Congrats! You have just created the first PlatformIO based Project with the
next structure:
* :ref:`projectconf`
* ``src`` directory where you should place source code
(``*.h, *.c, *.cpp, *.S, *.ino, etc.``)
* ``lib`` directory can be used for the project specific (private) libraries.
More details are located in ``lib/readme.txt`` file.
* Miscellaneous files for CVS and :ref:`ci` support.
.. note::
If you need to add new board to the existing project please use
:ref:`cmd_init` again.
The result of just generated ``platformio.ini``:
.. code-block:: ini
#
# Project Configuration File
#
# A detailed documentation with the EXAMPLES is located here:
# http://docs.platformio.org/en/latest/projectconf.html
#
# A sign `#` at the beginning of the line indicates a comment
# Comment lines are ignored.
# Simple and base environment
# [env:mybaseenv]
# platform = %INSTALLED_PLATFORM_NAME_HERE%
# framework =
# board =
#
# Automatic targets - enable auto-uploading
# targets = upload
[env:uno]
platform = atmelavr
framework = arduino
board = uno
[env:nodemcuv2]
platform = espressif
framework = arduino
board = nodemcuv2
[env:teensy31]
platform = teensy
framework = arduino
board = teensy31
Now, we need to create ``main.cpp`` file and place it to ``src`` folder of our
newly created project. The contents of ``src/main.cpp``:
.. code-block:: cpp
/**
* Blink
*
* Turns on an LED on for one second,
* then off for one second, repeatedly.
*/
#include "Arduino.h"
void setup()
{
// initialize LED digital pin as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
void loop()
{
// turn the LED on (HIGH is the voltage level)
digitalWrite(LED_BUILTIN, HIGH);
// wait for a second
delay(1000);
// turn the LED off by making the voltage LOW
digitalWrite(LED_BUILTIN, LOW);
// wait for a second
delay(1000);
}
The final Project structure:
.. code-block:: bash
$ platformio run
# if you don't have specified `targets = upload` option for environment,
# then you can upload firmware manually with this command:
$ platformio run --target upload
# clean project
$ platformio run --target clean
project_dir
├── lib
│   └── readme.txt
├── platformio.ini
└── src
└── main.cpp
Useful links:
Process Project
---------------
PlatformIO CLI provides special :ref:`cmd_run` command to process project. If
you call it without any arguments, PlatformIO Build System will process all
project environments (which were created per each board specified above). Here
are a few useful commands:
* ``platformio run``. Process (build) all environments specified in
:ref:`projectconf`
* ``platformio run --target upload``. Build project and upload firmware to the
all devices specified in :ref:`projectconf`
* ``platformio run --target clean``. Clean project (delete compiled objects)
* ``platformio run -e uno``. Process only ``uno`` environment
* ``platformio run -e uno -t upload``. Build project only for ``uno`` and upload
firmware.
Please follow to :option:`platformio run --target` documentation for the other
targets.
Finally, demo which demonstrates building project and uploading firmware to
Arduino Uno:
.. image:: _static/platformio-demo-wiring.gif
Further Reading
---------------
* `Project examples <https://github.com/platformio/platformio/tree/develop/examples>`_
* :ref:`userguide` for PlatformIO commands
* `Quickstart for Espressif ESP8266 <https://github.com/esp8266/Arduino/blob/master/doc/platformio.md>`_
* :ref:`userguide` for PlatformIO CLI commands

View File

@@ -33,15 +33,11 @@ Initialize new PlatformIO based project or update existing with new data.
This command will create:
* :ref:`projectconf`
* ``src`` - a source directory. Put your source files here
* ``lib`` - a directory for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file
* ``.travis.yml`` configuration file (template) for Continuous Integration
with :ref:`ci_travis`
.. note::
The source code of each library should be placed in separate directory.
For example, ``lib/private_lib/[here are source files]``.
* ``src`` directory where you should place source code
(``*.h, *.c, *.cpp, *.S, *.ino, etc.``)
* ``lib`` directory can be used for the project specific (private) libraries.
More details are located in ``lib/readme.txt`` file.
* Miscellaneous files for CVS and :ref:`ci` support.
Options
-------

View File

@@ -95,7 +95,7 @@ Description
~~~~~~~~~~~
This is a console application that provides a small terminal
application. It is based on `Miniterm <http://pyserial.sourceforge.net/examples.html#miniterm>`_
application. It is based on `Miniterm <https://pythonhosted.org/pyserial/examples.html#miniterm>`_
and itself does not implement any terminal features such
as *VT102* compatibility. However it inherits these features from the terminal
it is run. For example on GNU/Linux running from an *xterm* it will support the

View File

@@ -28,7 +28,7 @@ Description
-----------
Install new library by specified
`PlatformIO Library Registry ID <http://platformio.org/#!/lib>`_.
`PlatformIO Library Registry ID <http://platformio.org/lib>`_.
Options
-------
@@ -48,7 +48,7 @@ Examples
.. code-block:: bash
# IRremote: http://platformio.org/#!/lib/show/4/IRremote
# IRremote: http://platformio.org/lib/show/4/IRremote
$ platformio lib install 4
# Installing library [ 4 ]:
# Downloading [####################################] 100%
@@ -60,7 +60,7 @@ Examples
.. code-block:: bash
# XBee: http://platformio.org/#!/lib/show/6/XBee
# XBee: http://platformio.org/lib/show/6/XBee
$ platformio lib install 6 --version=0.5
# Installing library [ 6 ]:
# Downloading [####################################] 100%
@@ -72,7 +72,7 @@ Examples
.. code-block:: bash
# Adafruit-ST7735: http://platformio.org/#!/lib/show/12/Adafruit-ST7735
# Adafruit-ST7735: http://platformio.org/lib/show/12/Adafruit-ST7735
$ platformio lib install 12
# Installing library [ 12 ]:
# Downloading [####################################] 100%

View File

@@ -27,7 +27,7 @@ Usage
Description
-----------
Search for library in `PlatformIO Library Registry <http://platformio.org/#!/lib>`_
Search for library in `PlatformIO Library Registry <http://platformio.org/lib>`_
by :ref:`library_config` fields in the boolean mode.
The boolean search capability supports the following operators:
@@ -121,7 +121,7 @@ Examples
# Show next libraries? [y/N]:
# ...
2. Search for `1-Wire libraries <http://platformio.org/#!/lib/search?query=%25221-wire%2522>`_
2. Search for `1-Wire libraries <http://platformio.org/lib/search?query=%25221-wire%2522>`_
.. code-block:: bash
@@ -133,7 +133,7 @@ Examples
# [ 1 ] OneWire arduino, atmelavr "Paul Stoffregen": Control devices (from Dallas Semiconductor) that use the One Wire protocol (DS18S20, DS18B20, DS2408 and etc)
# ...
3. Search for `Arduino-based "I2C" libraries <http://platformio.org/#!/lib/search?query=framework%253Aarduino%2520i2c>`_
3. Search for `Arduino-based "I2C" libraries <http://platformio.org/lib/search?query=framework%253Aarduino%2520i2c>`_
.. code-block:: bash
@@ -148,7 +148,7 @@ Examples
# [ 14 ] Adafruit-9DOF-Unified arduino, atmelavr "Adafruit Industries": Unified sensor driver for the Adafruit 9DOF Breakout (L3GD20 / LSM303)
# ...
4. Search for `libraries by "web" and "http" keywords <http://platformio.org/#!/lib/search?query=keyword%253A%2522web%2522%2520keyword%253A%2522http%2522>`_.
4. Search for `libraries by "web" and "http" keywords <http://platformio.org/lib/search?query=keyword%253A%2522web%2522%2520keyword%253A%2522http%2522>`_.
.. code-block:: bash
@@ -161,7 +161,7 @@ Examples
# [ 17 ] Adafruit-CC3000 arduino, atmelavr "Adafruit Industries": Library code for Adafruit's CC3000 Wi-Fi/WiFi breakouts
# ...
5. Search for `libraries by "Adafruit Industries" author <http://platformio.org/#!/lib/search?query=author%253A%2522Adafruit%20Industries%2522>`_
5. Search for `libraries by "Adafruit Industries" author <http://platformio.org/lib/search?query=author%253A%2522Adafruit%20Industries%2522>`_
.. code-block:: bash
@@ -176,7 +176,7 @@ Examples
# [ 26 ] Adafruit-LSM303DLHC-Unified arduino, atmelavr "Adafruit Industries": Unified sensor driver for Adafruit's LSM303 Breakout (Accelerometer + Magnetometer)
# ...
6. Search for `libraries which are compatible with Dallas temperature sensors <http://platformio.org/#!/lib/search?query=DS*>`_
6. Search for `libraries which are compatible with Dallas temperature sensors <http://platformio.org/lib/search?query=DS*>`_
like DS18B20, DS18S20 and etc.
.. code-block:: bash
@@ -189,7 +189,7 @@ Examples
# [ 1 ] OneWire arduino, atmelavr "Paul Stoffregen": Control devices (from Dallas Semiconductor) that use the One Wire protocol (DS18S20, DS18B20, DS2408 and etc)
# ...
7. Search for `Energia-based *nRF24* or *HttpClient* libraries <http://platformio.org/#!/lib/search?query=framework%253Aenergia%2520%252B(nRF24%2520HttpClient)>`_.
7. Search for `Energia-based *nRF24* or *HttpClient* libraries <http://platformio.org/lib/search?query=framework%253Aenergia%2520%252B(nRF24%2520HttpClient)>`_.
The search query that is described below can be interpreted like
``energia nRF24 OR energia HttpClient``
@@ -204,7 +204,7 @@ Examples
# [ 43 ] nRF24 energia, timsp430 "Eric": The nRF24L01 is a low-cost 2.4GHz ISM transceiver module. It supports a number of channel frequencies in the 2.4GHz band and a range of data rates.
8. Search for the `all sensor libraries excluding temperature <http://platformio.org/#!/lib/search?query=sensor%2520-temperature>`_.
8. Search for the `all sensor libraries excluding temperature <http://platformio.org/lib/search?query=sensor%2520-temperature>`_.
.. code-block:: bash

View File

@@ -35,7 +35,7 @@ Examples
.. code-block:: bash
# OneWire: http://platformio.org/#!/lib/show/1/OneWire
# OneWire: http://platformio.org/lib/show/1/OneWire
$ platformio lib show 1
# OneWire
# -------

View File

@@ -35,6 +35,6 @@ Examples
.. code-block:: bash
# XBee: http://platformio.org/#!/lib/show/6/XBee
# XBee: http://platformio.org/lib/show/6/XBee
$ platformio lib uninstall 6
# The library #6 'XBee' has been successfully uninstalled!

View File

@@ -21,6 +21,7 @@ To print all available commands and options use:
$ platformio lib --help
$ platformio lib COMMAND --help
.. image:: ../../_static/platformio-demo-lib.gif
.. toctree::
:maxdepth: 2

View File

@@ -21,6 +21,7 @@ To print all available commands and options use:
$ platformio platforms --help
$ platformio platforms COMMAND --help
.. image:: ../../_static/platformio-demo-platforms.gif
.. toctree::
:maxdepth: 2

105
docs/what-is-platformio.rst Normal file
View File

@@ -0,0 +1,105 @@
.. 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.
.. _what_is_pio:
What is PlatformIO?
===================
.. contents::
Press about PlatformIO
----------------------
"Different microcontrollers normally have different developing tools .
For instance Arduino rely on Arduino IDE. Few more advanced users set up different
graphical interfaces like Eclipse for better project management. Sometimes
it may be hard to keep up with different microcontrollers and tools. You
probably thought that single unified development tool could be great. Well
this is what PlatformIO open source ecosystem is for.
This is cross platform code builder and library manager with platforms like
Arduino or MBED support. They took care of toolchains, debuggers, frameworks
that work on most popular platforms like Windows, Mac and Linux. It supports
more than 200 development boards along with more than 15 development platforms
and 10 frameworks. So most of popular boards are covered. Theyve done hard
work in organizing and managing hundreds of libraries that can be included
in to your project. Also lots of examples allow you to start developing
quickly. PlatformIO initially was developed with Command line philosophy.
Its been successfully used with other IDEs like Eclipse or Visual Studio.
Recently theyve released a version with built in IDE based on Atom text editor", -
[Embedds]_.
Awards
------
PlatformIO was nominated for the year's `best Software and Tools in the 2015/16 IoT Awards <http://iotawards.postscapes.com/2015-16/best-iot-software-and-tools>`_.
Problematic
-----------
* The main problem which repulses people from embedded world is a complicated
process to setup development software for a specific MCU/board: toolchains,
proprietary vendors IDE (which sometimes isnt free) and what is more,
to get a computer with OS where that software is supported.
* Multiple hardware platforms (MCUs, boards) require different toolchains,
IDEs, etc, and, respectively, spending time on learning new development environments.
* Finding proper libraries and code samples showing how to use popular
sensors, actuators, etc.
* Sharing embedded projects between team members, regardless of operating
system they prefer to work with.
Overview
--------
PlatformIO is independent from the platform, in which it is running. In fact,
the only requirement is Python, which exists pretty much everywhere. What this
means is that PlatformIO projects can be easily moved from one computer to
another, as well as that PlatformIO allows for the easy sharing of projects
between team members, regardless of operating system they prefer to work with.
Beyond that, PlatformIO can be run not only on commonly used desktops/laptops
but also on the servers without X Window System. While PlatformIO itself is a
console application, it can be used in combination with one's favorite
:ref:`ide` or text editor such as :ref:`ide_atom`, :ref:`ide_clion`,
:ref:`ide_eclipse`, :ref:`ide_emacs`, :ref:`ide_netbeans`, :ref:`ide_qtcreator`,
:ref:`ide_sublimetext`, :ref:`ide_vim`, :ref:`ide_visualstudio`, etc.
Alright, so PlatformIO can run on different operating systems. But more
importantly, from development perspective at least, is a list of supported
boards and MCUs. To keep things short: PlatformIO supports approximately 200
`Embedded Boards <http://platformio.org/boards>`_ and all major
:ref:`Development Platforms <platforms>`.
User SHOULD have a choice
-------------------------
* Decide which operation system they want to run development process on.
You can even use one OS at home and another at work.
* Choose which editor to use for writing the code. It can be pretty simple
editor or powerful favorite :ref:`ide`.
* Focus on the code development, significantly simplifying support for the
:ref:`platforms` and MCUs.
How does it work?
-----------------
Without going too deep into PlatformIO implementation details, work cycle of
the project developed using PlatformIO is as follows:
* Users choose board(s) interested in :ref:`projectconf`
* Based on this list of boards, PlatformIO downloads required toolchains and
installs them automatically.
* Users develop code and PlatformIO makes sure that it is compiled, prepared
and uploaded to all the boards of interest.
.. [Embedds] Embedds.com: `Develop easier with PlatformIO ecosystem <http://www.embedds.com/develop-easier-with-platformio-ecosystem/>`_

View File

@@ -1 +1,2 @@
.pioenvs
.pioenvs
CMakeListsPrivate.txt

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

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="PROJECT" charset="UTF-8" />
</component>
</project>

View File

@@ -1,58 +1,51 @@
cmake_minimum_required(VERSION 3.2)
project(clion)
set(PLATFORMIO_CMD platformio)
include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoavr/variants/standard")
include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoavr/cores/arduino")
include_directories("$ENV{HOME}/.platformio/packages/toolchain-atmelavr/avr/include")
include_directories("$ENV{HOME}/.platformio/packages/toolchain-atmelavr/bfd/include")
include_directories("$ENV{HOME}/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include")
include_directories("$ENV{HOME}/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include-fixed")
add_definitions(-DF_CPU=16000000L)
add_definitions(-DARDUINO_ARCH_AVR)
add_definitions(-DARDUINO_AVR_UNO)
add_definitions(-DARDUINO=10607)
add_definitions(-DPLATFORMIO=020701)
add_definitions(-D__AVR_ATmega328P__)
add_custom_target(
PLATFORMIO_BUILD ALL
COMMAND ${PLATFORMIO_CMD} -f -c clion run
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_custom_target(
PLATFORMIO_UPLOAD ALL
COMMAND ${PLATFORMIO_CMD} -f -c clion run --target upload
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_custom_target(
PLATFORMIO_CLEAN ALL
COMMAND ${PLATFORMIO_CMD} -f -c clion run --target clean
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_custom_target(
PLATFORMIO_PROGRAM ALL
COMMAND ${PLATFORMIO_CMD} -f -c clion run --target program
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_custom_target(
PLATFORMIO_UPLOADFS ALL
COMMAND ${PLATFORMIO_CMD} -f -c clion run --target uploadfs
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_custom_target(
PLATFORMIO_UPDATE_ALL ALL
COMMAND ${PLATFORMIO_CMD} -f -c clion update
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_executable(clion
src/blink.cpp
)
cmake_minimum_required(VERSION 3.2)
project(clion)
include(CMakeListsPrivate.txt)
add_definitions(-DF_CPU=16000000L)
add_definitions(-DARDUINO_ARCH_AVR)
add_definitions(-DARDUINO_AVR_UNO)
add_definitions(-DARDUINO=10607)
add_definitions(-DPLATFORMIO=020805)
add_definitions(-D__AVR_ATmega328P__)
add_custom_target(
PLATFORMIO_BUILD ALL
COMMAND ${PLATFORMIO_CMD} -f -c clion run
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_custom_target(
PLATFORMIO_UPLOAD ALL
COMMAND ${PLATFORMIO_CMD} -f -c clion run --target upload
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_custom_target(
PLATFORMIO_CLEAN ALL
COMMAND ${PLATFORMIO_CMD} -f -c clion run --target clean
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_custom_target(
PLATFORMIO_PROGRAM ALL
COMMAND ${PLATFORMIO_CMD} -f -c clion run --target program
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_custom_target(
PLATFORMIO_UPLOADFS ALL
COMMAND ${PLATFORMIO_CMD} -f -c clion run --target uploadfs
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_custom_target(
PLATFORMIO_UPDATE_ALL ALL
COMMAND ${PLATFORMIO_CMD} -f -c clion update
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_executable(clion
src/blink.cpp
)

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