Compare commits

...

334 Commits

Author SHA1 Message Date
c4a4dcd419 Merge branch 'release/v2.3.4' 2015-10-13 18:40:46 +01:00
b7d2619651 Version bump to 2.3.4 (issues #132, #279, #290, #302, #305, #306) 2015-10-13 18:40:23 +01:00
c07e957e28 Fix FAQ doc 2015-10-13 18:36:37 +01:00
b183431c27 Install SCons automatically and avoid error: option --single-version-externally-managed not recognized 2015-10-13 18:24:40 +01:00
177353bf7a PlatformIO command completion in Terminal for bash and zsh // Resolve #290 2015-10-13 17:44:28 +01:00
de2d6818c1 Full support of CLion IDE including code auto-completion // Resolve #132 2015-10-13 14:01:16 +01:00
f758d8607a Use teensy CLI loader for upload of .hex files on OSX // Resolve #306 2015-10-12 16:29:24 +01:00
1164ef31ca Fix missing of framework-mbed package for teensy platform // Resolve #305 2015-10-12 13:24:42 +01:00
20edf7de41 Add support for @ubIQio Ardhat board // Resolve #302 2015-10-10 11:35:01 +01:00
7467c281cc Add support for @ubIQio Ardhat board 2015-10-10 11:33:38 +01:00
3b8d7304ff Propose upgrading via pip 2015-10-09 14:12:30 +01:00
6e274cbf20 Correct social links 2015-10-08 16:59:12 +01:00
3a0614641b Add links for Hackaday 2015-10-08 16:50:47 +01:00
c395dd5ebd Update requests to 2.8.0 2015-10-07 11:57:46 +01:00
1c9dc2ba3d Handle WindowsError when can't remove .pioenvs directory 2015-10-06 17:06:47 +01:00
52b98dd159 Add "Commands completion in Terminal" 2015-10-04 15:20:49 +01:00
1426e78793 Show valid environment names when user typed unknown values 2015-10-03 15:38:33 +01:00
ec6af9a460 Merge branch 'release/v2.3.3' 2015-10-02 16:24:02 +01:00
ec844961c7 Merge branch 'release/v2.3.3' into develop 2015-10-02 16:24:02 +01:00
e1c9cb2c00 Version bump to 2.3.3 (issues #263, #288, #292, #295, #296, #297) 2015-10-02 16:23:46 +01:00
2c0d26e06d Skip empty serial ports // Issue #294 2015-10-02 16:20:07 +01:00
3c36eafdfa Avoid pip cache when problem occurs for upgrade process // Issue #295 2015-10-02 16:14:04 +01:00
e22ab787dd Fix ESP8266 compile errors about RAM size when adding 1 library // Resolve #297 2015-10-02 15:34:36 +01:00
948b75aeda Merge pull request #299 from valeros/develop
Update espressif platform // Resolve #296, #297
2015-10-02 15:22:09 +01:00
4dcef89301 Update espressif platform // Resolve #296, #297 2015-10-02 16:11:00 +03:00
12b29a760a More explanations about NotPlatformProject 2015-10-01 17:04:26 +01:00
43ca0e149f Remove debug info 2015-09-30 16:56:13 +01:00
ad1666dd0a Fix double quotes in defines for Project Generator // Issue #294 2015-09-30 16:54:12 +01:00
1b4d4f5695 Handle Atom & Vim as IDE 2015-09-30 14:54:07 +01:00
a714e6084a Add to FAQ "Unable to install PlatformIO: [Errno 1] Operation not permitted" // Resolve #295 2015-09-28 16:57:28 +01:00
a8dd5d85a5 Add support for ST Nucleo F446RE board // Pull #293 2015-09-28 13:19:07 +01:00
83363c7077 Merge pull request #293 from dkuku/patch-1
Add support for ST Nucleo F446RE board
2015-09-28 13:12:48 +01:00
d99a57365f Add support for LightBlue Bean board // Issue #292 2015-09-28 12:09:03 +01:00
3cb41cf6b0 Update ststm32.json
added nucleo_f446re
2015-09-27 03:02:34 +01:00
5201626d6a Merge pull request #292 from mplewis/add-lightblue-boards
config: add LightBlue Bean board definition and docs
2015-09-24 09:43:57 +02:00
f812e74324 config: fix Punch Through vendor name 2015-09-23 11:57:54 -05:00
0668d6d290 docs: remove LightBlue Bean docs 2015-09-23 11:54:00 -05:00
46d1c2c86c Fix broken lock file for "appstate" storage // Resolve #288 2015-09-23 16:35:31 +03:00
ee7fe1fc10 Add to FAQ info about Archlinux issue with libncurses.so.5 // Resolve #291 2015-09-23 15:55:19 +03:00
c997495b5d docs: fix underline length 2015-09-22 15:04:06 -05:00
605b5755bf config: add LightBlue Bean board definition and docs 2015-09-22 14:54:32 -05:00
b60c761cce Fix firmware uploading to Arduino Leonardo board using Mac OS // Resolve #287 2015-09-11 12:53:04 +03:00
12d6df6962 Merge branch 'release/v2.3.2' 2015-09-10 20:44:53 +03:00
34972c77f5 Merge branch 'release/v2.3.2' into develop 2015-09-10 20:44:53 +03:00
2c5db64677 Version bump to 2.3.2 (issues #279) 2015-09-10 20:44:39 +03:00
fa33d53180 Show float RAM values for boards // Issue #286 2015-09-10 20:41:23 +03:00
57b877f445 Fix Cygwin disabling 2015-09-10 20:31:26 +03:00
dcb6d8286b Disable Cygwin support 2015-09-10 20:23:37 +03:00
3a8c515e21 Minor fix 2015-09-10 20:22:54 +03:00
50984f1475 Correct OS arch within Cygwin emu 2015-09-10 19:47:14 +03:00
4338bade5b Allow PlatformIO to be run within Cygwin environment 2015-09-10 19:35:32 +03:00
ed10ecd142 Explain how to use "lib" directory from the PlatformIO based project // Issue #273 2015-09-10 18:19:23 +03:00
6815297b0c Merge branch 'feature/issue-287' into develop 2015-09-10 17:52:40 +03:00
c72bf9ea31 Found solution for "pip/scons error: option –single-version-externally-managed not recognized" // Resolve #279 2015-09-10 17:47:19 +03:00
d4f4d9c789 Fix using $UPLOAD_PROTOCOL env variable 2015-09-10 16:56:33 +03:00
61ef27c345 Allow to use ST-Link uploader for mbed-based projects 2015-09-10 16:43:09 +03:00
9c73e59772 Fix firmware uploading for Arduino Leonardo under Unix 2015-09-10 15:20:29 +03:00
0405ba3f31 Update virtualenv if exists 2015-09-09 01:28:43 +03:00
f5f97fe0fd More explanations about lib directory 2015-09-09 01:01:41 +03:00
82a8bd01fc Fix SConsNotInstalled error for Linux Debian-based distributives 2015-09-09 00:45:51 +03:00
b15408e693 Depend on lockfile >= 0.9.1 2015-09-08 15:08:44 +03:00
74ac9ffa1c Merge branch 'release/v2.3.1' 2015-09-06 18:17:53 +03:00
ed5f035d1c Merge branch 'release/v2.3.1' into develop 2015-09-06 18:17:53 +03:00
0f5417bab4 Version bump to 2.3.1 (issues #283) 2015-09-06 18:17:40 +03:00
0311418bfc Fix critical issue when platformio init --ide__ command hangs PlatformIO // Resolve #283 2015-09-06 18:16:09 +03:00
bc449fec48 Remove SCons from pip instruction 2015-09-05 23:17:01 +03:00
1e7240d6dc Merge branch 'release/v2.3.0' into develop 2015-09-05 23:05:34 +03:00
2732d63362 Merge branch 'release/v2.3.0' 2015-09-05 23:05:33 +03:00
78bf56e327 Version bump to 2.3.0 (issues #234, #252, #256, #263, #268, #270, #272, #274, #277, #279) 2015-09-05 23:04:53 +03:00
01eb25cb39 Handle Miniterm exceptions 2015-09-05 22:58:42 +03:00
1f612b466c Fix platformio path for Windows 2015-09-05 22:43:12 +03:00
0a85e01322 Cleanup 2015-09-05 20:53:50 +03:00
3cb4e6e854 Fix project generator for Windows; update docs for IDE 2015-09-05 20:50:30 +03:00
d566eb2a36 Include subdirectories with tpls for project generator 2015-09-05 10:45:09 +03:00
71890a34be Reorganise IDE examples 2015-09-04 23:48:57 +03:00
c254a3490c Fix path for Windows-based projects 2015-09-04 20:35:56 +03:00
a032026f46 Significantly improve "Project Generator" // Resolve #280 2015-09-04 19:31:59 +03:00
e1ee61d31b Add "-d" option for "--project-dir" to init & run commands 2015-09-04 18:28:13 +03:00
ca4694e1af Update mbed framework 2015-09-04 13:10:14 +03:00
9fea8f4488 Switch to requires.io 2015-09-04 12:57:11 +03:00
f9f54da914 Fix invalid command context 2015-09-03 20:07:35 +03:00
97c1a27031 Fix serial monitor args 2015-09-03 20:00:24 +03:00
0d8d5fdb32 Allow multiple instances of @PlatformIO 2015-09-03 19:04:09 +03:00
25c448627e Added short "-h" help option for PlatformIO and sub-commands 2015-09-02 23:07:45 +03:00
baa83c6ee6 Improve PlatformIO upgrading 2015-09-02 13:42:01 +03:00
2f7a6ef0a1 Check that SCons is installed properly 2015-09-01 16:42:41 +03:00
c50332daa2 Allow to run platformio directly from the bin folder 2015-09-01 16:15:04 +03:00
8dbb282416 Info about "Add" button when $PATH doesn't exist 2015-08-29 00:51:21 +03:00
ef8f7d4fc0 More explanation about Eclipse and $PATH 2015-08-29 00:47:56 +03:00
74ea4ae9c2 Update installation via pip 2015-08-29 00:25:29 +03:00
2cf1b1420c Fix used command and version 2015-08-28 23:53:45 +03:00
8bdcf54d9f Add new article about MBED FRDM-K64F Eclipse/PlatformIO 2015-08-28 23:50:46 +03:00
a815aa15ec Fix installation issue with pip // Resolve #279 2015-08-28 22:32:39 +03:00
b1dbba6224 Add demo to README 2015-08-28 20:15:40 +03:00
35901a125d Fix upload link for Wiring Blink demo 2015-08-28 19:55:16 +03:00
52b28867a0 Add "Demo" page 2015-08-28 19:52:37 +03:00
d7d71b60f8 Full text of docs 2015-08-28 17:19:33 +03:00
465e952ae4 Update TOP links 2015-08-28 17:16:30 +03:00
200658ae6d Use Circle built-in setuptools 2015-08-27 11:09:25 +03:00
e58f5e3617 Fix tox @develop 2015-08-25 18:08:57 +03:00
78ba3176f2 Remove SCons package from develop docs 2015-08-25 16:51:46 +03:00
abd02570f4 Use toolchain's includes pattern "include*" for Project Generator // Resolve #277 2015-08-25 16:45:12 +03:00
97b8d4eeea Add SCons to requirements list 2015-08-25 16:35:19 +03:00
92036356ca Pre-upgrade for pip and setuptools for CI 2015-08-25 16:30:16 +03:00
6842df5577 Install @PlatformIO without -U flag by default 2015-08-25 15:21:13 +03:00
793352dfbf Rephrase installation text 2015-08-25 15:16:25 +03:00
b96535abff Install @PlatformIO with update option 2015-08-25 15:12:31 +03:00
2b4b50ee08 Add info about pip 2015-08-25 15:11:23 +03:00
e2795716f9 Generate "readme.txt" for project "lib" directory // Resolve #273 2015-08-22 23:11:48 +03:00
47d5783700 Improve installation section 2015-08-22 22:27:35 +03:00
9f6c677276 Remove SCons temporary from requirements list (Circle CI fails) 2015-08-22 17:44:51 +03:00
70f117f63f Install the latest pip & setuptools packages 2015-08-22 17:42:01 +03:00
83c8e914ae Fix YAML format 2015-08-22 17:39:19 +03:00
38b6a86858 Install the latest pip & setuptools packages 2015-08-22 17:38:15 +03:00
76267b7db6 Group PlatformIO releases 2015-08-22 17:31:26 +03:00
4cd0febb18 Add information about symlinks // Issue #272 2015-08-22 17:30:58 +03:00
9d9488edd1 Add SCons to requirement list 2015-08-22 17:16:28 +03:00
a1483c263f Simplified installation process of PlatformIO // Resolve #274 2015-08-22 17:09:28 +03:00
8e42c4ae31 Explain that lib dir is suitable for private libraries // Issue #273 2015-08-21 23:56:22 +03:00
bf15ba3a78 Add answer to FAQ when Program “platformio” not found in PATH // Resolve #272 2015-08-21 23:41:50 +03:00
20a0592b37 Fix "AttributeError: 'module' object has no attribute 'packages'" // Resolve #252 2015-08-21 23:09:56 +03:00
5422054ae4 Use original 'returncode' from exec command 2015-08-21 19:50:21 +03:00
ac3844aa95 Add new articles 2015-08-21 17:17:47 +03:00
1b41ffba60 Fix home path environment variable in Eclipse project on Windows // Resolve #270 2015-08-20 14:52:03 +03:00
3393d81452 Hint "save as..." for download get-platformio.py script 2015-08-19 23:11:42 +03:00
25baee266c Add @PlatformIO Storage stats badge 2015-08-18 16:37:44 +03:00
731467d4e9 Add MinGW to PATH env for AppVeyor 2015-08-17 11:55:42 +03:00
bd03d75f14 Switch to click 5.0 2015-08-17 10:37:53 +03:00
260dd03179 Restore external build flags 2015-08-14 16:09:48 +03:00
35f7d8a4cc Enhance docs 2015-08-14 00:14:04 +03:00
84fb5e59a9 Update hello-world example 2015-08-10 22:17:37 +03:00
838ba3ad4f Add new article by Russell Davis 2015-08-10 21:51:09 +03:00
ad7be3b397 Add new development platforms: linux_arm, linux_i686 and linux_x86_64 2015-08-10 21:39:31 +03:00
27ca987284 iSort passed 2015-08-10 16:17:00 +03:00
2b8f7824c2 Add support for Linux 32/64 as host OS for cross compiling to Windows x86 2015-08-10 16:16:16 +03:00
5679271913 Add "Hello World" example for desktop platforms 2015-08-09 21:46:43 +03:00
c9491f47e1 Add support for mingw-linux toolchains 2015-08-09 21:46:07 +03:00
5e2415cb37 Add support for "windows_x86" development platform // Issue #263 2015-08-09 19:05:16 +03:00
2715efd910 Add support for Adafruit Gemma board 2015-08-09 18:08:34 +03:00
b65a356669 Merge pull request #265 from WillemMali/develop
improved error wording
2015-08-07 14:56:45 +03:00
9ec0d3bc8c improved error wording
Fixed a grammatical mistake and made the meaning clearer by replacing "it" with "this" and by adding an example.

It does increase the length of the output, but I think it's much easier to read and more informative.
2015-08-07 13:14:14 +02:00
acd0ecf38a Merge pull request #264 from jrobeson/patch-1
fix typo in udev rules file
2015-08-07 13:09:02 +03:00
b75db38e45 fix typo in udev rules file 2015-08-07 05:23:11 -04:00
c7a79cb8b4 Merge pull request #256 from bkudria/adafruit-gemma
Adafruit Gemma support
2015-08-05 10:59:59 +03:00
7e5c22706b Use own mirror when SF is offline 2015-08-04 00:27:13 +03:00
7d5a2c4dfc Set default PROGNAME to "program" 2015-08-03 23:10:47 +03:00
584d03c802 Propagating External Environment 2015-08-03 15:08:54 +03:00
0646ffc93f Restore process $PATH for SCons 2015-08-03 12:53:21 +03:00
0f8b506c76 Merge branch 'feature/issue-263-native-platform' into develop 2015-08-03 12:34:03 +03:00
f0d849a702 Added native development platform 2015-08-03 12:33:37 +03:00
0d196ef7b7 Rename env.BuildFirmware to env.BuildProgram 2015-08-02 19:52:37 +03:00
75edcef099 Adafruit Gemma support 2015-08-01 16:52:14 -07:00
ce82b14f6b Fix sys env for Windows 2015-08-01 18:33:41 +03:00
e102fb2880 Allow PROGNAME & PROGSUFFIX to be configurable within platform 2015-08-01 17:41:05 +03:00
203026a57b Use cyclic linker options just for gcc-based compilers 2015-08-01 17:39:15 +03:00
86e39f9b44 More explanations about run --targets 2015-08-01 17:30:20 +03:00
edcad9c251 Add link to Facebook page 2015-07-31 14:22:46 +03:00
cb6d433e15 Add Facebook page 2015-07-31 14:21:30 +03:00
49d5994628 Merge branch 'release/v2.2.2' 2015-07-30 18:56:13 +03:00
e488d53950 Version bump to 2.2.2 (issues #247, #253, #254, #255, #257, #260) 2015-07-30 18:54:06 +03:00
e6be7ab3b5 Minor improvements for exitStatus and returncode 2015-07-30 18:17:57 +03:00
59505cb8f3 Show internal errors from "Miniterm" using "platformio serialports monitor" command // Resolve #257 2015-07-30 18:07:26 +03:00
5761cea47e Fixed "platformio serialports monitor --help" information with HEX char for hotkeys // Resolve #253 2015-07-30 17:50:07 +03:00
d27f9a9d09 Improve CI handling 2015-07-30 17:33:45 +03:00
e43635bf9b Fix comments stripping 2015-07-30 14:37:46 +03:00
3813614d31 Support for off-line/unpublished/private libraries // Resolved #260 2015-07-29 21:14:41 +03:00
9a6189d7cd Disable Shippable Build Status 2015-07-29 20:24:18 +03:00
132f2d20fd Skip SHA1 verification for non SF packages 2015-07-29 19:59:39 +03:00
c96ae1f773 Fix linker cyclic for static libs 2015-07-29 17:48:10 +03:00
45905d0992 Merge branch 'develop' of https://github.com/ivankravets/platformio into develop 2015-07-29 17:33:20 +03:00
076696cde1 Use Linker cyclic option when deplibs exist 2015-07-29 17:33:06 +03:00
25781c7631 Add os import to Python template 2015-07-29 14:47:47 +03:00
99649614c5 Add link to article "Arduino Development in Atom Editor" 2015-07-23 19:53:13 +03:00
7a6e8279e4 Integration with Atom IDE 2015-07-23 19:25:10 +03:00
b79a79d423 Handle "OSError: [Errno 13] Permission denied" for PlatformIO installer script 2015-07-21 17:51:33 +03:00
5a91d0bf1b Disable project auto-clean while building/uploading firmware // Resolve #255 2015-07-21 14:53:38 +03:00
b9d14918f3 A few improvements for installation doc 2015-07-21 14:48:34 +03:00
5d6b2e0eb6 Add Teensy HID USB mouse example 2015-07-17 21:31:28 +03:00
3d7c3a0c7a Fix typo in history 2015-07-17 15:05:05 +03:00
2f7f7dcd6a Update release date 2015-07-17 14:58:34 +03:00
5b8c6c4d56 Merge branch 'release/v2.2.1' 2015-07-17 14:54:55 +03:00
6af7fd8007 Merge branch 'release/v2.2.1' into develop 2015-07-17 14:54:55 +03:00
bfb801acef Version bump to 2.2.1 (issues #132, #248, #249, #250, #251) 2015-07-17 14:54:39 +03:00
9379c3cb39 Updated "sdk-esp8266" package for espressif platform 2015-07-17 14:51:17 +03:00
d66e8fe7af Check if all default packages are installed 2015-07-17 14:50:06 +03:00
b85303c12a Improve espressif platform and native example for new SDK 2015-07-17 14:32:50 +03:00
60e3d7450f Fix platform auto-installation 2015-07-17 14:28:14 +03:00
4cd294ef57 Fix indention 2015-07-17 13:52:43 +03:00
890acbc80e Switch to PlatformIO's SCons version 2015-07-17 13:48:17 +03:00
de1cce41b0 Improve platform auto-installing (especially for @SmartAthill) 2015-07-16 22:19:09 +03:00
e20f6abef4 Fix mention about project conf 2015-07-16 13:29:22 +03:00
fa11f5d613 More details about limited features of CLion IDE 2015-07-16 13:27:58 +03:00
1e0adcfdc4 Bump to 2.2.1a0 2015-07-15 19:45:56 +03:00
d5c852d329 Project generator for CLion IDE // Resolve #132 2015-07-15 19:34:10 +03:00
c4e42c88fe Fix Espressif "uploadlazy" target for @SmartAnthill Project 2015-07-13 14:02:14 +03:00
4b93ec0b0b Improve "uploadlazy" target for @SmartAnthill Project 2015-07-13 12:43:45 +03:00
21b01c8949 Note about Windows drivers for embedded boards 2015-07-07 23:33:25 +03:00
76415b930f Fixed incorrect arguments handling for "platformio serialports monitor" command // Resolve #248 2015-07-07 23:08:54 +03:00
88ad2a1626 Minor fix 2015-07-06 22:36:05 +03:00
94c459258c Add explanation about dir change 2015-07-06 18:44:00 +03:00
e1b7810465 Merge branch 'release/v2.2.0' into develop 2015-07-01 18:03:44 +03:00
6c2883ba3b Merge branch 'release/v2.2.0' 2015-07-01 18:03:43 +03:00
249b00df1a Version bump to 2.2.0 (issues #233, #238, #239, #240, #242, #243, #244, #245, #246) 2015-07-01 18:03:33 +03:00
3fcf0a1bda New boards; update packages for pre-built frameworks 2015-06-30 23:34:01 +03:00
c31f591ca0 Add new boards to ST STM32 & Nordic NRF51 platforms 2015-06-30 22:25:27 +03:00
c80fb5f4b3 Update Espressif platform // Resolve #245 2015-06-30 22:21:22 +03:00
218a978f6d Update PlatformIO slogan 2015-06-29 22:26:37 +03:00
f6aed63055 Specify full target anchor for images 2015-06-29 22:25:56 +03:00
a119e39ede Typos fix 2015-06-29 19:40:15 +03:00
94da243dad Disable .user file for Qt Creator (additional steps are explained in docs) // Resolve #244 2015-06-29 18:02:19 +03:00
244412daf1 Update IDE integration instructions for Qt Creator and VisualStudio 2015-06-29 17:59:47 +03:00
29d7137a3d Fix include paths without HOMEDRIVE for VisualStudio 2015-06-29 17:40:10 +03:00
9017cb1600 Fix access to env variable from qtmake 2015-06-29 16:44:37 +03:00
80b012c157 Fix incorrect "includes" for project generator 2015-06-29 16:36:02 +03:00
b80c525952 Improve docs for env's "target" option 2015-06-28 20:38:37 +03:00
1af6eba151 Rename "srcbuild_flags" env option to "src_build_flags" 2015-06-28 20:18:16 +03:00
e288499db9 Rename "install_libs" env option to "lib_install" 2015-06-28 20:16:43 +03:00
ebdbf79868 Rename "use_libs" env option to "lib_use" 2015-06-28 19:44:35 +03:00
776a2027fb Rename "ignore_libs" env option to "lib_ignore" 2015-06-28 19:31:28 +03:00
a928f4aa8f Rename "ldf_cyclic" env option to "lib_dfcyclic" 2015-06-28 19:20:31 +03:00
9c5f9b6e30 Improve embedded texts 2015-06-27 22:47:44 +03:00
ae4918bdb7 Fix relative path for includes when generating project for IDE // Resolve #243 2015-06-27 21:20:44 +03:00
a581ba9814 Fix project generator for Microsoft Visual Studio 2015-06-27 21:18:33 +03:00
31840bbc11 Update PlatformIO logo 2015-06-27 17:57:21 +03:00
53b005bbed Simplify installation process for development version 2015-06-27 15:18:51 +03:00
82864d38e2 Fix IDE project generator when board is specified // Resolve #242 2015-06-27 15:13:27 +03:00
43205b8cd5 Correct fs directory separator // Issue #240 2015-06-23 14:24:46 +03:00
e240e0ee32 Add to FAQ ARM toolchain issue with "error while loading shared libraries" 2015-06-22 18:45:20 +03:00
6c7e26412a Change source dir to "src" 2015-06-22 17:27:32 +03:00
3232ba6a6c Allow to exclude/include source files from build process using src_filter // Resolve #240 2015-06-22 15:06:39 +03:00
46461b0721 Merge branch 'hotfix/v2.1.2' into develop 2015-06-21 21:56:16 +03:00
90508dfd96 Merge branch 'hotfix/v2.1.2' 2015-06-21 21:51:38 +03:00
d8dba90f77 Fix broken link to SCons installer 2015-06-21 21:48:45 +03:00
829d5781a5 Allow to launch own extra script before firmware building/uploading processes // Resolve #239 2015-06-19 15:29:22 +03:00
8e95bfb464 Allow to specify own path to the linker script (ld) using build_flags option // Resolve #233 2015-06-19 13:43:30 +03:00
91563b01d2 Improve path validator 2015-06-19 00:10:50 +03:00
89e2f46e68 Update dependent test-lib 2015-06-19 00:10:17 +03:00
5f1f4a1b19 Bump to 2.2.0.dev0 2015-06-17 14:08:22 +03:00
4669dc7f16 Fix "stk500v2_command(): command failed" // Resolve #238 2015-06-17 13:35:10 +03:00
ca721d7262 Update dependent test-lib 2015-06-17 13:29:28 +03:00
14f84a49a6 Allow to specify library compatibility with the all platforms/frameworks using * symbol in library.json 2015-06-17 13:28:56 +03:00
4744f5afdc Merge pull request #235 from ctag/patch-1
Updated recommened platforms install command
2015-06-13 22:07:29 +02:00
3a48f1c40b Updated recommened platforms install
$ platformio install [platform]
The above line is obsolete, I've changed the recommendation to reflect this latest version of the program.
2015-06-12 23:47:17 -05:00
aea7121076 Merge branch 'release/v2.1.1' 2015-06-09 22:21:21 +03:00
50875ff74b Merge branch 'release/v2.1.1' into develop 2015-06-09 22:21:21 +03:00
dc13048254 Version bump to 2.1.1 (issues #229, #231, #232) 2015-06-09 22:20:53 +03:00
18145d2c1c Add OpenHub badge 2015-06-09 22:08:13 +03:00
f868c64d81 Automatically detect upload port using VID:PID board settings // Resolve #231 2015-06-08 23:02:05 +03:00
3b7ad2d333 Avoid "LibInstallDependencyError" when more then 1 library is found // Resolve #229 2015-06-06 16:41:00 +03:00
6732c7cb7c Better handling of user exceptions 2015-06-06 15:02:12 +03:00
7ba67582de Fix indention 2015-06-05 19:30:49 +03:00
35ae470196 Fix Windows Error 32 while cleanup pioenvs dir 2015-06-05 19:12:57 +03:00
fa339a8b70 Fix firmware verification for examples 2015-06-04 23:17:18 +03:00
43b27c138a Fix bad indentation 2015-06-04 23:15:28 +03:00
36cdbb8f0c Improv detection of build changes 2015-06-04 22:50:13 +03:00
8c331df105 Use direct path to LDScript 2015-06-04 21:24:19 +03:00
02d4efcfb5 Merge branch 'release/v2.1.0' into develop 2015-06-03 19:54:52 +03:00
00cb6bd845 Merge branch 'release/v2.1.0' 2015-06-03 19:54:51 +03:00
f038c7a28e Version bump to 2.1.0 (issues #215, #219, #221, #225, #226) 2015-06-03 19:54:39 +03:00
18b4497be7 Add info about Silicon Labs EFM32 platform 2015-06-03 19:53:00 +03:00
8704ad4032 Add new article by @lekum "Discovering PlatformIO: The RaspberryPi / Arduino combo kit is...." 2015-06-03 19:42:48 +03:00
f899e255f3 Add Silicon Labs EFM32 "siliconlabsefm32" development platform // Issue #226 2015-06-03 19:31:09 +03:00
23cf725c20 Skip SF 5xx errors 2015-06-03 19:14:10 +03:00
ba20459178 Merge pull request #227 from valeros/develop
Add Silicon Labs EFM32 development platform // Resolve #226
2015-06-02 17:07:54 +03:00
442604003d Add Silicon Labs EFM32 development platform // Resolve #226 2015-06-02 14:38:41 +03:00
369d0e1a00 Fix response with 504 code when SF is off-line 2015-06-01 17:49:04 +03:00
04b2f94478 Enable auto erase for flash memory while uploading 2015-06-01 17:26:17 +03:00
61b2bd6cb8 Describe in documentation how to create/register own board for PlatformIO 2015-05-30 17:09:01 +03:00
eea4ba3581 Merge pull request #223 from valeros/develop
Update IDE pictures in docs with "forced" run command // Resolve #215
2015-05-29 22:26:04 +03:00
3cb3b4f2ba Update IDE pictures in docs with "forced" run command // Resolve #215 2015-05-29 22:24:04 +03:00
2f376c9d36 Bump to 2.0.3.dev1 2015-05-29 20:33:24 +03:00
c4877e4444 Fix firmware uploading using USB programmer (USBasp) for atmelavr platform // Resolve #221 2015-05-29 20:29:24 +03:00
a288736ced Fix broken tests when SF is offline 2015-05-29 18:34:21 +03:00
1debe847d4 Disabled "nano.specs" for ARM-based platforms // Resolve #219 2015-05-29 17:47:30 +03:00
0c2a15a866 Trim whitespaces 2015-05-29 17:44:57 +03:00
da7e60b49f Switch badges to shields.io 2015-05-29 14:42:41 +03:00
d7c6da71f1 Integrate PlatformIO with Shippable CI 2015-05-28 21:07:41 +03:00
c4ed09c68f Integrate PlatformIO with Circle CI 2015-05-28 16:10:11 +03:00
06baa98823 Fix "ConnectionError" when PlatformIO SF Storage is off-line 2015-05-28 13:44:10 +03:00
8d9071e7c2 Merge branch 'feature/circleci' into develop 2015-05-28 13:10:48 +03:00
8d0785cf1b Fix Circle CI Example 2015-05-28 13:10:36 +03:00
ef0ce3fc07 Update project submodules 2015-05-28 12:44:37 +03:00
af9cdd0694 Remove invalid PyPi SCons package 2015-05-28 12:38:21 +03:00
a120514e9e Fix bottle requirement 2015-05-28 12:35:25 +03:00
e627a6ebdd Fix environment 2015-05-28 12:30:55 +03:00
94c37f4584 Integrate Circle CI 2015-05-28 12:28:24 +03:00
a48b62b0f2 Disable Travis CI cache 2015-05-28 12:03:46 +03:00
a9a9545b37 Fix resolving of C/C++ std libs by Eclipse IDE // Resolve #220 2015-05-28 00:19:55 +03:00
ca1df9462d Bump version to 2.0.2 2015-05-27 19:32:47 +03:00
32b057d1f3 Merge branch 'release/v2.0.2' 2015-05-27 19:27:02 +03:00
5e340843b1 Fix order for "listdir" method 2015-05-27 19:21:29 +03:00
0311298af1 Update history with 2.0.1 release 2015-05-27 17:03:34 +03:00
b4c2e9301c Merge branch 'release/v.2.0.1' 2015-05-27 17:02:08 +03:00
089ef2fa08 Merge branch 'release/v.2.0.1' into develop 2015-05-27 17:02:08 +03:00
9232c7abb1 Version bump to 2.0.1 (issues #210, #211, #212, #214, #216, #217) 2015-05-27 17:01:59 +03:00
27b7c2e201 Enhance docs for Library Manager 2015-05-27 16:23:39 +03:00
392758a842 Allow to control cyclic behaviour of Library Dependency Finder 2015-05-26 23:45:29 +03:00
25fde8db86 Cleanup boards 2015-05-26 23:00:40 +03:00
65ad07af6b Fix failing with `platformio init --ide eclipse` without boards // Resolve #217 2015-05-26 22:55:59 +03:00
ac7479415b Add support for new WildFire boards from Wicked Device to atmelavr platform 2015-05-26 22:52:09 +03:00
1f64f0aacf Merge pull request #218 from valeros/develop
Add WildFire boards from Wicked Device.
2015-05-26 20:47:24 +03:00
8fb0e1b75f Add WildFire boards from Wicked Device. 2015-05-26 20:06:37 +03:00
78db2cda27 Use forced run command and "--project-dir" option 2015-05-26 16:41:45 +03:00
6534fdaf04 Pass all environment variables which shall be copied from the tox invocation environment 2015-05-26 16:16:14 +03:00
2e214f16e7 Return args + options for telemetry 2015-05-26 15:04:47 +03:00
1f373b1e47 Handle AVR Symbols when initialising project for IDE // Resolve #216 2015-05-26 13:59:33 +03:00
4d36db1319 Improve handling of sys.args 2015-05-26 13:07:36 +03:00
58f0f8fab4 Use "include" directories from toolchain when exporting project for IDE // Resolve #210 2015-05-25 23:33:38 +03:00
7d949ecb16 Fix old-style class defination 2015-05-25 23:29:10 +03:00
be70047233 Improve running project from other directory (not CWD) 2015-05-25 23:26:35 +03:00
7649769437 Disable packages/libs updating while "upgrade" operation // Resolve #214 2015-05-25 22:50:46 +03:00
bcf0cc26aa Add --force for run command 2015-05-25 21:45:50 +03:00
96ce0692f8 Merge branch 'feature/reversed-cppath' into develop 2015-05-25 19:35:48 +03:00
9ba3136a24 Fix library order 2015-05-25 19:35:40 +03:00
92313c0686 Reversed order for CPPATH via Append 2015-05-25 13:35:26 +03:00
a1bb98fd5c Reversed order for CPPATH 2015-05-25 13:18:52 +03:00
146d430695 Revert CI detecting 2015-05-25 13:17:50 +03:00
b6a0a0f7c7 Merge pull request #213 from valeros/develop
Add c++ support for ststm32 platform // Resolve #211
2015-05-25 12:54:06 +03:00
97de38d6a6 Add c++ support for ststm32 platform // Resolve #211 2015-05-25 12:45:36 +03:00
65ba676f01 Correct path to import project in VisualStudio 2015-05-25 12:00:53 +03:00
5d9f81533d Use os.environ to detect CI system 2015-05-25 10:11:28 +03:00
1948a730d9 Pass environment variables to subprocess 2015-05-25 09:50:37 +03:00
77f2b17afd Update package for Arduino framework to 1.6.4 // Resolve #212 2015-05-24 18:48:45 +03:00
8739efaee4 Simplify Travis example 2015-05-24 01:02:12 +03:00
8f65492d96 Extend ASM list of source files 2015-05-23 20:23:13 +03:00
4f10047ba3 Handle new environment variable PLATFORMIO_BUILD_FLAGS 2015-05-23 19:17:07 +03:00
9560a665e5 Better detecting of Continuous Integration system 2015-05-23 18:36:11 +03:00
1113e5d69c Improve Travis CI docs 2015-05-23 17:42:22 +03:00
363c65da5f Fix stripping comments when converting from *.ino to *.cpp 2015-05-23 15:00:21 +03:00
28dd32070f Pass to API requests information about Continuous Integration system 2015-05-23 14:23:55 +03:00
f732d4088b Fix bug with converting "*.ino" to "*.cpp" 2015-05-23 14:02:05 +03:00
e22e4d23e4 Fix broken link 2015-05-22 22:16:27 +03:00
ce7d6f0507 Add where PlatformIO 2.0 was made 2015-05-22 22:03:55 +03:00
f499494963 Merge branch 'release/v2.0.0' into develop 2015-05-22 21:49:14 +03:00
238 changed files with 6500 additions and 2142 deletions

2
.gitignore vendored
View File

@ -3,7 +3,5 @@
.pioenvs
.tox
.sconsign.dblite
examples/ide-eclipse/.metadata
examples/ide-eclipse/RemoteSystemsTempFiles
docs/_build
dist

View File

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

View File

@ -1,7 +1,3 @@
cache:
directories:
- $HOME/.platformio
language: python
python:
- "2.7"
@ -13,7 +9,7 @@ env:
- TOX_ENV=py27
install:
- pip install tox
- pip install -U pip setuptools tox
script:
- tox -e $TOX_ENV

View File

@ -1,10 +1,224 @@
Release History
===============
2.0.0 (2015-05-22)
------------------
PlatformIO 2.0
--------------
* PlatformIO as :ref:`ci` (CI) tool for embedded projects
2.3.4 (2015-10-13)
~~~~~~~~~~~~~~~~~~
* Full support of `CLion IDE <http://docs.platformio.org/en/latest/ide/clion.html>`_
including code auto-completion
(`issue #132 <https://github.com/platformio/platformio/issues/132>`_)
* PlatformIO `command completion in Terminal <http://docs.platformio.org/en/latest/faq.html#command-completion-in-terminal>`_ for ``bash`` and ``zsh``
* Added support for ubIQio Ardhat board
(`pull #302 <https://github.com/platformio/platformio/pull/302>`_)
* Install SCons automatically and avoid ``error: option --single-version-externally-managed not recognized``
(`issue #279 <https://github.com/platformio/platformio/issues/279>`_)
* Use Teensy CLI Loader for upload of .hex files on Mac OS X
(`issue #306 <https://github.com/platformio/platformio/issues/306>`_)
* Fixed missing `framework-mbed <http://docs.platformio.org/en/latest/frameworks/mbed.html>`_
package for `teensy <http://docs.platformio.org/en/latest/platforms/teensy.html>`_
platform
(`issue #305 <https://github.com/platformio/platformio/issues/305>`_)
2.3.3 (2015-10-02)
~~~~~~~~~~~~~~~~~~
* Added support for LightBlue Bean board
(`pull #292 <https://github.com/platformio/platformio/pull/292>`_)
* Added support for ST Nucleo F446RE board
(`pull #293 <https://github.com/platformio/platformio/pull/293>`_)
* Fixed broken lock file for "appstate" storage
(`issue #288 <https://github.com/platformio/platformio/issues/288>`_)
* Fixed ESP8266 compile errors about RAM size when adding 1 library
(`issue #296 <https://github.com/platformio/platformio/issues/296>`_)
2.3.2 (2015-09-10)
~~~~~~~~~~~~~~~~~~
* Allowed to use ST-Link uploader for mbed-based projects
* Explained how to use ``lib`` directory from the PlatformIO based project in
``readme.txt`` which will be automatically generated using
`platformio init <http://docs.platformio.org/en/latest/userguide/cmd_init.html>`__
command
(`issue #273 <https://github.com/platformio/platformio/issues/273>`_)
* Found solution for "pip/scons error: option --single-version-externally-managed not
recognized" when install PlatformIO using ``pip`` package manager
(`issue #279 <https://github.com/platformio/platformio/issues/279>`_)
* Fixed firmware uploading to Arduino Leonardo board using Mac OS
(`issue #287 <https://github.com/platformio/platformio/issues/287>`_)
* Fixed `SConsNotInstalled` error for Linux Debian-based distributives
2.3.1 (2015-09-06)
~~~~~~~~~~~~~~~~~~
* Fixed critical issue when `platformio init --ide <http://docs.platformio.org/en/latest/userguide/cmd_init.html>`__ command hangs PlatformIO
(`issue #283 <https://github.com/platformio/platformio/issues/283>`_)
2.3.0 (2015-09-05)
~~~~~~~~~~~~~~~~~~
* Added
`native <http://docs.platformio.org/en/latest/platforms/native.html>`__,
`linux_arm <http://docs.platformio.org/en/latest/platforms/linux_arm.html>`__,
`linux_i686 <http://docs.platformio.org/en/latest/platforms/linux_i686.html>`__,
`linux_x86_64 <http://docs.platformio.org/en/latest/platforms/linux_x86_64.html>`__,
`windows_x86 <http://docs.platformio.org/en/latest/platforms/windows_x86.html>`__
development platforms
(`issue #263 <https://github.com/platformio/platformio/issues/263>`_)
* Added `PlatformIO Demo <http://docs.platformio.org/en/latest/demo.html>`_
page to documentation
* Simplified `installation <http://docs.platformio.org/en/latest/installation.html>`__
process of PlatformIO
(`issue #274 <https://github.com/platformio/platformio/issues/274>`_)
* Significantly improved `Project Generator <http://docs.platformio.org/en/latest/userguide/cmd_init.html#cmdoption-platformio-init--ide>`__ which allows to integrate with `the most popular
IDE <http://docs.platformio.org/en/latest/ide.html>`__
* Added short ``-h`` help option for PlatformIO and sub-commands
* Updated `mbed <http://docs.platformio.org/en/latest/frameworks/mbed.html>`__
framework
* Updated ``tool-teensy`` package for `Teensy <http://docs.platformio.org/en/latest/platforms/teensy.html>`__
platform
(`issue #268 <https://github.com/platformio/platformio/issues/268>`_)
* Added FAQ answer when `Program "platformio" not found in PATH <http://docs.platformio.org/en/latest/faq.html#faq-troubleshooting-pionotfoundinpath>`_
(`issue #272 <https://github.com/platformio/platformio/issues/272>`_)
* Generate "readme.txt" for project "lib" directory
(`issue #273 <https://github.com/platformio/platformio/issues/273>`_)
* Use toolchain's includes pattern ``include*`` for Project Generator
(`issue #277 <https://github.com/platformio/platformio/issues/277>`_)
* Added support for Adafruit Gemma board to
`atmelavr <http://docs.platformio.org/en/latest/platforms/atmelavr.html#boards>`__
platform
(`pull #256 <https://github.com/platformio/platformio/pull/256>`_)
* Fixed includes list for Windows OS when generating project for `Eclipse IDE <http://docs.platformio.org/en/latest/ide/eclipse.html>`__
(`issue #270 <https://github.com/platformio/platformio/issues/270>`_)
* Fixed ``AttributeError: 'module' object has no attribute 'packages'``
(`issue #252 <https://github.com/platformio/platformio/issues/252>`_)
2.2.2 (2015-07-30)
~~~~~~~~~~~~~~~~~~
* Integration with `Atom IDE <http://docs.platformio.org/en/latest/ide/atom.html>`__
* Support for off-line/unpublished/private libraries
(`issue #260 <https://github.com/platformio/platformio/issues/260>`_)
* Disable project auto-clean while building/uploading firmware using
`platformio run --disable-auto-clean <http://docs.platformio.org/en/latest/userguide/cmd_run.html#cmdoption--disable-auto-clean>`_ option
(`issue #255 <https://github.com/platformio/platformio/issues/255>`_)
* Show internal errors from "Miniterm" using `platformio serialports monitor <http://docs.platformio.org/en/latest/userguide/cmd_serialports.html#platformio-serialports-monitor>`__ command
(`issue #257 <https://github.com/platformio/platformio/issues/257>`_)
* Fixed `platformio serialports monitor --help <http://docs.platformio.org/en/latest/userguide/cmd_serialports.html#platformio-serialports-monitor>`__ information with HEX char for hotkeys
(`issue #253 <https://github.com/platformio/platformio/issues/253>`_)
* Handle "OSError: [Errno 13] Permission denied" for PlatformIO installer script
(`issue #254 <https://github.com/platformio/platformio/issues/254>`_)
2.2.1 (2015-07-17)
~~~~~~~~~~~~~~~~~~
* Project generator for `CLion IDE <http://docs.platformio.org/en/latest/ide/clion.html>`__
(`issue #132 <https://github.com/platformio/platformio/issues/132>`_)
* Updated ``tool-bossac`` package to 1.5 version for `atmelsam <http://docs.platformio.org/en/latest/platforms/atmelsam.html>`__ platform
(`issue #251 <https://github.com/platformio/platformio/issues/251>`_)
* Updated ``sdk-esp8266`` package for `espressif <http://docs.platformio.org/en/latest/platforms/espressif.html>`__ platform
* Fixed incorrect arguments handling for `platformio serialports monitor <http://docs.platformio.org/en/latest/userguide/cmd_serialports.html#platformio-serialports-monitor>`_ command
(`issue #248 <https://github.com/platformio/platformio/issues/248>`_)
2.2.0 (2015-07-01)
~~~~~~~~~~~~~~~~~~
* Allowed to exclude/include source files from build process using
`src_filter <http://docs.platformio.org/en/latest/projectconf.html#src-filter>`__
(`issue #240 <https://github.com/platformio/platformio/issues/240>`_)
* Launch own extra script before firmware building/uploading processes
(`issue #239 <https://github.com/platformio/platformio/issues/239>`_)
* Specify own path to the linker script (ld) using
`build_flags <http://docs.platformio.org/en/latest/projectconf.html#build-flags>`__
option
(`issue #233 <https://github.com/platformio/platformio/issues/233>`_)
* Specify library compatibility with the all platforms/frameworks
using ``*`` symbol in
`library.json <http://docs.platformio.org/en/latest/librarymanager/config.html>`__
* Added support for new embedded boards: *ST 32L0538DISCOVERY and Delta DFCM-NNN40*
to `Framework mbed <http://docs.platformio.org/en/latest/frameworks/mbed.html>`__
* Updated packages for
`Framework Arduino (AVR, SAM, Espressif and Teensy cores <http://docs.platformio.org/en/latest/frameworks/arduino.html>`__,
`Framework mbed <http://docs.platformio.org/en/latest/frameworks/mbed.html>`__,
`Espressif ESP8266 SDK <http://docs.platformio.org/en/latest/platforms/espressif.html>`__
(`issue #246 <https://github.com/platformio/platformio/issues/246>`_)
* Fixed ``stk500v2_command(): command failed``
(`issue #238 <https://github.com/platformio/platformio/issues/238>`_)
* Fixed IDE project generator when board is specified
(`issue #242 <https://github.com/platformio/platformio/issues/242>`_)
* Fixed relative path for includes when generating project for IDE
(`issue #243 <https://github.com/platformio/platformio/issues/243>`_)
* Fixed ESP8266 native SDK exception
(`issue #245 <https://github.com/platformio/platformio/issues/245>`_)
2.1.2 (2015-06-21)
~~~~~~~~~~~~~~~~~~
* Fixed broken link to SCons installer
2.1.1 (2015-06-09)
~~~~~~~~~~~~~~~~~~
* Automatically detect upload port using VID:PID board settings
(`issue #231 <https://github.com/platformio/platformio/issues/231>`_)
* Improved detection of build changes
* Avoided ``LibInstallDependencyError`` when more then 1 library is found
(`issue #229 <https://github.com/platformio/platformio/issues/229>`_)
2.1.0 (2015-06-03)
~~~~~~~~~~~~~~~~~~
* Added Silicon Labs EFM32 `siliconlabsefm32 <http://docs.platformio.org/en/latest/platforms/siliconlabsefm32.html>`_
development platform
(`issue #226 <https://github.com/platformio/platformio/issues/226>`_)
* Integrate PlatformIO with `Circle CI <https://circleci.com>`_ and
`Shippable CI <https://shippable.com>`_
* Described in documentation how to `create/register own board <http://docs.platformio.org/en/latest/platforms/creating_board.html>`_ for PlatformIO
* Disabled "nano.specs" for ARM-based platforms
(`issue #219 <https://github.com/platformio/platformio/issues/219>`_)
* Fixed "ConnectionError" when PlatformIO SF Storage is off-line
* Fixed resolving of C/C++ std libs by Eclipse IDE
(`issue #220 <https://github.com/platformio/platformio/issues/220>`_)
* Fixed firmware uploading using USB programmer (USBasp) for
`atmelavr <http://docs.platformio.org/en/latest/platforms/atmelavr.html>`_
platform
(`issue #221 <https://github.com/platformio/platformio/issues/221>`_)
2.0.2 (2015-05-27)
~~~~~~~~~~~~~~~~~~
* Fixed libraries order for "Library Dependency Finder" under Linux OS
2.0.1 (2015-05-27)
~~~~~~~~~~~~~~~~~~
* Handle new environment variable
`PLATFORMIO_BUILD_FLAGS <http://docs.platformio.org/en/latest/envvars.html#platformio-build-flags>`_
* Pass to API requests information about Continuous Integration system. This
information will be used by PlatformIO-API.
* Use ``include`` directories from toolchain when initialising project for IDE
(`issue #210 <https://github.com/platformio/platformio/issues/210>`_)
* Added support for new WildFire boards from
`Wicked Device <http://wickeddevice.com>`_ to
`atmelavr <http://docs.platformio.org/en/latest/platforms/atmelavr.html#boards>`__
platform
* Updated `Arduino Framework <http://docs.platformio.org/en/latest/frameworks/arduino.html>`__ to
1.6.4 version (`issue #212 <https://github.com/platformio/platformio/issues/212>`_)
* Handle Atmel AVR Symbols when initialising project for IDE
(`issue #216 <https://github.com/platformio/platformio/issues/216>`_)
* Fixed bug with converting ``*.ino`` to ``*.cpp``
* Fixed failing with ``platformio init --ide eclipse`` without boards
(`issue #217 <https://github.com/platformio/platformio/issues/217>`_)
2.0.0 (2015-05-22)
~~~~~~~~~~~~~~~~~~
*Made in* `Paradise <https://twitter.com/ikravets/status/592356377185619969>`_
* PlatformIO as `Continuous Integration <http://docs.platformio.org/en/latest/ci/index.html>`_
(CI) tool for embedded projects
(`issue #108 <https://github.com/platformio/platformio/issues/108>`_)
* Initialise PlatformIO project for the specified IDE
(`issue #151 <https://github.com/platformio/platformio/issues/151>`_)
@ -21,11 +235,11 @@ Release History
(`issue #192 <https://github.com/platformio/platformio/issues/192>`_)
* Control verbosity of `platformio run <http://docs.platformio.org/en/latest/userguide/cmd_run.html#cmdoption-platformio-run-v>`_ command via ``-v/--verbose`` option
* Add library dependencies for build environment using
`install_libs <http://docs.platformio.org/en/latest/projectconf.html#install-libs>`_
`lib_install <http://docs.platformio.org/en/latest/projectconf.html#lib-install>`_
option in ``platformio.ini``
(`issue #134 <https://github.com/platformio/platformio/issues/134>`_)
* Specify libraries which are compatible with build environment using
`use_libs <http://docs.platformio.org/en/latest/projectconf.html#use-libs>`_
`lib_use <http://docs.platformio.org/en/latest/projectconf.html#lib-use>`_
option in ``platformio.ini``
(`issue #148 <https://github.com/platformio/platformio/issues/148>`_)
* Add more boards to PlatformIO project with
@ -46,8 +260,11 @@ Release History
* Fixed bug with creating copies of source files
(`issue #177 <https://github.com/platformio/platformio/issues/177>`_)
PlatformIO 1.0
--------------
1.5.0 (2015-05-15)
------------------
~~~~~~~~~~~~~~~~~~
* Added support of `Framework mbed <http://platformio.org/#!/frameworks/mbed>`_
for Teensy 3.1
@ -70,7 +287,7 @@ Release History
(`issue #191 <https://github.com/platformio/platformio/issues/191>`_)
1.4.0 (2015-04-11)
------------------
~~~~~~~~~~~~~~~~~~
* Added `espressif <http://docs.platformio.org/en/latest/platforms/espressif.html>`_
development platform with ESP01 board
@ -80,7 +297,7 @@ Release History
`teensy <http://docs.platformio.org/en/latest/platforms/teensy.html>`__
platform
* Added support for new Arduino based boards by *SparkFun, BQ, LightUp,
LowPowerLab, Quirkbot, RedBearLab, TinyCircuits, WickedDevice* to
LowPowerLab, Quirkbot, RedBearLab, TinyCircuits* to
`atmelavr <http://docs.platformio.org/en/latest/platforms/atmelavr.html#boards>`__
platform
* Upgraded `Arduino Framework <http://docs.platformio.org/en/latest/frameworks/arduino.html>`__ to
@ -96,7 +313,7 @@ Release History
1.3.0 (2015-03-27)
------------------
~~~~~~~~~~~~~~~~~~
* Moved PlatformIO source code and repositories from `Ivan Kravets <https://github.com/ivankravets>`_
account to `PlatformIO Organisation <https://github.com/platformio>`_
@ -117,7 +334,7 @@ Release History
1.2.0 (2015-03-20)
------------------
~~~~~~~~~~~~~~~~~~
* Added full support of `mbed <http://docs.platformio.org/en/latest/frameworks/mbed.html>`__
framework including libraries: *RTOS, Ethernet, DSP, FAT, USB*.
@ -149,7 +366,7 @@ Release History
(`issue #100 <https://github.com/platformio/platformio/issues/100>`_)
1.1.0 (2015-03-05)
------------------
~~~~~~~~~~~~~~~~~~
* Implemented ``PLATFORMIO_*`` environment variables
(`issue #102 <https://github.com/platformio/platformio/issues/102>`_)
@ -167,7 +384,7 @@ Release History
* Fixed uploading for *Digispark* board (`issue #106 <https://github.com/platformio/platformio/issues/106>`_)
1.0.1 (2015-02-27)
------------------
~~~~~~~~~~~~~~~~~~
**PlatformIO 1.0 - recommended for production**
@ -213,7 +430,7 @@ Release History
commands which allows to return the output in `JSON <http://en.wikipedia.org/wiki/JSON>`_ format
(`issue #42 <https://github.com/platformio/platformio/issues/42>`_)
* Allowed to ignore some libs from *Library Dependency Finder* via
`ignore_libs <http://docs.platformio.org/en/latest/projectconf.html#ignore-libs>`_ option
`lib_ignore <http://docs.platformio.org/en/latest/projectconf.html#lib-ignore>`_ option
* Improved `platformio run <http://docs.platformio.org/en/latest/userguide/cmd_run.html>`__
command: asynchronous output for build process, timing and detailed
information about environment configuration
@ -234,9 +451,11 @@ Release History
error (`issue #81 <https://github.com/platformio/platformio/issues/81>`_)
* Several bug fixes, increased stability and performance improvements
PlatformIO 0.0
--------------
0.10.2 (2015-01-06)
-------------------
~~~~~~~~~~~~~~~~~~~
* Fixed an issue with ``--json-output``
(`issue #42 <https://github.com/platformio/platformio/issues/42>`_)
@ -245,7 +464,7 @@ Release History
under Windows OS (`issue #45 <https://github.com/platformio/platformio/issues/45>`_)
0.10.1 (2015-01-02)
-------------------
~~~~~~~~~~~~~~~~~~~
* Added ``--json-output`` option to
`platformio list <http://docs.platformio.org/en/latest/userguide/cmd_list.html>`__,
@ -257,7 +476,7 @@ Release History
command
0.10.0 (2015-01-01)
-------------------
~~~~~~~~~~~~~~~~~~~
**Happy New Year!**
@ -280,7 +499,7 @@ Release History
* Fixed bug with *Arduino USB* boards (`issue #40 <https://github.com/platformio/platformio/issues/40>`_)
0.9.2 (2014-12-10)
------------------
~~~~~~~~~~~~~~~~~~
* 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>`_
@ -289,7 +508,7 @@ Release History
* Fixed compilation bug on *Windows* with installed *MSVC* (`issue #18 <https://github.com/platformio/platformio/issues/18>`_)
0.9.1 (2014-12-05)
------------------
~~~~~~~~~~~~~~~~~~
* Ask user to install platform (when it hasn't been installed yet) within
`platformio run <http://docs.platformio.org/en/latest/userguide/cmd_run.html>`__
@ -298,13 +517,13 @@ Release History
* 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/tree/develop/examples/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/tree/develop/examples/ide/eclipse>`_
to latest *Luna* and *PlatformIO* releases
0.9.0 (2014-12-01)
------------------
~~~~~~~~~~~~~~~~~~
* Implemented `platformio settings <http://docs.platformio.org/en/latest/userguide/cmd_settings.html>`_ command
* Improved `platformio init <http://docs.platformio.org/en/latest/userguide/cmd_init.html>`_ command.
@ -322,7 +541,7 @@ Release History
(`issue #28 <https://github.com/platformio/platformio/issues/28>`_)
0.8.0 (2014-10-19)
------------------
~~~~~~~~~~~~~~~~~~
* Avoided trademark issues in `library.json <http://docs.platformio.org/en/latest/librarymanager/config.html>`_
with the new fields: `frameworks <http://docs.platformio.org/en/latest/librarymanager/config.html#frameworks>`_,
@ -339,7 +558,7 @@ Release History
command: ``--framework`` and ``--platform``
0.7.1 (2014-10-06)
------------------
~~~~~~~~~~~~~~~~~~
* Fixed bug with order for includes in conversation from INO/PDE to CPP
* Automatic detection of port on upload (`issue #15 <https://github.com/platformio/platformio/issues/15>`_)
@ -347,7 +566,7 @@ Release History
0.7.0 (2014-09-24)
------------------
~~~~~~~~~~~~~~~~~~
* Implemented new `[platformio] <http://docs.platformio.org/en/latest/projectconf.html#platformio>`_
section for Configuration File with `home_dir <http://docs.platformio.org/en/latest/projectconf.html#home-dir>`_
@ -355,14 +574,14 @@ Release History
* Implemented *Library Manager* (`issue #6 <https://github.com/platformio/platformio/issues/6>`_)
0.6.0 (2014-08-09)
------------------
~~~~~~~~~~~~~~~~~~
* Implemented `platformio serialports monitor <http://docs.platformio.org/en/latest/userguide/cmd_serialports.html#platformio-serialports-monitor>`_ (`issue #10 <https://github.com/platformio/platformio/issues/10>`_)
* Fixed an issue ``ImportError: No module named platformio.util`` (`issue #9 <https://github.com/platformio/platformio/issues/9>`_)
* Fixed bug with auto-conversation from Arduino \*.ino to \*.cpp
0.5.0 (2014-08-04)
------------------
~~~~~~~~~~~~~~~~~~
* Improved nested lookups for libraries
* Disabled default warning flag "-Wall"
@ -377,14 +596,14 @@ Release History
* Fixed a bug with nested libs building
0.4.0 (2014-07-31)
------------------
~~~~~~~~~~~~~~~~~~
* Implemented `platformio serialports <http://docs.platformio.org/en/latest/userguide/cmd_serialports.html>`_ command
* Allowed to put special build flags only for ``src`` files via
`srcbuild_flags <http://docs.platformio.org/en/latest/projectconf.html#srcbuild-flags>`_
`src_build_flags <http://docs.platformio.org/en/latest/projectconf.html#src_build-flags>`_
environment option
* Allowed to override some of settings via system environment variables
such as: ``PLATFORMIO_SRCBUILD_FLAGS`` and ``PLATFORMIO_ENVS_DIR``
such as: ``PLATFORMIO_SRC_BUILD_FLAGS`` and ``PLATFORMIO_ENVS_DIR``
* Added ``--upload-port`` option for `platformio run <http://docs.platformio.org/en/latest/userguide/cmd_run.html#cmdoption--upload-port>`__ command
* Implemented (especially for `SmartAnthill <http://docs.smartanthill.ikravets.com/>`_)
`platformio run -t uploadlazy <http://docs.platformio.org/en/latest/userguide/cmd_run.html>`_
@ -397,13 +616,13 @@ Release History
0.3.1 (2014-06-21)
------------------
~~~~~~~~~~~~~~~~~~
* Fixed auto-installer for Windows OS (bug with %PATH% customisations)
0.3.0 (2014-06-21)
------------------
~~~~~~~~~~~~~~~~~~
* Allowed to pass multiple "SomePlatform" to install/uninstall commands
* Added "IDE Integration" section to README with Eclipse project examples
@ -413,7 +632,7 @@ Release History
0.2.0 (2014-06-15)
------------------
~~~~~~~~~~~~~~~~~~
* Resolved `issue #1 "Build referred libraries" <https://github.com/platformio/platformio/issues/1>`_
* Renamed project's "libs" directory to "lib"
@ -422,6 +641,6 @@ Release History
0.1.0 (2014-06-13)
------------------
~~~~~~~~~~~~~~~~~~
* Birth! First alpha release

View File

@ -7,37 +7,51 @@ 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://gemnasium.com/platformio/platformio.png
:target: https://gemnasium.com/platformio/platformio
:alt: Dependency Status
.. image:: https://pypip.in/version/platformio/badge.png?style=flat
.. 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://requires.io/github/platformio/platformio/requirements.svg?branch=develop
:target: https://requires.io/github/platformio/platformio/requirements/?branch=develop
:alt: Requirements Status
.. image:: https://img.shields.io/pypi/v/platformio.svg
:target: https://pypi.python.org/pypi/platformio/
:alt: Latest Version
.. image:: https://pypip.in/download/platformio/badge.png?style=flat
:target: https://pypi.python.org/pypi/platformio/
:alt: Downloads
.. image:: https://pypip.in/license/platformio/badge.png?style=flat
.. 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/sourceforge/dm/platformio-storage.svg
:target: https://sourceforge.net/projects/platformio-storage/
:alt: Packages Downloads
.. image:: https://badges.gitter.im/Join%20Chat.svg
:alt: Join the chat at https://gitter.im/platformio/platformio
:target: https://gitter.im/platformio/platformio
`Website + Library Search <http://platformio.org>`_ |
`Documentation <http://docs.platformio.org>`_ |
`Home & Demo <http://platformio.org>`_ |
`Project Examples <https://github.com/platformio/platformio/tree/develop/examples>`_ |
`Source Code <https://github.com/platformio>`_ |
`Documentation <http://docs.platformio.org>`_ ||
`Blog <http://www.ikravets.com/category/computer-life/platformio>`_ |
`Reddit <http://www.reddit.com/r/platformio/>`_ |
`Twitter <https://twitter.com/PlatformIO_Org>`_
*Atmel AVR & SAM, Espressif, Freescale Kinetis, Nordic nRF51, NXP LPC,
ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed, libOpenCM3, etc.*
`Twitter <https://twitter.com/PlatformIO_Org>`_ |
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
`Facebook <https://www.facebook.com/platformio>`_ |
`Reddit <http://www.reddit.com/r/platformio/>`_
.. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-logo.png
:target: http://platformio.org
`PlatformIO <http://platformio.org>`_ is a cross-platform code builder
and the missing library manager.
and the missing library manager (Ready for embedded development, IDE and
Continuous integration, Arduino and MBED compatible).
*Atmel AVR & SAM, Espressif, Freescale Kinetis, 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
* `Get Started <http://platformio.org/#!/get-started>`_
* `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
@ -72,11 +86,13 @@ Embedded Development. *Easier Than Ever.*
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>`_
* Built-in `Serial Port Monitor <http://docs.platformio.org/en/latest/userguide/cmd_serialports.html#platformio-serialports-monitor>`_
* Configurable `build -flags/-options <http://docs.platformio.org/en/latest/projectconf.html#build-flags>`_
* `IDE Integration <http://docs.platformio.org/en/latest/ide.html>`_ with
*Arduino, Eclipse, Energia, Qt Creator, Sublime Text, Vim, Visual Studio*
* `Continuous Integration <http://docs.platformio.org/en/latest/ci/index.html>`_
with *AppVeyor, Circle CI, Drone, Shippable, Travis CI*
* Built-in `Serial Port Monitor <http://docs.platformio.org/en/latest/userguide/cmd_serialports.html#platformio-serialports-monitor>`_ and configurable
`build -flags/-options <http://docs.platformio.org/en/latest/projectconf.html#build-flags>`_
* Automatic **firmware uploading**
* Integration with `development environments (IDE) <http://docs.platformio.org/en/latest/ide.html>`_
* Ready for **Cloud Compiling** and `Continuous Integration <http://docs.platformio.org/en/latest/ci/index.html>`_
* 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
@ -136,6 +152,7 @@ It has support for the most popular embedded platforms:
* `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>`_

View File

@ -9,12 +9,18 @@ environment:
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
test_script:
- "%PYTHON_HOME%\\Scripts\\tox --version"
- "%PYTHON_HOME%\\Scripts\\pip --version"

20
circle.yml Normal file
View File

@ -0,0 +1,20 @@
machine:
python:
version: 2.7
environment:
TOX_ENV: docs
TOX_ENV: lint
TOX_ENV: py26
TOX_ENV: py27
checkout:
post:
- git submodule update --init
dependencies:
pre:
- pip install tox
test:
override:
- tox -e $TOX_ENV

BIN
docs/_static/ide-platformio-atom-1.gif vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

BIN
docs/_static/ide-platformio-atom-2.gif vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

BIN
docs/_static/platformio-demo-lib.gif vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 569 KiB

BIN
docs/_static/platformio-demo-wiring.gif vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -4,16 +4,31 @@ Articles about us
=================
.. note::
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>`_.
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:
2015
^^^^
* 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>`_
* Aug 01, 2015 - **Russell Davis** - `PlatformIO on the Raspberry Pi <http://www.russelldavis.org/2015/08/01/platformio-on-the-raspberry-pi/>`_
* Jul 25, 2015 - **DinoTools** - `Erste Schritte mit PlatformIO (German) <https://www.dinotools.de/2015/07/25/erste-schritte-mit-platformio/>`_
* Jul 20, 2015 - **Eli Fatsi** - `Arduino Development in Atom Editor <http://viget.com/extend/arduino-development-in-atom-editor>`_
* Jul 14, 2015 - **ElbinarIO** - `Programar para Arduino y otros microcontroladores desde la linea de comandos (Spanish) <http://elbinario.net/2015/07/14/programar-para-arduino-y-otros-microcontroladores-desde-la-linea-de-comandos/>`_
* Jul 11, 2015 - **TrojanC** - `Learning Arduino GitHub Repository <http://www.trojanc.co.za/2015/07/11/learning-arduino-github-repository/>`_
* Jun 02, 2015 - **Alejandro Guirao Rodriguez** - `Discovering PlatformIO: The RaspberryPi / Arduino combo kit is a winner option when prototyping an IoT-style project <http://lekum.org/posts/discovering-platformio.html>`_
* May 11, 2015 - **IT Hare** - `From Web Developer to Embedded One: Interview with Ivan Kravets, The Guy Behind PlatformIO. Part II <http://ithare.com/from-web-developer-to-embedded-one-interview-with-ivan-kravets-the-guy-behind-platformio-part-ii/>`_
* May 4, 2015 - **IT Hare** - `From Web Developer to Embedded One: Interview with Ivan Kravets, The Guy Behind PlatformIO. Part I <http://ithare.com/from-web-development-to-embedded-one-interview-with-ivan-kravets-the-guy-behind-platformio-part-i/>`_
* April 17, 2015 - **Michael Ball** - `PlatformIO - A Cross-Platform Code Builder and Missing Library Manager <http://arduino-pi.blogspot.com.es/2015/04/platformio-cross-platform-code-builder.html>`_
* March 23, 2015 - **Atmel** - `Cross-board and cross-vendor embedded development with PlatformIO <http://blog.atmel.com/2015/03/23/cross-board-and-cross-vendor-embedded-development-with-platformio/>`_
* March 22, 2015 - **Mark VandeWettering** - `Discovered a new tool for embedded development: PlatformIO <http://brainwagon.org/2015/03/22/discovered-a-new-tool-for-embedded-development-platformio/>`_
* October 7, 2014 - **Ivan Kravets** - `Integration of PlatformIO library manager to Arduino and Energia IDEs <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_
* June 20, 2014 - **Ivan Kravets** - `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO <http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio>`_
* June 17, 2014 - **Ivan Kravets** - `How was PlatformIO born or why I love Python World <http://www.ikravets.com/computer-life/programming/2014/06/17/how-was-platformio-born-or-why-i-love-python-world>`_
* February 25, 2015 - **Hendrik Putzek** - `Use your favourite IDE together with Arduino <http://blog.putzek.com/2015/02/your-favourite-ide-with-arduino.html>`_
2014
^^^^
* October 7, 2014 - **Ivan Kravets, Ph.D.** - `Integration of PlatformIO library manager to Arduino and Energia IDEs <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_
* June 20, 2014 - **Ivan Kravets, Ph.D.** - `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO <http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio>`_
* June 17, 2014 - **Ivan Kravets, Ph.D.** - `How was PlatformIO born or why I love Python World <http://www.ikravets.com/computer-life/programming/2014/06/17/how-was-platformio-born-or-why-i-love-python-world>`_

View File

@ -113,17 +113,12 @@ same for the all projects, don't need to modify them):
function InstallPip ($python_home) {
$pip_path = $python_home + "/Scripts/pip.exe"
$python_path = $python_home + "/python.exe"
if (-not(Test-Path $pip_path)) {
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
} else {
Write-Host "pip already installed."
}
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) {
@ -131,19 +126,11 @@ same for the all projects, don't need to modify them):
& $pip_path install -U $pkg
}
function InstallScons ($python_home) {
Write-Host "Start installing Scons"
$pip_path = $python_home + "/Scripts/pip.exe"
& $pip_path install --egg "http://sourceforge.net/projects/scons/files/latest/download"
Write-Host "Scons installed"
}
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
InstallScons $env:PYTHON_HOME
}
main

View File

@ -30,9 +30,9 @@ Put ``circle.yml`` to the root directory of the GitHub repository.
machine:
environment:
- PLATFORMIO_CI_SRC=path/to/source/file.c
- PLATFORMIO_CI_SRC=path/to/source/file.ino
- PLATFORMIO_CI_SRC=path/to/source/directory
PLATFORMIO_CI_SRC: path/to/source/file.c
PLATFORMIO_CI_SRC: path/to/source/file.ino
PLATFORMIO_CI_SRC: path/to/source/directory
dependencies:
pre:

View File

@ -44,6 +44,8 @@ Please put ``.travis.yml`` to the root directory of the GitHub repository.
- platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
Then see step 1, 2, and step 4 here: http://docs.travis-ci.com/user/getting-started/
For more details as for PlatformIO build process please look into :ref:`cmd_ci`
command.
@ -60,13 +62,22 @@ Examples
- "2.7"
env:
- PLATFORMIO_CI_SRC=examples/Bluetooth/PS3SPP/PS3SPP.ino
- PLATFORMIO_CI_SRC=examples/pl2303/pl2303_gps/pl2303_gps.ino
- PLATFORMIO_CI_SRC=examples/acm/acm_terminal
- PLATFORMIO_CI_SRC=examples/Bluetooth/WiiIRCamera PLATFORMIO_BUILD_FLAGS="-DWIICAMERA"
- PLATFORMIO_CI_SRC=examples/ftdi/USBFTDILoopback
- PLATFORMIO_CI_SRC=examples/Xbox/XBOXUSB
# - ...
install:
- python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
- wget https://github.com/xxxajk/spi4teensy3/archive/master.zip -O /tmp/spi4teensy3.zip
- unzip /tmp/spi4teensy3.zip -d /tmp
# Libraries from PlatformIO Library Registry
# http://platformio.org/#!/lib/show/416/TinyGPS
# http://platformio.org/#!/lib/show/417/SPI4Teensy3
- platformio lib install 416 417
script:
- platformio ci --lib="." --lib="/tmp/spi4teensy3-master" --board=uno --board=teensy31 --board=due
- platformio ci --board=uno --board=teensy31 --board=due --lib="."
* Configuration file: https://github.com/felis/USB_Host_Shield_2.0/blob/master/.travis.yml
* Build History: https://travis-ci.org/felis/USB_Host_Shield_2.0

50
docs/demo.rst Normal file
View File

@ -0,0 +1,50 @@
.. _demo:
Demo
====
.. contents::
Wiring Blink
------------
.. image:: _static/platformio-demo-wiring.gif
Used in demo
~~~~~~~~~~~~
1. Source code of `Wiring Blink Example <https://github.com/platformio/platformio/tree/develop/examples/wiring-blink>`_
2. :ref:`cmd_run` command
3. :ref:`platformio run -t upload <cmd_run>` command.
Platform Manager
----------------
.. image:: _static/platformio-demo-platforms.gif
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.
Library Manager
---------------
.. image:: _static/platformio-demo-lib.gif
Used in demo
~~~~~~~~~~~~
1. :ref:`userguide_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
5. :ref:`platformio lib search -k rf <cmd_lib_search>` command
6. :ref:`platformio lib search radiohead <cmd_lib_search>` command
7. :ref:`platformio lib install 124 --version "1.40" <cmd_lib_install>` command
8. :ref:`platformio lib show 124 <cmd_lib_show>` command
9. :ref:`cmd_lib_update` command.

View File

@ -18,10 +18,7 @@ General
PlatformIO uses *General* environment variables for the common
operations/commands.
.. _envvar_CI:
CI
~~
.. envvar:: CI
PlatformIO handles ``CI`` variable which is setup by
`Continuous Integration <http://en.wikipedia.org/wiki/Continuous_integration>`_
@ -29,51 +26,44 @@ PlatformIO handles ``CI`` variable which is setup by
Currently, PlatformIO uses it to disable prompts.
In other words, ``CI=true`` automatically setup
:ref:`PLATFORMIO_SETTING_ENABLE_PROMPTS=false <envvar_PLATFORMIO_SETTING_ENABLE_PROMPTS>`.
:envvar:`PLATFORMIO_SETTING_ENABLE_PROMPTS=false <PLATFORMIO_SETTING_ENABLE_PROMPTS>`.
.. _envvar_PLATFORMIO_HOME_DIR:
.. envvar:: PLATFORMIO_HOME_DIR
PLATFORMIO_HOME_DIR
~~~~~~~~~~~~~~~~~~~
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_home_dir`.
Allows to override :ref:`projectconf` option
:ref:`projectconf_pio_home_dir`.
.. envvar:: PLATFORMIO_LIB_DIR
.. _envvar_PLATFORMIO_LIB_DIR:
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_lib_dir`.
PLATFORMIO_LIB_DIR
~~~~~~~~~~~~~~~~~~
.. envvar:: PLATFORMIO_SRC_DIR
Allows to override :ref:`projectconf` option
:ref:`projectconf_pio_lib_dir`.
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_src_dir`.
.. _envvar_PLATFORMIO_SRC_DIR:
.. envvar:: PLATFORMIO_ENVS_DIR
PLATFORMIO_SRC_DIR
~~~~~~~~~~~~~~~~~~
Allows to override :ref:`projectconf` option
:ref:`projectconf_pio_src_dir`.
.. _envvar_PLATFORMIO_ENVS_DIR:
PLATFORMIO_ENVS_DIR
~~~~~~~~~~~~~~~~~~~
Allows to override :ref:`projectconf` option
:ref:`projectconf_pio_envs_dir`.
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_envs_dir`.
Builder
-------
.. _envvar_PLATFORMIO_SRCBUILD_FLAGS:
.. envvar:: PLATFORMIO_BUILD_FLAGS
PLATFORMIO_SRCBUILD_FLAGS
~~~~~~~~~~~~~~~~~~~~~~~~~
Allows to set :ref:`projectconf` option :ref:`projectconf_build_flags`.
.. envvar:: PLATFORMIO_SRC_BUILD_FLAGS
Allows to set :ref:`projectconf` option :ref:`projectconf_src_build_flags`.
.. envvar:: PLATFORMIO_SRC_FILTER
Allows to set :ref:`projectconf` option :ref:`projectconf_src_filter`.
.. envvar:: PLATFORMIO_EXTRA_SCRIPT
Allows to set :ref:`projectconf` option :ref:`projectconf_extra_script`.
Allows to override :ref:`projectconf` option
:ref:`projectconf_srcbuild_flags`.
Settings
--------
@ -81,40 +71,30 @@ Settings
Allows to override PlatformIO settings. You can manage them via
:ref:`cmd_settings` command.
PLATFORMIO_SETTING_AUTO_UPDATE_LIBRARIES
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. envvar:: PLATFORMIO_SETTING_AUTO_UPDATE_LIBRARIES
Allows to override setting :ref:`setting_auto_update_libraries`.
PLATFORMIO_SETTING_AUTO_UPDATE_PLATFORMS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. envvar:: PLATFORMIO_SETTING_AUTO_UPDATE_PLATFORMS
Allows to override setting :ref:`setting_auto_update_platforms`.
PLATFORMIO_SETTING_CHECK_LIBRARIES_INTERVAL
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. envvar:: PLATFORMIO_SETTING_CHECK_LIBRARIES_INTERVAL
Allows to override setting :ref:`setting_check_libraries_interval`.
PLATFORMIO_SETTING_CHECK_PLATFORMIO_INTERVAL
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. envvar:: PLATFORMIO_SETTING_CHECK_PLATFORMIO_INTERVAL
Allows to override setting :ref:`setting_check_platformio_interval`.
PLATFORMIO_SETTING_CHECK_PLATFORMS_INTERVAL
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. envvar:: PLATFORMIO_SETTING_CHECK_PLATFORMS_INTERVAL
Allows to override setting :ref:`setting_check_platforms_interval`.
.. _envvar_PLATFORMIO_SETTING_ENABLE_PROMPTS:
PLATFORMIO_SETTING_ENABLE_PROMPTS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. envvar:: PLATFORMIO_SETTING_ENABLE_PROMPTS
Allows to override setting :ref:`setting_enable_prompts`.
PLATFORMIO_SETTING_ENABLE_TELEMETRY
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. envvar:: PLATFORMIO_SETTING_ENABLE_TELEMETRY
Allows to override setting :ref:`setting_enable_telemetry`.

View File

@ -24,13 +24,14 @@ between team members, regardless of operating system they prefer to work with.
Beyond that, PlatformIO can be run not only on commonly used desktops/laptops
but also on the servers without X Window System. While PlatformIO itself is a
console application, it can be used in combination with one's favorite
:ref:`ide` or text editor such as :ref:`ide_arduino`, :ref:`ide_eclipse`,
:ref:`ide_visualstudio`, :ref:`ide_vim`, :ref:`ide_sublimetext`, etc.
:ref:`ide` or text editor such as :ref:`ide_arduino`, :ref:`ide_atom`,
:ref:`ide_clion`, :ref:`ide_eclipse`, :ref:`ide_qtcreator`,
:ref:`ide_sublimetext`, :ref:`ide_vim`, :ref:`ide_visualstudio`, etc.
Alright, so PlatformIO can run on different operating systems. But more
importantly, from development perspective at least, is a list of supported
boards and MCUs. To keep things short: PlatformIO supports over 100
:ref:`Embedded Boards <platforms>` and all major
boards and MCUs. To keep things short: PlatformIO supports over 150+
`Embedded Boards <http://platformio.org/#!/boards>`_ and all major
:ref:`Development Platforms <platforms>`.
PlatformIO allows users to:
@ -55,11 +56,71 @@ the project developed using PlatformIO is as follows:
* Users develop code and PlatformIO makes sure that it is compiled, prepared
and uploaded to all the boards of interest.
Command completion in Terminal
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Bash completion
'''''''''''''''
Bash completion support will complete subcommands and parameters. To enable
Bash completion for `platformio` subcommands you need to put into your `.bashrc`:
.. code-block:: bash
eval "$(_PLATFORMIO_COMPLETE=source platformio)"
ZSH completion
''''''''''''''
To enable ``zsh`` completion please run these commands:
.. code-block:: bash
autoload bashcompinit && bashcompinit
eval "$(_PLATFORMIO_COMPLETE=source platformio)"
.. note::
For permanent command completion you need to place commands above to
``~/.bashrc`` or ``~/.zshrc`` file.
.. _faq_troubleshooting:
Troubleshooting
---------------
Installation
~~~~~~~~~~~~
PlatformIO and ``scons`` aren't installed properly
''''''''''''''''''''''''''''''''''''''''''''''''''
Try these solutions:
1. Upgrade SCons via `pip <https://pip.pypa.io>`_
.. code-block:: bash
[sudo] pip uninstall scons
[sudo] pip install scons
# if you have "error: option --single-version-externally-managed not recognized", then
[sudo] pip install --egg scons
2. Install PlatformIO using :ref:`installation_installer_script`.
.. _faq_troubleshooting_sconssingverextmanaged:
PIP & SCons Error: option --single-version-externally-managed not recognized
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Answered in `issue #279 <https://github.com/platformio/platformio/issues/279>`_.
[Errno 1] Operation not permitted
'''''''''''''''''''''''''''''''''
Answered in `issue #295 <https://github.com/platformio/platformio/issues/295#issuecomment-143772005>`_.
.. _faq_troubleshooting_pioblocksprompt:
PlatformIO blocks command execution using user prompt
@ -70,14 +131,38 @@ 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 :ref:`PLATFORMIO_SETTING_ENABLE_PROMPTS=No <envvar_PLATFORMIO_SETTING_ENABLE_PROMPTS>`
- 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
:ref:`CI=true <envvar_CI>`.
:envvar:`CI=true <CI>`.
.. _faq_troubleshooting_pionotfoundinpath:
Windows: ``UnicodeDecodeError: 'ascii' codec can't decode byte``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Program ``platformio`` not found in PATH
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Where is ``platformio`` binary installed? Run this command in Terminal
.. code-block:: bash
# for Unix
which platformio
echo $PATH
# for Windows OS
where platformio
echo %PATH%
For example, ``which platformio`` is equal to ``/usr/local/bin/platformio``,
then `PATH (wiki) <https://en.wikipedia.org/wiki/PATH_(variable)>`_
should contain ``/usr/local/bin`` directory.
**Unix Users**: You can make "symlinks" from ``platformio`` and ``scons``
programs to the ``bin`` directory which is included in ``$PATH``. For example,
see `issue #272 <https://github.com/platformio/platformio/issues/272#issuecomment-133626112>`_.
Windows UnicodeDecodeError: 'ascii' codec can't decode byte
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Answered in `issue #143 <https://github.com/platformio/platformio/issues/143#issuecomment-88060906>`_.
@ -94,9 +179,25 @@ Please upgrade *SetupTools* package:
.. code-block:: bash
$ [sudo] pip uninstall setuptools
$ [sudo] pip install setuptools
[sudo] pip uninstall setuptools
[sudo] pip install setuptools
# Then re-install PlatformIO
$ [sudo] pip uninstall platformio
$ [sudo] pip install platformio
[sudo] pip uninstall platformio
[sudo] pip install platformio
Windows AttributeError: 'module' object has no attribute 'packages'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Answered in `issue #252 <https://github.com/platformio/platformio/issues/252#issuecomment-127072039>`_.
ARM toolchain: cc1plus: error while loading shared libraries
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
See related answers for
`error while loading shared libraries <https://github.com/platformio/platformio/issues?utf8=✓&q=error+while+loading+shared+libraries>`_.
Archlinux: libncurses.so.5: cannot open shared object file
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Answered in `issue #291 <https://github.com/platformio/platformio/issues/291>`_.

View File

@ -59,6 +59,13 @@ Adafruit
- 32 Kb
- 2.5 Kb
* - ``gemma``
- `Adafruit Gemma <http://www.adafruit.com/products/1222>`_
- ATTINY85
- 8 MHz
- 8 Kb
- 0.5 Kb
* - ``protrinket3``
- `Adafruit Pro Trinket 3V/12MHz (USB) <http://www.adafruit.com/products/2010>`_
- ATMEGA328P
@ -469,7 +476,7 @@ Espressif
* - ``esp01``
- `Espressif ESP8266 board <https://nurdspace.nl/ESP8266>`_
- ESP8266
- 80 MHz
- 40 MHz
- 512 Kb
- 32 Kb
@ -623,6 +630,26 @@ PanStamp
- 32 Kb
- 4 Kb
Punch Through
~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``lightblue-bean``
- `LightBlue Bean <https://punchthrough.com/bean>`_
- ATMEGA328P
- 8 MHz
- 32 Kb
- 2 Kb
Quirkbot
~~~~~~~~
@ -923,8 +950,8 @@ TinyCircuits
- 32 Kb
- 2 Kb
WickedDevice
~~~~~~~~~~~~
Wicked Device
~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
@ -937,15 +964,35 @@ WickedDevice
- RAM
* - ``wildfirev2``
- `WickedDevice WildFire v2 [stk500] <http://shop.wickeddevice.com/resources/wildfire/#arduinoidesetup>`_
- `Wicked Device WildFire V2 <http://shop.wickeddevice.com/resources/wildfire/>`_
- ATMEGA1284P
- 16 MHz
- 128 Kb
- 16 Kb
* - ``wildfirev3``
- `WickedDevice WildFire v3 [optiboot] <http://shop.wickeddevice.com/resources/wildfire/>`_
- `Wicked Device WildFire V3 <http://shop.wickeddevice.com/resources/wildfire/>`_
- ATMEGA1284P
- 16 MHz
- 128 Kb
- 16 Kb
ubIQio
~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``ardhat``
- `ubIQio Ardhat <http://ardhat.com>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb

View File

@ -25,9 +25,15 @@ Platforms
* - :ref:`platform_nxplpc`
- The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
* - :ref:`platform_siliconlabsefm32`
- Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.
* - :ref:`platform_ststm32`
- 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.
Boards
------
@ -56,6 +62,26 @@ CQ Publishing
- 64 Kb
- 10 Kb
Delta
~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``dfcm_nnn40``
- `Delta DFCM-NNN40 <https://developer.mbed.org/platforms/Delta-DFCM-NNN40/>`_
- NRF51822
- 32 MHz
- 256 Kb
- 32 Kb
Embedded Artists
~~~~~~~~~~~~~~~~
@ -342,11 +368,11 @@ ST
- 48 Kb
* - ``disco_f334c8``
- `ST 32F3348DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF260318>`_
- `ST 32F3348DISCOVERY <http://www.st.com/web/en/catalog/tools/PF260318>`_
- STM32F334C8T6
- 72 MHz
- 64 Kb
- 16 Kb
- 12 Kb
* - ``disco_f401vc``
- `ST 32F401CDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF259098>`_
@ -369,6 +395,13 @@ ST
- 2048 Kb
- 256 Kb
* - ``disco_l053c8``
- `ST 32L0538DISCOVERY <http://www.st.com/web/en/catalog/tools/PF260319>`_
- STM32L053C8T6
- 32 MHz
- 64 Kb
- 8 Kb
* - ``nucleo_f030r8``
- `ST Nucleo F030R8 <https://developer.mbed.org/platforms/ST-Nucleo-F030R8/>`_
- STM32F030R8T6
@ -439,6 +472,13 @@ ST
- 512 Kb
- 128 Kb
* - ``nucleo_f446re``
- `ST Nucleo F446RE <https://developer.mbed.org/platforms/ST-Nucleo-F446RE/>`_
- STM32F446RET6
- 180 MHz
- 512 Kb
- 128 Kb
* - ``nucleo_l053r8``
- `ST Nucleo L053R8 <https://developer.mbed.org/platforms/ST-Nucleo-L053R8/>`_
- STM32L053R8T6
@ -480,6 +520,54 @@ SeeedStudio
- 512 Kb
- 32 Kb
Silicon Labs
~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``efm32gg_stk3700``
- `Silicon Labs EFM32GG-STK3700 (Giant Gecko) <https://developer.mbed.org/platforms/EFM32-Giant-Gecko/>`_
- EFM32GG990F1024
- 48 MHz
- 1024 Kb
- 128 Kb
* - ``efm32hg_stk3400``
- `Silicon Labs SLSTK3400A USB-enabled (Happy Gecko) <https://developer.mbed.org/platforms/EFM32-Happy-Gecko/>`_
- EFM32HG322F64
- 24 MHz
- 64 Kb
- 8 Kb
* - ``efm32lg_stk3600``
- `Silicon Labs EFM32LG-STK3600 (Leopard Gecko) <https://developer.mbed.org/platforms/EFM32-Leopard-Gecko/>`_
- EFM32LG990F256
- 48 MHz
- 256 Kb
- 32 Kb
* - ``efm32wg_stk3800``
- `Silicon Labs EFM32WG-STK3800 (Wonder Gecko) <https://developer.mbed.org/platforms/EFM32-Wonder-Gecko/>`_
- EFM32WG990F256
- 48 MHz
- 256 Kb
- 32 Kb
* - ``efm32zg_stk3200``
- `Silicon Labs EFM32ZG-STK3200 (Zero Gecko) <https://developer.mbed.org/platforms/EFM32-Zero-Gecko/>`_
- EFM2ZG222F32
- 24 MHz
- 32 Kb
- 4 Kb
Solder Splash Labs
~~~~~~~~~~~~~~~~~~

View File

@ -7,6 +7,8 @@ IDE Integration
:maxdepth: 2
ide/arduino
ide/atom
ide/clion
ide/eclipse
ide/energia
ide/qtcreator

View File

@ -23,7 +23,6 @@ Integration
More detailed information is located in PlatformIO blog:
`Integration of PlatformIO library manager to Arduino IDE <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_.
Screenshot
----------

39
docs/ide/atom.rst Normal file
View File

@ -0,0 +1,39 @@
.. _ide_atom:
Atom
====
`Atom <https://atom.io>`_ is a text editor that's modern, approachable,
yet hackable to the core—a tool you can customize to do anything but also use
productively without ever touching a config file.
This software can be used with:
* all available :ref:`platforms`
* all available :ref:`frameworks`
Refer to the `Atom Documentation <https://atom.io/docs>`_
page for more detailed information.
.. contents::
Integration
-----------
Using `Atom Packages <https://atom.io/docs/v1.0.2/using-atom-atom-packages>`_
please install `platomformio <https://atom.io/packages/platomformio>`_ package.
Screenshot
----------
Building
^^^^^^^^
.. image:: ../_static/ide-platformio-atom-1.gif
:target: https://atom.io/packages/platomformio
Uploading
^^^^^^^^^
.. image:: ../_static/ide-platformio-atom-2.gif
:target: https://atom.io/packages/platomformio

77
docs/ide/clion.rst Normal file
View File

@ -0,0 +1,77 @@
.. _ide_clion:
CLion
=====
The `CLion <https://www.jetbrains.com/clion/>`_ is a cross-platform C/C++ IDE
for Linux, OS X, and Windows integrated with the CMake build system. The
initial version will support the GCC and Clang compilers and GDB debugger.
Clion includes such features as a smart editor, code quality assurance,
automated refactorings, project manager, integrated version control systems.
This software can be used with:
* all available :ref:`platforms`
* all available :ref:`frameworks`
Refer to the `CDT Documentation <https://www.jetbrains.com/clion/documentation/>`_
page for more detailed information.
.. contents::
Integration
-----------
Project Generator
^^^^^^^^^^^^^^^^^
Since PlatformIO 2.0 you can generate CLion compatible project using
:option:`platformio init --ide` command. Please choose board type using
:ref:`cmd_boards` command and run:
.. code-block:: shell
platformio init --ide clion --board %TYPE%
Then:
1. Import this project via ``Menu: File > Import Project``
and specify root directory where is located :ref:`projectconf`
2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``)
3. Build project: ``Menu: Run > Build``.
There are 3 predefined targets for building:
* ``PLATFORMIO_BUILD`` - build project without auto-uploading
* ``PLATFORMIO_UPLOAD`` - build and upload (if no errors)
* ``PLATFORMIO_CLEAN`` - clean compiled objects and etc.
.. warning::
PlatformIO generates empty project by default and **code auto-completion
will not work!** To enable auto-completion please choose one of:
* 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).
``*.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>`_.
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>`_.
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>`_.

View File

@ -30,25 +30,38 @@ Project Generator
^^^^^^^^^^^^^^^^^
Since PlatformIO 2.0 you can generate Eclipse compatible project using
:option:`platformio init --ide` command:
:option:`platformio init --ide` command. Please choose board type using
:ref:`cmd_boards` command and run:
.. code-block:: shell
platformio init --ide eclipse
platformio init --ide eclipse --board %TYPE%
Then:
1. Import this project via
``Menu: File > Import... > General > Existing Projects into Workspace > Next``
and specify root directory where is located :ref:`projectconf`
2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``)
3. Build project: ``Menu: Project > Build Project``.
Then import this project via ``File > Import... > General > Existing Projects
into Workspace > Next`` and specify root directory where is located
:ref:`projectconf`.
Manual Integration
^^^^^^^^^^^^^^^^^^
More detailed information is located in PlatformIO blog: `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>`_.
`More examples (TI MSP430, TI TIVA, etc.) <https://github.com/platformio/platformio/tree/develop/examples/ide-eclipse>`_
* `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO <http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio>`_
* `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation <http://thomasweldon.com/tpw/courses/embeddsp/p00pcFrdmK64_eclipsePlatformioSetup.html>`_
Screenshot
----------
.. image:: ../_static/ide-platformio-eclipse.png
:target: http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using- eclipse-ideplatformio
:target: http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio
Examples
--------
"Blink" Project
^^^^^^^^^^^^^^^
Source code of `Eclipse "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/eclipse>`_.

View File

@ -18,18 +18,61 @@ page for more detailed information.
Integration
-----------
.. note::
Please verify that folder where is located ``platformio`` program is added
to `PATH (wiki) <https://en.wikipedia.org/wiki/PATH_(variable)>`_ environment
variable. See FAQ: :ref:`faq_troubleshooting_pionotfoundinpath`.
Project Generator
^^^^^^^^^^^^^^^^^
Since PlatformIO 2.0 you can generate Eclipse compatible project using
:option:`platformio init --ide` command:
Since PlatformIO 2.0 you can generate Qt Creator compatible project using
:option:`platformio init --ide` command. Please choose board type using
:ref:`cmd_boards` command and run:
.. code-block:: shell
platformio init --ide qtcreator
platformio init --ide qtcreator --board %TYPE%
Then import this project via ``File > New File or Project > Import Project``
and specify root directory where is located :ref:`projectconf`.
Then:
1. Import project via ``File > Open File or Project`` and select
``platformio.pro`` from the folder where is located :ref:`projectconf`
2. Select default desktop kit and click on ``Configure Project`` (``Projects``
mode, left panel)
3. Set ``General > Build directory`` to the project directory where
is located :ref:`projectconf`
4. Remove all items from ``Build Steps``, click on
``Build Steps > Add Build Step > Custom Process Step`` and set:
* **Command**: ``platformio``
* **Arguments**: ``-f -c qtcreator run``
* **Working directory**: ``%{buildDir}``
5. Remove all items from ``Clean Steps``, click on
``Clean Steps > Add Clean Step > Custom Process Step`` and set:
* **Command**: ``platformio``
* **Arguments**: ``-f -c qtcreator run --target clean``
* **Working directory**: ``%{buildDir}``
6. Update ``PATH`` in ``Build Environment > PATH > EDIT`` with the result of
this command (paste in Terminal):
.. code-block:: shell
# Linux, Mac
echo $PATH
# Windows
echo %PATH%
7. Switch to ``Edit`` mode (left panel) and open source file from ``src``
directory (``*.c, *.cpp, *.ino, etc.``)
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
Manual Integration
^^^^^^^^^^^^^^^^^^
@ -40,14 +83,16 @@ 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
On the next steps select any available kit and click Finish button.
.. image:: ../_static/ide-platformio-qtcreator-2.png
Secondly, we need to configure project with PlatformIO source code builder (click on Projects label on left menu or ``Ctrl+5`` shortcut):
Secondly, we need to delete default build and clean steps and configure project with PlatformIO source code builder (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
Thirdly, change project file by adding path to directories with header files. Please edit project file to match the following contents:
@ -57,15 +102,14 @@ Thirdly, change project file by adding path to directories with header files. Pl
HOMEDIR += $$(USERPROFILE)
}
else {
HOMEDIR += $$(PWD)
HOMEDIR += $$(HOME)
}
INCLUDEPATH += "$$HOMEDIR/.platformio/packages/framework-arduinoavr/cores/arduino"
INCLUDEPATH += "$$HOMEDIR/.platformio/packages/toolchain-atmelavr/avr/include"
win32:INCLUDEPATH ~= s,/,\\,g
INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/framework-arduinoavr/cores/arduino"
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
First program in Qt Creator
~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -76,6 +120,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
Copy the source code which is described below to file ``main.c``.
@ -100,6 +145,7 @@ 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
Edit the content to match the code described below.
@ -120,10 +166,21 @@ Edit the content to match the code described below.
framework = arduino
board = uno
Conclusion
~~~~~~~~~~
Taking everything into account, we can build project with shortcut ``Ctrl+Shift+B`` or using ``Menu: Build > Build All``.
Screenshot
----------
Taking everything into account, we can build project with shortcut ``Ctrl+Shift+B`` or using ``Menu: Build > Build All``:
.. 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>`_.

View File

@ -21,19 +21,31 @@ Integration
Project Generator
^^^^^^^^^^^^^^^^^
Since PlatformIO 2.0 you can generate Eclipse compatible project using
:option:`platformio init --ide` command:
Since PlatformIO 2.0 you can generate Sublime Text compatible project using
:option:`platformio init --ide` command. Please choose board type using
:ref:`cmd_boards` command and run:
.. code-block:: shell
platformio init --ide sublimetext
platformio init --ide sublimetext --board %TYPE%
Then:
1. Import project via ``Menu: Project > Open Project...`` and select
``platformio.sublime-project`` from the folder where is located :ref:`projectconf`
2. Select PlatformIO as build system: ``Menu: Tools > Build System > PlatformIO``
3. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``)
4. Build project: ``Menu: Tools > Build``.
Then import this project via ``Project > Open Project...`` and specify root
directory where is located :ref:`projectconf`.
Manual Integration
^^^^^^^^^^^^^^^^^^
.. note::
Please verify that folder where is located ``platformio`` program is added
to `PATH (wiki) <https://en.wikipedia.org/wiki/PATH_(variable)>`_ environment
variable. See FAQ: :ref:`faq_troubleshooting_pionotfoundinpath`.
Initial configuration
~~~~~~~~~~~~~~~~~~~~~
@ -44,17 +56,17 @@ described below:
.. code-block:: bash
{
"cmd": ["platformio", "run"],
"cmd": ["platformio", "-f", "-c", "sublimetext", "run"],
"working_dir": "${project_path:${folder}}",
"variants":
[
{
"name": "Clean",
"cmd": ["platformio", "run", "-t", "clean"]
"cmd": ["platformio", "-f", "-c", "sublimetext", "run", "--target", "clean"]
},
{
"name": "Upload",
"cmd": ["platformio", "run", "-t", "upload"]
"cmd": ["platformio", "-f", "-c", "sublimetext", "run", "--target", "upload"]
}
]
}
@ -138,8 +150,19 @@ Copy the source code which is described below to it.
board = uno
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>`_.

View File

@ -15,6 +15,11 @@ This software can be used with:
Integration
-----------
.. note::
Please verify that folder where is located ``platformio`` program is added
to `PATH (wiki) <https://en.wikipedia.org/wiki/PATH_(variable)>`_ environment
variable. See FAQ: :ref:`faq_troubleshooting_pionotfoundinpath`.
Recommended bundles:
* Syntax highlight - `Arduino-syntax-file <https://github.com/vim-scripts/Arduino-syntax-file>`_
@ -30,10 +35,10 @@ Put to the project directory ``Makefile`` wrapper with contents:
#PATH := /usr/local/bin:$(PATH)
all:
platformio run -t upload
platformio -f -c vim run --target upload
clean:
platformio run -t clean
platformio -f -c vim run --target clean
Now, in VIM ``cd /path/to/this/project`` and press ``Ctrl+B`` or ``Cmd+B``

View File

@ -18,18 +18,28 @@ page for more detailed information.
Integration
-----------
.. note::
Please verify that folder where is located ``platformio`` program is added
to `PATH (wiki) <https://en.wikipedia.org/wiki/PATH_(variable)>`_ environment
variable. See FAQ: :ref:`faq_troubleshooting_pionotfoundinpath`.
Project Generator
^^^^^^^^^^^^^^^^^
Since PlatformIO 2.0 you can generate Eclipse compatible project using
:option:`platformio init --ide` command:
Since PlatformIO 2.0 you can generate Visual Studio compatible project using
:option:`platformio init --ide` command. Please choose board type using
:ref:`cmd_boards` command and run:
.. code-block:: shell
platformio init --ide visualstudio
platformio init --ide visualstudio --board %TYPE%
Then import this project via ``File > Import ...`` and specify root directory
where is located :ref:`projectconf`.
Then:
1. Import this project via ``Menu: File > Open > Project/Solution``
and specify root directory where is located :ref:`projectconf`
2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``)
3. Build project: ``Menu: Build > Build Solution``.
Manual Integration
^^^^^^^^^^^^^^^^^^
@ -117,8 +127,20 @@ Copy the source code which is described below to it.
Conclusion
~~~~~~~~~~
Taking everything into account, we can build project with shortcut ``Ctrl+Shift+B`` or using ``Menu: Build > Build Solution``.
Screenshot
----------
Taking everything into account, we can build project with shortcut ``Ctrl+Shift+B`` or using ``Menu: Build > Build Solution``:
.. 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>`_.

View File

@ -1,8 +1,12 @@
PlatformIO: A cross-platform code builder and the missing library manager
=========================================================================
PlatformIO is a cross-platform code builder and the missing library manager
===========================================================================
*Atmel AVR & SAM, Espressif, Freescale Kinetis, Nordic nRF51, NXP LPC, ST STM32,
TI MSP430 & Tiva, Teensy, Arduino, mbed, libOpenCM3, etc.*
**Ready for embedded development, IDE and Continuous integration, Arduino and
MBED compatible**
*Atmel AVR & SAM, Espressif, Freescale Kinetis, Nordic nRF51, NXP LPC,
Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed,
libOpenCM3, etc.*
.. image:: _static/platformio-logo.png
:target: http://platformio.org
@ -14,8 +18,10 @@ TI MSP430 & Tiva, Teensy, Arduino, mbed, libOpenCM3, etc.*
* `Source Code <https://github.com/platformio/platformio>`_ |
`Issues <https://github.com/platformio/platformio/issues>`_
* `Blog <http://www.ikravets.com/category/computer-life/platformio>`_ |
`Reddit <http://www.reddit.com/r/platformio/>`_ |
`Twitter <https://twitter.com/PlatformIO_Org>`_
`Twitter <https://twitter.com/PlatformIO_Org>`_ |
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
`Facebook <https://www.facebook.com/platformio>`_ |
`Reddit <http://www.reddit.com/r/platformio/>`_
You have **no need** to install any *IDE* or compile any tool chains. *PlatformIO*
has pre-built different development platforms and pre-configured settings for
@ -26,11 +32,13 @@ Embedded Development. *Easier Than Ever.*
-----------------------------------------
* Colourful command-line output
* Built-in :ref:`Serial Port Monitor <cmd_serialports_monitor>`
* Configurable build :ref:`-flags/-options <projectconf_build_flags>`
* Integration with :ref:`development environments (IDE) <ide>`
* Ready for Cloud Compiling and :ref:`ci`
* Pre-built tool chains, :ref:`frameworks` for the popular Hardware Platforms
* :ref:`IDE Integration <ide>` with *Arduino, Eclipse, Energia, Qt Creator,
Sublime Text, Vim, Visual Studio*
* :ref:`ci` with *AppVeyor, Circle CI, Drone, Shippable, Travis CI*
* Built-in :ref:`Serial Port Monitor <cmd_serialports_monitor>` and
configurable build :ref:`-flags/-options <projectconf_build_flags>`
* Pre-built tool chains, :ref:`frameworks` for the
:ref:`Development Platforms <platforms>`
Smart Code Builder. *Fast and Reliable.*
----------------------------------------
@ -54,18 +62,40 @@ Contents
--------
.. toctree::
:caption: Getting Started
:maxdepth: 2
quickstart
demo
installation
quickstart
userguide/index
.. toctree::
:caption: Configuration
:maxdepth: 2
projectconf
envvars
.. toctree::
:caption: Instruments
:maxdepth: 2
Platforms & Boards <platforms/index>
frameworks/index
.. toctree::
:caption: Integration
:maxdepth: 2
librarymanager/index
userguide/index
ci/index
ide
.. toctree::
:caption: Miscellaneous
:maxdepth: 2
articles
FAQ <faq>
history

View File

@ -18,53 +18,81 @@ System requirements
* Mac OS X
* Linux, +ARM
* Windows
* `Python 2.6 or Python 2.7 <https://www.python.org/downloads/>`_
* Python 2.6.x or Python 2.7.x(recommended)
All commands below should be executed in
`Command-line <http://en.wikipedia.org/wiki/Command-line_interface>`_
application:
application (Terminal):
* *Mac OS X / Linux* this is *Terminal* application.
* *Windows* this is
`Command Prompt <http://en.wikipedia.org/wiki/Command_Prompt>`_ (``cmd.exe``)
application.
* Mac OS X / Linux *Terminal* application
* Windows ``cmd.exe`` application.
.. 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.
Troubleshooting
---------------
For further details, frequently questions, please refer to :ref:`faq`.
Installation Methods
Installation options
--------------------
Please *choose one of* the following installation methods:
.. warning::
**Windows OS**: Please `Download the latest Python 2.7.x
<https://www.python.org/downloads/>`_ and install it.
**DON'T FORGET** to select ``Add python.exe to Path`` feature on the
"Customize" stage.
Please *choose one of* the following installation options:
Python Package Manager
~~~~~~~~~~~~~~~~~~~~~~
The latest stable version of PlatformIO may be done via
`pip <https://pip.pypa.io>`_ as follows:
.. code-block:: bash
# update dependent packages to the latest versions
pip install -U pip setuptools
# install/upgrade the latest version of PlatformIO
pip install -U platformio
.. warning::
Known Issue: :ref:`faq_troubleshooting_sconssingverextmanaged`
Note that you may run into permissions issues running these commands. You have
a few options here:
* Run with ``sudo`` to install PlatformIO and dependencies globally
* Specify the `pip install --user <https://pip.pypa.io/en/stable/user_guide.html#user-installs>`_
option to install local to your user
* Run the command in a `virtualenv <https://virtualenv.pypa.io>`_ local to a
specific project working set.
.. _installation_installer_script:
Installer Script
~~~~~~~~~~~~~~~~
Super-Quick (Mac / Linux)
~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''
To install or upgrade *PlatformIO* paste that at a *Terminal* prompt
(**you might need** to run ``sudo`` first):
(**MAY require** administrator access ``sudo``):
.. code-block:: bash
python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
Installer Script (Mac / Linux / Windows)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Local Download (Mac / Linux / Windows)
''''''''''''''''''''''''''''''''''''''
To install or upgrade *PlatformIO*, download
To install or upgrade *PlatformIO*, download (save as...)
`get-platformio.py <https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py>`_
script. Then run the following (you might need to run ``sudo`` first):
script. Then run the following (**MAY require** administrator access ``sudo``):
.. code-block:: bash
# change directory to folder where is located downloaded "get-platformio.py"
cd /path/to/dir/where/is/located/get-platformio.py/script
# run it
python get-platformio.py
@ -72,6 +100,10 @@ On *Windows OS* it may look like:
.. code-block:: bash
# change directory to folder where is located downloaded "get-platformio.py"
cd C:\path\to\dir\where\is\located\get-platformio.py\script
# run it
C:\Python27\python.exe get-platformio.py
Full Guide
@ -81,59 +113,57 @@ Full Guide
.. code-block:: bash
$ python --version
python --version
*Windows OS* Users only:
*Windows Users* only:
* `Download Python 2.7 <https://www.python.org/downloads/>`_ and install it.
* Add to PATH system variable ``;C:\Python27;C:\Python27\Scripts;`` and
reopen *Command Prompt* (``cmd.exe``) application. Please read this
article `How to set the path and environment variables in Windows
<http://www.computerhope.com/issues/ch000549.htm>`_.
* Add to PATH system variable ``;C:\Python27;C:\Python27\Scripts;`` and reopen *Command Prompt* (``cmd.exe``) application. Please read this article `How to set the path and environment variables in Windows <http://www.computerhope.com/issues/ch000549.htm>`_.
2. Check a ``pip`` tool for installing and managing *Python* packages:
2. Install a ``platformio`` and related packages:
.. code-block:: bash
$ pip search platformio
You should see short information about ``platformio`` package.
pip install -U pip setuptools
pip install -U platformio
If your computer does not recognize ``pip`` command, try to install it first
using `these instructions <https://pip.pypa.io/en/latest/installing.html>`_.
3. Install a ``platformio`` and related packages:
For upgrading ``platformio`` to the latest version:
.. code-block:: bash
$ pip install platformio && pip install --egg scons
For upgrading the ``platformio`` to new version please use this command:
.. code-block:: bash
$ pip install -U platformio
pip install -U platformio
Development Version
~~~~~~~~~~~~~~~~~~~
.. warning::
We don't recommend to use ``develop`` version in production.
1. If you had have already installed PlatformIO, please uninstall it:
Install the latest PlatformIO from the ``develop`` branch:
.. code-block:: bash
$ pip uninstall platformio
2. Install the latest PlatformIO from the ``develop`` branch:
.. code-block:: bash
$ pip install https://github.com/platformio/platformio/archive/develop.zip
pip install -U pip setuptools
pip install -U https://github.com/platformio/platformio/archive/develop.zip
If you want to be up-to-date with the latest ``develop`` version of PlatformIO,
then you need to perform step #2 each time if you see the new commits in
`PlatformIO GitHub repository <https://github.com/platformio/platformio/commits/develop>`_.
then you need to re-install PlatformIO each time if you see the new commits in
`PlatformIO GitHub repository (branch: develop) <https://github.com/platformio/platformio/commits/develop>`_.
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).
**Windows OS**: Please check that you have correctly installed USB driver
from board manufacturer
For further details, frequently questions, known issues, please
refer to :ref:`faq`.

View File

@ -249,6 +249,12 @@ patterns.
A list with compatible frameworks. The available framework types are defined in
the :ref:`platforms` section.
If the library is compatible with the all frameworks, then you can use ``*``
symbol:
.. code-block:: javascript
"frameworks": "*"
.. _libjson_platforms:
@ -260,6 +266,13 @@ the :ref:`platforms` section.
A list with compatible platforms. The available platform types are
defined in :ref:`platforms` section.
If the library is compatible with the all platforms, then you can use ``*``
symbol:
.. code-block:: javascript
"platforms": "*"
.. _libjson_dependencies:

View File

@ -8,8 +8,10 @@ Library Manager
*"The missing library manager for development platforms"* [#]_
*PlatformIO Library Manager* allows you to organize external embedded libraries.
You can search for new libraries via :ref:`Command Line interface <cmd_lib_search>`
or `Web 2.0 Library Search <http://platformio.org/#!/lib>`_.
You can search for new libraries via
* :ref:`Command Line interface <cmd_lib_search>`
* `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
You don't need to bother for finding the latest version of library. Due to
:ref:`cmd_lib_update` command you will have up-to-date external libraries.

View File

@ -33,6 +33,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
Frameworks
@ -75,6 +78,13 @@ Adafruit
- 32 Kb
- 2.5 Kb
* - ``gemma``
- `Adafruit Gemma <http://www.adafruit.com/products/1222>`_
- ATTINY85
- 8 MHz
- 8 Kb
- 0.5 Kb
* - ``protrinket3``
- `Adafruit Pro Trinket 3V/12MHz (USB) <http://www.adafruit.com/products/2010>`_
- ATMEGA328P
@ -591,6 +601,26 @@ PanStamp
- 32 Kb
- 2 Kb
Punch Through
~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``lightblue-bean``
- `LightBlue Bean <https://punchthrough.com/bean>`_
- ATMEGA328P
- 8 MHz
- 32 Kb
- 2 Kb
Quirkbot
~~~~~~~~
@ -816,8 +846,8 @@ TinyCircuits
- 32 Kb
- 2 Kb
WickedDevice
~~~~~~~~~~~~
Wicked Device
~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
@ -830,15 +860,35 @@ WickedDevice
- RAM
* - ``wildfirev2``
- `WickedDevice WildFire v2 [stk500] <http://shop.wickeddevice.com/resources/wildfire/#arduinoidesetup>`_
- `Wicked Device WildFire V2 <http://shop.wickeddevice.com/resources/wildfire/>`_
- ATMEGA1284P
- 16 MHz
- 128 Kb
- 16 Kb
* - ``wildfirev3``
- `WickedDevice WildFire v3 [optiboot] <http://shop.wickeddevice.com/resources/wildfire/>`_
- `Wicked Device WildFire V3 <http://shop.wickeddevice.com/resources/wildfire/>`_
- ATMEGA1284P
- 16 MHz
- 128 Kb
- 16 Kb
ubIQio
~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``ardhat``
- `ubIQio Ardhat <http://ardhat.com>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb

View File

@ -33,6 +33,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
Frameworks

View File

@ -0,0 +1,62 @@
.. _board_creating:
Creating Board
==============
*PlatformIO* has pre-built settings for the most popular embedded boards. This
list is available:
* `Embedded Boards Explorer <http://platformio.org/#!/boards>`_ (Web)
* :ref:`cmd_boards` (CLI command)
Nevertheless, PlatformIO allows to create own board or override existing
board's settings. All data is declared using
`JSON-style <http://en.wikipedia.org/wiki/JSON>`_ via
`associative array <http://en.wikipedia.org/wiki/Associative_array>`_
(name/value pairs).
.. contents::
JSON Structure
--------------
The key fields:
* ``build`` data will be used by :ref:`Platforms <platforms>` and
:ref:`frameworks` builders
* ``frameworks`` is the list with supported :ref:`frameworks`
* ``platform`` main type of :ref:`Platforms <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."
}
}
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.
3. Search available boards via :ref:`cmd_boards` command. You should see
``myboard`` board.
Now, you can use ``myboard`` for the :ref:`projectconf_env_board` option in
:ref:`projectconf`.
Examples
--------
For the examples, please look into built-in ``*.json`` files with boards
settings: https://github.com/platformio/platformio/tree/develop/platformio/boards.

View File

@ -108,9 +108,21 @@ Packages
* - ``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/>`_
* - ``toolchain-gccarmlinuxgnueabi``
- `GCC for Linux ARM GNU EABI <https://gcc.gnu.org>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``toolchain-gccarmnoneeabi``
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``toolchain-gcclinux32``
- `GCC for Linux i686 <https://gcc.gnu.org>`_
* - ``toolchain-gcclinux64``
- `GCC for Linux x86_64 <https://gcc.gnu.org>`_
* - ``toolchain-gccmingw32``
- `MinGW <http://www.mingw.org>`_
* - ``toolchain-timsp430``
- `msp-gcc <http://sourceforge.net/projects/mspgcc/>`_, `GDB <http://www.gnu.org/software/gdb/>`_
@ -145,6 +157,8 @@ Example of the **test** platform (``test.py``):
.. code-block:: python
import os
from platformio.platforms.base import BasePlatform
class TestPlatform(BasePlatform):
@ -198,7 +212,7 @@ Build Script
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.BuildFirmware`` with the nested libraries search. Please look into a
``env.BuildProgram`` with the nested libraries search. Please look into a
base template of ``test-builder.py``.
.. code-block:: python
@ -258,7 +272,7 @@ base template of ``test-builder.py``.
#
# Target: Build executable and linkable firmware
#
target_elf = env.BuildFirmware()
target_elf = env.BuildProgram()
#
# Target: Build the .bin file
@ -292,7 +306,7 @@ Installation
------------
1. Create ``platforms`` directory in :ref:`projectconf_pio_home_dir` if it
doesn't exists.
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.
@ -381,7 +395,7 @@ and copy there two files:
# Target: Build executable and linkable firmware
#
target_elf = env.BuildFirmware()
target_elf = env.BuildProgram()
#
# Target: Build the .bin file

View File

@ -36,6 +36,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
Frameworks
@ -74,6 +77,6 @@ Espressif
* - ``esp01``
- `Espressif ESP8266 board <https://nurdspace.nl/ESP8266>`_
- ESP8266
- 80 MHz
- 40 MHz
- 512 Kb
- 32 Kb

View File

@ -27,6 +27,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
Frameworks

View File

@ -11,6 +11,9 @@ Also it has pre-configured settings for most popular **Embedded Platform
Boards**. You have no need to specify in :ref:`projectconf` type or frequency of
MCU, upload protocol or etc. Please use ``board`` option.
Embedded
--------
.. toctree::
:maxdepth: 2
@ -20,8 +23,29 @@ MCU, upload protocol or etc. Please use ``board`` option.
freescalekinetis
nordicnrf51
nxplpc
siliconlabsefm32
ststm32
teensy
timsp430
titiva
Desktop
-------
.. toctree::
:maxdepth: 2
native
linux_arm
linux_i686
linux_x86_64
windows_x86
Own Platform/Board
------------------
.. toctree::
:maxdepth: 2
creating_platform
creating_board

View File

@ -0,0 +1,21 @@
.. _platform_linux_arm:
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>`_.
.. contents::
Packages
--------
.. list-table::
:header-rows: 1
* - Name
- Contents
* - ``toolchain-gccarmlinuxgnueabi``
- `GCC for Linux ARM GNU EABI <https://gcc.gnu.org>`_, `GDB <http://www.gnu.org/software/gdb/>`_

View File

@ -0,0 +1,21 @@
.. _platform_linux_i686:
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>`_.
.. contents::
Packages
--------
.. list-table::
:header-rows: 1
* - Name
- Contents
* - ``toolchain-gcclinux32``
- `GCC for Linux i686 <https://gcc.gnu.org>`_

View File

@ -0,0 +1,21 @@
.. _platform_linux_x86_64:
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>`_.
.. contents::
Packages
--------
.. list-table::
:header-rows: 1
* - Name
- Contents
* - ``toolchain-gcclinux64``
- `GCC for Linux x86_64 <https://gcc.gnu.org>`_

View File

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

View File

@ -27,6 +27,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
Frameworks
@ -49,6 +52,26 @@ Boards
* For more detailed ``board`` information please scroll tables below by
horizontal.
Delta
~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``dfcm_nnn40``
- `Delta DFCM-NNN40 <https://developer.mbed.org/platforms/Delta-DFCM-NNN40/>`_
- NRF51822
- 32 MHz
- 256 Kb
- 32 Kb
JKSoft
~~~~~~

View File

@ -27,6 +27,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
Frameworks

View File

@ -0,0 +1,101 @@
.. _platform_siliconlabsefm32:
Platform ``siliconlabsefm32``
=============================
Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.
For more detailed information please visit `vendor site <http://www.silabs.com/products/mcu/32-bit/efm32-gecko/Pages/efm32-gecko.aspx>`_.
.. contents::
Packages
--------
.. list-table::
:header-rows: 1
* - Name
- Contents
* - ``framework-mbed``
- `mbed Framework <http://mbed.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
Frameworks
----------
.. list-table::
:header-rows: 1
* - Name
- Description
* - :ref:`framework_mbed`
- The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
* For more detailed ``board`` information please scroll tables below by
horizontal.
Silicon Labs
~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``efm32gg_stk3700``
- `Silicon Labs EFM32GG-STK3700 (Giant Gecko) <https://developer.mbed.org/platforms/EFM32-Giant-Gecko/>`_
- EFM32GG990F1024
- 48 MHz
- 1024 Kb
- 128 Kb
* - ``efm32hg_stk3400``
- `Silicon Labs SLSTK3400A USB-enabled (Happy Gecko) <https://developer.mbed.org/platforms/EFM32-Happy-Gecko/>`_
- EFM32HG322F64
- 24 MHz
- 64 Kb
- 8 Kb
* - ``efm32lg_stk3600``
- `Silicon Labs EFM32LG-STK3600 (Leopard Gecko) <https://developer.mbed.org/platforms/EFM32-Leopard-Gecko/>`_
- EFM32LG990F256
- 48 MHz
- 256 Kb
- 32 Kb
* - ``efm32wg_stk3800``
- `Silicon Labs EFM32WG-STK3800 (Wonder Gecko) <https://developer.mbed.org/platforms/EFM32-Wonder-Gecko/>`_
- EFM32WG990F256
- 48 MHz
- 256 Kb
- 32 Kb
* - ``efm32zg_stk3200``
- `Silicon Labs EFM32ZG-STK3200 (Zero Gecko) <https://developer.mbed.org/platforms/EFM32-Zero-Gecko/>`_
- EFM2ZG222F32
- 24 MHz
- 32 Kb
- 4 Kb

View File

@ -42,6 +42,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
Frameworks
@ -142,11 +145,11 @@ ST
- 48 Kb
* - ``disco_f334c8``
- `ST 32F3348DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF260318>`_
- `ST 32F3348DISCOVERY <http://www.st.com/web/en/catalog/tools/PF260318>`_
- STM32F334C8T6
- 72 MHz
- 64 Kb
- 16 Kb
- 12 Kb
* - ``disco_f401vc``
- `ST 32F401CDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF259098>`_
@ -169,6 +172,13 @@ ST
- 2048 Kb
- 256 Kb
* - ``disco_l053c8``
- `ST 32L0538DISCOVERY <http://www.st.com/web/en/catalog/tools/PF260319>`_
- STM32L053C8T6
- 32 MHz
- 64 Kb
- 8 Kb
* - ``disco_l152rb``
- `ST STM32LDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF258515>`_
- STM32L152RBT6
@ -246,6 +256,13 @@ ST
- 512 Kb
- 128 Kb
* - ``nucleo_f446re``
- `ST Nucleo F446RE <https://developer.mbed.org/platforms/ST-Nucleo-F446RE/>`_
- STM32F446RET6
- 180 MHz
- 512 Kb
- 128 Kb
* - ``nucleo_l053r8``
- `ST Nucleo L053R8 <https://developer.mbed.org/platforms/ST-Nucleo-L053R8/>`_
- STM32L053R8T6

View File

@ -17,25 +17,31 @@ Packages
* - Name
- Contents
* - ``framework-arduinoteensy``
- `Arduino Wiring-based Framework <http://arduino.cc/en/Reference/HomePage>`_
* - ``tool-teensy``
- `Teensy Loader <https://www.pjrc.com/teensy/loader.html>`_
* - ``toolchain-gccarmnoneeabi``
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``framework-mbed``
- `mbed Framework <http://mbed.org>`_
* - ``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/>`_
* - ``ldscripts``
- `Linker Scripts <https://sourceware.org/binutils/docs/ld/Scripts.html>`_
* - ``framework-arduinoteensy``
- `Arduino Wiring-based Framework <http://arduino.cc/en/Reference/HomePage>`_
* - ``toolchain-gccarmnoneeabi``
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``tool-teensy``
- `Teensy Loader <https://www.pjrc.com/teensy/loader.html>`_
.. 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
@ -49,6 +55,9 @@ Frameworks
* - :ref:`framework_arduino`
- Arduino Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
* - :ref:`framework_mbed`
- The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
Boards
------

View File

@ -33,6 +33,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
Frameworks

View File

@ -36,6 +36,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
Frameworks

View File

@ -0,0 +1,21 @@
.. _platform_windows_x86:
Platform ``windows_x86``
========================
Windows x86 (32-bit) is a metafamily of graphical operating systems developed and marketed by Microsoft. Using host OS (Windows, Linux 32/64 or Mac OS X) you can build native application for Windows x86 platform.
For more detailed information please visit `vendor site <http://platformio.org/#!/platforms/windows_x86>`_.
.. contents::
Packages
--------
.. list-table::
:header-rows: 1
* - Name
- Contents
* - ``toolchain-gccmingw32``
- `MinGW <http://www.mingw.org>`_

View File

@ -42,7 +42,7 @@ A default value is User's home directory:
* Windows ``%HOMEPATH%\.platformio``
This option can be overridden by global environment variable
:ref:`envvar_PLATFORMIO_HOME_DIR`.
:envvar:`PLATFORMIO_HOME_DIR`.
.. _projectconf_pio_lib_dir:
@ -55,7 +55,12 @@ This directory is used to store external libraries downloaded by
A default value is ``%home_dir%/lib``.
This option can be overridden by global environment variable
:ref:`envvar_PLATFORMIO_LIB_DIR`.
:envvar:`PLATFORMIO_LIB_DIR`.
.. note::
You can put here your own/private libraries. The source code of each
library should be placed in separate directory. For example,
``%lib_dir%/private_lib/[here are source files]``.
.. _projectconf_pio_src_dir:
@ -68,7 +73,7 @@ command.
A default value is ``%project_dir%/src``.
This option can be overridden by global environment variable
:ref:`envvar_PLATFORMIO_SRC_DIR`.
:envvar:`PLATFORMIO_SRC_DIR`.
.. note::
This option is useful for people who migrate from Arduino/Energia IDEs where
@ -92,7 +97,7 @@ next build operation.
A default value is ``%project_dir%/.pioenvs``.
This option can be overridden by global environment variable
:ref:`envvar_PLATFORMIO_ENVS_DIR`.
:envvar:`PLATFORMIO_ENVS_DIR`.
.. note::
If you have any problems with building your Project environmets which
@ -145,7 +150,8 @@ need to specify ``board_mcu``, ``board_f_cpu``, ``upload_protocol`` or
``upload_speed`` options. Just define a ``board`` type and *PlatformIO* will
pre-fill options described above with appropriate values.
You can find the ``board`` type in *Boards* section of each :ref:`platforms`.
You can find the ``board`` type in *Boards* section of each :ref:`platforms` or
using `PlatformIO Embedded Boards Explorer <http://platformio.org/#!/boards>`_.
``board_mcu``
@ -198,20 +204,6 @@ A protocol that "uploader" tool uses to talk to the board.
A connection speed (`baud rate <http://en.wikipedia.org/wiki/Baud>`_)
which "uploader" tool uses when sending firmware to board.
``targets``
^^^^^^^^^^^
A list with targets which will be processed by :ref:`cmd_run` command by
default. You can enter more then one target separated with "space".
When no targets are defined, *PlatformIO* will build only sources by default.
.. note::
This option is useful to enable "auto-uploading" after building operation
(``targets = upload``).
.. _projectconf_build_flags:
``build_flags``
@ -226,10 +218,6 @@ processes:
* - Format
- Scope
- Description
* - ``-Wp,option``
- CPPFLAGS
- Bypass the compiler driver and pass *option* directly through to the
preprocessor
* - ``-D name``
- CPPDEFINES
- Predefine *name* as a macro, with definition 1.
@ -241,6 +229,10 @@ processes:
- CPPDEFINES
- Cancel any previous definition of *name*, either built in or provided
with a ``-D`` option.
* - ``-Wp,option``
- CPPFLAGS
- Bypass the compiler driver and pass *option* directly through to the
preprocessor
* - ``-Wall``
- CCFLAGS
- Turns on all optional warnings which are desirable for normal code.
@ -254,10 +246,18 @@ processes:
- CCFLAGS
- Process *file* as if ``#include "file"`` appeared as the first line of
the primary source file.
* - ``-Idir``
- CPPPATH
- Add the directory *dir* to the list of directories to be searched
for header files.
* - ``-Wa,option``
- ASFLAGS, CCFLAGS
- Pass *option* as an option to the assembler. If *option* contains
commas, it is split into multiple options at the commas.
* - ``-Wl,option``
- LINKFLAGS
- Pass *option* as an option to the linker. If *option* contains
commas, it is split into multiple options at the commas.
* - ``-llibrary``
- LIBS
- Search the *library* named library when linking
@ -265,21 +265,23 @@ processes:
- LIBPATH
- Add directory *dir* to the list of directories to be searched for
``-l``.
* - ``-Idir``
- CPPPATH
- Add the directory *dir* to the list of directories to be searched
for header files.
This option can be set by global environment variable
:envvar:`PLATFORMIO_BUILD_FLAGS`.
Example:
.. code-block:: ini
[env:specific_defines]
build_flags = -O2 -Dfoo -Dbar=1
build_flags = -Dfoo -Dbar=1
[env:specific_inclibs]
build_flags = -I/opt/include -L/opt/lib -lfoo
[env:specific_ld_script]
build_flags = -Wl,-T/path/to/ld_script.ld
For more detailed information about available flags/options go to:
@ -297,20 +299,42 @@ For more detailed information about available flags/options go to:
* `Options for Directory Search
<https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html>`_
.. _projectconf_srcbuild_flags:
.. _projectconf_src_build_flags:
``srcbuild_flags``
^^^^^^^^^^^^^^^^^^
``src_build_flags``
^^^^^^^^^^^^^^^^^^^
An option ``srcbuild_flags`` has the same behaviour like ``build_flags``
An option ``src_build_flags`` has the same behaviour like ``build_flags``
but will be applied only for the project source code from
:ref:`projectconf_pio_src_dir` directory.
This option can be overridden by global environment variable
:ref:`envvar_PLATFORMIO_SRCBUILD_FLAGS`.
This option can be set by global environment variable
:envvar:`PLATFORMIO_SRC_BUILD_FLAGS`.
``install_libs``
^^^^^^^^^^^^^^^^
.. _projectconf_src_filter:
``src_filter``
^^^^^^^^^^^^^^
This option allows to specify which source files should be included/excluded
from build process. Filter supports 2 templates:
* ``+<PATH>`` include template
* ``-<PATH>`` exclude template
``PATH`` MAST BE related from :ref:`projectconf_pio_src_dir`. All patterns will
be applied in theirs order.
`GLOB Patterns <http://en.wikipedia.org/wiki/Glob_(programming)>`_ are allowed.
By default, ``src_filter`` is predefined to
``+<*> -<.git/> -<svn/> -<examples/>``, which means "includes ALL files, then
exclude ``.git`` and ``svn`` repository folders and exclude ``examples`` folder.
This option can be set by global environment variable
:envvar:`PLATFORMIO_SRC_FILTER`.
``lib_install``
^^^^^^^^^^^^^^^
Specify dependent libraries which should be installed before environment
process. The only library IDs are allowed. Multiple libraries can be passed
@ -320,36 +344,112 @@ You can obtain library IDs using :ref:`cmd_lib_search` command.
Example:
.. code-block:: ini
.. code-block:: ini
[env:depends_on_some_libs]
install_libs = 1,13,19
lib_install = 1,13,19
``use_libs``
^^^^^^^^^^^^
``lib_use``
^^^^^^^^^^^
Specify libraries which should be used by ``Library Dependency Finder`` with
Specify libraries which should be used by ``Library Dependency Finder (LDF)`` with
the highest priority.
Example:
.. code-block:: ini
.. code-block:: ini
[env:libs_with_highest_priority]
use_libs = OneWire_ID1
lib_use = OneWire_ID1,SPI
``ignore_libs``
^^^^^^^^^^^^^^^
``lib_ignore``
^^^^^^^^^^^^^^
Specify libraries which should be ignored by ``Library Dependency Finder``
Specify libraries which should be ignored by ``Library Dependency Finder (LDF)``
Example:
.. code-block:: ini
.. code-block:: ini
[env:ignore_some_libs]
ignore_libs = SPI,EngduinoV3_ID123
lib_ignore = SPI,EngduinoV3_ID123
``lib_dfcyclic``
^^^^^^^^^^^^^^^^
Control cyclic (recursive) behaviour for ``Library Dependency Finder (LDF)``.
By default, this option is turned OFF (``lib_dfcyclic=False``) and means, that
``LDF`` will find only libraries which are included in source files from the
project :ref:`projectconf_pio_src_dir`.
If you want to enable cyclic (recursive, nested) search, please set this option
to ``True``. Founded library will be treated like a new source files and
``LDF`` will search dependencies for it.
Example:
.. code-block:: ini
[env:libs_with_enabled_ldf_cyclic]
lib_dfcyclic = True
.. _projectconf_extra_script:
``extra_script``
^^^^^^^^^^^^^^^^
Allows to launch extra script using `SCons <http://www.scons.org>`_ software
construction tool. For more details please follow to "Construction Environments"
section of
`SCons documentation <http://www.scons.org/doc/production/HTML/scons-user.html#chap-environments>`_.
This option can be set by global environment variable
:envvar:`PLATFORMIO_EXTRA_SCRIPT`.
Example, specify own upload command for :ref:`platform_atmelavr`:
``platformio.ini``:
.. code-block:: ini
[env:env_with_specific_extra_script]
platform = atmelavr
extra_script = /path/to/extra_script.py
``extra_script.py``:
.. code-block:: python
from SCons.Script import DefaultEnvironment
env = DefaultEnvironment()
env.Replace(UPLOADHEXCMD='"$UPLOADER" --uploader --flags')
# uncomment line below to see environment variables
# print env.Dump()
See built-in examples of `PlatformIO build scripts <https://github.com/platformio/platformio/tree/develop/platformio/builder/scripts>`_.
``targets``
^^^^^^^^^^^
A list with targets which will be processed by :ref:`cmd_run` command by
default. You can enter more then one target separated with "space". Which
targets are supported is described in :option:`platformio run --target`.
**Tip!** You can use these targets like an option to
:option:`platformio run --target` command. For example:
.. code-block:: bash
# clean project
platformio run -t clean
# dump curent build environment
platformio run --target envdump
When no targets are defined, *PlatformIO* will build only sources by default.
.. _projectconf_examples:
@ -375,39 +475,7 @@ Examples
targets = upload
2. :ref:`platform_atmelavr`: Microduino Core (ATmega168P, 3.3V) board with
auto pre-configured ``board_*`` and ``upload_*`` options (use only
``board`` option) and Arduino Wiring-based Framework
.. code-block:: ini
[env:atmelavr_microduino_core_board]
platform = atmelavr
framework = arduino
board = 168pa8m
# enable auto-uploading
targets = upload
3. :ref:`platform_atmelavr`: Raspduino board with
auto pre-configured ``board_*`` and ``upload_*`` options (use only
``board`` option) and Arduino Wiring-based Framework
.. code-block:: ini
[env:atmelavr_raspduino_board]
platform = atmelavr
framework = arduino
board = raspduino
upload_port = /dev/ttyS0
# enable auto-uploading
targets = upload
4. :ref:`platform_atmelavr`: Embedded board that is based on ATmega168 MCU with
2. :ref:`platform_atmelavr`: Embedded board that is based on ATmega168 MCU with
"arduino" bootloader
.. code-block:: ini
@ -427,7 +495,7 @@ Examples
targets = upload
5. Upload firmware via USB programmer (USBasp) to :ref:`platform_atmelavr`
3. Upload firmware via USB programmer (USBasp) to :ref:`platform_atmelavr`
microcontrollers
.. code-block:: ini
@ -436,44 +504,25 @@ Examples
platform = atmelavr
framework = arduino
board = pro8MHzatmega328
upload_protocol = usbasp -B5
upload_protocol = usbasp - B5
6. :ref:`platform_timsp430`: TI MSP430G2553 LaunchPad with auto pre-configured
``board_*`` and ``upload_*`` options (use only ``board`` option) and Energia
Wiring-based Framework
4. :ref:`platform_ststm32`: Upload firmware using GDB script ``upload.gdb``,
`issue #175 <https://github.com/platformio/platformio/issues/175>`_
.. code-block:: ini
[env:timsp430_g2553_launchpad]
platform = timsp430
framework = energia
board = lpmsp430g2553
[env:st_via_gdb]
platform = ststm32
board = armstrap_eagle512
upload_protocol = gdb
7. :ref:`platform_timsp430`: Embedded board that is based on MSP430G2553 MCU
5. :ref:`platform_ststm32`: Upload firmware using ST-Link instead mbed's media
disk
.. code-block:: ini
[env:timsp430_g2553_board]
platform = timsp430
board_mcu = msp430g2553
board_f_cpu = 16000000L
upload_protocol = rf2500
# enable auto-uploading
targets = upload
8. :ref:`platform_titiva`: TI Tiva C ARM Series TM4C123G LaunchPad with auto
pre-configured ``board_*`` and ``upload_*`` options (use only ``board``
option) and Energia Wiring-based Framework
.. code-block:: ini
[env:titiva_tm4c1230c3pm_launchpad]
platform = titiva
framework = energia
board = lptm4c1230c3pm
[env:stlink_for_mbed]
platform = ststm32
board = disco_f100rb
upload_protocol = stlink

View File

@ -28,8 +28,8 @@ Quickstart
The next files/directories will be created in ***
platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-|
src - Put your source code here
lib - Put here project specific or 3-rd party libraries
src - Put your source files here
lib - Put here project specific (private) libraries
Do you want to continue? [y/N]: y
Project has been successfully initialized!
Useful commands:
@ -37,7 +37,7 @@ Quickstart
`platformio run --target upload` or `platformio run -t upload` - upload firmware to embedded board
`platformio run --target clean` - clean project (remove compiled files)
Put your source code ``*.h, *.c, *.cpp or *.ino`` files to ``src`` directory.
Put your source files ``*.h, *.c, *.cpp or *.ino`` to ``src`` directory.
4. Process the project's environments.

View File

@ -22,9 +22,13 @@ Initialize new PlatformIO based project.
This command will create:
* :ref:`projectconf`
* ``src`` - a source directory. Put your source code here
* ``lib`` - a directory for the project specific libraries. PlatformIO will
compile them to static libraries and link to executable file
* ``src`` - a source directory. Put your source files here
* ``lib`` - a directory for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file
.. note::
The source code of each library should be placed in separate directory.
For example, ``lib/private_lib/[here are source files]``.
Options
-------
@ -70,11 +74,11 @@ allows you to disable firmware auto-uploading by default.
--env-prefix
An environment prefix which will be used with pair in board type.
For example, the default environment name for ``teensy_31`` board will
be ``[env:teensy_31]``.
Examples
--------
@ -90,8 +94,8 @@ Examples
The next files/directories will be created in ***
platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-|
src - Put your source code here
lib - Put here project specific or 3-rd party libraries
src - Put your source files here
lib - Put here project specific (private) libraries
Do you want to continue? [y/N]: y
Project has been successfully initialized!
Useful commands:
@ -108,8 +112,8 @@ Examples
The next files/directories will be created in ***
platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-|
src - Put your source code here
lib - Put here project specific or 3-rd party libraries
src - Put your source files here
lib - Put here project specific (private) libraries
Do you want to continue? [y/N]: y
Project has been successfully initialized!
Useful commands:
@ -132,8 +136,8 @@ Examples
The next files/directories will be created in ***
platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-|
src - Put your source code here
lib - Put here project specific or 3-rd party libraries
src - Put your source files here
lib - Put here project specific (private) libraries
Do you want to continue? [y/N]: y
Project has been successfully initialized!
Useful commands:

View File

@ -33,7 +33,16 @@ Process specified environments
.. option::
-t, --target
Process specified targets
Process specified targets.
Pre-built targets:
* ``clean`` delete compiled object files, libraries and firmware/program binaries
* ``upload`` enable "auto-uploading" for embedded platforms after building
operation
* ``uploadlazy`` upload existing firmware without project rebuilding
* ``envdump`` dump current build environment
* ``size`` print the size of the sections in a firmware/program
.. option::
--upload-port
@ -42,10 +51,10 @@ Upload port of embedded board. To print all available ports use
:ref:`cmd_serialports` command
.. option::
--build-dir
-d, --project-dir
Specify the path to project directory. By default, ``--build-dir`` is equal to
current working directory (``CWD``).
Specify the path to project directory. By default, ``--project-dir`` is equal
to current working directory (``CWD``).
.. option::
-v, --verbose
@ -62,6 +71,12 @@ There 3 levels of verbosity:
By default, verbosity level is set to 3 (maximum information).
.. option::
--disable-auto-clean
Disable auto-clean of :ref:`projectconf_pio_envs_dir` when :ref:`projectconf`
or :ref:`projectconf_pio_src_dir` (project structure) have been modified.
Examples
--------

View File

@ -18,7 +18,7 @@ Options
.. program:: platformio
.. option::
--force, - f
--force, -f
Force to accept any confirmation prompts. This option allows to avoid an issue
with :ref:`faq_troubleshooting_pioblocksprompt`
@ -29,7 +29,7 @@ with :ref:`faq_troubleshooting_pioblocksprompt`
Show the version of PlatformIO
.. option::
--help
--help, -h
Show help for the available options and commands

View File

@ -1,7 +1,7 @@
.. _userguide_platforms:
Platforms Manager
=================
Platform Manager
================
To print all available commands and options use:

View File

@ -0,0 +1,38 @@
This directory is intended for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file.
The source code of each library should be placed in separate directory, like
"lib/private_lib/[here are source files]".
For example, see how can be organised `Foo` and `Bar` libraries:
|--lib
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |- readme.txt --> THIS FILE
|- platformio.ini
|--src
|- main.c
Then in `src/main.c` you should use:
#include <Foo.h>
#include <Bar.h>
// rest H/C/CPP code
PlatformIO will find your libraries automatically, configure preprocessor's
include paths and build them.
See additional options for PlatformIO Library Dependency Finder `lib_*`:
http://docs.platformio.org/en/latest/projectconf.html#lib-install

View File

@ -0,0 +1,38 @@
This directory is intended for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file.
The source code of each library should be placed in separate directory, like
"lib/private_lib/[here are source files]".
For example, see how can be organised `Foo` and `Bar` libraries:
|--lib
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |- readme.txt --> THIS FILE
|- platformio.ini
|--src
|- main.c
Then in `src/main.c` you should use:
#include <Foo.h>
#include <Bar.h>
// rest H/C/CPP code
PlatformIO will find your libraries automatically, configure preprocessor's
include paths and build them.
See additional options for PlatformIO Library Dependency Finder `lib_*`:
http://docs.platformio.org/en/latest/projectconf.html#lib-install

View File

@ -0,0 +1,38 @@
This directory is intended for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file.
The source code of each library should be placed in separate directory, like
"lib/private_lib/[here are source files]".
For example, see how can be organised `Foo` and `Bar` libraries:
|--lib
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |- readme.txt --> THIS FILE
|- platformio.ini
|--src
|- main.c
Then in `src/main.c` you should use:
#include <Foo.h>
#include <Bar.h>
// rest H/C/CPP code
PlatformIO will find your libraries automatically, configure preprocessor's
include paths and build them.
See additional options for PlatformIO Library Dependency Finder `lib_*`:
http://docs.platformio.org/en/latest/projectconf.html#lib-install

View File

@ -0,0 +1,38 @@
This directory is intended for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file.
The source code of each library should be placed in separate directory, like
"lib/private_lib/[here are source files]".
For example, see how can be organised `Foo` and `Bar` libraries:
|--lib
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |- readme.txt --> THIS FILE
|- platformio.ini
|--src
|- main.c
Then in `src/main.c` you should use:
#include <Foo.h>
#include <Bar.h>
// rest H/C/CPP code
PlatformIO will find your libraries automatically, configure preprocessor's
include paths and build them.
See additional options for PlatformIO Library Dependency Finder `lib_*`:
http://docs.platformio.org/en/latest/projectconf.html#lib-install

View File

@ -0,0 +1,38 @@
This directory is intended for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file.
The source code of each library should be placed in separate directory, like
"lib/private_lib/[here are source files]".
For example, see how can be organised `Foo` and `Bar` libraries:
|--lib
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |- readme.txt --> THIS FILE
|- platformio.ini
|--src
|- main.c
Then in `src/main.c` you should use:
#include <Foo.h>
#include <Bar.h>
// rest H/C/CPP code
PlatformIO will find your libraries automatically, configure preprocessor's
include paths and build them.
See additional options for PlatformIO Library Dependency Finder `lib_*`:
http://docs.platformio.org/en/latest/projectconf.html#lib-install

View File

@ -0,0 +1,38 @@
This directory is intended for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file.
The source code of each library should be placed in separate directory, like
"lib/private_lib/[here are source files]".
For example, see how can be organised `Foo` and `Bar` libraries:
|--lib
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |- readme.txt --> THIS FILE
|- platformio.ini
|--src
|- main.c
Then in `src/main.c` you should use:
#include <Foo.h>
#include <Bar.h>
// rest H/C/CPP code
PlatformIO will find your libraries automatically, configure preprocessor's
include paths and build them.
See additional options for PlatformIO Library Dependency Finder `lib_*`:
http://docs.platformio.org/en/latest/projectconf.html#lib-install

View File

@ -0,0 +1,38 @@
This directory is intended for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file.
The source code of each library should be placed in separate directory, like
"lib/private_lib/[here are source files]".
For example, see how can be organised `Foo` and `Bar` libraries:
|--lib
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |- readme.txt --> THIS FILE
|- platformio.ini
|--src
|- main.c
Then in `src/main.c` you should use:
#include <Foo.h>
#include <Bar.h>
// rest H/C/CPP code
PlatformIO will find your libraries automatically, configure preprocessor's
include paths and build them.
See additional options for PlatformIO Library Dependency Finder `lib_*`:
http://docs.platformio.org/en/latest/projectconf.html#lib-install

View File

@ -0,0 +1,38 @@
This directory is intended for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file.
The source code of each library should be placed in separate directory, like
"lib/private_lib/[here are source files]".
For example, see how can be organised `Foo` and `Bar` libraries:
|--lib
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |- readme.txt --> THIS FILE
|- platformio.ini
|--src
|- main.c
Then in `src/main.c` you should use:
#include <Foo.h>
#include <Bar.h>
// rest H/C/CPP code
PlatformIO will find your libraries automatically, configure preprocessor's
include paths and build them.
See additional options for PlatformIO Library Dependency Finder `lib_*`:
http://docs.platformio.org/en/latest/projectconf.html#lib-install

View File

@ -0,0 +1,18 @@
How to build PlatformIO based project
=====================================
1. `Install PlatformIO <http://docs.platformio.org/en/latest/installation.html>`_
2. Download `source code with examples <https://github.com/platformio/platformio/archive/develop.zip>`_
3. Extract ZIP archive
4. Run these commands:
.. code-block:: bash
# Change directory to example
> cd platformio-develop/examples/desktop/hello-world
# Process example project
> platformio run
# Clean build files
> platformio run --target clean

View File

@ -0,0 +1,38 @@
This directory is intended for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file.
The source code of each library should be placed in separate directory, like
"lib/private_lib/[here are source files]".
For example, see how can be organised `Foo` and `Bar` libraries:
|--lib
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |- readme.txt --> THIS FILE
|- platformio.ini
|--src
|- main.c
Then in `src/main.c` you should use:
#include <Foo.h>
#include <Bar.h>
// rest H/C/CPP code
PlatformIO will find your libraries automatically, configure preprocessor's
include paths and build them.
See additional options for PlatformIO Library Dependency Finder `lib_*`:
http://docs.platformio.org/en/latest/projectconf.html#lib-install

View File

@ -0,0 +1,51 @@
#
# Project Configuration File
#
# A detailed documentation with the EXAMPLES is located here:
# http://docs.platformio.org/en/latest/projectconf.html
#
# A sign `#` at the beginning of the line indicates a comment
# Comment lines are ignored.
# Simple and base environment
# [env:mybaseenv]
# platform = %INSTALLED_PLATFORM_NAME_HERE%
# framework =
# board =
#
# Automatic targets - enable auto-uploading
# targets = upload
[env:native]
platform = native
#
# If host OS is Mac OS X
#
# [env:darwin_x86_64]
# platform = native
# [env:linux_i686]
# platform = linux_i686
# [env:linux_x86_64]
# platform = linux_x86_64
# [env:windows_x86]
# platform = windows_x86
# [env:linux_armv6l]
# platform = linux_arm
# build_flags = -march=armv6
#
# If host OS is Linux
#
# [env:linux_i686]
# platform = linux_i686
# [env:linux_x86_64]
# platform = linux_x86_64

View File

@ -0,0 +1,7 @@
#include <stdio.h>
int main()
{
printf("Hello World from PlatformIO!\n");
return 0;
}

View File

@ -0,0 +1,38 @@
This directory is intended for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file.
The source code of each library should be placed in separate directory, like
"lib/private_lib/[here are source files]".
For example, see how can be organised `Foo` and `Bar` libraries:
|--lib
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |- readme.txt --> THIS FILE
|- platformio.ini
|--src
|- main.c
Then in `src/main.c` you should use:
#include <Foo.h>
#include <Bar.h>
// rest H/C/CPP code
PlatformIO will find your libraries automatically, configure preprocessor's
include paths and build them.
See additional options for PlatformIO Library Dependency Finder `lib_*`:
http://docs.platformio.org/en/latest/projectconf.html#lib-install

View File

@ -15,19 +15,54 @@
#include "smartconfig.h"
void ICACHE_FLASH_ATTR
smartconfig_done(void *data)
smartconfig_done(sc_status status, void *pdata)
{
struct station_config *sta_conf = data;
switch(status) {
case SC_STATUS_WAIT:
os_printf("SC_STATUS_WAIT\n");
break;
case SC_STATUS_FIND_CHANNEL:
os_printf("SC_STATUS_FIND_CHANNEL\n");
break;
case SC_STATUS_GETTING_SSID_PSWD:
os_printf("SC_STATUS_GETTING_SSID_PSWD\n");
sc_type *type = pdata;
if (*type == SC_TYPE_ESPTOUCH) {
os_printf("SC_TYPE:SC_TYPE_ESPTOUCH\n");
} else {
os_printf("SC_TYPE:SC_TYPE_AIRKISS\n");
}
break;
case SC_STATUS_LINK:
os_printf("SC_STATUS_LINK\n");
struct station_config *sta_conf = pdata;
wifi_station_set_config(sta_conf);
wifi_station_disconnect();
wifi_station_connect();
break;
case SC_STATUS_LINK_OVER:
os_printf("SC_STATUS_LINK_OVER\n");
if (pdata != NULL) {
uint8 phone_ip[4] = {0};
wifi_station_set_config(sta_conf);
wifi_station_disconnect();
wifi_station_connect();
os_memcpy(phone_ip, (uint8*)pdata, 4);
os_printf("Phone ip: %d.%d.%d.%d\n",phone_ip[0],phone_ip[1],phone_ip[2],phone_ip[3]);
}
smartconfig_stop();
break;
}
}
void user_rf_pre_init(void)
{
}
void user_init(void)
{
os_printf("SDK version:%s\n", system_get_sdk_version());
wifi_set_opmode(STATION_MODE);
smartconfig_start(SC_TYPE_AIRKISS, smartconfig_done);
smartconfig_start(smartconfig_done);
}

View File

@ -0,0 +1,38 @@
This directory is intended for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file.
The source code of each library should be placed in separate directory, like
"lib/private_lib/[here are source files]".
For example, see how can be organised `Foo` and `Bar` libraries:
|--lib
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |- readme.txt --> THIS FILE
|- platformio.ini
|--src
|- main.c
Then in `src/main.c` you should use:
#include <Foo.h>
#include <Bar.h>
// rest H/C/CPP code
PlatformIO will find your libraries automatically, configure preprocessor's
include paths and build them.
See additional options for PlatformIO Library Dependency Finder `lib_*`:
http://docs.platformio.org/en/latest/projectconf.html#lib-install

View File

@ -0,0 +1,38 @@
This directory is intended for the project specific (private) libraries.
PlatformIO will compile them to static libraries and link to executable file.
The source code of each library should be placed in separate directory, like
"lib/private_lib/[here are source files]".
For example, see how can be organised `Foo` and `Bar` libraries:
|--lib
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |- readme.txt --> THIS FILE
|- platformio.ini
|--src
|- main.c
Then in `src/main.c` you should use:
#include <Foo.h>
#include <Bar.h>
// rest H/C/CPP code
PlatformIO will find your libraries automatically, configure preprocessor's
include paths and build them.
See additional options for PlatformIO Library Dependency Finder `lib_*`:
http://docs.platformio.org/en/latest/projectconf.html#lib-install

View File

@ -1,14 +0,0 @@
Eclipse IDE Integration
=======================
The detailed information and steps are described in this article:
`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>`_.
.. image:: http://www.ikravets.com/wp-content/uploads/2014/06/eclipse_platformio_build_arduino_uno.png
:width: 850px
:target: http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio
.. image:: http://www.ikravets.com/wp-content/uploads/2014/06/eclipse_debugging_result_1-1024x775.png
:width: 850px
:target: http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio

View File

@ -1,20 +0,0 @@
/**
* Copyright (C) Ivan Kravets <me@ikravets.com>
* See LICENSE for details.
*/
#include "Arduino.h"
#define WLED 13 // Most Arduino boards already have an LED attached to pin 13 on the board itself
void setup()
{
pinMode(WLED, OUTPUT); // set pin as output
}
void loop()
{
digitalWrite(WLED, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(WLED, LOW); // set the LED off
delay(1000); // wait for a second
}

View File

@ -1,76 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="0.1706826288">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1706826288" moduleId="org.eclipse.cdt.core.settings" name="Default">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildProperties="" description="" id="0.1706826288" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
<folderInfo id="0.1706826288." name="/" resourcePath="">
<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.944229927" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.eclipse.cdt.build.core.prefbase.toolchain.944229927.1146791472" name=""/>
<builder cleanBuildTarget="run --target clean" command="platformio" id="org.eclipse.cdt.build.core.settings.default.builder.81097189" incrementalBuildTarget="run" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
<tool id="org.eclipse.cdt.build.core.settings.holder.libs.615700392" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
<tool id="org.eclipse.cdt.build.core.settings.holder.509191184" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1976688999" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-atmelavr/avr/include&quot;"/>
</option>
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.1146079252" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
<listOptionValue builtIn="false" value="__AVR_ATmega168__"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1061741986" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
<tool id="org.eclipse.cdt.build.core.settings.holder.524184308" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1379816017" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/atmelavr/tools/toolchain/avr/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-atmelavr/avr/include&quot;"/>
</option>
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.1180078676" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
<listOptionValue builtIn="false" value="__AVR_ATmega168__"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.492516621" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
<tool id="org.eclipse.cdt.build.core.settings.holder.746817635" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.905883681" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/atmelavr/tools/toolchain/avr/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-atmelavr/avr/include&quot;"/>
</option>
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.1589314232" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
<listOptionValue builtIn="false" value="__AVR_ATmega168__"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.247974714" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="test.null.312168076" name="test"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="0.1706826288">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="Default">
<resource resourceType="PROJECT" workspacePath="/test"/>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
</cproject>

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>atmelavr_atmega168</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
</projectDescription>

View File

@ -1,67 +0,0 @@
eclipse.preferences.version=1
org.eclipse.cdt.codan.checkers.errnoreturn=Warning
org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
org.eclipse.cdt.codan.checkers.errreturnvalue=Error
org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.checkers.noreturn=Error
org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=Error
org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=Error
org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning
org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error
org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning
org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false}
org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning
org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()}
org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=Error
org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning
org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true}
org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.InvalidArguments=Error
org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=Error
org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=Error
org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=Error
org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info
org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning
org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.OverloadProblem=Error
org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=Error
org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=Error
org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning
org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning
org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning
org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()}
org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning
org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false}
org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning
org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false}
org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning
org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning
org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning
org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")}
org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}

View File

@ -1,28 +0,0 @@
#
# Project Configuration File
#
# A detailed documentation with the EXAMPLES is located here:
# http://docs.platformio.org/en/latest/projectconf.html
#
# A sign `#` at the beginning of the line indicates a comment
# Comment lines are ignored.
# Simple and base environment
# [env:mybaseenv]
# platform = %INSTALLED_PLATFORM_NAME_HERE%
# framework =
# board =
#
# Automatic targets - enable auto-uploading
# targets = upload
[env:atmelavr_atmega168]
platform = atmelavr
board_mcu = atmega168
board_f_cpu = 16000000L
upload_protocol = arduino
upload_speed = 19200
# targets = upload

View File

@ -1,23 +0,0 @@
/**
* Copyright (C) Ivan Kravets <me@ikravets.com>
* See LICENSE for details.
*/
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
// make the LED pin an output for PORTB5
DDRB = 1 << 5;
while (1)
{
_delay_ms(500);
// toggle the LED
PORTB ^= 1 << 5;
}
return 0;
}

View File

@ -1,69 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="0.1778616297">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1778616297" moduleId="org.eclipse.cdt.core.settings" name="Default">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildProperties="" description="" id="0.1778616297" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
<folderInfo id="0.1778616297." name="/" resourcePath="">
<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.576447412" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.eclipse.cdt.build.core.prefbase.toolchain.576447412.203226592" name=""/>
<builder cleanBuildTarget="run --target clean" command="platformio" id="org.eclipse.cdt.build.core.settings.default.builder.592280532" incrementalBuildTarget="run" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
<tool id="org.eclipse.cdt.build.core.settings.holder.libs.251286138" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
<tool id="org.eclipse.cdt.build.core.settings.holder.1824859462" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.2021826184" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-timsp430/msp430/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/framework-energiamsp430/cores/msp430&quot;"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1509314343" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
<tool id="org.eclipse.cdt.build.core.settings.holder.1251065831" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1876118829" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/timsp430/tools/toolchain/msp430/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-timsp430/msp430/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/framework-energiamsp430/cores/msp430&quot;"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.518683230" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
<tool id="org.eclipse.cdt.build.core.settings.holder.847615484" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1922525168" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/timsp430/tools/toolchain/msp430/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-timsp430/msp430/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/framework-energiamsp430/cores/msp430&quot;"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.68822385" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="tilaunchpad_msp430g2.null.26341321" name="tilaunchpad_msp430g2"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="0.1778616297">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="Default">
<resource resourceType="PROJECT" workspacePath="/tilaunchpad_msp430g2"/>
</configuration>
</storageModule>
</cproject>

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>tilaunchpad_msp430g2</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
</projectDescription>

View File

@ -1,27 +0,0 @@
#
# Project Configuration File
#
# A detailed documentation with the EXAMPLES is located here:
# http://docs.platformio.org/en/latest/projectconf.html
#
# A sign `#` at the beginning of the line indicates a comment
# Comment lines are ignored.
# Simple and base environment
# [env:mybaseenv]
# platform = %INSTALLED_PLATFORM_NAME_HERE%
# framework =
# board =
#
# Automatic targets - enable auto-uploading
# targets = upload
[env:launchpad_msp430g2]
platform = timsp430
board_mcu = msp430g2553
board_f_cpu = 16000000L
upload_protocol = rf2500
# targets = upload

View File

@ -1,26 +0,0 @@
/**
* Copyright (C) Ivan Kravets <me@ikravets.com>
* See LICENSE for details.
*/
#include <msp430g2553.h>
int main(void)
{
WDTCTL = WDTPW + WDTHOLD;
// make the LED pin an output for P1.0
P1DIR |= 0x01;
volatile int i;
while (1)
{
for (i = 0; i < 10000; i++);
// toggle the LED
P1OUT ^= 0x01;
}
return 0;
}

View File

@ -1,63 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="0.18931736">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.18931736" moduleId="org.eclipse.cdt.core.settings" name="Default">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildProperties="" description="" id="0.18931736" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
<folderInfo id="0.18931736." name="/" resourcePath="">
<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.946409409" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.eclipse.cdt.build.core.prefbase.toolchain.946409409.264614082" name=""/>
<builder cleanBuildTarget="run --target clean" command="platformio" id="org.eclipse.cdt.build.core.settings.default.builder.2099118713" incrementalBuildTarget="run" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
<tool id="org.eclipse.cdt.build.core.settings.holder.libs.1860044306" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
<tool id="org.eclipse.cdt.build.core.settings.holder.490604788" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1186638432" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/framework-energiativa/cores/lm4f&quot;"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1338936035" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
<tool id="org.eclipse.cdt.build.core.settings.holder.1620533967" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1007143336" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/framework-energiativa/cores/lm4f&quot;"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.2051673558" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
<tool id="org.eclipse.cdt.build.core.settings.holder.549164281" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.454536693" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${HOME}/.platformio/packages/framework-energiativa/cores/lm4f&quot;"/>
</option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1468046922" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="titiva_lm4f120h5qr.null.1743670775" name="titiva_lm4f120h5qr"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="0.18931736">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope"/>
</cproject>

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>titiva_lm4f120</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
</projectDescription>

View File

@ -1,36 +0,0 @@
/**
* Copyright (C) Ivan Kravets <me@ikravets.com>
* See LICENSE for details.
*/
#define false 0
#define true 1
typedef int bool;
#include <stdint.h>
#include "inc/hw_memmap.h"
#include "driverlib/gpio.h"
#include "driverlib/sysctl.h"
#define LED_RED GPIO_PIN_1
#define LED_BLUE GPIO_PIN_2
#define LED_GREEN GPIO_PIN_3
void setup() {
SysCtlClockSet(
SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN);
}
void loop() {
GPIOPinWrite(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN, LED_RED);
SysCtlDelay(3000000);
GPIOPinWrite(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN, LED_BLUE);
SysCtlDelay(3000000);
GPIOPinWrite(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN, LED_GREEN);
SysCtlDelay(3000000);
}

8
examples/ide/clion/.idea/clion.iml generated Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="CPP_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

5
examples/ide/clion/.idea/misc.xml generated Normal file
View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
<component name="ProjectRootManager" version="2" />
</project>

9
examples/ide/clion/.idea/modules.xml generated Normal file
View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/clion.iml" filepath="$PROJECT_DIR$/.idea/clion.iml" />
<module fileurl="file://$PROJECT_DIR$/.idea/platformio.iml" filepath="$PROJECT_DIR$/.idea/platformio.iml" />
</modules>
</component>
</project>

8
examples/ide/clion/.idea/platformio.iml generated Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="CPP_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

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