Compare commits

..

730 Commits

Author SHA1 Message Date
Ivan Kravets
e2e28c7444 Merge branch 'release/v3.1.0' 2016-09-19 21:12:56 +03:00
Ivan Kravets
b06c20a1a6 Version bump to 3.1.0 (issues #611, #705, #774, #777, #785) 2016-09-19 21:12:40 +03:00
Ivan Kravets
a3ce23e331 Improvements to docs 2016-09-19 21:02:12 +03:00
Ivan Kravets
6147e0e29b Add example with upload_port 2016-09-19 15:32:11 +03:00
Ivan Kravets
da48ea3818 Improve a work in off-line mode 2016-09-19 15:10:28 +03:00
Ivan Kravets
543a137506 Fix udev.rules warning under Linux Mint 2016-09-18 23:48:10 +03:00
Ivan Kravets
02e7ff6b19 Cosmetic change 2016-09-18 01:41:31 +03:00
Ivan Kravets
935894633c Correct processing summary 2016-09-18 01:21:40 +03:00
Ivan Kravets
9b0bc500fd Summary about processed environments // Resolve #777 2016-09-18 01:11:55 +03:00
Ivan Kravets
83b6bf6c6a Remove test code 2016-09-17 23:50:36 +03:00
Ivan Kravets
5e6469596c Dynamic variables/templates for "platformio.ini" // Resolve #705 2016-09-17 23:46:53 +03:00
Ivan Kravets
c12df19fd1 Fix Project Generator for CLion IDE using Windows OS // Resolve #785 2016-09-17 18:13:39 +03:00
Ivan Kravets
37552a81fc Fix Project Generator for CLion IDE using Windows OS // Resolve #785 2016-09-17 16:55:42 +03:00
Ivan Kravets
e50327bccc Deprecate `lib_force option, please use lib_deps` instead 2016-09-17 16:32:16 +03:00
Ivan Kravets
7dc378bba7 Update examples 2016-09-17 00:24:29 +03:00
Ivan Kravets
72b6390613 Minor updates 2016-09-17 00:02:01 +03:00
Ivan Kravets
52bb6fcbf0 Add dozens of new boards 2016-09-16 23:48:21 +03:00
Ivan Kravets
63748cd83d Add support for Teensy 3.5 and 3.6 boards; Updated Arduino Framework for Teensy to v130 2016-09-16 01:00:50 +03:00
Ivan Kravets
254dcac149 Add Bintray as mirror for development platform manifests 2016-09-15 21:31:56 +03:00
Ivan Kravets
e1f3a248ea Add step with manual installation of ESP8266 Stage 2016-09-15 01:45:36 +03:00
Ivan Kravets
74a8e88308 Rename stage version of esp8266 2016-09-15 01:39:03 +03:00
Ivan Kravets
9c15fed722 Fix issue with escaping platform name 2016-09-15 01:30:51 +03:00
Ivan Kravets
a14dec70c2 Simplify ESP8266-stage using 2016-09-15 01:28:41 +03:00
Ivan Kravets
18153d4168 Cleanup platform name before initialization 2016-09-15 01:17:16 +03:00
Ivan Kravets
bd30de4f18 ESP8266: Using Arduino Framework with Staging version 2016-09-14 23:42:26 +03:00
Ivan Kravets
3b6bda825b Update a complex test for platform install command 2016-09-14 23:26:51 +03:00
Ivan Kravets
92e69a60f4 Fix typo 2016-09-14 23:10:46 +03:00
Ivan Kravets
72084a2013 Fix issue with cache cleaning 2016-09-14 22:50:14 +03:00
Ivan Kravets
27df09533c Clean cache before upgrade 2016-09-14 22:32:35 +03:00
Ivan Kravets
bd207667e3 Implement LocalCache system for API and improve a work in off-line mode 2016-09-14 19:06:22 +03:00
Ivan Kravets
37eb37e2a1 Improve a work in off-line mode 2016-09-14 14:55:07 +03:00
Ivan Kravets
7116deaf54 Allow to initialize project in off-line mode 2016-09-14 14:46:10 +03:00
Ivan Kravets
d2a45245e2 Fix linter warnings 2016-09-13 20:39:04 +03:00
Ivan Kravets
05bbd4a7f8 Improve Project Generator when custom `--project-option is passed to platformio init` command 2016-09-13 19:22:19 +03:00
Ivan Kravets
8199272328 Better checking of available package updates 2016-09-13 18:53:17 +03:00
Ivan Kravets
33b5e18582 Use stable documentation 2016-09-13 17:36:36 +03:00
Ivan Kravets
eae152959b Minor change to BoardConfig() API 2016-09-13 17:36:20 +03:00
Ivan Kravets
35cbbeb457 Fix downloader with Unicode path // Resolve #771 2016-09-12 19:54:28 +03:00
Ivan Kravets
96f7c7c0b0 Add new article by Pedro Minatel 2016-09-12 19:24:24 +03:00
Ivan Kravets
ac7743e217 Rename setting DISABLE_SSL to ENABLE_DISABLE and set it to No by default 2016-09-12 02:11:04 +03:00
Ivan Kravets
7d10041727 Fix test 2016-09-10 23:42:51 +03:00
Ivan Kravets
72a18125ee Fix test 2016-09-10 19:07:24 +03:00
Ivan Kravets
1bd893409d Install empty dev platform in processing mode 2016-09-10 18:58:18 +03:00
Ivan Kravets
d9d5ee15fd Fix default package configurator 2016-09-10 18:49:59 +03:00
Ivan Kravets
78c86446cf Fix RegExp for line error 2016-09-10 17:27:47 +03:00
Ivan Kravets
2a9ba3821a Support PlatformIO Plus 2016-09-10 16:39:27 +03:00
Ivan Kravets
4328d311a5 Remove obsolete defines 2016-09-09 23:18:00 +03:00
Ivan Kravets
a42cf4ebdd Fix incorrect line order when converting from INO to CPP and pointer is used 2016-09-09 18:49:58 +03:00
Ivan Kravets
39a787b0d1 Fix unit test 2016-09-09 18:26:38 +03:00
Ivan Kravets
f186ad30c1 Notify about version field when creating library 2016-09-09 18:08:18 +03:00
Ivan Kravets
160ae3fb60 Add support for SparkFun Blynk Board 2016-09-08 21:39:30 +03:00
Ivan Kravets
80d74c608d Return valid exit code from `plaformio test` command 2016-09-08 16:17:58 +03:00
Ivan Kravets
df4560412d Disable SSL Server-Name-Indication for Python < 2.7.9 2016-09-08 13:50:45 +03:00
Ivan Kravets
dab4c91c98 Merge branch 'release/v3.0.1' into develop 2016-09-08 02:00:07 +03:00
Ivan Kravets
dd20c4273b Merge branch 'release/v3.0.1' 2016-09-08 02:00:06 +03:00
Ivan Kravets
cf5023436c Version bump to 3.0.1 (issue #772) 2016-09-08 01:59:54 +03:00
Ivan Kravets
ff312f0405 Disable temporary SSL for PlatformIO services // Resolve #772 2016-09-08 01:57:50 +03:00
Ivan Kravets
9012ed256c Merge branch 'release/v3.0.0' into develop 2016-09-07 20:50:47 +03:00
Ivan Kravets
0a63b8b905 Merge branch 'release/v3.0.0' 2016-09-07 20:50:46 +03:00
Ivan Kravets
f78c9436c8 Version bump to 3.0.0 (issues #770, #766, #747, #730, #765, #640, #659, #742, #459, #542, #763, #759, #753, #757, #749, #748, #745, #519, #709, #743, #413, #498, #410, #740, #361, #414, #554, #732, #588, #475, #461, #101, #719, #721, #537, #415, #522, #289, #556, #570, #456, #617, #432, #408, #479, #667, #510) 2016-09-07 20:50:34 +03:00
Ivan Kravets
578d8910aa Fix menu height for docs 2016-09-07 19:16:05 +03:00
Ivan Kravets
cd45749c82 Fix issue with multiple archives when linking firmware 2016-09-07 19:05:15 +03:00
Ivan Kravets
3069abfe13 Add migration guide for PIO2 to PIO3 2016-09-07 18:50:25 +03:00
Ivan Kravets
f7b994354b Search libraries by headers/includes with `platformio lib search --header` option 2016-09-07 18:50:09 +03:00
Ivan Kravets
a28e04bfde Update pio run command examples 2016-09-07 15:56:53 +03:00
Ivan Kravets
960de87585 Add Unit Testing Demo 2016-09-07 15:46:48 +03:00
Ivan Kravets
f525165758 Update PIO Plus badge title and link 2016-09-07 13:51:59 +03:00
Ivan Kravets
9e3b2a381e Add PlatformIO Plus badge 2016-09-07 13:50:47 +03:00
Ivan Kravets
f6491b2285 Add links to PlatformIO Plus 2016-09-07 13:47:42 +03:00
Ivan Kravets
93aa0c2b08 Test PlatformIO 3.0 packages 2016-09-04 18:25:28 +03:00
Ivan Kravets
0f300a24a1 Fix issue with archive downloader 2016-09-04 12:03:57 +03:00
Ivan Kravets
a05d192beb Implement installing packages/libraries from different archive (with/without manifests) // Resolve #767 2016-09-04 00:35:47 +03:00
Ivan Kravets
fda7392b84 Rename "espressif" platform to "espressif8266" 2016-09-03 19:35:40 +03:00
Ivan Kravets
6036c54b05 Fix broken URL for Teensy site 2016-09-03 17:07:10 +03:00
Ivan Kravets
7f1b569d6f Update docs for embedded platforms, frameworks and boards 2016-09-03 16:26:52 +03:00
Ivan Kravets
c8849a4648 Extend JSON output when listing installed development platforms 2016-09-03 14:59:50 +03:00
Ivan Kravets
e2d2295866 Handle url with ".git" extension as Git package/library 2016-09-03 01:27:34 +03:00
Ivan Kravets
d4ffc89c02 Merge branch 'feature/test-plus' into develop 2016-09-02 23:49:38 +03:00
Ivan Kravets
139bd4c10a Export library path for PlatformIO Plus 2016-09-02 23:30:24 +03:00
Ivan Kravets
21d34482da Fix package manager when "git@url" is used 2016-09-02 22:41:27 +03:00
Ivan Kravets
9b2999d64b Fix test for "pio test" 2016-09-02 22:23:26 +03:00
Ivan Kravets
65b5f20cf7 Fix typo in docs 2016-09-02 18:50:14 +03:00
Ivan Kravets
ec035c25a1 Improve "clean" target // Resolve #747 2016-09-02 18:45:19 +03:00
Ivan Kravets
a1cb089d0d Add new articles 2016-09-02 16:55:11 +03:00
Ivan Kravets
424d5e71a8 Minor improvements to docs 2016-09-02 16:45:08 +03:00
Ivan Kravets
a48201f60f Skip converting if INO nodes are not found 2016-09-02 15:19:54 +03:00
Ivan Kravets
6442c86084 Fix INO to CPP converter when #define is used 2016-09-02 14:35:07 +03:00
Ivan Kravets
b06dc1e63f Bump new version 2016-09-02 00:46:06 +03:00
Ivan Kravets
bbe6550abe Fix Sphinx warnings 2016-09-02 00:22:12 +03:00
Ivan Kravets
b8af2acce5 Fix issue with converting INO to CPP and missing line number 2016-09-01 23:19:46 +03:00
Ivan Kravets
6b63ae2e46 Ignore warning when can't delete temporary file 2016-09-01 21:56:43 +03:00
Ivan Kravets
85439dbff7 Allow to use dependencies separated with comma + space 2016-09-01 21:34:37 +03:00
Ivan Kravets
b6269188fe Fix indention 2016-09-01 20:02:12 +03:00
Ivan Kravets
bb62444f15 Handle C multiline strings when converting INO to CPP // Resolve #765 2016-09-01 19:08:32 +03:00
Ivan Kravets
ac4c054d1f Implement retrying mechanism for get results from PlatformIO API 2016-09-01 16:05:02 +03:00
Ivan Kravets
838063b1b7 Allow passing custom project configuration options to `platformio ci and platformio init commands using -O, --project-option`. 2016-09-01 15:14:38 +03:00
Ivan Kravets
c51ac0489f Use global library storage for CI 2016-09-01 01:30:14 +03:00
Ivan Kravets
0e464b011f Improve Library Dependency Finder in mode=1 2016-09-01 00:06:34 +03:00
Ivan Kravets
86aa7ad692 Temporary enable LDF_MODE=2 before refactoring 2016-08-31 20:28:26 +03:00
Ivan Kravets
013c675bc4 Allow to control library dependency finder mode from library.json; set ldf_mode to 1 by default 2016-08-31 18:52:27 +03:00
Ivan Kravets
3be35f9987 Introduce PlatformIO Plus 2016-08-31 16:07:35 +03:00
Ivan Kravets
86794d2cf1 Don't check program path 2016-08-31 14:13:09 +03:00
Ivan Kravets
c3004c6a6c Disable HG testing 2016-08-31 13:15:40 +03:00
Ivan Kravets
3a7b0d2c9d Fix INO to CPP converting when 2-tokens type is used 2016-08-31 12:49:10 +03:00
Ivan Kravets
1b32091d7d Fix broken Unit Testing 2016-08-31 02:06:43 +03:00
Ivan Kravets
7a88778f5e Improve INO to CPP converter // Resolve #659 2016-08-31 01:47:57 +03:00
Ivan Kravets
e703054716 Update INO2CPP examples 2016-08-31 01:26:08 +03:00
Ivan Kravets
c33a745862 Fix wrong line number for INO file when `#warning` directive is used // Resolve #742 2016-08-31 01:03:13 +03:00
Ivan Kravets
a94aa898a6 Remove temporary INO/CPP file at process exit 2016-08-31 00:34:23 +03:00
Ivan Kravets
8a379d2db2 Refactor INO to CPP converter 2016-08-31 00:16:23 +03:00
Ivan Kravets
34a860cfa6 Limit max sources length for Win to 6000 chars 2016-08-30 23:09:53 +03:00
Ivan Kravets
d0d139511c Skip unknown packages while updating 2016-08-30 20:38:00 +03:00
Ivan Kravets
dec5529a64 Cleanup not used packages after update 2016-08-29 22:25:38 +03:00
Ivan Kravets
64520130f6 Add development packages 2016-08-29 22:19:56 +03:00
Ivan Kravets
d516d31b30 Remove unused import 2016-08-29 22:07:21 +03:00
Ivan Kravets
5d2f42a5a8 Cleanup PackageManager 2016-08-29 22:06:37 +03:00
Ivan Kravets
f8e70c9362 Improve detecting of Python EXE Path 2016-08-29 20:20:12 +03:00
Ivan Kravets
023e2978ba Disable platforms patching (while PIO3 is not released) 2016-08-29 14:56:55 +03:00
Ivan Kravets
0f8f9c94cd Make less verbose AS command 2016-08-29 14:10:09 +03:00
Ivan Kravets
22bb1c39b1 Handle EOL when update VCS ignore file 2016-08-29 13:35:35 +03:00
Ivan Kravets
6765a60ec3 Minor improvements 2016-08-28 00:03:54 +03:00
Ivan Kravets
d28f0b259a Generate better UID 2016-08-27 23:15:32 +03:00
Ivan Kravets
6894d2c5d2 Allow to pass project file path to run command instead project dir 2016-08-27 20:32:21 +03:00
Ivan Kravets
7b474c69ab PyLint fix 2016-08-27 19:30:53 +03:00
Ivan Kravets
e232810325 Improve output in non verbose mode 2016-08-27 19:30:38 +03:00
Ivan Kravets
4ba3625987 Update comment header for platformio.ini 2016-08-27 12:14:43 +03:00
Ivan Kravets
99dfc23d96 Update supported manifests for Library Registry 2016-08-26 20:22:32 +03:00
Ivan Kravets
84abc5764d Improve docs for library.json build field 2016-08-26 19:11:35 +03:00
Ivan Kravets
8e09d637e7 Improve compatibility with Arduino 1.0 library format 2016-08-26 18:52:44 +03:00
Ivan Kravets
37dff70cd6 Replace TYPE for board/platform with ID // Resolve #459 2016-08-26 16:09:52 +03:00
Ivan Kravets
3e403ef9ee Add example with Library Manager 2016-08-26 14:57:21 +03:00
Ivan Kravets
8d8bfd5587 Document version option for dependencies field in library.json 2016-08-26 14:44:45 +03:00
Ivan Kravets
054790d161 Use stderr stream to write errors instead env.Exi() 2016-08-26 14:39:23 +03:00
Ivan Kravets
c637729eae Rename `platformio serialports command to platformio device` 2016-08-26 14:25:50 +03:00
Ivan Kravets
6e26ce8162 Better exception handling 2016-08-26 12:30:37 +03:00
Ivan Kravets
f9e8ea66ea Remove `enable_prompts` setting. Now, all PlatformIO CLI is non-blocking! 2016-08-26 11:46:59 +03:00
Ivan Kravets
de62e5082e Handle WindowsError when can't create .pioenvs directory 2016-08-26 01:42:05 +03:00
Ivan Kravets
6ff99e4ddd Show error when boards manifest doesn't contain required fields 2016-08-26 01:29:26 +03:00
Ivan Kravets
8cc54bf9be Switch to SSL PlatformIO API 2016-08-25 22:57:52 +03:00
Ivan Kravets
012d33146c Use HTTPS PlatformIO API 2016-08-25 21:02:20 +03:00
Ivan Kravets
1e4ea2dde9 Minor fix 2016-08-25 20:47:39 +03:00
Ivan Kravets
1aabf0ebf5 Build System: Attach custom Before/Pre and After/Post actions for targets // Resolve #542 2016-08-25 20:40:14 +03:00
Ivan Kravets
f51781c763 Add new article 2016-08-25 18:47:39 +03:00
Ivan Kravets
b1cebe9e0e Fix unicode issue when search libraries 2016-08-25 14:21:46 +03:00
Ivan Kravets
a352318f0f Update broken links to issues 2016-08-25 14:18:09 +03:00
Ivan Kravets
62f1f93ad9 Update history of development platforms 2016-08-25 14:14:58 +03:00
Ivan Kravets
3979ee33a3 Update copyrights 2016-08-25 00:12:03 +03:00
Ivan Kravets
a57ed93923 Add information about C/C++ Index Rebuiding 2016-08-24 23:50:15 +03:00
Ivan Kravets
aa19b1c424 Show error message when broken JSON manifest is found 2016-08-24 23:03:41 +03:00
Ivan Kravets
0751c966c4 Use base name of library path instead manifest name 2016-08-24 20:54:54 +03:00
Ivan Kravets
e8643528ea Test updates for PubSubClient library 2016-08-24 15:18:45 +03:00
Ivan Kravets
69773fc838 Fix bug with Arduino based library where utility folder is used 2016-08-24 13:47:16 +03:00
Ivan Kravets
40dbc6c849 Update lib test according to renaming Json lib to ArduinoJson 2016-08-24 13:41:03 +03:00
Ivan Kravets
35cc57f263 Skip headers from examples 2016-08-24 00:28:22 +03:00
Ivan Kravets
e6fc0e30ec Update docs for Library Manager 2016-08-24 00:26:28 +03:00
Ivan Kravets
f1a14a03af Update pio platform command titles 2016-08-23 14:37:14 +03:00
Ivan Kravets
5a63060699 Improve support for "library.properties" manifest 2016-08-23 13:40:32 +03:00
Ivan Kravets
81d3b7fd11 Sync with the latest examples 2016-08-23 11:14:22 +03:00
Ivan Kravets
b3abee8513 Ignore broken libraries; show link to the docs with lib_compat_mode // Resolve #759 2016-08-23 00:09:28 +03:00
Ivan Kravets
d420e956e9 Mode "include" and "exclude" options to "export" field for the library.json 2016-08-22 00:03:27 +03:00
Ivan Kravets
f5b4cb0ae8 Refactor "test_ignore" to accepts test names separated with comma // Resolve #753 2016-08-21 19:32:11 +03:00
Ivan Kravets
0f7f301787 Improve unit testing output; fix issue with non-ascii output from embedded device // Issue #753 2016-08-21 19:27:38 +03:00
Ivan Kravets
3426c01955 Fix invalid example with converting INO to CPP in the Atom docs // Resolve #757 2016-08-21 13:35:31 +03:00
Ivan Kravets
1a517995a0 Rename "quiet" option to "silent" 2016-08-21 00:31:58 +03:00
Ivan Kravets
e51b8d2f61 Cleanup AppVeyor Config 2016-08-19 17:08:31 +03:00
Ivan Kravets
5c105a9bcb Fix CI test 2016-08-18 23:51:32 +03:00
Ivan Kravets
55c627e4ee Minor changes 2016-08-18 20:29:00 +03:00
Ivan Kravets
ec897d217c Update issue template 2016-08-18 20:26:29 +03:00
Ivan Kravets
6f8614906d New article "Installing PlatformIO on Arch Linux" 2016-08-18 19:01:34 +03:00
Ivan Kravets
dab81291eb Extend win hooks for ASPPCOM 2016-08-18 18:51:23 +03:00
Ivan Kravets
fb6df55326 Don't notify ikravets 2016-08-18 16:52:31 +03:00
Ivan Kravets
9b292e0614 Notify only when build changes status 2016-08-18 16:08:47 +03:00
Ivan Kravets
f25e166ea8 Push notification to Slack 2016-08-18 16:05:49 +03:00
Ivan Kravets
ef6952b27a Add Contents to library index page 2016-08-18 15:11:26 +03:00
Ivan Kravets
b0d74c4640 Extend "examples" default value 2016-08-18 15:02:56 +03:00
Ivan Kravets
512ea68dce Disable email notification 2016-08-18 14:47:21 +03:00
Ivan Kravets
d410696729 Push notification to Slack 2016-08-18 14:29:54 +03:00
Ivan Kravets
d630aa4f37 Check CI SRC paths passed via system environment variable 2016-08-18 12:18:27 +03:00
Ivan Kravets
0e9050f2e8 Update lib search test 2016-08-18 00:30:51 +03:00
Ivan Kravets
f01b858e90 Minor fix 2016-08-18 00:13:29 +03:00
Ivan Kravets
d40d1e4f2b Rename url to homepage 2016-08-18 00:08:55 +03:00
Ivan Kravets
b2e6d16221 Don't use shell for Windows and exec commands 2016-08-17 17:38:20 +03:00
Ivan Kravets
64cc353455 Implement build hooks for Windows 2016-08-17 17:36:05 +03:00
Ivan Kravets
9b08244ed8 Add article "ESP8266 Mobile Rick Roll Captive Portal" 2016-08-16 20:10:03 +03:00
Ivan Kravets
797688dedd Fix EXTRA_LIB_BUILDERS 2016-08-16 17:27:11 +03:00
Ivan Kravets
2a3a12b816 Handle relative paths for "lib_extra_dirs" // Resolve #749 2016-08-16 13:02:57 +03:00
Ivan Kravets
8d8a0efdb9 Refactor long command hook for GCC and Windows CMD limitations 2016-08-15 20:14:09 +03:00
Ivan Kravets
94299139cf Allow to pass extra "EXTRA_LIB_BUILDERS" for Library Builder 2016-08-15 19:49:15 +03:00
Ivan Kravets
bb01ec9a1e Fix test for lib command 2016-08-15 19:24:31 +03:00
Ivan Kravets
317c7272cd Explain how to use "uploading" with CI command // Resolve #686 2016-08-13 10:33:03 +03:00
Ivan Kravets
d28e8a06b5 Add new article 2016-08-11 20:55:18 +03:00
Ivan Kravets
9a959a0aa4 Cover maintenance operations with tests 2016-08-11 19:20:54 +03:00
Ivan Kravets
31fdc76f25 Implement "LIBSOURCE_EXTRA" environment variable for extra libraries 2016-08-11 15:23:36 +03:00
Ivan Kravets
3eadadf638 Improve CI command for Windows OS 2016-08-11 12:41:03 +03:00
Ivan Kravets
30f6d456af Update platform command 2016-08-11 10:54:28 +03:00
Ivan Kravets
d3e2b2bde4 Cover CI command with tests 2016-08-10 23:00:46 +03:00
Ivan Kravets
473c821132 Cover init command with tests 2016-08-10 21:58:12 +03:00
Ivan Kravets
3ba0d25f27 Fix updating project libraries // Resolve #745 2016-08-10 19:39:17 +03:00
Ivan Kravets
9299b6716a Fix broken link to Unit Testing examples 2016-08-10 17:50:02 +03:00
Ivan Kravets
6ac2abfc3b Fix docs warning 2016-08-10 17:15:51 +03:00
Ivan Kravets
4b50a9c721 Skip Calculator example from generic test 2016-08-10 16:10:26 +03:00
Ivan Kravets
ef0322019f Add Unit Testing example with Calculator // Issue #519 2016-08-10 15:51:53 +03:00
Ivan Kravets
a395b171e3 Add Support for local ("PC") unit tests // Resolve #519 2016-08-10 15:50:01 +03:00
Ivan Kravets
9177c6f210 Fix typo with known default options for [platformio] section 2016-08-09 23:44:40 +03:00
Ivan Kravets
0264c4eeea Remove debug code 2016-08-09 17:12:30 +03:00
Ivan Kravets
f1e65869f3 Remove "#" from platformio.ini docs 2016-08-09 16:55:14 +03:00
Ivan Kravets
bda61d0ae2 Use semicolons for comment in INI File 2016-08-09 16:53:51 +03:00
Ivan Kravets
55c1a90fc9 Remove unused import 2016-08-09 15:24:56 +03:00
Ivan Kravets
0ab7d53991 Add example with Microbit 2016-08-09 15:13:55 +03:00
Ivan Kravets
5ba20fc6ed Remove prompts from init command; Update template for Project Configuration File 2016-08-09 15:10:52 +03:00
Ivan Kravets
92e82941fe Hint about hard reset for the boards with mbed bootloader // Issue #709 2016-08-09 14:37:44 +03:00
Ivan Kravets
fe76192590 Automatically detect Microbit disk for upload // Issue #709 2016-08-09 14:25:05 +03:00
Ivan Kravets
20be83ef95 Add support for BBC micro:bit board that is built on the ARM mbed and Nordic nrf51 platform // Resolve #709 2016-08-09 14:09:21 +03:00
Ivan Kravets
97c58c8dca Add CI for macOS 2016-08-09 10:30:21 +03:00
Ivan Kravets
239be03a54 Minor changes 2016-08-08 23:25:44 +03:00
Ivan Kravets
70df551eef Fix platformio test command // Resolve #743 2016-08-08 23:10:57 +03:00
Ivan Kravets
7f7cf5281f Show package name when updating 2016-08-08 20:04:47 +03:00
Ivan Kravets
8b53f6e320 Move Unit Testing to the TOP level 2016-08-08 19:51:15 +03:00
Ivan Kravets
20e7525118 Update links to Library Dependency Finder 2016-08-08 19:44:31 +03:00
Ivan Kravets
f9ead74b88 Fix issue when check that LibBuilder contains source file by path 2016-08-08 18:57:18 +03:00
Ivan Kravets
1efea0bd27 Mark "lib_deps" as PIO3; first development "alpha" 2016-08-08 16:06:12 +03:00
Ivan Kravets
655efb1fb6 Merge branch 'feature/platformio-30' into develop 2016-08-08 16:04:20 +03:00
Ivan Kravets
65e0daa06d Project dependencies per build environment using "lib_deps" option // Resolve #413 2016-08-08 16:03:17 +03:00
Ivan Kravets
0b749c3888 Warn about unknown options in project configuration file // Resolve #740 2016-08-08 14:00:23 +03:00
Ivan Kravets
80c7a8d1ce Warn about unknown options in project configuration file // Resolve #740 2016-08-08 14:00:01 +03:00
Ivan Kravets
098653aac7 Better explanation with dependencies 2016-08-05 18:52:24 +03:00
Ivan Kravets
db267513ca Implement custom "rmtree"; resolve issue with Windows and .git 2016-08-05 18:43:20 +03:00
Ivan Kravets
c64354ebcc Add PlatformIO Plus info 2016-08-05 18:20:09 +03:00
Ivan Kravets
6970c95aca Fix command lib test 2016-08-05 17:59:10 +03:00
Ivan Kravets
4fc0ab0649 Fix updating from VCS 2016-08-05 17:39:32 +03:00
Ivan Kravets
39542c4ef2 Improve platform manager when VCS is used 2016-08-05 17:02:39 +03:00
Ivan Kravets
bf727d6905 Update article links 2016-08-05 16:23:39 +03:00
Ivan Kravets
c1178277ca Print coverage report to terminal 2016-08-05 16:04:10 +03:00
Ivan Kravets
976fc8975a Fix coverage reporting 2016-08-05 15:00:15 +03:00
Ivan Kravets
795b8be386 Update examples 2016-08-05 13:57:13 +03:00
Ivan Kravets
e9ed55b6e9 Improve updating of development platforms 2016-08-05 13:51:28 +03:00
Ivan Kravets
dad8f9d80e Show valid text when "Checking" packages version 2016-08-05 13:10:27 +03:00
Valeriy Koval
b714fb1be0 Update OpenOCD uploading flags // Issue #732 2016-08-04 18:37:52 +03:00
Valerii Koval
179a971770 Fix OpenOCD upload command for atmelsam // Issue #732 2016-08-04 12:00:38 +03:00
Ivan Kravets
d27c31a389 Formatter: allow multiline lambdas 2016-08-04 00:55:07 +03:00
Ivan Kravets
941c7ffd07 Remove Python 2.6 code 2016-08-03 23:40:04 +03:00
Ivan Kravets
87d0ead203 Format code with pep8 style 2016-08-03 23:38:20 +03:00
Ivan Kravets
0c9d539a92 Update copyrights 2016-08-03 22:18:51 +03:00
Ivan Kravets
306b77a3f4 Extend a clean target 2016-08-03 22:01:11 +03:00
Ivan Kravets
823e8374b1 Don't show tools in processing output 2016-08-03 20:21:23 +03:00
Ivan Kravets
6b064cb915 Refactor DevPlatform to PioPlatform 2016-08-03 19:58:35 +03:00
Ivan Kravets
11c8ab52f6 Improve "update" command; add test 2016-08-03 17:43:54 +03:00
Ivan Kravets
82a7e67bec Don't show verbose info for LDF when is a clean target 2016-08-03 17:06:30 +03:00
Ivan Kravets
98a6449b06 Show hint about verbosity mode 2016-08-03 01:04:40 +03:00
Ivan Kravets
fbadf83997 Use stable docs 2016-08-03 00:26:48 +03:00
Ivan Kravets
64b8df6d81 Merge branch 'develop' into feature/platformio-30
* develop: (21 commits)
  Use stable docs
  Version bump to 2.11.2 (issues #500, #533, #732, #731, #737, #733, #438, #722, #52, #725)
  Update project configuration template
  Use stable docs
  Implement firmware merging with base firmware for Nordic nRF51 development platform // Resolve #500 , Resolve #533
  Fix firmware uploading to Atmel SAMD21-XPRO board using ARM mbed framework // Resolve #732
  Add firmware merging process for nordicnrf51 // Issue #533, #500
  Add OpenOCD as an alternative upload method for atmelsam platform // Issue #732
  Sync flags parser with PlatformIO 3.0 branch // Resolve #738
  Update ``udev`` rules for the new STM32F407DISCOVERY boards // Resolve #731
  Add explanation about "Failed to find MSBuild toolsets directory"
  Add support for local "--echo" for Serial Port Monitor // Resolve #733
  Update history
  Improve support for Microchip PIC32 development platform and ChipKIT boards // Resolve #438
  Fix Project Generator for ESP8266 and ARM mbed based projects
  Switch to gcc-built LwIP library for espressif platform
  Push 2.11.2.dev2
  Fix linking process for microchippic32 platfrom // Issue #438
  Improve Project Generator for PlatformIO IDE (fixes incorrect linter errors)
2016-08-03 00:24:59 +03:00
Ivan Kravets
edc04987d3 Use stable docs 2016-08-02 21:31:12 +03:00
Ivan Kravets
a87c0c8a7a Merge branch 'release/v2.11.2' 2016-08-02 21:25:50 +03:00
Ivan Kravets
40b6072163 Merge branch 'release/v2.11.2' into develop 2016-08-02 21:25:50 +03:00
Ivan Kravets
f15bb1d545 Version bump to 2.11.2 (issues #500, #533, #732, #731, #737, #733, #438, #722, #52, #725) 2016-08-02 21:25:28 +03:00
Ivan Kravets
0b0064afd0 Update project configuration template 2016-08-02 21:21:08 +03:00
Ivan Kravets
4f2c207bb3 Use stable docs 2016-08-02 21:13:58 +03:00
Ivan Kravets
9d1128af51 Implement firmware merging with base firmware for Nordic nRF51 development platform // Resolve #500 , Resolve #533 2016-08-02 21:06:50 +03:00
Ivan Kravets
855c28d956 Fix firmware uploading to Atmel SAMD21-XPRO board using ARM mbed framework // Resolve #732 2016-08-02 21:02:39 +03:00
Ivan Kravets
1cb8d61787 Stop Supporting Python 2.6 2016-08-02 20:40:54 +03:00
Ivan Kravets
677cff1230 Stop Supporting Python 2.6 2016-08-02 20:35:28 +03:00
Ivan Kravets
bd430e5afd Makefile with useful targets 2016-08-02 20:19:52 +03:00
Ivan Kravets
758396c9ea PlatformIO Library Manager 3.0 // Resolve #588 , Resolve #414, Resolve #498, Resolve #475, Resolve #410, Resolve #461, Resolve #361, Resolve #507, Resolve #554 2016-08-02 19:10:29 +03:00
Valeriy Koval
a588e88fec Add firmware merging process for nordicnrf51 // Issue #533, #500 2016-08-02 17:32:48 +03:00
Ivan Kravets
5b5a63cb5f Use codecov after success script 2016-08-02 15:50:04 +03:00
Ivan Kravets
26dae8ee94 Skip some tests from coverage 2016-08-02 15:45:05 +03:00
Valeriy Koval
ca2adbac13 Add OpenOCD as an alternative upload method for atmelsam platform // Issue #732 2016-08-02 14:07:12 +03:00
Ivan Kravets
bfab3dac81 Measure code coverage by tests // Resolve #101 2016-08-02 14:04:32 +03:00
Ivan Kravets
e60c2a6ba1 Improve base package manager; VCS and package ID support 2016-08-01 17:05:48 +03:00
Ivan Kravets
e3bf12f65c Rename test for platform command 2016-08-01 14:50:03 +03:00
Ivan Kravets
c728b91914 Check development version automatically 2016-08-01 14:25:11 +03:00
Ivan Kravets
e5b76687a8 Minor changes for PyLint 2016-08-01 00:32:38 +03:00
Ivan Kravets
ef535e399e Cleanup docs 2016-08-01 00:21:52 +03:00
Ivan Kravets
34231327b7 Minor fixes 2016-08-01 00:19:43 +03:00
Ivan Kravets
e49994e205 Fix PyLint warning 2016-08-01 00:16:52 +03:00
Ivan Kravets
513577958f Introduce "Library Dependency Finder" 2016-08-01 00:14:22 +03:00
Ivan Kravets
df0373c4fa Sync flags parser with PlatformIO 3.0 branch // Resolve #738 2016-07-31 20:49:59 +03:00
Ivan Kravets
4c10c85937 Update `udev` rules for the new STM32F407DISCOVERY boards // Resolve #731 2016-07-31 20:21:55 +03:00
Ivan Kravets
22e67e6fdd Rename "lib_compat_level" to "lib_compat_mode" 2016-07-31 15:46:57 +03:00
Ivan Kravets
74af8a5c39 Handle "dependencies" from library and project when build libraries // Issue #709 2016-07-31 00:00:58 +03:00
Ivan Kravets
b364389541 If platformio is installed via brew, show it for upgrade 2016-07-30 19:46:08 +03:00
Ivan Kravets
e6d3f6bc3f Add explanation about "Failed to find MSBuild toolsets directory" 2016-07-30 14:10:15 +03:00
Ivan Kravets
e821a438fe Add support for local "--echo" for Serial Port Monitor // Resolve #733 2016-07-28 23:08:42 +03:00
Ivan Kravets
34b1f3b0a1 Handle includes from CPPPATH for PlatformIOLibBuilder 2016-07-28 22:15:03 +03:00
Ivan Kravets
5c53b93a49 Update history 2016-07-28 18:49:22 +03:00
Ivan Kravets
c61ff611fb Improve support for Microchip PIC32 development platform and ChipKIT boards // Resolve #438 2016-07-28 18:47:20 +03:00
Ivan Kravets
ef9e1a0170 Fix Project Generator for ESP8266 and ARM mbed based projects 2016-07-28 18:44:29 +03:00
Ivan Kravets
3a7032ec9c Show a warning about Circular Dependencies 2016-07-28 17:29:53 +03:00
Ivan Kravets
339acab917 PyLint fix 2016-07-28 16:27:48 +03:00
Ivan Kravets
8c5fabe411 Avoid infinite loop when we've already searched for dependencies 2016-07-28 16:13:49 +03:00
Ivan Kravets
269967a809 Typo fix 2016-07-28 14:39:38 +03:00
Ivan Kravets
b177bb5bfb Remove debug code; a few bugfixes 2016-07-28 14:09:29 +03:00
Ivan Kravets
3c795a215e Fix typo 2016-07-28 02:08:30 +03:00
Ivan Kravets
e3e6676420 Refactor Library Dependency Finder 2016-07-28 01:54:09 +03:00
Ivan Kravets
be85eb3e4a Refactor Library Dependency Finder 2016-07-28 01:52:18 +03:00
Valeriy Koval
98f8c6b25a Switch to gcc-built LwIP library for espressif platform 2016-07-27 14:59:00 +03:00
Ivan Kravets
262b12524b Push 2.11.2.dev2 2016-07-26 20:45:00 +03:00
Valeriy Koval
826b518048 Fix linking process for microchippic32 platfrom // Issue #438 2016-07-26 20:11:50 +03:00
Ivan Kravets
187315fc08 Allow to disable library archiving ("*.ar") // Resolve #719 2016-07-24 20:04:09 +03:00
Ivan Kravets
01c0b45ea2 Introduce "lib_compat_level" option for project configuration file 2016-07-24 18:17:23 +03:00
Ivan Kravets
dfc594fc39 Improve Project Generator for PlatformIO IDE (fixes incorrect linter errors) 2016-07-23 23:11:50 +03:00
Ivan Kravets
2892cb8c2f Fix cmd_init test 2016-07-22 18:16:26 +03:00
Ivan Kravets
fc9c66b0c3 Update examples 2016-07-22 18:03:35 +03:00
Ivan Kravets
6900052ecd Reorder command options 2016-07-22 18:02:04 +03:00
Ivan Kravets
0b862735b2 Push 2.11.2.dev0 2016-07-22 17:23:49 +03:00
Valeriy Koval
a1d9bc7cee Fix ElfToHex builder for microchippic32 2016-07-22 16:43:02 +03:00
Ivan Kravets
1738f44847 Simplify platformio.ini default template 2016-07-19 23:51:22 +03:00
Ivan Kravets
30733e8376 Improve package caching for PkgManager 2016-07-19 23:49:50 +03:00
Ivan Kravets
1029233ec7 Merge branch 'develop' into feature/platformio-30
* develop:
  Update docs for Teensy USB Features // Issue #722
  Implement Teensy 2.0 USB functionality (HID, SERIAL_HID, DISK, MIDI, etc.) // Resolve #722
  Add support for Pinoccio Scout board // Resolve #52
  Fix broken LD Script for Element14 chipKIT Pi board // Resolve #725  Resolve #726
  Fix USB flags processing for teensy platform // Issue #722
  Add Pinoccio board // Issue #52
  Minor improvements for CLion docs
  Improved docs for integration with CLion IDE
  Version bump to 2.11.1 (issues #472, #629, #710, #711, #712, #713, #718)
  Typo fix
  Add "udev" rules for OpenOCD CMSIS-DAP adapters // Resolve #718
  Update history
  Ignore "[platformio]" section from custom project configuration CI
  Bump to 2.11.1b1
  Add Arduino M0 Pro and Tian to the examples // Issue #472
  Fix issue when `pioenvs` folder doesn't exist
  Add more info about `.pioenvs` directory
  Improve CMSIS selection for SAMD21 boards
  Improve support for SAMD21 based boards
  Add contributing guidelines
2016-07-18 22:43:24 +03:00
Ivan Kravets
f16c05c429 Update docs for Teensy USB Features // Issue #722 2016-07-18 22:20:04 +03:00
Ivan Kravets
d7fa255166 Implement Teensy 2.0 USB functionality (HID, SERIAL_HID, DISK, MIDI, etc.) // Resolve #722 2016-07-18 21:06:45 +03:00
Ivan Kravets
60b3fef37a Add support for Pinoccio Scout board // Resolve #52 2016-07-18 20:39:04 +03:00
Ivan Kravets
7b8fb77250 Fix broken LD Script for Element14 chipKIT Pi board // Resolve #725 Resolve #726 2016-07-18 20:36:24 +03:00
Ivan Kravets
1127914512 Fix broken import 2016-07-18 15:47:38 +03:00
Ivan Kravets
5b68d34764 Allow to load PlatformIO project using passed directory 2016-07-18 15:36:08 +03:00
Valeriy Koval
79a4a943dc Fix USB flags processing for teensy platform // Issue #722 2016-07-18 14:52:25 +03:00
Valeriy Koval
7ad8d08037 Add Pinoccio board // Issue #52 2016-07-18 12:14:48 +03:00
Ivan Kravets
f10202c00b Refactor base package manager; Full VCS support as external package item 2016-07-18 01:38:35 +03:00
Ivan Kravets
7b3a235bd7 Don't duplicate source code to .pioenvs directory 2016-07-17 19:19:53 +03:00
Ivan Kravets
e264788f8e Fix non renamed PLATFORM variable 2016-07-17 16:36:05 +03:00
Ivan Kravets
49f5c1d078 Fix PyLint "line too long" warning 2016-07-17 16:19:24 +03:00
Ivan Kravets
8eed54ca45 Refactor PLATFORM and FRAMEWORK build variables with PIO prefix 2016-07-17 16:05:28 +03:00
Ivan Kravets
daac1b2590 Print human-readable information when processing environments without // Resolve #721 2016-07-17 00:48:59 +03:00
Ivan Kravets
70031040b3 Rename test --ignore option to --skip 2016-07-16 18:00:55 +03:00
Ivan Kravets
da6f424b11 Export root "env" to the extra script 2016-07-16 00:19:56 +03:00
Ivan Kravets
02e883b55c Implement "lib_extra_dirs" option for project environment // Resolve #537 2016-07-15 23:51:33 +03:00
Ivan Kravets
9838aef6b8 Check library compatibility with project environment before building // Resolve #415 2016-07-15 23:06:10 +03:00
Ivan Kravets
2bfa3517f0 Add license field to library.json // Resolve #522 2016-07-15 19:57:55 +03:00
Ivan Kravets
06494729f1 Fix for Python 2.6 2016-07-15 19:40:11 +03:00
Ivan Kravets
8726f8317c Typo fix 2016-07-15 18:59:10 +03:00
Ivan Kravets
c7d9ab8474 Allow to use extra build options as array for library.json // Issue #289 2016-07-15 18:41:16 +03:00
Ivan Kravets
4997528f6a Handle specific extra build flags from library.json // Resolve #289 2016-07-15 16:12:07 +03:00
Ivan Kravets
4b622b8603 Improve library builder for Arduino lib structure 2016-07-13 13:24:44 +03:00
Ivan Kravets
4f57cc52d4 Minor improvements for CLion docs 2016-07-13 11:56:20 +03:00
Ivan Kravets
ba23475425 Improved docs for integration with CLion IDE 2016-07-13 11:49:52 +03:00
Ivan Kravets
f88466f3cd Merge branch 'release/v2.11.1' 2016-07-12 19:37:00 +03:00
Ivan Kravets
60be939a1f Merge branch 'release/v2.11.1' into develop 2016-07-12 19:37:00 +03:00
Ivan Kravets
2dd01247e1 Version bump to 2.11.1 (issues #472, #629, #710, #711, #712, #713, #718) 2016-07-12 19:34:14 +03:00
Ivan Kravets
77a4d3f773 Typo fix 2016-07-12 19:29:49 +03:00
Ivan Kravets
6cbd286836 Add "udev" rules for OpenOCD CMSIS-DAP adapters // Resolve #718 2016-07-12 19:26:33 +03:00
Ivan Kravets
b447e0aeab Update history 2016-07-11 23:08:08 +03:00
Ivan Kravets
b165c3f543 Ignore "[platformio]" section from custom project configuration CI 2016-07-11 22:40:37 +03:00
Ivan Kravets
d246ef9a2e Bump to 2.11.1b1 2016-07-11 21:04:40 +03:00
Ivan Kravets
8fd553fbfc Add Arduino M0 Pro and Tian to the examples // Issue #472 2016-07-11 19:52:47 +03:00
Ivan Kravets
f4cebfdbae Fix issue when pioenvs folder doesn't exist 2016-07-11 19:44:36 +03:00
Ivan Kravets
2fdc57055b Add more info about .pioenvs directory 2016-07-11 19:34:36 +03:00
Valeriy Koval
03b0b61aa1 Improve CMSIS selection for SAMD21 boards 2016-07-11 19:26:07 +03:00
Valeriy Koval
3984f80bae Improve support for SAMD21 based boards 2016-07-11 19:12:10 +03:00
Ivan Kravets
8427b9c7ee Create BasePkgManager for PlatformManager and Library Manager 2016-07-11 13:27:30 +03:00
Ivan Kravets
581fd356cd Add contributing guidelines 2016-07-10 19:15:55 +03:00
Ivan Kravets
d88997c418 Typo fix 2016-07-09 19:30:02 +03:00
Ivan Kravets
d6b38dafc6 Merge branch 'develop' into feature/platformio-30
* develop:
  Remove debug info
  Add "Rebuild C/C++ Project Index" target to CLion and Eclipse IDEs
  Iterating the dictionary directly instead of calling .keys()
  Iterating the dictionary directly instead of calling .keys()
  Add example dynamic `build_flags`
  Add new articles
  Update examples
2016-07-09 19:01:43 +03:00
Ivan Kravets
0056651447 Remove debug info 2016-07-09 18:49:35 +03:00
Ivan Kravets
a0d9173b4f Add "Rebuild C/C++ Project Index" target to CLion and Eclipse IDEs 2016-07-09 18:44:45 +03:00
Ivan Kravets
f12c721f44 Iterating the dictionary directly instead of calling .keys() 2016-07-09 15:26:38 +03:00
Ivan Kravets
a73a710364 Iterating the dictionary directly instead of calling .keys() 2016-07-09 15:16:42 +03:00
Ivan Kravets
e33e950712 Add example dynamic build_flags 2016-07-09 14:38:49 +03:00
Ivan Kravets
f767feeef9 Add new articles 2016-07-07 00:26:33 +03:00
Ivan Kravets
fd924f29f3 Update examples 2016-07-06 15:28:39 +03:00
Ivan Kravets
13112ad6d4 Fix issue when development platform doesn't support frameworks 2016-07-06 15:27:46 +03:00
Ivan Kravets
b043a2258f Merge branch 'develop' into feature/platformio-30
* develop: (27 commits)
  Update boards list
  Add Arduino M0 as a separate board
  Update history
  Update microchippic32 platform and boards
  Fix PyLint warning
  Keep user changes for ".gitignore" file when re-generate/update project data
  Documented uploading of EEPROM data
  Push 2.11.1.dev1
  Automatically install dependent upload tools // Issue #472
  Split source files to HEADERS and SOURCES when generate project for Qt Creator IDE // Resolve #713
  Improve project generator for CLion IDE
  Fix missing trailing ``\`` for the source files list when generate project for Qt Creator IDE // Resolve #711
  * Fix missed ``--boot`` flag for the firmware uploader for ATSAM3X8E Cortex-M3 MCU based boards (Arduino Due, etc) // Resolve #710
  Initial support for Arduino M0/Tian boards // Issue #472
  Update project template for Qt Creator // Issue #711
  Fix missed --boot flag for sam3x uploader // Issue # 710
  Auto-remove project cache when PlatformIO is upgraded
  Version bump to 2.11.0 (issues #472, #520, #614, #620, #685, #698, #699)
  Update history
  Update espressif platform according to the new framework version
2016-07-06 15:04:30 +03:00
Ivan Kravets
7f47a2fd25 Update boards list 2016-07-06 13:27:36 +03:00
Valeriy Koval
8fe8318c77 Add Arduino M0 as a separate board 2016-07-06 11:02:36 +03:00
Ivan Kravets
ae81ec043d Update history 2016-07-05 17:40:00 +03:00
Valeriy Koval
9ba96d3673 Update microchippic32 platform and boards 2016-07-05 17:06:14 +03:00
Ivan Kravets
db204941ed Fix PyLint warning 2016-07-05 13:28:22 +03:00
Ivan Kravets
5cd3f9d84d Keep user changes for ".gitignore" file when re-generate/update project data 2016-07-05 13:18:31 +03:00
Ivan Kravets
9160e61ac7 Documented uploading of EEPROM data 2016-07-05 12:34:37 +03:00
Ivan Kravets
63ae732e72 Push 2.11.1.dev1 2016-07-05 00:14:00 +03:00
Ivan Kravets
ac9c3f88f9 Automatically install dependent upload tools // Issue #472 2016-07-05 00:11:48 +03:00
Ivan Kravets
52f1502051 Split source files to HEADERS and SOURCES when generate project for Qt Creator IDE // Resolve #713 2016-07-04 23:42:19 +03:00
Ivan Kravets
e8acc9ca39 Improve project generator for CLion IDE 2016-07-04 23:30:34 +03:00
Ivan Kravets
935f7cd5c3 Fix missing trailing `\` for the source files list when generate project for Qt Creator IDE // Resolve #711 2016-07-04 20:36:02 +03:00
Ivan Kravets
e8290054c2 * Fix missed `--boot` flag for the firmware uploader for ATSAM3X8E Cortex-M3 MCU based boards (Arduino Due, etc) // Resolve #710 2016-07-04 20:35:29 +03:00
Valeriy Koval
2c7c74743d Initial support for Arduino M0/Tian boards // Issue #472 2016-07-04 19:28:02 +03:00
Valeriy Koval
4dd90d5493 Update project template for Qt Creator // Issue #711 2016-07-04 18:01:49 +03:00
Valeriy Koval
241ad8174f Fix missed --boot flag for sam3x uploader // Issue # 710 2016-07-04 13:40:43 +03:00
Ivan Kravets
98f5f73a41 Auto-remove project cache when PlatformIO is upgraded 2016-06-29 13:17:06 +03:00
Ivan Kravets
62ad72fb11 Merge branch 'release/v2.11.0' 2016-06-28 18:04:20 +03:00
Ivan Kravets
4552931b95 Merge branch 'release/v2.11.0' into develop 2016-06-28 18:04:20 +03:00
Ivan Kravets
39f9789fa1 Version bump to 2.11.0 (issues #472, #520, #614, #620, #685, #698, #699) 2016-06-28 18:04:08 +03:00
Ivan Kravets
8d7ff7f37e Update history 2016-06-28 18:01:08 +03:00
Valeriy Koval
59606410f4 Update espressif platform according to the new framework version 2016-06-28 14:10:18 +03:00
Valeriy Koval
486529b112 Add initial support for Arduino M0 Pro board // Issue #472 2016-06-28 11:27:49 +03:00
Ivan Kravets
b16938937b Merge pull request #706 from jphollanti/doc_updates
Doc updates
2016-06-26 21:43:22 +03:00
jphollanti
2ba3603a3d add command example to create library examples 2016-06-26 11:29:46 +03:00
jphollanti
f6b9fd02b2 Added mention about building docs to README.rst 2016-06-26 11:19:13 +03:00
jphollanti
85becf861f Add a mention about library managers 24 hour update cycle 2016-06-26 11:12:02 +03:00
Ivan Kravets
7344828cf7 Update history 2016-06-25 13:34:51 +03:00
Ivan Kravets
51a9565a72 Refactored lib_force and lib_ignore logic 2016-06-25 13:23:24 +03:00
Ivan Kravets
bc30bf5566 Typo fixes 2016-06-24 12:54:01 +03:00
Ivan Kravets
dd111aac4a Library deep search for dependency finder 2016-06-23 23:25:13 +03:00
Ivan Kravets
476b43d539 Fix issue with super() 2016-06-23 21:39:24 +03:00
Ivan Kravets
1d919e5874 New articles 2016-06-23 20:21:48 +03:00
Ivan Kravets
1089c55b26 Update history 2016-06-23 17:34:00 +03:00
Ivan Kravets
d4a866414f Minor fixes 2016-06-23 15:51:08 +03:00
Ivan Kravets
2ed00064e2 Fix PyLint warning 2016-06-22 23:58:42 +03:00
Ivan Kravets
1d7add213e Embedded Board compatibility with more than one development platform // Resolve #456 2016-06-22 23:21:36 +03:00
Ivan Kravets
3572b60afd Show detailed build information about dependent libraries // Resolve #617 2016-06-22 23:17:02 +03:00
Ivan Kravets
f8db1d11a7 New Library Build System: intelligent dependency finder that interprets C Preprocessor conditional macros // Resolve #432 2016-06-22 21:25:44 +03:00
Ivan Kravets
bb7bf4e91b Fix issue with board extraFlags 2016-06-22 19:56:22 +03:00
Valeriy Koval
51dd86e6da Add new SAMD21 boards // Issue #520, #620 2016-06-21 15:03:09 +03:00
Ivan Kravets
4736bfeea6 Fix missed build.extra_flags for the board 2016-06-20 21:47:13 +03:00
Ivan Kravets
d656d6d594 Duplicate source files to pioenvs 2016-06-20 21:37:10 +03:00
Ivan Kravets
76e07d5012 Refactor source files finder 2016-06-20 20:33:53 +03:00
Ivan Kravets
037b520b2c Merge branch 'develop' into feature/platformio-30
* develop:
  Use env.Flatten to manipulate with CPPDEFINES
  Update name of the OpenEnergyMonitor board // Resolve #699
  Fix PyLint warning
  Remove duplicated flags // Issue #698
  Disable dependancy info
  Revert back previous LINKFLAGS
  Better removing unnecessary flags using ``build_unflags`` option // Resolve #698
  Fix unnecessary uppercase for target includes
2016-06-19 19:21:07 +03:00
Ivan Kravets
748437ef7a Use env.Flatten to manipulate with CPPDEFINES 2016-06-18 23:37:58 +03:00
Ivan Kravets
d219999892 Update name of the OpenEnergyMonitor board // Resolve #699 2016-06-18 13:26:04 +03:00
Ivan Kravets
53bd1df8e5 Fix PyLint warning 2016-06-18 01:15:15 +03:00
Ivan Kravets
2b88ef134b Remove duplicated flags // Issue #698 2016-06-18 00:56:04 +03:00
Ivan Kravets
2eca835ec7 Disable dependancy info 2016-06-18 00:53:23 +03:00
Ivan Kravets
8d94a62b9c Revert back previous LINKFLAGS 2016-06-18 00:52:46 +03:00
Ivan Kravets
4035b9ac6c Better removing unnecessary flags using `build_unflags` option // Resolve #698 2016-06-18 00:38:00 +03:00
Ivan Kravets
8a13a18737 Fix PyLint warning 2016-06-16 00:53:19 +03:00
Ivan Kravets
8a67ea9ca2 Allow to ignore tests using glob patterns // Issue #408 2016-06-16 00:36:04 +03:00
Valerii Koval
31a110c37f Fix unnecessary uppercase for target includes 2016-06-15 20:55:45 +03:00
Ivan Kravets
6a08b2126f Merge branch 'develop' into feature/platformio-30
* develop:
  Fix issue with ``platformio init --ide`` command for Python 2.6
  Version bump to 2.10.3
  Fix issue with appending PIO version to Build Defines
  Add test for `init --ide eclipse`
  Version bump to 2.10.2 (issues #695)
  Fix firmware uploading to Arduino/Genuino 101 // Resolve #695
  Use $PLATFORM from build environment instead from the board config
  Update Intel ARC32 Arduino framework to v1.0.6 // Issue #695
  Update Intel ARC32 Arduino framework to v1.0.6
  Add support for ST Nucleo L031K6 board to ARM mbed framework
  Revert mcu option for genuino101
  Update intel_arc32 platform
  Update HISTORY.rst
  Fix upload size checker
  Process "$BUILD_UNFLAGS" variable
  Restore PIO macros if it was deleted by framework
2016-06-15 20:11:22 +03:00
Ivan Kravets
47c238b1eb Fix issue with `platformio init --ide` command for Python 2.6 2016-06-15 19:30:37 +03:00
Ivan Kravets
72c4db25f0 Merge branch 'release/v2.10.3' into develop 2016-06-15 18:46:57 +03:00
Ivan Kravets
50f9186682 Merge branch 'release/v2.10.3' 2016-06-15 18:46:56 +03:00
Ivan Kravets
2cd22f725e Version bump to 2.10.3 2016-06-15 18:46:41 +03:00
Ivan Kravets
1cab0c168e Fix issue with appending PIO version to Build Defines 2016-06-15 18:42:56 +03:00
Ivan Kravets
5dac4e3af6 Add test for init --ide eclipse 2016-06-15 18:42:25 +03:00
Ivan Kravets
09032fb4a5 Merge branch 'release/v2.10.2' 2016-06-15 17:57:39 +03:00
Ivan Kravets
48a8086519 Merge branch 'release/v2.10.2' into develop 2016-06-15 17:57:39 +03:00
Ivan Kravets
c62a3f8ee6 Version bump to 2.10.2 (issues #695) 2016-06-15 17:57:28 +03:00
Ivan Kravets
682e435ded Fix firmware uploading to Arduino/Genuino 101 // Resolve #695 2016-06-15 16:02:04 +03:00
Ivan Kravets
cdcf075635 Use $PLATFORM from build environment instead from the board config 2016-06-15 14:56:31 +03:00
Ivan Kravets
7e027db02b Update Intel ARC32 Arduino framework to v1.0.6 // Issue #695 2016-06-15 14:52:11 +03:00
Ivan Kravets
4abaa67580 Update Intel ARC32 Arduino framework to v1.0.6 2016-06-15 14:48:46 +03:00
Ivan Kravets
13d43425e5 Add support for ST Nucleo L031K6 board to ARM mbed framework 2016-06-15 14:48:27 +03:00
Valeriy Koval
0ba315243b Revert mcu option for genuino101 2016-06-15 14:45:08 +03:00
Ivan Kravets
1ac1e93bbf Add links to the main command and repo with examples 2016-06-15 14:36:10 +03:00
Valeriy Koval
9655ca229f Update intel_arc32 platform 2016-06-15 14:31:07 +03:00
Ivan Kravets
4b553dd659 Revert link to the issue 2016-06-15 14:13:43 +03:00
Ivan Kravets
bb22a1297b Unit Testing for Embedded // Resolve #408 2016-06-15 14:10:42 +03:00
Ivan Kravets
f5727af40e Fix upload size checker 2016-06-15 13:25:35 +03:00
Ivan Kravets
b842a1d9b1 Update HISTORY.rst 2016-06-15 13:18:29 +03:00
Ivan Kravets
2978133862 Fix upload size checker 2016-06-15 00:59:44 +03:00
Ivan Kravets
7422b99b42 Process "$BUILD_UNFLAGS" variable 2016-06-14 20:53:30 +03:00
Ivan Kravets
d04a7de26b Restore PIO macros if it was deleted by framework 2016-06-14 20:48:56 +03:00
Ivan Kravets
4383f81c0f Restore PIO macros if it was deleted by framework 2016-06-14 20:47:25 +03:00
Ivan Kravets
36a9bf69de Merge branch 'develop' into feature/platformio-30
* develop:
  Add support for ST Nucleo L031K6 board to ARM mbed framework
  Fix typo
  Fix pylint error
  Update history
  Improve linker flags handling for mbed
  Update examples
  Improve include selection for mbed boards with a custom vendor
  Re-submit a package to PyPI
  Version bump to 2.10.0 (issues #683, #687, #688, #689, #691)
  Pass PlatformIO macros with version to libs
  Update ARM mbed framework package to v121
  Typo fixes
  Move custom platform and board to separate page
  Add new ST Nucleo board
  Update build script for mbed framework
  Improve firmware uploading to Arduino Leonardo based boards // Resolve #691
  Typo fix
2016-06-14 20:10:50 +03:00
Ivan Kravets
68d834fba0 Add support for ST Nucleo L031K6 board to ARM mbed framework 2016-06-14 19:59:17 +03:00
Ivan Kravets
64c9004036 Fix typo 2016-06-14 19:54:27 +03:00
Valeriy Koval
350fb885b8 Fix pylint error 2016-06-14 19:44:57 +03:00
Ivan Kravets
8d03f2dc80 Update history 2016-06-14 19:41:34 +03:00
Valeriy Koval
220dcd0f5c Improve linker flags handling for mbed 2016-06-14 19:29:54 +03:00
Ivan Kravets
3671d7549d Update examples 2016-06-14 18:08:35 +03:00
Valeriy Koval
a38910b381 Improve include selection for mbed boards with a custom vendor 2016-06-14 13:00:51 +03:00
Ivan Kravets
941b8e84f5 Merge branch 'release/v2.10.1' 2016-06-13 21:32:07 +03:00
Ivan Kravets
382c860d9b Merge branch 'release/v2.10.1' into develop 2016-06-13 21:32:07 +03:00
Ivan Kravets
3dd51a442d Re-submit a package to PyPI 2016-06-13 21:31:17 +03:00
Ivan Kravets
ed21e8c7b2 Merge branch 'release/v2.10.0' 2016-06-13 19:49:55 +03:00
Ivan Kravets
2b6ba32b2c Merge branch 'release/v2.10.0' into develop 2016-06-13 19:49:55 +03:00
Ivan Kravets
14f582faeb Version bump to 2.10.0 (issues #683, #687, #688, #689, #691) 2016-06-13 19:49:37 +03:00
Ivan Kravets
768ac77ea2 Pass PlatformIO macros with version to libs 2016-06-13 19:46:54 +03:00
Ivan Kravets
f75a7c91eb Update ARM mbed framework package to v121 2016-06-13 19:42:35 +03:00
Ivan Kravets
104132c5d3 Typo fixes 2016-06-13 19:24:13 +03:00
Ivan Kravets
3a315c5575 Move custom platform and board to separate page 2016-06-13 19:23:24 +03:00
Valeriy Koval
91fb714250 Add new ST Nucleo board 2016-06-13 17:46:35 +03:00
Valeriy Koval
10d868efa4 Update build script for mbed framework 2016-06-13 17:45:28 +03:00
Ivan Kravets
3b8bc42266 Improve firmware uploading to Arduino Leonardo based boards // Resolve #691 2016-06-11 23:35:29 +03:00
Ivan Kravets
41617f5560 Update documentation for the new decentralised development platforms // Resolve #479 2016-06-11 17:37:32 +03:00
Ivan Kravets
9fb7f251f6 Typo fix 2016-06-11 16:49:25 +03:00
Ivan Kravets
d8ca9d79c3 Merge branch 'develop' into feature/platformio-30
* develop:
  Improve checking for the program size before uploading // Issue #689
  Refactor board "hwid" option to "hwids"
  Add HWID for NodeMCU board
  Better checking of program size before uploading // Issue #689
2016-06-11 16:46:34 +03:00
Ivan Kravets
5398dbef95 Improve checking for the program size before uploading // Issue #689 2016-06-11 15:39:06 +03:00
Ivan Kravets
a4345cedc5 Refactor board "hwid" option to "hwids" 2016-06-11 15:12:27 +03:00
Ivan Kravets
ba574667c7 Add HWID for NodeMCU board 2016-06-11 13:35:02 +03:00
Ivan Kravets
f2c1e279c9 Better checking of program size before uploading // Issue #689 2016-06-11 00:55:38 +03:00
Ivan Kravets
51ad0ed830 Merge branch 'develop' into feature/platformio-30
* develop:
  Check program size before uploading to the board // Resolve #689
  Fix issue with "-L relative/path" when parsing "build_flags" // Resolve #688
  Fix upload speed for OpenEnergyMonitor board
2016-06-11 00:36:27 +03:00
Ivan Kravets
60ff546fec Check program size before uploading to the board // Resolve #689 2016-06-11 00:02:36 +03:00
Ivan Kravets
f6088cbbe1 Fix issue with "-L relative/path" when parsing "build_flags" // Resolve #688 2016-06-10 19:54:17 +03:00
Ivan Kravets
4b093dcdbb Fix upload speed for OpenEnergyMonitor board 2016-06-10 18:01:46 +03:00
Ivan Kravets
4f39a2e3da Merge branch 'develop' into feature/platformio-30
* develop:
  Add support for STM32F0 boards for SPL framework // Issue #683
  Add support for emonPi the OpenEnergyMonitor system // Resolve #687
  Fix path to dfu util when it contains spaces.
2016-06-10 14:40:26 +03:00
Ivan Kravets
c9020d4879 Add support for STM32F0 boards for SPL framework // Issue #683 2016-06-09 19:17:19 +03:00
Ivan Kravets
c5b5e80de4 Add support for emonPi the OpenEnergyMonitor system // Resolve #687 2016-06-09 18:50:08 +03:00
Valeriy Koval
c1a8fdb940 Fix path to dfu util when it contains spaces. 2016-06-09 11:39:44 +03:00
Ivan Kravets
ff3e100b33 Minor fixes 2016-06-08 14:00:40 +03:00
Ivan Kravets
e892473af7 Refactor AutodetectUploadPort 2016-06-08 13:47:03 +03:00
Ivan Kravets
3a143270c2 Handle custom boards 2016-06-08 13:34:49 +03:00
Ivan Kravets
0aa2db8e91 Merge branch 'develop' into feature/platformio-30
* develop:
  Add support for Arduboy DevKit

# Conflicts:
#	platformio/__init__.py
#	platformio/boards/misc.json
2016-06-06 18:14:53 +03:00
Ivan Kravets
1c8de51054 Add support for Arduboy DevKit 2016-06-06 18:13:12 +03:00
Ivan Kravets
d3ab58a487 Merge branch 'develop' into feature/platformio-30
* develop:
  Typo fix
  Version bump to 2.9.4
  Show "udev" warning only for the Linux OS while upload firmware
  Version bump to 2.9.3
  Notify Linux user to install PlatformIO udev rules
  Add new article
  Add support for Arduboy
  Remove unused imports
  Refactor firmware uploading to the embedded boards with SAM-BA bootloader
  Fix firmware uploading to the embedded boards with SAM-BA bootloader
  Add explanation about waiting for the new serial port
  Hook when new serial port is the same in boot mode
  Revert back some code linked with uploading to Leonardo/Due

# Conflicts:
#	platformio/__init__.py
#	platformio/boards/misc.json
#	platformio/builder/scripts/atmelavr.py
#	platformio/builder/scripts/atmelsam.py
#	platformio/builder/tools/pioupload.py
2016-06-06 14:33:09 +03:00
Ivan Kravets
34c171f9fd Typo fix 2016-06-04 00:30:02 +03:00
Ivan Kravets
9b2d49455a Merge branch 'release/v2.9.4' 2016-06-04 00:26:01 +03:00
Ivan Kravets
730b2371df Merge branch 'release/v2.9.4' into develop 2016-06-04 00:26:01 +03:00
Ivan Kravets
f1afa864cd Version bump to 2.9.4 2016-06-04 00:25:15 +03:00
Ivan Kravets
439cd77db8 Show "udev" warning only for the Linux OS while upload firmware 2016-06-04 00:23:33 +03:00
Ivan Kravets
4c35870dff Merge branch 'release/v2.9.3' 2016-06-03 21:04:04 +03:00
Ivan Kravets
9f3624d26e Merge branch 'release/v2.9.3' into develop 2016-06-03 21:04:04 +03:00
Ivan Kravets
ac4e8514db Version bump to 2.9.3 2016-06-03 21:03:48 +03:00
Ivan Kravets
646123f9ab Notify Linux user to install PlatformIO udev rules 2016-06-03 20:57:20 +03:00
Ivan Kravets
11ef9dbdcb Add new article 2016-06-03 20:40:24 +03:00
Ivan Kravets
f3526b1d95 Add support for Arduboy 2016-06-03 20:14:37 +03:00
Ivan Kravets
45d5159fe3 Remove unused imports 2016-06-03 18:46:28 +03:00
Ivan Kravets
439e6b4ccf Refactor firmware uploading to the embedded boards with SAM-BA bootloader 2016-06-03 18:35:47 +03:00
Ivan Kravets
fb08322c17 Fix firmware uploading to the embedded boards with SAM-BA bootloader 2016-06-03 13:58:51 +03:00
Ivan Kravets
c815e0fadc Add explanation about waiting for the new serial port 2016-06-03 01:29:18 +03:00
Ivan Kravets
190ffab76d Hook when new serial port is the same in boot mode 2016-06-03 01:16:16 +03:00
Ivan Kravets
882bddf77e Revert back some code linked with uploading to Leonardo/Due 2016-06-03 00:42:52 +03:00
Ivan Kravets
06e42dc689 Merge branch 'develop' into feature/platformio-30
* develop:
  Version bump to 2.9.2 (issues #641, #645, #648, #652, #664, #665, #666, #671, #674)
  Fix issue with ARM mbed framework when abstract class breaks compile for LPC1768 // Resolve #666
  Fix issue with ARM mbed framework and multiple definition errors   on FRDM-KL46Z board // Resolve #641
  List embedded boards in docs
  Fix multiple definition in mbed framework when using abstract class // Issue #641, #666
  Add "stlink" as the default uploader for STM32 Discovery boards // Resolve #665
  Implement grep serial ports for Windows
  Remove unused imports
  Minor improvements
  Fix PyLint's "misplaced-comparison-constant"
  Use $PROGNAME instead static name when looking for the firmware
  Update title of the article
  Add new articles
  Link Community Forums FAQ with Docs FAQ
  Grep for "/dev/cu.*" on OS X
  Skip grep search for serial ports on Windows machines
  Improve firmware uploading to Arduino Leonardo based boards
  Add MinGW to the PATH

# Conflicts:
#	docs/index.rst
#	docs/platforms/creating_board.rst
#	docs/projectconf.rst
#	docs/userguide/platforms/cmd_install.rst
#	platformio/__init__.py
#	platformio/builder/scripts/atmelavr.py
#	platformio/builder/scripts/atmelsam.py
#	platformio/builder/scripts/frameworks/mbed.py
2016-06-02 23:53:24 +03:00
Ivan Kravets
4f1e1a38c9 Merge branch 'release/v2.9.2' 2016-06-02 20:57:09 +03:00
Ivan Kravets
a9c02c9cbc Merge branch 'release/v2.9.2' into develop 2016-06-02 20:57:09 +03:00
Ivan Kravets
331cfb5b54 Version bump to 2.9.2 (issues #641, #645, #648, #652, #664, #665, #666, #671, #674) 2016-06-02 20:56:52 +03:00
Ivan Kravets
0b80ed6c2b Fix issue with ARM mbed framework when abstract class breaks compile for LPC1768 // Resolve #666 2016-06-02 20:47:09 +03:00
Ivan Kravets
38967eab64 Fix issue with ARM mbed framework and multiple definition errors on FRDM-KL46Z board // Resolve #641 2016-06-02 20:45:43 +03:00
Ivan Kravets
3ad1ad4ef1 List embedded boards in docs 2016-06-02 20:41:10 +03:00
Valeriy Koval
0c8f469246 Fix multiple definition in mbed framework when using abstract class // Issue #641, #666 2016-06-02 17:27:52 +03:00
Ivan Kravets
03d9351dec Add "stlink" as the default uploader for STM32 Discovery boards // Resolve #665 2016-06-02 16:41:04 +03:00
Ivan Kravets
b3fc6617e5 Implement grep serial ports for Windows 2016-06-02 14:57:44 +03:00
Ivan Kravets
1fdc2e3091 Remove unused imports 2016-06-02 01:13:34 +03:00
Ivan Kravets
c773c8f5d5 Minor improvements 2016-06-02 01:09:05 +03:00
Ivan Kravets
b188a05b69 Fix PyLint's "misplaced-comparison-constant" 2016-06-02 00:14:02 +03:00
Ivan Kravets
d7ca3f15a4 Use $PROGNAME instead static name when looking for the firmware 2016-06-01 23:33:15 +03:00
Ivan Kravets
406e240de1 Update title of the article 2016-06-01 22:14:37 +03:00
Ivan Kravets
f3689ac157 Add new articles 2016-06-01 21:30:30 +03:00
Ivan Kravets
ce72ee04f4 Link Community Forums FAQ with Docs FAQ 2016-06-01 20:36:13 +03:00
Ivan Kravets
694121d49a Grep for "/dev/cu.*" on OS X 2016-06-01 20:35:05 +03:00
Ivan Kravets
250b39bcc8 Skip grep search for serial ports on Windows machines 2016-06-01 20:26:10 +03:00
Ivan Kravets
c74a2b4529 Improve firmware uploading to Arduino Leonardo based boards 2016-06-01 20:24:08 +03:00
Ivan Kravets
ff7bc9092d Patch development platforms after upgrade process // Issue #479 2016-05-31 23:43:27 +03:00
Ivan Kravets
d6b6fa2baf Install development platform from local dir and VCS(git, hg, svn) // Issue #479 2016-05-31 00:22:25 +03:00
Valeriy Koval
bfd66deb37 Initial support for unit testing // Issue #408 2016-05-30 17:50:37 +03:00
Ivan Kravets
bf149c075d Auto install too-unity for hardware unit testing 2016-05-30 14:31:58 +03:00
Ivan Kravets
a1e7ce415b Add MinGW to the PATH 2016-05-30 13:15:19 +03:00
Ivan Kravets
2ecc007615 Implement packages updating; other improvements to Package Manager // Issue #479 2016-05-29 23:28:50 +03:00
Ivan Kravets
7a053e6df2 Merge branch 'develop' into feature/platformio-30
* develop:
  Automatically add source directory to "CPPPATH" of Build System
2016-05-29 18:17:34 +03:00
Ivan Kravets
ab15bafc5b Automatically add source directory to "CPPPATH" of Build System 2016-05-29 18:09:21 +03:00
Ivan Kravets
806f6cd2ab Fix platform installer if platform is already installed 2016-05-29 17:59:08 +03:00
Ivan Kravets
b7921c7dcb Merge branch 'develop' into feature/platformio-30
* develop:
  Fixed configuration data for TI LaunchPads based on msp430fr4133 and msp430fr6989 MCUs // Resolve #676
2016-05-29 17:18:29 +03:00
Ivan Kravets
f6014d2e52 Fixed configuration data for TI LaunchPads based on msp430fr4133 and msp430fr6989 MCUs // Resolve #676 2016-05-29 16:47:54 +03:00
Ivan Kravets
420c93aaa3 Automatically install missed development platform for run command 2016-05-29 00:50:05 +03:00
Ivan Kravets
23ef51a4e8 Update tests according new development platforms architecture // Issue #479 2016-05-28 22:51:33 +03:00
Ivan Kravets
c73dd60bd1 Merge branch 'develop' into feature/platformio-30
* develop:
  Install tox manually
  Simplified documentation for Continuous integration with AppVeyor // Resolve #671
  Fix broken links to project examples
  Add stlink as the default uploader for disco boards // Issue #665
  Specify supported types of library repository
2016-05-28 20:42:50 +03:00
Ivan Kravets
35a602cfef Install tox manually 2016-05-28 20:27:16 +03:00
Ivan Kravets
6ecd86a244 Simplified documentation for Continuous integration with AppVeyor // Resolve #671 2016-05-28 20:22:15 +03:00
Ivan Kravets
0cb28f906e Fix broken links to project examples 2016-05-28 19:09:24 +03:00
Ivan Kravets
426389b255 Fix package removing when it is symbolically linked 2016-05-27 15:50:57 +03:00
Ivan Kravets
825c60e2bd Automatically add SCons to the packages list if it is missed in platform manifest // Issue #479 2016-05-27 14:47:22 +03:00
Ivan Kravets
46893e2f04 Stop build process when framework is used and board is not specified 2016-05-27 12:48:10 +03:00
Ivan Kravets
567f9c06cc Disable platform auto-update (temporary) 2016-05-27 12:35:20 +03:00
Ivan Kravets
9a1f1ddb8b Allow to install development platform from local directory // Issue #479 2016-05-26 22:33:17 +03:00
Ivan Kravets
d68eb28629 Decentralized architecture for development platforms // Issue #479 2016-05-26 19:43:36 +03:00
Valeriy Koval
1a305f2dd7 Add stlink as the default uploader for disco boards // Issue #665 2016-05-25 11:29:26 +03:00
Ivan Kravets
cd22f5197b Specify supported types of library repository 2016-05-24 19:20:12 +03:00
Ivan Kravets
349b159a7b Move boards and platforms to separate repos // Issue #479 2016-05-23 22:28:48 +03:00
Ivan Kravets
b3d27b42ad Add key-binding for Toggle Build Panel 2016-05-18 15:46:59 +03:00
Ivan Kravets
ab3a5331c1 New article by Pedro Minatel 2016-05-12 19:51:22 +03:00
Ivan Kravets
9cbe12fbb8 New article by Pedro Minatel 2016-05-12 19:51:04 +03:00
Ivan Kravets
056cc08d68 Fix issue with `src_filter` option for Windows OS // Resolve #652 2016-05-10 15:36:00 +03:00
Ivan Kravets
69effbfedb Add new articles; Link to the Virtual IoT Meetup 2016-05-07 00:16:39 +03:00
Ivan Kravets
d881dfb63c Typo fix 2016-05-06 19:52:27 +03:00
Ivan Kravets
d89b2828e3 Add "Keep build panel visible" to PlatformIO IDE FAQ 2016-05-06 18:22:09 +03:00
Valeriy Koval
75ca6c6e52 Add several new mbed boards 2016-05-06 15:26:56 +03:00
Ivan Kravets
304c8b7184 Add support for MightyCore ATmega8535 board // Issue #585 2016-05-06 15:18:48 +03:00
Ivan Kravets
3c46c17242 Typo fix 2016-05-04 15:51:45 +03:00
Ivan Kravets
aca646e6b9 Use HTTP mirror for Package Manager in case with SSL errors // Resolve #645 2016-05-04 15:50:00 +03:00
Ivan Kravets
b587927687 Sync examples 2016-05-04 15:11:15 +03:00
Ivan Kravets
3edc336f62 Fix bug with "env_default" when "pio run -e" is used 2016-05-04 15:10:08 +03:00
Ivan Kravets
eee6685c59 Update platforms liste README 2016-05-04 14:59:08 +03:00
Ivan Kravets
76b5434157 Merge branch 'release/v2.9.1' into develop 2016-04-30 18:20:46 +03:00
Ivan Kravets
a05f55554f Merge branch 'release/v2.9.1' 2016-04-30 18:20:45 +03:00
Ivan Kravets
ea800f35b7 Version bump to 2.9.1 (issues #639) 2016-04-30 18:20:31 +03:00
Ivan Kravets
4c70856505 Update history 2016-04-30 17:40:55 +03:00
Ivan Kravets
cf7a3e377f Scan all prototypes with pointers 2016-04-30 17:35:41 +03:00
Ivan Kravets
03c0033bed Optmize INO to CPP converter // Issue #639 2016-04-30 17:33:45 +03:00
Ivan Kravets
238fa36212 Fix path for Windows for Preprocessor 2016-04-30 17:23:51 +03:00
Ivan Kravets
f42c8f10f3 Improve INO to CPP converter // Issue #639 2016-04-30 17:19:18 +03:00
Ivan Kravets
0a760ce9a4 Update number of supported development platforms 2016-04-30 13:36:20 +03:00
Ivan Kravets
a77cbe5c16 Handle pointer to the prototypes while converting "*.ino" to ".cpp" // Resolve #639 2016-04-30 13:28:57 +03:00
Ivan Kravets
475a521d0f Minor fixes 2016-04-28 21:19:31 +03:00
Ivan Kravets
6a387359c3 Import examples as submodule 2016-04-28 18:49:50 +03:00
Ivan Kravets
7498791520 Remove examples 2016-04-28 18:48:59 +03:00
Ivan Kravets
f80b378a7b Merge branch 'release/v2.9.0' 2016-04-28 18:48:01 +03:00
Ivan Kravets
9b86fdcfb0 Version bump to 2.9.0 (issues #438, #472, #480, #535, #559, #576, #585, #590, #596, #598, #599, #600, #601, #602, #604, #609, #610, #613, #616, #618, #626, #627, #631, #632, #633, #635, #636, #637) 2016-04-28 18:23:50 +03:00
Ivan Kravets
4e2e8b9f07 Added support for new Arduino.org boards // Issue #472 2016-04-28 17:16:18 +03:00
Valeriy Koval
69d6529f7e Add path to dfu-util for intel_arc32 // Issue #535 2016-04-28 16:48:58 +03:00
Ivan Kravets
4f0b48174b Add support for MightyCore boards // Resolve #585 2016-04-28 16:27:53 +03:00
Ivan Kravets
0cf78c4297 Added support for Generic ATTiny13 // Resolve #636 2016-04-28 15:48:17 +03:00
Ivan Kravets
4c80a022c7 Use Unix path while converting INO to CPP // Issue #610 2016-04-28 14:52:53 +03:00
Ivan Kravets
f5f9421894 Disable Simba from CI 2016-04-28 14:24:34 +03:00
Ivan Kravets
f7a0374d2b New RTOS and build Framework named "Simba" // Resolve #412 2016-04-28 14:11:56 +03:00
Ivan Kravets
ab48a2a8ff Merge branch 'develop' of https://github.com/ivankravets/platformio into develop
* 'develop' of https://github.com/ivankravets/platformio:
  Add missed COMMAND_LINE_TARGETS for microchippic32
  Remove program target code from microchippic32
2016-04-28 13:47:26 +03:00
Ivan Kravets
8411769b0a Sync examples 2016-04-28 13:47:07 +03:00
Valeriy Koval
9a9e177c41 Add missed COMMAND_LINE_TARGETS for microchippic32 2016-04-28 10:41:35 +03:00
Valeriy Koval
e98cc7e500 Remove program target code from microchippic32 2016-04-28 10:28:20 +03:00
Ivan Kravets
3529e9083d Update history 2016-04-27 17:51:50 +03:00
Ivan Kravets
2cd12f30a4 Further work on Intel ARC 32-bit development platform // Issue #535 2016-04-27 17:48:26 +03:00
Ivan Kravets
d6d8e7ec74 New article by Hackaday 2016-04-27 17:13:39 +03:00
Valeriy Koval
b410eed57d Fix lint errors 2016-04-27 15:26:59 +03:00
Valeriy Koval
53e5c483f7 Add info about intel_arc32 packages 2016-04-27 15:24:05 +03:00
Valeriy Koval
7b131ebdde Initial support for intel_arc32 platform // Issue #535 2016-04-27 15:12:07 +03:00
Valeriy Koval
7a0ad497da Improve microchippic32 platform 2016-04-27 14:19:38 +03:00
Ivan Kravets
4b6fc94f94 Allow to specify default environments "env_default" // Resolve #576 2016-04-27 14:10:18 +03:00
Valeriy Koval
ad9ae4c0af Fix uploader flags for microchippic32 platform 2016-04-27 13:23:22 +03:00
Valeriy Koval
fc96e6a145 Add temporarily x32 libs for microchippic32 toolchain 2016-04-27 13:16:17 +03:00
Ivan Kravets
b317e7227a Ask to install Python and Clang before PlatformIO IDE 2016-04-27 12:59:29 +03:00
Ivan Kravets
ab5d7f3313 Allowe to unflag(remove) base/initial flags using build_unflags // Resolve #559 2016-04-27 12:55:07 +03:00
Ivan Kravets
a7c0e2e944 Sync examples 2016-04-27 12:29:09 +03:00
Ivan Kravets
2264141879 Sync examples 2016-04-27 11:55:37 +03:00
Ivan Kravets
d5b41fe617 Add support for Microchip PIC32 development platform // Resolve #438 2016-04-27 11:43:48 +03:00
Ivan Kravets
b036a82203 Fix cache system when project's root directory is used as src_dir // Resolve #635 2016-04-27 00:00:40 +03:00
Ivan Kravets
eaf325b003 Further work on the support for PIC32 2016-04-26 23:29:45 +03:00
Ivan Kravets
3519cc1a75 PyLint fix 2016-04-26 22:54:39 +03:00
Ivan Kravets
2f58b9c7d2 Sync examples 2016-04-26 18:46:01 +03:00
Ivan Kravets
24ef799de7 Remove unused imports 2016-04-26 18:14:30 +03:00
Ivan Kravets
2682e8db8a Optimise converter from ini to cpp // Issue #610 2016-04-26 18:11:03 +03:00
Ivan Kravets
00b76e6fb5 Refactor source code converter from "*.ino" to "*.cpp" // Resolve #610 2016-04-26 18:05:11 +03:00
Valeriy Koval
b70858261f Fix toolchain name for microchippic32 2016-04-26 17:49:44 +03:00
Valeriy Koval
360024af38 Initial support for Microchip PIC32 platform // Issue #438 2016-04-26 17:47:23 +03:00
Ivan Kravets
bfdc425e7c Update history with new boards 2016-04-26 14:19:45 +03:00
Valeriy Koval
7b14182083 Fix mcu option checking 2016-04-26 13:45:30 +03:00
Valeriy Koval
7c760da618 Update espressif platform according to the latest framework 2.2.0 // issue #627 2016-04-26 13:44:10 +03:00
Ivan Kravets
262307608c Ask to install Python before IDE 2016-04-26 13:34:51 +03:00
Valeriy Koval
879efeffd5 Add variant for bbcmicrobit board 2016-04-26 13:24:31 +03:00
Valeriy Koval
a1ba9d542f Add new timsp430 boards 2016-04-26 13:23:44 +03:00
Valeriy Koval
c77e1a9ae8 Add some new boards with mbed support 2016-04-26 13:21:30 +03:00
Ivan Kravets
c5d961e27e Fix latice_ice40 dev platform for Python 2.6 // Issue #480 2016-04-26 13:13:44 +03:00
Ivan Kravets
ffdec11db4 Include Lattice iCE40 FPGA development platform in the docs 2016-04-26 11:54:30 +03:00
Ivan Kravets
b51d95aba5 New Lattice iCE40 FPGA development platform // Resolve #480 2016-04-26 11:43:46 +03:00
Valeriy Koval
f3e8cd9707 Add several ATTtiny boards 2016-04-26 11:38:48 +03:00
Ivan Kravets
19a4ccee8c Be quiet when JSON output 2016-04-26 00:28:48 +03:00
Ivan Kravets
f7be8ad666 Fix firmware uploading using serial port with spaces in the path 2016-04-25 22:02:22 +03:00
Ivan Kravets
d01d40d33c Sync examples 2016-04-25 21:58:25 +03:00
Ivan Kravets
0dd134c338 Remove Circle CI badge and conf 2016-04-25 21:07:08 +03:00
Ivan Kravets
b2aa46bf62 Allow multiple VID/PID pairs when detecting serial ports // Resolve #632 2016-04-25 21:05:34 +03:00
Valeriy Koval
d1f4f82897 Fix port autodececting without hwid 2016-04-25 20:35:57 +03:00
Valeriy Koval
12ef1b26bf Fix flags scope for atmelsam 2016-04-25 14:39:23 +03:00
Valeriy Koval
1872ecff16 Add HWID option for the boards // Issue #632 2016-04-25 12:35:21 +03:00
Ivan Kravets
7cb21dd981 Move octocat to right 2016-04-24 23:21:58 +03:00
Ivan Kravets
565ca05366 Fix typo 2016-04-24 00:52:36 +03:00
Ivan Kravets
db0dbe6d8c Automatically add `-DUSB_MANUFACTURER` with vendor's name // Resolve #631 2016-04-24 00:50:56 +03:00
Ivan Kravets
a821e5b553 Implement --json-output and --page options for pio lib search command // Resolve #604 2016-04-24 00:01:42 +03:00
Ivan Kravets
0fdccddd88 Code improvements 2016-04-23 23:21:01 +03:00
Ivan Kravets
9ff22f802a Remove unused imports 2016-04-23 20:56:05 +03:00
Ivan Kravets
a2d08c6d9c Sync examples 2016-04-23 20:49:09 +03:00
Ivan Kravets
da2946f45c Update links to the new repo with Project Examples 2016-04-23 20:21:04 +03:00
Ivan Kravets
52bfe10ed5 Add submodule with Project Examples 2016-04-23 19:59:32 +03:00
Ivan Kravets
fb8c2c705c Move examples to own repo https://github.com/platformio/platformio-examples 2016-04-23 19:51:12 +03:00
Ivan Kravets
f75358f561 Add ArduinoISP to docs 2016-04-23 17:52:01 +03:00
Ivan Kravets
a6ac5ad19b Add GitHub corner 2016-04-23 15:48:57 +03:00
Ivan Kravets
728ef7f1b7 Add to docs "Jump to Declaration" and "Code Formatting" 2016-04-22 21:10:38 +03:00
Ivan Kravets
c1c9b1b219 Add FAQ to PlatformIO IDE and auto save modified files on build 2016-04-22 13:21:45 +03:00
Ivan Kravets
2cac6796ff Fix default value for RTS/DTR for Serial Port Monitor 2016-04-22 00:59:09 +03:00
Ivan Kravets
05a52003d0 Add new article about PlatformIO IDE // Resolve #624 2016-04-20 21:26:31 +03:00
Ivan Kravets
f559d31363 Typo fix 2016-04-18 19:22:58 +03:00
Ivan Kravets
b0b84560b1 Typo fixes // Resolve #613 #616 #618 2016-04-17 00:27:38 +03:00
Ivan Kravets
2884c8b641 Update link to Apple Xcode 2016-04-15 14:03:15 +03:00
Ivan Kravets
7e9929a310 Typo fix 2016-04-14 00:12:03 +03:00
Ivan Kravets
92ffc112b8 HTTPS for Community 2016-04-13 18:04:43 +03:00
Ivan Kravets
9c15accbbb Improve explanation about "data" directory for SPIFFS // Issue #382 2016-04-13 12:40:43 +03:00
Ivan Kravets
582a1f744e Add new articles 2016-04-12 18:22:01 +03:00
Ivan Kravets
05277af5a7 Add link to XCode 2016-04-10 01:46:28 +03:00
Ivan Kravets
c7880b6736 Fix indention // Issue #609 2016-04-09 23:01:44 +03:00
Ivan Kravets
6356e49fdd Automatically reboot Teensy board after upload when Teensy Loader GUI is used // Resolve #609 2016-04-09 18:39:10 +03:00
Ivan Kravets
669561782b Implement load_json for "util" 2016-04-09 14:15:59 +03:00
Ivan Kravets
fe08e1f3f9 Update API IP 2016-04-09 14:09:26 +03:00
Valeriy Koval
530868a1fe Update native SDK support for espressif platform // Issue #366, #546, #593 2016-04-07 19:19:32 +03:00
Ivan Kravets
9b95d68475 New article; update history 2016-04-07 13:47:19 +03:00
Ivan Kravets
93f9603043 Update TravisCI conf 2016-04-07 13:33:00 +03:00
Valeriy Koval
2c45f18fa1 Update project template for CodeBlocks 2016-04-04 20:49:13 +03:00
Valeriy Koval
e3b3ea53be Add docs for CodeBlocks IDE 2016-04-04 20:48:19 +03:00
Ivan Kravets
3a0ef70249 New article "PlatformIO + Geany + Raspberry PI" 2016-03-30 14:14:51 +03:00
Valeriy Koval
a5b064eb26 Fix template for CodeBlocks IDE // Issue #600 2016-03-30 13:35:33 +03:00
Ivan Kravets
5ceae22f5f Update history 2016-03-30 13:33:09 +03:00
Valeriy Koval
da7ee2c86f Update build flags form atmelsam // Resolve #601 2016-03-30 11:49:41 +03:00
Ivan Kravets
bc3d8d26d0 Don't check OS type for ARM mbed-enabled boards and ST STM32 development platform before uploading to disk 2016-03-29 20:47:12 +03:00
Valeriy Koval
b67acfec9c Add initial project template for CodeBlocks IDE 2016-03-29 18:37:22 +03:00
Valeriy Koval
b5366f9d2f Add missing build flag to reduce code size for atmelsam // Resolve #599 2016-03-29 13:05:06 +03:00
Ivan Kravets
dbeea7ec4f Merge branch 'develop' of https://github.com/ivankravets/platformio into develop
* 'develop' of https://github.com/ivankravets/platformio:
  Add separate examples for atmelsam platform
  Fix build flags for digix board
2016-03-28 15:04:59 +03:00
Ivan Kravets
9a850d4c61 Fix broken compilation for Atmel SAMD based boards except Arduino Due // Resolve 598 2016-03-28 15:04:49 +03:00
Valeriy Koval
9c545dc67b Add separate examples for atmelsam platform 2016-03-28 13:34:58 +03:00
Valeriy Koval
61256c53fe Fix build flags for digix board 2016-03-28 13:23:20 +03:00
Ivan Kravets
5be9b0e120 Add article "PlatformIO IDE Installation" // Resolve #597 2016-03-27 18:29:06 +03:00
Ivan Kravets
44c0575e9b Add new articles 2016-03-26 20:02:59 +02:00
Ivan Kravets
14da22f5ab Merge branch 'release/v2.8.6' into develop 2016-03-22 23:02:57 +02:00
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
533 changed files with 17638 additions and 23427 deletions

View File

@@ -1,4 +1,4 @@
# Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
# Copyright 2014-present PlatformIO <contact@platformio.org>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -11,3 +11,11 @@
# 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.
[report]
# Regexes for lines to exclude from consideration
exclude_lines =
pragma: no cover
def __repr__
raise AssertionError
raise NotImplementedError

View File

@@ -2,22 +2,27 @@ 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 technical chat https://gitter.im/platformio/platformio
- [ ] 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.
our Community Forums https://community.platformio.org
- [ ] 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.
- [ ] Development Platform. All issues related to Development Platform should be reported to appropriate repository. Search it using link below
https://github.com/platformio?query=platform-
- [ ] 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 Core. If youve found a bug, please provide an information below.
*You can erase any parts of this template not applicable to your Issue.*
------------------------------------------------------------------
### Configuration
**Operating system**:
**Operating system**:
**PlatformIO Version** (`platformio --version`):

4
.gitignore vendored
View File

@@ -5,3 +5,7 @@
docs/_build
dist
build
.cache
coverage.xml
.coverage
htmlcov

9
.gitmodules vendored
View File

@@ -1,6 +1,3 @@
[submodule "examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-PCD8544-Nokia-5110-LCD-library"]
path = examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-PCD8544-Nokia-5110-LCD-library
url = https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library.git
[submodule "examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-GFX-Library"]
path = examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-GFX-Library
url = https://github.com/adafruit/Adafruit-GFX-Library.git
[submodule "examples"]
path = examples
url = https://github.com/platformio/platformio-examples.git

View File

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

View File

@@ -20,4 +20,4 @@ confidence=
# --disable=W"
# disable=import-star-module-level,old-octal-literal,oct-method,print-statement,unpacking-in-except,parameter-unpacking,backtick,old-raise-syntax,old-ne-operator,long-suffix,dict-view-method,dict-iter-method,metaclass-assignment,next-method-called,raising-string,indexing-exception,raw_input-builtin,long-builtin,file-builtin,execfile-builtin,coerce-builtin,cmp-builtin,buffer-builtin,basestring-builtin,apply-builtin,filter-builtin-not-iterating,using-cmp-argument,useless-suppression,range-builtin-not-iterating,suppressed-message,no-absolute-import,old-division,cmp-method,reload-builtin,zip-builtin-not-iterating,intern-builtin,unichr-builtin,reduce-builtin,standarderror-builtin,unicode-builtin,xrange-builtin,coerce-method,delslice-method,getslice-method,setslice-method,input-builtin,round-builtin,hex-method,nonzero-method,map-builtin-not-iterating
disable=locally-disabled,missing-docstring,invalid-name,too-few-public-methods,redefined-variable-type,import-error,similarities,unsupported-membership-test,unsubscriptable-object,ungrouped-imports
disable=locally-disabled,missing-docstring,invalid-name,too-few-public-methods,redefined-variable-type,import-error,similarities,unsupported-membership-test,unsubscriptable-object,ungrouped-imports,cyclic-import

3
.style.yapf Normal file
View File

@@ -0,0 +1,3 @@
[style]
blank_line_before_nested_class_or_def = true
allow_multiline_lambdas = true

View File

@@ -1,21 +1,42 @@
language: python
python:
"2.7"
env:
TOX_ENV=docs
TOX_ENV=lint
TOX_ENV=py26
TOX_ENV=py27
matrix:
include:
- os: linux
sudo: false
python: 2.7
env: TOX_ENV=docs
- os: linux
sudo: false
python: 2.7
env: TOX_ENV=lint
- os: linux
sudo: required
python: 2.7
env: TOX_ENV=py27
- os: osx
language: generic
env: TOX_ENV=py27
install:
pip install -U pip setuptools tox
- git submodule update --init --recursive
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sudo pip install -U tox; else pip install -U tox; fi
# temporary hook to fix issue with gcc-pic32
- if [[ "$TOX_ENV" == "py27" ]] && [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -qq lib32z1 lib32ncurses5 lib32bz2-1.0; fi
script:
tox -e $TOX_ENV
- tox -e $TOX_ENV
after_success:
- if [[ "$TOX_ENV" == "py27" ]] && [[ "$TRAVIS_OS_NAME" == "linux" ]]; then tox -e coverage; fi
- if [[ "$TOX_ENV" == "py27" ]] && [[ "$TRAVIS_OS_NAME" == "linux" ]]; then bash <(curl -s https://codecov.io/bash); fi
notifications:
email: false
slack:
on_success: change
rooms:
secure: JD6VGfN4+SLU2CwDdiIOr1VgwD+zbYUCE/srwyGuHavnjIkPItkl6T6Bn8Y4VrU6ysbuKotfdV2TAJJ82ivFbY8BvZBc7FBcYp/AGQ4FaCCV5ySv8RDAcQgdE12oaGzMdODiLqsB85f65zOlAFa+htaXyEiRTcotn6Y2hupatrI=
on_failure: always
secure: uEU56hHACLxq6iRRZ0JeAl/MPADqQWMZZAsZB9IOnXaRUd0Pa6lT2CicJXhVlsEEbNRqR2u5LbcQ4R0nvAKPjYgglDlDet4RfhP+YIqLX2v2dv3B5q8cITsKMUUediv4fybdO/nmvQSImq5nqRQQsXKAwTAJZooIwS3F5Dsg+eE=
on_success: change

21
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,21 @@
Contributing
------------
To get started, <a href="https://www.clahub.com/agreements/platformio/platformio">sign the Contributor License Agreement</a>.
1. Fork the repository on GitHub.
2. Make a branch off of ``develop``
3. Run ``pip install tox``
4. Go to the root of project where is located ``tox.ini`` and run ``tox -e develop``
5. Activate current development environment:
* Windows: ``.tox\develop\Scripts\activate``
* Bash/ZSH: ``source .tox/develop/bin/activate``
* Fish: ``source .tox/bin/activate.fish``
6. Make changes to code, documentation, etc.
7. Lint source code ``tox -e lint``
8. Run the tests ``tox -e py27``
9. Build documentation ``tox -e docs`` (creates a directory _build under docs where you can find the html)
10. Commit changes to your forked repository
11. Submit a Pull Request on GitHub.

View File

@@ -1,9 +1,433 @@
Release Notes
=============
PlatformIO 3.0
--------------
3.1.0 (2016-09-19)
~~~~~~~~~~~~~~~~~~
* New! Dynamic variables/templates for `Project Configuration File "platformio.ini" <http://docs.platformio.org/en/stable/projectconf.html>`__
(`issue #705 <https://github.com/platformio/platformio/issues/705>`_)
* Summary about processed environments
(`issue #777 <https://github.com/platformio/platformio/issues/777>`_)
* Implemented LocalCache system for API and improved a work in off-line mode
* Improved Project Generator when custom ``--project-option`` is passed to
`platformio init <http://docs.platformio.org/en/stable/userguide/cmd_init.html>`__
command
* Deprecated ``lib_force`` option, please use `lib_deps <http://docs.platformio.org/en/stable/projectconf.html#lib-deps>`__ instead
* Return valid exit code from ``plaformio test`` command
* Fixed Project Generator for CLion IDE using Windows OS
(`issue #785 <https://github.com/platformio/platformio/issues/785>`_)
* Fixed SSL Server-Name-Indication for Python < 2.7.9
(`issue #774 <https://github.com/platformio/platformio/issues/774>`_)
-------
* Development platform `Espressif 8266 <https://github.com/platformio/platform-espressif8266>`__
+ Add support for `SparkFun Blynk Board <https://www.sparkfun.com/products/13794>`_
+ Created `staging <http://docs.platformio.org/en/stable/platforms/espressif8266.html#using-arduino-framework-with-staging-version>`__
branch to work with development version of Arduino Framework
* Development platform `Freescale Kinetis <https://github.com/platformio/platform-freescalekinetis>`__
+ Added support for new boards: FRDM-KL26Z, FRDM-KL27Z, FRDM-KL43Z, Hexiwear
* Development platform `Nordic nRF51 <https://github.com/platformio/platform-nordicnrf51>`__
+ Added support for new boards: Seeed Arch BLE, Seeed Arch Link, Switch
Science mbed TY51822r3, y5 nRF51822 mbug, JKSoft Wallbot BLE
* Development platform `NXP LPC <https://github.com/platformio/platform-nxplpc>`__
+ Added support for new boards: ARM mbed LPC11U24 (+CAN), Bambino-210E,
CoCo-ri-Co!, DipCortex M3, LPCXpresso11U68, LPCXpresso824-MAX, mBuino,
MicroNFCBoard, NXP LPC11C24, NXP LPC11U34, EA LPC11U35 QuickStart Board,
NXP LPC11U37, NXP LPC2368, NXP LPC2460, NXP LPC800-MAX, Seeed Arch GPRS V2,
Seeed Xadow M0, Smeshlink xbed LPC1768, Switch Science mbed LPC824
* Development platform `ST STM32 <https://github.com/platformio/platform-ststm32>`__
+ New Arduino framework for ST STM32 -
`STM32Duino <https://github.com/rogerclarkmelbourne/Arduino_STM32>`__.
Supported boards: BluePill F103C8, Generic STM32F103C8, Generic STM32F103R8,
Generic STM32F103RB, Generic STM32F103RC, Generic STM32F103RE, Olimexino STM32
+ Added support for new ARM mbed based boards: ST 32F746GDISCOVER,
MultiTech mDot, ST Nucleo F207ZG, ST Nucleo F429ZI, ST Nucleo F446ZE,
ST Nucleo F746ZG, ST Nucleo F767ZI, ST Nucleo L011K4, ST Nucleo L432KC,
Seeed Arch Max
* Development platform `Teensy <https://github.com/platformio/platform-teensy>`__
+ Added support for Teensy 3.5 and 3.6 boards
+ Updated Arduino Framework for Teensy to v130
3.0.1 (2016-09-08)
~~~~~~~~~~~~~~~~~~
* Disabled temporary SSL for PlatformIO services
(`issue #772 <https://github.com/platformio/platformio/issues/772>`_)
3.0.0 (2016-09-07)
~~~~~~~~~~~~~~~~~~
* `PlatformIO Plus <https://pioplus.com>`__
+ Local and Embedded `Unit Testing <http://docs.platformio.org/en/latest/unit_testing.html>`__
(`issue #408 <https://github.com/platformio/platformio/issues/408>`_,
`issue #519 <https://github.com/platformio/platformio/issues/519>`_)
* Decentralized Development Platforms
+ Development platform manifest "platform.json" and
`open source development platforms <https://github.com/platformio?utf8=✓&query=platform->`__
+ `Semantic Versioning <http://semver.org/>`__ for platform commands,
development platforms and dependent packages
+ Custom package repositories
+ External embedded board configuration files, isolated build scripts
(`issue #479 <https://github.com/platformio/platformio/issues/479>`_)
+ Embedded Board compatibility with more than one development platform
(`issue #456 <https://github.com/platformio/platformio/issues/456>`_)
* Library Manager 3.0
+ Project dependencies per build environment using `lib_deps <http://docs.platformio.org/en/latest/projectconf.html#lib-deps>`__ option
(`issue #413 <https://github.com/platformio/platformio/issues/413>`_)
+ `Semantic Versioning <http://semver.org/>`__ for library commands and
dependencies
(`issue #410 <https://github.com/platformio/platformio/issues/410>`_)
+ Multiple library storages: Project's Local, PlatformIO's Global or Custom
(`issue #475 <https://github.com/platformio/platformio/issues/475>`_)
+ Install library by name
(`issue #414 <https://github.com/platformio/platformio/issues/414>`_)
+ Depend on a library using VCS URL (GitHub, Git, ARM mbed code registry, Hg, SVN)
(`issue #498 <https://github.com/platformio/platformio/issues/498>`_)
+ Strict search for library dependencies
(`issue #588 <https://github.com/platformio/platformio/issues/588>`_)
+ Allowed ``library.json`` to specify sources other than PlatformIO's Repository
(`issue #461 <https://github.com/platformio/platformio/issues/461>`_)
+ Search libraries by headers/includes with ``platformio lib search --header`` option
* New Intelligent Library Build System
+ `Library Dependency Finder <http://docs.platformio.org/en/latest/faq.html#how-works-library-dependency-finder-ldf>`__
that interprets C/C++ Preprocessor conditional macros with deep search behavior
+ Check library compatibility with project environment before building
(`issue #415 <https://github.com/platformio/platformio/issues/415>`_)
+ Control Library Dependency Finder for compatibility using
`lib_compat_mode <http://docs.platformio.org/en/latest/projectconf.html#lib-compat-mode>`__
option
+ Custom library storages/directories with
`lib_extra_dirs <http://docs.platformio.org/en/latest/projectconf.html#lib-extra-dirs>`__ option
(`issue #537 <https://github.com/platformio/platformio/issues/537>`_)
+ Handle extra build flags, source filters and build script from
`library.json <http://docs.platformio.org/en/latest/librarymanager/config.html>`__
(`issue #289 <https://github.com/platformio/platformio/issues/289>`_)
+ Allowed to disable library archiving (``*.ar``)
(`issue #719 <https://github.com/platformio/platformio/issues/719>`_)
+ Show detailed build information about dependent libraries
(`issue #617 <https://github.com/platformio/platformio/issues/617>`_)
+ Support for the 3rd party manifests (Arduino IDE "library.properties"
and ARM mbed "module.json")
* Removed ``enable_prompts`` setting. Now, all PlatformIO CLI is non-blocking!
* Switched to SSL PlatformIO API
* Renamed ``platformio serialports`` command to ``platformio device``
* Build System: Attach custom Before/Pre and After/Post actions for targets
(`issue #542 <https://github.com/platformio/platformio/issues/542>`_)
* Allowed passing custom project configuration options to ``platformio ci``
and ``platformio init`` commands using ``-O, --project-option``.
* Print human-readable information when processing environments without
``-v, --verbose`` option
(`issue #721 <https://github.com/platformio/platformio/issues/721>`_)
* Improved INO to CPP converter
(`issue #659 <https://github.com/platformio/platformio/issues/659>`_,
`issue #765 <https://github.com/platformio/platformio/issues/765>`_)
* Added ``license`` field to `library.json <http://docs.platformio.org/en/latest/librarymanager/config.html>`__
(`issue #522 <https://github.com/platformio/platformio/issues/522>`_)
* Warn about unknown options in project configuration file ``platformio.ini``
(`issue #740 <https://github.com/platformio/platformio/issues/740>`_)
* Fixed wrong line number for INO file when ``#warning`` directive is used
(`issue #742 <https://github.com/platformio/platformio/issues/742>`_)
* Stopped supporting Python 2.6
------
* Development platform `Atmel SAM <https://github.com/platformio/platform-atmelsam>`__
+ Fixed missing analog ports for Adafruit Feather M0 Bluefruit
(`issue #2 <https://github.com/platformio/platform-atmelsam/issues/2>`__)
* Development platform `Nordic nRF51 <https://github.com/platformio/platform-nordicnrf51>`__
+ Added support for BBC micro:bit board
(`issue #709 <https://github.com/platformio/platformio/issues/709>`_)
* Development platform `ST STM32 <https://github.com/platformio/platform-ststm32>`__
+ Added support for BluePill F103C8 board
(`pull #2 <https://github.com/platformio/platform-ststm32/pull/2>`__)
* Development platform `Teensy <https://github.com/platformio/platform-teensy>`__
+ Updated Arduino Framework to v1.29
(`issue #2 <https://github.com/platformio/platform-teensy/issues/2>`__)
PlatformIO 2.0
--------------
2.11.2 (2016-08-02)
~~~~~~~~~~~~~~~~~~~
* Improved support for `Microchip PIC32 <http://docs.platformio.org/en/latest/platforms/microchippic32.html>`__ development platform and ChipKIT boards
(`issue #438 <https://github.com/platformio/platformio/issues/438>`_)
* Added support for Pinoccio Scout board
(`issue #52 <https://github.com/platformio/platformio/issues/52>`_)
* Added support for `Teensy USB Features <http://docs.platformio.org/en/latest/platforms/teensy.html#usb-features>`__
(HID, SERIAL_HID, DISK, DISK_SDFLASH, MIDI, etc.)
(`issue #722 <https://github.com/platformio/platformio/issues/722>`_)
* Switched to built-in GCC LwIP library for Espressif development platform
* Added support for local ``--echo`` for Serial Port Monitor
(`issue #733 <https://github.com/platformio/platformio/issues/733>`_)
* Updated ``udev`` rules for the new STM32F407DISCOVERY boards
(`issue #731 <https://github.com/platformio/platformio/issues/731>`_)
* Implemented firmware merging with base firmware for Nordic nRF51 development platform
(`issue #500 <https://github.com/platformio/platformio/issues/500>`_,
`issue #533 <https://github.com/platformio/platformio/issues/533>`_)
* Fixed Project Generator for ESP8266 and ARM mbed based projects
(resolves incorrect linter errors)
* Fixed broken LD Script for Element14 chipKIT Pi board
(`issue #725 <https://github.com/platformio/platformio/issues/725>`_)
* Fixed firmware uploading to Atmel SAMD21-XPRO board using ARM mbed framework
(`issue #732 <https://github.com/platformio/platformio/issues/732>`_)
2.11.1 (2016-07-12)
~~~~~~~~~~~~~~~~~~~
* Added support for Arduino M0, M0 Pro and Tian boards
(`issue #472 <https://github.com/platformio/platformio/issues/472>`_)
* Added support for Microchip chipKIT Lenny board
* Updated Microchip PIC32 Arduino framework to v1.2.1
* Documented `uploading of EEPROM data <http://docs.platformio.org/en/latest/platforms/atmelavr.html#upload-eeprom-data>`__
(from EEMEM directive)
* Added ``Rebuild C/C++ Project Index`` target to CLion and Eclipse IDEs
* Improved project generator for `CLion IDE <http://docs.platformio.org/en/latest/ide/clion.html>`__
* Added ``udev`` rules for OpenOCD CMSIS-DAP adapters
(`issue #718 <https://github.com/platformio/platformio/issues/718>`_)
* Auto-remove project cache when PlatformIO is upgraded
* Keep user changes for ``.gitignore`` file when re-generate/update project data
* Ignore ``[platformio]`` section from custom project configuration file when
`platformio ci --project-conf <http://docs.platformio.org/en/latest/userguide/cmd_ci.html>`__
command is used
* Fixed missed ``--boot`` flag for the firmware uploader for ATSAM3X8E
Cortex-M3 MCU based boards (Arduino Due, etc)
(`issue #710 <https://github.com/platformio/platformio/issues/710>`_)
* Fixed missing trailing ``\`` for the source files list when generate project
for `Qt Creator IDE <http://docs.platformio.org/en/latest/ide/qtcreator.html>`__
(`issue #711 <https://github.com/platformio/platformio/issues/711>`_)
* Split source files to ``HEADERS`` and ``SOURCES`` when generate project
for `Qt Creator IDE <http://docs.platformio.org/en/latest/ide/qtcreator.html>`__
(`issue #713 <https://github.com/platformio/platformio/issues/713>`_)
2.11.0 (2016-06-28)
~~~~~~~~~~~~~~~~~~~
* New ESP8266-based boards: Generic ESP8285 Module, Phoenix 1.0 & 2.0, WifInfo
* Added support for Arduino M0 Pro board
(`issue #472 <https://github.com/platformio/platformio/issues/472>`_)
* Added support for Arduino MKR1000 board
(`issue #620 <https://github.com/platformio/platformio/issues/620>`_)
* Added support for Adafruit Feather M0, SparkFun SAMD21 and SparkFun SAMD21
Mini Breakout boards
(`issue #520 <https://github.com/platformio/platformio/issues/520>`_)
* Updated Arduino ESP8266 core for Espressif platform to 2.3.0
* Better removing unnecessary flags using ``build_unflags`` option
(`issue #698 <https://github.com/platformio/platformio/issues/698>`_)
* Fixed issue with ``platformio init --ide`` command for Python 2.6
2.10.3 (2016-06-15)
~~~~~~~~~~~~~~~~~~~
* Fixed issue with ``platformio init --ide`` command
2.10.2 (2016-06-15)
~~~~~~~~~~~~~~~~~~~
* Added support for ST Nucleo L031K6 board to ARM mbed framework
* Process ``build_unflags`` option for ARM mbed framework
* Updated Intel ARC32 Arduino framework to v1.0.6
(`issue #695 <https://github.com/platformio/platformio/issues/695>`_)
* Improved a check of program size before uploading to the board
* Fixed issue with ARM mbed framework ``-u _printf_float`` and
``-u _scanf_float`` when parsing ``$LINKFLAGS``
* Fixed issue with ARM mbed framework and extra includes for the custom boards,
such as Seeeduino Arch Pro
2.10.1 (2016-06-13)
~~~~~~~~~~~~~~~~~~~
* Re-submit a package to PyPI
2.10.0 (2016-06-13)
~~~~~~~~~~~~~~~~~~~
* Added support for `emonPi <https://github.com/openenergymonitor/emonpi>`__,
the OpenEnergyMonitor system
(`issue #687 <https://github.com/platformio/platformio/issues/687>`_)
* Added support for `SPL <http://platformio.org/frameworks/spl>`__
framework for STM32F0 boards
(`issue #683 <https://github.com/platformio/platformio/issues/683>`_)
* Added support for `Arduboy DevKit <https://www.arduboy.com>`__, the game system
the size of a credit card
* Updated ARM mbed framework package to v121
* Check program size before uploading to the board
(`issue #689 <https://github.com/platformio/platformio/issues/689>`_)
* Improved firmware uploading to Arduino Leonardo based boards
(`issue #691 <https://github.com/platformio/platformio/issues/691>`_)
* Fixed issue with ``-L relative/path`` when parsing ``build_flags``
(`issue #688 <https://github.com/platformio/platformio/issues/688>`_)
2.9.4 (2016-06-04)
~~~~~~~~~~~~~~~~~~
* Show ``udev`` warning only for the Linux OS while uploading firmware
2.9.3 (2016-06-03)
~~~~~~~~~~~~~~~~~~
* Added support for `Arduboy <https://www.arduboy.com>`__, the game system
the size of a credit card
* Updated `99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`__ for Linux OS
* Refactored firmware uploading to the embedded boards with SAM-BA bootloader
2.9.2 (2016-06-02)
~~~~~~~~~~~~~~~~~~
* Simplified `Continuous Integration with AppVeyor <http://docs.platformio.org/en/latest/ci/appveyor.html>`__
(`issue #671 <https://github.com/platformio/platformio/issues/671>`_)
* Automatically add source directory to ``CPPPATH`` of Build System
* Added support for Silicon Labs SLSTK3401A (Pearl Gecko) and
MultiTech mDot F411 ARM mbed based boards
* Added support for MightyCore ATmega8535 board
(`issue #585 <https://github.com/platformio/platformio/issues/585>`_)
* Added ``stlink`` as the default uploader for STM32 Discovery boards
(`issue #665 <https://github.com/platformio/platformio/issues/665>`_)
* Use HTTP mirror for Package Manager in a case with SSL errors
(`issue #645 <https://github.com/platformio/platformio/issues/645>`_)
* Improved firmware uploading to Arduino Leonardo/Due based boards
* Fixed bug with ``env_default`` when ``pio run -e`` is used
* Fixed issue with ``src_filter`` option for Windows OS
(`issue #652 <https://github.com/platformio/platformio/issues/652>`_)
* Fixed configuration data for TI LaunchPads based on msp430fr4133 and
msp430fr6989 MCUs
(`issue #676 <https://github.com/platformio/platformio/issues/676>`_)
* Fixed issue with ARM mbed framework and multiple definition errors
on FRDM-KL46Z board
(`issue #641 <https://github.com/platformio/platformio/issues/641>`_)
* Fixed issue with ARM mbed framework when abstract class breaks compile
for LPC1768
(`issue #666 <https://github.com/platformio/platformio/issues/666>`_)
2.9.1 (2016-04-30)
~~~~~~~~~~~~~~~~~~
* Handle prototype pointers while converting ``*.ino`` to ``.cpp``
(`issue #639 <https://github.com/platformio/platformio/issues/639>`_)
2.9.0 (2016-04-28)
~~~~~~~~~~~~~~~~~~
* Project generator for `CodeBlocks IDE <http://docs.platformio.org/en/latest/ide/codeblocks.html>`__
(`issue #600 <https://github.com/platformio/platformio/issues/600>`_)
* New `Lattice iCE40 FPGA <http://docs.platformio.org/en/latest/platforms/lattice_ice40.html>`__
development platform with support for Lattice iCEstick FPGA Evaluation
Kit and BQ IceZUM Alhambra FPGA
(`issue #480 <https://github.com/platformio/platformio/issues/480>`_)
* New `Intel ARC 32-bit <http://docs.platformio.org/en/latest/platforms/intel_arc32.html>`_
development platform with support for Arduino/Genuino 101 board
(`issue #535 <https://github.com/platformio/platformio/issues/535>`_)
* New `Microchip PIC32 <http://docs.platformio.org/en/latest/platforms/microchippic32.html>`__
development platform with support for 20+ different PIC32 based boards
(`issue #438 <https://github.com/platformio/platformio/issues/438>`_)
* New RTOS and build Framework named `Simba <http://docs.platformio.org/en/latest/frameworks/simba.html>`__
(`issue #412 <https://github.com/platformio/platformio/issues/412>`_)
* New boards for `ARM mbed <http://docs.platformio.org/en/latest/frameworks/mbed.html>`__
framework: ST Nucleo F410RB, ST Nucleo L073RZ and BBC micro:bit
* Added support for Arduino.Org boards: Arduino Leonardo ETH, Arduino Yun Mini,
Arduino Industrial 101 and Linino One
(`issue #472 <https://github.com/platformio/platformio/issues/472>`_)
* Added support for Generic ATTiny boards: ATTiny13, ATTiny24, ATTiny25,
ATTiny45 and ATTiny85
(`issue #636 <https://github.com/platformio/platformio/issues/636>`_)
* Added support for MightyCore boards: ATmega1284, ATmega644, ATmega324,
ATmega164, ATmega32, ATmega16 and ATmega8535
(`issue #585 <https://github.com/platformio/platformio/issues/585>`_)
* Added support for `TI MSP430 <http://docs.platformio.org/en/latest/platforms/timsp430.html>`__
boards: TI LaunchPad w/ msp430fr4133 and TI LaunchPad w/ msp430fr6989
* Updated Arduino core for Espressif platform to 2.2.0
(`issue #627 <https://github.com/platformio/platformio/issues/627>`_)
* Updated native SDK for ESP8266 to 1.5
(`issue #366 <https://github.com/platformio/platformio/issues/366>`_)
* PlatformIO Library Registry in JSON format! Implemented
``--json-output`` and ``--page`` options for
`platformio lib search <http://docs.platformio.org/en/latest/userguide/lib/cmd_search.html>`__
command
(`issue #604 <https://github.com/platformio/platformio/issues/604>`_)
* Allowed to specify default environments `env_default <http://docs.platformio.org/en/latest/projectconf.html#env-default>`__
which should be processed by default with ``platformio run`` command
(`issue #576 <https://github.com/platformio/platformio/issues/576>`_)
* Allowed to unflag(remove) base/initial flags using
`build_unflags <http://docs.platformio.org/en/latest/projectconf.html#build-unflags>`__
option
(`issue #559 <https://github.com/platformio/platformio/issues/559>`_)
* Allowed multiple VID/PID pairs when detecting serial ports
(`issue #632 <https://github.com/platformio/platformio/issues/632>`_)
* Automatically add ``-DUSB_MANUFACTURER`` with vendor's name
(`issue #631 <https://github.com/platformio/platformio/issues/631>`_)
* Automatically reboot Teensy board after upload when Teensy Loader GUI is used
(`issue #609 <https://github.com/platformio/platformio/issues/609>`_)
* Refactored source code converter from ``*.ino`` to ``*.cpp``
(`issue #610 <https://github.com/platformio/platformio/issues/610>`_)
* Forced ``-std=gnu++11`` for Atmel SAM development platform
(`issue #601 <https://github.com/platformio/platformio/issues/601>`_)
* Don't check OS type for ARM mbed-enabled boards and ST STM32 development
platform before uploading to disk
(`issue #596 <https://github.com/platformio/platformio/issues/596>`_)
* Fixed broken compilation for Atmel SAMD based boards except Arduino Due
(`issue #598 <https://github.com/platformio/platformio/issues/598>`_)
* Fixed firmware uploading using serial port with spaces in the path
* Fixed cache system when project's root directory is used as ``src_dir``
(`issue #635 <https://github.com/platformio/platformio/issues/635>`_)
2.8.6 (2016-03-22)
~~~~~~~~~~~~~~~~~~
* Launched `PlatformIO Community Forums <https://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)
~~~~~~~~~~~~~~~~~~
@@ -544,12 +968,12 @@ 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
(`issue #175 <https://github.com/platformio/platformio/issues/174>`_)
* Added `examples <https://github.com/platformio/platformio/tree/develop/examples>`__
* Added `examples <https://github.com/platformio/platformio-examples/tree/develop>`__
with preconfigured IDE projects
(`issue #154 <https://github.com/platformio/platformio/issues/154>`_)
* Fixed firmware uploading under Linux OS for Arduino Leonardo board
@@ -631,7 +1055,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
@@ -780,8 +1204,7 @@ PlatformIO 0.0
~~~~~~~~~~~~~~~~~~
* Replaced "dark blue" by "cyan" colour for the texts (`issue #33 <https://github.com/platformio/platformio/issues/33>`_)
* Added new setting `enable_prompts <http://docs.platformio.org/en/latest/userguide/cmd_settings.html>`_
and allowed to disable all *PlatformIO* prompts (useful for cloud compilers)
* Added new setting ``enable_prompts`` and allowed to disable all *PlatformIO* prompts (useful for cloud compilers)
(`issue #34 <https://github.com/platformio/platformio/issues/34>`_)
* Fixed compilation bug on *Windows* with installed *MSVC* (`issue #18 <https://github.com/platformio/platformio/issues/18>`_)
@@ -795,9 +1218,9 @@ PlatformIO 0.0
* Fixed "*OSError: [Errno 2] No such file or directory*" within
`platformio run <http://docs.platformio.org/en/latest/userguide/cmd_run.html>`__
command when PlatformIO isn't installed properly
* Fixed example for `Eclipse IDE with Tiva board <https://github.com/platformio/platformio/tree/develop/examples/ide/eclipse>`_
* Fixed example for `Eclipse IDE with Tiva board <https://github.com/platformio/platformio-examples/tree/develop/ide/eclipse>`_
(`issue #32 <https://github.com/platformio/platformio/pull/32>`_)
* Upgraded `Eclipse Project Examples <https://github.com/platformio/platformio/tree/develop/examples/ide/eclipse>`_
* Upgraded `Eclipse Project Examples <https://github.com/platformio/platformio-examples/tree/develop/ide/eclipse>`_
to latest *Luna* and *PlatformIO* releases
0.9.0 (2014-12-01)
@@ -865,7 +1288,7 @@ PlatformIO 0.0
* Disabled default warning flag "-Wall"
* Added auto-conversation from \*.ino to valid \*.cpp for Arduino/Energia
frameworks (`issue #7 <https://github.com/platformio/platformio/issues/7>`_)
* Added `Arduino example <https://github.com/platformio/platformio/tree/develop/examples/>`_
* Added `Arduino example <https://github.com/platformio/platformio-examples/tree/develop/>`_
with external library (*Adafruit CC3000*)
* Implemented `platformio upgrade <http://docs.platformio.org/en/latest/userguide/cmd_upgrade.html>`_
command and "auto-check" for the latest
@@ -914,7 +1337,7 @@ PlatformIO 0.0
* Resolved `issue #1 "Build referred libraries" <https://github.com/platformio/platformio/issues/1>`_
* Renamed project's "libs" directory to "lib"
* Added `arduino-internal-library <https://github.com/platformio/platformio/tree/develop/examples/>`_ example
* Added `arduino-internal-library <https://github.com/platformio/platformio-examples/tree/develop/>`_ example
* Changed to beta status

23
Makefile Normal file
View File

@@ -0,0 +1,23 @@
lint:
pylint --rcfile=./.pylintrc ./platformio
isort:
isort -rc ./platformio
isort -rc ./tests
yapf:
yapf --recursive --in-place platformio/
before-commit: isort yapf lint
clean-docs:
rm -rf docs/_build
clean: clean-docs
find . -name \*.pyc -delete
find . -name __pycache__ -delete
rm -rf .cache
rm -rf build
rm -rf htmlcov
rm -f .coverage

View File

@@ -7,9 +7,8 @@ PlatformIO
.. image:: https://ci.appveyor.com/api/projects/status/dku0h2rutfj0ctls/branch/develop?svg=true
:target: https://ci.appveyor.com/project/ivankravets/platformio
:alt: AppVeyor.CI Build Status
.. image:: https://circleci.com/gh/platformio/platformio/tree/develop.svg?style=svg
:target: https://circleci.com/gh/platformio/platformio/tree/develop
:alt: Circle.CI Build Status
.. image:: https://codecov.io/gh/platformio/platformio/branch/develop/graph/badge.svg
:target: https://codecov.io/gh/platformio/platformio
.. image:: https://requires.io/github/platformio/platformio/requirements.svg?branch=develop
:target: https://requires.io/github/platformio/platformio/requirements/?branch=develop
:alt: Requirements Status
@@ -19,36 +18,35 @@ PlatformIO
.. image:: https://img.shields.io/pypi/l/platformio.svg
:target: https://pypi.python.org/pypi/platformio/
:alt: License
.. image:: https://img.shields.io/pypi/dm/platformio.svg
:target: https://pypi.python.org/pypi/platformio/
:alt: PyPi Downloads
.. image:: https://img.shields.io/chat/on%20gitter.png
:alt: Join the chat at https://gitter.im/platformio/platformio
:target: https://gitter.im/platformio/platformio
.. image:: https://img.shields.io/donate/PlatformIO.png?color=yellow
:alt: Donate for PlatformIO.Org
:target: http://platformio.org/#!/donate
.. image:: https://img.shields.io/PlatformIO/Community.png
:alt: Community Forums
:target: https://community.platformio.org
.. image:: https://img.shields.io/PlatformIO/Plus.png?color=orange
:alt: PlatformIO Plus: Professional solutions for an awesome open source PlatformIO ecosystem
:target: https://pioplus.com
`Home & Demo <http://platformio.org>`_ |
`PlatformIO IDE <http://platformio.org/#!/platformio-ide>`_ |
`Project Examples <https://github.com/platformio/platformio/tree/develop/examples>`_ |
**Quick Links:** `Home Page <http://platformio.org>`_ |
`PlatformIO Plus <https://pioplus.com>`_ |
`PlatformIO IDE <http://platformio.org/platformio-ide>`_ |
`Project Examples <https://github.com/platformio/platformio-examples/tree/develop>`_ |
`Docs <http://docs.platformio.org>`_ |
`Twitter <https://twitter.com/PlatformIO_Org>`_ |
`Donate <http://platformio.org/donate>`_ |
`Contact Us <http://platformio.org/contact>`_
**Social:** `Twitter <https://twitter.com/PlatformIO_Org>`_ |
`Facebook <https://www.facebook.com/platformio>`_ |
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
`Bintray <https://bintray.com/platformio>`_ |
`Donate <http://platformio.org/#!/donate>`_ |
`Contact Us <http://platformio.org/#!/contact>`_
`Community <https://community.platformio.org>`_ |
.. 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 build system and library manager. Continuous and
IDE integration. Arduino and MBED compatible. Ready for Cloud compiling.
IDE integration. Arduino, ESP8266 and ARM mbed compatible
* **PlatformIO IDE** - The next generation integrated development environment for IoT.
* **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.
@@ -64,26 +62,27 @@ IDE integration. Arduino and MBED compatible. Ready for Cloud compiling.
platforms and frameworks; learn via examples; be up-to-date with the latest
version.
*Atmel AVR & SAM, Espressif, Freescale Kinetis, Nordic nRF51, NXP LPC,
Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed,
libOpenCM3, etc.*
*Atmel AVR & SAM, Espressif, Freescale Kinetis, Intel ARC32, Lattice iCE40,
Microchip PIC32, Nordic nRF51, NXP LPC, Silicon Labs EFM32, ST STM32,
TI MSP430 & Tiva, Teensy, Arduino, mbed, libOpenCM3, etc.*
.. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-demo-wiring.gif
:target: http://platformio.org
* `PlatformIO IDE <http://platformio.org/#!/platformio-ide>`_
* `Get Started <http://platformio.org/#!/get-started>`_
* `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
* `Development Platforms <http://platformio.org/#!/platforms>`_
* `Frameworks <http://platformio.org/#!/frameworks>`_
* `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
* `Library Manager <http://docs.platformio.org/en/latest/librarymanager/index.html>`_
* `User Guide <http://docs.platformio.org/en/latest/userguide/index.html>`_
* `Continuous Integration <http://docs.platformio.org/en/latest/ci/index.html>`_
* `IDE Integration <http://docs.platformio.org/en/latest/ide.html>`_
* `Articles about us <http://docs.platformio.org/en/latest/articles.html>`_
* `FAQ <http://docs.platformio.org/en/latest/faq.html>`_
* `Release Notes <http://docs.platformio.org/en/latest/history.html>`_
* `PlatformIO Plus and professional solutions <https://pioplus.com>`_
* `PlatformIO IDE <http://platformio.org/platformio-ide>`_
* `Get Started <http://platformio.org/get-started>`_
* `Library Search and Registry <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/stable/librarymanager/index.html>`_
* `User Guide <http://docs.platformio.org/en/stable/userguide/index.html>`_
* `Continuous Integration <http://docs.platformio.org/en/stable/ci/index.html>`_
* `IDE Integration <http://docs.platformio.org/en/stable/ide.html>`_
* `Articles about us <http://docs.platformio.org/en/stable/articles.html>`_
* `FAQ <http://docs.platformio.org/en/stable/faq.html>`_
* `Release Notes <http://docs.platformio.org/en/stable/history.html>`_
Use whenever. *Run everywhere.*
-------------------------------
@@ -97,17 +96,17 @@ sized computers (`Raspberry Pi <http://www.raspberrypi.org>`_,
Embedded Development. *Easier Than Ever.*
-----------------------------------------
*PlatformIO* is well suited for embedded development and has pre-configured
settings for most popular `Embedded Boards <http://platformio.org/#!/boards>`_.
settings for most popular `Embedded Boards <http://platformio.org/boards>`_.
* Colourful `command-line output <https://raw.githubusercontent.com/platformio/platformio/develop/examples/platformio-examples.png>`_
* `IDE Integration <http://docs.platformio.org/en/latest/ide.html>`_ with
* `IDE Integration <http://docs.platformio.org/en/stable/ide.html>`_ with
*Arduino, Atom, Eclipse, Emacs, Energia, Qt Creator, Sublime Text, Vim, Visual Studio*
* Cloud compiling and `Continuous Integration <http://docs.platformio.org/en/latest/ci/index.html>`_
* Cloud compiling and `Continuous Integration <http://docs.platformio.org/en/stable/ci/index.html>`_
with *AppVeyor, Circle CI, Drone, Shippable, Travis CI*
* Built-in `Serial Port Monitor <http://docs.platformio.org/en/latest/userguide/cmd_serialports.html#platformio-serialports-monitor>`_ and configurable
`build -flags/-options <http://docs.platformio.org/en/latest/projectconf.html#build-flags>`_
* Built-in `Serial Port Monitor <http://docs.platformio.org/en/stable/userguide/cmd_serialports.html#platformio-serialports-monitor>`_ and configurable
`build -flags/-options <http://docs.platformio.org/en/stable/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
@@ -118,10 +117,10 @@ The Missing Library Manager. *It's here!*
*PlatformIO Library Manager* is the missing library manager for development
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>`_
* Friendly `Command-Line Interface <http://docs.platformio.org/en/stable/librarymanager/index.html>`_
* 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>`_
* Library Crawler based on `library.json <http://docs.platformio.org/en/stable/librarymanager/config.html>`_
specification
* Library **dependency management**
* Automatic library updating
@@ -140,7 +139,7 @@ cross-platform substitute for the classic *Make* utility.
* Reliable detection of *build changes*
* Improved support for *parallel builds*
* Ability to share *built files in a cache*
* Lookup for external libraries which are installed via `Library Manager <http://docs.platformio.org/en/latest/librarymanager/index.html>`_
* Lookup for external libraries which are installed via `Library Manager <http://docs.platformio.org/en/stable/librarymanager/index.html>`_
.. image:: https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-scons-builder.png
:target: http://platformio.org
@@ -150,62 +149,52 @@ Single source code. *Multiple platforms.*
-----------------------------------------
*PlatformIO* allows the developer to compile the same code with different
development platforms using only *One Command*
`platformio run <http://docs.platformio.org/en/latest/userguide/cmd_run.html>`_.
`platformio run <http://docs.platformio.org/en/stable/userguide/cmd_run.html>`_.
This happens due to
`Project Configuration File (platformio.ini) <http://docs.platformio.org/en/latest/projectconf.html>`_
`Project Configuration File (platformio.ini) <http://docs.platformio.org/en/stable/projectconf.html>`_
where you can setup different environments with specific options (platform
type, firmware uploading settings, pre-built framework, build flags and many
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>`_
* `Intel ARC32 <http://platformio.org/platforms/intel_arc32>`_
* `Lattice iCE40 <http://platformio.org/platforms/lattice_ice40>`_
* `Microchip PIC32 <http://platformio.org/platforms/microchippic32>`_
* `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>`_
* `Energia <http://platformio.org/frameworks/energia>`_
* `libOpenCM3 <http://platformio.org/frameworks/libopencm3>`_
* `mbed <http://platformio.org/frameworks/mbed>`_
* `Simba <http://platformio.org/frameworks/simba>`_
* `SPL <http://platformio.org/frameworks/spl>`_
* `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>`_
For further details, please refer to `What is PlatformIO? <http://docs.platformio.org/en/stable/faq.html#what-is-platformio>`_
Contributing
------------
1. Fork the repository on GitHub.
2. Make a branch off of ``develop``
3. Run ``pip install tox``
4. Go to the root of project where is located ``tox.ini`` and run ``tox -e develop``
5. Activate current development environment:
See `contributing guidelines <https://github.com/platformio/platformio/blob/develop/CONTRIBUTING.md>`_.
* Windows: ``.tox\develop\Scripts\activate``
* Bash/ZSH: ``source .tox/develop/bin/activate``
* Fish: ``source .tox/bin/activate.fish``
6. Make changes to code, documentation, etc.
7. Lint source code ``tox -e lint``
8. Run the tests ``tox -e py27``
9. Commit changes to your forked repository
10. Submit a Pull Request on GitHub.
Licence
License
-------
Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
Copyright 2014-present PlatformIO <contact@platformio.org>
The PlatformIO is licensed under the permissive Apache 2.0 licence,
The PlatformIO is licensed under the permissive Apache 2.0 license,
so you can use it in both commercial and personal projects with confidence.

View File

@@ -1,27 +1,21 @@
build: off
environment:
global:
WITH_COMPILER: "cmd /E:ON /V:ON /C .\\scripts\\appveyor\\run_with_compiler.cmd"
matrix:
- TOXENV: "py27"
TOXPYTHON: "C:\\Python27-x64\\python.exe"
WINDOWS_SDK_VERSION: "v7.0"
PYTHON_HOME: "C:\\Python27-x64"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "64"
init:
- "ECHO %TOXENV%"
- ps: "ls C:\\Python*"
install:
- "git submodule update --init --recursive"
- "powershell scripts\\appveyor\\install.ps1"
before_test:
- cmd: SET PATH=%PATH%;C:\MinGW\bin
- cmd: git submodule update --init --recursive
- cmd: SET PATH=%PATH%;C:\Python27\Scripts;C:\MinGW\bin
- cmd: pip install tox
test_script:
- "%PYTHON_HOME%\\Scripts\\tox --version"
- "%PYTHON_HOME%\\Scripts\\pip --version"
- "%WITH_COMPILER% %PYTHON_HOME%\\Scripts\\tox"
- cmd: tox
notifications:
- provider: Slack
incoming_webhook:
secure: E9H0SU0Ju7WLDvgxsV8cs3J62T3nTTX7QkEjsczN0Sto/c9hWkVfhc5gGWUkxhlD975cokHByKGJIdwYwCewqOI+7BrcT8U+nlga4Uau7J8=
on_build_success: false
on_build_failure: true
on_build_status_changed: true

View File

@@ -1,16 +0,0 @@
machine:
python:
version: 2.7
checkout:
post:
- git submodule update --init
- pip install -U pip setuptools virtualenv
dependencies:
pre:
- pip install tox
test:
override:
- tox -e py27

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -1,5 +1,5 @@
/**
* Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
* Copyright 2014-present PlatformIO <contact@platformio.org>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -47,7 +47,7 @@ nav {
}
@media (min-width: 1200px) {
.container {
width: 1170px;
width: 1150px;
}
}
.container-fluid {
@@ -262,6 +262,12 @@ nav {
visibility: none;
}
@media (min-width: 768px) {
.wy-side-scroll {
padding-bottom: 50px;
}
}
.navbar-header .navbar-brand {
color: #e0e0e0;
background: url("../_static/platformio-logo-xs.png") no-repeat;
@@ -270,6 +276,38 @@ nav {
font-weight: 500;
}
.navbar .github-corner {
display: none;
}
.navbar .github-corner svg {
fill: #fff;
color: #080808;
position: absolute;
top: -1px;
right: 0;
border: 0;
width: 50px;
height: 50px;
transform: scale(1, 1);
}
@media screen and (min-width: 992px) {
.navbar .github-corner {
display: block;
}
}
.navbar-inverse .navbar-nav > li.nav-pioplus > a,
.navbar-inverse .navbar-nav > li.nav-pioplus > a:visited
{
color: #ff6600;
}
.navbar-inverse .navbar-nav > li.nav-pioplus > a:hover {
color: #ff9900;
}
.top-banner {
display: block;
padding: 10px 20px;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 213 KiB

After

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 38 KiB

BIN
docs/_static/ide-eclipse-virtualiot.jpg vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 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.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

View File

@@ -3,24 +3,31 @@
{% block extrafooter %}
<link rel="stylesheet" href="{{ pathto('_static/extra.css', 1) }}" type="text/css" />
<header id="pionav" class="navbar navbar-inverse navbar-fixed-top">
<a href="https://github.com/platformio" target="_blank" class="github-corner">
<svg viewBox="0 0 250 250">
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
<path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path>
<path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path>
</svg>
</a>
<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/#!/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>
<li class="active"><a href="http://docs.platformio.org/"><i class="fa fa-book fa-lg"></i>Docs</a></li>
<li><a href="http://platformio.org/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/#!/donate"><i class="fa fa-heart-o fa-lg"></i>Donate</a></li>
<li><a href="http://platformio.org/#!/contact"><i class="fa fa-envelope fa-lg"></i>Contact</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="https://community.platformio.org"><i class="fa fa-comments-o fa-lg"></i>Community</a></li>
<li class="nav-pioplus"><a href="https://pioplus.com"><i class="fa fa-cubes fa-lg"></i>Plus</a></li>
</ul>
</div>

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -18,17 +18,57 @@ Articles about us
If you've written article about PlatformIO and would like it listed on
this page, `please edit this page <https://github.com/platformio/platformio/blob/develop/docs/articles.rst>`_.
Here are recent articles about PlatformIO:
Here are recent articles/reviews about PlatformIO:
2016
^^^^
* Sep 12, 2016 - **Pedro Minatel** - `OTA Como programar o ESP8266 pelo WiFi no platformIO (OTA programming for ESP8266 via Wi-Fi using PlatformIO, Portuguese) <http://pedrominatel.com.br/esp8266/ota-como-programar-o-esp8266-pelo-wifi-no-platformio/>`_
* Sep 2, 2016 - **Tinkerman** `ESP8266: Optimizing files for SPIFFS with Gulp <http://tinkerman.cat/optimizing-files-for-spiffs-with-gulp/>`_
* Aug 28, 2016 - **Tom Parker** `Using the BBC micro:bit with PlatformIO <http://www.lshift.net/blog/2016/08/28/using-the-bbc-microbit-with-platformio/>`_
* Aug 24, 2016 - **Primal Cortex** `Cloud based continuous integration and delivery for IOT using PlatformIO <https://primalcortex.wordpress.com/2016/08/24/cloud-based-continuous-integration-and-delivery-for-iot-using-platformio/>`_
* Aug 18, 2016 - **Primal Cortex** - `Installing PlatformIO on Arch Linux <https://primalcortex.wordpress.com/2016/08/18/platformio/>`_
* Jul 26, 2016 - **Embedded Systems Laboratory** - `แนะนำการใช้งาน PlatformIO IDE สำหรับบอร์ด Arduino และ ESP8266 (Get started with PlatformIO IDE for Arduino board and ESP8266, Thai) <http://cpre.kmutnb.ac.th/esl/learning/index.php?article=intro_platformio-ide>`_
* Jul 15, 2016 - **Jaime** - `ESP8266 Mobile Rick Roll Captive Portal <https://hackaday.io/project/12709-esp8266-mobile-rick-roll-captive-portal>`_
* Jul 5, 2016 - **Ivan Kravets, Ph.D.** - `Explore the new development instruments for Arduino with PlatformIO ecosystem <http://www.slideshare.net/ivankravets/explore-the-new-development-instruments-for-arduino-with-platformio-ecosystem>`_
* Jul 5, 2016 - **Belinda** - `Monte Bianco Arduino Developer Summit <http://www.arduino.org/blog/arduino-developer-summit>`_
* Jul 1, 2016 - **Tam Hanna** - `Mikrocontroller-Gipfel in den Alpen: Arduino Developer Summit, Tag eins (Microcontroller peaks in the Alps: Arduino Developer Summit, Day One, German) <http://www.heise.de/make/meldung/Mikrocontroller-Gipfel-in-den-Alpen-Arduino-Developer-Summit-Tag-eins-3252421.html>`_
* Jun 14, 2016 - **Glyn Hudson** - `OpenEnergyMonitor Part 2/3: Firmware Continuous Test & Build <https://blog.openenergymonitor.org/2016/06/auto-build-continuous-test-firmware/>`_
* Jun 13, 2016 - **Daniel Eichhorn** - `New Weather Station Demo on Github <http://blog.squix.org/2016/06/new-weather-station-demo-on-github.html>`_
* Jun 12, 2016 - **Glyn Hudson** - `OpenEnergyMonitor Part 1/3: PlatformIO open-source embedded development ecosystem <https://blog.openenergymonitor.org/2016/06/platformio/>`_
* Jun 12, 2016 - **Uli Wolf** - `Nutzung von PlatformIO im Atom Editor zur Entwicklung von Arduino Code (Use PlatformIO and Atom Editor to develop Arduino code, German) <https://wolf-u.li/5668/nutzung-von-platform-io-im-atom-editor-zur-entwicklung-von-arduino-code/>`_
* Jun 3, 2016 - **Daniel Eichhorn** - `ESP8266: Continuous Delivery Pipeline Push To Production <http://blog.squix.org/2016/06/esp8266-continuous-delivery-pipeline-push-to-production.html>`_
* May 30, 2016 - **Ron Moerman** - `IoT Development with PlatformIO <https://electronicsworkbench.io/blog/platformio>`_
* May 29, 2016 - **Chris Synan** - `Reverse Engineer RF Remote Controller for IoT! <http://www.instructables.com/id/Reverse-Engineer-RF-Remote-Controller-for-IoT/?ALLSTEPS>`_
* May 26, 2016 - **Charlie Key** - `7 Best Developer Tools To Build Your NEXT Internet of Things Application <https://www.losant.com/blog/7-best-developer-tools-to-build-your-next-internet-of-things-application>`_
* May 22, 2016 - **Pedro Minatel** - `Estação meteorológica com ESP8266 (Weather station with ESP8266, Portuguese) <http://pedrominatel.com.br/esp8266/estacao-meteorologica-com-esp8266/>`_
* May 16, 2016 - **Pedro Minatel** - `Controle remoto WiFi com ESP8266 (WiFi remote control using ESP8266, Portuguese) <http://pedrominatel.com.br/esp8266/controle-remoto-wifi-com-esp8266/>`_
* May 11, 2016 - **Jo Vandeginste** - `Using PlatformIO to compile for Jeelabs' Jeenode Micro <http://jovandeginste.github.io/2016/05/11/using-platformio-to-compile-for-jeelabs-jeenode-micro.html>`_
* May 08, 2016 - **Radoslaw Bob** - `Touch controlled buzzer (Nodemcu ESP8266) <https://gettoknowthebob.wordpress.com/2016/05/08/touch-controlled-buzzer-nodemcu-esp8266/>`_
* May 06, 2016 - **Jean Roux** - `The IoT building blocks I use for my home-automation projects <http://iotplay.blogspot.com/2016/05/the-components-i-use-for-my-projects.html>`_
* May 05, 2016 - **Ivan Kravets, Ph.D. / Eclipse Virtual IoT Meetup** - `PlatformIO: a cross-platform IoT solution to build them all! <http://www.meetup.com/Virtual-IoT/events/229964142/>`_
* May 01, 2016 - **Pedro Minatel** - `PlatformIO Uma alternativa ao Arduino IDE (PlatformIO - An alternative to the Arduino IDE, Portuguese) <http://pedrominatel.com.br/ferramentas/platformio-uma-alternativa-ao-arduino-ide/>`_
* Apr 23, 2016 - **Al Williams** - `Hackaday: Atomic Arduino (and Other) Development <http://hackaday.com/2016/04/23/atomic-arduino-and-other-development/>`_
* Apr 16, 2016 - **Sathittham Sangthong** - `[PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน (Let's play together with PlatformIO IDE [alternative to Arduino IDE], Thai) <http://www.sathittham.com/platformio/platformio-ide/>`_
* Apr 15, 2016 - **Daniel Eichhorn** - `ESP8266: Offline Debugging with the Platformio Environment <http://blog.squix.org/2016/04/esp8266-offline-debugging-with.html>`_
* Apr 11, 2016 - **Matjaz Trcek** - `Top 5 Arduino integrated development environments <https://codeandunicorns.com/top-5-arduino-integrated-development-environments-ide/>`_
* Apr 06, 2016 - **Aleks** - `PlatformIO ausprobiert (Tried PlatformIO, German) <http://5volt-junkie.net/platformio/>`_
* Apr 02, 2016 - **Diego Pinto** - `Você tem coragem de abandonar a IDE do Arduino? PlatformIO + Atom (Do you dare to leave the Arduino IDE? PlatformIO + Atom, Portuguese) <http://www.clubemaker.com.br/?rota=artigo/81>`_
* Mar 30, 2016 - **Brandon Cannaday** - `Getting Started with PlatformIO and ESP8266 NodeMcu <https://www.losant.com/blog/getting-started-with-platformio-esp8266-nodemcu>`_
* Mar 29, 2016 - **Pablo Peñalve** - `PlatformIO + Geany + Raspberry PI, Spanish <http://ret-catriel.blogspot.com/2016/03/framework-platformio-geany-raspberry-pi.html>`_
* Mar 24, 2016 - **NAzT** - `PlatformIO และการปรับแต่ง เพื่อใช้สำหรับพัฒนา Arduino Library (PlatformIO and advanced development for Arduino Library, Thai) <http://cmmakerclub.com/2016/03/tools-2/config-platformio-for-arduino-framework-developer/>`_
* Mar 16, 2016 - **Jakub Skořepa** - `Instalace PlatformIO (PlatformIO IDE Installation, Czech) <http://ok1kvk.cz/clanek/2016/instalace-platformio/>`_
* 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/>`_
* Feb 13, 2016 - **Robert Cudmore** - `Programming an arduino with PlatformIO <http://blog.cudmore.io/post/2016/02/13/Programming-an-arduino-with-platformio/>`_
* 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>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -44,142 +44,20 @@ Put ``appveyor.yml`` to the root directory of the GitHub repository.
build: off
environment:
global:
WITH_COMPILER: "cmd /E:ON /V:ON /C .\\scripts\\appveyor\\run_with_compiler.cmd"
matrix:
- PLATFORMIO_CI_SRC: "path\\to\\source\\file.c"
PLATFORMIO_CI_SRC: "path\\to\\source\\file.ino"
PLATFORMIO_CI_SRC: "path\\to\\source\\directory"
WINDOWS_SDK_VERSION: "v7.0"
PYTHON_HOME: "C:\\Python27-x64"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "64"
install:
- "git submodule update --init --recursive"
- "powershell scripts\\appveyor\\install.ps1"
before_test:
- cmd: SET PATH=%PATH%;%PYTHON_HOME%;%PYTHON_HOME%\Scripts
test_script:
- '%WITH_COMPILER% %PYTHON_HOME%\\Scripts\\platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N'
matrix:
- PLATFORMIO_CI_SRC: "path\\to\\source\\file.c"
- PLATFORMIO_CI_SRC: "path\\to\\source\\file.ino"
- PLATFORMIO_CI_SRC: "path\\to\\source\\directory"
Then create ``scripts/appveyor`` folder and put these 2 scripts (they are the
same for the all projects, don't need to modify them):
install:
- cmd: git submodule update --init --recursive
- cmd: SET PATH=%PATH%;C:\Python27\Scripts
- cmd: pip install -U platformio
1. ``scripts/appveyor/install.ps1``:
test_script:
- cmd: platformio ci --board=<ID_1> --board=<ID_2> --board=<ID_N>
.. code-block:: PowerShell
$BASE_URL = "https://www.python.org/ftp/python/"
$GET_PIP_URL = "https://bootstrap.pypa.io/get-pip.py"
$GET_PIP_PATH = "C:\get-pip.py"
function DownloadPython ($python_version, $platform_suffix) {
$webclient = New-Object System.Net.WebClient
$filename = "python-" + $python_version + $platform_suffix + ".msi"
$url = $BASE_URL + $python_version + "/" + $filename
$basedir = $pwd.Path + "\"
$filepath = $basedir + $filename
if (Test-Path $filename) {
Write-Host "Reusing" $filepath
return $filepath
}
# Download and retry up to 5 times in case of network transient errors.
Write-Host "Downloading" $filename "from" $url
$retry_attempts = 3
for($i=0; $i -lt $retry_attempts; $i++){
try {
$webclient.DownloadFile($url, $filepath)
break
}
Catch [Exception]{
Start-Sleep 1
}
}
Write-Host "File saved at" $filepath
return $filepath
}
function InstallPython ($python_version, $architecture, $python_home) {
Write-Host "Installing Python" $python_version "for" $architecture "bit architecture to" $python_home
if (Test-Path $python_home) {
Write-Host $python_home "already exists, skipping."
return $false
}
if ($architecture -eq "32") {
$platform_suffix = ""
} else {
$platform_suffix = ".amd64"
}
$filepath = DownloadPython $python_version $platform_suffix
Write-Host "Installing" $filepath "to" $python_home
$args = "/qn /i $filepath TARGETDIR=$python_home"
Write-Host "msiexec.exe" $args
Start-Process -FilePath "msiexec.exe" -ArgumentList $args -Wait -Passthru
Write-Host "Python $python_version ($architecture) installation complete"
return $true
}
function InstallPip ($python_home) {
$python_path = $python_home + "/python.exe"
Write-Host "Installing pip..."
$webclient = New-Object System.Net.WebClient
$webclient.DownloadFile($GET_PIP_URL, $GET_PIP_PATH)
Write-Host "Executing:" $python_path $GET_PIP_PATH
Start-Process -FilePath "$python_path" -ArgumentList "$GET_PIP_PATH" -Wait -Passthru
}
function InstallPackage ($python_home, $pkg) {
$pip_path = $python_home + "/Scripts/pip.exe"
& $pip_path install -U $pkg
}
function main () {
InstallPython $env:PYTHON_VERSION $env:PYTHON_ARCH $env:PYTHON_HOME
InstallPip $env:PYTHON_HOME
InstallPackage $env:PYTHON_HOME setuptools
InstallPackage $env:PYTHON_HOME platformio
}
main
2. ``scripts/appveyor/run_with_compiler.cmd``:
.. code-block:: guess
@ECHO OFF
SET COMMAND_TO_RUN=%*
SET WIN_SDK_ROOT=C:\Program Files\Microsoft SDKs\Windows
SET MAJOR_PYTHON_VERSION="%PYTHON_VERSION:~0,1%"
IF %MAJOR_PYTHON_VERSION% == "2" (
SET WINDOWS_SDK_VERSION="v7.0"
) ELSE IF %MAJOR_PYTHON_VERSION% == "3" (
SET WINDOWS_SDK_VERSION="v7.1"
) ELSE (
ECHO Unsupported Python version: "%MAJOR_PYTHON_VERSION%"
EXIT 1
)
IF "%PYTHON_ARCH%"=="64" (
ECHO Configuring Windows SDK %WINDOWS_SDK_VERSION% for Python %MAJOR_PYTHON_VERSION% on a 64 bit architecture
SET DISTUTILS_USE_SDK=1
SET MSSdk=1
"%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Setup\WindowsSdkVer.exe" -q -version:%WINDOWS_SDK_VERSION%
"%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Bin\SetEnv.cmd" /x64 /release
ECHO Executing: %COMMAND_TO_RUN%
call %COMMAND_TO_RUN% || EXIT 1
) ELSE (
ECHO Using default MSVC build environment for 32 bit architecture
ECHO Executing: %COMMAND_TO_RUN%
call %COMMAND_TO_RUN% || EXIT 1
)
For more details as for PlatformIO build process please look into :ref:`cmd_ci`
command.
@@ -194,20 +72,16 @@ Examples
build: off
environment:
global:
WITH_COMPILER: "cmd /E:ON /V:ON /C .\\scripts\\appveyor\\run_with_compiler.cmd"
matrix:
- PLATFORMIO_CI_SRC: "examples\\Bluetooth\\PS3SPP\\PS3SPP.ino"
PLATFORMIO_CI_SRC: "examples\\pl2303\\pl2303_gps\\pl2303_gps.ino"
WINDOWS_SDK_VERSION: "v7.0"
PYTHON_HOME: "C:\\Python27-x64"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "64"
install:
- "git submodule update --init --recursive"
- "powershell scripts\\appveyor\\install.ps1"
before_test:
- cmd: SET PATH=%PATH%;%PYTHON_HOME%;%PYTHON_HOME%\Scripts
- cmd: git clone https://github.com/xxxajk/spi4teensy3.git c:\spi4teensy
test_script:
- '%WITH_COMPILER% %PYTHON_HOME%\\Scripts\\platformio ci --lib="." --lib="c:\spi4teensy" --board=uno --board=teensy31 --board=due'
matrix:
- PLATFORMIO_CI_SRC: "examples\\Bluetooth\\PS3SPP\\PS3SPP.ino"
- PLATFORMIO_CI_SRC: "examples\\pl2303\\pl2303_gps\\pl2303_gps.ino"
install:
- cmd: git submodule update --init --recursive
- cmd: SET PATH=%PATH%;C:\Python27\Scripts
- cmd: pip install -U platformio
- cmd: git clone https://github.com/xxxajk/spi4teensy3.git C:\spi4teensy
test_script:
- cmd: platformio ci --lib="." --lib="C:\\spi4teensy" --board=uno --board=teensy31 --board=due

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -49,9 +49,9 @@ guide first.
test:
override:
- platformio ci path/to/test/file.c --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
- platformio ci examples/file.ino --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
- platformio ci path/to/test/directory --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
- platformio ci path/to/test/file.c --board=<ID_1> --board=<ID_2> --board=<ID_N>
- platformio ci examples/file.ino --board=<ID_1> --board=<ID_2> --board=<ID_N>
- platformio ci path/to/test/directory --board=<ID_1> --board=<ID_2> --board=<ID_N>
For more details as for PlatformIO build process please look into :ref:`cmd_ci`.
@@ -65,7 +65,7 @@ it), please use ``--lib="."`` option for :ref:`cmd_ci` command
.. code-block:: yaml
script:
- platformio ci --lib="." --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
- platformio ci --lib="." --board=<ID_1> --board=<ID_2> --board=<ID_N>
Library dependecies
~~~~~~~~~~~~~~~~~~~
@@ -82,12 +82,12 @@ 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
- platformio lib install 1
# OneWire Library with ID=1 http://platformio.org/lib/show/1/OneWire
- platformio lib -g install 1
test:
override:
- platformio ci path/to/test/file.c --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
- platformio ci path/to/test/file.c --board=<ID_1> --board=<ID_2> --board=<ID_N>
Manually download dependent library and include in build process via ``--lib`` option
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -105,7 +105,7 @@ Manually download dependent library and include in build process via ``--lib`` o
test:
override:
- platformio ci path/to/test/file.c --lib="/tmp/OneWire-master" --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
- platformio ci path/to/test/file.c --lib="/tmp/OneWire-master" --board=<ID_1> --board=<ID_2> --board=<ID_N>
Custom Build Flags
~~~~~~~~~~~~~~~~~~
@@ -152,14 +152,14 @@ Examples
- sudo pip install -U platformio
# pre-install PlatformIO development platforms, they will be cached
- platformio platforms install atmelavr atmelsam teensy
- platformio platform install atmelavr atmelsam teensy
#
# Libraries from PlatformIO Library Registry:
#
# http://platformio.org/#!/lib/show/416/TinyGPS
# http://platformio.org/#!/lib/show/417/SPI4Teensy3
- platformio lib install 416 417
# http://platformio.org/lib/show/416/TinyGPS
# http://platformio.org/lib/show/417/SPI4Teensy3
- platformio lib -g install 416 417
test:
override:

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -51,7 +51,7 @@ Please fill all fields for your project in the Drone control panel:
.. code-block:: bash
pip install -U platformio
platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
platformio ci --board=<ID_1> --board=<ID_2> --board=<ID_N>
.. image:: ../_static/droneci-platformio-integration-1.png

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -58,7 +58,7 @@ GitHub repository.
- pip install -U platformio
script:
- platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
- platformio ci --board=<ID_1> --board=<ID_2> --board=<ID_N>
For more details as for PlatformIO build process please look into :ref:`cmd_ci`

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -72,7 +72,7 @@ PlatformIO is written in Python and is recommended to be run within
- pip install -U platformio
script:
- platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
- platformio ci --board=<ID_1> --board=<ID_2> --board=<ID_N>
Then perform steps 1, 2 and 4 from http://docs.travis-ci.com/user/getting-started/
@@ -87,10 +87,10 @@ it), please use ``--lib="."`` option for :ref:`cmd_ci` command
.. code-block:: yaml
script:
- platformio ci --lib="." --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
- platformio ci --lib="." --board=<ID_1> --board=<ID_2> --board=<ID_N>
Library dependecies
~~~~~~~~~~~~~~~~~~~
Library dependencies
~~~~~~~~~~~~~~~~~~~~
There 2 options to test source code with dependent libraries:
@@ -105,8 +105,8 @@ Install dependent library using :ref:`librarymanager`
#
# Libraries from PlatformIO Library Registry:
#
# http://platformio.org/#!/lib/show/1/OneWire
platformio lib install 1
# http://platformio.org/lib/show/1/OneWire
- platformio lib -g install 1
Manually download dependent library and include in build process via ``--lib`` option
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -117,11 +117,11 @@ Manually download dependent library and include in build process via ``--lib`` o
- pip install -U platformio
# download library to the temporary directory
wget https://github.com/PaulStoffregen/OneWire/archive/master.zip -O /tmp/onewire_source.zip
unzip /tmp/onewire_source.zip -d /tmp/
- wget https://github.com/PaulStoffregen/OneWire/archive/master.zip -O /tmp/onewire_source.zip
- unzip /tmp/onewire_source.zip -d /tmp/
script:
- platformio ci --lib="/tmp/OneWire-master" --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
- platformio ci --lib="/tmp/OneWire-master" --board=<ID_1> --board=<ID_2> --board=<ID_N>
Custom Build Flags
~~~~~~~~~~~~~~~~~~
@@ -137,8 +137,7 @@ PlatformIO allows to specify own build flags using :envvar:`PLATFORMIO_BUILD_FLA
install:
- pip install -U platformio
export PLATFORMIO_BUILD_FLAGS=-D GLOBAL_MACROS_FOR_ALL_TEST_ENV
- export PLATFORMIO_BUILD_FLAGS="-D GLOBAL_MACROS_FOR_ALL_TEST_ENV"
For the more details, please follow to
@@ -188,9 +187,9 @@ Examples
#
# Libraries from PlatformIO Library Registry:
#
# http://platformio.org/#!/lib/show/416/TinyGPS
# http://platformio.org/#!/lib/show/417/SPI4Teensy3
- platformio lib install 416 417
# http://platformio.org/lib/show/416/TinyGPS
# http://platformio.org/lib/show/417/SPI4Teensy3
- platformio lib -g install 416 417
script:
- platformio ci --board=uno --board=teensy31 --board=due --lib="."
@@ -247,10 +246,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 +259,11 @@ Examples
#
# Libraries from PlatformIO Library Registry:
#
# http://platformio.org/#!/lib/show/416/TinyGPS
- platformio lib install 416 421 422
# http://platformio.org/lib/show/416/TinyGPS
- platformio lib -g 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

@@ -45,7 +45,7 @@ master_doc = 'index'
# General information about the project.
project = u'PlatformIO'
copyright = u'2014-2016, Ivan Kravets'
copyright = u'2014-present, PlatformIO'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
@@ -199,7 +199,7 @@ latex_elements = {
# author, documentclass [howto, manual, or own class]).
latex_documents = [
('index', 'PlatformIO.tex', u'PlatformIO Documentation',
u'Ivan Kravets', 'manual'),
u'PlatformIO', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
@@ -229,7 +229,7 @@ latex_documents = [
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'platformio', u'PlatformIO Documentation',
[u'Ivan Kravets'], 1)
[u'PlatformIO'], 1)
]
# If true, show URL addresses after external links.
@@ -243,7 +243,7 @@ man_pages = [
# dir menu entry, description, category)
texinfo_documents = [
('index', 'PlatformIO', u'PlatformIO Documentation',
u'Ivan Kravets', 'PlatformIO', 'One line description of project.',
u'PlatformIO', 'PlatformIO', 'One line description of project.',
'Miscellaneous'),
]

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -19,7 +19,7 @@ Demo & Projects
Project Examples
----------------
Preconfigured demo projects are located in `PlatformIO GitHub <https://github.com/platformio/platformio/tree/develop/examples>`_ repository.
Pre-configured demo projects are located in `PlatformIO GitHub <https://github.com/platformio/platformio-examples/tree/develop>`_ repository.
"Blink Project"
---------------
@@ -29,7 +29,7 @@ Preconfigured demo projects are located in `PlatformIO GitHub <https://github.co
Used in demo
~~~~~~~~~~~~
1. Source code of `Wiring Blink Example <https://github.com/platformio/platformio/tree/develop/examples/wiring-blink>`_
1. Source code of `Wiring Blink Example <https://github.com/platformio/platformio-examples/tree/develop/wiring-blink>`_
2. :ref:`cmd_run` command
3. :ref:`platformio run -t upload <cmd_run>` command.
@@ -41,11 +41,11 @@ Platform Manager
Used in demo
~~~~~~~~~~~~
1. :ref:`userguide_platforms`
2. :ref:`cmd_platforms_list` command
3. :ref:`platformio platforms search avr <cmd_platforms_search>` command
4. :ref:`platformio platforms show teensy <cmd_platforms_show>` command
5. :ref:`cmd_platforms_update` command.
1. :ref:`userguide_platform`
2. :ref:`cmd_platform_list` command
3. :ref:`platformio platform search avr <cmd_platform_search>` command
4. :ref:`platformio platform show teensy <cmd_platform_show>` command
5. :ref:`cmd_platform_update` command.
Library Manager
---------------
@@ -55,7 +55,7 @@ Library Manager
Used in demo
~~~~~~~~~~~~
1. :ref:`userguide_lib`
1. :ref:`cmd_lib`
2. :ref:`platformio lib search 1-wire <cmd_lib_search>` command
3. :ref:`platformio lib install 54 <cmd_lib_install>` command
4. :ref:`platformio lib search -f mbed <cmd_lib_search>` command

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -35,8 +35,8 @@ PlatformIO handles ``CI`` variable which is setup by
`Continuous Integration <http://en.wikipedia.org/wiki/Continuous_integration>`_
(Travis, Circle and etc.) systems.
PlatformIO uses it to disable prompts and progress bars. In other words,
``CI=true`` automatically setup :envvar:`PLATFORMIO_SETTING_ENABLE_PROMPTS` to
``false`` and :envvar:`PLATFORMIO_DISABLE_PROGRESSBAR` to ``true``.
``CI=true`` automatically setup :envvar:`PLATFORMIO_DISABLE_PROGRESSBAR` to
``true``.
.. envvar:: PLATFORMIO_FORCE_COLOR
@@ -57,6 +57,10 @@ Allows to override :ref:`projectconf` option :ref:`projectconf_pio_home_dir`.
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_lib_dir`.
.. envvar:: PLATFORMIO_LIBDEPS_DIR
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_libdeps_dir`.
.. envvar:: PLATFORMIO_SRC_DIR
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_src_dir`.
@@ -69,6 +73,10 @@ Allows to override :ref:`projectconf` option :ref:`projectconf_pio_envs_dir`.
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_data_dir`.
.. envvar:: PLATFORMIO_TEST_DIR
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_test_dir`.
Building
--------
@@ -103,6 +111,10 @@ Allows to set :ref:`projectconf` option :ref:`projectconf_src_filter`.
Allows to set :ref:`projectconf` option :ref:`projectconf_extra_script`.
.. envvar:: PLATFORMIO_LIB_EXTRA_DIRS
Allows to set :ref:`projectconf` option :ref:`projectconf_lib_extra_dirs`.
Uploading
---------
@@ -142,10 +154,15 @@ Allows to override setting :ref:`setting_check_platformio_interval`.
Allows to override setting :ref:`setting_check_platforms_interval`.
.. envvar:: PLATFORMIO_SETTING_ENABLE_PROMPTS
Allows to override setting :ref:`setting_enable_prompts`.
.. envvar:: PLATFORMIO_SETTING_ENABLE_TELEMETRY
Allows to override setting :ref:`setting_enable_telemetry`.
.. envvar:: PLATFORMIO_SETTING_FORCE_VERBOSE
Allows to override setting :ref:`setting_force_verbose`.
.. envvar:: PLATFORMIO_SETTING_ENABLE_SSL
Allows to override setting :ref:`setting_enable_ssl`.

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -14,6 +14,10 @@
Frequently Asked Questions
==========================
.. note::
We have a big database with `Frequently Asked Questions in our Community Forums <https://community.platformio.org/c/faq>`_.
Please have a look at it.
.. contents::
General
@@ -24,6 +28,10 @@ What is PlatformIO?
Please refer to :ref:`what_is_pio`
What is ``.pioenvs`` directory
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Please refer to :ref:`projectconf_pio_envs_dir`.
Command completion in Terminal
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -55,6 +63,18 @@ To enable ``zsh`` completion please run these commands:
For permanent command completion you need to place commands above to
``~/.bashrc`` or ``~/.zshrc`` file.
PlatformIO IDE
--------------
Please refer to :ref:`PlatformIO IDE Frequently Asked Questions <ide_atom_faq>`.
Before/Pre and After/Post build actions
---------------------------------------
PlatformIO Build System has rich API that allows to attach different pre-/post
actions (hooks). See features of :ref:`projectconf_extra_script` option for
:ref:`projectconf`.
.. _faq_troubleshooting:
Troubleshooting
@@ -85,8 +105,7 @@ Where is ``platformio`` binary installed? Run this command in Terminal
# for Unix
which platformio
echo $PATH
# for Windows OS
Windows OS
where platformio
echo %PATH%
@@ -120,21 +139,6 @@ Please upgrade *SetupTools* package:
Miscellaneous
~~~~~~~~~~~~~
.. _faq_troubleshooting_pioblocksprompt:
PlatformIO blocks command execution using user prompt
'''''''''''''''''''''''''''''''''''''''''''''''''''''
If you are going to run *PlatformIO* from **subprocess**, you **MUST
DISABLE** all prompts. It will allow you to avoid blocking.
There are a few options:
- using :option:`platformio --force` option before each command
- using environment variable :envvar:`PLATFORMIO_SETTING_ENABLE_PROMPTS=No <PLATFORMIO_SETTING_ENABLE_PROMPTS>`
- disable global setting ``enable_prompts`` via :ref:`cmd_settings` command
- masking under Continuous Integration system via environment variable
:envvar:`CI=true <CI>`.
Serial does not work with panStampAVR board
'''''''''''''''''''''''''''''''''''''''''''
@@ -143,12 +147,6 @@ Answered in `issue #144 <https://github.com/platformio/platformio/issues/144#iss
Building
~~~~~~~~
Can not compile a library that compiles without issue with Arduino IDE
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
* `#298: Unable to use Souliss library <https://github.com/platformio/platformio/issues/298>`_
* `#331: Unable to use MySensors library <https://github.com/platformio/platformio/issues/331>`_
ARM toolchain: cc1plus: error while loading shared libraries
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -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

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -20,6 +20,6 @@ Examples
--------
All project examples are located in PlatformIO repository
`Examples for CMSIS framework <https://github.com/platformio/platformio/tree/develop/examples/stm32>`_.
`Examples for CMSIS framework <https://github.com/platformio/platformio-examples/tree/develop/stm32>`_.
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/stm32/stm32-cmsis-blink>`_
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/stm32/stm32-cmsis-blink>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -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
@@ -75,6 +75,13 @@ TI
- 128 Kb
- 1 Kb
* - ``lpmsp430fr4133``
- `TI LaunchPad w/ msp430fr4133 <http://www.ti.com/tool/msp-exp430fr4133>`_
- MSP430FR4133
- 16 MHz
- 16 Kb
- 2 Kb
* - ``lpmsp430fr5739``
- `TI FraunchPad w/ msp430fr5739 <http://www.ti.com/tool/msp-exp430fr5739>`_
- MSP430FR5739
@@ -89,6 +96,13 @@ TI
- 64 Kb
- 1 Kb
* - ``lpmsp430fr6989``
- `TI LaunchPad w/ msp430fr6989 <http://www.ti.com/tool/msp-exp430fr6989>`_
- MSP430FR6989
- 16 MHz
- 128 Kb
- 2 Kb
* - ``lpmsp430g2231``
- `TI LaunchPad w/ msp430g2231 (1 MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html>`_
- MSP430G2231

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -22,5 +22,6 @@ Frameworks
energia
libopencm3
mbed
simba
spl
wiringpi

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -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

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -13,6 +13,6 @@ Examples
--------
All project examples are located in PlatformIO repository
`Examples for libOpenCM3 framework <https://github.com/platformio/platformio/tree/develop/examples/stm32>`_.
`Examples for libOpenCM3 framework <https://github.com/platformio/platformio-examples/tree/develop/stm32>`_.
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/stm32/stm32-opencm3-blink>`_
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/stm32/stm32-opencm3-blink>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -46,16 +46,36 @@ 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.
96Boards
~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``b96b_f446ve``
- `96Boards B96B-F446VE <https://developer.mbed.org/platforms/ST-B96B-F446VE/>`_
- STM32F446VET6
- 168 MHz
- 512 Kb
- 128 Kb
Atmel
~~~~~
@@ -90,6 +110,26 @@ Atmel
- 256 Kb
- 32 Kb
BBC
~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``bbcmicrobit``
- `BBC micro:bit <https://developer.mbed.org/platforms/Microbit/>`_
- NRF51822
- 16 MHz
- 256 Kb
- 16 Kb
CQ Publishing
~~~~~~~~~~~~~
@@ -130,6 +170,26 @@ Delta
- 256 Kb
- 32 Kb
Elektor Labs
~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``elektor_cocorico``
- `CoCo-ri-Co! <https://developer.mbed.org/platforms/CoCo-ri-Co/>`_
- LPC812
- 30 MHz
- 16 Kb
- 4 Kb
Embedded Artists
~~~~~~~~~~~~~~~~
@@ -144,7 +204,7 @@ Embedded Artists
- RAM
* - ``lpc11u35``
- `Embedded Artists LPC11U35 QuickStart Board <https://developer.mbed.org/platforms/EA-LPC11U35/>`_
- `EA LPC11U35 QuickStart Board <https://developer.mbed.org/platforms/EA-LPC11U35/>`_
- LPC11U35
- 48 MHz
- 64 Kb
@@ -219,6 +279,27 @@ Freescale
- 128 Kb
- 16 Kb
* - ``frdm_kl26z``
- `Freescale Kinetis FRDM-KL26Z <http://www.nxp.com/products/software-and-tools/hardware-development-tools/freedom-development-boards/freedom-development-platform-for-kinetis-kl16-and-kl26-mcus-up-to-128-kb-flash:FRDM-KL26Z>`_
- MKL26Z128VLH4
- 48 MHz
- 128 Kb
- 16 Kb
* - ``frdm_kl27z``
- `Freescale Kinetis FRDM-KL27Z <http://www.nxp.com/products/software-and-tools/hardware-development-tools/freedom-development-boards/freedom-development-platform-for-kinetis-kl17-and-kl27-mcus:FRDM-KL27Z>`_
- MKL27Z64VLH4
- 48 MHz
- 64 Kb
- 16 Kb
* - ``frdm_kl43z``
- `Freescale Kinetis FRDM-KL43Z <http://www.nxp.com/products/software-and-tools/hardware-development-tools/freedom-development-boards/freedom-development-platform-for-kinetis-kl43-kl33-kl27-kl17-and-kl13-mcus:FRDM-KL43Z>`_
- MKL43Z256VLH4
- 48 MHz
- 256 Kb
- 32 Kb
* - ``frdm_kl46z``
- `Freescale Kinetis FRDM-KL46Z <https://developer.mbed.org/platforms/FRDM-KL46Z/>`_
- MKL46Z256VLL4
@@ -226,6 +307,46 @@ Freescale
- 256 Kb
- 32 Kb
GHI Electronics
~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``oc_mbuino``
- `mBuino <https://developer.mbed.org/platforms/mBuino/>`_
- LPC11U24
- 50 MHz
- 32 Kb
- 10 Kb
Generic
~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``bluepill_f103c8``
- `BluePill F103C8 <http://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32f1-series/stm32f103/stm32f103c8.html>`_
- STM32F103C8T6
- 72 MHz
- 64 Kb
- 20 Kb
JKSoft
~~~~~~
@@ -239,13 +360,80 @@ JKSoft
- Flash
- RAM
* - ``wallBotBLE``
* - ``wallbot_ble``
- `JKSoft Wallbot BLE <https://developer.mbed.org/platforms/JKSoft-Wallbot-BLE/>`_
- NRF51822
- 16 MHz
- 128 Kb
- 16 Kb
Micromint
~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``lpc4330_m4``
- `Bambino-210E <https://developer.mbed.org/platforms/Micromint-Bambino-210E/>`_
- LPC4330
- 204 MHz
- 8192 Kb
- 264 Kb
MikroElektronika
~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``hexiwear``
- `Hexiwear <https://developer.mbed.org/platforms/Hexiwear/>`_
- MK64FN1M0VDC12
- 120 MHz
- 1024 Kb
- 256 Kb
MultiTech
~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``mts_mdot_f405rg``
- `MultiTech mDot <https://developer.mbed.org/platforms/MTS-mDot-F411/>`_
- STM32F411RET6
- 100 MHz
- 512 Kb
- 128 Kb
* - ``mts_mdot_f411re``
- `MultiTech mDot F411 <https://developer.mbed.org/platforms/MTS-mDot-F411/>`_
- STM32F411RET6
- 100 MHz
- 512 Kb
- 128 Kb
NGX Technologies
~~~~~~~~~~~~~~~~
@@ -279,6 +467,13 @@ NXP
- Flash
- RAM
* - ``lpc11c24``
- `NXP LPC11C24 <http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/lpc-cortex-m-mcus/lpc-cortex-m0-plus-m0/lpc1100-cortex-m0-plus-m0/scalable-entry-level-32-bit-microcontroller-mcu-based-on-arm-cortex-m0-plus-m0-cores:LPC11C24FBD48>`_
- LPC11C24
- 48 MHz
- 32 Kb
- 8 Kb
* - ``lpc11u24``
- `NXP mbed LPC11U24 <https://developer.mbed.org/platforms/mbed-LPC11U24/>`_
- LPC11U24
@@ -286,6 +481,34 @@ NXP
- 32 Kb
- 8 Kb
* - ``lpc11u24_301``
- `ARM mbed LPC11U24 (+CAN) <https://developer.mbed.org/handbook/mbed-NXP-LPC11U24>`_
- LPC11U24
- 48 MHz
- 32 Kb
- 8 Kb
* - ``lpc11u34_421``
- `NXP LPC11U34 <http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/lpc-cortex-m-mcus/lpc-cortex-m0-plus-m0/lpc1100-cortex-m0-plus-m0/40kb-flash-8kb-sram-lqfp48-package:LPC11U34FBD48?lang_cd=en>`_
- LPC11U34
- 48 MHz
- 64 Kb
- 8 Kb
* - ``lpc11u37_501``
- `NXP LPC11U37 <http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/lpc-cortex-m-mcus/lpc-cortex-m0-plus-m0/lpc1100-cortex-m0-plus-m0/128kb-flash-10kb-sram-lqfp48-package:LPC11U37FBD48?lang_cd=en>`_
- LPC11U37
- 48 MHz
- 128 Kb
- 10 Kb
* - ``lpc11u68``
- `LPCXpresso11U68 <https://developer.mbed.org/platforms/LPCXpresso11U68/>`_
- LPC11U68
- 50 MHz
- 256 Kb
- 36 Kb
* - ``lpc1549``
- `NXP LPCXpresso1549 <https://developer.mbed.org/platforms/LPCXpresso1549/>`_
- LPC1549
@@ -300,6 +523,41 @@ NXP
- 512 Kb
- 64 Kb
* - ``lpc2368``
- `NXP LPC2368 <https://developer.mbed.org/platforms/mbed-LPC2368/>`_
- LPC2368
- 72 MHz
- 512 Kb
- 58 Kb
* - ``lpc2460``
- `NXP LPC2460 <http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/lpc-arm7-arm9-mcus/lpc-arm7-mcus/lpc2100-200-300-400/flashless-16-bit-32-bit-microcontroller-ethernet-can-isp-iap-usb-2.0-device-host-otg-external-memory-interface:LPC2460FBD208>`_
- LPC2460
- 72 MHz
- 64 Kb
- 16 Kb
* - ``lpc812``
- `NXP LPC800-MAX <https://developer.mbed.org/platforms/NXP-LPC800-MAX/>`_
- LPC812
- 30 MHz
- 16 Kb
- 4 Kb
* - ``lpc824``
- `LPCXpresso824-MAX <https://developer.mbed.org/platforms/LPCXpresso824-MAX/>`_
- LPC824
- 30 MHz
- 32 Kb
- 8 Kb
* - ``micronfcboard``
- `MicroNFCBoard <https://developer.mbed.org/platforms/MicroNFCBoard/>`_
- LPC11U34
- 48 MHz
- 64 Kb
- 10 Kb
Nordic
~~~~~~
@@ -450,6 +708,13 @@ ST
- 1024 Kb
- 384 Kb
* - ``disco_f746ng``
- `ST 32F746GDISCOVERY <http://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-discovery-kits/32f746gdiscovery.html>`_
- STM32F746NGH6
- 216 MHz
- 1024 Kb
- 320 Kb
* - ``disco_l053c8``
- `ST 32L0538DISCOVERY <http://www.st.com/web/en/catalog/tools/PF260319>`_
- STM32L053C8T6
@@ -513,6 +778,13 @@ ST
- 128 Kb
- 20 Kb
* - ``nucleo_f207zg``
- `ST Nucleo F207ZG <https://developer.mbed.org/platforms/ST-Nucleo-F207ZG/>`_
- STM32F207ZGT6
- 120 MHz
- 1024 Kb
- 128 Kb
* - ``nucleo_f302r8``
- `ST Nucleo F302R8 <https://developer.mbed.org/platforms/ST-Nucleo-F302R8/>`_
- STM32F302R8T6
@@ -548,6 +820,13 @@ ST
- 512 Kb
- 96 Kb
* - ``nucleo_f410rb``
- `ST Nucleo F410RB <https://developer.mbed.org/platforms/ST-Nucleo-F410RB/>`_
- STM32F410RBT6
- 100 MHz
- 128 Kb
- 32 Kb
* - ``nucleo_f411re``
- `ST Nucleo F411RE <https://developer.mbed.org/platforms/ST-Nucleo-F411RE/>`_
- STM32F411RET6
@@ -555,6 +834,13 @@ ST
- 512 Kb
- 128 Kb
* - ``nucleo_f429zi``
- `ST Nucleo F429ZI <https://developer.mbed.org/platforms/ST-Nucleo-F429ZI/>`_
- STM32F429ZIT6
- 180 MHz
- 2048 Kb
- 256 Kb
* - ``nucleo_f446re``
- `ST Nucleo F446RE <https://developer.mbed.org/platforms/ST-Nucleo-F446RE/>`_
- STM32F446RET6
@@ -562,6 +848,41 @@ ST
- 512 Kb
- 128 Kb
* - ``nucleo_f446ze``
- `ST Nucleo F446ZE <https://developer.mbed.org/platforms/ST-Nucleo-F446ZE/>`_
- STM32F446ZET6
- 180 MHz
- 512 Kb
- 128 Kb
* - ``nucleo_f746zg``
- `ST Nucleo F746ZG <https://developer.mbed.org/platforms/ST-Nucleo-F446ZE/>`_
- STM32F746ZGT6
- 216 MHz
- 1024 Kb
- 320 Kb
* - ``nucleo_f767zi``
- `ST Nucleo F767ZI <https://developer.mbed.org/platforms/ST-Nucleo-F767ZI/>`_
- STM32F746ZGT6
- 216 MHz
- 2048 Kb
- 512 Kb
* - ``nucleo_l011k4``
- `ST Nucleo L011K4 <https://developer.mbed.org/platforms/ST-Nucleo-L011K4/>`_
- STM32L011K4T6
- 32 MHz
- 16 Kb
- 2 Kb
* - ``nucleo_l031k6``
- `ST Nucleo L031K6 <https://developer.mbed.org/platforms/ST-Nucleo-L031K6/>`_
- STM32L031K6T6
- 32 MHz
- 32 Kb
- 8 Kb
* - ``nucleo_l053r8``
- `ST Nucleo L053R8 <https://developer.mbed.org/platforms/ST-Nucleo-L053R8/>`_
- STM32L053R8T6
@@ -569,6 +890,13 @@ ST
- 64 Kb
- 8 Kb
* - ``nucleo_l073rz``
- `ST Nucleo L073RZ <https://developer.mbed.org/platforms/ST-Nucleo-L073RZ/>`_
- STM32L073RZ
- 32 MHz
- 192 Kb
- 20 Kb
* - ``nucleo_l152re``
- `ST Nucleo L152RE <https://developer.mbed.org/platforms/ST-Nucleo-L152RE/>`_
- STM32L152RET6
@@ -576,6 +904,13 @@ ST
- 512 Kb
- 80 Kb
* - ``nucleo_l432kc``
- `ST Nucleo L432KC <https://developer.mbed.org/platforms/ST-Nucleo-L432KC/>`_
- STM32L432KCU6
- 80 MHz
- 256 Kb
- 64 Kb
* - ``nucleo_l476rg``
- `ST Nucleo L476RG <https://developer.mbed.org/platforms/ST-Nucleo-L476RG/>`_
- STM32L476RGT6
@@ -596,20 +931,55 @@ SeeedStudio
- Flash
- RAM
* - ``seeedTinyBLE``
- `SeeedStudio Seeed Tiny BLE <http://developer.mbed.org/platforms/Seeed-Tiny-BLE/>`_
* - ``seeedArchBLE``
- `Seeed Arch BLE <https://developer.mbed.org/platforms/Seeed-Arch-BLE/>`_
- NRF51822
- 16 MHz
- 128 Kb
- 16 Kb
* - ``seeedArchGPRS``
- `Seeed Arch GPRS V2 <https://www.seeedstudio.com/Arch-GPRS-V2-p-2026.html>`_
- LPC11U37
- 48 MHz
- 128 Kb
- 10 Kb
* - ``seeedArchLink``
- `Seeed Arch Link <https://developer.mbed.org/platforms/Seeed-Arch-Link/>`_
- NRF51822
- 16 MHz
- 256 Kb
- 16 Kb
* - ``seeeduinoArchPro``
- `SeeedStudio Seeeduino-Arch-Pro <https://developer.mbed.org/platforms/Seeeduino-Arch-Pro/>`_
* - ``seeedArchMax``
- `Seeed Arch Max <https://developer.mbed.org/platforms/Seeed-Arch-Max/>`_
- STM32F407VET6
- 168 MHz
- 512 Kb
- 192 Kb
* - ``seeedArchPro``
- `Seeed Arch Pro <https://developer.mbed.org/platforms/Seeeduino-Arch-Pro/>`_
- LPC1768
- 96 MHz
- 512 Kb
- 64 Kb
* - ``seeedTinyBLE``
- `Seeed Tiny BLE <http://developer.mbed.org/platforms/Seeed-Tiny-BLE/>`_
- NRF51822
- 16 MHz
- 256 Kb
- 16 Kb
* - ``xadow_m0``
- `Seeed Xadow M0 <https://developer.mbed.org/platforms/Seeed-Xadow-M0/>`_
- LPC11U35
- 48 MHz
- 64 Kb
- 10 Kb
Silicon Labs
~~~~~~~~~~~~
@@ -644,6 +1014,13 @@ Silicon Labs
- 256 Kb
- 32 Kb
* - ``efm32pg_stk3401``
- `Silicon Labs SLSTK3401A (Pearl Gecko) <https://developer.mbed.org/platforms/EFM32-Pearl-Gecko/>`_
- EFM32PG1B200F256
- 40 MHz
- 256 Kb
- 32 Kb
* - ``efm32wg_stk3800``
- `Silicon Labs EFM32WG-STK3800 (Wonder Gecko) <https://developer.mbed.org/platforms/EFM32-Wonder-Gecko/>`_
- EFM32WG990F256
@@ -658,6 +1035,26 @@ Silicon Labs
- 32 Kb
- 4 Kb
Smeshlink
~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``xbed_lpc1768``
- `Smeshlink xbed LPC1768 <https://developer.mbed.org/platforms/xbed-LPC1768/>`_
- LPC1768
- 96 MHz
- 512 Kb
- 32 Kb
Solder Splash Labs
~~~~~~~~~~~~~~~~~~
@@ -678,6 +1075,26 @@ Solder Splash Labs
- 32 Kb
- 8 Kb
SolderSplash Labs
~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``lpc1347``
- `DipCortex M3 <https://developer.mbed.org/platforms/DipCortex-M3/>`_
- LPC1347
- 72 MHz
- 64 Kb
- 12 Kb
Switch Science
~~~~~~~~~~~~~~
@@ -705,6 +1122,20 @@ Switch Science
- 32 Kb
- 4 Kb
* - ``ssci824``
- `Switch Science mbed LPC824 <https://developer.mbed.org/platforms/Switch-Science-mbed-LPC824/>`_
- LPC824
- 30 MHz
- 32 Kb
- 8 Kb
* - ``ty51822r3``
- `Switch Science mbed TY51822r3 <https://developer.mbed.org/platforms/Switch-Science-mbed-TY51822r3/>`_
- NRF51822
- 32 MHz
- 256 Kb
- 32 Kb
Teensy
~~~~~~
@@ -745,4 +1176,24 @@ u-blox
- 512 Kb
- 64 Kb
y5 design
~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``nrf51822_y5_mbug``
- `y5 nRF51822 mbug <https://developer.mbed.org/platforms/Y5-NRF51822-MBUG/>`_
- NRF51822
- 16 MHz
- 256 Kb
- 16 Kb
.. include:: mbed_extra.rst

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -23,10 +23,10 @@ Examples
--------
All project examples are located in PlatformIO repository
`Examples for MBED framework <https://github.com/platformio/platformio/tree/develop/examples/mbed>`_.
`Examples for MBED framework <https://github.com/platformio/platformio-examples/tree/develop/mbed>`_.
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-blink>`_
* `DSP <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-dsp>`_
* `HTTP Client <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-http-client>`_
* `RTOS <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-rtos>`_
* `Serial <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-serial>`_
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/mbed/mbed-blink>`_
* `DSP <https://github.com/platformio/platformio-examples/tree/develop/mbed/mbed-dsp>`_
* `HTTP Client <https://github.com/platformio/platformio-examples/tree/develop/mbed/mbed-http-client>`_
* `RTOS <https://github.com/platformio/platformio-examples/tree/develop/mbed/mbed-rtos>`_
* `Serial <https://github.com/platformio/platformio-examples/tree/develop/mbed/mbed-serial>`_

169
docs/frameworks/simba.rst Normal file
View File

@@ -0,0 +1,169 @@
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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.
.. _framework_simba:
Framework ``simba``
===================
Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
For more detailed information please visit `vendor site <http://simba-os.readthedocs.org>`_.
.. contents::
Platforms
---------
.. list-table::
:header-rows: 1
* - Name
- Description
* - :ref:`platform_atmelavr`
- Atmel AVR 8- and 32-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industrys most code-efficient architecture for C and assembly programming.
* - :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_espressif8266`
- Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by horizontal.
Adafruit
~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``huzzah``
- `Adafruit HUZZAH ESP8266 <https://www.adafruit.com/products/2471>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
Arduino
~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``due``
- `Arduino Due (Programming Port) <http://www.arduino.org/products/boards/4-arduino-boards/arduino-due>`_
- SAM3X8E
- 84 MHz
- 512 Kb
- 32 Kb
* - ``megaatmega2560``
- `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) <http://www.arduino.org/products/boards/4-arduino-boards/arduino-mega-2560>`_
- ATMEGA2560
- 16 MHz
- 256 Kb
- 8 Kb
* - ``nanoatmega328``
- `Arduino Nano ATmega328 <http://www.arduino.org/products/boards/4-arduino-boards/arduino-nano>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``uno``
- `Arduino Uno <http://www.arduino.org/products/boards/4-arduino-boards/arduino-uno>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
Espressif
~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``esp01``
- `Espressif Generic ESP8266 ESP-01 512k <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 512 Kb
- 80 Kb
* - ``esp01_1m``
- `Espressif Generic ESP8266 ESP-01 1M <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 1024 Kb
- 80 Kb
* - ``esp12e``
- `Espressif ESP8266 ESP-12E <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
NodeMCU
~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``nodemcu``
- `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
- 80 Kb
.. include:: simba_extra.rst

18
docs/frameworks/simba_extra.rst Executable file
View File

@@ -0,0 +1,18 @@
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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 Simba framework <https://github.com/platformio/platformio-examples/tree/develop/examples/simba>`_.
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/simba/blink>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -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

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -13,6 +13,6 @@ Examples
--------
All project examples are located in PlatformIO repository
`Examples for SPL framework <https://github.com/platformio/platformio/tree/develop/examples/stm32>`_.
`Examples for SPL framework <https://github.com/platformio/platformio-examples/tree/develop/stm32>`_.
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/stm32/stm32-spl-blink>`_
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/stm32/stm32-spl-blink>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -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

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -13,7 +13,7 @@ Examples
--------
All project examples are located in PlatformIO repository
`Examples for WiringPi framework <https://github.com/platformio/platformio/tree/develop/examples/raspberrypi>`_.
`Examples for WiringPi framework <https://github.com/platformio/platformio-examples/tree/develop/raspberrypi>`_.
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/raspberrypi/wiringpi-blink>`_
* `Serial <https://github.com/platformio/platformio/tree/develop/examples/raspberrypi/wiringpi-serial>`_
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/raspberrypi/wiringpi-blink>`_
* `Serial <https://github.com/platformio/platformio-examples/tree/develop/raspberrypi/wiringpi-serial>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -19,6 +19,7 @@ IDE Integration
ide/atom
ide/clion
ide/codeblocks
ide/eclipse
ide/emacs
ide/netbeans

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -10,12 +10,12 @@
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.
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
- 300+ embedded boards
- 15+ development platforms
- 10+ frameworks
@@ -28,4 +28,4 @@
* Serial Port Monitor
* Built-in Terminal with :ref:`PlatformIO CLI <userguide>` tool (``pio``, ``platformio``)
`Install PlatformIO IDE <http://platformio.org/#!/platformio-ide>`_.
`Install PlatformIO IDE <http://platformio.org/platformio-ide>`_.

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -14,11 +14,11 @@
PlatformIO IDE for Atom
=======================
PlatformIO IDE is the next generation integrated development environment for IoT:
PlatformIO IDE is the next-generation integrated development environment for IoT:
* Cross-platform build system without external dependencies to the OS software:
- 200+ embedded boards
- 300+ embedded boards
- 15+ development platforms
- 10+ frameworks
@@ -36,40 +36,80 @@ code editor that's modern, approachable, yet hackable to the core; a tool you
can customize to do anything but also use productively without ever touching a
config file.
.. image:: ../_static/ide-atom-platformio.png
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio.png
.. contents::
Installation
------------
PlatformIO IDE is the next generation integrated development environment for IoT.
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>`_.
Automatic Installation
~~~~~~~~~~~~~~~~~~~~~~
.. note::
You don't need to install PlatformIO CLI separately to system.
PlatformIO CLI is built into PlatformIO IDE and you will be able to use it
within PlatformIO IDE Terminal.
Please download PlatformIO IDE for Atom bundle with built-in auto installer
(be patient and let the installation complete)
1. Python Interpreter
~~~~~~~~~~~~~~~~~~~~~
- `Download PlatformIO IDE for Windows <https://dl.bintray.com/platformio/ide-bundles/platformio-atom-windows.exe>`_
- `Download PlatformIO IDE for Mac <https://dl.bintray.com/platformio/ide-bundles/platformio-atom-mac.zip>`_
- `Download PlatformIO IDE .deb <https://dl.bintray.com/platformio/ide-bundles/platformio-atom-linux-x86_64.deb>`_
- `Download PlatformIO IDE .rpm <https://dl.bintray.com/platformio/ide-bundles/platformio-atom-linux-x86_64.rpm>`_
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.
Manual Installation
**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:
2. 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 and restart Atom:
- **Mac OS X**: `Install the latest Xcode <https://developer.apple.com/xcode/download/>`_
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
.. warning::
If you see ``Failed to find MSBuild toolsets directory`` error in
the installation console, please ignore it and press any key to close
this window. PlatformIO IDE uses only Clang completion engine that
should work after it without any problems.
- **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::
If some libraries are not visible in :ref:`ide_atom` and Code Completion or
Code Linting does not work properly, please perform ``Menu: PlatformIO >
Rebuild C/C++ Project Index (Autocomplete, Linter)``
3. IDE Installation
~~~~~~~~~~~~~~~~~~~
1. Download and install the latest Atom text editor
.. 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).
- `Download Atom for Mac <https://atom.io/download/mac>`_
- `Download Atom for Windows <https://atom.io/download/windows>`_
- `Download Atom .deb <https://atom.io/download/deb>`_
- `Download Atom .rpm <https://atom.io/download/rpm>`_
- `Other platforms <https://github.com/atom/atom/releases/latest>`_
2. Open Atom Package Manager and install `platformio-ide <https://atom.io/packages/platformio-ide>`_ Atom package
- Download and install the `latest official Atom text editor <https://atom.io>`_.
- 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``
@@ -77,7 +117,6 @@ Manual Installation
.. image:: ../_static/ide-atom-platformio-install.png
.. _atom_ide_quickstart:
Quick Start
@@ -105,30 +144,30 @@ Setting Up the Project
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
:target: http://docs.platformio.org/en/stable/_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
:target: http://docs.platformio.org/en/stable/_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
:target: http://docs.platformio.org/en/stable/_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
:target: http://docs.platformio.org/en/stable/_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
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-5.png
Copy the next source code to the just created file ``main.cpp``:
@@ -170,13 +209,13 @@ upload firmware, run other targets) using:
- :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
:target: http://docs.platformio.org/en/stable/_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
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-7.png
To upload firmware to the board run ``Upload``.
@@ -185,39 +224,39 @@ To upload firmware to the board run ``Upload``.
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
:target: http://docs.platformio.org/en/stable/_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
:target: http://docs.platformio.org/en/stable/_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
:target: http://docs.platformio.org/en/stable/_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
:target: http://docs.platformio.org/en/stable/_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
:target: http://docs.platformio.org/en/stable/_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
:target: http://docs.platformio.org/en/stable/_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
:target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-14.png
User Guide
@@ -253,7 +292,6 @@ Each button contains hint (delay mouse on it).
* ||
* Terminal
* Library Manager
* Serial Ports
* Serial Monitor
* ||
* Settings
@@ -273,22 +311,14 @@ Building / Uploading / Targets
* ``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``.
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.
- **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>`_.
To install it or check if it is already installed, please follow to step
:ref:`ide_atom_installation_clang` from Installation guide.
.. warning::
The libraries which are added/installed after initializing process will
@@ -307,9 +337,9 @@ automatically created and preconfigured when you initialize project using
``Menu: PlatformIO > Initialize new PlatformIO Project or update existing...``.
.. warning::
The libraries which are added/installed after initializing process will
not be reflected in code linter. You need ``Menu: PlatformIO >
Rebuild C/C++ Project Index (Autocomplete, Linter)``.
If some libraries are not visible in :ref:`ide_atom` and Code Completion or
Code Linting does not work properly, please perform ``Menu: PlatformIO >
Rebuild C/C++ Project Index (Autocomplete, Linter)``
.. error::
@@ -351,11 +381,11 @@ For example, we have the next ``Demo.ino`` file:
.. code-block:: cpp
void function setup () {
void setup () {
someFunction(13);
}
void function loop() {
void loop() {
delay(1000);
}
@@ -376,11 +406,11 @@ The final ``Demo.cpp``:
void someFunction(int num);
void function setup () {
void setup () {
someFunction(13);
}
void function loop() {
void loop() {
delay(1000);
}
@@ -409,17 +439,64 @@ To force Smart Code Linter to use Arduino files as C++ please
2. Perform all steps from :ref:`ide_atom_knownissues_sclarduino_manually`
(without renaming to ``.cpp``).
Arch Linux: PlatformIO IDE Terminal issue
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Please read this article `Installing PlatformIO on Arch Linux <https://primalcortex.wordpress.com/2016/08/18/platformio/>`_.
.. _ide_atom_faq:
Frequently Asked Questions
--------------------------
Keep build panel visible
~~~~~~~~~~~~~~~~~~~~~~~~
PlatformIO IDE hides build panel on success by default. Nevertheless, you can
keep it visible all time. Please follow to
``Menu: PlatformIO > Settings > Build`` and set ``Panel Visibility`` to
``Keep Visible``.
Key-bindings (toggle panel):
* ``cmd+alt+v`` - Mac OS X
* ``ctrl+alt+v`` - Windows/Linux
Automatically save on build
~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you want automatically save all edited files when triggering a build, please follow to
``Menu: PlatformIO > Settings > Build`` and check ``Automatically save on build``.
Jump to Declaration
~~~~~~~~~~~~~~~~~~~
Click on a function/include, press ``F3`` and you will be taken directly to
the declaration for that function.
Code Formatting
~~~~~~~~~~~~~~~
You need to install `atom-beautify <https://atom.io/packages/atom-beautify>`_
package and `C/C++ Uncrustify Code Beautifier <http://sourceforge.net/projects/uncrustify/>`_.
Articles / Manuals
------------------
* Feb 28, 2016 - **Alex Bloggt** - `PlatformIO vorgestellt (Introduction to PlatformIO IDE, German) <https://alexbloggt.com/platformio-vorgestellt/>`_
* Aug 18, 2016 - **Primal Cortex** - `Installing PlatformIO on Arch Linux <https://primalcortex.wordpress.com/2016/08/18/platformio/>`_
* Jul 26, 2016 - **Embedded Systems Laboratory** - `แนะนำการใช้งาน PlatformIO IDE สำหรับบอร์ด Arduino และ ESP8266 (Get started with PlatformIO IDE for Arduino board and ESP8266, Thai) <http://cpre.kmutnb.ac.th/esl/learning/index.php?article=intro_platformio-ide>`_
* May 30, 2016 - **Ron Moerman** - `IoT Development with PlatformIO <https://electronicsworkbench.io/blog/platformio>`_
* May 01, 2016 - **Pedro Minatel** - `PlatformIO Uma alternativa ao Arduino IDE (PlatformIO - An alternative to the Arduino IDE, Portuguese) <http://pedrominatel.com.br/ferramentas/platformio-uma-alternativa-ao-arduino-ide/>`_
* Apr 23, 2016 - **Al Williams** - `Hackaday: Atomic Arduino (and Other) Development <http://hackaday.com/2016/04/23/atomic-arduino-and-other-development/>`_
* Apr 16, 2016 - **Sathittham Sangthong** - `[PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน (Let's play together with PlatformIO IDE [alternative to Arduino IDE], Thai) <http://www.sathittham.com/platformio/platformio-ide/>`_
* Apr 11, 2016 - **Matjaz Trcek** - `Top 5 Arduino integrated development environments <https://codeandunicorns.com/top-5-arduino-integrated-development-environments-ide/>`_
* Apr 06, 2016 - **Aleks** - `PlatformIO ausprobiert (Tried PlatformIO, German) <http://5volt-junkie.net/platformio/>`_
* Apr 02, 2016 - **Diego Pinto** - `Você tem coragem de abandonar a IDE do Arduino? PlatformIO + Atom (Do you dare to leave the Arduino IDE? PlatformIO + Atom, Portuguese) <http://www.clubemaker.com.br/?rota=artigo/81>`_
* Mar 30, 2016 - **Brandon Cannaday** - `Getting Started with PlatformIO and ESP8266 NodeMcu <https://www.getstructure.io/blog/getting-started-with-platformio-esp8266-nodemcu>`_
* 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`.
Screenshot
----------
.. image:: ../_static/ide-atom-platformio.png
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio.png

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -23,58 +23,114 @@ automated refactorings, project manager, integrated version control systems.
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/stable/_static/ide-platformio-clion.png
.. contents::
Integration
-----------
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
command and generate project via :option:`platformio init --ide` command:
.. code-block:: shell
platformio init --ide clion --board %TYPE%
platformio init --ide clion --board <ID>
# For example, generate project for Arduino UNO
platformio init --ide clion --board uno
Then:
1. Import this project via ``Menu: File > Import Project``
1. Place source files (``*.c, *.cpp, *.h, *.hpp``) to ``src`` directory
2. Import this project via ``Menu: File > Import Project``
and specify root directory where is located :ref:`projectconf`
2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``)
3. Build project (*DO NOT RUN*): ``Menu: Run > Build``.
3. Open source file from ``src`` directory
4. Build project (*DO NOT RUN*): ``Menu: Run > Build``.
.. warning::
See know issue: :ref:`ide_clion_knownissues_inopde_not_supported` and how
to resolve it.
There are 6 predefined targets for building (*NOT FOR RUNNING*, see marks on
the screenshot below):
* ``PLATFORMIO_BUILD`` - Build project without auto-uploading
* ``PLATFORMIO_UPLOAD`` - Build and upload (if no errors).
* ``PLATFORMIO_CLEAN`` - Clean compiled objects.
* ``PLATFORMIO_PROGRAM`` - Build and upload using external programmer (if no errors), see :ref:`atmelavr_upload_via_programmer`.
* ``PLATFORMIO_UPLOADFS`` - Upload files to file system SPIFFS, see :ref:`platform_espressif_uploadfs`.
* ``PLATFORMIO_UPDATE`` - Update installed platforms and libraries via :ref:`cmd_update`.
* ``PLATFORMIO_UPLOAD`` - Build and upload (if no errors)
* ``PLATFORMIO_CLEAN`` - Clean compiled objects
* ``PLATFORMIO_PROGRAM`` - Build and upload using external programmer
(if no errors), see :ref:`atmelavr_upload_via_programmer`
* ``PLATFORMIO_UPLOADFS`` - Upload files to file system SPIFFS,
see :ref:`platform_espressif_uploadfs`
* ``PLATFORMIO_UPDATE`` - Update installed platforms and libraries via :ref:`cmd_update`
* ``PLATFORMIO_REBUILD_PROJECT_INDEX`` - Rebuild C/C++ Index for the Project.
Allows to fix code completion and code linting issues.
.. 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).
after generating process wont be reflected in IDE. To fix it please run
``PLATFORMIO_REBUILD_PROJECT_INDEX`` target.
.. warning::
PlatformIO generates empty project by default and **code auto-completion
will not work!** To enable auto-completion please choose one of:
Known issues
------------
* Add source files ``*.c, *.cpp, etc`` to ``src`` directory and re-initialize
project with command above
* Manually correct ``add_executable`` command in ``CMakeLists.txt`` file
(will be created in project directory after initialization).
.. _ide_clion_knownissues_inopde_not_supported:
``*.ino`` file isn't acceptable for ``add_executable`` command. You should
convert it manually to ``*.cpp``. See `project example <https://github.com/platformio/platformio/tree/develop/examples/ide/clion>`_.
Arduino ``.ino`` files are not supported
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CLion uses "CMake" tool for code completion and code linting. As result, it
doesn't support 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.
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) {
}
More info `CLion issue #CPP-3977 <https://youtrack.jetbrains.com/issue/CPP-3977>`_.
Active discussion is located in
`PlatformIO issue #132 <https://github.com/platformio/platformio/issues/132>`_.
Articles / Manuals
------------------
@@ -85,16 +141,10 @@ 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
--------
"Blink" Project
^^^^^^^^^^^^^^^
~~~~~~~~~~~~~~~
Source code of `CLion "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/clion>`_.
Source code of `CLion "Blink" Project <https://github.com/platformio/platformio-examples/tree/develop/ide/clion>`_.

54
docs/ide/codeblocks.rst Normal file
View File

@@ -0,0 +1,54 @@
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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_codeblocks:
CodeBlocks
==========
Code::Blocks is a free, open-source cross-platform IDE that supports multiple
compilers including GCC, Clang and Visual C++. It is developed in C++ using
wxWidgets as the GUI toolkit. Using a plugin architecture, its capabilities
and features are defined by the provided plugins. Currently, Code::Blocks is
oriented towards C, C++, and Fortran.
CodeBlocks IDE can be downloaded from `here <http://www.codeblocks.org/downloads>`_.
.. image:: ../_static/ide-platformio-codeblocks.png
:target: http://docs.platformio.org/en/stable/_images/ide-platformio-codeblocks.png
.. contents::
Integration
-----------
Choose board ``ID`` 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 codeblocks --board <ID>
# For example, generate project for Arduino UNO
platformio init --ide codeblocks --board uno
Then:
1. Open this project via ``Menu: File > Open...``
2. Add new files to ``src`` directory (``*.c, *.cpp, *.ino, etc.``) via
``Menu: File > New > File...``
3. Build project using ``Menu: Build > Build``
4. Upload firmware using ``Menu: Build > Run``
.. 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).

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -27,17 +27,20 @@ registers, and disassembly viewers.
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/stable/_static/ide-platformio-eclipse.png
.. contents::
Integration
-----------
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
command and generate project via :option:`platformio init --ide` command:
.. code-block:: shell
platformio init --ide eclipse --board %TYPE%
platformio init --ide eclipse --board <ID>
# For example, generate project for Arduino UNO
platformio init --ide eclipse --board uno
@@ -48,7 +51,7 @@ Then:
``Menu: File > Import... > General > Existing Projects into Workspace > Next``
and specify root directory where is located :ref:`projectconf`
2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``)
3. Build project using ``Menu: Project > Build Project`` or preconfigured
3. Build project using ``Menu: Project > Build Project`` or pre-configured
Make Targets (see screenshot below):
+ ``PlatformIO: Build`` - Build project without auto-uploading
@@ -56,39 +59,47 @@ Then:
+ ``PlatformIO: Upload`` - Build and upload (if no errors)
+ ``PlatformIO: Upload using Programmer`` see :ref:`atmelavr_upload_via_programmer`
+ ``PlatformIO: Upload SPIFFS image`` see :ref:`platform_espressif_uploadfs`
+ ``PlatformIO: Update platforms and libraries`` - Update installed platforms and libraries via :ref:`cmd_update`.
+ ``PlatformIO: Update platforms and libraries`` - Update installed
platforms and libraries via :ref:`cmd_update`
+ ``PlatformIO: Rebuild C/C++ Project Index`` - Rebuild C/C++ Index for the Project.
Allows to fix code completion and code linting issues.
If you have some problems with unresolved includes, defines, etc., then
* Restart Eclipse IDE
* Rebuild index using ``Menu: Project > C/C++ Index > Rebuild``.
1. Rebuild PlatformIO Project Index:
``PlatformIO: Rebuild C/C++ Project Index`` target
2. Rebuild Eclipse Project Index: ``Menu: Project > C/C++ Index > Rebuild``
3. Refresh Project, right click on the project ``Project > Refresh`` (F5) or
restart Eclipse IDE.
.. 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).
after generating process wont be reflected in IDE. To fix it please run
``PlatformIO: Rebuild C/C++ Project Index`` target and right click on the
project and ``Project > Refresh`` (F5).
Live Integration
----------------
Eclipse Virtual IoT Meetup: `PlatformIO: a cross-platform IoT solution to build them all! <http://www.meetup.com/Virtual-IoT/events/229964142/>`_
.. image:: ../_static/ide-eclipse-virtualiot.jpg
:target: https://www.youtube.com/watch?v=6t7UbX812Yw
Articles / Manuals
------------------
* May 05, 2016 - **Ivan Kravets, Ph.D. / Eclipse Virtual IoT Meetup** - `PlatformIO: a cross-platform IoT solution to build them all! <http://www.meetup.com/Virtual-IoT/events/229964142/>`_
* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation <http://thomasweldon.com/tpw/courses/embeddsp/p00pcFrdmK64_eclipsePlatformioSetup.html>`_
* Jul 11, 2015 - **TrojanC** - `Learning Arduino GitHub Repository <http://www.trojanc.co.za/2015/07/11/learning-arduino-github-repository/>`_
* June 20, 2014 - **Ivan Kravets, Ph.D.** - `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO <http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio>`_
See a full list with :ref:`articles`.
Screenshot
----------
Cross-platform `Blink Project <http://platformio.org/#!/get-started#blink-project-example>`_.
.. image:: ../_static/ide-platformio-eclipse.png
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-eclipse.png
Examples
--------
"Blink" Project
^^^^^^^^^^^^^^^
Source code of `Eclipse "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/eclipse>`_.
Source code of `Eclipse "Blink" Project <https://github.com/platformio/platformio-examples/tree/develop/ide/eclipse>`_.

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -22,6 +22,9 @@ with extensions to support text editing.
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/stable/_static/ide-platformio-emacs.png
.. contents::
Integration
@@ -42,12 +45,12 @@ 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 ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
command and generate project via :option:`platformio init --ide` command:
.. code-block:: shell
platformio init --ide emacs --board %TYPE%
platformio init --ide emacs --board <ID>
There are 6 predefined targets for building.
@@ -63,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,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -21,20 +21,24 @@ 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.
Refer to the `C/C++ Application Learning Trail <https://netbeans.org/kb/trails/cnd.html>`_
for details.
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/stable/_images/ide-platformio-netbeans.png
.. contents::
Integration
-----------
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
Choose board ``ID`` 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%
platformio init --ide netbeans --board <ID>
# For example, generate project for Arduino UNO
platformio init --ide netbeans --board uno
@@ -58,9 +62,3 @@ 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`.
Screenshot
-----------
.. image:: ../_static/ide-platformio-netbeans.png
:target: http://docs.platformio.org/en/latest/_images/ide-platformio-netbeans.png

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -19,6 +19,9 @@ The `Qt Creator <https://github.com/qtproject/qt-creator>`_ is an open source cr
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/stable/_static/ide-platformio-qtcreator-7.png
.. contents::
Integration
@@ -32,12 +35,12 @@ Integration
Project Generator
^^^^^^^^^^^^^^^^^
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
command and generate project via :option:`platformio init --ide` command:
.. code-block:: shell
platformio init --ide qtcreator --board %TYPE%
platformio init --ide qtcreator --board <ID>
# For example, generate project for Arduino UNO
platformio init --ide qtcreator --board uno
@@ -80,7 +83,7 @@ Then:
8. Build project: ``Menu: Build > Build All``.
.. image:: ../_static/ide-platformio-qtcreator-3.png
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-3.png
:target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-3.png
.. warning::
The libraries which are added, installed or used in the project
@@ -96,7 +99,7 @@ Setup New Project
First of all, let's create new project from Qt Creator Start Page: ``New Project`` or using ``Menu: File > New File or Project``, then select project with ``Empty Qt Project`` type (``Other Project > Empty Qt Project``), fill ``Name``, ``Create in``.
.. image:: ../_static/ide-platformio-qtcreator-1.png
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-1.png
:target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-1.png
On the next steps select any available kit and click Finish button.
@@ -105,7 +108,7 @@ On the next steps select any available kit and click Finish button.
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
:target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-3.png
Thirdly, change project file by adding path to directories with header files. Please edit project file to match the following contents:
@@ -122,7 +125,7 @@ Thirdly, change project file by adding path to directories with header files. Pl
INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/toolchain-atmelavr/avr/include"
.. image:: ../_static/ide-platformio-qtcreator-4.png
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-4.png
:target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-4.png
First program in Qt Creator
~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -133,7 +136,7 @@ Simple "Blink" project will consist from two files:
Let's create new text file named ``main.c`` using ``Menu: New File or Project > General > Text File``:
.. image:: ../_static/ide-platformio-qtcreator-5.png
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-5.png
:target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-5.png
Copy the source code which is described below to file ``main.c``.
@@ -158,21 +161,20 @@ Copy the source code which is described below to file ``main.c``.
3. Locate the project configuration file named ``platformio.ini`` at the root of the project directory and open it.
.. image:: ../_static/ide-platformio-qtcreator-6.png
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-6.png
:target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-6.png
Edit the content to match the code described below.
.. code-block:: none
.. 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.
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter, extra scripting
; Upload options: custom port, speed and extra flags
; Library options: dependencies, extra library storages
;
; Please visit documentation for the other options and examples
; http://docs.platformio.org/en/stable/projectconf.html
[env:arduino_uno]
platform = atmelavr
@@ -184,16 +186,10 @@ 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
--------
"Blink" Project
^^^^^^^^^^^^^^^
Source code of `Qt Creator "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/qtcreator>`_.
Source code of `Qt Creator "Blink" Project <https://github.com/platformio/platformio-examples/tree/develop/ide/qtcreator>`_.

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -19,20 +19,35 @@ The `Sublime Text <http://www.sublimetext.com/>`_ is a cross-platform text and s
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 ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
command and generate project via :option:`platformio init --ide` command:
.. code-block:: shell
platformio init --ide sublimetext --board %TYPE%
platformio init --ide sublimetext --board <ID>
# For example, generate project for Arduino UNO
platformio init --ide sublimetext --board uno
@@ -149,17 +164,16 @@ Let's create new file named ``main.c`` using ``Menu: File > New File`` or shortc
2. Project Configuration File named ``platformio.ini`` must be located in the project root directory.
Copy the source code which is described below to it.
.. code-block:: none
.. 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.
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter, extra scripting
; Upload options: custom port, speed and extra flags
; Library options: dependencies, extra library storages
;
; Please visit documentation for the other options and examples
; http://docs.platformio.org/en/stable/projectconf.html
[env:arduino_uno]
platform = atmelavr
@@ -171,15 +185,10 @@ 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
--------
"Blink" Project
^^^^^^^^^^^^^^^
Source code of `Sublime Text "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/sublimetext>`_.
Source code of `Sublime Text "Blink" Project <https://github.com/platformio/platformio-examples/tree/develop/ide/sublimetext>`_.

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -18,6 +18,8 @@ VIM
editor. Vim is designed for use both from a command-line interface and as a
standalone application in a graphical user interface.
.. image:: ../_static/ide-platformio-vim.png
.. contents::
Integration
@@ -85,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

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -19,6 +19,9 @@ The `Microsoft Visual Studio (Free) <http://visualstudio.com/free>`_ is an integ
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/stable/_static/ide-vs-platformio-newproject-8.png
.. contents::
Integration
@@ -32,12 +35,12 @@ Integration
Project Generator
^^^^^^^^^^^^^^^^^
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
command and generate project via :option:`platformio init --ide` command:
.. code-block:: shell
platformio init --ide sublimetext --board %TYPE%
platformio init --ide sublimetext --board <ID>
# For example, generate project for Arduino UNO
platformio init --ide visualstudio --board uno
@@ -121,17 +124,16 @@ Copy the source code which is described below to file ``main.cpp``.
Copy the source code which is described below to it.
.. code-block:: none
.. 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.
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter, extra scripting
; Upload options: custom port, speed and extra flags
; Library options: dependencies, extra library storages
;
; Please visit documentation for the other options and examples
; http://docs.platformio.org/en/stable/projectconf.html
[env:arduino_uno]
platform = atmelavr
@@ -144,19 +146,13 @@ 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
--------
"Blink" Project
^^^^^^^^^^^^^^^
Source code of `Visual Studio "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/visualstudio>`_.
Source code of `Visual Studio "Blink" Project <https://github.com/platformio/platformio-examples/tree/develop/ide/visualstudio>`_.
Known issues
------------
@@ -178,4 +174,4 @@ 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
:target: http://docs.platformio.org/en/stable/_static/ide-vs-platformio-newproject-9.png

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -13,13 +13,13 @@ PlatformIO is an open source ecosystem for IoT development
==========================================================
**Cross-platform build system and library manager. Continuous and IDE
integration. Arduino and MBED compatible. Ready for Cloud compiling.**
integration. Arduino, ESP8266 and ARM mbed compatible.**
* **PlatformIO IDE** - The next generation integrated development environment for IoT.
* **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.
All advanced instruments without leaving your favorite 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)
@@ -35,17 +35,19 @@ integration. Arduino and MBED compatible. Ready for Cloud compiling.**
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>`_
* `Project Examples <https://github.com/platformio/platformio/tree/develop/examples>`_
* `Home Page <http://platformio.org>`_
* `PlatformIO Plus and professional solutions <https://pioplus.com>`_
* :ref:`ide_atom`
* `Library Search and Registry <http://platformio.org/lib>`_ |
`Embedded Boards Explorer <http://platformio.org/boards>`_
* `Project Examples <https://github.com/platformio/platformio-examples/tree/develop>`_
* `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>`_ |
`Facebook <https://www.facebook.com/platformio>`_ |
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
`Reddit <http://www.reddit.com/r/platformio/>`_
`Forums <https://community.platformio.org>`_
Embedded Development. *Easier Than Ever.*
-----------------------------------------
@@ -54,10 +56,9 @@ Embedded Development. *Easier Than Ever.*
* :ref:`IDE Integration <ide>` with *Arduino, Atom, CLion, Eclipse, Emacs,
Energia, Qt Creator, Sublime Text, Vim, Visual Studio*
* Cloud compiling and :ref:`ci` with *AppVeyor, Circle CI, Drone, Shippable, Travis CI*
* Built-in :ref:`Serial Port Monitor <cmd_serialports_monitor>` and
* Built-in :ref:`Serial Port Monitor <cmd_device_monitor>` and
configurable build :ref:`-flags/-options <projectconf_build_flags>`
* Pre-built toolchains, :ref:`frameworks` for the
:ref:`Development Platforms <platforms>`
* Pre-built toolchains, :ref:`frameworks` for the :ref:`platforms`
Smart Build System. *Fast and Reliable.*
----------------------------------------
@@ -71,7 +72,7 @@ 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).
@@ -107,8 +108,16 @@ Contents
:caption: Instruments
:maxdepth: 3
Platforms & Boards <platforms/index>
platforms/index
platforms/embedded_boards
frameworks/index
platforms/custom_platform_and_board
.. toctree::
:caption: PlatformIO Plus
:maxdepth: 3
plus/unit-testing
.. toctree::
:caption: Library Manager
@@ -116,6 +125,7 @@ Contents
Quickstart <librarymanager/index>
User Guide <userguide/lib/index.rst>
librarymanager/ldf
librarymanager/config
librarymanager/creating
@@ -133,3 +143,5 @@ Contents
articles
FAQ <faq>
history
migration

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -39,6 +39,8 @@ System requirements
"Customize" stage, otherwise Python Package Manager ``pip`` command
will not be available.
.. image:: _static/python-installer-add-path.png
:Terminal Application:
All commands below should be executed in
@@ -49,6 +51,12 @@ 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:
.. contents::
@@ -159,9 +167,16 @@ For upgrading ``platformio`` to the latest version:
pip install -U platformio
.. _installation_develop:
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:
.. code-block:: bash
@@ -187,11 +202,6 @@ To revert to the latest stable version
Troubleshooting
---------------
.. warning::
If you are going to run *PlatformIO* from **subprocess**, you
:ref:`MUST DISABLE <faq_troubleshooting_pioblocksprompt>` all prompts.
It will allow you to avoid blocking.
.. note::
**Linux OS**: Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -22,10 +22,11 @@ to keep project in own structure and define:
* examples list
* compatible frameworks and platforms
* library dependencies
* advanced build settings
PlatformIO Library Crawler uses ``library.json`` manifest to extract
source code from developer's location and keeps cleaned library in own
Library Storage.
source code from developer's location and keeps a cleaned library in own
Library Registry.
A data in ``library.json`` should be represented
in `JSON-style <http://en.wikipedia.org/wiki/JSON>`_ via
@@ -138,10 +139,10 @@ Examples:
*Required* if :ref:`libjson_downloadurl` field is not defined | Type: ``Object``
The repository in which the source code can be found. The field consists for the
The repository in which the source code can be found. The field consists of the
next items:
* ``type``
* ``type`` the only "git", "hg" or "svn" are supported
* ``url``
* ``branch`` if is not specified, default branch will be used. This field will
be ignored if tag/release exists with the value of :ref:`libjson_version`.
@@ -195,13 +196,13 @@ dash. `Semantic Versioning <http://semver.org>`_ IS RECOMMENDED.
field is defined.
|PIOAPICR| will use the
`CVS <http://en.wikipedia.org/wiki/Concurrent_Versions_System>`_ revision from
`VCS <http://en.wikipedia.org/wiki/Concurrent_Versions_System>`_ revision from
the latest commit as "current version". For example, ``13`` (*SVN*) or first
10 chars of *SHA* digest ``e4564b7da4`` (*Git*). If :ref:`libjson_repository`
``branch`` is not specified, then default branch will be used.
We recommend to use :ref:`libjson_version` field and specify the real release
version and make appropriate target in the :ref:`libjson_repository`. In other
version and make appropriate tag in the :ref:`libjson_repository`. In other
case, users will receive updates for library with each new commit to
:ref:`libjson_repository`.
@@ -221,6 +222,21 @@ Example:
},
"version": "1.0.0"
``license``
-----------
*Optional* | Type: ``String``
A license of the library. You can check
`the full list of SPDX license IDs <https://spdx.org/licenses/>`_. Ideally you
should pick one that is `OSI <https://opensource.org/licenses/alphabetical>`_
approved.
.. code-block:: javascript
"license": "Apache-2.0"
.. _libjson_downloadurl:
``downloadUrl``
@@ -246,27 +262,40 @@ Example with fixed release/tag on GitHub:
See more ``library.json`` :ref:`library_creating_examples`.
.. _libjson_url:
``url``
-------
``homepage``
------------
*Optional* | Type: ``String`` | Max. Length: 255
Home page of library (if is different from :ref:`libjson_repository` url).
.. _libjson_include:
.. _libjson_export:
``export``
----------
*Optional* | Type: ``Object``
Explain PlatformIO Library Crawler which content from the repository/archive
should be exported as "source code" of the library. This option is useful if
need to exclude extra data (test code, docs, images, PDFs, etc). It allows to
reduce size of the final archive.
Possible options:
.. contents::
:local:
``include``
-----------
~~~~~~~~~~~
*Optional* | Type: ``String`` or ``Array`` |
`Glob Pattern <http://en.wikipedia.org/wiki/Glob_(programming)>`_
If :ref:`libjson_include` field is a type of ``String``, then
|PIOAPICR| will recognize it like a "relative path inside
repository/archive to library source code". See example below where the only
If ``include`` field is a type of ``String``, then |PIOAPICR| will recognize
it like a "relative path inside repository/archive to library source code".
See example below where the only
source code from the relative directory ``LibrarySourceCodeHere`` will be
included.
@@ -274,21 +303,23 @@ included.
"include": "some/child/dir/LibrarySourceCodeHere"
If :ref:`libjson_include` field is a type of ``Array``, then
|PIOAPICR| firstly will apply :ref:`libjson_exclude` filter and
then include only directories/files which match with :ref:`libjson_include`
patterns.
If ``include`` field is a type of ``Array``, then |PIOAPICR| firstly will
apply ``exclude`` filter and then include only directories/files
which match with ``include`` patterns.
Example:
.. code-block:: javascript
"include":
[
"dir/*.[ch]pp",
"dir/examples/*",
"*/*/*.h"
]
"export": {
"include":
[
"dir/*.[ch]pp",
"dir/examples/*",
"*/*/*.h"
]
}
Pattern Meaning
@@ -308,16 +339,14 @@ Pattern Meaning
See more ``library.json`` :ref:`library_creating_examples`.
.. _libjson_exclude:
``exclude``
-----------
~~~~~~~~~~~
*Optional* | Type: ``String`` or ``Array`` |
`Glob Pattern <http://en.wikipedia.org/wiki/Glob_(programming)>`_
Exclude the directories and files which match with :ref:`libjson_exclude`
patterns.
Exclude the directories and files which match with ``exclude`` patterns.
.. _libjson_frameworks:
@@ -367,10 +396,26 @@ A list of dependent libraries. They will be installed automatically with
Allowed requirements for dependent library:
* ``name`` | Type: ``String``
* ``version`` | Type: ``String``
* ``authors`` | Type: ``String`` or ``Array``
* ``frameworks`` | Type: ``String`` or ``Array``
* ``platforms`` | Type: ``String`` or ``Array``
The ``version`` supports `Semantic Versioning <http://semver.org>`_ (
``<major>.<minor>.<patch>``) and can take any of the following forms:
* ``0.1.2`` - an exact version number. Use only this exact version
* ``^0.1.2`` - any compatible version (exact version for ``0.x.x`` versions
* ``~0.1.2`` - any version with the same major and minor versions, and an
equal or greater patch version
* ``>0.1.2`` - any version greater than ``0.1.2``. ``>=``, ``<``, and ``<=``
are also possible
* ``>0.1.0,!=0.2.0,<0.3.0`` - any version greater than ``0.1.0``, not equal to
``0.2.0`` and less than ``0.3.0``
The rest possible values including VCS repository URLs are documented in
:ref:`cmd_lib_install` command.
Example:
.. code-block:: javascript
@@ -387,17 +432,30 @@ Example:
},
{
"name": "Library-Bar",
"frameworks": "FrameworkFoo, FrameworkBar"
"version": "~1.2.3"
},
{
"name": "lib-from-repo",
"version": "https://github.com/user/package.git#1.2.3"
}
]
A short definition of dependencies is allowed:
.. code-block:: javascript
"dependencies": {
"mylib": "1.2.3",
"lib-from-repo": "githubuser/package"
}
See more ``library.json`` :ref:`library_creating_examples`.
.. _libjson_examples:
``examples``
----------------
------------
*Optional* | Type: ``String`` or ``Array`` |
`Glob Pattern <http://en.wikipedia.org/wiki/Glob_(programming)>`_
@@ -407,9 +465,141 @@ A list of example patterns. This field is predefined with default value:
.. code-block:: javascript
"examples": [
"[Ee]xamples/*.c",
"[Ee]xamples/*.cpp",
"[Ee]xamples/*.ino",
"[Ee]xamples/*.pde",
"[Ee]xamples/*/*.c",
"[Ee]xamples/*/*.cpp",
"[Ee]xamples/*/*.h",
"[Ee]xamples/*/*.ino",
"[Ee]xamples/*/*.pde"
"[Ee]xamples/*/*.pde",
"[Ee]xamples/*/*/*.c",
"[Ee]xamples/*/*/*.cpp",
"[Ee]xamples/*/*/*.ino",
"[Ee]xamples/*/*/*.pde"
]
.. _libjson_build:
``build``
---------
*Optional* | Type: ``Object``
Specify advanced settings, options and flags for the build system. Possible
options:
.. contents::
:local:
``flags``
~~~~~~~~~
*Optional* | Type: ``String`` or ``Array``
Extra flags to control preprocessing, compilation, assembly and linking
processes. More details :ref:`projectconf_build_flags`.
``unflags``
~~~~~~~~~~~
*Optional* | Type: ``String`` or ``Array``
Remove base/initial flags which were set by development platform. More
details :ref:`projectconf_build_unflags`.
``srcFilter``
~~~~~~~~~~~~~
*Optional* | Type: ``String`` or ``Array``
Specify which source files should be included/excluded from build process.
More details :ref:`projectconf_src_filter`.
``extraScript``
~~~~~~~~~~~~~~~
*Optional* | Type: ``String``
Launch extra script before build process.
More details :ref:`projectconf_extra_script`.
``libArchive``
~~~~~~~~~~~~~~
*Optional* | Type: ``Boolean``
Archive object files to Static Library. This is default behavior of PlatformIO
Build System (``"libArchive": true``).
``libLDFMode``
~~~~~~~~~~~~~~
*Optional* | Type: ``Integer``
Specify Library Dependency Finder Mode. See :ref:`ldf_mode` for details.
**Examples**
1. Custom macros/defines
.. code-block:: javascript
"build": {
"flags": "-D MYLIB_REV=0.1.2 -DRELEASE"
}
2. Extra includes for C preprocessor
.. code-block:: javascript
"build": {
"flags": [
"-I inc",
"-I inc/target_x13"
]
}
3. Force to use ``C99`` standard instead of ``C11``
.. code-block:: javascript
"build": {
"unflags": "-std=gnu++11",
"flags": "-std=c99"
}
4. Build source files (``c, cpp, h``) at the top level of the library
.. code-block:: javascript
"build": {
"srcFilter": [
"+<*.c>",
"+<*.cpp>",
"+<*.h>"
]
}
5. Extend PlatformIO Build System with own extra script
.. code-block:: javascript
"build": {
"extraScript": "generate_headers.py"
}
``generate_headers.py``
.. code-block:: python
Import('env')
# print env.Dump()
env.Append(
CPPDEFINES=["HELLO=WORLD", "TAG=1.2.3", "DEBUG"],
CPPPATH=["inc", "inc/devices"]
)
# some python code that generates header files "on-the-fly"

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -20,6 +20,9 @@ source code structure. The only one requirement is library's manifest file -
:ref:`library_config`. It can be located inside your library or in the another
location where |PIOAPICR| will have *HTTP* access.
Updates to existing libraries are done every 24 hours. In case a more urgent
update is required, you can post a request on PlatformIO `community <https://community.platformio.org/>`_.
.. contents::
Source Code Location
@@ -29,9 +32,8 @@ There are a several ways how to share your library with the whole world
(see `examples <https://github.com/platformio/platformio-libmirror/tree/master/configs>`_).
You can hold a lot of libraries (split into separated folders) inside one of
the repository/archive. In this case please use :ref:`libjson_include`
field to specify the relative path to your library's source code.
the repository/archive. In this case, you need to specify ``include`` option of
:ref:`libjson_export` field to relative path to your library's source code.
At GitHub
^^^^^^^^^
@@ -42,34 +44,63 @@ If a library source code is located at `GitHub <https://github.com>`_, then
you **need to specify** only these fields in the :ref:`library_config`:
* :ref:`libjson_name`
* :ref:`libjson_version` (is not required, but highly recommended for new :ref:`librarymanager`)
* :ref:`libjson_keywords`
* :ref:`libjson_description`
* :ref:`libjson_repository`
|PIOAPICR| will populate the rest fields, like :ref:`libjson_version` or
:ref:`libjson_authors` with an actual information from *GitHub*.
|PIOAPICR| will populate the rest fields, like :ref:`libjson_authors` with an
actual information from *GitHub*.
Example:
Example, `DallasTemperature <http://platformio.org/lib/show/54/DallasTemperature/manifest>`_:
.. code-block:: javascript
{
"name": "IRremote",
"keywords": "infrared, ir, remote",
"description": "Send and receive infrared signals with multiple protocols",
"repository":
"name": "DallasTemperature",
"keywords": "onewire, 1-wire, bus, sensor, temperature",
"description": "Arduino Library for Dallas Temperature ICs (DS18B20, DS18S20, DS1822, DS1820)",
"repository":
{
"type": "git",
"url": "https://github.com/milesburton/Arduino-Temperature-Control-Library.git"
},
"authors":
[
{
"type": "git",
"url": "https://github.com/shirriff/Arduino-IRremote.git"
"name": "Miles Burton",
"email": "miles@mnetcs.com",
"url": "http://www.milesburton.com",
"maintainer": true
},
"frameworks": "arduino",
"platforms": "atmelavr"
{
"name": "Tim Newsome",
"email": "nuisance@casualhacker.net"
},
{
"name": "Guil Barros",
"email": "gfbarros@bappos.com"
},
{
"name": "Rob Tillaart",
"email": "rob.tillaart@gmail.com"
}
],
"dependencies":
{
"name": "OneWire",
"authors": "Paul Stoffregen",
"frameworks": "arduino"
},
"version": "3.7.7",
"frameworks": "arduino",
"platforms": "*"
}
Under CVS (SVN/GIT)
Under VCS (SVN/GIT)
^^^^^^^^^^^^^^^^^^^
|PIOAPICR| can operate with a library source code that is under *CVS* control.
|PIOAPICR| can operate with a library source code that is under *VCS* control.
The list of **required** fields in the :ref:`library_config` will look like:
* :ref:`libjson_name`
@@ -129,7 +160,9 @@ of **required** fields in the :ref:`library_config` will look like:
},
"version": "2.2",
"downloadUrl": "http://www.pjrc.com/teensy/arduino_libraries/OneWire.zip",
"include": "OneWire",
"export": {
"include": "OneWire"
},
"frameworks": "arduino",
"platforms": "atmelavr"
}
@@ -152,6 +185,12 @@ 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>`_
Command:
.. code-block:: bash
$ platformio lib register http://my.example.com/library.json
* `GitHub + fixed release <http://platformio.org/lib/show/552/ACNoblex>`_
* `Dependencies by author and framework <http://platformio.org/lib/show/3/PID-AutoTune>`_
* `Multiple libraries in the one repository <https://github.com/jrowberg/i2cdevlib/tree/master/Arduino>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -14,13 +14,52 @@
Library Manager
===============
*PlatformIO Library Manager* allows you to organize external embedded libraries.
You can search for new libraries via
*PlatformIO Library Manager* is a tool for managing libraries of
`PlatformIO Registry <http://platformio.org/lib>`__ and VCS repositories (Git,
Hg, SVN). It makes it exceedingly simple to find, install and keep libraries
up-to-date. PlatformIO Library Manager supports
`Semantic Versioning <http://semver.org>`_ and its rules.
* :ref:`Command Line interface <cmd_lib_search>`
* `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
There are 2 options how to find library:
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.
* `Web Library Search <http://platformio.org/lib>`__
* :ref:`Command Line Interface <cmd_lib_search>`
You can manage different library storages using
:option:`platformio lib --global` or :option:`platformio lib --storage-dir`
options. If you change current working directory in terminal to project folder,
then :ref:`platformio lib <cmd_lib>` command will manage automatically dependency
storage in :ref:`projectconf_pio_libdeps_dir`.
Project dependencies
--------------------
*PlatformIO Library Manager* allows to specify project dependencies
(:ref:`projectconf_lib_deps`) that will be installed automatically per project
before environment processing. You do not need to install libraries manually.
The only one simple step is to define dependencies in :ref:`projectconf`.
You can use library ID, Name or even repository URL. For example,
.. code-block:: ini
[env:myenv]
platform = ...
framework = ...
board = ...
lib_deps =
13
PubSubClient
Json@~5.6,!=5.4
https://github.com/gioblu/PJON.git@v2.0
https://github.com/me-no-dev/ESPAsyncTCP.git
https://github.com/adafruit/DHT-sensor-library/archive/master.zip
Please follow to :ref:`cmd_lib_install` for detailed documentation about
possible values.
.. warning::
If some libraries are not visible in :ref:`ide_atom` and Code Completion or
Code Linting does not work properly, please perform ``Menu: PlatformIO >
Rebuild C/C++ Project Index (Autocomplete, Linter)``
.. image:: ../_static/platformio-demo-lib.gif

166
docs/librarymanager/ldf.rst Normal file
View File

@@ -0,0 +1,166 @@
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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.
.. _ldf:
Library Dependency Finder (LDF)
===============================
.. versionadded:: 3.0
Library Dependency Finder is a core part of PlatformIO Build System that
operates with the C/C++ source files and looks for ``#include ...``
directives.
In spite of the fact that Library Dependency Finder is written in pure Python,
it interprets (emulates) :ref:`ldf_c_cond_syntax` (``#ifdef``, ``if``, ``defined``,
``else``, and ``elif``) without calling ``gcc -E``. This approach allows
significantly reduce total compilation time.
Library Dependency Finder has controls that can be set up in :ref:`projectconf`:
.. hlist::
:columns: 3
* :ref:`projectconf_lib_deps`
* :ref:`projectconf_lib_extra_dirs`
* :ref:`projectconf_lib_ignore`
* :ref:`projectconf_lib_compat_mode`
* :ref:`projectconf_lib_ldf_mode`
-----------
.. contents::
.. _ldf_storage:
Storage
-------
There are different storages where Library Dependency Finder looks for
libraries. These storages (folders) have priority and LDF operates in the next
order:
1. :ref:`projectconf_lib_extra_dirs` - extra storages per build environment
2. :ref:`projectconf_pio_lib_dir` - own/private library storage per project
3. :ref:`projectconf_pio_libdeps_dir` - project dependencies storage used by
:ref:`librarymanager`
4. ":ref:`projectconf_pio_home_dir`/lib" - global storage per all projects.
.. _ldf_mode:
Dependency Finder Mode
----------------------
Library Dependency Finder starts work from analyzing source files of the
project (:ref:`projectconf_pio_src_dir`) and can work in the next modes:
* ``0`` - "manual mode", does not process source files of a project and
dependencies. Builds only the libraries that are specified in
manifests (:ref:`library_config`, ``module.json``) or in the :ref:`projectconf`.
* ``1`` - **default** - parses ALL C/C++ source code of the project and follows
only by nested includes (``#include ...``, chain...) from the libraries.
* ``2`` - parses ALL C/C++ source code of the project and parses
ALL C/C++ source code of the each found dependency (recursively).
This mode can be changed using :ref:`projectconf_lib_ldf_mode` option in
:ref:`projectconf`.
A difference between ``1`` and ``2`` modes. For example, there are 2 libraries:
* Library "Foo" with files:
- ``Foo/foo.h``
- ``Foo/foo.cpp``
* Library "Bar" with files:
- ``Bar/bar.h``
- ``Bar/bar.cpp``
:Case 1:
* ``lib_ldf_mode = 1``
* ``Foo/foo.h`` depends on "Bar" library (contains ``#include <bar.h>``)
* ``#include <foo.h>`` is located in one of the project source files
Here are nested includes (``project file > foo.h > bar.h``) and ``LDF``
will find both libraries "Foo" and "Bar".
:Case 2:
* ``lib_ldf_mode = 1``
* ``Foo/foo.cpp`` depends on "Bar" library (contains ``#include <bar.h>``)
* ``#include <foo.h>`` is located in one of the project source files
In this case, ``LDF`` will not find "Bar" library because it doesn't know
about CPP file (``Foo/foo.cpp``).
:Case 3:
* ``lib_ldf_mode = 2``
* ``Foo/foo.cpp`` depends on "Bar" library (contains ``#include <bar.h>``)
* ``#include <foo.h>`` is located in one of the project source files
Firstly, ``LDF`` finds "Foo" library, then it parses all sources from "Foo"
library and finds ``Foo/foo.cpp`` that depends on ``#include <bar.h>``.
Secondly, it will parse all sources from "Bar" library and this operation
continues until all dependencies will not be parsed.
.. _ldf_compat_mode:
Compatibility Mode
------------------
Compatibility mode allows to control strictness of Library Dependency Finder.
If library contains one of manifest file (:ref:`library_config`,
``library.properties``, ``module.json``), then LDF check compatibility of this
library with real build environment. Available compatibility modes:
* ``0`` - does not check for compatibility (is not recommended)
* ``1`` - **default** - checks for the compatibility with
:ref:`projectconf_env_framework` from build environment
* ``2`` - checks for the compatibility with :ref:`projectconf_env_framework`
and :ref:`projectconf_env_platform` from build environment.
This mode can be changed using :ref:`projectconf_lib_compat_mode` option in
:ref:`projectconf`.
.. _ldf_c_cond_syntax:
C/C++ Preprocessor conditional syntax
-------------------------------------
In spite of the fact that Library Dependency Finder is written in pure Python,
it interprets (emulates) `C/C++ Preprocessor conditional syntax <https://gcc.gnu.org/onlinedocs/cpp/Conditional-Syntax.html#Conditional-Syntax>`_
(``#ifdef``, ``if``, ``defined``, ``else``, and ``elif``) without calling
``gcc -E``. For example,
``platformio.ini``
.. code-block:: ini
[env:myenv]
build_flags = -D MY_PROJECT_VERSION=13
``mylib.h``
.. code-block:: c
#ifdef PROJECT_VERSION
// include common file for the project
#include "my_common.h"
#endif
#if PROJECT_VERSION < 10
// this include will be ignored because does not satisfy condition above
#include "my_old.h"
#endif

213
docs/migration.rst Normal file
View File

@@ -0,0 +1,213 @@
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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.
.. _migration:
Migrating from 2.x to 3.0
=========================
Guidance on how to upgrade from PlatformIO v2.x to v3.x with emphasis on major
changes, what is new, and what is been removed.
PlatformIO 3 is not backwards compatible with v2.x. Use this section as a
general guide to upgrading from v2.x to v3.0. For a broader overview, see
`what is new <https://community.platformio.org/c/announcements>`_ in the v3.0
release announcement.
.. contents::
Major PlatformIO CLI changes
----------------------------
.. note::
PlatformIO 3.x is 100% non-blocking! You do not need to use ``--force``
option or setup special ``PLATOFMRIO_SETTING_ENABLE_PROMPTS`` environment.
Use PlatformIO 3.0 with sub-processing without any risk!
This table shows the CLI changes between v2.x and v3.0.
.. list-table::
:header-rows: 1
* - PlatformIO 2.x
- PlatformIO 3.x
* - platformio platforms
- :ref:`platformio platform <userguide_platform>`
* - platformio serialports
- :ref:`cmd_device`
* - platformio settings set enable_prompts false
- Removed! Now, all PlatformIO 3.0 CLI is 100% non-blocking!
PlatformIO 2.x commands will be converted to PlatformIO 3.x automatically.
Nevertheless, we recommend to use PlatformIO 3.x commands for the new projects.
What is new
-----------
Development Platforms
~~~~~~~~~~~~~~~~~~~~~
We have introduced :ref:`platform_creating_manifest_file` and ported
PlatformIO 2.x development platforms according PlatformIO 3.0 decentralized
architecture. Now, platform related things (build scrips, LD scripts, board
configs, package requirements) are located in own repository. Here is the full
list with `PlatformIO 3.0 open source development platforms <https://github.com/platformio?utf8=✓&query=platform->`__. You can fork it, modify or create custom.
See :ref:`platform_creating` guide for details.
* :ref:`platform_creating_manifest_file`
* ``espressif`` development platform has been renamed to :ref:`platform_espressif8266`
* PlatformIO 3.0 :ref:`userguide_platform`
* Custom package repositories
* External embedded board configuration files, isolated build scripts
* Embedded Board compatibility with more than one development platform
Library Manager and Intelligent Build System
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Powerful and super-fast :ref:`ldf` that interprets C/C++ Preprocessor
conditional macros with deep search behavior
* Project dependencies per build environment using `projectconf_lib_deps` option
* Depend on a library using VCS URL (GitHub, Git, ARM mbed code registry, Hg, SVN)
* Install library by name
* Strict search for library dependencies
* Multiple library storages: Project's Local, PlatformIO's Global or Custom
* Allowed :ref:`library_config` to specify sources other than PlatformIO's Repository
* Check library compatibility with project environment before building
* Control Library Dependency Finder for compatibility using :ref:`projectconf_lib_compat_mode` option
* Custom library storages/directories with :ref:`projectconf_lib_extra_dirs` option
* Handle extra build flags, source filters and build script from :ref:`library_config`
* Allowed to disable library archiving (``*.ar``)
* Show detailed build information about dependent libraries (Library Dependency Graph)
* Support for the 3rd party manifests (Arduino IDE "library.properties" and
ARM mbed "module.json")
* Build System: Attach custom Before/Pre and After/Post actions for targets using :ref:`projectconf_extra_script`
Command Line Interface
~~~~~~~~~~~~~~~~~~~~~~
We have added new commands and changed some existing ones. Here are the new or
updated commands and options.
.. list-table::
:header-rows: 1
* - Command
- Description
* - :ref:`cmd_boards`
- Returns all supported boards by PlatformIO
* - :option:`platformio boards --installed`
- Returns currently installed boards
* - :option:`platformio ci --project-option`
- Pass custom option from :ref:`projectconf`
* - :option:`platformio ci --verbose`
- Print detailed information about build process
* - :option:`platformio init --project-option`
- Pass custom option from :ref:`projectconf`
* - :option:`platformio lib --global`
- Manage PlatformIO :ref:`Global Library Storage <ldf_storage>`
* - :option:`platformio lib --storage-dir`
- Manage :ref:`Custom Library Storage <ldf_storage>`
* - :ref:`cmd_lib_install`
- New PlatformIO 3.0 Library Manager! Semantic Versioning, VCS support and external URL support
* - :option:`platformio lib install --silent`
- Suppress progress reporting when install library
* - :option:`platformio lib install --interactive`
- Allow to make a choice for all prompts when install library
* - :option:`platformio lib search --header`
- Search library by specific header file name (include)
* - :option:`platformio lib update --only-check`
- Do not update, only check for new version
* - :ref:`platformio platform <userguide_platform>`
- New PlatformIO 3.0 Platform Manager! Semantic Versioning, VCS support and external URL support.
* - :option:`platformio platform update --only-packages`
- Update only platform packages
* - :option:`platformio platform update --only-check`
- Do not update, only check for new version
* - :ref:`cmd_run`
- By default, prints only human-readable information when processing environments
* - :option:`platformio run --verbose`
- Print detailed processing information
* - :ref:`platformio settings set force_verbose true <setting_force_verbose>`
- Force verbose output when processing environments (globally)
* - :ref:`cmd_test`
- PlatformIO Plus Unit Testing
* - :option:`platformio update --only-check`
- Do not update, only check for new version
:ref:`projectconf`
~~~~~~~~~~~~~~~~~~
We have added new options and changed some existing ones. Here are the new or
updated options.
.. list-table::
:header-rows: 1
* - Section
- Option
- Description
* - platformio
- :ref:`projectconf_pio_libdeps_dir`
- Internal storage where :ref:`librarymanager` will install project dependencies
* - platformio
- :ref:`projectconf_pio_test_dir`
- Directory where :ref:`unit_testing` engine will look for the tests
* - env
- :ref:`projectconf_lib_deps`
- Specify project dependencies that should be installed automatically to :ref:`projectconf_pio_libdeps_dir` before environment processing.
* - env
- :ref:`projectconf_env_platform`
- PlatformIO 3.0 allows to use specific version of platform using `Semantic Versioning <http://semver.org>`_ (X.Y.Z=MAJOR.MINOR.PATCH).
* - env
- :ref:`projectconf_lib_extra_dirs`
- A list with extra directories/storages where :ref:`ldf` will look for dependencies
* - env
- :ref:`projectconf_lib_ldf_mode`
- This option specifies how does :ref:`ldf` should analyze dependencies (``#include`` directives)
* - env
- :ref:`projectconf_lib_compat_mode`
- Library compatibility mode allows to control strictness of :ref:`ldf`
* - env
- :ref:`projectconf_test_ignore`
- Ignore tests where the name matches specified patterns
What is removed
---------------
Command Line Interface
~~~~~~~~~~~~~~~~~~~~~~
The following commands have been dropped or changed in v3.0.
.. list-table::
:header-rows: 1
* - Command
- Description
* - platformio init --enable-auto-uploading
- Use :option:`platformio init --project-option` instead of it with ``targets = upload`` value
:ref:`projectconf`
~~~~~~~~~~~~~~~~~~
The following options have been dropped or changed in v3.0.
.. list-table::
:header-rows: 1
* - Section
- Option
- Description
* - platformio
- :ref:`projectconf_pio_lib_dir`
- Changed: Project's own/private libraries, where in PlatformIO 2.x it was global library storage

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -28,24 +28,28 @@ Packages
* - Name
- Contents
* - ``toolchain-atmelavr``
- `avr-gcc <https://gcc.gnu.org/wiki/avr-gcc>`_, `GDB <http://www.gnu.org/software/gdb/>`_, `AVaRICE <http://avarice.sourceforge.net/>`_, `SimulAVR <http://www.nongnu.org/simulavr/>`_
* - ``framework-arduinoavr``
- `Arduino Wiring-based Framework (AVR Core, 1.6) <http://arduino.cc/en/Reference/HomePage>`_
* - ``framework-simba``
- `Simba Framework <https://github.com/eerimoq/simba>`_
* - ``tool-avrdude``
- `AVRDUDE <http://www.nongnu.org/avrdude/>`_
* - ``framework-arduinoavr``
- `Arduino Wiring-based Framework (AVR Core, 1.6) <http://arduino.cc/en/Reference/HomePage>`_
* - ``tool-micronucleus``
- `Micronucleus <https://github.com/micronucleus/micronucleus>`_
* - ``toolchain-atmelavr``
- `avr-gcc <https://gcc.gnu.org/wiki/avr-gcc>`_, `GDB <http://www.gnu.org/software/gdb/>`_, `AVaRICE <http://avarice.sourceforge.net/>`_, `SimulAVR <http://www.nongnu.org/simulavr/>`_
.. warning::
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
**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
@@ -60,12 +64,15 @@ Frameworks
* - :ref:`framework_arduino`
- 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_simba`
- Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
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.
@@ -127,7 +134,7 @@ Adafruit
* - ``protrinket3ftdi``
- `Adafruit Pro Trinket 3V/12MHz (FTDI) <http://www.adafruit.com/products/2010>`_
- ATMEGA328P
- 16 MHz
- 12 MHz
- 32 Kb
- 2 Kb
@@ -159,6 +166,33 @@ Adafruit
- 8 Kb
- 0.5 Kb
Arduboy
~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``arduboy``
- `Arduboy <https://www.arduboy.com>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``arduboy_devkit``
- `Arduboy DevKit <https://www.arduboy.com>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
Arduino
~~~~~~~
@@ -207,6 +241,13 @@ Arduino
- 32 Kb
- 2 Kb
* - ``chiwawa``
- `Arduino Industrial 101 <http://www.arduino.org/products/boards/4-arduino-boards/arduino-industrial-101>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``diecimilaatmega168``
- `Arduino Duemilanove or Diecimila ATmega168 <http://arduino.cc/en/Main/ArduinoBoardDiecimila>`_
- ATMEGA168
@@ -222,14 +263,14 @@ Arduino
- 2 Kb
* - ``esplora``
- `Arduino Esplora <http://arduino.cc/en/Main/ArduinoBoardEsplora>`_
- `Arduino Esplora <http://www.arduino.org/products/boards/4-arduino-boards/arduino-esplora>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``ethernet``
- `Arduino Ethernet <http://arduino.cc/en/Main/ArduinoBoardEthernet>`_
- `Arduino Ethernet <http://www.arduino.org/products/boards/4-arduino-boards/arduino-ethernet>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
@@ -243,7 +284,14 @@ Arduino
- 2 Kb
* - ``leonardo``
- `Arduino Leonardo <http://arduino.cc/en/Main/arduinoBoardLeonardo>`_
- `Arduino Leonardo <http://www.arduino.org/products/boards/4-arduino-boards/arduino-leonardo>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``leonardoeth``
- `Arduino Leonardo ETH <http://www.arduino.org/products/boards/4-arduino-boards/arduino-leonardo-eth>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
@@ -264,28 +312,28 @@ Arduino
- 2 Kb
* - ``megaADK``
- `Arduino Mega ADK <http://arduino.cc/en/Main/ArduinoBoardMegaADK>`_
- `Arduino Mega ADK <http://www.arduino.org/products/boards/4-arduino-boards/arduino-mega-adk>`_
- ATMEGA2560
- 16 MHz
- 256 Kb
- 8 Kb
* - ``megaatmega1280``
- `Arduino Mega or Mega 2560 ATmega1280 <http://arduino.cc/en/Main/arduinoBoardMega>`_
- `Arduino Mega or Mega 2560 ATmega1280 <http://www.arduino.org/products/boards/4-arduino-boards/arduino-mega-2560>`_
- ATMEGA1280
- 16 MHz
- 128 Kb
- 8 Kb
* - ``megaatmega2560``
- `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) <http://arduino.cc/en/Main/arduinoBoardMega2560>`_
- `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) <http://www.arduino.org/products/boards/4-arduino-boards/arduino-mega-2560>`_
- ATMEGA2560
- 16 MHz
- 256 Kb
- 8 Kb
* - ``micro``
- `Arduino Micro <http://arduino.cc/en/Main/ArduinoBoardMicro>`_
- `Arduino Micro <http://www.arduino.org/products/boards/4-arduino-boards/arduino-micro>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
@@ -306,14 +354,14 @@ Arduino
- 2 Kb
* - ``nanoatmega168``
- `Arduino Nano ATmega168 <http://arduino.cc/en/Main/ArduinoBoardNano>`_
- `Arduino Nano ATmega168 <http://www.arduino.org/products/boards/4-arduino-boards/arduino-nano>`_
- ATMEGA168
- 16 MHz
- 16 Kb
- 1 Kb
* - ``nanoatmega328``
- `Arduino Nano ATmega328 <http://arduino.cc/en/Main/ArduinoBoardNano>`_
- `Arduino Nano ATmega328 <http://www.arduino.org/products/boards/4-arduino-boards/arduino-nano>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
@@ -348,28 +396,35 @@ Arduino
- 2 Kb
* - ``robotControl``
- `Arduino Robot Control <http://arduino.cc/en/Main/Robot>`_
- `Arduino Robot Control <http://www.arduino.org/products/boards/4-arduino-boards/arduino-robot>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``robotMotor``
- `Arduino Robot Motor <http://arduino.cc/en/Main/Robot>`_
- `Arduino Robot Motor <http://www.arduino.org/products/boards/4-arduino-boards/arduino-robot>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``uno``
- `Arduino Uno <http://arduino.cc/en/Main/ArduinoBoardUno>`_
- `Arduino Uno <http://www.arduino.org/products/boards/4-arduino-boards/arduino-uno>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``yun``
- `Arduino Yun <http://arduino.cc/en/Main/ArduinoBoardYun>`_
- `Arduino Yun <http://www.arduino.org/products/boards/4-arduino-boards/arduino-yun>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``yunmini``
- `Arduino Yun Mini <http://www.arduino.org/products/boards/4-arduino-boards/arduino-yun-mini>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
@@ -490,6 +545,68 @@ Engduino
- 32 Kb
- 2.5 Kb
Generic ATTiny
~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``attiny13``
- `Generic ATTiny13 <http://www.atmel.com/devices/ATTINY13.aspx>`_
- ATTINY13
- 9 MHz
- 1 Kb
- 0.0625 Kb
* - ``attiny24``
- `Generic ATTiny24 <http://www.atmel.com/devices/ATTINY24.aspx>`_
- ATTINY24
- 8 MHz
- 2 Kb
- 0.125 Kb
* - ``attiny25``
- `Generic ATTiny25 <http://www.atmel.com/devices/ATTINY25.aspx>`_
- ATTINY25
- 8 MHz
- 2 Kb
- 0.125 Kb
* - ``attiny44``
- `Generic ATTiny44 <http://www.atmel.com/devices/ATTINY44.aspx>`_
- ATTINY44
- 8 MHz
- 4 Kb
- 0.25 Kb
* - ``attiny45``
- `Generic ATTiny45 <http://www.atmel.com/devices/ATTINY45.aspx>`_
- ATTINY45
- 8 MHz
- 4 Kb
- 0.25 Kb
* - ``attiny84``
- `Generic ATTiny84 <http://www.atmel.com/devices/ATTINY84.aspx>`_
- ATTINY84
- 8 MHz
- 8 Kb
- 0.5 Kb
* - ``attiny85``
- `Generic ATTiny85 <http://www.atmel.com/devices/ATTINY85.aspx>`_
- ATTINY85
- 8 MHz
- 8 Kb
- 0.5 Kb
LightUp
~~~~~~~
@@ -510,6 +627,26 @@ LightUp
- 32 Kb
- 2.5 Kb
Linino
~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``one``
- `Linino One <http://www.linino.org/portfolio/linino-one/>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
LowPowerLab
~~~~~~~~~~~
@@ -537,6 +674,68 @@ LowPowerLab
- 128 Kb
- 16 Kb
Mcudude
~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``mightycore1284``
- `MightyCore ATmega1284 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA1284P
- 16 MHz
- 128 Kb
- 16 Kb
* - ``mightycore16``
- `MightyCore ATmega16 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA16
- 16 MHz
- 16 Kb
- 1 Kb
* - ``mightycore164``
- `MightyCore ATmega164 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA164P
- 16 MHz
- 16 Kb
- 1 Kb
* - ``mightycore32``
- `MightyCore ATmega32 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA32
- 16 MHz
- 32 Kb
- 2 Kb
* - ``mightycore324``
- `MightyCore ATmega324 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA324P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``mightycore644``
- `MightyCore ATmega644 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA644P
- 16 MHz
- 64 Kb
- 4 Kb
* - ``mightycore8535``
- `MightyCore ATmega8535 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA16
- 16 MHz
- 8 Kb
- 0.5 Kb
Microduino
~~~~~~~~~~
@@ -613,6 +812,26 @@ Microduino
- 64 Kb
- 4 Kb
OpenEnergyMonitor
~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``emonpi``
- `OpenEnergyMonitor emonPi <https://github.com/openenergymonitor/emonpi>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
PanStamp
~~~~~~~~
@@ -633,6 +852,26 @@ PanStamp
- 32 Kb
- 2 Kb
Pinoccio
~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``pinoccio``
- `Pinoccio Scout <https://www.crowdsupply.com/pinoccio/mesh-sensor-network>`_
- ATMEGA256RFR2
- 16 MHz
- 256 Kb
- 32 Kb
Punch Through
~~~~~~~~~~~~~
@@ -740,20 +979,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 +993,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

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -30,7 +30,7 @@ Configuration for the programmers:
upload_protocol = stk500v1
upload_flags = -P$UPLOAD_PORT
# edit this line with valid upload port
; edit this line with valid upload port
upload_port = SERIAL_PORT_HERE
* AVRISP mkII
@@ -52,6 +52,15 @@ Configuration for the programmers:
framework = arduino
upload_protocol = usbtiny
* ArduinoISP
.. code-block:: ini
[env:myenv]
platform = atmelavr
framework = arduino
upload_protocol = arduinoisp
* USBasp
.. code-block:: ini
@@ -82,10 +91,17 @@ Configuration for the programmers:
upload_protocol = stk500v1
upload_flags = -P$UPLOAD_PORT -b$UPLOAD_SPEED
# edit these lines
; edit these lines
upload_port = SERIAL_PORT_HERE
upload_speed = 19200
Upload EEPROM data
------------------
To upload EEPROM data (from EEMEM directive) you need to use ``uploadeep``
target instead ``upload`` for :option:`platformio run --target` command.
For example, ``platformio run -t uploadeep``.
Articles
--------
@@ -103,13 +119,13 @@ Examples
--------
All project examples are located in PlatformIO repository
`Examples for Atmel AVR platform <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino>`_.
`Examples for Atmel AVR platform <https://github.com/platformio/platformio-examples/tree/develop/atmelavr-and-arduino>`_.
* `Wiring Blink <https://github.com/platformio/platformio/tree/develop/examples/wiring-blink>`_
* `Arduino with external libraries <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/arduino-external-libs>`_
* `Arduino with internal libraries <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/arduino-internal-libs>`_
* `Project uses source file name for "src" directory (Arduino project structure) <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/arduino-own-src_dir>`_
* `Atmel AVR Native blink <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/atmelavr-native-blink>`_
* `Digitstump Mouse <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/digitstump-mouse>`_
* `Engduino magnetometer <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/engduino-magnetometer>`_
* `PanStamp blink <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/panstamp-blink>`_
* `Wiring Blink <https://github.com/platformio/platformio-examples/tree/develop/wiring-blink>`_
* `Arduino with external libraries <https://github.com/platformio/platformio-examples/tree/develop/atmelavr-and-arduino/arduino-external-libs>`_
* `Arduino with internal libraries <https://github.com/platformio/platformio-examples/tree/develop/atmelavr-and-arduino/arduino-internal-libs>`_
* `Project uses source file name for "src" directory (Arduino project structure) <https://github.com/platformio/platformio-examples/tree/develop/atmelavr-and-arduino/arduino-own-src_dir>`_
* `Atmel AVR Native blink <https://github.com/platformio/platformio-examples/tree/develop/atmelavr-and-arduino/atmelavr-native-blink>`_
* `Digitstump Mouse <https://github.com/platformio/platformio-examples/tree/develop/atmelavr-and-arduino/digitstump-mouse>`_
* `Engduino magnetometer <https://github.com/platformio/platformio-examples/tree/develop/atmelavr-and-arduino/engduino-magnetometer>`_
* `PanStamp blink <https://github.com/platformio/platformio-examples/tree/develop/atmelavr-and-arduino/panstamp-blink>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -28,30 +28,34 @@ Packages
* - Name
- Contents
* - ``toolchain-gccarmnoneeabi``
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``framework-arduinosam``
- `Arduino Wiring-based Framework (SAM Core, 1.6) <http://arduino.cc/en/Reference/HomePage>`_
* - ``tool-openocd``
- `OpenOCD <http://openocd.org>`_
* - ``framework-mbed``
- `mbed Framework <http://mbed.org>`_
* - ``ldscripts``
- `Linker Scripts <https://sourceware.org/binutils/docs/ld/Scripts.html>`_
* - ``framework-simba``
- `Simba Framework <https://github.com/eerimoq/simba>`_
* - ``tool-avrdude``
- `AVRDUDE <http://www.nongnu.org/avrdude/>`_
* - ``tool-bossac``
- `BOSSA CLI <https://sourceforge.net/projects/b-o-s-s-a/>`_
* - ``tool-openocd``
- `OpenOCD <http://openocd.org>`_
* - ``toolchain-gccarmnoneeabi``
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
.. warning::
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
**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
@@ -66,6 +70,9 @@ Frameworks
* - :ref:`framework_arduino`
- 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_simba`
- Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
* - :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,10 +81,30 @@ 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
~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``adafruit_feather_m0_usb``
- `Adafruit Feather M0 <https://www.adafruit.com/product/2772>`_
- SAMD21G18A
- 48 MHz
- 256 Kb
- 32 Kb
Arduino
~~~~~~~
@@ -92,19 +119,54 @@ Arduino
- RAM
* - ``due``
- `Arduino Due (Programming Port) <http://arduino.cc/en/Main/arduinoBoardDue>`_
- `Arduino Due (Programming Port) <http://www.arduino.org/products/boards/4-arduino-boards/arduino-due>`_
- SAM3X8E
- 84 MHz
- 512 Kb
- 32 Kb
* - ``dueUSB``
- `Arduino Due (USB Native Port) <http://arduino.cc/en/Main/arduinoBoardDue>`_
- `Arduino Due (USB Native Port) <http://www.arduino.org/products/boards/4-arduino-boards/arduino-due>`_
- SAM3X8E
- 84 MHz
- 512 Kb
- 32 Kb
* - ``mkr1000USB``
- `Arduino MKR1000 <https://www.arduino.cc/en/Main/ArduinoMKR1000>`_
- SAMD21G18A
- 48 MHz
- 256 Kb
- 32 Kb
* - ``mzeroUSB``
- `Arduino M0 <http://www.arduino.org/products/boards/arduino-m0>`_
- SAMD21G18A
- 48 MHz
- 256 Kb
- 32 Kb
* - ``mzeropro``
- `Arduino M0 Pro (Programming Port) <http://www.arduino.org/products/boards/arduino-m0-pro>`_
- SAMD21G18A
- 48 MHz
- 256 Kb
- 32 Kb
* - ``mzeroproUSB``
- `Arduino M0 Pro (Native USB Port) <http://www.arduino.org/products/boards/arduino-m0-pro>`_
- SAMD21G18A
- 48 MHz
- 256 Kb
- 32 Kb
* - ``tian``
- `Arduino Tian <http://www.arduino.org/products/boards/arduino-tian>`_
- SAMD21G18A
- 48 MHz
- 256 Kb
- 32 Kb
* - ``zero``
- `Arduino Zero (Programming Port) <https://www.arduino.cc/en/Main/ArduinoBoardZero>`_
- SAMD21G18A
@@ -199,3 +261,30 @@ SainSmart
- 84 MHz
- 512 Kb
- 32 Kb
SparkFun
~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``sparkfun_samd21_dev_usb``
- `SparkFun SAMD21 Dev Breakout <https://www.sparkfun.com/products/13672>`_
- SAMD21G18A
- 48 MHz
- 256 Kb
- 32 Kb
* - ``sparkfun_samd21_mini_usb``
- `SparkFun SAMD21 Mini Breakout <https://www.sparkfun.com/products/13664>`_
- SAMD21G18A
- 48 MHz
- 256 Kb
- 32 Kb

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -11,13 +11,13 @@
.. _board_creating:
Custom Board
============
Custom Embedded 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
@@ -33,32 +33,46 @@ JSON Structure
The key fields:
* ``build`` data will be used by :ref:`Platforms <platforms>` and
:ref:`frameworks` builders
* ``build`` data will be used by :ref:`platforms` and :ref:`frameworks` builders
* ``frameworks`` is the list with supported :ref:`frameworks`
* ``platform`` main type of :ref:`Platforms <platforms>`
* ``platform`` name of :ref:`platforms`
* ``upload`` upload settings which depend on the ``platform``
.. code-block:: json
{
"myboard": {
"build": {},
"frameworks": ["%LIST_WITH_SUPPORTED_FRAMEWORKS%"],
"name": "My test board",
"platform": "%PLATFORM_TYPE_HERE%",
"upload": {},
"url": "http://example.com",
"vendor": "My Company Ltd."
}
"build": {
"extra_flags": "-DHELLO_PLATFORMIO",
"f_cpu": "16000000L",
"hwids": [
[
"0x1234",
"0x0013"
],
[
"0x4567",
"0x0013"
]
],
"mcu": "%MCU_TYPE_HERE%"
},
"frameworks": ["%LIST_WITH_SUPPORTED_FRAMEWORKS%"],
"name": "My Test Board",
"upload": {
"maximum_ram_size": 2048,
"maximum_size": 32256
},
"url": "http://example.com",
"vendor": "MyCompany"
}
Installation
------------
1. Create ``boards`` directory in :ref:`projectconf_pio_home_dir` if it
doesn't exist.
2. Create ``my_own_boards.json`` file and put to ``boards`` directory.
2. Create ``myboard.json`` file and put to ``boards`` directory.
3. Search available boards via :ref:`cmd_boards` command. You should see
``myboard`` board.
@@ -69,5 +83,6 @@ Now, you can use ``myboard`` for the :ref:`projectconf_env_board` option in
Examples
--------
For the examples, please look into built-in ``*.json`` files with boards
settings: https://github.com/platformio/platformio/tree/develop/platformio/boards.
Please take a look at the source code of
`PlatformIO Development Platforms <https://github.com/platformio?query=platform->`_
and navigate to ``boards`` folder of the repository.

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -11,10 +11,10 @@
.. _platform_creating:
Custom Platform
===============
Custom Development Platform
===========================
*PlatformIO* was developed like a tool which would build the same source code
*PlatformIO* was developed like a tool that may build the same source code
for the different development platforms via single command :ref:`cmd_run`
without any dependent software or requirements.
@@ -27,12 +27,12 @@ different/own build scripts, uploader and etc.
.. note::
If you want to change some build flags for the existing
:ref:`Platforms <platforms>`, you don't need to create (or duplicate) own
:ref:`platforms`, you don't need to create (or duplicate) own
development platforms! Please use :ref:`projectconf_build_flags` option.
**Step-by-Step Manual**
1. Chose :ref:`platform_creating_packages` for platform
1. Choose :ref:`platform_creating_packages` for platform
2. Create :ref:`platform_creating_manifest_file`
3. Create :ref:`platform_creating_build_script`
4. Finish with the :ref:`platform_creating_installation`.
@@ -56,9 +56,15 @@ Packages
* - ``framework-arduinoavr``
- `Arduino Wiring-based Framework (AVR Core, 1.6) <http://arduino.cc/en/Reference/HomePage>`_
* - ``framework-arduinoespressif``
* - ``framework-arduinoespressif8266``
- `Arduino Wiring-based Framework (ESP8266 Core) <https://github.com/esp8266/Arduino>`_
* - ``framework-arduinointel``
- `Arduino Wiring-based Framework (Intel ARC Core) <https://github.com/01org/corelibs-arduino101>`_
* - ``framework-arduinomicrochippic32``
- `Arduino Wiring-based Framework (PIC32 Core) <https://github.com/chipKIT32/chipKIT-core>`_
* - ``framework-arduinomsp430``
- `Arduino Wiring-based Framework (MSP430 Core) <http://arduino.cc/en/Reference/HomePage>`_
@@ -68,6 +74,9 @@ Packages
* - ``framework-arduinosam``
- `Arduino Wiring-based Framework (SAM Core, 1.6) <http://arduino.cc/en/Reference/HomePage>`_
* - ``framework-arduinoststm32``
- `Arduino Wiring-based Framework (STM32 Core) <https://github.com/rogerclarkmelbourne/Arduino_STM32>`_
* - ``framework-arduinoteensy``
- `Arduino Wiring-based Framework <http://arduino.cc/en/Reference/HomePage>`_
@@ -86,6 +95,9 @@ Packages
* - ``framework-mbed``
- `mbed Framework <http://mbed.org>`_
* - ``framework-simba``
- `Simba Framework <https://github.com/eerimoq/simba>`_
* - ``framework-spl``
- `Standard Peripheral Library for STM32 MCUs <http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF257890>`_
@@ -98,6 +110,9 @@ Packages
* - ``sdk-esp8266``
- `ESP8266 SDK <http://bbs.espressif.com>`_
* - ``tool-arduino101load``
- `Genuino101 uploader <https://github.com/01org/intel-arduino-tools>`_
* - ``tool-avrdude``
- `AVRDUDE <http://www.nongnu.org/avrdude/>`_
@@ -122,12 +137,18 @@ Packages
* - ``tool-openocd``
- `OpenOCD <http://openocd.org>`_
* - ``tool-pic32prog``
- `pic32prog <https://github.com/sergev/pic32prog>`_
* - ``tool-rfdloader``
- `rfdloader <https://github.com/RFduino/RFduino>`_
* - ``tool-scons``
- `SCons software construction tool <http://www.scons.org>`_
* - ``tool-sreccat``
- `Merging tool <https://github.com/marcows/SRecord>`_
* - ``tool-stlink``
- `ST-Link <https://github.com/texane/stlink>`_
@@ -152,6 +173,15 @@ Packages
* - ``toolchain-gccmingw32``
- `MinGW <http://www.mingw.org>`_
* - ``toolchain-icestorm``
- `GCC for FPGA IceStorm <http://www.clifford.at/icestorm/>`_
* - ``toolchain-intelarc32``
- `GCC for Intel ARC <https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain>`_
* - ``toolchain-microchippic32``
- `GCC for Microchip PIC32 <https://github.com/chipKIT32/chipKIT-cxx>`_
* - ``toolchain-timsp430``
- `msp-gcc <http://sourceforge.net/projects/mspgcc/>`_, `GDB <http://www.gnu.org/software/gdb/>`_
@@ -160,89 +190,79 @@ Packages
.. _platform_creating_manifest_file:
Manifest File
-------------
Manifest File ``platform.json``
-------------------------------
A platform manifest file is a `Python <https://www.python.org>`_ script with the
next requirements:
.. code-block:: json
1. The file should have ``.py`` extension
2. The **name of the file** is the **platform name** (lowercase)
3. The source code of this file should contain a ``class`` which describes your
own platform. The name of the ``class`` should start with your
**platform name** (the first letter should be capitalized) + ``Platform``
ending. This ``class`` should be derived from *PlatformIO* ``BasePlatform``
class.
.. warning::
If you are new to *Python* language, please read:
* `Style Guide for Python Code <https://www.python.org/dev/peps/pep-0008>`_.
* A hash sign (#) that is not inside a string literal begins a comment.
All characters after the # and up to the physical line end are part
of the comment and the *Python* interpreter ignores them.
Example of the **test** platform (``test.py``):
.. code-block:: python
import os
from platformio.platforms.base import BasePlatform
class TestPlatform(BasePlatform):
# This is a description of your platform.
# Platformio uses it for the `platformio search / list` commands
"""
My Test platform - test.py
"""
PACKAGES = {
"toolchain-foo": {
# alias is used for quick access to package.
# For example,
# `> platformio install test --without-package=toolchain`
"alias": "toolchain",
# Flag which allows PlatformIO to install this package by
# default via `> platformio install test` command
"default": True
},
"tool-bar": {
"alias": "uploader",
"default": True
},
"framework-baz": {
"default": True
{
"name": "myplatform",
"title": "My Platform",
"description": "My custom development platform",
"url": "http://example.com",
"homepage": "http://platformio.org/platforms/myplatform",
"license": "Apache-2.0",
"engines": {
"platformio": "~3.0.0",
"scons": ">=2.3.0,<2.6.0"
},
"repository": {
"type": "git",
"url": "https://github.com/platformio/platform-myplatform.git"
},
"version": "0.0.0",
"packageRepositories": [
"https://dl.bintray.com/platformio/dl-packages/manifest.json",
"https://sourceforge.net/projects/platformio-storage/files/packages/manifest.json/download",
"http://dl.platformio.org/packages/manifest.json",
{
"framework-%FRAMEWORK_NAME_1%": [
{
"url": "http://dl.example.com/packages/framework-%FRAMEWORK_NAME_1%-1.10607.0.tar.gz",
"sha1": "adce2cd30a830d71cb6572575bf08461b7b73c07",
"version": "1.10607.0",
"system": "*"
}
]
}
def get_build_script(self):
""" Returns a path to build script """
# You can return static path
#return "/path/to/test-builder.py"
# or detect dynamically if `test-builder.py` is located in the same
# folder with `test.py`
return os.path.join(
os.path.dirname(os.path.realpath(__file__)),
"test-builder.py"
)
],
"frameworks": {
"%FRAMEWORK_NAME_1%": {
"package": "framework-%FRAMEWORK_NAME_1%",
"script": "builder/frameworks/%FRAMEWORK_NAME_1%.py"
},
"%FRAMEWORK_NAME_N%": {
"package": "framework-%FRAMEWORK_NAME_N%",
"script": "builder/frameworks/%FRAMEWORK_NAME_N%.py"
}
},
"packages": {
"toolchain-gccarmnoneeabi": {
"type": "toolchain",
"version": ">=1.40803.0,<1.40805.0"
},
"framework-%FRAMEWORK_NAME_1%": {
"type": "framework",
"optional": true,
"version": "~1.10607.0"
},
"framework-%FRAMEWORK_NAME_N%": {
"type": "framework",
"optional": true,
"version": "~1.117.0"
}
}
}
.. _platform_creating_build_script:
Build Script
------------
Build Script ``main.py``
------------------------
Platform's build script is based on a next-generation build tool named
`SCons <http://www.scons.org>`_. PlatformIO has own built-in firmware builder
``env.BuildProgram`` with the nested libraries search. Please look into a
base template of ``test-builder.py``.
``env.BuildProgram`` with the deep libraries search. Please look into a
base template of ``main.py``.
.. code-block:: python
@@ -320,15 +340,6 @@ base template of ``test-builder.py``.
Default(target_bin)
Please look into the examples with built-in scripts for the popular
platforms:
* `baseavr.py <https://github.com/platformio/platformio/blob/develop/platformio/builder/scripts/baseavr.py>`_
* `basearm.py <https://github.com/platformio/platformio/blob/develop/platformio/builder/scripts/basearm.py>`_
* `atmelavr.py <https://github.com/platformio/platformio/blob/develop/platformio/builder/scripts/atmelavr.py>`_
* `timsp430.py <https://github.com/platformio/platformio/blob/develop/platformio/builder/scripts/timsp430.py>`_
* `ststm32.py <https://github.com/platformio/platformio/blob/develop/platformio/builder/scripts/ststm32.py>`_
.. _platform_creating_installation:
Installation
@@ -336,126 +347,17 @@ Installation
1. Create ``platforms`` directory in :ref:`projectconf_pio_home_dir` if it
doesn't exist.
2. Copy ``test.py`` and ``test-builder.py`` files to ``platforms`` directory.
3. Search available platforms via :ref:`cmd_platforms_search` command. You should see
``test`` platform.
4. Install ``test`` platform via :ref:`cmd_platforms_install` command.
2. Create ``myplatform`` directory in ``platforms``
3. Copy ``platform.json`` and ``builder/main.py`` files to ``myplatform`` directory.
4. Search available platforms via :ref:`cmd_platform_search` command. You
should see ``myplatform`` platform.
5. Install ``myplatform`` platform via :ref:`cmd_platform_install` command.
Now, you can use ``test`` for the :ref:`projectconf_env_platform` option in
:ref:`projectconf`.
Now, you can use ``myplatform`` for the :ref:`projectconf_env_platform`
option in :ref:`projectconf`.
Example
-------
Let's use the real example which was requested by our user in `issue 175 <https://github.com/platformio/platformio/issues/175>`_. Need to add support for uploading firmware using GDB to
:ref:`platform_ststm32`.
First of all, need to create new folder ``platforms`` in :ref:`projectconf_pio_home_dir`
and copy there two files:
1. Platform manifest file ``ststm32gdb.py`` with the next content:
.. code-block:: python
import os
from platformio.platforms.ststm32 import Ststm32Platform
class Ststm32gdbPlatform(Ststm32Platform):
"""
ST STM32 using GDB as uploader
http://www.st.com/web/en/catalog/mmc/FM141/SC1169?sc=stm32
"""
def get_build_script(self):
return os.path.join(
os.path.dirname(os.path.realpath(__file__)),
"ststm32gdb-builder.py"
)
2. Build script file ``ststm32gdb-builder.py`` with the next content:
.. code-block:: python
"""
Builder for ST STM32 Series ARM microcontrollers with GDB upload.
"""
from os.path import join
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Default,
DefaultEnvironment, SConscript)
env = DefaultEnvironment()
SConscript(env.subst(join("$PIOBUILDER_DIR", "scripts", "basearm.py")))
env.Replace(
UPLOADER=join(
"$PIOPACKAGES_DIR", "toolchain-gccarmnoneeabi",
"bin", "arm-none-eabi-gdb"
),
UPLOADERFLAGS=[
join("$BUILD_DIR", "firmware.elf"),
"-batch",
"-x", join("$PROJECT_DIR", "upload.gdb")
],
UPLOADCMD="$UPLOADER $UPLOADERFLAGS"
)
env.Append(
CPPDEFINES=[
"${BOARD_OPTIONS['build']['variant'].upper()}"
],
LINKFLAGS=[
"-nostartfiles",
"-nostdlib"
]
)
#
# Target: Build executable and linkable firmware
#
target_elf = env.BuildProgram()
#
# Target: Build the .bin file
#
if "uploadlazy" in COMMAND_LINE_TARGETS:
target_firm = join("$BUILD_DIR", "firmware.bin")
else:
target_firm = env.ElfToBin(join("$BUILD_DIR", "firmware"), target_elf)
#
# Target: Print binary size
#
target_size = env.Alias("size", target_elf, "$SIZEPRINTCMD")
AlwaysBuild(target_size)
#
# Target: Upload by default .bin file
#
upload = env.Alias(
["upload", "uploadlazy"], target_firm, "$UPLOADCMD")
AlwaysBuild(upload)
#
# Target: Define targets
#
Default([target_firm, target_size])
Now, we should see ``ststm32gdb`` platform using :ref:`cmd_platforms_search` command output
and can install it via :ref:`platformio platforms install ststm32gdb <cmd_platforms_install>` command.
Examples
--------
Please take a look at the source code of
`PlatformIO Development Platforms <https://github.com/platformio?query=platform->`_.

View File

@@ -0,0 +1,19 @@
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Custom Platform & Board
=======================
.. toctree::
:maxdepth: 2
creating_platform
creating_board

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -9,10 +9,10 @@
See the License for the specific language governing permissions and
limitations under the License.
.. _platform_espressif:
.. _platform_espressif8266:
Platform ``espressif``
======================
Platform ``espressif8266``
==========================
Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
For more detailed information please visit `vendor site <https://espressif.com/>`_.
@@ -28,8 +28,14 @@ Packages
* - Name
- Contents
* - ``toolchain-xtensa``
- `xtensa-gcc <https://github.com/jcmvbkbc/gcc-xtensa>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``framework-arduinoespressif8266``
- `Arduino Wiring-based Framework (ESP8266 Core) <https://github.com/esp8266/Arduino>`_
* - ``framework-simba``
- `Simba Framework <https://github.com/eerimoq/simba>`_
* - ``sdk-esp8266``
- `ESP8266 SDK <http://bbs.espressif.com>`_
* - ``tool-esptool``
- `esptool-ck <https://github.com/igrr/esptool-ck>`_
@@ -37,21 +43,16 @@ Packages
* - ``tool-mkspiffs``
- `Tool to build and unpack SPIFFS images <https://github.com/igrr/mkspiffs>`_
* - ``framework-arduinoespressif``
- `Arduino Wiring-based Framework (ESP8266 Core) <https://github.com/esp8266/Arduino>`_
* - ``ldscripts``
- `Linker Scripts <https://sourceware.org/binutils/docs/ld/Scripts.html>`_
* - ``sdk-esp8266``
- `ESP8266 SDK <http://bbs.espressif.com>`_
* - ``toolchain-xtensa``
- `xtensa-gcc <https://github.com/jcmvbkbc/gcc-xtensa>`_, `GDB <http://www.gnu.org/software/gdb/>`_
.. warning::
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
**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
@@ -66,12 +67,15 @@ Frameworks
* - :ref:`framework_arduino`
- 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_simba`
- Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
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.
@@ -115,6 +119,33 @@ Doit
- 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
~~~~~~
@@ -176,25 +207,39 @@ Espressif
- 4096 Kb
- 80 Kb
* - ``esp8285``
- `Generic ESP8285 Module <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 448 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
* - ``espresso_lite_v1``
- `ESPresso Lite 1.0 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
* - ``espresso_lite_v2``
- `ESPresso Lite 2.0 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
* - ``phoenix_v1``
- `Phoenix 1.0 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 1024 Kb
- 80 Kb
* - ``phoenix_v2``
- `Phoenix 2.0 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 1024 Kb
- 80 Kb
* - ``wifinfo``
- `WifInfo <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 448 Kb
- 80 Kb
NodeMCU
@@ -257,6 +302,13 @@ SparkFun
- Flash
- RAM
* - ``sparkfunBlynk``
- `SparkFun Blynk Board <https://www.sparkfun.com/products/13794>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
* - ``thing``
- `SparkFun ESP8266 Thing <https://www.sparkfun.com/products/13231>`_
- ESP8266
@@ -338,4 +390,4 @@ WeMos
- 4096 Kb
- 80 Kb
.. include:: espressif_extra.rst
.. include:: espressif8266_extra.rst

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -17,7 +17,7 @@ See :ref:`projectconf_board_f_cpu` option from :ref:`projectconf`
.. code-block:: ini
[env:myenv]
# set frequency to 160MHz
; set frequency to 160MHz
board_f_cpu = 160000000L
Custom FLASH Frequency
@@ -34,7 +34,7 @@ values:
.. code-block:: ini
[env:myenv]
# set frequency to 80MHz
; set frequency to 80MHz
board_f_flash = 80000000L
Custom FLASH Mode
@@ -118,7 +118,8 @@ Uploading files to file system SPIFFS
information first.
1. Initialise project :ref:`cmd_init` (if you have not initialized yet)
2. Create :ref:`projectconf_pio_data_dir` and put files here
2. Create ``data`` folder (it should be on the same level as ``src`` folder)
and put files here. Also, you can specify own location for :ref:`projectconf_pio_data_dir`
3. Run target ``uploadfs`` using :option:`platformio run --target` command.
To upload SPIFFS image using OTA update please specify ``upload_port`` /
@@ -136,7 +137,7 @@ Active discussion is located in `issue #382 <https://github.com/platformio/platf
Over-the-Air (OTA) update
-------------------------
Firstly, please read `What is OTA? How to use it? <https://github.com/esp8266/Arduino/blob/master/doc/ota_updates/ota_updates.md>`_
Firstly, please read `What is OTA? How to use it? <https://github.com/esp8266/Arduino/blob/master/doc/ota_updates/readme.md>`_
There are 2 options:
@@ -180,7 +181,7 @@ For the full list with available options please run
.. code-block:: bash
~/.platformio/packages/framework-arduinoespressif/tools/espota.py -h
~/.platformio/packages/framework-arduinoespressif8266/tools/espota.py -h
Usage: espota.py [options]
@@ -219,14 +220,27 @@ Demo
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
1. Install :ref:`installation_develop` of PlatformIO
2. Install Espressif 8266 (Stage) development platform
.. code::
platformio platform install https://github.com/platformio/platform-espressif8266.git#feature/stage
3. Set :ref:`projectconf_env_platform` to ``espressif8266_stage`` in
:ref:`projectconf`. For example,
.. code-block:: ini
[env:nodemcuv2]
platform = espressif8266_stage
board = nodemcuv2
framework = arduino
4. Try to build project
5. 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
6. 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:
@@ -239,6 +253,16 @@ Using Arduino Framework with Staging version
Articles
--------
* Sep 12, 2016 - **Pedro Minatel** - `OTA Como programar o ESP8266 pelo WiFi no platformIO (OTA programming for ESP8266 via Wi-Fi using PlatformIO, Portuguese) <http://pedrominatel.com.br/esp8266/ota-como-programar-o-esp8266-pelo-wifi-no-platformio/>`_
* Sep 2, 2016 - **Tinkerman** `Optimizing files for SPIFFS with Gulp <http://tinkerman.cat/optimizing-files-for-spiffs-with-gulp/>`_
* Jul 15, 2016 - **Jaime** - `ESP8266 Mobile Rick Roll Captive Portal <https://hackaday.io/project/12709-esp8266-mobile-rick-roll-captive-portal>`_
* Jun 13, 2016 - **Daniel Eichhorn** - `New Weather Station Demo on Github <http://blog.squix.org/2016/06/new-weather-station-demo-on-github.html>`_
* Jun 3, 2016 - **Daniel Eichhorn** - `ESP8266: Continuous Delivery Pipeline Push To Production <http://blog.squix.org/2016/06/esp8266-continuous-delivery-pipeline-push-to-production.html>`_
* May 29, 2016 - **Chris Synan** - `Reverse Engineer RF Remote Controller for IoT! <http://www.instructables.com/id/Reverse-Engineer-RF-Remote-Controller-for-IoT/?ALLSTEPS>`_
* May 22, 2016 - **Pedro Minatel** - `Estação meteorológica com ESP8266 (Weather station with ESP8266, Portuguese) <http://pedrominatel.com.br/esp8266/estacao-meteorologica-com-esp8266/>`_
* May 16, 2016 - **Pedro Minatel** - `Controle remoto WiFi com ESP8266 (WiFi remote control using ESP8266, Portuguese) <http://pedrominatel.com.br/esp8266/controle-remoto-wifi-com-esp8266/>`_
* May 08, 2016 - **Radoslaw Bob** - `Touch controlled buzzer (Nodemcu ESP8266) <https://gettoknowthebob.wordpress.com/2016/05/08/touch-controlled-buzzer-nodemcu-esp8266/>`_
* 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>`_
@@ -251,8 +275,8 @@ Examples
--------
All project examples are located in PlatformIO repository
`Examples for Espressif platform <https://github.com/platformio/platformio/tree/develop/examples/espressif>`_.
`Examples for Espressif platform <https://github.com/platformio/platformio-examples/tree/develop/espressif>`_.
* `Native SDK <https://github.com/platformio/platformio/tree/develop/examples/espressif/esp8266-native>`_
* `WebServer <https://github.com/platformio/platformio/tree/develop/examples/espressif/esp8266-webserver>`_
* `WiFiScan <https://github.com/platformio/platformio/tree/develop/examples/espressif/esp8266-wifiscan>`_
* `Native SDK <https://github.com/platformio/platformio-examples/tree/develop/espressif/esp8266-native>`_
* `WebServer <https://github.com/platformio/platformio-examples/tree/develop/espressif/esp8266-webserver>`_
* `WiFiScan <https://github.com/platformio/platformio-examples/tree/develop/espressif/esp8266-wifiscan>`_

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -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.
@@ -118,9 +119,50 @@ Freescale
- 128 Kb
- 16 Kb
* - ``frdm_kl26z``
- `Freescale Kinetis FRDM-KL26Z <http://www.nxp.com/products/software-and-tools/hardware-development-tools/freedom-development-boards/freedom-development-platform-for-kinetis-kl16-and-kl26-mcus-up-to-128-kb-flash:FRDM-KL26Z>`_
- MKL26Z128VLH4
- 48 MHz
- 128 Kb
- 16 Kb
* - ``frdm_kl27z``
- `Freescale Kinetis FRDM-KL27Z <http://www.nxp.com/products/software-and-tools/hardware-development-tools/freedom-development-boards/freedom-development-platform-for-kinetis-kl17-and-kl27-mcus:FRDM-KL27Z>`_
- MKL27Z64VLH4
- 48 MHz
- 64 Kb
- 16 Kb
* - ``frdm_kl43z``
- `Freescale Kinetis FRDM-KL43Z <http://www.nxp.com/products/software-and-tools/hardware-development-tools/freedom-development-boards/freedom-development-platform-for-kinetis-kl43-kl33-kl27-kl17-and-kl13-mcus:FRDM-KL43Z>`_
- MKL43Z256VLH4
- 48 MHz
- 256 Kb
- 32 Kb
* - ``frdm_kl46z``
- `Freescale Kinetis FRDM-KL46Z <https://developer.mbed.org/platforms/FRDM-KL46Z/>`_
- MKL46Z256VLL4
- 48 MHz
- 256 Kb
- 32 Kb
MikroElektronika
~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``hexiwear``
- `Hexiwear <https://developer.mbed.org/platforms/Hexiwear/>`_
- MK64FN1M0VDC12
- 120 MHz
- 1024 Kb
- 256 Kb

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -11,8 +11,8 @@
.. _platforms:
Platforms & Embedded Boards
===========================
Development Platforms
=====================
*PlatformIO* has pre-built different development platforms for popular OS
(*Mac OS X, Linux (+ARM) and Windows*). Each of them include compiler,
@@ -30,8 +30,11 @@ Embedded
atmelavr
atmelsam
espressif
espressif8266
freescalekinetis
intel_arc32
lattice_ice40
microchippic32
nordicnrf51
nxplpc
siliconlabsefm32
@@ -51,12 +54,3 @@ Desktop
linux_i686
linux_x86_64
windows_x86
Custom Platform & Board
-----------------------
.. toctree::
:maxdepth: 2
creating_platform
creating_board

View File

@@ -0,0 +1,88 @@
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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.
.. _platform_intel_arc32:
Platform ``intel_arc32``
========================
ARC embedded processors are a family of 32-bit CPUs that are widely used in SoC devices for storage, home, mobile, automotive, and Internet of Things applications.
For more detailed information please visit `vendor site <http://www.intel.com/content/www/us/en/wearables/wearable-soc.html>`_.
.. contents::
Packages
--------
.. list-table::
:header-rows: 1
* - Name
- Contents
* - ``framework-arduinointel``
- `Arduino Wiring-based Framework (Intel ARC Core) <https://github.com/01org/corelibs-arduino101>`_
* - ``tool-arduino101load``
- `Genuino101 uploader <https://github.com/01org/intel-arduino-tools>`_
* - ``toolchain-intelarc32``
- `GCC for Intel ARC <https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain>`_
.. warning::
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
**Windows Users:** Please check that you have correctly installed USB
driver from board manufacturer
Frameworks
----------
.. list-table::
:header-rows: 1
* - Name
- Description
* - :ref:`framework_arduino`
- 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>`_
* For more detailed ``board`` information please scroll tables below by
horizontal.
Intel
~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``genuino101``
- `Arduino/Genuino 101 <https://www.arduino.cc/en/Main/ArduinoBoard101>`_
- ARCV2EM
- 32 MHz
- 192 Kb
- 80 Kb

View File

@@ -0,0 +1,91 @@
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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.
.. _platform_lattice_ice40:
Platform ``lattice_ice40``
==========================
The iCE40 family of ultra-low power, non-volatile FPGAs has five devices with densities ranging from 384 to 7680 Look-Up Tables (LUTs). In addition to LUT-based,low-cost programmable logic, these devices feature Embedded Block RAM (EBR), Non-volatile Configuration Memory (NVCM) and Phase Locked Loops (PLLs). These features allow the devices to be used in low-cost, high-volume consumer and system applications.
For more detailed information please visit `vendor site <http://www.latticesemi.com/Products/FPGAandCPLD/iCE40.aspx>`_.
.. contents::
Packages
--------
.. list-table::
:header-rows: 1
* - Name
- Contents
* - ``toolchain-icestorm``
- `GCC for FPGA IceStorm <http://www.clifford.at/icestorm/>`_
.. warning::
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
**Windows Users:** Please check that you have correctly installed USB
driver from board manufacturer
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by
horizontal.
BQ
~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``icezum``
- `BQ IceZUM Alhambra FPGA <https://github.com/bqlabs/icezum/wiki>`_
- ICE40HX1K
- 12 MHz
- 32 Kb
- 32 Kb
Lattice
~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``icestick``
- `Lattice iCEstick FPGA Evaluation Kit <http://www.latticesemi.com/icestick>`_
- ICE40HX1K
- 12 MHz
- 32 Kb
- 32 Kb

View File

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -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

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -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

@@ -1,4 +1,4 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
.. Copyright 2014-present PlatformIO <contact@platformio.org>
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
@@ -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_x86_64>`_.
.. contents::

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