Compare commits
885 Commits
Author | SHA1 | Date | |
---|---|---|---|
4c35870dff | |||
ac4e8514db | |||
646123f9ab | |||
11ef9dbdcb | |||
f3526b1d95 | |||
45d5159fe3 | |||
439e6b4ccf | |||
fb08322c17 | |||
c815e0fadc | |||
190ffab76d | |||
882bddf77e | |||
4f1e1a38c9 | |||
a9c02c9cbc | |||
331cfb5b54 | |||
0b80ed6c2b | |||
38967eab64 | |||
3ad1ad4ef1 | |||
0c8f469246 | |||
03d9351dec | |||
b3fc6617e5 | |||
1fdc2e3091 | |||
c773c8f5d5 | |||
b188a05b69 | |||
d7ca3f15a4 | |||
406e240de1 | |||
f3689ac157 | |||
ce72ee04f4 | |||
694121d49a | |||
250b39bcc8 | |||
c74a2b4529 | |||
a1e7ce415b | |||
ab15bafc5b | |||
f6014d2e52 | |||
35a602cfef | |||
6ecd86a244 | |||
0cb28f906e | |||
1a305f2dd7 | |||
cd22f5197b | |||
b3d27b42ad | |||
ab3a5331c1 | |||
9cbe12fbb8 | |||
056cc08d68 | |||
69effbfedb | |||
d881dfb63c | |||
d89b2828e3 | |||
75ca6c6e52 | |||
304c8b7184 | |||
3c46c17242 | |||
aca646e6b9 | |||
b587927687 | |||
3edc336f62 | |||
eee6685c59 | |||
76b5434157 | |||
a05f55554f | |||
ea800f35b7 | |||
4c70856505 | |||
cf7a3e377f | |||
03c0033bed | |||
238fa36212 | |||
f42c8f10f3 | |||
0a760ce9a4 | |||
a77cbe5c16 | |||
475a521d0f | |||
6a387359c3 | |||
7498791520 | |||
f80b378a7b | |||
9b86fdcfb0 | |||
4e2e8b9f07 | |||
69d6529f7e | |||
4f0b48174b | |||
0cf78c4297 | |||
4c80a022c7 | |||
f5f9421894 | |||
f7a0374d2b | |||
ab48a2a8ff | |||
8411769b0a | |||
9a9e177c41 | |||
e98cc7e500 | |||
3529e9083d | |||
2cd12f30a4 | |||
d6d8e7ec74 | |||
b410eed57d | |||
53e5c483f7 | |||
7b131ebdde | |||
7a0ad497da | |||
4b6fc94f94 | |||
ad9ae4c0af | |||
fc96e6a145 | |||
b317e7227a | |||
ab5d7f3313 | |||
a7c0e2e944 | |||
2264141879 | |||
d5b41fe617 | |||
b036a82203 | |||
eaf325b003 | |||
3519cc1a75 | |||
2f58b9c7d2 | |||
24ef799de7 | |||
2682e8db8a | |||
00b76e6fb5 | |||
b70858261f | |||
360024af38 | |||
bfdc425e7c | |||
7b14182083 | |||
7c760da618 | |||
262307608c | |||
879efeffd5 | |||
a1ba9d542f | |||
c77e1a9ae8 | |||
c5d961e27e | |||
ffdec11db4 | |||
b51d95aba5 | |||
f3e8cd9707 | |||
19a4ccee8c | |||
f7be8ad666 | |||
d01d40d33c | |||
0dd134c338 | |||
b2aa46bf62 | |||
d1f4f82897 | |||
12ef1b26bf | |||
1872ecff16 | |||
7cb21dd981 | |||
565ca05366 | |||
db0dbe6d8c | |||
a821e5b553 | |||
0fdccddd88 | |||
9ff22f802a | |||
a2d08c6d9c | |||
da2946f45c | |||
52bfe10ed5 | |||
fb8c2c705c | |||
f75358f561 | |||
a6ac5ad19b | |||
728ef7f1b7 | |||
c1c9b1b219 | |||
2cac6796ff | |||
05a52003d0 | |||
f559d31363 | |||
b0b84560b1 | |||
2884c8b641 | |||
7e9929a310 | |||
92ffc112b8 | |||
9c15accbbb | |||
582a1f744e | |||
05277af5a7 | |||
c7880b6736 | |||
6356e49fdd | |||
669561782b | |||
fe08e1f3f9 | |||
530868a1fe | |||
9b95d68475 | |||
93f9603043 | |||
2c45f18fa1 | |||
e3b3ea53be | |||
3a0ef70249 | |||
a5b064eb26 | |||
5ceae22f5f | |||
da7ee2c86f | |||
bc3d8d26d0 | |||
b67acfec9c | |||
b5366f9d2f | |||
dbeea7ec4f | |||
9a850d4c61 | |||
9c545dc67b | |||
61256c53fe | |||
5be9b0e120 | |||
44c0575e9b | |||
14da22f5ab | |||
e50121e013 | |||
b169f2e252 | |||
d83b1280ed | |||
2d684d36e8 | |||
4023d5e558 | |||
0091ceecae | |||
9a6d15cfe6 | |||
b39dcb11ee | |||
ac4387328f | |||
5e4fcf0ed5 | |||
ea5a0ae75c | |||
657345fa7a | |||
2862c97958 | |||
b958960512 | |||
c327cd5c3f | |||
4256d6b6a3 | |||
b34b00eed2 | |||
ec2305bb10 | |||
553b91460a | |||
32e1ce219a | |||
86ddf628b1 | |||
1af462ff66 | |||
9d50803b0c | |||
08d38b0b79 | |||
edb2a50100 | |||
3011c6dd3f | |||
74a9483286 | |||
3f68eab9bc | |||
7dc80af70a | |||
83698dbdc0 | |||
e231b664fe | |||
c8c1c28054 | |||
85ad1a1f29 | |||
f412abf137 | |||
97487b617a | |||
3ce17fbcb6 | |||
af499876ff | |||
3487a21795 | |||
757df8c8ab | |||
034f431ab1 | |||
fa30a50d20 | |||
6523445185 | |||
8d22591914 | |||
a9bd45bbc8 | |||
605a5da65a | |||
739cfb2182 | |||
6005eaa9bc | |||
14f80975fa | |||
ea13e084ed | |||
f9cb31a2f3 | |||
85a5409e85 | |||
99abd8c090 | |||
f633dde50c | |||
26566282ee | |||
44fc5163e7 | |||
c231f0e41e | |||
6ee9c06285 | |||
4063cd6abd | |||
325c50e924 | |||
efd1896825 | |||
4f61a05c9e | |||
26bfd74a3c | |||
ee088f3aea | |||
c162988868 | |||
213938a9f8 | |||
d091d4f000 | |||
f74f79eed0 | |||
4c4682f457 | |||
614a736eff | |||
1332413f63 | |||
1e3e3dd999 | |||
888967eb61 | |||
7e0ccd0712 | |||
6a0cd46da7 | |||
288eb4df25 | |||
8388359b36 | |||
c9505b3acc | |||
72cb2f1240 | |||
9473e51e40 | |||
8cf3765b30 | |||
a1441b3e73 | |||
98026d83b6 | |||
b0ba8ae5e3 | |||
6190f1aa8f | |||
fdff0afd89 | |||
52bbe9af33 | |||
6d2130444d | |||
ce2bef7d26 | |||
2c4fbda5e3 | |||
f6f4366030 | |||
e6c1e35e75 | |||
bcb40fb2f9 | |||
8baf163684 | |||
99ddea6906 | |||
1c481e0840 | |||
ff08416307 | |||
d7e97731d8 | |||
0263691f8d | |||
2b2fe46772 | |||
10ad8ec987 | |||
fed45e5453 | |||
1f1dc9c5e6 | |||
caa0efd265 | |||
76c8ac4e6c | |||
3e52c194ca | |||
3f8d89f34a | |||
17796de60d | |||
66713021de | |||
d3f03f3fc8 | |||
17c9e8ddc1 | |||
87bc6a7e8c | |||
2faa2e003a | |||
a965d0ea6f | |||
90382e0f0d | |||
62d226c8a3 | |||
d7c49b72a9 | |||
779798c622 | |||
fbdcda720d | |||
321640bd71 | |||
5107d767ee | |||
dc007dd136 | |||
50294274c3 | |||
63902c8215 | |||
69836be1ca | |||
851f7db825 | |||
3484c41b64 | |||
d0d292b80f | |||
7e5f6fe22a | |||
45efc0e0d6 | |||
6baf6568d2 | |||
1a4d1c7d40 | |||
afe80072c6 | |||
b17acd7605 | |||
45096c3137 | |||
c3f78d1977 | |||
8dfd6ac3bb | |||
8a2789fe3f | |||
40729c38eb | |||
6c2df7d0e1 | |||
223a055e8b | |||
96c7ef36c2 | |||
21b52031e7 | |||
b44c75a3c1 | |||
1f95b6be25 | |||
848c50c55c | |||
0c4e0327e3 | |||
3eb3ba4ee0 | |||
631fd707fe | |||
8a269b1d24 | |||
131f1eb943 | |||
c036bde86c | |||
9102a70e04 | |||
c9616ed0fa | |||
dce2f2594a | |||
8c0bcc6ad9 | |||
edf19a8cac | |||
41f2adc1f6 | |||
2b55a2fd05 | |||
45e8379d99 | |||
73041b71a4 | |||
f8419c9184 | |||
aebba5f1c1 | |||
a446386cc9 | |||
2be2a4ebf3 | |||
d20eca3f09 | |||
3bc5cb0d27 | |||
e6745de8d8 | |||
04cd772f0d | |||
d44d757985 | |||
df8fda5b69 | |||
c74f122426 | |||
c20b6af1ec | |||
de43166257 | |||
5c2ba90edf | |||
503decdf2e | |||
ec19341e05 | |||
477f387bd7 | |||
9ede9d3c6d | |||
34d5358eaa | |||
9db5a7e004 | |||
e5f3dee470 | |||
63911f5192 | |||
8824c14768 | |||
17d68652cf | |||
559c46beb0 | |||
380d6eb4be | |||
d2f3b76132 | |||
07b69e9f59 | |||
3ce32e54b2 | |||
7cce906e55 | |||
a3911eda3b | |||
3ac72e4b8c | |||
456e0109cd | |||
1a2ed160cd | |||
9b49b80051 | |||
8a55e65388 | |||
0cecd955c5 | |||
a0d3a180e4 | |||
e257eeff0a | |||
8bc54b0179 | |||
59a97bff3d | |||
870b306b86 | |||
c29399944e | |||
21834b0832 | |||
5535529903 | |||
1ae2e189dd | |||
5e8bfe5ef2 | |||
6bd7129c80 | |||
a41cf3dd48 | |||
1829952b1e | |||
d658363b53 | |||
cc1dec39cf | |||
3035d4eeec | |||
c55204cc50 | |||
c48ffc0089 | |||
257f4b1c5b | |||
7f386126cb | |||
b1e9dea790 | |||
88fe8f2129 | |||
52ceb64758 | |||
1b85a3ddd3 | |||
9ba493bcee | |||
54f2f4ce45 | |||
2d42f944cd | |||
2f9b61aee4 | |||
e2d9d0a5d8 | |||
b60eb059c3 | |||
516887c050 | |||
8a85d7ef1c | |||
fa51860268 | |||
3d0aad6df8 | |||
4e2370e0a0 | |||
5634419513 | |||
5552460b2f | |||
038b641a4d | |||
b397748f53 | |||
cd1440adb2 | |||
4097c34db8 | |||
fcf50a80ac | |||
010a8d15cd | |||
29174e343d | |||
9dde962add | |||
5c9bfdac00 | |||
a9464d7878 | |||
33543d6d8f | |||
df099e15c0 | |||
7a7fa845fe | |||
0751a2cef9 | |||
917c0e3388 | |||
13ba785400 | |||
6bc7404d3a | |||
44f0fc9720 | |||
7184d70f0c | |||
5ecf952934 | |||
39839e919e | |||
363249f165 | |||
5d74e8ae6e | |||
db50043972 | |||
fdff35e31c | |||
4d2daa9da4 | |||
7d9cd1c2ae | |||
77c192050a | |||
6be39120ae | |||
b1de8d119d | |||
f29a06e3f3 | |||
678791bd09 | |||
b408f8f0bf | |||
e101b02ccb | |||
628c54e0c6 | |||
af85f76f9a | |||
19f1ccd0df | |||
5c1c1da5f0 | |||
5272f184cf | |||
4bd507713c | |||
6aaca7d33d | |||
6e02ba17e3 | |||
b588823799 | |||
4d3a6c9791 | |||
3f19f51937 | |||
08ba6cc51c | |||
be049bfac2 | |||
b7ecdf631b | |||
02480730bb | |||
4d8265bee2 | |||
aff525e763 | |||
8d6aee3178 | |||
d139225ffb | |||
56c5ba6fbb | |||
7a91683ca6 | |||
f2cad66d79 | |||
98ec2237b7 | |||
27a555b99a | |||
680c3867db | |||
121102beef | |||
4f8138fe1f | |||
044486d46f | |||
2d2ce0661f | |||
e88ef48e18 | |||
2dd2dd4f0d | |||
38d9f0f5bc | |||
14aed800a2 | |||
621393138f | |||
a959ff767d | |||
11986354d9 | |||
5ea7ec470a | |||
a0bcb4d4f0 | |||
ed68878592 | |||
3121ca5669 | |||
5abb21c3f9 | |||
b9a87b3d54 | |||
cd1259613a | |||
023a3487e0 | |||
2c4c3a12ea | |||
cae5f1f553 | |||
d7673b69e2 | |||
85f0877d32 | |||
e152155a58 | |||
ce93e6013f | |||
bee51aadcb | |||
956633847d | |||
918deb41a4 | |||
1b7b2ca0a2 | |||
1b84078541 | |||
f7311eb94d | |||
9312ca7f0d | |||
533720218a | |||
d2088e7444 | |||
9006b8b618 | |||
b9f926d13b | |||
319636f017 | |||
4c665a292a | |||
72f93cd563 | |||
2e38b156dd | |||
a9a50f79da | |||
4b922b9de2 | |||
36912c0fe6 | |||
dfe39f386d | |||
943d16bcf8 | |||
6d0b1a8106 | |||
663a3b1aec | |||
131f6504ca | |||
94cdc9b69e | |||
1c1cd2509e | |||
abdc76aef8 | |||
9b058c3958 | |||
d91261412e | |||
2e26b5d31d | |||
3266d3b211 | |||
c2072e3e62 | |||
5266f4810b | |||
6e83b4b093 | |||
7b1b908779 | |||
7a95a201b5 | |||
70c86525cc | |||
618d32b872 | |||
66ca204697 | |||
54d650aa40 | |||
851b452c17 | |||
0ff795e798 | |||
43b50e5b9f | |||
18d68bafd0 | |||
feb951c35e | |||
41c2164755 | |||
ee87b55947 | |||
7119bb9084 | |||
132c769766 | |||
e4dbcd50cc | |||
62d5f66ae2 | |||
cfa3f1b520 | |||
0951d53f52 | |||
186580d794 | |||
1a47cfc938 | |||
edc06f12b5 | |||
3830e98c1d | |||
3cbbecb413 | |||
f0abd353ae | |||
84cbbe437d | |||
34a5d366d5 | |||
d3b7fc7ddb | |||
3d413743e4 | |||
b3d5ced193 | |||
1e38db8cae | |||
b073760711 | |||
f778bdb741 | |||
2afbe2a64b | |||
a5878c5544 | |||
997cfbf488 | |||
3afc8c7908 | |||
1e21d6e05b | |||
8eebd39426 | |||
7e985219ad | |||
7ce780bcc6 | |||
62b41e0994 | |||
4c65093a66 | |||
cb4c4e13a3 | |||
3b7de598d3 | |||
a85bf32700 | |||
004125a2ca | |||
d4e4ab07a6 | |||
94bb0dc43e | |||
becec986ea | |||
9eae55f03c | |||
4e90a2fd42 | |||
c4d5960eb6 | |||
3595c2cc88 | |||
73cc3e3ac8 | |||
1541537d0d | |||
abf4376d20 | |||
faf2839a08 | |||
15224e3c02 | |||
093176b2ee | |||
dffc8ef940 | |||
21c64b2fe1 | |||
7868566a78 | |||
f793ff1a86 | |||
e702e1eb27 | |||
5b2fac95ce | |||
2baf14f900 | |||
cc1eb4bad6 | |||
fbd2c61f40 | |||
9cc9912ef2 | |||
e69bc34678 | |||
9d01d86652 | |||
2c301ca422 | |||
9cec353d40 | |||
c42561de45 | |||
c841ba1cba | |||
eb1971fb17 | |||
983db2f3c8 | |||
c87c4691f3 | |||
68c64cd942 | |||
dfb93e9682 | |||
b7ab825860 | |||
28619a6ce7 | |||
7eed6f56f6 | |||
234517ee0a | |||
a483ecdfdb | |||
97ee8d55ce | |||
7727562f44 | |||
f6686f149b | |||
2345eb3bb7 | |||
16abaccf96 | |||
8c8de45f30 | |||
f4f65e4c84 | |||
a8ae5e4d03 | |||
b91f03f082 | |||
e1396e57b6 | |||
67cbf25b96 | |||
e721ebe171 | |||
c2d760bccb | |||
5dc1396f05 | |||
5b1ceccd1f | |||
bf1751059c | |||
7e069afbb2 | |||
bacb813b31 | |||
c670372b41 | |||
ec9b8f980d | |||
28399f8ac6 | |||
ef5fa4dea0 | |||
84e82dd39a | |||
f842898102 | |||
1bf73c268d | |||
17ec85263c | |||
50ba235917 | |||
14fc21c379 | |||
306f2f980d | |||
a7a82b1c0a | |||
d806097b60 | |||
9f4b73d821 | |||
ff5d57039e | |||
db42863f54 | |||
946f21879c | |||
20b214f3a4 | |||
8aedc50f30 | |||
cd11171e33 | |||
bcb4e1abfd | |||
786b977603 | |||
5264d85a78 | |||
5713a6233f | |||
98ad4adcf3 | |||
304c023b4e | |||
7ce1dd4f5c | |||
332b19f35b | |||
774ea5240e | |||
221b7ed188 | |||
304339e309 | |||
bf9c9b8985 | |||
e85bc39315 | |||
ed32e07e34 | |||
9bd1f99b69 | |||
25f57cc683 | |||
fb4d605e33 | |||
426b276b08 | |||
a085d90af2 | |||
8023b85085 | |||
f17d2d7f90 | |||
aef06e837a | |||
d63f6cff08 | |||
354fbf6253 | |||
238ce2e858 | |||
c8b6bd1c2c | |||
dd5a509a99 | |||
970ddd44bf | |||
c0eded84a0 | |||
5a83ebe48e | |||
d90697d8db | |||
159c0a93d2 | |||
a6040bb53d | |||
7d39c886f4 | |||
771a90a588 | |||
7b1858a5ce | |||
c95226ec1e | |||
6bece3f371 | |||
48c3e5aa29 | |||
73ae2ffb9b | |||
34aaf7b157 | |||
904b08f497 | |||
5454c35430 | |||
aa98d7dc5d | |||
020c1c7975 | |||
cf98750f4b | |||
09ccae0f30 | |||
522cbacada | |||
841fa02b18 | |||
47041272d2 | |||
c7a6f4f186 | |||
2756984273 | |||
cc46fa34e8 | |||
b94cc655c2 | |||
1c5d34cb5f | |||
ace9ae0b24 | |||
91345c0bdd | |||
1790c6bd0f | |||
d72b899471 | |||
bf9bbabfd6 | |||
fff9b34ed7 | |||
ce3a8c1f46 | |||
c420fa4bc2 | |||
8e5f9067af | |||
306b0a2f62 | |||
96f4667755 | |||
2c53bd49f2 | |||
caa0961337 | |||
32d3b632d2 | |||
3945edb7fe | |||
928feee008 | |||
9ef4b00238 | |||
616a769ff5 | |||
ef2c96ac84 | |||
1c63da7f33 | |||
2e00e5f463 | |||
8360bf9d84 | |||
1520c096a4 | |||
a965bfd32e | |||
7741790bd8 | |||
f0e6f8cee2 | |||
c4a4dcd419 | |||
b89a04acd8 | |||
b7d2619651 | |||
c07e957e28 | |||
b183431c27 | |||
177353bf7a | |||
de2d6818c1 | |||
f758d8607a | |||
1164ef31ca | |||
2997273654 | |||
20edf7de41 | |||
7467c281cc | |||
3b8d7304ff | |||
6e274cbf20 | |||
3a0614641b | |||
c395dd5ebd | |||
1c9dc2ba3d | |||
52b98dd159 | |||
1426e78793 | |||
8eb2798e5c | |||
ec6af9a460 | |||
ec844961c7 | |||
e1c9cb2c00 | |||
2c0d26e06d | |||
3c36eafdfa | |||
e22ab787dd | |||
948b75aeda | |||
4dcef89301 | |||
12b29a760a | |||
43ca0e149f | |||
ad1666dd0a | |||
1b4d4f5695 | |||
a714e6084a | |||
a8dd5d85a5 | |||
83363c7077 | |||
d99a57365f | |||
3cb41cf6b0 | |||
5201626d6a | |||
f812e74324 | |||
0668d6d290 | |||
46d1c2c86c | |||
ee7fe1fc10 | |||
c997495b5d | |||
605b5755bf | |||
b60c761cce | |||
12d6df6962 | |||
34972c77f5 | |||
2c5db64677 | |||
fa33d53180 | |||
57b877f445 | |||
dcb6d8286b | |||
3a8c515e21 | |||
50984f1475 | |||
4338bade5b | |||
ed10ecd142 | |||
6815297b0c | |||
c72bf9ea31 | |||
d4f4d9c789 | |||
61ef27c345 | |||
9c73e59772 | |||
0405ba3f31 | |||
f5f97fe0fd | |||
82a8bd01fc | |||
b15408e693 | |||
74ac9ffa1c | |||
ed5f035d1c | |||
0f5417bab4 | |||
0311418bfc | |||
bc449fec48 | |||
1e7240d6dc | |||
2732d63362 | |||
78bf56e327 | |||
01eb25cb39 | |||
1f612b466c | |||
0a85e01322 | |||
3cb4e6e854 | |||
d566eb2a36 | |||
71890a34be | |||
c254a3490c | |||
a032026f46 | |||
e1ee61d31b | |||
ca4694e1af | |||
9fea8f4488 | |||
f9f54da914 | |||
97c1a27031 | |||
0d8d5fdb32 | |||
25c448627e | |||
baa83c6ee6 | |||
2f7a6ef0a1 | |||
c50332daa2 | |||
8dbb282416 | |||
ef8f7d4fc0 | |||
74ea4ae9c2 | |||
2cf1b1420c | |||
8bdcf54d9f | |||
a815aa15ec | |||
b1dbba6224 | |||
35901a125d | |||
52b28867a0 | |||
d7d71b60f8 | |||
465e952ae4 | |||
200658ae6d | |||
e58f5e3617 | |||
78ba3176f2 | |||
abd02570f4 | |||
97b8d4eeea | |||
92036356ca | |||
6842df5577 | |||
793352dfbf | |||
b96535abff | |||
2b4b50ee08 | |||
e2795716f9 | |||
47d5783700 | |||
9f6c677276 | |||
70f117f63f | |||
83c8e914ae | |||
38b6a86858 | |||
76267b7db6 | |||
4cd0febb18 | |||
9d9488edd1 | |||
a1483c263f | |||
8e42c4ae31 | |||
bf15ba3a78 | |||
20a0592b37 | |||
5422054ae4 | |||
ac3844aa95 | |||
1b41ffba60 | |||
3393d81452 | |||
25baee266c | |||
731467d4e9 | |||
bd03d75f14 | |||
260dd03179 | |||
35f7d8a4cc | |||
84fb5e59a9 | |||
838ba3ad4f | |||
ad7be3b397 | |||
27ca987284 | |||
2b8f7824c2 | |||
5679271913 | |||
c9491f47e1 | |||
5e2415cb37 | |||
2715efd910 | |||
b65a356669 | |||
9ec0d3bc8c | |||
acd0ecf38a | |||
b75db38e45 | |||
c7a79cb8b4 | |||
7e5c22706b | |||
7d5a2c4dfc | |||
584d03c802 | |||
0646ffc93f | |||
0f8b506c76 | |||
f0d849a702 | |||
0d196ef7b7 | |||
75edcef099 | |||
ce82b14f6b | |||
e102fb2880 | |||
203026a57b | |||
86e39f9b44 | |||
edcad9c251 | |||
cb6d433e15 |
53
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
What kind of issue is this?
|
||||
|
||||
- [ ] Question. This issue tracker is not the place for questions. If you want to ask how to do
|
||||
something, or to understand why something isn't working the way you expect it to, use
|
||||
our Community Forums https://community.platformio.org
|
||||
|
||||
- [ ] Feature Request. Start by telling us what problem you’re trying to solve. Often a solution
|
||||
already exists! Don’t send pull requests to implement new features without first getting our
|
||||
support. Sometimes we leave features out on purpose to keep the project small.
|
||||
|
||||
- [ ] PlatformIO IDE. All issues related to PlatformIO IDE should be reported to appropriate repository
|
||||
https://github.com/platformio/platformio-atom-ide/issues
|
||||
|
||||
- [ ] Bug report. If you’ve found a bug, please provide information below.
|
||||
|
||||
*You can erase any parts of this template not applicable to your Issue.*
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
### Configuration
|
||||
|
||||
**Operating system**:
|
||||
|
||||
**PlatformIO Version** (`platformio --version`):
|
||||
|
||||
### Description of problem
|
||||
|
||||
|
||||
#### Steps to Reproduce
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
### Actual Results
|
||||
|
||||
|
||||
### Expected Results
|
||||
|
||||
|
||||
### If problems with PlatformIO Build System:
|
||||
|
||||
**The content of `platformio.ini`:**
|
||||
```ini
|
||||
Insert here...
|
||||
```
|
||||
|
||||
**Source file to reproduce issue:**
|
||||
```cpp
|
||||
Insert here...
|
||||
```
|
||||
|
||||
### Additional info
|
4
.gitignore
vendored
@ -2,8 +2,6 @@
|
||||
*.pyc
|
||||
.pioenvs
|
||||
.tox
|
||||
.sconsign.dblite
|
||||
examples/ide-eclipse/.metadata
|
||||
examples/ide-eclipse/RemoteSystemsTempFiles
|
||||
docs/_build
|
||||
dist
|
||||
build
|
||||
|
9
.gitmodules
vendored
@ -1,6 +1,3 @@
|
||||
[submodule "examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-PCD8544-Nokia-5110-LCD-library"]
|
||||
path = examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-PCD8544-Nokia-5110-LCD-library
|
||||
url = https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library.git
|
||||
[submodule "examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-GFX-Library"]
|
||||
path = examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-GFX-Library
|
||||
url = https://github.com/adafruit/Adafruit-GFX-Library.git
|
||||
[submodule "examples"]
|
||||
path = examples
|
||||
url = https://github.com/platformio/platformio-examples.git
|
||||
|
@ -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
|
||||
|
270
.pylintrc
@ -1,29 +1,9 @@
|
||||
[MASTER]
|
||||
|
||||
# Specify a configuration file.
|
||||
#rcfile=
|
||||
|
||||
# Python code to execute, usually for sys.path manipulation such as
|
||||
# pygtk.require().
|
||||
#init-hook=
|
||||
|
||||
# Profiled execution.
|
||||
profile=no
|
||||
|
||||
# Add files or directories to the blacklist. They should be base names, not
|
||||
# paths.
|
||||
ignore=CVS
|
||||
|
||||
# Pickle collected data for later comparisons.
|
||||
persistent=yes
|
||||
|
||||
# List of plugins (as comma separated values of python modules names) to load,
|
||||
# usually to register additional checkers.
|
||||
load-plugins=
|
||||
|
||||
|
||||
[MESSAGES CONTROL]
|
||||
|
||||
# Only show warnings with the listed confidence levels. Leave empty to show
|
||||
# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED
|
||||
confidence=
|
||||
|
||||
# Enable the message, report, category or checker with the given id(s). You can
|
||||
# either give multiple identifier separated by comma (,) or put this option
|
||||
# multiple time. See also the "--disable" option for examples.
|
||||
@ -38,244 +18,6 @@ load-plugins=
|
||||
# --enable=similarities". If you want to run only the classes checker, but have
|
||||
# no Warning level messages displayed, use"--disable=all --enable=classes
|
||||
# --disable=W"
|
||||
disable=C0103,C0111,E0611,F0401,I0011,R0801,R0903,R0922
|
||||
# disable=import-star-module-level,old-octal-literal,oct-method,print-statement,unpacking-in-except,parameter-unpacking,backtick,old-raise-syntax,old-ne-operator,long-suffix,dict-view-method,dict-iter-method,metaclass-assignment,next-method-called,raising-string,indexing-exception,raw_input-builtin,long-builtin,file-builtin,execfile-builtin,coerce-builtin,cmp-builtin,buffer-builtin,basestring-builtin,apply-builtin,filter-builtin-not-iterating,using-cmp-argument,useless-suppression,range-builtin-not-iterating,suppressed-message,no-absolute-import,old-division,cmp-method,reload-builtin,zip-builtin-not-iterating,intern-builtin,unichr-builtin,reduce-builtin,standarderror-builtin,unicode-builtin,xrange-builtin,coerce-method,delslice-method,getslice-method,setslice-method,input-builtin,round-builtin,hex-method,nonzero-method,map-builtin-not-iterating
|
||||
|
||||
|
||||
[REPORTS]
|
||||
|
||||
# Set the output format. Available formats are text, parseable, colorized, msvs
|
||||
# (visual studio) and html. You can also give a reporter class, eg
|
||||
# mypackage.mymodule.MyReporterClass.
|
||||
output-format=text
|
||||
|
||||
# Put messages in a separate file for each module / package specified on the
|
||||
# command line instead of printing them on stdout. Reports (if any) will be
|
||||
# written in a file name "pylint_global.[txt|html]".
|
||||
files-output=no
|
||||
|
||||
# Tells whether to display a full report or only the messages
|
||||
reports=yes
|
||||
|
||||
# Python expression which should return a note less than 10 (10 is the highest
|
||||
# note). You have access to the variables errors warning, statement which
|
||||
# respectively contain the number of errors / warnings messages and the total
|
||||
# number of statements analyzed. This is used by the global evaluation report
|
||||
# (RP0004).
|
||||
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
|
||||
|
||||
# Add a comment according to your evaluation note. This is used by the global
|
||||
# evaluation report (RP0004).
|
||||
comment=no
|
||||
|
||||
# Template used to display messages. This is a python new-style format string
|
||||
# used to format the message information. See doc for all details
|
||||
#msg-template=
|
||||
msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg}
|
||||
|
||||
|
||||
[BASIC]
|
||||
|
||||
# Required attributes for module, separated by a comma
|
||||
required-attributes=
|
||||
|
||||
# List of builtins function names that should not be used, separated by a comma
|
||||
bad-functions=map,filter,apply,input
|
||||
|
||||
# Regular expression which should only match correct module names
|
||||
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
|
||||
|
||||
# Regular expression which should only match correct module level names
|
||||
const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
|
||||
|
||||
# Regular expression which should only match correct class names
|
||||
class-rgx=[A-Z_][a-zA-Z0-9]+$
|
||||
|
||||
# Regular expression which should only match correct function names
|
||||
function-rgx=[a-z_][a-z0-9_]{2,30}$
|
||||
|
||||
# Regular expression which should only match correct method names
|
||||
method-rgx=[a-z_][a-z0-9_]{2,30}$
|
||||
|
||||
# Regular expression which should only match correct instance attribute names
|
||||
attr-rgx=[a-z_][a-z0-9_]{2,30}$
|
||||
|
||||
# Regular expression which should only match correct argument names
|
||||
argument-rgx=[a-z_][a-z0-9_]{2,30}$
|
||||
|
||||
# Regular expression which should only match correct variable names
|
||||
variable-rgx=[a-z_][a-z0-9_]{2,30}$
|
||||
|
||||
# Regular expression which should only match correct attribute names in class
|
||||
# bodies
|
||||
class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
|
||||
|
||||
# Regular expression which should only match correct list comprehension /
|
||||
# generator expression variable names
|
||||
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
|
||||
|
||||
# Good variable names which should always be accepted, separated by a comma
|
||||
good-names=i,j,k,ex,Run,_
|
||||
|
||||
# Bad variable names which should always be refused, separated by a comma
|
||||
bad-names=foo,bar,baz,toto,tutu,tata
|
||||
|
||||
# Regular expression which should only match function or class names that do
|
||||
# not require a docstring.
|
||||
no-docstring-rgx=__.*__
|
||||
|
||||
# Minimum line length for functions/classes that require docstrings, shorter
|
||||
# ones are exempt.
|
||||
docstring-min-length=-1
|
||||
|
||||
|
||||
[FORMAT]
|
||||
|
||||
# Maximum number of characters on a single line.
|
||||
max-line-length=80
|
||||
|
||||
# Regexp for a line that is allowed to be longer than the limit.
|
||||
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
|
||||
|
||||
# Allow the body of an if to be on the same line as the test if there is no
|
||||
# else.
|
||||
single-line-if-stmt=no
|
||||
|
||||
# List of optional constructs for which whitespace checking is disabled
|
||||
no-space-check=trailing-comma,dict-separator
|
||||
|
||||
# Maximum number of lines in a module
|
||||
max-module-lines=1000
|
||||
|
||||
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
|
||||
# tab).
|
||||
indent-string=' '
|
||||
|
||||
|
||||
[MISCELLANEOUS]
|
||||
|
||||
# List of note tags to take in consideration, separated by a comma.
|
||||
notes=FIXME,XXX,TODO
|
||||
|
||||
|
||||
[SIMILARITIES]
|
||||
|
||||
# Minimum lines number of a similarity.
|
||||
min-similarity-lines=4
|
||||
|
||||
# Ignore comments when computing similarities.
|
||||
ignore-comments=yes
|
||||
|
||||
# Ignore docstrings when computing similarities.
|
||||
ignore-docstrings=yes
|
||||
|
||||
# Ignore imports when computing similarities.
|
||||
ignore-imports=no
|
||||
|
||||
|
||||
[TYPECHECK]
|
||||
|
||||
# Tells whether missing members accessed in mixin class should be ignored. A
|
||||
# mixin class is detected if its name ends with "mixin" (case insensitive).
|
||||
ignore-mixin-members=yes
|
||||
|
||||
# List of classes names for which member attributes should not be checked
|
||||
# (useful for classes with attributes dynamically set).
|
||||
ignored-classes=SQLObject
|
||||
|
||||
# When zope mode is activated, add a predefined set of Zope acquired attributes
|
||||
# to generated-members.
|
||||
zope=no
|
||||
|
||||
# List of members which are set dynamically and missed by pylint inference
|
||||
# system, and so shouldn't trigger E0201 when accessed. Python regular
|
||||
# expressions are accepted.
|
||||
generated-members=REQUEST,acl_users,aq_parent
|
||||
|
||||
|
||||
[VARIABLES]
|
||||
|
||||
# Tells whether we should check for unused import in __init__ files.
|
||||
init-import=no
|
||||
|
||||
# A regular expression matching the beginning of the name of dummy variables
|
||||
# (i.e. not used).
|
||||
dummy-variables-rgx=_$|dummy
|
||||
|
||||
# List of additional names supposed to be defined in builtins. Remember that
|
||||
# you should avoid to define new builtins when possible.
|
||||
additional-builtins=
|
||||
|
||||
|
||||
[CLASSES]
|
||||
|
||||
# List of interface methods to ignore, separated by a comma. This is used for
|
||||
# instance to not check methods defines in Zope's Interface base class.
|
||||
ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by
|
||||
|
||||
# List of method names used to declare (i.e. assign) instance attributes.
|
||||
defining-attr-methods=__init__,__new__,setUp
|
||||
|
||||
# List of valid names for the first argument in a class method.
|
||||
valid-classmethod-first-arg=cls
|
||||
|
||||
# List of valid names for the first argument in a metaclass class method.
|
||||
valid-metaclass-classmethod-first-arg=mcs
|
||||
|
||||
|
||||
[DESIGN]
|
||||
|
||||
# Maximum number of arguments for function / method
|
||||
max-args=5
|
||||
|
||||
# Argument names that match this expression will be ignored. Default to name
|
||||
# with leading underscore
|
||||
ignored-argument-names=_.*
|
||||
|
||||
# Maximum number of locals for function / method body
|
||||
max-locals=15
|
||||
|
||||
# Maximum number of return / yield for function / method body
|
||||
max-returns=6
|
||||
|
||||
# Maximum number of branch for function / method body
|
||||
max-branches=12
|
||||
|
||||
# Maximum number of statements in function / method body
|
||||
max-statements=50
|
||||
|
||||
# Maximum number of parents for a class (see R0901).
|
||||
max-parents=7
|
||||
|
||||
# Maximum number of attributes for a class (see R0902).
|
||||
max-attributes=7
|
||||
|
||||
# Minimum number of public methods for a class (see R0903).
|
||||
min-public-methods=2
|
||||
|
||||
# Maximum number of public methods for a class (see R0904).
|
||||
max-public-methods=20
|
||||
|
||||
|
||||
[IMPORTS]
|
||||
|
||||
# Deprecated modules which should not be used, separated by a comma
|
||||
deprecated-modules=regsub,TERMIOS,Bastion,rexec
|
||||
|
||||
# Create a graph of every (i.e. internal and external) dependencies in the
|
||||
# given file (report RP0402 must not be disabled)
|
||||
import-graph=
|
||||
|
||||
# Create a graph of external dependencies in the given file (report RP0402 must
|
||||
# not be disabled)
|
||||
ext-import-graph=
|
||||
|
||||
# Create a graph of internal dependencies in the given file (report RP0402 must
|
||||
# not be disabled)
|
||||
int-import-graph=
|
||||
|
||||
|
||||
[EXCEPTIONS]
|
||||
|
||||
# Exceptions that will emit a warning when being caught. Defaults to
|
||||
# "Exception"
|
||||
overgeneral-exceptions=Exception
|
||||
disable=locally-disabled,missing-docstring,invalid-name,too-few-public-methods,redefined-variable-type,import-error,similarities,unsupported-membership-test,unsubscriptable-object,ungrouped-imports
|
||||
|
22
.travis.yml
@ -1,15 +1,23 @@
|
||||
language: python
|
||||
python:
|
||||
- "2.7"
|
||||
- "2.7"
|
||||
|
||||
env:
|
||||
- TOX_ENV=docs
|
||||
- TOX_ENV=lint
|
||||
- TOX_ENV=py26
|
||||
- TOX_ENV=py27
|
||||
- TOX_ENV=docs
|
||||
- TOX_ENV=lint
|
||||
- TOX_ENV=py26
|
||||
- TOX_ENV=py27
|
||||
|
||||
install:
|
||||
- pip install tox
|
||||
- git submodule update --init --recursive
|
||||
- pip install -U pip setuptools tox
|
||||
- sudo apt-get install -qq lib32z1 lib32ncurses5 lib32bz2-1.0 # temporarily
|
||||
|
||||
script:
|
||||
- tox -e $TOX_ENV
|
||||
- tox -e $TOX_ENV
|
||||
|
||||
notifications:
|
||||
slack:
|
||||
secure: ksQmXOP5NVsf8IgoDuxD68Q/YNwDpZuwq0V29h2dxYCr38oYdAkq/Os4LSCs0X6P0cQFf6nC1hM/d+cAvU+SmzcHGxEceHNEGCg3/TAj+68KIwooPU93Lfq1zwdfteZWxANjKlCQy4+wZliHLhL8fvCYgfJww/6qKmqSYleBNM=
|
||||
on_failure: always
|
||||
on_success: change
|
||||
|
593
HISTORY.rst
@ -1,8 +1,512 @@
|
||||
Release History
|
||||
===============
|
||||
Release Notes
|
||||
=============
|
||||
|
||||
PlatformIO 2.0
|
||||
--------------
|
||||
|
||||
2.9.3 (2016-06-03)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Added support for Arduboy, the game system the size of a credit card
|
||||
* Updated `99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`__ for Linux OS
|
||||
* Refactored firmware uploading to the embedded boards with SAM-BA bootloader
|
||||
|
||||
2.9.2 (2016-06-02)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Simplified `Continuous Integration with AppVeyor <http://docs.platformio.org/en/latest/ci/appveyor.html>`__
|
||||
(`issue #671 <https://github.com/platformio/platformio/issues/671>`_)
|
||||
* Automatically add source directory to ``CPPPATH`` of Build System
|
||||
* Added support for Silicon Labs SLSTK3401A (Pearl Gecko) and
|
||||
MultiTech mDot F411 ARM mbed based boards
|
||||
* Added support for MightyCore ATmega8535 board
|
||||
(`issue #585 <https://github.com/platformio/platformio/issues/585>`_)
|
||||
* Added ``stlink`` as the default uploader for STM32 Discovery boards
|
||||
(`issue #665 <https://github.com/platformio/platformio/issues/665>`_)
|
||||
* Use HTTP mirror for Package Manager in a case with SSL errors
|
||||
(`issue #645 <https://github.com/platformio/platformio/issues/645>`_)
|
||||
* Improved firmware uploading to Arduino Leonardo/Due based boards
|
||||
* Fixed bug with ``env_default`` when ``pio run -e`` is used
|
||||
* Fixed issue with ``src_filter`` option for Windows OS
|
||||
(`issue #652 <https://github.com/platformio/platformio/issues/652>`_)
|
||||
* Fixed configuration data for TI LaunchPads based on msp430fr4133 and
|
||||
msp430fr6989 MCUs
|
||||
(`issue #676 <https://github.com/platformio/platformio/issues/676>`_)
|
||||
* Fixed issue with ARM mbed framework and multiple definition errors
|
||||
on FRDM-KL46Z board
|
||||
(`issue #641 <https://github.com/platformio/platformio/issues/641>`_)
|
||||
* Fixed issue with ARM mbed framework when abstract class breaks compile
|
||||
for LPC1768
|
||||
(`issue #666 <https://github.com/platformio/platformio/issues/666>`_)
|
||||
|
||||
2.9.1 (2016-04-30)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Handle prototype pointers while converting ``*.ino`` to ``.cpp``
|
||||
(`issue #639 <https://github.com/platformio/platformio/issues/639>`_)
|
||||
|
||||
2.9.0 (2016-04-28)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Project generator for `CodeBlocks IDE <http://docs.platformio.org/en/latest/ide/codeblocks.html>`__
|
||||
(`issue #600 <https://github.com/platformio/platformio/issues/600>`_)
|
||||
* New `Lattice iCE40 FPGA <http://docs.platformio.org/en/latest/platforms/lattice_ice40.html>`__
|
||||
development platform with support for Lattice iCEstick FPGA Evaluation
|
||||
Kit and BQ IceZUM Alhambra FPGA
|
||||
(`issue #480 <https://github.com/platformio/platformio/issues/480>`_)
|
||||
* New `Intel ARC 32-bit <http://docs.platformio.org/en/latest/platforms/intel_arc32.html>`_
|
||||
development platform with support for Arduino/Genuino 101 board
|
||||
(`issue #535 <https://github.com/platformio/platformio/issues/535>`_)
|
||||
* New `Microchip PIC32 <http://docs.platformio.org/en/latest/platforms/microchippic32.html>`__
|
||||
development platform with support for 20+ different PIC32 based boards
|
||||
(`issue #438 <https://github.com/platformio/platformio/issues/438>`_)
|
||||
* New RTOS and build Framework named `Simba <http://docs.platformio.org/en/latest/frameworks/simba.html>`__
|
||||
(`issue #412 <https://github.com/platformio/platformio/issues/412>`_)
|
||||
* New boards for `ARM mbed <http://docs.platformio.org/en/latest/frameworks/mbed.html>`__
|
||||
framework: ST Nucleo F410RB, ST Nucleo L073RZ and BBC micro:bit
|
||||
* Added support for Arduino.Org boards: Arduino Leonardo ETH, Arduino Yun Mini,
|
||||
Arduino Industrial 101 and Linino One
|
||||
(`issue #472 <https://github.com/platformio/platformio/issues/472>`_)
|
||||
* Added support for Generic ATTiny boards: ATTiny13, ATTiny24, ATTiny25,
|
||||
ATTiny45 and ATTiny85
|
||||
(`issue #636 <https://github.com/platformio/platformio/issues/636>`_)
|
||||
* Added support for MightyCore boards: ATmega1284, ATmega644, ATmega324,
|
||||
ATmega164, ATmega32, ATmega16 and ATmega8535
|
||||
(`issue #585 <https://github.com/platformio/platformio/issues/585>`_)
|
||||
* Added support for `TI MSP430 <http://docs.platformio.org/en/latest/platforms/timsp430.html>`__
|
||||
boards: TI LaunchPad w/ msp430fr4133 and TI LaunchPad w/ msp430fr6989
|
||||
* Updated Arduino core for Espressif platform to 2.2.0
|
||||
(`issue #627 <https://github.com/platformio/platformio/issues/627>`_)
|
||||
* Updated native SDK for ESP8266 to 1.5
|
||||
(`issue #366 <https://github.com/platformio/platformio/issues/366>`_)
|
||||
* PlatformIO Library Registry in JSON format! Implemented
|
||||
``--json-output`` and ``--page`` options for
|
||||
`platformio lib search <http://docs.platformio.org/en/latest/userguide/lib/cmd_search.html>`__
|
||||
command
|
||||
(`issue #604 <https://github.com/platformio/platformio/issues/604>`_)
|
||||
* Allowed to specify default environments `env_default <http://docs.platformio.org/en/latest/projectconf.html#env-default>`__
|
||||
which should be processed by default with ``platformio run`` command
|
||||
(`issue #576 <https://github.com/platformio/platformio/issues/576>`_)
|
||||
* Allowed to unflag(remove) base/initial flags using
|
||||
`build_unflags <http://docs.platformio.org/en/latest/projectconf.html#build-unflags>`__
|
||||
option
|
||||
(`issue #559 <https://github.com/platformio/platformio/issues/559>`_)
|
||||
* Allowed multiple VID/PID pairs when detecting serial ports
|
||||
(`issue #632 <https://github.com/platformio/platformio/issues/632>`_)
|
||||
* Automatically add ``-DUSB_MANUFACTURER`` with vendor's name
|
||||
(`issue #631 <https://github.com/platformio/platformio/issues/631>`_)
|
||||
* Automatically reboot Teensy board after upload when Teensy Loader GUI is used
|
||||
(`issue #609 <https://github.com/platformio/platformio/issues/609>`_)
|
||||
* Refactored source code converter from ``*.ino`` to ``*.cpp``
|
||||
(`issue #610 <https://github.com/platformio/platformio/issues/610>`_)
|
||||
* Forced ``-std=gnu++11`` for Atmel SAM development platform
|
||||
(`issue #601 <https://github.com/platformio/platformio/issues/601>`_)
|
||||
* Don't check OS type for ARM mbed-enabled boards and ST STM32 development
|
||||
platform before uploading to disk
|
||||
(`issue #596 <https://github.com/platformio/platformio/issues/596>`_)
|
||||
* Fixed broken compilation for Atmel SAMD based boards except Arduino Due
|
||||
(`issue #598 <https://github.com/platformio/platformio/issues/598>`_)
|
||||
* Fixed firmware uploading using serial port with spaces in the path
|
||||
* Fixed cache system when project's root directory is used as ``src_dir``
|
||||
(`issue #635 <https://github.com/platformio/platformio/issues/635>`_)
|
||||
|
||||
2.8.6 (2016-03-22)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Launched `PlatformIO Community Forums <https://community.platformio.org>`_
|
||||
(`issue #530 <https://github.com/platformio/platformio/issues/530>`_)
|
||||
* Added support for ARM mbed-enabled board Seed Arch Max (STM32F407VET6)
|
||||
(`issue #572 <https://github.com/platformio/platformio/issues/572>`_)
|
||||
* Improved DNS lookup for PlatformIO API
|
||||
* Updated Arduino Wiring-based framework to the latest version for
|
||||
Atmel AVR/SAM development platforms
|
||||
* Updated "Teensy Loader CLI" and fixed uploading of large .hex files
|
||||
(`issue #568 <https://github.com/platformio/platformio/issues/568>`_)
|
||||
* Updated the support for Sanguino Boards
|
||||
(`issue #586 <https://github.com/platformio/platformio/issues/586>`_)
|
||||
* Better handling of used boards when re-initialize/update project
|
||||
* Improved support for non-Unicode user profiles for Windows OS
|
||||
* Disabled progress bar for download operations when prompts are disabled
|
||||
* Fixed multiple definition errors for ST STM32 development platform and
|
||||
ARM mbed framework
|
||||
(`issue #571 <https://github.com/platformio/platformio/issues/571>`_)
|
||||
* Fixed invalid board parameters (reset method and baudrate) for a few
|
||||
ESP8266 based boards
|
||||
* Fixed "KeyError: 'content-length'" in PlatformIO Download Manager
|
||||
(`issue #591 <https://github.com/platformio/platformio/issues/591>`_)
|
||||
|
||||
|
||||
2.8.5 (2016-03-07)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Project generator for `NetBeans IDE <http://docs.platformio.org/en/latest/ide/netbeans.html>`__
|
||||
(`issue #541 <https://github.com/platformio/platformio/issues/541>`_)
|
||||
* Created package for Homebrew Mac OS X Package Manager: ``brew install
|
||||
platformio``
|
||||
(`issue #395 <https://github.com/platformio/platformio/issues/395>`_)
|
||||
* Updated Arduino core for Espressif platform to 2.1.0
|
||||
(`issue #544 <https://github.com/platformio/platformio/issues/544>`_)
|
||||
* Added support for the ESP8266 ESP-07 board to
|
||||
`Espressif <http://docs.platformio.org/en/latest/platforms/espressif.html>`__
|
||||
(`issue #527 <https://github.com/platformio/platformio/issues/527>`_)
|
||||
* Improved handling of String-based ``CPPDEFINES`` passed to extra ``build_flags``
|
||||
(`issue #526 <https://github.com/platformio/platformio/issues/526>`_)
|
||||
* Generate appropriate project for CLion IDE and CVS
|
||||
(`issue #523 <https://github.com/platformio/platformio/issues/523>`_)
|
||||
* Use ``src_dir`` directory from `Project Configuration File platformio.ini <http://docs.platformio.org/en/latest/projectconf.html>`__
|
||||
when initializing project otherwise create base ``src`` directory
|
||||
(`issue #536 <https://github.com/platformio/platformio/issues/536>`_)
|
||||
* Fixed issue with incorrect handling of user's build flags where the base flags
|
||||
were passed after user's flags to GCC compiler
|
||||
(`issue #528 <https://github.com/platformio/platformio/issues/528>`_)
|
||||
* Fixed issue with Project Generator when optional build flags were passed using
|
||||
system environment variables: `PLATFORMIO_BUILD_FLAGS <http://docs.platformio.org/en/latest/envvars.html#platformio-build-flags>`__
|
||||
or `PLATFORMIO_BUILD_SRC_FLAGS <http://docs.platformio.org/en/latest/envvars.html#platformio-build-src-flags>`__
|
||||
* Fixed invalid detecting of compiler type
|
||||
(`issue #550 <https://github.com/platformio/platformio/issues/550>`_)
|
||||
* Fixed issue with updating package which was deleted manually by user
|
||||
(`issue #555 <https://github.com/platformio/platformio/issues/555>`_)
|
||||
* Fixed incorrect parsing of GCC ``-include`` flag
|
||||
(`issue #552 <https://github.com/platformio/platformio/issues/552>`_)
|
||||
|
||||
2.8.4 (2016-02-17)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Added support for the new ESP8266-based boards (ESPDuino, ESP-WROOM-02,
|
||||
ESPresso Lite 1.0 & 2.0, SparkFun ESP8266 Thing Dev, ThaiEasyElec ESPino) to
|
||||
`Espressif <http://docs.platformio.org/en/latest/platforms/espressif.html>`__
|
||||
development platform
|
||||
* Added ``board_f_flash`` option to `Project Configuration File platformio.ini <http://docs.platformio.org/en/latest/projectconf.html>`__
|
||||
which allows to specify `custom flash chip frequency <http://docs.platformio.org/en/latest/platforms/espressif.html#custom-flash-frequency>`_
|
||||
for Espressif development platform
|
||||
(`issue #501 <https://github.com/platformio/platformio/issues/501>`_)
|
||||
* Added ``board_flash_mode`` option to `Project Configuration File platformio.ini <http://docs.platformio.org/en/latest/projectconf.html>`__
|
||||
which allows to specify `custom flash chip mode <http://docs.platformio.org/en/latest/platforms/espressif.html#custom-flash-mode>`_
|
||||
for Espressif development platform
|
||||
* Handle new environment variables
|
||||
`PLATFORMIO_UPLOAD_PORT <http://docs.platformio.org/en/latest/envvars.html#platformio-upload-port>`_
|
||||
and `PLATFORMIO_UPLOAD_FLAGS <http://docs.platformio.org/en/latest/envvars.html#platformio-upload-flags>`_
|
||||
(`issue #518 <https://github.com/platformio/platformio/issues/518>`_)
|
||||
* Fixed issue with ``CPPDEFINES`` which contain space and break PlatformIO
|
||||
IDE Linter
|
||||
(`IDE issue #34 <https://github.com/platformio/platformio-atom-ide/issues/34>`_)
|
||||
* Fixed unable to link C++ standard library to Espressif platform build
|
||||
(`issue #503 <https://github.com/platformio/platformio/issues/503>`_)
|
||||
* Fixed issue with pointer (``char* myfunc()``) while converting from ``*.ino``
|
||||
to ``*.cpp``
|
||||
(`issue #506 <https://github.com/platformio/platformio/issues/506>`_)
|
||||
|
||||
2.8.3 (2016-02-02)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Better integration of PlatformIO Builder with PlatformIO IDE Linter
|
||||
* Fixed issue with removing temporary file while converting ``*.ino`` to
|
||||
``*.cpp``
|
||||
* Fixed missing dependency (mbed framework) for Atmel SAM development platform
|
||||
(`issue #487 <https://github.com/platformio/platformio/issues/487>`_)
|
||||
|
||||
2.8.2 (2016-01-29)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Corrected RAM size for NXP LPC1768 based boards
|
||||
(`issue #484 <https://github.com/platformio/platformio/issues/484>`_)
|
||||
* Exclude only ``test`` and ``tests`` folders from build process
|
||||
* Reverted ``-Wl,-whole-archive`` hook for ST STM32 and mbed
|
||||
|
||||
2.8.1 (2016-01-29)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Fixed a bug with Project Initialization in PlatformIO IDE
|
||||
|
||||
2.8.0 (2016-01-29)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* `PlatformIO IDE <http://docs.platformio.org/en/latest/ide/atom.html>`_ for
|
||||
Atom
|
||||
(`issue #470 <https://github.com/platformio/platformio/issues/470>`_)
|
||||
* Added ``pio`` command line alias for ``platformio`` command
|
||||
(`issue #447 <https://github.com/platformio/platformio/issues/447>`_)
|
||||
* Added SPL-Framework support for Nucleo F401RE board
|
||||
(`issue #453 <https://github.com/platformio/platformio/issues/453>`_)
|
||||
* Added ``upload_resetmethod`` option to `Project Configuration File platformio.ini <http://docs.platformio.org/en/latest/projectconf.html>`__
|
||||
which allows to specify `custom upload reset method <http://docs.platformio.org/en/latest/platforms/espressif.html#custom-reset-method>`_
|
||||
for Espressif development platform
|
||||
(`issue #444 <https://github.com/platformio/platformio/issues/444>`_)
|
||||
* Allowed to force output of color ANSI-codes or to disable progress bar even
|
||||
if the output is a ``pipe`` (not a ``tty``) using `Environment variables <http://docs.platformio.org/en/latest/envvars.html>`__
|
||||
(`issue #465 <https://github.com/platformio/platformio/issues/465>`_)
|
||||
* Set 1Mb SPIFFS for Espressif boards by default
|
||||
(`issue #458 <https://github.com/platformio/platformio/issues/458>`_)
|
||||
* Exclude ``test*`` folder by default from build process
|
||||
* Generate project for IDEs with information about installed libraries
|
||||
* Fixed builder for mbed framework and ST STM32 platform
|
||||
|
||||
|
||||
2.7.1 (2016-01-06)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Initial support for Arduino Zero board
|
||||
(`issue #356 <https://github.com/platformio/platformio/issues/356>`_)
|
||||
* Added support for completions to Atom text editor using ``.clang_complete``
|
||||
* Generate default targets for `supported IDE <http://docs.platformio.org/en/latest/ide.html>`__
|
||||
(CLion, Eclipse IDE, Emacs, Sublime Text, VIM): Build,
|
||||
Clean, Upload, Upload SPIFFS image, Upload using Programmer, Update installed
|
||||
platforms and libraries
|
||||
(`issue #427 <https://github.com/platformio/platformio/issues/427>`_)
|
||||
* Updated Teensy Arduino Framework to 1.27
|
||||
(`issue #434 <https://github.com/platformio/platformio/issues/434>`_)
|
||||
* Fixed uploading of EEPROM data using ``uploadeep`` target for Atmel AVR
|
||||
development platform
|
||||
* Fixed project generator for CLion IDE
|
||||
(`issue #422 <https://github.com/platformio/platformio/issues/422>`_)
|
||||
* Fixed package ``shasum`` validation on Mac OS X 10.11.2
|
||||
(`issue #429 <https://github.com/platformio/platformio/issues/429>`_)
|
||||
* Fixed CMakeLists.txt ``add_executable`` has only one source file
|
||||
(`issue #421 <https://github.com/platformio/platformio/issues/421>`_)
|
||||
|
||||
2.7.0 (2015-12-30)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
**Happy New Year!**
|
||||
|
||||
* Moved SCons to PlatformIO packages. PlatformIO does not require SCons to be
|
||||
installed in your system. Significantly simplified installation process of
|
||||
PlatformIO. ``pip install platformio`` rocks!
|
||||
* Implemented uploading files to file system of ESP8266 SPIFFS (including OTA)
|
||||
(`issue #382 <https://github.com/platformio/platformio/issues/382>`_)
|
||||
* Added support for the new Adafruit boards Bluefruit Micro and Feather
|
||||
(`issue #403 <https://github.com/platformio/platformio/issues/403>`_)
|
||||
* Added support for RFDuino
|
||||
(`issue #319 <https://github.com/platformio/platformio/issues/319>`_)
|
||||
* Project generator for `Emacs <http://docs.platformio.org/en/latest/ide/emacs.html>`__
|
||||
text editor
|
||||
(`pull #404 <https://github.com/platformio/platformio/pull/404>`_)
|
||||
* Updated Arduino framework for Atmel AVR development platform to 1.6.7
|
||||
* Documented `firmware uploading for Atmel AVR development platform using
|
||||
Programmers <http://docs.platformio.org/en/latest/platforms/atmelavr.html#upload-using-programmer>`_:
|
||||
AVR ISP, AVRISP mkII, USBtinyISP, USBasp, Parallel Programmer and Arduino as ISP
|
||||
* Fixed issue with current Python interpreter for Python-based tools
|
||||
(`issue #417 <https://github.com/platformio/platformio/issue/417>`_)
|
||||
|
||||
2.6.3 (2015-12-21)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Restored support for Espressif ESP8266 ESP-01 1MB board (ready for OTA)
|
||||
* Fixed invalid ROM size for ESP8266-based boards
|
||||
(`issue #396 <https://github.com/platformio/platformio/issues/396>`_)
|
||||
|
||||
2.6.2 (2015-12-21)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Removed ``SCons`` from requirements list. PlatformIO will try to install it
|
||||
automatically, otherwise users need to install it manually
|
||||
* Fixed ``ChunkedEncodingError`` when SF connection is broken
|
||||
(`issue #356 <https://github.com/platformio/platformio/issues/356>`_)
|
||||
|
||||
2.6.1 (2015-12-18)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Added support for the new ESP8266-based boards (SparkFun ESP8266 Thing,
|
||||
NodeMCU 0.9 & 1.0, Olimex MOD-WIFI-ESP8266(-DEV), Adafruit HUZZAH ESP8266,
|
||||
ESPino, SweetPea ESP-210, WeMos D1, WeMos D1 mini) to
|
||||
`Espressif <http://docs.platformio.org/en/latest/platforms/espressif.html>`__
|
||||
development platform
|
||||
* Created public `platformio-pkg-ldscripts <https://github.com/platformio/platformio-pkg-ldscripts.git>`_
|
||||
repository for LD scripts. Moved common configuration for ESP8266 MCU to
|
||||
``esp8266.flash.common.ld``
|
||||
(`issue #379 <https://github.com/platformio/platformio/issues/379>`_)
|
||||
* Improved documentation for `Espressif <http://docs.platformio.org/en/latest/platforms/espressif.html>`__
|
||||
development platform: OTA update, custom Flash Size, Upload Speed and CPU
|
||||
frequency
|
||||
* Fixed reset method for Espressif NodeMCU (ESP-12E Module)
|
||||
(`issue #380 <https://github.com/platformio/platformio/issues/380>`_)
|
||||
* Fixed issue with code builder when build path contains spaces
|
||||
(`issue #387 <https://github.com/platformio/platformio/issues/387>`_)
|
||||
* Fixed project generator for Eclipse IDE and "duplicate path entries found
|
||||
in project path"
|
||||
(`issue #383 <https://github.com/platformio/platformio/issues/383>`_)
|
||||
|
||||
|
||||
2.6.0 (2015-12-15)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Install only required packages depending on build environment
|
||||
(`issue #308 <https://github.com/platformio/platformio/issues/308>`_)
|
||||
* Added support for Raspberry Pi `WiringPi <http://docs.platformio.org/en/latest/frameworks/wiringpi.html>`__
|
||||
framework
|
||||
(`issue #372 <https://github.com/platformio/platformio/issues/372>`_)
|
||||
* Implemented Over The Air (OTA) upgrades for `Espressif <http://docs.platformio.org/en/latest/platforms/espressif.html>`__
|
||||
development platform.
|
||||
(`issue #365 <https://github.com/platformio/platformio/issues/365>`_)
|
||||
* Updated `CMSIS framework <http://docs.platformio.org/en/latest/frameworks/cmsis.html>`__
|
||||
and added CMSIS support for Nucleo F401RE board
|
||||
(`issue #373 <https://github.com/platformio/platformio/issues/373>`_)
|
||||
* Added support for Espressif ESP8266 ESP-01-1MB board (ready for OTA)
|
||||
* Handle ``upload_flags`` option in `platformio.ini <http://docs.platformio.org/en/latest/projectconf.html>`__
|
||||
(`issue #368 <https://github.com/platformio/platformio/issues/368>`_)
|
||||
* Improved PlatformIO installation on the Mac OS X El Capitan
|
||||
|
||||
2.5.0 (2015-12-08)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Improved code builder for parallel builds (up to 4 times faster than before)
|
||||
* Generate `.travis.yml <http://docs.platformio.org/en/latest/ci/travis.html>`__
|
||||
CI and `.gitignore` files for embedded projects by default
|
||||
(`issue #354 <https://github.com/platformio/platformio/issues/354>`_)
|
||||
* Removed prompt with "auto-uploading" from `platformio init <http://docs.platformio.org/en/latest/userguide/cmd_init.html>`__
|
||||
command and added ``--enable-auto-uploading`` option
|
||||
(`issue #352 <https://github.com/platformio/platformio/issues/352>`_)
|
||||
* Fixed incorrect behaviour of `platformio serialports monitor <http://docs.platformio.org/en/latest/userguide/cmd_serialports.html#platformio-serialports-monitor>`__
|
||||
in pair with PySerial 3.0
|
||||
|
||||
2.4.1 (2015-12-01)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Restored ``PLATFORMIO`` macros with the current version
|
||||
|
||||
2.4.0 (2015-12-01)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Added support for the new boards: Atmel ATSAMR21-XPRO, Atmel SAML21-XPRO-B,
|
||||
Atmel SAMD21-XPRO, ST 32F469IDISCOVERY, ST 32L476GDISCOVERY, ST Nucleo F031K6,
|
||||
ST Nucleo F042K6, ST Nucleo F303K8 and ST Nucleo L476RG
|
||||
* Updated Arduino core for Espressif platform to 2.0.0
|
||||
(`issue #345 <https://github.com/platformio/platformio/issues/345>`_)
|
||||
* Added to FAQ explanation of `Can not compile a library that compiles without issue
|
||||
with Arduino IDE <http://docs.platformio.org/en/latest/faq.html#building>`_
|
||||
(`issue #331 <https://github.com/platformio/platformio/issues/331>`_)
|
||||
* Fixed ESP-12E flash size
|
||||
(`pull #333 <https://github.com/platformio/platformio/pull/333>`_)
|
||||
* Fixed configuration for LowPowerLab MoteinoMEGA board
|
||||
(`issue #335 <https://github.com/platformio/platformio/issues/335>`_)
|
||||
* Fixed "LockFailed: failed to create appstate.json.lock" error for Windows
|
||||
* Fixed relative include path for preprocessor using ``build_flags``
|
||||
(`issue #271 <https://github.com/platformio/platformio/issues/271>`_)
|
||||
|
||||
2.3.5 (2015-11-18)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Added support of `libOpenCM3 <http://docs.platformio.org/en/latest/frameworks/libopencm3.html>`_
|
||||
framework for Nucleo F103RB board
|
||||
(`issue #309 <https://github.com/platformio/platformio/issues/309>`_)
|
||||
* Added support for Espressif ESP8266 ESP-12E board (NodeMCU)
|
||||
(`issue #310 <https://github.com/platformio/platformio/issues/310>`_)
|
||||
* Added support for pySerial 3.0
|
||||
(`issue #307 <https://github.com/platformio/platformio/issues/307>`_)
|
||||
* Updated Arduino AVR/SAM frameworks to 1.6.6
|
||||
(`issue #321 <https://github.com/platformio/platformio/issues/321>`_)
|
||||
* Upload firmware using external programmer via `platformio run --target program <http://docs.platformio.org/en/latest/userguide/cmd_run.html#cmdoption-platformio-run-t>`__
|
||||
target
|
||||
(`issue #311 <https://github.com/platformio/platformio/issues/311>`_)
|
||||
* Fixed handling of upload port when ``board`` option is not specified in
|
||||
`platformio.ini <http://docs.platformio.org/en/latest/projectconf.html>`__
|
||||
(`issue #313 <https://github.com/platformio/platformio/issues/313>`_)
|
||||
* Fixed firmware uploading for `nordicrf51 <http://docs.platformio.org/en/latest/platforms/nordicnrf51.html>`__
|
||||
development platform
|
||||
(`issue #316 <https://github.com/platformio/platformio/issues/316>`_)
|
||||
* Fixed installation on Mac OS X El Capitan
|
||||
(`issue #312 <https://github.com/platformio/platformio/issues/312>`_)
|
||||
* Fixed project generator for CLion IDE under Windows OS with invalid path to
|
||||
executable
|
||||
(`issue #326 <https://github.com/platformio/platformio/issues/326>`_)
|
||||
* Fixed empty list with serial ports on Mac OS X
|
||||
(`isge #294 <https://github.com/platformio/platformio/issues/294>`_)
|
||||
* Fixed compilation error ``TWI_Disable not declared`` for Arduino Due board
|
||||
(`issue #329 <https://github.com/platformio/platformio/issues/329>`_)
|
||||
|
||||
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
|
||||
@ -18,7 +522,7 @@ Release History
|
||||
(`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>`_)
|
||||
@ -29,7 +533,7 @@ Release History
|
||||
(`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>`__
|
||||
@ -60,21 +564,21 @@ Release History
|
||||
(`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
|
||||
* Avoided ``LibInstallDependencyError`` when more than 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
|
||||
@ -93,12 +597,12 @@ Release History
|
||||
(`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>`_
|
||||
@ -119,7 +623,7 @@ Release History
|
||||
(`issue #217 <https://github.com/platformio/platformio/issues/217>`_)
|
||||
|
||||
2.0.0 (2015-05-22)
|
||||
------------------
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
*Made in* `Paradise <https://twitter.com/ikravets/status/592356377185619969>`_
|
||||
|
||||
@ -166,15 +670,18 @@ Release History
|
||||
* Fixed bug with creating copies of source files
|
||||
(`issue #177 <https://github.com/platformio/platformio/issues/177>`_)
|
||||
|
||||
1.5.0 (2015-05-15)
|
||||
------------------
|
||||
PlatformIO 1.0
|
||||
--------------
|
||||
|
||||
* Added support of `Framework mbed <http://platformio.org/#!/frameworks/mbed>`_
|
||||
1.5.0 (2015-05-15)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Added support of `Framework mbed <http://platformio.org/frameworks/mbed>`_
|
||||
for Teensy 3.1
|
||||
(`issue #183 <https://github.com/platformio/platformio/issues/183>`_)
|
||||
* Added GDB as alternative uploader to `ststm32 <http://docs.platformio.org/en/latest/platforms/ststm32.html>`__ platform
|
||||
(`issue #175 <https://github.com/platformio/platformio/issues/174>`_)
|
||||
* Added `examples <https://github.com/platformio/platformio/tree/develop/examples>`__
|
||||
* Added `examples <https://github.com/platformio/platformio-examples/tree/develop>`__
|
||||
with preconfigured IDE projects
|
||||
(`issue #154 <https://github.com/platformio/platformio/issues/154>`_)
|
||||
* Fixed firmware uploading under Linux OS for Arduino Leonardo board
|
||||
@ -190,7 +697,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
|
||||
@ -216,7 +723,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>`_
|
||||
@ -237,7 +744,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*.
|
||||
@ -256,7 +763,7 @@ Release History
|
||||
* Created new `Frameworks <http://docs.platformio.org/en/latest/frameworks/index.html>`__
|
||||
page in documentation and added to `PlatformIO Web Site <http://platformio.org>`_
|
||||
(`issue #115 <https://github.com/platformio/platformio/issues/115>`_)
|
||||
* Introduced online `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
* Introduced online `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
* Automatically append define ``-DPLATFORMIO=%version%`` to
|
||||
builder (`issue #105 <https://github.com/platformio/platformio/issues/105>`_)
|
||||
* Renamed ``stm32`` development platform to
|
||||
@ -269,7 +776,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>`_)
|
||||
@ -287,7 +794,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**
|
||||
|
||||
@ -354,9 +861,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>`_)
|
||||
@ -365,7 +874,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>`__,
|
||||
@ -377,7 +886,7 @@ Release History
|
||||
command
|
||||
|
||||
0.10.0 (2015-01-01)
|
||||
-------------------
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
**Happy New Year!**
|
||||
|
||||
@ -400,7 +909,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>`_
|
||||
@ -409,7 +918,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>`__
|
||||
@ -418,13 +927,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-examples/tree/develop/ide/eclipse>`_
|
||||
(`issue #32 <https://github.com/platformio/platformio/pull/32>`_)
|
||||
* Upgraded `Eclipse Project Examples <https://github.com/platformio/platformio/tree/develop/examples/ide-eclipse>`_
|
||||
* Upgraded `Eclipse Project Examples <https://github.com/platformio/platformio-examples/tree/develop/ide/eclipse>`_
|
||||
to latest *Luna* and *PlatformIO* releases
|
||||
|
||||
0.9.0 (2014-12-01)
|
||||
------------------
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* 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.
|
||||
@ -442,7 +951,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>`_,
|
||||
@ -459,7 +968,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>`_)
|
||||
@ -467,7 +976,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>`_
|
||||
@ -475,20 +984,20 @@ 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"
|
||||
* Added auto-conversation from \*.ino to valid \*.cpp for Arduino/Energia
|
||||
frameworks (`issue #7 <https://github.com/platformio/platformio/issues/7>`_)
|
||||
* Added `Arduino example <https://github.com/platformio/platformio/tree/develop/examples/>`_
|
||||
* Added `Arduino example <https://github.com/platformio/platformio-examples/tree/develop/>`_
|
||||
with external library (*Adafruit CC3000*)
|
||||
* Implemented `platformio upgrade <http://docs.platformio.org/en/latest/userguide/cmd_upgrade.html>`_
|
||||
command and "auto-check" for the latest
|
||||
@ -497,7 +1006,7 @@ 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
|
||||
@ -517,13 +1026,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
|
||||
@ -533,15 +1042,15 @@ 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"
|
||||
* Added `arduino-internal-library <https://github.com/platformio/platformio/tree/develop/examples/>`_ example
|
||||
* Added `arduino-internal-library <https://github.com/platformio/platformio-examples/tree/develop/>`_ example
|
||||
* Changed to beta status
|
||||
|
||||
|
||||
0.1.0 (2014-06-13)
|
||||
------------------
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Birth! First alpha release
|
||||
|
187
LICENSE
@ -1,21 +1,174 @@
|
||||
The MIT License (MIT)
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
Copyright (c) 2014-2015 Ivan Kravets
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
1. Definitions.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
174
README.rst
@ -7,67 +7,83 @@ PlatformIO
|
||||
.. image:: https://ci.appveyor.com/api/projects/status/dku0h2rutfj0ctls/branch/develop?svg=true
|
||||
:target: https://ci.appveyor.com/project/ivankravets/platformio
|
||||
:alt: AppVeyor.CI Build Status
|
||||
.. image:: https://circleci.com/gh/platformio/platformio/tree/develop.svg?style=svg
|
||||
:target: https://circleci.com/gh/platformio/platformio/tree/develop
|
||||
:alt: Circle.CI Build Status
|
||||
.. image:: https://gemnasium.com/platformio/platformio.png
|
||||
:target: https://gemnasium.com/platformio/platformio
|
||||
:alt: Dependency 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://img.shields.io/pypi/dm/platformio.svg
|
||||
:target: https://pypi.python.org/pypi/platformio/
|
||||
:alt: Downloads
|
||||
.. image:: https://img.shields.io/pypi/l/platformio.svg
|
||||
:target: https://pypi.python.org/pypi/platformio/
|
||||
:alt: License
|
||||
.. image:: https://badges.gitter.im/Join%20Chat.svg
|
||||
:alt: Join the chat at https://gitter.im/platformio/platformio
|
||||
:target: https://gitter.im/platformio/platformio
|
||||
.. image:: https://www.openhub.net/p/platformio/widgets/project_thin_badge.gif
|
||||
:target: https://www.openhub.net/p/platformio
|
||||
.. image:: https://img.shields.io/community/PlatformIO.png
|
||||
:alt: Community Forums
|
||||
:target: https://community.platformio.org
|
||||
.. image:: https://img.shields.io/donate/PlatformIO.png?color=yellow
|
||||
:alt: Donate for PlatformIO.Org
|
||||
:target: http://platformio.org/donate
|
||||
|
||||
`Website + Library Search <http://platformio.org>`_ |
|
||||
`Documentation <http://docs.platformio.org>`_ |
|
||||
`Project Examples <https://github.com/platformio/platformio/tree/develop/examples>`_ |
|
||||
`Blog <http://www.ikravets.com/category/computer-life/platformio>`_ |
|
||||
`Reddit <http://www.reddit.com/r/platformio/>`_ |
|
||||
`Twitter <https://twitter.com/PlatformIO_Org>`_
|
||||
|
||||
`Home <http://platformio.org>`_ |
|
||||
`IDE <http://platformio.org/platformio-ide>`_ |
|
||||
`Project Examples <https://github.com/platformio/platformio-examples/tree/develop>`_ |
|
||||
`Docs <http://docs.platformio.org>`_ |
|
||||
`Twitter <https://twitter.com/PlatformIO_Org>`_ |
|
||||
`Facebook <https://www.facebook.com/platformio>`_ |
|
||||
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
|
||||
`Bintray <https://bintray.com/platformio>`_ |
|
||||
`Community <https://community.platformio.org>`_ |
|
||||
`Donate <http://platformio.org/donate>`_ |
|
||||
`Contact Us <http://platformio.org/contact>`_
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-logo.png
|
||||
:target: http://platformio.org
|
||||
|
||||
`PlatformIO <http://platformio.org>`_ is a cross-platform code builder
|
||||
and the missing library manager (Ready for embedded development, IDE and
|
||||
Continuous integration, Arduino and MBED compatible).
|
||||
`PlatformIO <http://platformio.org>`_ is an open source ecosystem for IoT
|
||||
development. Cross-platform build system and library manager. Continuous and
|
||||
IDE integration. Arduino and MBED compatible. Ready for Cloud compiling.
|
||||
|
||||
*Atmel AVR & SAM, Espressif, Freescale Kinetis, Nordic nRF51, NXP LPC,
|
||||
Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed,
|
||||
libOpenCM3, etc.*
|
||||
* **PlatformIO IDE** - The next-generation integrated development environment for IoT.
|
||||
C/C++ Intelligent Code Completion and Smart Code Linter for the super-fast coding.
|
||||
Multi-projects workflow with Multiple Panes. Themes Support with dark and light colors.
|
||||
Built-in Terminal with PlatformIO CLI tool and support for the powerful Serial Port Monitor.
|
||||
All advanced instruments without leaving your favourite development environment.
|
||||
* **Development Platforms** - Embedded and Desktop development platforms with
|
||||
pre-built toolchains, debuggers, uploaders and frameworks which work under
|
||||
popular host OS: Mac, Windows, Linux (+ARM)
|
||||
* **Embedded Boards** - Rapid Embedded Programming, IDE and Continuous
|
||||
Integration in a few steps with PlatformIO thanks to built-in project
|
||||
generator for the most popular embedded boards and IDE
|
||||
* **Library Manager** - Hundreds Popular Libraries are organized into single
|
||||
Web 2.0 platform: list by categories, keywords, authors, compatible
|
||||
platforms and frameworks; learn via examples; be up-to-date with the latest
|
||||
version.
|
||||
|
||||
* `Get Started <http://platformio.org/#!/get-started>`_
|
||||
* `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
|
||||
* `Development Platforms <http://platformio.org/#!/platforms>`_
|
||||
* `Frameworks <http://platformio.org/#!/frameworks>`_
|
||||
* `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
*Atmel AVR & SAM, Espressif, Freescale Kinetis, Intel ARC32, Lattice iCE40,
|
||||
Microchip PIC32, Nordic nRF51, NXP LPC, Silicon Labs EFM32, ST STM32,
|
||||
TI MSP430 & Tiva, Teensy, Arduino, mbed, libOpenCM3, etc.*
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-demo-wiring.gif
|
||||
:target: http://platformio.org
|
||||
|
||||
* `PlatformIO IDE <http://platformio.org/platformio-ide>`_
|
||||
* `Get Started <http://platformio.org/get-started>`_
|
||||
* `Web 2.0 Library Search <http://platformio.org/lib>`_
|
||||
* `Development Platforms <http://platformio.org/platforms>`_
|
||||
* `Frameworks <http://platformio.org/frameworks>`_
|
||||
* `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
* `Library Manager <http://docs.platformio.org/en/latest/librarymanager/index.html>`_
|
||||
* `User Guide <http://docs.platformio.org/en/latest/userguide/index.html>`_
|
||||
* `Continuous Integration <http://docs.platformio.org/en/latest/ci/index.html>`_
|
||||
* `IDE Integration <http://docs.platformio.org/en/latest/ide.html>`_
|
||||
* `Articles about us <http://docs.platformio.org/en/latest/articles.html>`_
|
||||
* `FAQ <http://docs.platformio.org/en/latest/faq.html>`_
|
||||
* `Release History <http://docs.platformio.org/en/latest/history.html>`_
|
||||
|
||||
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
|
||||
the most popular embedded boards. For further details, please
|
||||
refer to `What is PlatformIO? <http://docs.platformio.org/en/latest/faq.html#what-is-platformio>`_
|
||||
* `Release Notes <http://docs.platformio.org/en/latest/history.html>`_
|
||||
|
||||
Use whenever. *Run everywhere.*
|
||||
-------------------------------
|
||||
*PlatformIO* is written in pure *Python* and **doesn't depend** on any
|
||||
additional libraries/tools from an operation system. It allows you to use
|
||||
additional libraries/tools from an operating system. It allows you to use
|
||||
*PlatformIO* beginning from *PC (Mac, Linux, Win)* and ending with credit-card
|
||||
sized computers (`Raspberry Pi <http://www.raspberrypi.org>`_,
|
||||
`BeagleBone <http://beagleboard.org>`_,
|
||||
@ -76,17 +92,17 @@ sized computers (`Raspberry Pi <http://www.raspberrypi.org>`_,
|
||||
Embedded Development. *Easier Than Ever.*
|
||||
-----------------------------------------
|
||||
*PlatformIO* is well suited for embedded development and has pre-configured
|
||||
settings for most popular `Embedded Boards <http://platformio.org/#!/boards>`_.
|
||||
settings for most popular `Embedded Boards <http://platformio.org/boards>`_.
|
||||
|
||||
* Colourful `command-line output <https://raw.githubusercontent.com/platformio/platformio/develop/examples/platformio-examples.png>`_
|
||||
* `IDE Integration <http://docs.platformio.org/en/latest/ide.html>`_ with
|
||||
*Arduino, Eclipse, Energia, Qt Creator, Sublime Text, Vim, Visual Studio*
|
||||
* `Continuous Integration <http://docs.platformio.org/en/latest/ci/index.html>`_
|
||||
*Arduino, Atom, Eclipse, Emacs, Energia, Qt Creator, Sublime Text, Vim, Visual Studio*
|
||||
* Cloud compiling and `Continuous Integration <http://docs.platformio.org/en/latest/ci/index.html>`_
|
||||
with *AppVeyor, Circle CI, Drone, Shippable, Travis CI*
|
||||
* Built-in `Serial Port Monitor <http://docs.platformio.org/en/latest/userguide/cmd_serialports.html#platformio-serialports-monitor>`_ and configurable
|
||||
`build -flags/-options <http://docs.platformio.org/en/latest/projectconf.html#build-flags>`_
|
||||
* Automatic **firmware uploading**
|
||||
* Pre-built tool chains, frameworks for the popular `Hardware Platforms <http://platformio.org/#!/platforms>`_
|
||||
* Pre-built tool chains, frameworks for the popular `Hardware Platforms <http://platformio.org/platforms>`_
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-embedded-development.png
|
||||
:target: http://platformio.org
|
||||
@ -98,7 +114,7 @@ The Missing Library Manager. *It's here!*
|
||||
platforms which allows you to organize and have up-to-date external libraries.
|
||||
|
||||
* Friendly `Command-Line Interface <http://docs.platformio.org/en/latest/librarymanager/index.html>`_
|
||||
* Modern `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
|
||||
* Modern `Web 2.0 Library Search <http://platformio.org/lib>`_
|
||||
* Open Source `Library Registry API <https://github.com/platformio/platformio-api>`_
|
||||
* Library Crawler based on `library.json <http://docs.platformio.org/en/latest/librarymanager/config.html>`_
|
||||
specification
|
||||
@ -109,7 +125,7 @@ platforms which allows you to organize and have up-to-date external libraries.
|
||||
:target: http://platformio.org
|
||||
:alt: PlatformIO Library Manager Architecture
|
||||
|
||||
Smart Code Builder. *Fast and Reliable.*
|
||||
Smart Build System. *Fast and Reliable.*
|
||||
----------------------------------------
|
||||
*PlatformIO Code Builder* is built-on a next-generation software construction
|
||||
tool named `SCons <http://www.scons.org/>`_. Think of *SCons* as an improved,
|
||||
@ -123,12 +139,12 @@ cross-platform substitute for the classic *Make* utility.
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-scons-builder.png
|
||||
:target: http://platformio.org
|
||||
:alt: PlatformIO Code Builder Architecture
|
||||
:alt: PlatformIO Build System Architecture
|
||||
|
||||
Single source code. *Multiple platforms.*
|
||||
-----------------------------------------
|
||||
*PlatformIO* allows developer to compile the same code with different
|
||||
development platforms using the *Only One Command*
|
||||
*PlatformIO* allows the developer to compile the same code with different
|
||||
development platforms using only *One Command*
|
||||
`platformio run <http://docs.platformio.org/en/latest/userguide/cmd_run.html>`_.
|
||||
This happens due to
|
||||
`Project Configuration File (platformio.ini) <http://docs.platformio.org/en/latest/projectconf.html>`_
|
||||
@ -138,31 +154,57 @@ more).
|
||||
|
||||
It has support for the most popular embedded platforms:
|
||||
|
||||
* `Atmel AVR <http://platformio.org/#!/platforms/atmelavr>`_
|
||||
* `Atmel SAM <http://platformio.org/#!/platforms/atmelsam>`_
|
||||
* `Espressif <http://platformio.org/#!/platforms/espressif>`_
|
||||
* `Freescale Kinetis <http://platformio.org/#!/platforms/freescalekinetis>`_
|
||||
* `Nordic nRF51 <http://platformio.org/#!/platforms/nordicnrf51>`_
|
||||
* `NXP LPC <http://platformio.org/#!/platforms/nxplpc>`_
|
||||
* `ST STM32 <http://platformio.org/#!/platforms/ststm32>`_
|
||||
* `Silicon Labs EFM32 <http://platformio.org/#!/platforms/siliconlabsefm32>`_
|
||||
* `Teensy <http://platformio.org/#!/platforms/teensy>`_
|
||||
* `TI MSP430 <http://platformio.org/#!/platforms/timsp430>`_
|
||||
* `TI TIVA C <http://platformio.org/#!/platforms/titiva>`_
|
||||
* `Atmel AVR <http://platformio.org/platforms/atmelavr>`_
|
||||
* `Atmel SAM <http://platformio.org/platforms/atmelsam>`_
|
||||
* `Espressif <http://platformio.org/platforms/espressif>`_
|
||||
* `Freescale Kinetis <http://platformio.org/platforms/freescalekinetis>`_
|
||||
* `Intel ARC32 <http://platformio.org/platforms/intel_arc32>`_
|
||||
* `Lattice iCE40 <http://platformio.org/platforms/lattice_ice40>`_
|
||||
* `Microchip PIC32 <http://platformio.org/platforms/microchippic32>`_
|
||||
* `Nordic nRF51 <http://platformio.org/platforms/nordicnrf51>`_
|
||||
* `NXP LPC <http://platformio.org/platforms/nxplpc>`_
|
||||
* `ST STM32 <http://platformio.org/platforms/ststm32>`_
|
||||
* `Silicon Labs EFM32 <http://platformio.org/platforms/siliconlabsefm32>`_
|
||||
* `Teensy <http://platformio.org/platforms/teensy>`_
|
||||
* `TI MSP430 <http://platformio.org/platforms/timsp430>`_
|
||||
* `TI TIVA C <http://platformio.org/platforms/titiva>`_
|
||||
|
||||
Frameworks:
|
||||
|
||||
* `Arduino <http://platformio.org/#!/frameworks/arduino>`_
|
||||
* `CMSIS <http://platformio.org/#!/frameworks/cmsis>`_
|
||||
* `libOpenCM3 <http://platformio.org/#!/frameworks/libopencm3>`_
|
||||
* `Energia <http://platformio.org/#!/frameworks/energia>`_
|
||||
* `SPL <http://platformio.org/#!/frameworks/spl>`_
|
||||
* `mbed <http://platformio.org/#!/frameworks/mbed>`_
|
||||
* `Arduino <http://platformio.org/frameworks/arduino>`_
|
||||
* `CMSIS <http://platformio.org/frameworks/cmsis>`_
|
||||
* `Energia <http://platformio.org/frameworks/energia>`_
|
||||
* `libOpenCM3 <http://platformio.org/frameworks/libopencm3>`_
|
||||
* `mbed <http://platformio.org/frameworks/mbed>`_
|
||||
* `Simba <http://platformio.org/frameworks/simba>`_
|
||||
* `SPL <http://platformio.org/frameworks/spl>`_
|
||||
* `WiringPi <http://platformio.org/frameworks/wiringpi>`_
|
||||
|
||||
For further details, please refer to `What is PlatformIO? <http://docs.platformio.org/en/latest/faq.html#what-is-platformio>`_
|
||||
|
||||
Contributing
|
||||
------------
|
||||
|
||||
1. Fork the repository on GitHub.
|
||||
2. Make a branch off of ``develop``
|
||||
3. Run ``pip install tox``
|
||||
4. Go to the root of project where is located ``tox.ini`` and run ``tox -e develop``
|
||||
5. Activate current development environment:
|
||||
|
||||
* Windows: ``.tox\develop\Scripts\activate``
|
||||
* Bash/ZSH: ``source .tox/develop/bin/activate``
|
||||
* Fish: ``source .tox/bin/activate.fish``
|
||||
|
||||
6. Make changes to code, documentation, etc.
|
||||
7. Lint source code ``tox -e lint``
|
||||
8. Run the tests ``tox -e py27``
|
||||
9. Commit changes to your forked repository
|
||||
10. Submit a Pull Request on GitHub.
|
||||
|
||||
Licence
|
||||
-------
|
||||
|
||||
Copyright (C) 2014-2015 Ivan Kravets
|
||||
Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
|
||||
Licenced under the MIT Licence.
|
||||
The PlatformIO is licensed under the permissive Apache 2.0 licence,
|
||||
so you can use it in both commercial and personal projects with confidence.
|
||||
|
22
appveyor.yml
@ -1,21 +1,13 @@
|
||||
build: off
|
||||
environment:
|
||||
global:
|
||||
WITH_COMPILER: "cmd /E:ON /V:ON /C .\\scripts\\appveyor\\run_with_compiler.cmd"
|
||||
|
||||
matrix:
|
||||
- TOXENV: "py27"
|
||||
TOXPYTHON: "C:\\Python27-x64\\python.exe"
|
||||
WINDOWS_SDK_VERSION: "v7.0"
|
||||
PYTHON_HOME: "C:\\Python27-x64"
|
||||
PYTHON_VERSION: "2.7"
|
||||
PYTHON_ARCH: "64"
|
||||
init:
|
||||
- "ECHO %TOXENV%"
|
||||
- ps: "ls C:\\Python*"
|
||||
|
||||
install:
|
||||
- "git submodule update --init --recursive"
|
||||
- "powershell scripts\\appveyor\\install.ps1"
|
||||
- cmd: git submodule update --init --recursive
|
||||
- cmd: SET PATH=%PATH%;C:\Python27\Scripts;C:\MinGW\bin
|
||||
- cmd: pip install tox
|
||||
|
||||
test_script:
|
||||
- "%PYTHON_HOME%\\Scripts\\tox --version"
|
||||
- "%PYTHON_HOME%\\Scripts\\pip --version"
|
||||
- "%WITH_COMPILER% %PYTHON_HOME%\\Scripts\\tox"
|
||||
- cmd: tox
|
||||
|
20
circle.yml
@ -1,20 +0,0 @@
|
||||
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/ci-travis-logo.png
vendored
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
docs/_static/clang-installer-add-path.png
vendored
Normal file
After Width: | Height: | Size: 22 KiB |
314
docs/_static/extra.css
vendored
Normal file
@ -0,0 +1,314 @@
|
||||
/**
|
||||
* Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
header,
|
||||
nav {
|
||||
display: block;
|
||||
}
|
||||
|
||||
#pionav {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.container {
|
||||
padding-right: 15px;
|
||||
padding-left: 15px;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
#pionav {
|
||||
display: block !important;
|
||||
}
|
||||
body {
|
||||
padding-top: 50px;
|
||||
}
|
||||
.wy-nav-side {
|
||||
top: 50px;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 970px;
|
||||
}
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
.container {
|
||||
width: 1150px;
|
||||
}
|
||||
}
|
||||
.container-fluid {
|
||||
padding-right: 15px;
|
||||
padding-left: 15px;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.container:before,
|
||||
.container:after,
|
||||
.container-fluid:before,
|
||||
.container-fluid:after,
|
||||
.nav:before,
|
||||
.nav:after,
|
||||
.navbar:before,
|
||||
.navbar:after,
|
||||
.navbar-header:before,
|
||||
.navbar-header:after {
|
||||
display: table;
|
||||
content: " ";
|
||||
}
|
||||
.container:after,
|
||||
.container-fluid:after,
|
||||
.nav:after,
|
||||
.navbar:after,
|
||||
.navbar-header:after {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.nav {
|
||||
padding-left: 0;
|
||||
margin-bottom: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.nav > li {
|
||||
position: relative;
|
||||
display: block;
|
||||
}
|
||||
.nav > li > a {
|
||||
position: relative;
|
||||
display: block;
|
||||
padding: 10px 15px;
|
||||
font-size: 14px;
|
||||
}
|
||||
.nav > li > a:hover,
|
||||
.nav > li > a:focus {
|
||||
text-decoration: none;
|
||||
background-color: #eee;
|
||||
}
|
||||
.nav > li > a > img {
|
||||
max-width: none;
|
||||
}
|
||||
.nav > li > a > i {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.navbar {
|
||||
position: relative;
|
||||
min-height: 50px;
|
||||
margin-bottom: 20px;
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.navbar {
|
||||
border-radius: 4px;
|
||||
}
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.navbar-header {
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.navbar-fixed-top {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
}
|
||||
.navbar-fixed-top {
|
||||
max-height: 340px;
|
||||
}
|
||||
.container > .navbar-header,
|
||||
.container-fluid > .navbar-header {
|
||||
margin-right: -15px;
|
||||
margin-left: -15px;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.container > .navbar-header,
|
||||
.container-fluid > .navbar-header {
|
||||
margin-right: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-fixed-top {
|
||||
position: fixed;
|
||||
right: 0;
|
||||
left: 0;
|
||||
z-index: 1030;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.navbar-fixed-top {
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
.navbar-fixed-top {
|
||||
top: 0;
|
||||
border-width: 0 0 1px;
|
||||
}
|
||||
.navbar-fixed-bottom {
|
||||
bottom: 0;
|
||||
margin-bottom: 0;
|
||||
border-width: 1px 0 0;
|
||||
}
|
||||
.navbar-brand {
|
||||
float: left;
|
||||
height: 50px;
|
||||
padding: 15px 15px;
|
||||
font-size: 18px;
|
||||
line-height: 20px;
|
||||
}
|
||||
.navbar-brand:hover,
|
||||
.navbar-brand:focus {
|
||||
text-decoration: none;
|
||||
}
|
||||
.navbar-brand > img {
|
||||
display: block;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.navbar > .container .navbar-brand,
|
||||
.navbar > .container-fluid .navbar-brand {
|
||||
margin-left: -15px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-nav {
|
||||
margin: 7.5px -15px;
|
||||
}
|
||||
.navbar-nav > li > a {
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
line-height: 20px;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.navbar-nav {
|
||||
float: left;
|
||||
margin: 0;
|
||||
}
|
||||
.navbar-nav > li {
|
||||
float: left;
|
||||
}
|
||||
.navbar-nav > li > a {
|
||||
padding-top: 15px;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.navbar-left {
|
||||
float: left !important;
|
||||
}
|
||||
.navbar-right {
|
||||
float: right !important;
|
||||
margin-right: -15px;
|
||||
}
|
||||
.navbar-right ~ .navbar-right {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-inverse {
|
||||
background-color: #222;
|
||||
border-color: #080808;
|
||||
}
|
||||
.navbar-inverse .navbar-brand {
|
||||
color: #9d9d9d;
|
||||
}
|
||||
.navbar-inverse .navbar-brand:hover,
|
||||
.navbar-inverse .navbar-brand:focus {
|
||||
color: #fff;
|
||||
background-color: transparent;
|
||||
}
|
||||
.navbar-inverse .navbar-text {
|
||||
color: #9d9d9d;
|
||||
}
|
||||
.navbar-inverse .navbar-nav > li > a {
|
||||
color: #9d9d9d;
|
||||
}
|
||||
.navbar-inverse .navbar-nav > li > a:hover,
|
||||
.navbar-inverse .navbar-nav > li > a:focus {
|
||||
color: #fff;
|
||||
background-color: transparent;
|
||||
}
|
||||
.navbar-inverse .navbar-nav > .active > a,
|
||||
.navbar-inverse .navbar-nav > .active > a:hover,
|
||||
.navbar-inverse .navbar-nav > .active > a:focus {
|
||||
color: #fff;
|
||||
background-color: #080808;
|
||||
}
|
||||
|
||||
.navbar-header .navbar-brand {
|
||||
color: #e0e0e0;
|
||||
}
|
||||
|
||||
/* Misc */
|
||||
|
||||
.wy-side-scroll .wy-side-nav-search .icon,
|
||||
.wy-side-scroll .wy-side-nav-search .version {
|
||||
display: none;
|
||||
visibility: none;
|
||||
}
|
||||
|
||||
.navbar-header .navbar-brand {
|
||||
color: #e0e0e0;
|
||||
background: url("../_static/platformio-logo-xs.png") no-repeat;
|
||||
background-position: 5px 0;
|
||||
padding-left: 50px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.navbar .github-corner {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.navbar .github-corner svg {
|
||||
fill: #fff;
|
||||
color: #080808;
|
||||
position: absolute;
|
||||
top: -1px;
|
||||
right: 0;
|
||||
border: 0;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
transform: scale(1, 1);
|
||||
}
|
||||
|
||||
@media screen and (min-width: 992px) {
|
||||
.navbar .github-corner {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.top-banner {
|
||||
display: block;
|
||||
padding: 10px 20px;
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
background-color: #0275d8;
|
||||
}
|
||||
|
||||
.top-banner:hover {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
background-color: #025ebb;
|
||||
}
|
||||
|
||||
.top-banner:visited {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
BIN
docs/_static/favicon.ico
vendored
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
docs/_static/ide-atom-platformio-install.png
vendored
Normal file
After Width: | Height: | Size: 240 KiB |
BIN
docs/_static/ide-atom-platformio-menu-item.png
vendored
Normal file
After Width: | Height: | Size: 224 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-1.png
vendored
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-10.png
vendored
Normal file
After Width: | Height: | Size: 73 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-11.png
vendored
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-12.png
vendored
Normal file
After Width: | Height: | Size: 81 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-13.png
vendored
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-14.png
vendored
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-2.png
vendored
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-3.png
vendored
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-4.png
vendored
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-5.png
vendored
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-6.png
vendored
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-7.png
vendored
Normal file
After Width: | Height: | Size: 134 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-8.png
vendored
Normal file
After Width: | Height: | Size: 70 KiB |
BIN
docs/_static/ide-atom-platformio-quick-start-9.png
vendored
Normal file
After Width: | Height: | Size: 73 KiB |
BIN
docs/_static/ide-atom-platformio-toolbar.png
vendored
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
docs/_static/ide-atom-platformio.png
vendored
Normal file
After Width: | Height: | Size: 645 KiB |
BIN
docs/_static/ide-eclipse-virtualiot.jpg
vendored
Normal file
After Width: | Height: | Size: 140 KiB |
BIN
docs/_static/ide-platformio-arduino.png
vendored
Before Width: | Height: | Size: 108 KiB |
BIN
docs/_static/ide-platformio-clion.png
vendored
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 297 KiB |
BIN
docs/_static/ide-platformio-codeblocks.png
vendored
Normal file
After Width: | Height: | Size: 91 KiB |
BIN
docs/_static/ide-platformio-eclipse.png
vendored
Before Width: | Height: | Size: 265 KiB After Width: | Height: | Size: 341 KiB |
BIN
docs/_static/ide-platformio-emacs.png
vendored
Normal file
After Width: | Height: | Size: 430 KiB |
BIN
docs/_static/ide-platformio-energia.png
vendored
Before Width: | Height: | Size: 112 KiB |
BIN
docs/_static/ide-platformio-netbeans.png
vendored
Normal file
After Width: | Height: | Size: 213 KiB |
BIN
docs/_static/ide-platformio-qtcreator-3.png
vendored
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 192 KiB |
BIN
docs/_static/ide-sublime-text-deviot.gif
vendored
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
docs/_static/ide-vs-platformio-newproject-6.png
vendored
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 24 KiB |
BIN
docs/_static/ide-vs-platformio-newproject-8.png
vendored
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 108 KiB |
BIN
docs/_static/ide-vs-platformio-newproject-9.png
vendored
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
docs/_static/platformio-demo-lib.gif
vendored
Normal file
After Width: | Height: | Size: 2.4 MiB |
BIN
docs/_static/platformio-demo-ota-esp8266.jpg
vendored
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
docs/_static/platformio-demo-platforms.gif
vendored
Normal file
After Width: | Height: | Size: 569 KiB |
BIN
docs/_static/platformio-demo-wiring.gif
vendored
Normal file
After Width: | Height: | Size: 2.0 MiB |
BIN
docs/_static/platformio-logo-xs.png
vendored
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
docs/_static/platformio-logo.png
vendored
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 28 KiB |
BIN
docs/_static/python-installer-add-path.png
vendored
Normal file
After Width: | Height: | Size: 63 KiB |
63
docs/_templates/footer.html
vendored
Normal file
@ -0,0 +1,63 @@
|
||||
{% extends "!footer.html" %}
|
||||
|
||||
{% block extrafooter %}
|
||||
<link rel="stylesheet" href="{{ pathto('_static/extra.css', 1) }}" type="text/css" />
|
||||
<header id="pionav" class="navbar navbar-inverse navbar-fixed-top">
|
||||
<a href="https://github.com/platformio" target="_blank" class="github-corner">
|
||||
<svg viewBox="0 0 250 250">
|
||||
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
|
||||
<path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path>
|
||||
<path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path>
|
||||
</svg>
|
||||
</a>
|
||||
<div class="container container-fluid">
|
||||
<div class="navbar-header">
|
||||
<a class="navbar-brand" href="http://platformio.org">PlatformIO</a>
|
||||
</div>
|
||||
|
||||
<nav role="navigation">
|
||||
<div>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="http://platformio.org/get-started"><i class="fa fa-rocket fa-lg"></i>Get Started</a></li>
|
||||
<li><a href="http://platformio.org/platformio-ide"><i class="fa fa-cube fa-lg"></i>IDE</a></li>
|
||||
<li><a href="http://platformio.org/platforms"><i class="fa fa-wrench fa-lg"></i>Development</a></li>
|
||||
<li ><a href="http://platformio.org/lib"><i class="fa fa-code fa-lg"></i>Libraries</a></li>
|
||||
</ul>
|
||||
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li class="active"><a href="http://docs.platformio.org"><i class="fa fa-book fa-lg"></i>Docs</a></li>
|
||||
<li><a href="https://community.platformio.org"><i class="fa fa-comments-o fa-lg"></i>Community</a></li>
|
||||
<li><a href="http://platformio.org/contact"><i class="fa fa-envelope fa-lg"></i>Contact</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
<script>
|
||||
(function() {
|
||||
var runMyCode = function($) {
|
||||
$(window).ready(function() {
|
||||
if ($('#pionav').css('display') !== 'block') {
|
||||
return;
|
||||
}
|
||||
function fixScroll() {
|
||||
$(window).scrollTop($(window).scrollTop() - 50);
|
||||
}
|
||||
window.setTimeout(fixScroll, 50);
|
||||
$(window).on('hashchange', function(e){fixScroll();});
|
||||
});
|
||||
};
|
||||
|
||||
var timer = function() {
|
||||
if (window.jQuery) {
|
||||
runMyCode(window.jQuery);
|
||||
} else {
|
||||
window.setTimeout(timer, 50);
|
||||
}
|
||||
};
|
||||
timer();
|
||||
})();
|
||||
</script>
|
||||
{{ super() }}
|
||||
{% endblock %}
|
@ -1,21 +1,103 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _articles:
|
||||
|
||||
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:
|
||||
|
||||
2016
|
||||
^^^^
|
||||
|
||||
* Jun 3, 2016 - **Daniel Eichhorn** - `ESP8266: Continuous Delivery Pipeline – Push To Production <http://blog.squix.org/2016/06/esp8266-continuous-delivery-pipeline-push-to-production.html>`_
|
||||
* May 30, 2016 - **Ron Moerman** - `IoT Development with PlatformIO <https://electronicsworkbench.io/blog/platformio>`_
|
||||
* May 29, 2016 - **Chris Synan** - `Reverse Engineer RF Remote Controller for IoT! <http://www.instructables.com/id/Reverse-Engineer-RF-Remote-Controller-for-IoT/?ALLSTEPS>`_
|
||||
* May 26, 2016 - **Charlie Key** - `7 Best Developer Tools To Build Your NEXT Internet of Things Application <https://www.losant.com/blog/7-best-developer-tools-to-build-your-next-internet-of-things-application>`_
|
||||
* May 22, 2016 - **Pedro Minatel** - `Estação meteorológica com ESP8266 (Weather station with ESP8266, Portuguese) <http://pedrominatel.com.br/esp8266/estacao-meteorologica-com-esp8266/>`_
|
||||
* May 16, 2016 - **Pedro Minatel** - `Controle remoto WiFi com ESP8266 (WiFi remote control using ESP8266, Portuguese) <http://pedrominatel.com.br/esp8266/controle-remoto-wifi-com-esp8266/>`_
|
||||
* May 11, 2016 - **Jo Vandeginste** - `Using PlatformIO to compile for Jeelabs' Jeenode Micro <http://jovandeginste.github.io/2016/05/11/using-platformio-to-compile-for-jeelabs-jeenode-micro.html>`_
|
||||
* May 08, 2016 - **Radoslaw Bob** - `Touch controlled buzzer (Nodemcu ESP8266) <https://gettoknowthebob.wordpress.com/2016/05/08/touch-controlled-buzzer-nodemcu-esp8266/>`_
|
||||
* May 06, 2016 - **Jean Roux** - `The IoT building blocks I use for my home-automation projects <http://iotplay.blogspot.fr/2016/05/the-components-i-use-for-my-projects.html/>`_
|
||||
* May 05, 2016 - **Ivan Kravets, Ph.D. / Eclipse Virtual IoT Meetup** - `PlatformIO: a cross-platform IoT solution to build them all! <http://www.meetup.com/Virtual-IoT/events/229964142/>`_
|
||||
* May 01, 2016 - **Pedro Minatel** - `PlatformIO – Uma alternativa ao Arduino IDE (PlatformIO - An alternative to the Arduino IDE, Portuguese) <http://pedrominatel.com.br/ferramentas/platformio-uma-alternativa-ao-arduino-ide/>`_
|
||||
* Apr 23, 2016 - **Al Williams** - `Hackaday: Atomic Arduino (and Other) Development <http://hackaday.com/2016/04/23/atomic-arduino-and-other-development/>`_
|
||||
* Apr 16, 2016 - **Sathittham Sangthong** - `[PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน (Let's play together with PlatformIO IDE [alternative to Arduino IDE], Thai) <http://www.sathittham.com/platformio/platformio-ide/>`_
|
||||
* Apr 15, 2016 - **Daniel Eichhorn** - `ESP8266: Offline Debugging with the Platformio Environment <http://blog.squix.ch/2016/04/esp8266-offline-debugging-with.html>`_
|
||||
* Apr 11, 2016 - **Matjaz Trcek** - `Top 5 Arduino integrated development environments <https://codeandunicorns.com/top-5-arduino-integrated-development-environments-ide/>`_
|
||||
* Apr 06, 2016 - **Aleks** - `PlatformIO ausprobiert (Tried PlatformIO, German) <http://5volt-junkie.net/platformio/>`_
|
||||
* Apr 02, 2016 - **Diego Pinto** - `Você tem coragem de abandonar a IDE do Arduino? PlatformIO + Atom (Do you dare to leave the Arduino IDE? PlatformIO + Atom, Portuguese) <http://www.clubemaker.com.br/?rota=artigo/81>`_
|
||||
* Mar 30, 2016 - **Brandon Cannaday** - `Getting Started with PlatformIO and ESP8266 NodeMcu <https://www.losant.com/blog/getting-started-with-platformio-esp8266-nodemcu>`_
|
||||
* Mar 29, 2016 - **Pablo Peñalve** - `PlatformIO + Geany + Raspberry PI, Spanish <http://ret-catriel.blogspot.com/2016/03/framework-platformio-geany-raspberry-pi.html>`_
|
||||
* Mar 24, 2016 - **NAzT** - `PlatformIO และการปรับแต่ง เพื่อใช้สำหรับพัฒนา Arduino Library (PlatformIO and advanced development for Arduino Library, Thai) <https://cmmakerclub.com/tools-2/config-platformio-for-arduino-framework-developer/>`_
|
||||
* Mar 16, 2016 - **Jakub Skořepa** - `Instalace PlatformIO (PlatformIO IDE Installation, Czech) <http://ok1kvk.cz/clanek/2016/instalace-platformio/>`_
|
||||
* Mar 12, 2016 - **Peter Marks** - `PlatformIO, the Arduino IDE for programmers <http://blog.marxy.org/2016/03/platformio-arduino-ide-for-programmers.html>`_
|
||||
* Mar 12, 2016 - **Richard Arthurs** - `Getting Started With PlatformIO <http://richarthurs.com/2016/03/12/platformio-review-and-first-thoughts/>`_
|
||||
* Mar 07, 2016 - **Joran Jessurun** - `Nieuwe wereld met PlatformIO (New world with PlatformIO, Dutch) <http://blog.wisclub.nl/#post178>`_
|
||||
* Mar 05, 2016 - **brichacek.net** - `PlatformIO – otevřený ekosystém pro vývoj IoT (PlatformIO – an open source ecosystem for IoT development, Czech) <http://blog.brichacek.net/platformio-otevreny-ekosystem-pro-vyvoj-iot/>`_
|
||||
* Mar 04, 2016 - **Ricardo Vega** - `Programa tu Arduino desde Atom (Program your Arduino from Atom, Spanish) <http://ricveal.com/blog/programa-arduino-desde-atom/>`_
|
||||
* Feb 28, 2016 - **Alex Bloggt** - `PlatformIO vorgestellt (Introduction to PlatformIO IDE, German) <https://alexbloggt.com/platformio-vorgestellt/>`_
|
||||
* Feb 25, 2016 - **NutDIY** - `PlatformIO Blink On Nodemcu Dev Kit V1.0 (Thai) <http://nutdiy.blogspot.com/2016/02/platformio-blink-on-nodemcu-dev-kit-v10.html>`_
|
||||
* Feb 23, 2016 - **Ptarmigan Labs** - `ESP8266 Over The Air updating – what are the options? <https://ptarmiganlabs.com/blog/2016/02/23/esp8266-over-the-air-updating-what-are-the-options/>`_
|
||||
* Feb 22, 2016 - **Grzegorz Hołdys** - `How to Integrate PlatformIO with Netbeans <http://www.instructables.com/id/How-to-Integrate-PlatformIO-With-Netbeans/>`_
|
||||
* Feb 19, 2016 - **Embedds** - `Develop easier with PlatformIO ecosystem <http://www.embedds.com/develop-easier-with-platformio-ecosystem/>`_
|
||||
* Feb 13, 2016 - **Robert Cudmore** - `Programming an arduino with PlatformIO <http://blog.cudmore.io/post/2016/02/13/Programming-an-arduino-with-platformio/>`_
|
||||
* Jan 24, 2016 - **Sergey Prilukin** - `How to use IntelliJ IDEA to develop and upload software for micro controllers like Arduino <http://jandevblog.blogspot.com/2016/01/how-to-use-intellij-idea-to-develop-and.html>`_
|
||||
* Jan 16, 2016 - **Dani Eichhorn** - `ESP8266 Arduino IDE Alternative: PlatformIO <http://blog.squix.ch/2016/01/esp8266-arduino-ide-alternative.html>`_
|
||||
* Jan 11, 2016 - **David Mills, Ph.D.** - `STM NUCLEOF401RE TIMER IO <http://webshed.org/wiki/STM_NUCLEOF401RE_TIMER_IO>`_
|
||||
* Jan 05, 2016 - **Julien Rodrigues** - `Internet Of Things: The IDE scandal <https://medium.com/@jrodrigues/internet-of-things-the-ide-scandal-5ddb8fc9d918>`_
|
||||
|
||||
2015
|
||||
^^^^
|
||||
|
||||
* Dec 22, 2015 - **Jan Penninkhof** - `Over-the-Air ESP8266 programming using PlatformIO <http://www.penninkhof.com/2015/12/1610-over-the-air-esp8266-programming-using-platformio/>`_
|
||||
* Dec 15, 2015 - **stastaka** - `PlatformIOでカスタムボードを使う (Use a custom board for PlatformIO, Japanese) <http://qiita.com/stastaka/items/a6a50dbbb2933bd78bdd>`_
|
||||
* Dec 08, 2015 - **Piotr Król** - `Using PlatformIO with TI MSP430 LunchPads <http://blog.3mdeb.com/2015/12/08/using-platformio-with-ti-msp430-lunchpads/>`_
|
||||
* Dec 01, 2015 - **Michał Seroczyński** - `Push Notification from Arduino Yún with motion sensor <http://www.ches.pl/push-from-yun-1/>`_
|
||||
* Dec 01, 2015 - **JetBrains CLion Blog** - `C++ Annotated: Fall 2015. Arduino Support in CLion using PlatformIO <http://blog.jetbrains.com/clion/2015/12/cpp-annotated-fall-2015/>`_
|
||||
* Dec 01, 2015 - **Tateno Yuichi** - `ESP8266 を CUI で開発する (Develop a ESP8266 in CUI, Japanese) <http://jaywiggins.com/platformio/arduino/avr/es8266/2015/09/30/platformio-investigation/>`_
|
||||
* Nov 29, 2015 - **Keith Hughes** - `Using PlatformIO for Embedded Projects <http://smartspacestuff.blogspot.com/2015/11/using-platformio-for-embedded-projects.html>`_
|
||||
* Nov 22, 2015 - **Michał Seroczyński** - `Using PlatformIO to get started with Arduino in CLion IDE <http://www.ches.pl/using-platformio-get-started-arduino-clion-ide/>`_
|
||||
* Nov 09, 2015 - **ÁLvaro García Gómez** - `Programar con Arduino "The good way" (Programming with Arduino "The good way", Spanish) <http://congdegnu.es/2015/11/09/programar-con-arduino-the-good-way/>`_
|
||||
* Nov 06, 2015 - **nocd5** - `PlatformIOでmbedをオフラインビルドしSTM32 Nucleoボードでmrubyを使う (Use mruby in the offline build for STM32 Nucleo board with mbed and PlatformIO, Japanese) <http://qiita.com/nocd5/items/d5fda776240f7e7c17eb>`_
|
||||
* Oct 21, 2015 - **Vittorio Zaccaria** - `Using a cheap STM32 Nucleo to teach remote sensor monitoring <http://www.vittoriozaccaria.net/blog/2015/10/21/using-a-cheap-stm32-nucleo-to-teach-remote-sensor-monitoring.html>`_
|
||||
* Oct 18, 2015 - **Nico Coetzee** - `First Arduino I2C Experience with PlatformIO <https://electronicventurer.wordpress.com/2015/10/18/first-arduino-i2c-experience/>`_
|
||||
* Oct 10, 2015 - **Floyd Hilton** - `Programming Arduino with Atom <http://floydhilton.com/software/career/2015/10/10/Arduino_with_Atom.html>`_
|
||||
* Oct 01, 2015 - **Mistan** - `Compile and Upload Arduino Sketch with PlatformIO for Raspberry Pi Running Arch Linux <http://tech.memoryimprintstudio.com/code-building-for-arduino-with-platformio-for-raspberry-pi-with-arch-linux/>`_
|
||||
* Sep 30, 2015 - **Jay Wiggins** - `PlatformIO Investigation <http://jaywiggins.com/platformio/arduino/avr/es8266/2015/09/30/platformio-investigation/>`_
|
||||
* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation <http://thomasweldon.com/tpw/courses/embeddsp/p00pcFrdmK64_eclipsePlatformioSetup.html>`_
|
||||
* Aug 08, 2015 - **Josh Glendenning** - `Armstrap Eagle and PlatformIO <http://isobit.io/2015/08/08/armstrap.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 (Getting Started with 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>`_
|
||||
* 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>`_
|
||||
* Jul 14, 2015 - **ElbinarIO** - `Programar para Arduino y otros microcontroladores desde la linea de comandos (Program Arguino and other microcontrollers from the command line, 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/>`_
|
||||
* Jul 07, 2015 - **Sho Hashimoto** - `PlatformIOでArduino開発する(Arduino development in PlatformIO, Japanese) <http://shokai.org/blog/archives/10250>`_
|
||||
* Jun 02, 2015 - **Alejandro Guirao Rodríguez** - `Discovering PlatformIO: The RaspberryPi / Arduino combo kit is a winner option when prototyping an IoT-style project <http://lekum.org/posts/discovering-platformio/index.html>`_
|
||||
* May 17, 2015 - **S.S** - `コマンドラインでArduino開発 : vim + platformio (Arduino development at the command line: VIM + PlatformIO, Japanese) <http://qiita.com/caad1229/items/7b5fb47f034ae6e0baf2>`_
|
||||
* May 11, 2015 - **IT Hare** - `From Web Developer to Embedded One: Interview with Ivan Kravets, The Guy Behind PlatformIO. Part II <http://ithare.com/from-web-developer-to-embedded-one-interview-with-ivan-kravets-the-guy-behind-platformio-part-ii/>`_
|
||||
* May 4, 2015 - **IT Hare** - `From Web Developer to Embedded One: Interview with Ivan Kravets, The Guy Behind PlatformIO. Part I <http://ithare.com/from-web-development-to-embedded-one-interview-with-ivan-kravets-the-guy-behind-platformio-part-i/>`_
|
||||
* April 17, 2015 - **Michael Ball** - `PlatformIO - A Cross-Platform Code Builder and Missing Library Manager <http://arduino-pi.blogspot.com.es/2015/04/platformio-cross-platform-code-builder.html>`_
|
||||
* March 23, 2015 - **Atmel** - `Cross-board and cross-vendor embedded development with PlatformIO <http://blog.atmel.com/2015/03/23/cross-board-and-cross-vendor-embedded-development-with-platformio/>`_
|
||||
* March 22, 2015 - **Mark VandeWettering** - `Discovered a new tool for embedded development: PlatformIO <http://brainwagon.org/2015/03/22/discovered-a-new-tool-for-embedded-development-platformio/>`_
|
||||
* 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>`_
|
||||
* Apr 17, 2015 - **Michael Ball** - `PlatformIO - A Cross-Platform Code Builder and Missing Library Manager <http://arduino-pi.blogspot.com.es/2015/04/platformio-cross-platform-code-builder.html>`_
|
||||
* Mar 23, 2015 - **Atmel** - `Cross-board and cross-vendor embedded development with PlatformIO <http://blog.atmel.com/2015/03/23/cross-board-and-cross-vendor-embedded-development-with-platformio/>`_
|
||||
* Mar 22, 2015 - **Mark VandeWettering** - `Discovered a new tool for embedded development: PlatformIO <http://brainwagon.org/2015/03/22/discovered-a-new-tool-for-embedded-development-platformio/>`_
|
||||
* Feb 25, 2015 - **Hendrik Putzek** - `Use your favourite IDE together with Arduino <http://blog.putzek.com/2015/02/your-favourite-ide-with-arduino.html>`_
|
||||
|
||||
2014
|
||||
^^^^
|
||||
|
||||
* Oct 7, 2014 - **Ivan Kravets, Ph.D.** - `Integration of PlatformIO library manager to Arduino and Energia IDEs <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_
|
||||
* Jun 20, 2014 - **Ivan Kravets, Ph.D.** - `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO <http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio>`_
|
||||
* Jun 17, 2014 - **Ivan Kravets, Ph.D.** - `How was PlatformIO born or why I love Python World <http://www.ikravets.com/computer-life/programming/2014/06/17/how-was-platformio-born-or-why-i-love-python-world>`_
|
||||
|
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ci_appveyor:
|
||||
|
||||
AppVeyor
|
||||
@ -22,6 +33,8 @@ containing the build results (showing success or failure), or by posting a
|
||||
message on an IRC channel. It can be configured to build project on a range of
|
||||
different :ref:`platforms`.
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
@ -31,155 +44,20 @@ Put ``appveyor.yml`` to the root directory of the GitHub repository.
|
||||
|
||||
build: off
|
||||
environment:
|
||||
global:
|
||||
WITH_COMPILER: "cmd /E:ON /V:ON /C .\\scripts\\appveyor\\run_with_compiler.cmd"
|
||||
matrix:
|
||||
- PLATFORMIO_CI_SRC: "path\\to\\source\\file.c"
|
||||
PLATFORMIO_CI_SRC: "path\\to\\source\\file.ino"
|
||||
PLATFORMIO_CI_SRC: "path\\to\\source\\directory"
|
||||
WINDOWS_SDK_VERSION: "v7.0"
|
||||
PYTHON_HOME: "C:\\Python27-x64"
|
||||
PYTHON_VERSION: "2.7"
|
||||
PYTHON_ARCH: "64"
|
||||
install:
|
||||
- "git submodule update --init --recursive"
|
||||
- "powershell scripts\\appveyor\\install.ps1"
|
||||
before_test:
|
||||
- cmd: SET PATH=%PATH%;%PYTHON_HOME%;%PYTHON_HOME%\Scripts
|
||||
test_script:
|
||||
- '%WITH_COMPILER% %PYTHON_HOME%\\Scripts\\platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N'
|
||||
|
||||
matrix:
|
||||
- PLATFORMIO_CI_SRC: "path\\to\\source\\file.c"
|
||||
- PLATFORMIO_CI_SRC: "path\\to\\source\\file.ino"
|
||||
- PLATFORMIO_CI_SRC: "path\\to\\source\\directory"
|
||||
|
||||
Then create ``scripts/appveyor`` folder and put these 2 scripts (they are the
|
||||
same for the all projects, don't need to modify them):
|
||||
install:
|
||||
- cmd: git submodule update --init --recursive
|
||||
- cmd: SET PATH=%PATH%;C:\Python27\Scripts
|
||||
- cmd: pip install -U platformio
|
||||
|
||||
1. ``scripts/appveyor/install.ps1``:
|
||||
test_script:
|
||||
- cmd: platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||
|
||||
.. code-block:: PowerShell
|
||||
|
||||
$BASE_URL = "https://www.python.org/ftp/python/"
|
||||
$GET_PIP_URL = "https://bootstrap.pypa.io/get-pip.py"
|
||||
$GET_PIP_PATH = "C:\get-pip.py"
|
||||
|
||||
|
||||
function DownloadPython ($python_version, $platform_suffix) {
|
||||
$webclient = New-Object System.Net.WebClient
|
||||
$filename = "python-" + $python_version + $platform_suffix + ".msi"
|
||||
$url = $BASE_URL + $python_version + "/" + $filename
|
||||
|
||||
$basedir = $pwd.Path + "\"
|
||||
$filepath = $basedir + $filename
|
||||
if (Test-Path $filename) {
|
||||
Write-Host "Reusing" $filepath
|
||||
return $filepath
|
||||
}
|
||||
|
||||
# Download and retry up to 5 times in case of network transient errors.
|
||||
Write-Host "Downloading" $filename "from" $url
|
||||
$retry_attempts = 3
|
||||
for($i=0; $i -lt $retry_attempts; $i++){
|
||||
try {
|
||||
$webclient.DownloadFile($url, $filepath)
|
||||
break
|
||||
}
|
||||
Catch [Exception]{
|
||||
Start-Sleep 1
|
||||
}
|
||||
}
|
||||
Write-Host "File saved at" $filepath
|
||||
return $filepath
|
||||
}
|
||||
|
||||
|
||||
function InstallPython ($python_version, $architecture, $python_home) {
|
||||
Write-Host "Installing Python" $python_version "for" $architecture "bit architecture to" $python_home
|
||||
if (Test-Path $python_home) {
|
||||
Write-Host $python_home "already exists, skipping."
|
||||
return $false
|
||||
}
|
||||
if ($architecture -eq "32") {
|
||||
$platform_suffix = ""
|
||||
} else {
|
||||
$platform_suffix = ".amd64"
|
||||
}
|
||||
$filepath = DownloadPython $python_version $platform_suffix
|
||||
Write-Host "Installing" $filepath "to" $python_home
|
||||
$args = "/qn /i $filepath TARGETDIR=$python_home"
|
||||
Write-Host "msiexec.exe" $args
|
||||
Start-Process -FilePath "msiexec.exe" -ArgumentList $args -Wait -Passthru
|
||||
Write-Host "Python $python_version ($architecture) installation complete"
|
||||
return $true
|
||||
}
|
||||
|
||||
|
||||
function InstallPip ($python_home) {
|
||||
$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."
|
||||
}
|
||||
}
|
||||
|
||||
function InstallPackage ($python_home, $pkg) {
|
||||
$pip_path = $python_home + "/Scripts/pip.exe"
|
||||
& $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://dl.platformio.org/scons.zip"
|
||||
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
|
||||
|
||||
2. ``scripts/appveyor/run_with_compiler.cmd``:
|
||||
|
||||
.. code-block:: guess
|
||||
|
||||
@ECHO OFF
|
||||
|
||||
SET COMMAND_TO_RUN=%*
|
||||
SET WIN_SDK_ROOT=C:\Program Files\Microsoft SDKs\Windows
|
||||
|
||||
SET MAJOR_PYTHON_VERSION="%PYTHON_VERSION:~0,1%"
|
||||
IF %MAJOR_PYTHON_VERSION% == "2" (
|
||||
SET WINDOWS_SDK_VERSION="v7.0"
|
||||
) ELSE IF %MAJOR_PYTHON_VERSION% == "3" (
|
||||
SET WINDOWS_SDK_VERSION="v7.1"
|
||||
) ELSE (
|
||||
ECHO Unsupported Python version: "%MAJOR_PYTHON_VERSION%"
|
||||
EXIT 1
|
||||
)
|
||||
|
||||
IF "%PYTHON_ARCH%"=="64" (
|
||||
ECHO Configuring Windows SDK %WINDOWS_SDK_VERSION% for Python %MAJOR_PYTHON_VERSION% on a 64 bit architecture
|
||||
SET DISTUTILS_USE_SDK=1
|
||||
SET MSSdk=1
|
||||
"%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Setup\WindowsSdkVer.exe" -q -version:%WINDOWS_SDK_VERSION%
|
||||
"%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Bin\SetEnv.cmd" /x64 /release
|
||||
ECHO Executing: %COMMAND_TO_RUN%
|
||||
call %COMMAND_TO_RUN% || EXIT 1
|
||||
) ELSE (
|
||||
ECHO Using default MSVC build environment for 32 bit architecture
|
||||
ECHO Executing: %COMMAND_TO_RUN%
|
||||
call %COMMAND_TO_RUN% || EXIT 1
|
||||
)
|
||||
|
||||
For more details as for PlatformIO build process please look into :ref:`cmd_ci`
|
||||
command.
|
||||
@ -194,20 +72,16 @@ Examples
|
||||
|
||||
build: off
|
||||
environment:
|
||||
global:
|
||||
WITH_COMPILER: "cmd /E:ON /V:ON /C .\\scripts\\appveyor\\run_with_compiler.cmd"
|
||||
matrix:
|
||||
- PLATFORMIO_CI_SRC: "examples\\Bluetooth\\PS3SPP\\PS3SPP.ino"
|
||||
PLATFORMIO_CI_SRC: "examples\\pl2303\\pl2303_gps\\pl2303_gps.ino"
|
||||
WINDOWS_SDK_VERSION: "v7.0"
|
||||
PYTHON_HOME: "C:\\Python27-x64"
|
||||
PYTHON_VERSION: "2.7"
|
||||
PYTHON_ARCH: "64"
|
||||
install:
|
||||
- "git submodule update --init --recursive"
|
||||
- "powershell scripts\\appveyor\\install.ps1"
|
||||
before_test:
|
||||
- cmd: SET PATH=%PATH%;%PYTHON_HOME%;%PYTHON_HOME%\Scripts
|
||||
- cmd: git clone https://github.com/xxxajk/spi4teensy3.git c:\spi4teensy
|
||||
test_script:
|
||||
- '%WITH_COMPILER% %PYTHON_HOME%\\Scripts\\platformio ci --lib="." --lib="c:\spi4teensy" --board=uno --board=teensy31 --board=due'
|
||||
|
||||
matrix:
|
||||
- PLATFORMIO_CI_SRC: "examples\\Bluetooth\\PS3SPP\\PS3SPP.ino"
|
||||
- PLATFORMIO_CI_SRC: "examples\\pl2303\\pl2303_gps\\pl2303_gps.ino"
|
||||
|
||||
install:
|
||||
- cmd: git submodule update --init --recursive
|
||||
- cmd: SET PATH=%PATH%;C:\Python27\Scripts
|
||||
- cmd: pip install -U platformio
|
||||
- cmd: git clone https://github.com/xxxajk/spi4teensy3.git C:\spi4teensy
|
||||
|
||||
test_script:
|
||||
- cmd: platformio ci --lib="." --lib="C:\\spi4teensy" --board=uno --board=teensy31 --board=due
|
||||
|
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ci_circleci:
|
||||
|
||||
Circle CI
|
||||
@ -21,52 +32,174 @@ containing the build results (showing success or failure), or by posting a
|
||||
message on an IRC channel. It can be configured to build project on a range of
|
||||
different :ref:`platforms`.
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
Put ``circle.yml`` to the root directory of the GitHub repository.
|
||||
Please make sure to read Circle CI `Getting Started <https://circleci.com/docs/getting-started>`_
|
||||
guide first.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
dependencies:
|
||||
pre:
|
||||
# Install the latest stable PlatformIO
|
||||
- sudo pip install -U platformio
|
||||
|
||||
test:
|
||||
override:
|
||||
- platformio ci path/to/test/file.c --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||
- platformio ci examples/file.ino --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||
- platformio ci path/to/test/directory --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||
|
||||
|
||||
For more details as for PlatformIO build process please look into :ref:`cmd_ci`.
|
||||
|
||||
Project as a library
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
When project is written as a library (where own examples or testing code use
|
||||
it), please use ``--lib="."`` option for :ref:`cmd_ci` command
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
script:
|
||||
- platformio ci --lib="." --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||
|
||||
Library dependecies
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
There 2 options to test source code with dependent libraries:
|
||||
|
||||
Install dependent library using :ref:`librarymanager`
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
dependencies:
|
||||
pre:
|
||||
# Install the latest stable PlatformIO
|
||||
- sudo pip install -U platformio
|
||||
|
||||
# OneWire Library with ID=1 http://platformio.org/lib/show/1/OneWire
|
||||
- platformio lib install 1
|
||||
|
||||
test:
|
||||
override:
|
||||
- platformio ci path/to/test/file.c --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||
|
||||
Manually download dependent library and include in build process via ``--lib`` option
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
dependencies:
|
||||
pre:
|
||||
# Install the latest stable PlatformIO
|
||||
- sudo pip install -U platformio
|
||||
|
||||
# download library to the temporary directory
|
||||
- wget https://github.com/PaulStoffregen/OneWire/archive/master.zip -O /tmp/onewire_source.zip
|
||||
- unzip /tmp/onewire_source.zip -d /tmp/
|
||||
|
||||
test:
|
||||
override:
|
||||
- platformio ci path/to/test/file.c --lib="/tmp/OneWire-master" --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||
|
||||
Custom Build Flags
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO allows to specify own build flags using :envvar:`PLATFORMIO_BUILD_FLAGS` environment
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
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_BUILD_FLAGS: -D SPECIFIC_MACROS -I/extra/inc
|
||||
|
||||
dependencies:
|
||||
pre:
|
||||
- sudo apt-get install python2.7-dev
|
||||
- sudo python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
|
||||
|
||||
For the more details, please follow to
|
||||
:ref:`available build flags/options <projectconf_build_flags>`.
|
||||
|
||||
|
||||
Advanced configuration
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO allows to configure multiple build environments for the single
|
||||
source code using :ref:`projectconf`.
|
||||
|
||||
Instead of ``--board`` option, please use :option:`platformio ci --project-conf`
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
test:
|
||||
override:
|
||||
- platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||
|
||||
|
||||
For more details as for PlatformIO build process please look into :ref:`cmd_ci`
|
||||
command.
|
||||
- platformio ci path/to/test/file.c --project-conf=/path/to/platoformio.ini
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
1. Integration for `USB_Host_Shield_2.0 <https://github.com/felis/USB_Host_Shield_2.0>`_
|
||||
project. The ``circle.yml`` configuration file:
|
||||
1. Custom build flags
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
machine:
|
||||
environment:
|
||||
PLATFORMIO_CI_SRC: examples/Bluetooth/PS3SPP/PS3SPP.ino
|
||||
PLATFORMIO_CI_SRC: examples/pl2303/pl2303_gps/pl2303_gps.ino
|
||||
|
||||
dependencies:
|
||||
cache_directories:
|
||||
- "~/.platformio"
|
||||
|
||||
pre:
|
||||
- sudo apt-get install python2.7-dev
|
||||
- sudo 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
|
||||
- sudo pip install -U platformio
|
||||
|
||||
# pre-install PlatformIO development platforms, they will be cached
|
||||
- platformio platforms install atmelavr atmelsam teensy
|
||||
|
||||
#
|
||||
# Libraries from PlatformIO Library Registry:
|
||||
#
|
||||
# http://platformio.org/lib/show/416/TinyGPS
|
||||
# http://platformio.org/lib/show/417/SPI4Teensy3
|
||||
- platformio lib install 416 417
|
||||
|
||||
test:
|
||||
override:
|
||||
- platformio ci --lib="." --lib="/tmp/spi4teensy3-master" --board=uno --board=teensy31 --board=due
|
||||
- platformio ci examples/acm/acm_terminal --board=uno --board=teensy31 --board=due --lib="."
|
||||
- platformio ci examples/adk/adk_barcode --board=uno --board=teensy31 --board=due --lib="."
|
||||
- platformio ci examples/adk/ArduinoBlinkLED --board=uno --board=teensy31 --board=due --lib="."
|
||||
- platformio ci examples/adk/demokit_20 --board=uno --board=teensy31 --board=due --lib="."
|
||||
# ...
|
||||
- platformio ci examples/Xbox/XBOXUSB --board=uno --board=teensy31 --board=due --lib="."
|
||||
|
||||
* Configuration file: https://github.com/ivankravets/USB_Host_Shield_2.0/blob/master/circle.yml
|
||||
* Build History: https://circleci.com/gh/ivankravets/USB_Host_Shield_2.0/tree/master
|
||||
|
||||
2. Dependency on external libraries
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
dependencies:
|
||||
pre:
|
||||
# Install the latest stable PlatformIO
|
||||
- sudo pip install -U platformio
|
||||
|
||||
# download dependent libraries
|
||||
- wget https://github.com/jcw/jeelib/archive/master.zip -O /tmp/jeelib.zip
|
||||
- unzip /tmp/jeelib.zip -d /tmp
|
||||
|
||||
- wget https://github.com/Rodot/Gamebuino/archive/master.zip -O /tmp/gamebuino.zip
|
||||
- unzip /tmp/gamebuino.zip -d /tmp
|
||||
|
||||
test:
|
||||
override:
|
||||
- platformio ci examples/backSoon/backSoon.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560
|
||||
- platformio ci examples/etherNode/etherNode.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560
|
||||
- platformio ci examples/getDHCPandDNS/getDHCPandDNS.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560
|
||||
- platformio ci examples/getStaticIP/getStaticIP.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560
|
||||
# ...
|
||||
- platformio ci examples/twitter/twitter.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560
|
||||
- platformio ci examples/udpClientSendOnly/udpClientSendOnly.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560
|
||||
- platformio ci examples/udpListener/udpListener.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560
|
||||
- platformio ci examples/webClient/webClient.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560
|
||||
|
||||
* Configuration file: hhttps://github.com/ivankravets/ethercard/blob/master/circle.yaml
|
||||
* Build History: https://circleci.com/gh/ivankravets/ethercard/tree/master
|
||||
|
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ci_drone:
|
||||
|
||||
Drone
|
||||
@ -20,6 +31,8 @@ the way it has been configured to do so — for example, by sending an email
|
||||
containing the build results (showing success or failure). It can be
|
||||
configured to build project on a range of different :ref:`platforms`.
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
@ -37,7 +50,7 @@ Please fill all fields for your project in the Drone control panel:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
|
||||
pip install -U platformio
|
||||
platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||
|
||||
.. image:: ../_static/droneci-platformio-integration-1.png
|
||||
@ -62,7 +75,7 @@ Examples
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
|
||||
pip install -U platformio
|
||||
wget https://github.com/xxxajk/spi4teensy3/archive/master.zip -O /tmp/spi4teensy3.zip
|
||||
unzip /tmp/spi4teensy3.zip -d /tmp
|
||||
platformio ci --lib="." --lib="/tmp/spi4teensy3-master" --board=uno --board=teensy31 --board=due
|
||||
|
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ci:
|
||||
|
||||
Continuous Integration
|
||||
|
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ci_shippable:
|
||||
|
||||
Shippable
|
||||
@ -24,6 +35,8 @@ containing the build results (showing success or failure), or by posting a
|
||||
message on an IRC channel. It can be configured to build project on a range of
|
||||
different :ref:`platforms`.
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
@ -42,7 +55,7 @@ GitHub repository.
|
||||
- PLATFORMIO_CI_SRC=path/to/source/directory
|
||||
|
||||
install:
|
||||
- python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
|
||||
- pip install -U platformio
|
||||
|
||||
script:
|
||||
- platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||
@ -68,7 +81,7 @@ Examples
|
||||
- PLATFORMIO_CI_SRC=examples/pl2303/pl2303_gps/pl2303_gps.ino
|
||||
|
||||
install:
|
||||
- python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
|
||||
- pip install -U platformio
|
||||
- wget https://github.com/xxxajk/spi4teensy3/archive/master.zip -O /tmp/spi4teensy3.zip
|
||||
- unzip /tmp/spi4teensy3.zip -d /tmp
|
||||
|
||||
|
@ -1,8 +1,26 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ci_travis:
|
||||
|
||||
Travis CI
|
||||
=========
|
||||
|
||||
.. image:: ../_static/ci-travis-logo.png
|
||||
:target: https://docs.travis-ci.com/user/integration/platformio/
|
||||
|
||||
|
||||
**Travis CI** `officially supports <https://docs.travis-ci.com/user/integration/platformio/>`_
|
||||
**PlatformIO for Embedded Builds.**
|
||||
|
||||
`Travis CI <http://en.wikipedia.org/wiki/Travis_CI>`_ is an open-source hosted,
|
||||
distributed continuous integration service used to build and test projects
|
||||
hosted at `GitHub <http://en.wikipedia.org/wiki/GitHub>`_.
|
||||
@ -21,10 +39,17 @@ containing the build results (showing success or failure), or by posting a
|
||||
message on an IRC channel. It can be configured to build project on a range of
|
||||
different :ref:`platforms`.
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
Please put ``.travis.yml`` to the root directory of the GitHub repository.
|
||||
Please make sure to read Travis CI `Getting Started <http://docs.travis-ci.com/user/getting-started/>`_
|
||||
and `general build configuration <http://docs.travis-ci.com/user/customizing-the-build/>`_
|
||||
guides first.
|
||||
|
||||
PlatformIO is written in Python and is recommended to be run within
|
||||
`Travis CI Python isolated environment <http://docs.travis-ci.com/user/languages/python/#Travis-CI-Uses-Isolated-virtualenvs>`_:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
@ -32,28 +57,110 @@ Please put ``.travis.yml`` to the root directory of the GitHub repository.
|
||||
python:
|
||||
- "2.7"
|
||||
|
||||
# Cache PlatformIO packages using Travis CI container-based infrastructure
|
||||
sudo: false
|
||||
cache:
|
||||
directories:
|
||||
- "~/.platformio"
|
||||
|
||||
env:
|
||||
- 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/test/file.c
|
||||
- PLATFORMIO_CI_SRC=examples/file.ino
|
||||
- PLATFORMIO_CI_SRC=path/to/test/directory
|
||||
|
||||
install:
|
||||
- python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
|
||||
- pip install -U platformio
|
||||
|
||||
script:
|
||||
- platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||
|
||||
Then perform steps 1, 2 and 4 from http://docs.travis-ci.com/user/getting-started/
|
||||
|
||||
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`.
|
||||
|
||||
For more details as for PlatformIO build process please look into :ref:`cmd_ci`
|
||||
command.
|
||||
Project as a library
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
When project is written as a library (where own examples or testing code use
|
||||
it), please use ``--lib="."`` option for :ref:`cmd_ci` command
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
script:
|
||||
- platformio ci --lib="." --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||
|
||||
Library dependecies
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
There 2 options to test source code with dependent libraries:
|
||||
|
||||
Install dependent library using :ref:`librarymanager`
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
install:
|
||||
- pip install -U platformio
|
||||
|
||||
#
|
||||
# Libraries from PlatformIO Library Registry:
|
||||
#
|
||||
# http://platformio.org/lib/show/1/OneWire
|
||||
- platformio lib install 1
|
||||
|
||||
Manually download dependent library and include in build process via ``--lib`` option
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
install:
|
||||
- pip install -U platformio
|
||||
|
||||
# download library to the temporary directory
|
||||
- wget https://github.com/PaulStoffregen/OneWire/archive/master.zip -O /tmp/onewire_source.zip
|
||||
- unzip /tmp/onewire_source.zip -d /tmp/
|
||||
|
||||
script:
|
||||
- platformio ci --lib="/tmp/OneWire-master" --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||
|
||||
Custom Build Flags
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO allows to specify own build flags using :envvar:`PLATFORMIO_BUILD_FLAGS` environment
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
env:
|
||||
- PLATFORMIO_CI_SRC=path/to/test/file.c PLATFORMIO_BUILD_FLAGS="-D SPECIFIC_MACROS_PER_TEST_ENV -I/extra/inc"
|
||||
- PLATFORMIO_CI_SRC=examples/file.ino
|
||||
- PLATFORMIO_CI_SRC=path/to/test/directory
|
||||
|
||||
install:
|
||||
- pip install -U platformio
|
||||
- export PLATFORMIO_BUILD_FLAGS="-D GLOBAL_MACROS_FOR_ALL_TEST_ENV"
|
||||
|
||||
|
||||
For the more details, please follow to
|
||||
:ref:`available build flags/options <projectconf_build_flags>`.
|
||||
|
||||
|
||||
Advanced configuration
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO allows to configure multiple build environments for the single
|
||||
source code using :ref:`projectconf`.
|
||||
|
||||
Instead of ``--board`` option, please use :option:`platformio ci --project-conf`
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
script:
|
||||
- platformio ci --project-conf=/path/to/platoformio.ini
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
1. Integration for `USB_Host_Shield_2.0 <https://github.com/felis/USB_Host_Shield_2.0>`_
|
||||
project. The ``.travis.yml`` configuration file:
|
||||
1. Custom build flags
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
@ -61,6 +168,12 @@ Examples
|
||||
python:
|
||||
- "2.7"
|
||||
|
||||
# Cache PlatformIO packages using Travis CI container-based infrastructure
|
||||
sudo: false
|
||||
cache:
|
||||
directories:
|
||||
- "~/.platformio"
|
||||
|
||||
env:
|
||||
- PLATFORMIO_CI_SRC=examples/acm/acm_terminal
|
||||
- PLATFORMIO_CI_SRC=examples/Bluetooth/WiiIRCamera PLATFORMIO_BUILD_FLAGS="-DWIICAMERA"
|
||||
@ -69,11 +182,13 @@ Examples
|
||||
# - ...
|
||||
|
||||
install:
|
||||
- python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
|
||||
- pip install -U platformio
|
||||
|
||||
# Libraries from PlatformIO Library Registry
|
||||
# http://platformio.org/#!/lib/show/416/TinyGPS
|
||||
# http://platformio.org/#!/lib/show/417/SPI4Teensy3
|
||||
#
|
||||
# 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:
|
||||
@ -81,3 +196,74 @@ Examples
|
||||
|
||||
* 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
|
||||
|
||||
2. Dependency on external libraries
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
language: python
|
||||
python:
|
||||
- "2.7"
|
||||
|
||||
# Cache PlatformIO packages using Travis CI container-based infrastructure
|
||||
sudo: false
|
||||
cache:
|
||||
directories:
|
||||
- "~/.platformio"
|
||||
|
||||
env:
|
||||
- PLATFORMIO_CI_SRC=examples/backSoon/backSoon.ino
|
||||
- PLATFORMIO_CI_SRC=examples/etherNode/etherNode.ino
|
||||
# -
|
||||
|
||||
install:
|
||||
- pip install -U platformio
|
||||
|
||||
- wget https://github.com/jcw/jeelib/archive/master.zip -O /tmp/jeelib.zip
|
||||
- unzip /tmp/jeelib.zip -d /tmp
|
||||
|
||||
- wget https://github.com/Rodot/Gamebuino/archive/master.zip -O /tmp/gamebuino.zip
|
||||
- unzip /tmp/gamebuino.zip -d /tmp
|
||||
|
||||
script:
|
||||
- platformio ci --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560
|
||||
|
||||
* Configuration file: https://github.com/jcw/ethercard/blob/master/.travis.yml
|
||||
* Build History: https://travis-ci.org/jcw/ethercard
|
||||
|
||||
3. Dynamic testing of the boards
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
language: python
|
||||
python:
|
||||
- "2.7"
|
||||
|
||||
# Cache PlatformIO packages using Travis CI container-based infrastructure
|
||||
sudo: false
|
||||
cache:
|
||||
directories:
|
||||
- "~/.platformio"
|
||||
|
||||
env:
|
||||
- PLATFORMIO_CI_SRC=examples/TimeArduinoDue PLATFORMIO_CI_EXTRA_ARGS="--board=due"
|
||||
- PLATFORMIO_CI_SRC=examples/TimeGPS
|
||||
- PLATFORMIO_CI_SRC=examples/TimeNTP
|
||||
- PLATFORMIO_CI_SRC=examples/TimeTeensy3 PLATFORMIO_CI_EXTRA_ARGS="--board=teensy31"
|
||||
# - ...
|
||||
|
||||
install:
|
||||
- pip install -U platformio
|
||||
- rm -rf ./linux
|
||||
|
||||
#
|
||||
# Libraries from PlatformIO Library Registry:
|
||||
#
|
||||
# http://platformio.org/lib/show/416/TinyGPS
|
||||
- platformio lib install 416 421 422
|
||||
|
||||
script:
|
||||
- platformio ci --lib="." --board=uno --board=teensy20pp $PLATFORMIO_CI_EXTRA_ARGS
|
||||
|
||||
* Configuration file: https://github.com/ivankravets/Time/blob/master/.travis.yml
|
||||
* Build History: https://travis-ci.org/ivankravets/Time
|
||||
|
30
docs/conf.py
@ -45,7 +45,7 @@ master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = u'PlatformIO'
|
||||
copyright = u'2014-2015, Ivan Kravets'
|
||||
copyright = u'2014-2016, Ivan Kravets'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
@ -69,7 +69,7 @@ release = platformio.__version__
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
exclude_patterns = ['_build']
|
||||
exclude_patterns = ['_build', '**/*_extra.rst']
|
||||
|
||||
# The reST default role (used for this markup: `text`) to use for all
|
||||
# documents.
|
||||
@ -119,12 +119,12 @@ html_theme = 'default'
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top
|
||||
# of the sidebar.
|
||||
#html_logo = None
|
||||
#html_logo = '_static/platformio-logo.png'
|
||||
|
||||
# The name of an image file (within the static path) to use as favicon of the
|
||||
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
||||
# pixels large.
|
||||
#html_favicon = None
|
||||
html_favicon = '_static/favicon.ico'
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
@ -184,22 +184,22 @@ htmlhelp_basename = 'PlatformIOdoc'
|
||||
# -- Options for LaTeX output ---------------------------------------------
|
||||
|
||||
latex_elements = {
|
||||
# The paper size ('letterpaper' or 'a4paper').
|
||||
#'papersize': 'letterpaper',
|
||||
# The paper size ('letterpaper' or 'a4paper').
|
||||
#'papersize': 'letterpaper',
|
||||
|
||||
# The font size ('10pt', '11pt' or '12pt').
|
||||
#'pointsize': '10pt',
|
||||
# The font size ('10pt', '11pt' or '12pt').
|
||||
#'pointsize': '10pt',
|
||||
|
||||
# Additional stuff for the LaTeX preamble.
|
||||
#'preamble': '',
|
||||
# Additional stuff for the LaTeX preamble.
|
||||
#'preamble': '',
|
||||
}
|
||||
|
||||
# Grouping the document tree into LaTeX files. List of tuples
|
||||
# (source start file, target name, title,
|
||||
# author, documentclass [howto, manual, or own class]).
|
||||
latex_documents = [
|
||||
('index', 'PlatformIO.tex', u'PlatformIO Documentation',
|
||||
u'Ivan Kravets', 'manual'),
|
||||
('index', 'PlatformIO.tex', u'PlatformIO Documentation',
|
||||
u'Ivan Kravets', 'manual'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
@ -242,9 +242,9 @@ man_pages = [
|
||||
# (source start file, target name, title, author,
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
('index', 'PlatformIO', u'PlatformIO Documentation',
|
||||
u'Ivan Kravets', 'PlatformIO', 'One line description of project.',
|
||||
'Miscellaneous'),
|
||||
('index', 'PlatformIO', u'PlatformIO Documentation',
|
||||
u'Ivan Kravets', 'PlatformIO', 'One line description of project.',
|
||||
'Miscellaneous'),
|
||||
]
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
|
78
docs/demo.rst
Normal file
@ -0,0 +1,78 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _demo:
|
||||
|
||||
Demo & Projects
|
||||
===============
|
||||
|
||||
.. contents::
|
||||
|
||||
Project Examples
|
||||
----------------
|
||||
|
||||
Preconfigured demo projects are located in `PlatformIO GitHub <https://github.com/platformio/platformio-examples/tree/develop>`_ repository.
|
||||
|
||||
"Blink Project"
|
||||
---------------
|
||||
|
||||
.. image:: _static/platformio-demo-wiring.gif
|
||||
|
||||
Used in demo
|
||||
~~~~~~~~~~~~
|
||||
|
||||
1. Source code of `Wiring Blink Example <https://github.com/platformio/platformio-examples/tree/develop/wiring-blink>`_
|
||||
2. :ref:`cmd_run` command
|
||||
3. :ref:`platformio run -t upload <cmd_run>` command.
|
||||
|
||||
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.
|
||||
|
||||
Over-the-Air update for ESP8266
|
||||
-------------------------------
|
||||
|
||||
.. image:: _static/platformio-demo-ota-esp8266.jpg
|
||||
:target: https://www.youtube.com/watch?v=lXchL3hpDO4
|
||||
|
||||
Used in demo
|
||||
~~~~~~~~~~~~
|
||||
|
||||
1. :ref:`cmd_run` command
|
||||
2. :ref:`platformio run -t upload <cmd_run>` command.
|
125
docs/envvars.rst
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _envvars:
|
||||
|
||||
Environment variables
|
||||
@ -18,119 +29,123 @@ 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>`_
|
||||
(Travis, Circle and etc.) systems.
|
||||
Currently, PlatformIO uses it to disable prompts.
|
||||
PlatformIO uses it to disable prompts and progress bars. In other words,
|
||||
``CI=true`` automatically setup :envvar:`PLATFORMIO_SETTING_ENABLE_PROMPTS` to
|
||||
``false`` and :envvar:`PLATFORMIO_DISABLE_PROGRESSBAR` to ``true``.
|
||||
|
||||
In other words, ``CI=true`` automatically setup
|
||||
:ref:`PLATFORMIO_SETTING_ENABLE_PROMPTS=false <envvar_PLATFORMIO_SETTING_ENABLE_PROMPTS>`.
|
||||
.. envvar:: PLATFORMIO_FORCE_COLOR
|
||||
|
||||
.. _envvar_PLATFORMIO_HOME_DIR:
|
||||
Force to output color ANSI-codes even if the output is a ``pipe`` (not a ``tty``).
|
||||
The possible values are ``true`` and ``false``. Default is ``PLATFORMIO_FORCE_COLOR=false``.
|
||||
|
||||
PLATFORMIO_HOME_DIR
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
.. envvar:: PLATFORMIO_DISABLE_PROGRESSBAR
|
||||
|
||||
Disable progress bar for package/library downloader and uploader. This is
|
||||
useful when calling PlatformIO from subprocess and output is a ``pipe`` (not a ``tty``).
|
||||
The possible values are ``true`` and ``false``. Default is ``PLATFORMIO_DISABLE_PROGRESSBAR=false``.
|
||||
|
||||
.. envvar:: PLATFORMIO_HOME_DIR
|
||||
|
||||
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_home_dir`.
|
||||
|
||||
.. _envvar_PLATFORMIO_LIB_DIR:
|
||||
|
||||
PLATFORMIO_LIB_DIR
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
.. envvar:: PLATFORMIO_LIB_DIR
|
||||
|
||||
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_lib_dir`.
|
||||
|
||||
.. _envvar_PLATFORMIO_SRC_DIR:
|
||||
|
||||
PLATFORMIO_SRC_DIR
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
.. envvar:: PLATFORMIO_SRC_DIR
|
||||
|
||||
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_src_dir`.
|
||||
|
||||
.. _envvar_PLATFORMIO_ENVS_DIR:
|
||||
|
||||
PLATFORMIO_ENVS_DIR
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
.. envvar:: PLATFORMIO_ENVS_DIR
|
||||
|
||||
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_envs_dir`.
|
||||
|
||||
.. envvar:: PLATFORMIO_DATA_DIR
|
||||
|
||||
Builder
|
||||
-------
|
||||
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_data_dir`.
|
||||
|
||||
.. _envvar_PLATFORMIO_BUILD_FLAGS:
|
||||
|
||||
PLATFORMIO_BUILD_FLAGS
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
Building
|
||||
--------
|
||||
|
||||
.. envvar:: PLATFORMIO_BUILD_FLAGS
|
||||
|
||||
Allows to set :ref:`projectconf` option :ref:`projectconf_build_flags`.
|
||||
|
||||
.. _envvar_PLATFORMIO_SRC_BUILD_FLAGS:
|
||||
Examples:
|
||||
|
||||
PLATFORMIO_SRC_BUILD_FLAGS
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.. code-block:: bash
|
||||
|
||||
# Unix:
|
||||
export PLATFORMIO_BUILD_FLAGS=-DFOO
|
||||
export PLATFORMIO_BUILD_FLAGS="-DFOO -DBAR=1 -DFLOAT_VALUE=1.23457e+07"
|
||||
export PLATFORMIO_BUILD_FLAGS="'-DWIFI_PASS=\"My password\"' '-DWIFI_SSID=\"My ssid name\"'"
|
||||
|
||||
# Windows:
|
||||
SET PLATFORMIO_BUILD_FLAGS=-DFOO
|
||||
SET PLATFORMIO_BUILD_FLAGS=-DFOO -DBAR=1 -DFLOAT_VALUE=1.23457e+07
|
||||
SET PLATFORMIO_BUILD_FLAGS='-DWIFI_PASS="My password"' '-DWIFI_SSID="My ssid name"'
|
||||
|
||||
.. envvar:: PLATFORMIO_SRC_BUILD_FLAGS
|
||||
|
||||
Allows to set :ref:`projectconf` option :ref:`projectconf_src_build_flags`.
|
||||
|
||||
.. _envvar_PLATFORMIO_SRC_FILTER:
|
||||
|
||||
PLATFORMIO_SRC_FILTER
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
.. envvar:: PLATFORMIO_SRC_FILTER
|
||||
|
||||
Allows to set :ref:`projectconf` option :ref:`projectconf_src_filter`.
|
||||
|
||||
.. _envvar_PLATFORMIO_EXTRA_SCRIPT:
|
||||
|
||||
PLATFORMIO_EXTRA_SCRIPT
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.. envvar:: PLATFORMIO_EXTRA_SCRIPT
|
||||
|
||||
Allows to set :ref:`projectconf` option :ref:`projectconf_extra_script`.
|
||||
|
||||
|
||||
Uploading
|
||||
---------
|
||||
|
||||
.. envvar:: PLATFORMIO_UPLOAD_PORT
|
||||
|
||||
Allows to set :ref:`projectconf` option :ref:`projectconf_upload_port`.
|
||||
|
||||
.. envvar:: PLATFORMIO_UPLOAD_FLAGS
|
||||
|
||||
Allows to set :ref:`projectconf` option :ref:`projectconf_upload_flags`.
|
||||
|
||||
|
||||
Settings
|
||||
--------
|
||||
|
||||
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`.
|
||||
|
188
docs/faq.rst
@ -1,108 +1,178 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _faq:
|
||||
|
||||
Frequently Asked Questions
|
||||
==========================
|
||||
|
||||
.. note::
|
||||
We have a big database with `Frequently Asked Questions in our Community Forums <https://community.platformio.org/c/faq>`_.
|
||||
Please have a look at it.
|
||||
|
||||
.. contents::
|
||||
|
||||
General
|
||||
-------
|
||||
|
||||
.. _faq_what_is_platformio:
|
||||
|
||||
What is PlatformIO?
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
`PlatformIO <http://platformio.org>`_ is a cross-platform code builder
|
||||
and the missing library manager.
|
||||
Please refer to :ref:`what_is_pio`
|
||||
|
||||
PlatformIO is independent from the platform, in which it is running. In fact,
|
||||
the only requirement is Python, which exists pretty much everywhere. What this
|
||||
means is that PlatformIO projects can be easily moved from one computer to
|
||||
another, as well as that PlatformIO allows for the easy sharing of projects
|
||||
between team members, regardless of operating system they prefer to work with.
|
||||
Beyond that, PlatformIO can be run not only on commonly used desktops/laptops
|
||||
but also on the servers without X Window System. While PlatformIO itself is a
|
||||
console application, it can be used in combination with one's favorite
|
||||
:ref:`ide` or text editor such as :ref:`ide_arduino`, :ref:`ide_eclipse`,
|
||||
:ref:`ide_visualstudio`, :ref:`ide_vim`, :ref:`ide_sublimetext`, etc.
|
||||
What is ``.pioenvs`` directory
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Alright, so PlatformIO can run on different operating systems. But more
|
||||
importantly, from development perspective at least, is a list of supported
|
||||
boards and MCUs. To keep things short: PlatformIO supports over 100
|
||||
:ref:`Embedded Boards <platforms>` and all major
|
||||
:ref:`Development Platforms <platforms>`.
|
||||
Please refer to :ref:`projectconf_pio_envs_dir`.
|
||||
|
||||
PlatformIO allows users to:
|
||||
Command completion in Terminal
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Decide which operation system they want to run development process on.
|
||||
You can even use one OS at home and another at work.
|
||||
* Choose which editor to use for writing the code. It can be pretty simple
|
||||
editor or powerful favorite :ref:`ide`.
|
||||
* Focus on the code development, significantly simplifying support for the
|
||||
:ref:`platforms` and MCUs.
|
||||
Bash completion
|
||||
'''''''''''''''
|
||||
|
||||
Bash completion support will complete subcommands and parameters. To enable
|
||||
Bash completion for `platformio` subcommands you need to put into your `.bashrc`:
|
||||
|
||||
How does it work?
|
||||
~~~~~~~~~~~~~~~~~
|
||||
.. code-block:: bash
|
||||
|
||||
Without going too deep into PlatformIO implementation details, work cycle of
|
||||
the project developed using PlatformIO is as follows:
|
||||
eval "$(_PLATFORMIO_COMPLETE=source platformio)"
|
||||
eval "$(_PLATFORMIO_COMPLETE=source pio)"
|
||||
|
||||
* Users choose board(s) interested in :ref:`projectconf`
|
||||
* Based on this list of boards, PlatformIO downloads required toolchains and
|
||||
installs them automatically.
|
||||
* Users develop code and PlatformIO makes sure that it is compiled, prepared
|
||||
and uploaded to all the boards of interest.
|
||||
ZSH completion
|
||||
''''''''''''''
|
||||
|
||||
To enable ``zsh`` completion please run these commands:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
autoload bashcompinit && bashcompinit
|
||||
eval "$(_PLATFORMIO_COMPLETE=source platformio)"
|
||||
eval "$(_PLATFORMIO_COMPLETE=source pio)"
|
||||
|
||||
.. note::
|
||||
|
||||
For permanent command completion you need to place commands above to
|
||||
``~/.bashrc`` or ``~/.zshrc`` file.
|
||||
|
||||
PlatformIO IDE
|
||||
--------------
|
||||
|
||||
Please refer to :ref:`PlatformIO IDE Frequently Asked Questions <ide_atom_faq>`.
|
||||
|
||||
.. _faq_troubleshooting:
|
||||
|
||||
Troubleshooting
|
||||
---------------
|
||||
|
||||
Installation
|
||||
~~~~~~~~~~~~
|
||||
|
||||
[Errno 1] Operation not permitted
|
||||
'''''''''''''''''''''''''''''''''
|
||||
|
||||
Answered in `issue #295 <https://github.com/platformio/platformio/issues/295#issuecomment-143772005>`_.
|
||||
|
||||
Windows AttributeError: 'module' object has no attribute 'packages'
|
||||
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
Answered in `issue #252 <https://github.com/platformio/platformio/issues/252#issuecomment-127072039>`_.
|
||||
|
||||
.. _faq_troubleshooting_pionotfoundinpath:
|
||||
|
||||
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
|
||||
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`` program to the
|
||||
``bin`` directory which is included in ``$PATH``. For example,
|
||||
see `issue #272 <https://github.com/platformio/platformio/issues/272#issuecomment-133626112>`_.
|
||||
|
||||
Windows UnicodeDecodeError: 'ascii' codec can't decode byte
|
||||
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
Answered in `issue #143 <https://github.com/platformio/platformio/issues/143#issuecomment-88060906>`_.
|
||||
|
||||
PlatformIO: command not found || An error "pkg_resources.DistributionNotFound"
|
||||
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
Please upgrade *SetupTools* package:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
[sudo] pip uninstall setuptools
|
||||
[sudo] pip install setuptools
|
||||
|
||||
# Then re-install PlatformIO
|
||||
[sudo] pip uninstall platformio
|
||||
[sudo] pip install platformio
|
||||
|
||||
Miscellaneous
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
.. _faq_troubleshooting_pioblocksprompt:
|
||||
|
||||
PlatformIO blocks command execution using user prompt
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
'''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
If you are going to run *PlatformIO* from **subprocess**, you **MUST
|
||||
DISABLE** all prompts. It will allow you to avoid blocking.
|
||||
There are a few options:
|
||||
|
||||
- using :option:`platformio --force` option before each command
|
||||
- using environment variable :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>`.
|
||||
|
||||
|
||||
Windows: ``UnicodeDecodeError: 'ascii' codec can't decode byte``
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Answered in `issue #143 <https://github.com/platformio/platformio/issues/143#issuecomment-88060906>`_.
|
||||
:envvar:`CI=true <CI>`.
|
||||
|
||||
Serial does not work with panStampAVR board
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
'''''''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
Answered in `issue #144 <https://github.com/platformio/platformio/issues/144#issuecomment-87388038>`_.
|
||||
|
||||
Building
|
||||
~~~~~~~~
|
||||
|
||||
PlatformIO: command not found || An error ``pkg_resources.DistributionNotFound``
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Can not compile a library that compiles without issue with Arduino IDE
|
||||
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
Please upgrade *SetupTools* package:
|
||||
* `#298: Unable to use Souliss library <https://github.com/platformio/platformio/issues/298>`_
|
||||
* `#331: Unable to use MySensors library <https://github.com/platformio/platformio/issues/331>`_
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ [sudo] pip uninstall setuptools
|
||||
$ [sudo] pip install setuptools
|
||||
|
||||
# Then re-install PlatformIO
|
||||
$ [sudo] pip uninstall platformio
|
||||
$ [sudo] pip install platformio
|
||||
|
||||
ARM toolchain: ``cc1plus: error while loading shared libraries``
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
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>`_.
|
||||
|
||||
Monitoring a serial port breaks upload
|
||||
''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
Answered in `issue #384 <https://github.com/platformio/platformio/issues/384>`_.
|
||||
|
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _framework_cmsis:
|
||||
|
||||
Framework ``cmsis``
|
||||
@ -24,7 +35,7 @@ Boards
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by horizontal.
|
||||
|
||||
Armstrap
|
||||
@ -94,3 +105,12 @@ ST
|
||||
- 32 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``nucleo_f401re``
|
||||
- `ST Nucleo F401RE <https://developer.mbed.org/platforms/ST-Nucleo-F401RE/>`_
|
||||
- STM32F401RET6
|
||||
- 84 MHz
|
||||
- 512 Kb
|
||||
- 96 Kb
|
||||
|
||||
.. include:: cmsis_extra.rst
|
||||
|
25
docs/frameworks/cmsis_extra.rst
Normal file
@ -0,0 +1,25 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Articles
|
||||
--------
|
||||
|
||||
* Jan 11, 2016 - **David Mills, Ph.D.** - `STM NUCLEOF401RE TIMER IO <http://webshed.org/wiki/STM_NUCLEOF401RE_TIMER_IO>`_
|
||||
|
||||
See more :ref:`articles`.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for CMSIS framework <https://github.com/platformio/platformio-examples/tree/develop/stm32>`_.
|
||||
|
||||
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/stm32/stm32-cmsis-blink>`_
|
@ -1,8 +1,19 @@
|
||||
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _framework_energia:
|
||||
|
||||
Framework ``energia``
|
||||
=====================
|
||||
Energia framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before.
|
||||
Energia Wiring-based framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before.
|
||||
|
||||
For more detailed information please visit `vendor site <http://energia.nu/reference/>`_.
|
||||
|
||||
@ -27,7 +38,7 @@ Boards
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by horizontal.
|
||||
|
||||
TI
|
||||
@ -64,6 +75,13 @@ TI
|
||||
- 128 Kb
|
||||
- 1 Kb
|
||||
|
||||
* - ``lpmsp430fr4133``
|
||||
- `TI LaunchPad w/ msp430fr4133 <http://www.ti.com/tool/msp-exp430fr4133>`_
|
||||
- MSP430FR4133
|
||||
- 16 MHz
|
||||
- 16 Kb
|
||||
- 2 Kb
|
||||
|
||||
* - ``lpmsp430fr5739``
|
||||
- `TI FraunchPad w/ msp430fr5739 <http://www.ti.com/tool/msp-exp430fr5739>`_
|
||||
- MSP430FR5739
|
||||
@ -78,6 +96,13 @@ TI
|
||||
- 64 Kb
|
||||
- 1 Kb
|
||||
|
||||
* - ``lpmsp430fr6989``
|
||||
- `TI LaunchPad w/ msp430fr6989 <http://www.ti.com/tool/msp-exp430fr6989>`_
|
||||
- MSP430FR6989
|
||||
- 16 MHz
|
||||
- 128 Kb
|
||||
- 2 Kb
|
||||
|
||||
* - ``lpmsp430g2231``
|
||||
- `TI LaunchPad w/ msp430g2231 (1 MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html>`_
|
||||
- MSP430G2231
|
||||
|
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _frameworks:
|
||||
|
||||
Frameworks
|
||||
@ -11,4 +22,6 @@ Frameworks
|
||||
energia
|
||||
libopencm3
|
||||
mbed
|
||||
simba
|
||||
spl
|
||||
wiringpi
|
||||
|
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _framework_libopencm3:
|
||||
|
||||
Framework ``libopencm3``
|
||||
@ -27,7 +38,7 @@ Boards
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by horizontal.
|
||||
|
||||
ST
|
||||
@ -64,6 +75,13 @@ ST
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``nucleo_f103rb``
|
||||
- `ST Nucleo F103RB <https://developer.mbed.org/platforms/ST-Nucleo-F103RB/>`_
|
||||
- STM32F103RBT6
|
||||
- 72 MHz
|
||||
- 128 Kb
|
||||
- 20 Kb
|
||||
|
||||
TI
|
||||
~~
|
||||
|
||||
@ -97,3 +115,5 @@ TI
|
||||
- 120 MHz
|
||||
- 1024 Kb
|
||||
- 256 Kb
|
||||
|
||||
.. include:: libopencm3_extra.rst
|
||||
|
18
docs/frameworks/libopencm3_extra.rst
Normal file
@ -0,0 +1,18 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for libOpenCM3 framework <https://github.com/platformio/platformio-examples/tree/develop/stm32>`_.
|
||||
|
||||
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/stm32/stm32-opencm3-blink>`_
|
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _framework_mbed:
|
||||
|
||||
Framework ``mbed``
|
||||
@ -16,6 +27,9 @@ Platforms
|
||||
* - Name
|
||||
- Description
|
||||
|
||||
* - :ref:`platform_atmelsam`
|
||||
- Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
|
||||
|
||||
* - :ref:`platform_freescalekinetis`
|
||||
- Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
|
||||
|
||||
@ -31,14 +45,91 @@ Platforms
|
||||
* - :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 USB cable and a PC or Macintosh with a USB port.
|
||||
|
||||
Boards
|
||||
------
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by horizontal.
|
||||
|
||||
96Boards
|
||||
~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``b96b_f446ve``
|
||||
- `96Boards B96B-F446VE <https://developer.mbed.org/platforms/ST-B96B-F446VE/>`_
|
||||
- STM32F446VET6
|
||||
- 168 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
Atmel
|
||||
~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``samd21_xpro``
|
||||
- `Atmel SAMD21-XPRO <https://developer.mbed.org/platforms/SAMD21-XPRO/>`_
|
||||
- ATSAMD21J18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``saml21_xpro_b``
|
||||
- `Atmel SAML21-XPRO-B <https://developer.mbed.org/platforms/SAML21-XPRO/>`_
|
||||
- ATSAML21J18B
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``samr21_xpro``
|
||||
- `Atmel ATSAMR21-XPRO <https://developer.mbed.org/platforms/SAMR21-XPRO/>`_
|
||||
- ATSAMR21G18A
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
BBC
|
||||
~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``bbcmicrobit``
|
||||
- `BBC micro:bit <https://developer.mbed.org/platforms/Microbit/>`_
|
||||
- NRF51822
|
||||
- 16 MHz
|
||||
- 256 Kb
|
||||
- 16 Kb
|
||||
|
||||
CQ Publishing
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
@ -195,6 +286,26 @@ JKSoft
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
MultiTech
|
||||
~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``mts_mdot_f411re``
|
||||
- `MultiTech mDot F411 <https://developer.mbed.org/platforms/MTS-mDot-F411/>`_
|
||||
- STM32F411RET6
|
||||
- 100 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
NGX Technologies
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
@ -247,7 +358,7 @@ NXP
|
||||
- LPC1768
|
||||
- 96 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
- 64 Kb
|
||||
|
||||
Nordic
|
||||
~~~~~~
|
||||
@ -392,6 +503,13 @@ ST
|
||||
- 2048 Kb
|
||||
- 256 Kb
|
||||
|
||||
* - ``disco_f469ni``
|
||||
- `ST 32F469IDISCOVERY <http://www.st.com/web/catalog/tools/FM116/CL1620/SC959/SS1532/LN1848/PF262395>`_
|
||||
- STM32F469NIH6
|
||||
- 180 MHz
|
||||
- 1024 Kb
|
||||
- 384 Kb
|
||||
|
||||
* - ``disco_l053c8``
|
||||
- `ST 32L0538DISCOVERY <http://www.st.com/web/en/catalog/tools/PF260319>`_
|
||||
- STM32L053C8T6
|
||||
@ -399,6 +517,13 @@ ST
|
||||
- 64 Kb
|
||||
- 8 Kb
|
||||
|
||||
* - ``disco_l476vg``
|
||||
- `ST 32L476GDISCOVERY <http://www.st.com/web/catalog/tools/FM116/CL1620/SC959/SS1532/LN1848/PF261635>`_
|
||||
- STM32L476VGT6
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``nucleo_f030r8``
|
||||
- `ST Nucleo F030R8 <https://developer.mbed.org/platforms/ST-Nucleo-F030R8/>`_
|
||||
- STM32F030R8T6
|
||||
@ -406,6 +531,20 @@ ST
|
||||
- 64 Kb
|
||||
- 8 Kb
|
||||
|
||||
* - ``nucleo_f031k6``
|
||||
- `ST Nucleo F031K6 <https://developer.mbed.org/platforms/ST-Nucleo-F031K6/>`_
|
||||
- STM32F031K6T6
|
||||
- 48 MHz
|
||||
- 32 Kb
|
||||
- 4 Kb
|
||||
|
||||
* - ``nucleo_f042k6``
|
||||
- `ST Nucleo F042K6 <https://developer.mbed.org/platforms/ST-Nucleo-F042K6/>`_
|
||||
- STM32F042K6T6
|
||||
- 48 MHz
|
||||
- 32 Kb
|
||||
- 6 Kb
|
||||
|
||||
* - ``nucleo_f070rb``
|
||||
- `ST Nucleo F070RB <https://developer.mbed.org/platforms/ST-Nucleo-F070RB/>`_
|
||||
- STM32F070RBT6
|
||||
@ -441,6 +580,13 @@ ST
|
||||
- 64 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``nucleo_f303k8``
|
||||
- `ST Nucleo F303K8 <https://developer.mbed.org/platforms/ST-Nucleo-F303K8/>`_
|
||||
- STM32F303K8T6
|
||||
- 72 MHz
|
||||
- 64 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``nucleo_f303re``
|
||||
- `ST Nucleo F303RE <http://developer.mbed.org/platforms/ST-Nucleo-F303RE/>`_
|
||||
- STM32F303RET6
|
||||
@ -462,6 +608,13 @@ ST
|
||||
- 512 Kb
|
||||
- 96 Kb
|
||||
|
||||
* - ``nucleo_f410rb``
|
||||
- `ST Nucleo F410RB <https://developer.mbed.org/platforms/ST-Nucleo-F410RB/>`_
|
||||
- STM32F410RBT6
|
||||
- 100 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``nucleo_f411re``
|
||||
- `ST Nucleo F411RE <https://developer.mbed.org/platforms/ST-Nucleo-F411RE/>`_
|
||||
- STM32F411RET6
|
||||
@ -469,6 +622,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
|
||||
@ -476,6 +636,13 @@ ST
|
||||
- 64 Kb
|
||||
- 8 Kb
|
||||
|
||||
* - ``nucleo_l073rz``
|
||||
- `ST Nucleo L073RZ <https://developer.mbed.org/platforms/ST-Nucleo-L073RZ/>`_
|
||||
- STM32L073RZ
|
||||
- 32 MHz
|
||||
- 192 Kb
|
||||
- 20 Kb
|
||||
|
||||
* - ``nucleo_l152re``
|
||||
- `ST Nucleo L152RE <https://developer.mbed.org/platforms/ST-Nucleo-L152RE/>`_
|
||||
- STM32L152RET6
|
||||
@ -483,6 +650,13 @@ ST
|
||||
- 512 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``nucleo_l476rg``
|
||||
- `ST Nucleo L476RG <https://developer.mbed.org/platforms/ST-Nucleo-L476RG/>`_
|
||||
- STM32L476RGT6
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 128 Kb
|
||||
|
||||
SeeedStudio
|
||||
~~~~~~~~~~~
|
||||
|
||||
@ -496,6 +670,13 @@ SeeedStudio
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``seeedArchMax``
|
||||
- `SeeedStudio Arch Max <https://developer.mbed.org/platforms/Seeed-Arch-Max/>`_
|
||||
- STM32F407VET6
|
||||
- 168 MHz
|
||||
- 512 Kb
|
||||
- 192 Kb
|
||||
|
||||
* - ``seeedTinyBLE``
|
||||
- `SeeedStudio Seeed Tiny BLE <http://developer.mbed.org/platforms/Seeed-Tiny-BLE/>`_
|
||||
- NRF51822
|
||||
@ -508,7 +689,7 @@ SeeedStudio
|
||||
- LPC1768
|
||||
- 96 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
- 64 Kb
|
||||
|
||||
Silicon Labs
|
||||
~~~~~~~~~~~~
|
||||
@ -544,6 +725,13 @@ Silicon Labs
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``efm32pg_stk3401``
|
||||
- `Silicon Labs SLSTK3401A (Pearl Gecko) <https://developer.mbed.org/platforms/EFM32-Pearl-Gecko/>`_
|
||||
- EFM32PG1B200F256
|
||||
- 40 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``efm32wg_stk3800``
|
||||
- `Silicon Labs EFM32WG-STK3800 (Wonder Gecko) <https://developer.mbed.org/platforms/EFM32-Wonder-Gecko/>`_
|
||||
- EFM32WG990F256
|
||||
@ -619,7 +807,7 @@ Teensy
|
||||
- RAM
|
||||
|
||||
* - ``teensy31``
|
||||
- `Teensy 3.1 <https://www.pjrc.com/store/teensy31.html>`_
|
||||
- `Teensy 3.1 / 3.2 <https://www.pjrc.com/store/teensy31.html>`_
|
||||
- MK20DX256
|
||||
- 72 MHz
|
||||
- 256 Kb
|
||||
@ -643,4 +831,6 @@ u-blox
|
||||
- LPC1768
|
||||
- 96 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
- 64 Kb
|
||||
|
||||
.. include:: mbed_extra.rst
|
||||
|
32
docs/frameworks/mbed_extra.rst
Normal file
@ -0,0 +1,32 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Articles
|
||||
--------
|
||||
|
||||
* Dec 15, 2015 - **stastaka** - `PlatformIOでカスタムボードを使う (Use a custom board for PlatformIO, Japanese) <http://qiita.com/stastaka/items/a6a50dbbb2933bd78bdd>`_
|
||||
* Nov 06, 2015 - **nocd5** - `PlatformIOでmbedをオフラインビルドしSTM32 Nucleoボードでmrubyを使う (Use mruby in the offline build for STM32 Nucleo board with mbed and PlatformIO, Japanese) <http://qiita.com/nocd5/items/d5fda776240f7e7c17eb>`_
|
||||
* Oct 21, 2015 - **Vittorio Zaccaria** - `Using a cheap STM32 Nucleo to teach remote sensor monitoring <http://www.vittoriozaccaria.net/blog/2015/10/21/using-a-cheap-stm32-nucleo-to-teach-remote-sensor-monitoring.html>`_
|
||||
* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation <http://thomasweldon.com/tpw/courses/embeddsp/p00pcFrdmK64_eclipsePlatformioSetup.html>`_
|
||||
|
||||
See more :ref:`articles`.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for MBED framework <https://github.com/platformio/platformio-examples/tree/develop/mbed>`_.
|
||||
|
||||
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/mbed/mbed-blink>`_
|
||||
* `DSP <https://github.com/platformio/platformio-examples/tree/develop/mbed/mbed-dsp>`_
|
||||
* `HTTP Client <https://github.com/platformio/platformio-examples/tree/develop/mbed/mbed-http-client>`_
|
||||
* `RTOS <https://github.com/platformio/platformio-examples/tree/develop/mbed/mbed-rtos>`_
|
||||
* `Serial <https://github.com/platformio/platformio-examples/tree/develop/mbed/mbed-serial>`_
|
169
docs/frameworks/simba.rst
Normal file
@ -0,0 +1,169 @@
|
||||
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _framework_simba:
|
||||
|
||||
Framework ``simba``
|
||||
===================
|
||||
Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
|
||||
|
||||
For more detailed information please visit `vendor site <http://simba-os.readthedocs.org>`_.
|
||||
|
||||
.. contents::
|
||||
|
||||
Platforms
|
||||
---------
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Name
|
||||
- Description
|
||||
|
||||
* - :ref:`platform_atmelavr`
|
||||
- Atmel AVR 8- and 32-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industrys most code-efficient architecture for C and assembly programming.
|
||||
|
||||
* - :ref:`platform_atmelsam`
|
||||
- Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
|
||||
|
||||
* - :ref:`platform_espressif`
|
||||
- Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
|
||||
|
||||
Boards
|
||||
------
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by horizontal.
|
||||
|
||||
Adafruit
|
||||
~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``huzzah``
|
||||
- `Adafruit HUZZAH ESP8266 <https://www.adafruit.com/products/2471>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
Arduino
|
||||
~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``due``
|
||||
- `Arduino Due (Programming Port) <http://www.arduino.org/products/boards/4-arduino-boards/arduino-due>`_
|
||||
- SAM3X8E
|
||||
- 84 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``megaatmega2560``
|
||||
- `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) <http://www.arduino.org/products/boards/4-arduino-boards/arduino-mega-2560>`_
|
||||
- ATMEGA2560
|
||||
- 16 MHz
|
||||
- 256 Kb
|
||||
- 8 Kb
|
||||
|
||||
* - ``nanoatmega328``
|
||||
- `Arduino Nano ATmega328 <http://www.arduino.org/products/boards/4-arduino-boards/arduino-nano>`_
|
||||
- ATMEGA328P
|
||||
- 16 MHz
|
||||
- 32 Kb
|
||||
- 2 Kb
|
||||
|
||||
* - ``uno``
|
||||
- `Arduino Uno <http://www.arduino.org/products/boards/4-arduino-boards/arduino-uno>`_
|
||||
- ATMEGA328P
|
||||
- 16 MHz
|
||||
- 32 Kb
|
||||
- 2 Kb
|
||||
|
||||
Espressif
|
||||
~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``esp01``
|
||||
- `Espressif Generic ESP8266 ESP-01 512k <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp01_1m``
|
||||
- `Espressif Generic ESP8266 ESP-01 1M <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp12e``
|
||||
- `Espressif ESP8266 ESP-12E <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
NodeMCU
|
||||
~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``nodemcu``
|
||||
- `NodeMCU 0.9 (ESP-12 Module) <http://www.nodemcu.com/>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``nodemcuv2``
|
||||
- `NodeMCU 1.0 (ESP-12E Module) <http://www.nodemcu.com/>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
.. include:: simba_extra.rst
|
18
docs/frameworks/simba_extra.rst
Executable file
@ -0,0 +1,18 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for Simba framework <https://github.com/platformio/platformio-examples/tree/develop/examples/simba>`_.
|
||||
|
||||
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/simba/blink>`_
|
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _framework_spl:
|
||||
|
||||
Framework ``spl``
|
||||
@ -24,7 +35,7 @@ Boards
|
||||
|
||||
.. note::
|
||||
* You can list pre-configured boards by :ref:`cmd_boards` command or
|
||||
`PlatformIO Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* For more detailed ``board`` information please scroll tables below by horizontal.
|
||||
|
||||
Armstrap
|
||||
@ -94,3 +105,12 @@ ST
|
||||
- 32 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``nucleo_f401re``
|
||||
- `ST Nucleo F401RE <https://developer.mbed.org/platforms/ST-Nucleo-F401RE/>`_
|
||||
- STM32F401RET6
|
||||
- 84 MHz
|
||||
- 512 Kb
|
||||
- 96 Kb
|
||||
|
||||
.. include:: spl_extra.rst
|
||||
|
18
docs/frameworks/spl_extra.rst
Normal file
@ -0,0 +1,18 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for SPL framework <https://github.com/platformio/platformio-examples/tree/develop/stm32>`_.
|
||||
|
||||
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/stm32/stm32-spl-blink>`_
|
75
docs/frameworks/wiringpi.rst
Normal file
@ -0,0 +1,75 @@
|
||||
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _framework_wiringpi:
|
||||
|
||||
Framework ``wiringpi``
|
||||
======================
|
||||
WiringPi is a GPIO access library written in C for the BCM2835 used in the Raspberry Pi. It's designed to be familiar to people who have used the Arduino "wiring" system.
|
||||
|
||||
For more detailed information please visit `vendor site <http://wiringpi.com>`_.
|
||||
|
||||
.. contents::
|
||||
|
||||
Platforms
|
||||
---------
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Name
|
||||
- Description
|
||||
|
||||
* - :ref:`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.
|
||||
|
||||
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.
|
||||
|
||||
Raspberry Pi
|
||||
~~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``raspberrypi_1b``
|
||||
- `Raspberry Pi 1 Model B <https://www.raspberrypi.org>`_
|
||||
- BCM2835
|
||||
- 700 MHz
|
||||
- 524288 Kb
|
||||
- 524288 Kb
|
||||
|
||||
* - ``raspberrypi_2b``
|
||||
- `Raspberry Pi 2 Model B <https://www.raspberrypi.org>`_
|
||||
- BCM2836
|
||||
- 900 MHz
|
||||
- 1048576 Kb
|
||||
- 1048576 Kb
|
||||
|
||||
* - ``raspberrypi_zero``
|
||||
- `Raspberry Pi Zero <https://www.raspberrypi.org>`_
|
||||
- BCM2835
|
||||
- 1000 MHz
|
||||
- 524288 Kb
|
||||
- 524288 Kb
|
||||
|
||||
.. include:: wiringpi_extra.rst
|
19
docs/frameworks/wiringpi_extra.rst
Normal file
@ -0,0 +1,19 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for WiringPi framework <https://github.com/platformio/platformio-examples/tree/develop/raspberrypi>`_.
|
||||
|
||||
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/raspberrypi/wiringpi-blink>`_
|
||||
* `Serial <https://github.com/platformio/platformio-examples/tree/develop/raspberrypi/wiringpi-serial>`_
|
@ -1 +1,12 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. include:: ../HISTORY.rst
|
||||
|
16
docs/ide.rst
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide:
|
||||
|
||||
IDE Integration
|
||||
@ -6,11 +17,12 @@ IDE Integration
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
ide/arduino
|
||||
ide/atom
|
||||
ide/clion
|
||||
ide/codeblocks
|
||||
ide/eclipse
|
||||
ide/energia
|
||||
ide/emacs
|
||||
ide/netbeans
|
||||
ide/qtcreator
|
||||
ide/sublimetext
|
||||
ide/vim
|
||||
|
31
docs/ide/_platformio_ide_extra.rst
Normal file
@ -0,0 +1,31 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. note::
|
||||
We are proud to present our official `PlatformIO IDE <http://platformio.org/platformio-ide>`_ -
|
||||
The next-generation integrated development environment for IoT.
|
||||
|
||||
* Cross-platform build system without external dependencies to the OS software:
|
||||
|
||||
- 250+ embedded boards
|
||||
- 20+ development platforms
|
||||
- 10+ frameworks
|
||||
|
||||
* C/C++ Intelligent code completion
|
||||
* C/C++ Smart code linter for super-fast coding
|
||||
* Library Manager for the hundreds popular libraries
|
||||
* Multi-projects workflow with multiple panes
|
||||
* Multiple panes
|
||||
* Themes support with dark and light colors
|
||||
* Serial Port Monitor
|
||||
* Built-in Terminal with :ref:`PlatformIO CLI <userguide>` tool (``pio``, ``platformio``)
|
||||
|
||||
`Install PlatformIO IDE <http://platformio.org/platformio-ide>`_.
|
@ -1,31 +0,0 @@
|
||||
.. _ide_arduino:
|
||||
|
||||
Arduino
|
||||
=======
|
||||
|
||||
The open-source `Arduino Software (IDE) <http://arduino.cc/en/main/software>`_
|
||||
makes it easy to write code and upload it to the board. It runs on *Windows,
|
||||
Mac OS X, and Linux*. The environment is written in *Java* and based on
|
||||
*Processing* and other open-source software.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* :ref:`platform_atmelavr`
|
||||
* :ref:`platform_atmelsam`
|
||||
* :ref:`framework_arduino`
|
||||
|
||||
Refer to the `Arduino Getting Started <http://arduino.cc/en/Guide/HomePage>`_
|
||||
page for Installation instructions.
|
||||
|
||||
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
|
||||
----------
|
||||
|
||||
.. image:: ../_static/ide-platformio-arduino.png
|
||||
:target: http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides
|
@ -1,39 +1,488 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_atom:
|
||||
|
||||
Atom
|
||||
====
|
||||
PlatformIO IDE for Atom
|
||||
=======================
|
||||
|
||||
`Atom <https://atom.io>`_ is a text editor that's modern, approachable,
|
||||
yet hackable to the core—a tool you can customize to do anything but also use
|
||||
productively without ever touching a config file.
|
||||
PlatformIO IDE is the next-generation integrated development environment for IoT:
|
||||
|
||||
This software can be used with:
|
||||
* Cross-platform build system without external dependencies to the OS software:
|
||||
|
||||
* all available :ref:`platforms`
|
||||
* all available :ref:`frameworks`
|
||||
- 250+ embedded boards
|
||||
- 20+ development platforms
|
||||
- 10+ frameworks
|
||||
|
||||
Refer to the `Atom Documentation <https://atom.io/docs>`_
|
||||
page for more detailed information.
|
||||
* C/C++ Intelligent Code Completion
|
||||
* C/C++ Smart Code Linter for rapid professional development
|
||||
* Library Manager for the hundreds popular libraries
|
||||
* Multi-projects workflow with multiple panes
|
||||
* Themes support with dark and light colors
|
||||
* Serial Port Monitor
|
||||
* Built-in Terminal with :ref:`PlatformIO CLI <userguide>` tool (``pio``, ``platformio``)
|
||||
|
||||
|
||||
PlatformIO IDE is based on GitHub's `Atom <https://atom.io>`_ source
|
||||
code editor that's modern, approachable, yet hackable to the core; a tool you
|
||||
can customize to do anything but also use productively without ever touching a
|
||||
config file.
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio.png
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
Installation
|
||||
------------
|
||||
|
||||
PlatformIO IDE is the next-generation integrated development environment for IoT.
|
||||
It's built on top of `GitHub's Atom "hackable" text editor <https://atom.io>`_.
|
||||
If you have already Atom installed, please install `PlatformIO IDE for Atom package <https://atom.io/packages/platformio-ide>`_.
|
||||
|
||||
.. note::
|
||||
You don't need to install PlatformIO CLI seprately to system.
|
||||
PlatformIO CLI is built into PlatformIO IDE and you will be able to use it
|
||||
within PlatformIO IDE Terminal.
|
||||
|
||||
1. Python Interpreter
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE is based on PlatformIO CLI which is written in
|
||||
`Python <https://www.python.org/downloads/>`_. Python is installed by default
|
||||
on the all popular OS except Windows.
|
||||
|
||||
**Windows Users**, please `Download the latest Python 2.7.x <https://www.python.org/downloads/>`_
|
||||
and install it. **DON'T FORGET** to select ``Add python.exe to Path`` feature
|
||||
on the "Customize" stage, otherwise ``python`` command will not be available.
|
||||
|
||||
.. image:: ../_static/python-installer-add-path.png
|
||||
|
||||
.. _ide_atom_installation_clang:
|
||||
|
||||
2. Clang for Intelligent Code Autocompletion
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE uses `clang <http://clang.llvm.org>`_ for the Intelligent Code Autocompletion.
|
||||
To check that ``clang`` is available in your system, please open
|
||||
Terminal and run ``clang --version``. If ``clang`` is not installed, then install it:
|
||||
|
||||
- **Mac OS X**: `Install the latest Xcode <https://developer.apple.com/xcode/download/>`_
|
||||
along with the latest Command Line Tools
|
||||
(they are installed automatically when you run ``clang`` in Terminal for the
|
||||
first time, or manually by running ``xcode-select --install``
|
||||
- **Windows**: Download the latest `Clang for Windows <http://llvm.org/releases/download.html>`_.
|
||||
Please select "Add LLVM to the system PATH" option on the installation step.
|
||||
|
||||
.. image:: ../_static/clang-installer-add-path.png
|
||||
|
||||
- **Linux**: Using package managers: ``apt-get install clang`` or ``yum install clang``.
|
||||
- **Other Systems**: Download the latest `Clang for the other systems <http://llvm.org/releases/download.html>`_.
|
||||
|
||||
.. warning::
|
||||
The libraries which are added/installed after initializing process will
|
||||
not be reflected in code linter. You need ``Menu: PlatformIO >
|
||||
Rebuild C/C++ Project Index (Autocomplete, Linter)``.
|
||||
|
||||
3. IDE Installation
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. note::
|
||||
If you don't have Atom installed yet, we propose to download
|
||||
`PlatformIO IDE for Atom bundle <http://platformio.org/platformio-ide>`_
|
||||
with built-in auto installer (optional).
|
||||
|
||||
- Download and install the `latest official Atom text editor <https://atom.io>`_.
|
||||
- Open Atom Package Manager and install `platformio-ide <https://atom.io/packages/platformio-ide>`_
|
||||
Atom package (be patient and let the installation complete)
|
||||
|
||||
- **Mac OS X**: ``Menu: Atom > Preferences > Install``
|
||||
- **Windows**: ``Menu: File > Settings > Install``
|
||||
- **Linux**: ``Menu: Edit > Preferences > Install``
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-install.png
|
||||
|
||||
.. _atom_ide_quickstart:
|
||||
|
||||
Quick Start
|
||||
-----------
|
||||
|
||||
Using `Atom Packages <https://atom.io/docs/v1.0.2/using-atom-atom-packages>`_
|
||||
please install `platomformio <https://atom.io/packages/platomformio>`_ package.
|
||||
This tutorial introduces you to the basics of PlatformIO IDE workflow and shows
|
||||
you a creation process of a simple "Blink" example. After finishing you will
|
||||
have a general understanding of how to work with projects in the IDE.
|
||||
|
||||
Screenshot
|
||||
Launch
|
||||
~~~~~~
|
||||
|
||||
After installation, you launch PlatformIO IDE by opening Atom. Once Atom is
|
||||
open, PlatformIO IDE auto installer will continue to install dependent packages
|
||||
and PlatformIO CLI. Please be patient and let the installation complete. In the
|
||||
final result PlatformIO IDE will ask you to reload Atom window to apply
|
||||
installed components. Please click on ``Reload Now``. After it PlatformIO IDE is
|
||||
ready for using. Happy coding!
|
||||
|
||||
Setting Up the Project
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
1. To create a new project choose
|
||||
``Menu: PlatformIO > Initialize new Project or update existing`` or press
|
||||
the corresponding icon in the PlatformIO toolbar as shown in the image below:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-1.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-1.png
|
||||
|
||||
2. In the "New Project Menu" choose desired boards (more than one board is
|
||||
allowed) and select a project directory. Then press "Initialize" button:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-2.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-2.png
|
||||
|
||||
3. If everything is fine, you should see the success message and project tree
|
||||
in the left panel:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-3.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-3.png
|
||||
|
||||
4. Now, let's create the first project source file: right-click on the folder
|
||||
``src`` and choose ``New File``:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-4.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-4.png
|
||||
|
||||
Enter filename ``main.cpp``:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-5.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-5.png
|
||||
|
||||
Copy the next source code to the just created file ``main.cpp``:
|
||||
|
||||
.. code-block:: cpp
|
||||
|
||||
/**
|
||||
* Blink
|
||||
* Turns on an LED on for one second,
|
||||
* then off for one second, repeatedly.
|
||||
*/
|
||||
#include "Arduino.h"
|
||||
|
||||
void setup()
|
||||
{
|
||||
// initialize LED digital pin as an output.
|
||||
pinMode(LED_BUILTIN, OUTPUT);
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
// turn the LED on (HIGH is the voltage level)
|
||||
digitalWrite(LED_BUILTIN, HIGH);
|
||||
// wait for a second
|
||||
delay(1000);
|
||||
// turn the LED off by making the voltage LOW
|
||||
digitalWrite(LED_BUILTIN, LOW);
|
||||
// wait for a second
|
||||
delay(1000);
|
||||
}
|
||||
|
||||
Process Project
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE proposes different ways to process project (build, clean,
|
||||
upload firmware, run other targets) using:
|
||||
|
||||
- :ref:`atom_ide_platformio_toolbar`
|
||||
- :ref:`atom_ide_platformio_menu`
|
||||
- :ref:`ide_atom_building_targets` and hotkeys
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-6.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-6.png
|
||||
|
||||
5. Run ``Build`` and you should see green "success" result in the building
|
||||
panel:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-7.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-7.png
|
||||
|
||||
To upload firmware to the board run ``Upload``.
|
||||
|
||||
6. What is more, you can run specific target or process project environment
|
||||
using ``Menu: PlatformIO > Run other target...``
|
||||
or call targets list from the status bar (bottom, left corner):
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-8.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-8.png
|
||||
|
||||
And select desired target:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-9.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-9.png
|
||||
|
||||
7. To run built-in terminal interface choose ``Menu: PlatformIO > Terminal`` or
|
||||
press the corresponding icon in the PlatformIO toolbar:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-10.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-10.png
|
||||
|
||||
It provides you fast access to all set of powerful PlatformIO CLI commands:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-11.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-11.png
|
||||
|
||||
8. To run built-in "Serial Monitor" choose ``Menu: PlatformIO > Serial Monitor``
|
||||
or press the corresponding icon in the PlatformIO toolbar:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-12.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-12.png
|
||||
|
||||
It has several settings to adjust your connection:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-13.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-13.png
|
||||
|
||||
And allows you to communicate with your board in an easy way:
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-quick-start-14.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio-quick-start-14.png
|
||||
|
||||
|
||||
User Guide
|
||||
----------
|
||||
|
||||
Building
|
||||
^^^^^^^^
|
||||
.. _atom_ide_platformio_menu:
|
||||
|
||||
.. image:: ../_static/ide-platformio-atom-1.gif
|
||||
:target: https://atom.io/packages/platomformio
|
||||
Menu item ``PlatformIO``
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Uploading
|
||||
^^^^^^^^^
|
||||
`platformio-ide <https://atom.io/packages/platformio-ide>`_ package adds to Atom
|
||||
new menu item named ``Menu: PlatformIO`` (after ``Menu: Help`` item).
|
||||
|
||||
.. image:: ../_static/ide-platformio-atom-2.gif
|
||||
:target: https://atom.io/packages/platomformio
|
||||
.. image:: ../_static/ide-atom-platformio-menu-item.png
|
||||
|
||||
.. _atom_ide_platformio_toolbar:
|
||||
|
||||
PlatformIO Toolbar
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE Toolbar contains the quick access button to the popular commands.
|
||||
Each button contains hint (delay mouse on it).
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio-toolbar.png
|
||||
|
||||
* PlatformIO: Build
|
||||
* PlatformIO: Upload
|
||||
* PlatformIO: Clean
|
||||
* ||
|
||||
* Initialize new PlatformIO Project or update existing...
|
||||
* Add/Open Project Folder...
|
||||
* Find in Project...
|
||||
* ||
|
||||
* Terminal
|
||||
* Library Manager
|
||||
* Serial Monitor
|
||||
* ||
|
||||
* Settings
|
||||
* PlatformIO Documentation
|
||||
|
||||
.. _ide_atom_building_targets:
|
||||
|
||||
Building / Uploading / Targets
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* ``cmd-alt-b`` / ``ctrl-alt-b`` / ``f9`` builds project without auto-uploading.
|
||||
* ``cmd-alt-u`` / ``ctrl-alt-u`` builds and uploads (if no errors).
|
||||
* ``cmd-alt-c`` / ``ctrl-alt-c`` cleans compiled objects.
|
||||
* ``cmd-alt-t`` / ``ctrl-alt-t`` / ``f7`` run other targets (Upload using Programmer, Upload SPIFFS image, Update platforms and libraries).
|
||||
* ``cmd-alt-g`` / ``ctrl-alt-g`` / ``f4`` cycles through causes of build error.
|
||||
* ``cmd-alt-h`` / ``ctrl-alt-h`` / ``shift-f4`` goes to the first build error.
|
||||
* ``cmd-alt-v`` / ``ctrl-alt-v`` / ``f8`` toggles the build panel.
|
||||
* ``escape`` terminates build / closes the build window.
|
||||
|
||||
More options ``Menu: PlatformIO > Settings > Build``.
|
||||
|
||||
Intelligent Code Autocompletion
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE uses `clang <http://clang.llvm.org>`_ for the Intelligent Code Autocompletion.
|
||||
To install it or check if it is already installed, please follow to step
|
||||
:ref:`ide_atom_installation_clang` from Installation guide.
|
||||
|
||||
.. warning::
|
||||
The libraries which are added/installed after initializing process will
|
||||
not be reflected in code linter. You need ``Menu: PlatformIO >
|
||||
Rebuild C/C++ Project Index (Autocomplete, Linter)``.
|
||||
|
||||
.. _ide_atom_smart_code_linter:
|
||||
|
||||
Smart Code Linter
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE uses PlatformIO's pre-built GCC toolchains for Smart Code Linter
|
||||
and rapid professional development.
|
||||
The configuration data are located in ``.gcc-flags.json``. This file will be
|
||||
automatically created and preconfigured when you initialize project using
|
||||
``Menu: PlatformIO > Initialize new PlatformIO Project or update existing...``.
|
||||
|
||||
.. warning::
|
||||
The libraries which are added/installed after initializing process will
|
||||
not be reflected in code linter. You need ``Menu: PlatformIO >
|
||||
Rebuild C/C++ Project Index (Autocomplete, Linter)``.
|
||||
|
||||
|
||||
.. error::
|
||||
If you have error like ``linter-gcc: Executable not found`` and
|
||||
``"***/.platformio/packages/toolchain-atmelavr/bin/avr-g++" not found``
|
||||
please ``Menu: PlatformIO > Initialize new PlatformIO Project or update existing...``.
|
||||
|
||||
Install Shell Commands
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To install ``platformio`` and ``pio`` shell commands please use ``Menu:
|
||||
PlatformIO > Install Shell Commands``. It will allow you to call PlatformIO from
|
||||
other process, terminal and etc.
|
||||
|
||||
Known issues
|
||||
------------
|
||||
|
||||
Smart Code Linter is disabled for Arduino files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
:ref:`ide_atom_smart_code_linter` is disabled by default for Arduino files
|
||||
(``*.ino`` and ``.pde``) because they are not valid C/C++ based
|
||||
source files:
|
||||
|
||||
1. Missing includes such as ``#include <Arduino.h>``
|
||||
2. Function declarations are omitted.
|
||||
|
||||
There are two solutions:
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
.. _ide_atom_knownissues_sclarduino_manually:
|
||||
|
||||
Convert Arduino file to C++ manually
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
For example, we have the next ``Demo.ino`` file:
|
||||
|
||||
.. code-block:: cpp
|
||||
|
||||
void function setup () {
|
||||
someFunction(13);
|
||||
}
|
||||
|
||||
void function loop() {
|
||||
delay(1000);
|
||||
}
|
||||
|
||||
void someFunction(int num) {
|
||||
}
|
||||
|
||||
Let's convert it to ``Demo.cpp``:
|
||||
|
||||
1. Add ``#include <Arduino.h>`` at the top of the source file
|
||||
2. Declare each custom function (excluding built-in, such as ``setup`` and ``loop``)
|
||||
before it will be called.
|
||||
|
||||
The final ``Demo.cpp``:
|
||||
|
||||
.. code-block:: cpp
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
void someFunction(int num);
|
||||
|
||||
void function setup () {
|
||||
someFunction(13);
|
||||
}
|
||||
|
||||
void function loop() {
|
||||
delay(1000);
|
||||
}
|
||||
|
||||
void someFunction(int num) {
|
||||
}
|
||||
|
||||
Force Arduino file as C++
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
To force Smart Code Linter to use Arduino files as C++ please
|
||||
|
||||
1. Open ``.gcc-flags.json`` file from the Initialized/Imported project and add
|
||||
``-x c++`` flag at the beginning of the value of ``gccDefaultCppFlags`` field:
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
{
|
||||
"execPath": "...",
|
||||
"gccDefaultCFlags": "...",
|
||||
"gccDefaultCppFlags": "-x c++ -fsyntax-only ...",
|
||||
"gccErrorLimit": 15,
|
||||
"gccIncludePaths": "...",
|
||||
"gccSuppressWarnings": false
|
||||
}
|
||||
|
||||
2. Perform all steps from :ref:`ide_atom_knownissues_sclarduino_manually`
|
||||
(without renaming to ``.cpp``).
|
||||
|
||||
.. _ide_atom_faq:
|
||||
|
||||
Frequently Asked Questions
|
||||
--------------------------
|
||||
|
||||
Keep build panel visible
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE hides build panel on success by default. Nevertheless, you can
|
||||
keep it visible all time. Please follow to
|
||||
``Menu: PlatformIO > Settings > Build`` and set ``Panel Visibility`` to
|
||||
``Keep Visible``.
|
||||
|
||||
Key-bindings (toggle panel):
|
||||
|
||||
* ``cmd+alt+v`` - Mac OS X
|
||||
* ``ctrl+alt+v`` - Windows/Linux
|
||||
|
||||
Automatically save on build
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If you want automatically save all edited files when triggering a build, please follow to
|
||||
``Menu: PlatformIO > Settings > Build`` and check ``Automatically save on build``.
|
||||
|
||||
Jump to Declaration
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Click on a function/include, press ``F3`` and you will be taken directly to
|
||||
the declaration for that function.
|
||||
|
||||
Code Formatting
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
You need to install `atom-beautify <https://atom.io/packages/atom-beautify>`_
|
||||
package and `C/C++ Uncrustify Code Beautifier <http://sourceforge.net/projects/uncrustify/>`_.
|
||||
|
||||
Articles / Manuals
|
||||
------------------
|
||||
|
||||
* May 30, 2016 - **Ron Moerman** - `IoT Development with PlatformIO <https://electronicsworkbench.io/blog/platformio>`_
|
||||
* May 01, 2016 - **Pedro Minatel** - `PlatformIO – Uma alternativa ao Arduino IDE (PlatformIO - An alternative to the Arduino IDE, Portuguese) <http://pedrominatel.com.br/ferramentas/platformio-uma-alternativa-ao-arduino-ide/>`_
|
||||
* Apr 23, 2016 - **Al Williams** - `Hackaday: Atomic Arduino (and Other) Development <http://hackaday.com/2016/04/23/atomic-arduino-and-other-development/>`_
|
||||
* Apr 16, 2016 - **Sathittham Sangthong** - `[PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน (Let's play together with PlatformIO IDE [alternative to Arduino IDE], Thai) <http://www.sathittham.com/platformio/platformio-ide/>`_
|
||||
* Apr 11, 2016 - **Matjaz Trcek** - `Top 5 Arduino integrated development environments <https://codeandunicorns.com/top-5-arduino-integrated-development-environments-ide/>`_
|
||||
* Apr 06, 2016 - **Aleks** - `PlatformIO ausprobiert (Tried PlatformIO, German) <http://5volt-junkie.net/platformio/>`_
|
||||
* Apr 02, 2016 - **Diego Pinto** - `Você tem coragem de abandonar a IDE do Arduino? PlatformIO + Atom (Do you dare to leave the Arduino IDE? PlatformIO + Atom, Portuguese) <http://www.clubemaker.com.br/?rota=artigo/81>`_
|
||||
* Mar 30, 2016 - **Brandon Cannaday** - `Getting Started with PlatformIO and ESP8266 NodeMcu <https://www.getstructure.io/blog/getting-started-with-platformio-esp8266-nodemcu>`_
|
||||
* Mar 12, 2016 - **Peter Marks** - `PlatformIO, the Arduino IDE for programmers <http://blog.marxy.org/2016/03/platformio-arduino-ide-for-programmers.html>`_
|
||||
* Mar 05, 2016 - **brichacek.net** - `PlatformIO – otevřený ekosystém pro vývoj IoT (PlatformIO – an open source ecosystem for IoT development, Czech) <http://blog.brichacek.net/platformio-otevreny-ekosystem-pro-vyvoj-iot/>`_
|
||||
* Mar 04, 2016 - **Ricardo Vega** - `Programa tu Arduino desde Atom (Program your Arduino from Atom, Spanish) <http://ricveal.com/blog/programa-arduino-desde-atom/>`_
|
||||
* Feb 28, 2016 - **Alex Bloggt** - `PlatformIO vorgestellt (Introduction to PlatformIO IDE, German) <https://alexbloggt.com/platformio-vorgestellt/>`_
|
||||
* Feb 25, 2016 - **NutDIY** - `PlatformIO Blink On Nodemcu Dev Kit V1.0 (Thai) <http://nutdiy.blogspot.com/2016/02/platformio-blink-on-nodemcu-dev-kit-v10.html>`_
|
||||
|
||||
See a full list with :ref:`articles`.
|
||||
|
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_clion:
|
||||
|
||||
CLion
|
||||
@ -9,43 +20,78 @@ initial version will support the GCC and Clang compilers and GDB debugger.
|
||||
Clion includes such features as a smart editor, code quality assurance,
|
||||
automated refactorings, project manager, integrated version control systems.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* all available :ref:`platforms`
|
||||
* all available :ref:`frameworks`
|
||||
|
||||
Refer to the `CDT Documentation <https://www.jetbrains.com/clion/documentation/>`_
|
||||
Refer to the `CLion Documentation <https://www.jetbrains.com/clion/documentation/>`_
|
||||
page for more detailed information.
|
||||
|
||||
.. image:: ../_static/ide-platformio-clion.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-clion.png
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
Project Generator
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
Since PlatformIO 2.0 you can generate CLion compatible project using
|
||||
:option:`platformio init --ide` command. Please choose board type using
|
||||
:ref:`cmd_boards` command and run:
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
platformio init --ide clion --board %TYPE%
|
||||
|
||||
Then import this project from start menu or via ``File > Import Project>`` and
|
||||
specify root directory where is located :ref:`projectconf`.
|
||||
# For example, generate project for Arduino UNO
|
||||
platformio init --ide clion --board uno
|
||||
|
||||
Then:
|
||||
|
||||
1. Import this project via ``Menu: File > Import Project``
|
||||
and specify root directory where is located :ref:`projectconf`
|
||||
2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``)
|
||||
3. Build project (*DO NOT RUN*): ``Menu: Run > Build``.
|
||||
|
||||
There are 6 predefined targets for building (*NOT FOR RUNNING*, see marks on
|
||||
the screenshot below):
|
||||
|
||||
* ``PLATFORMIO_BUILD`` - Build project without auto-uploading
|
||||
* ``PLATFORMIO_UPLOAD`` - Build and upload (if no errors).
|
||||
* ``PLATFORMIO_CLEAN`` - Clean compiled objects.
|
||||
* ``PLATFORMIO_PROGRAM`` - Build and upload using external programmer (if no errors), see :ref:`atmelavr_upload_via_programmer`.
|
||||
* ``PLATFORMIO_UPLOADFS`` - Upload files to file system SPIFFS, see :ref:`platform_espressif_uploadfs`.
|
||||
* ``PLATFORMIO_UPDATE`` - Update installed platforms and libraries via :ref:`cmd_update`.
|
||||
|
||||
.. warning::
|
||||
CLion is still in the development stage, so some of the features (like,
|
||||
auto-complete) probably will not work with PlatformIO. See
|
||||
`CLion issue #CPP-3977 <https://youtrack.jetbrains.com/issue/CPP-3977>`_.
|
||||
The libraries which are added, installed or used in the project
|
||||
after generating process wont be reflected in IDE. To fix it you
|
||||
need to reinitialize project using :ref:`cmd_init` (repeat it).
|
||||
|
||||
Active discussion located in
|
||||
.. 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-examples/tree/develop/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
|
||||
----------
|
||||
Articles / Manuals
|
||||
------------------
|
||||
|
||||
.. image:: ../_static/ide-platformio-clion.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-clion.png
|
||||
* Dec 01, 2015 - **JetBrains CLion Blog** - `C++ Annotated: Fall 2015. Arduino Support in CLion using PlatformIO <http://blog.jetbrains.com/clion/2015/12/cpp-annotated-fall-2015/>`_
|
||||
* Nov 22, 2015 - **Michał Seroczyński** - `Using PlatformIO to get started with Arduino in CLion IDE <http://www.ches.pl/using-platformio-get-started-arduino-clion-ide/>`_
|
||||
* Nov 09, 2015 - **ÁLvaro García Gómez** - `Programar con Arduino "The good way" (Programming with Arduino "The good way", Spanish) <http://congdegnu.es/2015/11/09/programar-con-arduino-the-good-way/>`_
|
||||
|
||||
See more :ref:`articles`.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
"Blink" Project
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Source code of `CLion "Blink" Project <https://github.com/platformio/platformio-examples/tree/develop/ide/clion>`_.
|
||||
|
54
docs/ide/codeblocks.rst
Normal file
@ -0,0 +1,54 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_codeblocks:
|
||||
|
||||
CodeBlocks
|
||||
==========
|
||||
|
||||
Code::Blocks is a free, open-source cross-platform IDE that supports multiple
|
||||
compilers including GCC, Clang and Visual C++. It is developed in C++ using
|
||||
wxWidgets as the GUI toolkit. Using a plugin architecture, its capabilities
|
||||
and features are defined by the provided plugins. Currently, Code::Blocks is
|
||||
oriented towards C, C++, and Fortran.
|
||||
|
||||
CodeBlocks IDE can be downloaded from `here <http://www.codeblocks.org/downloads>`_.
|
||||
|
||||
.. image:: ../_static/ide-platformio-codeblocks.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-platformio-codeblocks.png
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
platformio init --ide codeblocks --board %TYPE%
|
||||
|
||||
# For example, generate project for Arduino UNO
|
||||
platformio init --ide codeblocks --board uno
|
||||
|
||||
Then:
|
||||
|
||||
1. Open this project via ``Menu: File > Open...``
|
||||
2. Add new files to ``src`` directory (``*.c, *.cpp, *.ino, etc.``) via
|
||||
``Menu: File > New > File...``
|
||||
3. Build project using ``Menu: Build > Build``
|
||||
4. Upload firmware using ``Menu: Build > Run``
|
||||
|
||||
.. warning::
|
||||
The libraries which are added, installed or used in the project
|
||||
after generating process wont be reflected in IDE. To fix it you
|
||||
need to reinitialize project using :ref:`cmd_init` (repeat it).
|
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_eclipse:
|
||||
|
||||
Eclipse
|
||||
@ -13,43 +24,75 @@ with syntax highlighting, folding and hyperlink navigation, source code
|
||||
refactoring and code generation, visual debugging tools, including memory,
|
||||
registers, and disassembly viewers.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* all available :ref:`platforms`
|
||||
* all available :ref:`frameworks`
|
||||
|
||||
Refer to the `CDT Documentation <https://eclipse.org/cdt/documentation.php>`_
|
||||
page for more detailed information.
|
||||
|
||||
.. image:: ../_static/ide-platformio-eclipse.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-eclipse.png
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
Project Generator
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
Since PlatformIO 2.0 you can generate Eclipse compatible project using
|
||||
:option:`platformio init --ide` command. Please choose board type using
|
||||
:ref:`cmd_boards` command and run:
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
platformio init --ide eclipse --board %TYPE%
|
||||
|
||||
Then import this project via ``File > Import... > General > Existing Projects
|
||||
into Workspace > Next`` and specify root directory where is located
|
||||
:ref:`projectconf`.
|
||||
# For example, generate project for Arduino UNO
|
||||
platformio init --ide eclipse --board uno
|
||||
|
||||
Manual Integration
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
Then:
|
||||
|
||||
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>`_.
|
||||
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 using ``Menu: Project > Build Project`` or preconfigured
|
||||
Make Targets (see screenshot below):
|
||||
|
||||
`More examples (TI MSP430, TI TIVA, etc.) <https://github.com/platformio/platformio/tree/develop/examples/ide-eclipse>`_
|
||||
+ ``PlatformIO: Build`` - Build project without auto-uploading
|
||||
+ ``PlatformIO: Clean`` - Clean compiled objects.
|
||||
+ ``PlatformIO: Upload`` - Build and upload (if no errors)
|
||||
+ ``PlatformIO: Upload using Programmer`` see :ref:`atmelavr_upload_via_programmer`
|
||||
+ ``PlatformIO: Upload SPIFFS image`` see :ref:`platform_espressif_uploadfs`
|
||||
+ ``PlatformIO: Update platforms and libraries`` - Update installed platforms and libraries via :ref:`cmd_update`.
|
||||
|
||||
Screenshot
|
||||
----------
|
||||
If you have some problems with unresolved includes, defines, etc., then
|
||||
|
||||
.. 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
|
||||
* Restart Eclipse IDE
|
||||
* Rebuild index using ``Menu: Project > C/C++ Index > Rebuild``.
|
||||
|
||||
.. warning::
|
||||
The libraries which are added, installed or used in the project
|
||||
after generating process wont be reflected in IDE. To fix it you
|
||||
need to reinitialize project using :ref:`cmd_init` (repeat it).
|
||||
|
||||
Live Integration
|
||||
----------------
|
||||
|
||||
Eclipse Virtual IoT Meetup: `PlatformIO: a cross-platform IoT solution to build them all! <http://www.meetup.com/Virtual-IoT/events/229964142/>`_
|
||||
|
||||
.. image:: ../_static/ide-eclipse-virtualiot.jpg
|
||||
:target: https://www.youtube.com/watch?v=6t7UbX812Yw
|
||||
|
||||
Articles / Manuals
|
||||
------------------
|
||||
|
||||
* May 05, 2016 - **Ivan Kravets, Ph.D. / Eclipse Virtual IoT Meetup** - `PlatformIO: a cross-platform IoT solution to build them all! <http://www.meetup.com/Virtual-IoT/events/229964142/>`_
|
||||
* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation <http://thomasweldon.com/tpw/courses/embeddsp/p00pcFrdmK64_eclipsePlatformioSetup.html>`_
|
||||
* Jul 11, 2015 - **TrojanC** - `Learning Arduino GitHub Repository <http://www.trojanc.co.za/2015/07/11/learning-arduino-github-repository/>`_
|
||||
* June 20, 2014 - **Ivan Kravets, Ph.D.** - `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO <http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio>`_
|
||||
|
||||
See a full list with :ref:`articles`.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
"Blink" Project
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Source code of `Eclipse "Blink" Project <https://github.com/platformio/platformio-examples/tree/develop/ide/eclipse>`_.
|
||||
|
68
docs/ide/emacs.rst
Normal file
@ -0,0 +1,68 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_emacs:
|
||||
|
||||
Emacs
|
||||
=====
|
||||
|
||||
GNU Emacs is an extensible, customizable text editor - and more. At its core is
|
||||
an interpreter for Emacs Lisp, a dialect of the
|
||||
`Lisp programming language <http://en.wikipedia.org/wiki/Lisp_programming_language>`_
|
||||
with extensions to support text editing.
|
||||
|
||||
Refer to the `Emacs Documentation <https://www.gnu.org/software/emacs/#Manuals>`_
|
||||
page for more detailed information.
|
||||
|
||||
.. image:: ../_static/ide-platformio-emacs.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-emacs.png
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
PlatformIO-Mode
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
An Emacs minor mode has been written to facilitate building and uploading from within Emacs.
|
||||
It can be installed from the MELPA repository using ``M-x package-install``.
|
||||
See the MELPA `Getting Started <https://melpa.org/#/getting-started>`_ page for more information.
|
||||
|
||||
Setup instructions and an example config can be found at the `Github page <https://github.com/ZachMassia/platformio-mode>`_.
|
||||
|
||||
Code completion can optionally be provided by installing `irony-mode <https://github.com/Sarcasm/irony-mode>`_
|
||||
|
||||
|
||||
Project Generator
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
platformio init --ide emacs --board %TYPE%
|
||||
|
||||
|
||||
There are 6 predefined targets for building.
|
||||
|
||||
* ``platformio_build`` - Build project without auto-uploading. (``C-c i b``)
|
||||
* ``platformio_clean`` - Clean compiled objects. (``C-c i c``)
|
||||
* ``platformio_upload`` - Build and upload (if no errors). (``C-c i u``)
|
||||
* ``platformio_programmer_upload`` - Build and upload using external programmer (if no errors, see :ref:`atmelavr_upload_via_programmer`). (``C-c i p``)
|
||||
* ``platformio_spiffs_upload`` - Upload files to file system SPIFFS (see :ref:`platform_espressif_uploadfs`). (``C-c i s``)
|
||||
* ``platformio_update`` - Update installed platforms and libraries. (``C-c i d``)
|
||||
|
||||
.. warning::
|
||||
The libraries which are added, installed or used in the project
|
||||
after generating process wont be reflected in IDE. To fix it you
|
||||
need to reinitialize project using :ref:`cmd_init` (repeat it).
|
@ -1,30 +0,0 @@
|
||||
.. _ide_energia:
|
||||
|
||||
Energia
|
||||
=======
|
||||
|
||||
The open-source `Energia Software (IDE) <http://energia.nu>`_
|
||||
makes it easy to write code and upload it to the board. It runs on *Windows,
|
||||
Mac OS X, and Linux*. The environment is written in *Java* and based on
|
||||
*Processing* and other open-source software.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* :ref:`platform_timsp430`
|
||||
* :ref:`platform_titiva`
|
||||
* :ref:`framework_energia`
|
||||
|
||||
Refer to the `Energia Getting Started <http://energia.nu/guide/>`_
|
||||
page for Installation instructions.
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
More detailed information is located in PlatformIO blog:
|
||||
`Integration of PlatformIO library manager to Energia IDE <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_.
|
||||
|
||||
Screenshot
|
||||
-----------
|
||||
|
||||
.. image:: ../_static/ide-platformio-energia.png
|
||||
:target: http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides
|
64
docs/ide/netbeans.rst
Normal file
@ -0,0 +1,64 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_netbeans:
|
||||
|
||||
NetBeans
|
||||
========
|
||||
|
||||
NetBeans is a Java-based integrated development environment (IDE). It provides
|
||||
out-of-the-box code analyzers and editors for working with the latest Java 8
|
||||
technologies--Java SE 8, Java SE Embedded 8, and Java ME Embedded 8. The IDE
|
||||
also has a range of new tools for HTML5/JavaScript, in particular for Node.js,
|
||||
KnockoutJS, and AngularJS; enhancements that further improve its support for
|
||||
Maven and Java EE with PrimeFaces; and improvements to PHP and C/C++ support.
|
||||
|
||||
NetBeans IDE can be downloaded from `here <https://netbeans.org/downloads/>`_.
|
||||
Just make sure you download the C/C++ version (or if you already use NetBeans,
|
||||
install the C/C++ development plugins).
|
||||
|
||||
.. image:: ../_static/ide-platformio-netbeans.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-platformio-netbeans.png
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
platformio init --ide netbeans --board %TYPE%
|
||||
|
||||
# For example, generate project for Arduino UNO
|
||||
platformio init --ide netbeans --board uno
|
||||
|
||||
Then:
|
||||
|
||||
1. Open this project via ``Menu: File > Open Project...``
|
||||
2. Add new files to ``src`` directory (``*.c, *.cpp, *.ino, etc.``) via
|
||||
right-click on ``src`` folder in the "Projects" pane
|
||||
3. Build project using ``Menu: Run > Build Project``
|
||||
4. Upload firmware using ``Menu: Run > Run Project``
|
||||
|
||||
.. warning::
|
||||
The libraries which are added, installed or used in the project
|
||||
after generating process wont be reflected in IDE. To fix it you
|
||||
need to reinitialize project using :ref:`cmd_init` (repeat it).
|
||||
|
||||
Articles / Manuals
|
||||
------------------
|
||||
|
||||
* Feb 22, 2016 - **Grzegorz Hołdys** - `How to Integrate PlatformIO with Netbeans <http://www.instructables.com/id/How-to-Integrate-PlatformIO-With-Netbeans/>`_
|
||||
|
||||
See the full list with :ref:`articles`.
|
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_qtcreator:
|
||||
|
||||
Qt Creator
|
||||
@ -5,38 +16,80 @@ Qt Creator
|
||||
|
||||
The `Qt Creator <https://github.com/qtproject/qt-creator>`_ is an open source cross-platform integrated development environment. The editor includes such features as syntax highlighting for various languages, project manager, integrated version control systems, rapid code navigation tools and code autocompletion.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* all available :ref:`platforms`
|
||||
* all available :ref:`frameworks`
|
||||
|
||||
Refer to the `Qt-creator Manual <http://doc.qt.io/qtcreator/>`_
|
||||
page for more detailed information.
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-7.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-7.png
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
.. 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 Qt Creator compatible project using
|
||||
:option:`platformio init --ide` command. Please choose board type using
|
||||
:ref:`cmd_boards` command and run:
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
platformio init --ide qtcreator --board %TYPE%
|
||||
|
||||
Then import this project via ``File > New File or Project > Import Project``
|
||||
and specify root directory where is located :ref:`projectconf`.
|
||||
# For example, generate project for Arduino UNO
|
||||
platformio init --ide qtcreator --board uno
|
||||
|
||||
After import, 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):
|
||||
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
|
||||
|
||||
.. warning::
|
||||
The libraries which are added, installed or used in the project
|
||||
after generating process wont be reflected in IDE. To fix it you
|
||||
need to reinitialize project using :ref:`cmd_init` (repeat it).
|
||||
|
||||
Manual Integration
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
@ -52,7 +105,7 @@ On the next steps select any available kit and click Finish button.
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-2.png
|
||||
|
||||
Secondly, we need to delete default build and clean steps and configure project with PlatformIO source code builder (click on Projects label on left menu or ``Ctrl+5`` shortcut):
|
||||
Secondly, we need to delete default build and clean steps and configure project with PlatformIO Build System (click on Projects label on left menu or ``Ctrl+5`` shortcut):
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-3.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-3.png
|
||||
@ -129,12 +182,15 @@ 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``:
|
||||
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-examples/tree/develop/ide/qtcreator>`_.
|
||||
|
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_sublimetext:
|
||||
|
||||
Sublime Text
|
||||
@ -5,36 +16,68 @@ Sublime Text
|
||||
|
||||
The `Sublime Text <http://www.sublimetext.com/>`_ is a cross-platform text and source code editor, with a Python application programming interface (API). Sublime Text is proprietary software. Its functionality is extendable with plugins. Most of the extending packages have free-software licenses and are community-built and maintained. Sublime Text lacks graphical setting dialogues and is entirely configured by editing text files.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* all available :ref:`platforms`
|
||||
* all available :ref:`frameworks`
|
||||
|
||||
Refer to the `Sublime Text Documentation <http://docs.sublimetext.info/en/latest>`_
|
||||
page for more detailed information.
|
||||
|
||||
.. image:: ../_static/ide-sublime-text-deviot.gif
|
||||
:target: https://github.com/gepd/Deviot
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
Deviot Plugin
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
We are glad to inform you about awesome Sublime Text plugin for IoT development
|
||||
named `Deviot <https://github.com/gepd/Deviot>`_. It is based on
|
||||
PlatformIO CLI and will automatically install it for you. Please visit `official
|
||||
Deviot page <https://github.com/gepd/Deviot>`_ for the further installation
|
||||
steps and documentation.
|
||||
|
||||
.. image:: ../_static/ide-sublime-text-deviot.gif
|
||||
:target: https://github.com/gepd/Deviot
|
||||
|
||||
Project Generator
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
Since PlatformIO 2.0 you can generate Sublime Text compatible project using
|
||||
:option:`platformio init --ide` command. Please choose board type using
|
||||
:ref:`cmd_boards` command and run:
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
platformio init --ide sublimetext --board %TYPE%
|
||||
|
||||
Then import this project via ``Project > Open Project...`` and specify root
|
||||
directory where is located :ref:`projectconf`.
|
||||
# For example, generate project for Arduino UNO
|
||||
platformio init --ide sublimetext --board uno
|
||||
|
||||
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``.
|
||||
|
||||
Also, you can access to all pre-configured targets via
|
||||
``Menu: Tools > Builds With...`` (ST3)
|
||||
|
||||
+ ``PlatformIO - Build`` - Build project without auto-uploading
|
||||
+ ``PlatformIO - Clean`` - Clean compiled objects.
|
||||
+ ``PlatformIO - Upload`` - Build and upload (if no errors)
|
||||
+ ``PlatformIO - Upload using Programmer`` see :ref:`atmelavr_upload_via_programmer`
|
||||
+ ``PlatformIO - Upload SPIFFS image`` see :ref:`platform_espressif_uploadfs`
|
||||
+ ``PlatformIO - Update platforms and libraries`` - Update installed platforms and libraries via :ref:`cmd_update`.
|
||||
|
||||
Manual Integration
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. 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
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@ -45,17 +88,17 @@ described below:
|
||||
.. code-block:: bash
|
||||
|
||||
{
|
||||
"cmd": ["platformio", "--force", "run"],
|
||||
"cmd": ["platformio", "-f", "-c", "sublimetext", "run"],
|
||||
"working_dir": "${project_path:${folder}}",
|
||||
"variants":
|
||||
[
|
||||
{
|
||||
"name": "Clean",
|
||||
"cmd": ["platformio", "--force", "run", "--target", "clean"]
|
||||
"cmd": ["platformio", "-f", "-c", "sublimetext", "run", "--target", "clean"]
|
||||
},
|
||||
{
|
||||
"name": "Upload",
|
||||
"cmd": ["platformio", "--force", "run", "--target", "upload"]
|
||||
"cmd": ["platformio", "-f", "-c", "sublimetext", "run", "--target", "upload"]
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -139,8 +182,14 @@ 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``.
|
||||
|
||||
.. image:: ../_static/ide-sublime-text-platformio-newproject-5.png
|
||||
Examples
|
||||
--------
|
||||
|
||||
"Blink" Project
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Source code of `Sublime Text "Blink" Project <https://github.com/platformio/platformio-examples/tree/develop/ide/sublimetext>`_.
|
||||
|
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_vim:
|
||||
|
||||
VIM
|
||||
@ -7,14 +18,18 @@ VIM
|
||||
editor. Vim is designed for use both from a command-line interface and as a
|
||||
standalone application in a graphical user interface.
|
||||
|
||||
This software can be used with:
|
||||
.. image:: ../_static/ide-platformio-vim.png
|
||||
|
||||
* all available :ref:`platforms`
|
||||
* all available :ref:`frameworks`
|
||||
.. contents::
|
||||
|
||||
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,17 +45,45 @@ Put to the project directory ``Makefile`` wrapper with contents:
|
||||
#PATH := /usr/local/bin:$(PATH)
|
||||
|
||||
all:
|
||||
platformio --force run --target upload
|
||||
platformio -f -c vim run
|
||||
|
||||
upload:
|
||||
platformio -f -c vim run --target upload
|
||||
|
||||
clean:
|
||||
platformio --force run --target clean
|
||||
platformio -f -c vim run --target clean
|
||||
|
||||
program:
|
||||
platformio -f -c vim run --target program
|
||||
|
||||
uploadfs:
|
||||
platformio -f -c vim run --target uploadfs
|
||||
|
||||
update:
|
||||
platformio -f -c vim update
|
||||
|
||||
|
||||
Pre-defined targets:
|
||||
|
||||
+ ``Build`` - Build project without auto-uploading
|
||||
+ ``Clean`` - Clean compiled objects.
|
||||
+ ``Upload`` - Build and upload (if no errors)
|
||||
+ ``Upload using Programmer`` see :ref:`atmelavr_upload_via_programmer`
|
||||
+ ``Upload SPIFFS image`` see :ref:`platform_espressif_uploadfs`
|
||||
+ ``Update platforms and libraries`` - Update installed platforms and libraries via :ref:`cmd_update`.
|
||||
|
||||
|
||||
Now, in VIM ``cd /path/to/this/project`` and press ``Ctrl+B`` or ``Cmd+B``
|
||||
(Mac). *PlatformIO* should compile your source code from the ``src`` directory,
|
||||
make firmware and upload it.
|
||||
|
||||
Screenshot
|
||||
----------
|
||||
.. note::
|
||||
If hotkey doesn't work for you, try to add this line
|
||||
``nnoremap <C-b> :make<CR>`` to ``~/.vimrc``
|
||||
|
||||
.. image:: ../_static/ide-platformio-vim.png
|
||||
Articles / Manuals
|
||||
------------------
|
||||
|
||||
* `コマンドラインでArduino開発 : vim + platformio (Arduino development at the command line: VIM + PlatformIO, Japanese) <http://qiita.com/caad1229/items/7b5fb47f034ae6e0baf2>`_
|
||||
|
||||
See a full list with :ref:`articles`.
|
||||
|
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_visualstudio:
|
||||
|
||||
Visual Studio
|
||||
@ -5,32 +16,46 @@ Visual Studio
|
||||
|
||||
The `Microsoft Visual Studio (Free) <http://visualstudio.com/free>`_ is an integrated development environment (IDE) from Microsoft. Visual Studio includes a code editor supporting IntelliSense (the code completion component) as well as code refactoring.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* all available :ref:`platforms`
|
||||
* all available :ref:`frameworks`
|
||||
|
||||
Refer to the `Visual Studio Documentation <https://msdn.microsoft.com/library/vstudio>`_
|
||||
page for more detailed information.
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject-8.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-vs-platformio-newproject-8.png
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
.. 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 Visual Studio compatible project using
|
||||
:option:`platformio init --ide` command. Please choose board type using
|
||||
:ref:`cmd_boards` command and run:
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
platformio init --ide visualstudio --board %TYPE%
|
||||
platformio init --ide sublimetext --board %TYPE%
|
||||
|
||||
Then import this project via ``File->Open->Project/Solution`` and specify root
|
||||
directory where is located :ref:`projectconf`.
|
||||
# For example, generate project for Arduino UNO
|
||||
platformio init --ide visualstudio --board uno
|
||||
|
||||
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``.
|
||||
|
||||
.. warning::
|
||||
The libraries which are added, installed or used in the project
|
||||
after generating process wont be reflected in IDE. To fix it you
|
||||
need to reinitialize project using :ref:`cmd_init` (repeat it).
|
||||
|
||||
Manual Integration
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
@ -42,7 +67,7 @@ First of all, let's create new project from Visual Studio Start Page: ``Start >
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject.png
|
||||
|
||||
Secondly, we need to configure project with PlatformIO source code builder:
|
||||
Secondly, we need to configure project with PlatformIO Build System:
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject-2.png
|
||||
|
||||
@ -68,14 +93,14 @@ First program in Visual Studio
|
||||
|
||||
Simple "Blink" project will consist from two files:
|
||||
|
||||
1. Main "C" source file named ``main.c`` must be located in the ``src`` directory.
|
||||
Let's create new file named ``main.c`` using ``Menu: File > New File`` or shortcut ``Ctrl+N``:
|
||||
1. Main "C++" source file named ``main.cpp`` must be located in the ``src`` directory.
|
||||
Let's create new file named ``main.cpp`` using ``Menu: File > New File`` or shortcut ``Ctrl+N``:
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject-6.png
|
||||
|
||||
Copy the source code which is described below to file ``main.c``.
|
||||
Copy the source code which is described below to file ``main.cpp``.
|
||||
|
||||
.. code-block:: c
|
||||
.. code-block:: cpp
|
||||
|
||||
#include "Arduino.h"
|
||||
#define WLED 13 // Most Arduino boards already have an LED attached to pin 13 on the board itself
|
||||
@ -118,9 +143,36 @@ 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``:
|
||||
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-examples/tree/develop/ide/visualstudio>`_.
|
||||
|
||||
Known issues
|
||||
------------
|
||||
|
||||
IntelliSense Errors
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
VS Studio does not allow to specify for project other toolchain which will
|
||||
be used by IntelliSense. In this case, IntelliSense does not understand
|
||||
GCC-specific definitions.
|
||||
|
||||
However, these errors does not have any influence on PlatformIO Build
|
||||
System. It means that you can ignore them and rely on PlatformIO Build System
|
||||
messages which will be shown in output console after build.
|
||||
|
||||
Nevertheless, you can provide an IntelliSense-friendly definition of problematic
|
||||
GCC constructs and make sure that the GCC will ignore such definitions or
|
||||
disable IntelliSense error reporting at all.
|
||||
See details in `issue #543 <https://github.com/platformio/platformio/issues/543>`_
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject-9.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-vs-platformio-newproject-9.png
|
||||
|
117
docs/index.rst
@ -1,44 +1,65 @@
|
||||
PlatformIO is a cross-platform code builder and the missing library manager
|
||||
===========================================================================
|
||||
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
**Ready for embedded development, IDE and Continuous integration, Arduino and
|
||||
MBED compatible**
|
||||
PlatformIO is an open source ecosystem for IoT development
|
||||
==========================================================
|
||||
|
||||
**Cross-platform build system and library manager. Continuous and IDE
|
||||
integration. Arduino and MBED compatible. Ready for Cloud compiling.**
|
||||
|
||||
* **PlatformIO IDE** - The next-generation integrated development environment for IoT.
|
||||
C/C++ Intelligent Code Completion and Smart Code Linter for the super-fast coding.
|
||||
Multi-projects workflow with Multiple Panes. Themes Support with dark and light colors.
|
||||
Built-in Terminal with PlatformIO CLI tool and support for the powerful Serial Port Monitor.
|
||||
All advanced instruments without leaving your favourite development environment.
|
||||
* **Development Platforms** - Embedded and Desktop development platforms with
|
||||
pre-built toolchains, debuggers, uploaders and frameworks which work under
|
||||
popular host OS: Mac, Windows, Linux (+ARM)
|
||||
* **Embedded Boards** - Rapid Embedded Programming, IDE and Continuous
|
||||
Integration in a few steps with PlatformIO thanks to built-in project
|
||||
generator for the most popular embedded boards and IDE
|
||||
* **Library Manager** - Hundreds Popular Libraries are organized into single
|
||||
Web 2.0 platform: list by categories, keywords, authors, compatible
|
||||
platforms and frameworks; learn via examples; be up-to-date with the latest
|
||||
version
|
||||
|
||||
*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
|
||||
|
||||
* `Website <http://platformio.org>`_
|
||||
* `Web 2.0 Library Search <http://platformio.org/#!/lib>`_ |
|
||||
`Embedded Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
* `Project Examples <https://github.com/platformio/platformio/tree/develop/examples>`_
|
||||
* :ref:`ide_atom`
|
||||
* `Web 2.0 Library Search <http://platformio.org/lib>`_ |
|
||||
`Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
* `Project Examples <https://github.com/platformio/platformio-examples/tree/develop>`_
|
||||
* `Source Code <https://github.com/platformio/platformio>`_ |
|
||||
`Issues <https://github.com/platformio/platformio/issues>`_
|
||||
* `Blog <http://www.ikravets.com/category/computer-life/platformio>`_ |
|
||||
`Reddit <http://www.reddit.com/r/platformio/>`_ |
|
||||
`Twitter <https://twitter.com/PlatformIO_Org>`_
|
||||
|
||||
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
|
||||
the most popular embedded boards. For further details, please
|
||||
refer to :ref:`faq_what_is_platformio`
|
||||
`Twitter <https://twitter.com/PlatformIO_Org>`_ |
|
||||
`Facebook <https://www.facebook.com/platformio>`_ |
|
||||
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
|
||||
`Forums <https://community.platformio.org>`_
|
||||
|
||||
Embedded Development. *Easier Than Ever.*
|
||||
-----------------------------------------
|
||||
|
||||
* Colourful command-line output
|
||||
* :ref:`IDE Integration <ide>` with *Arduino, Eclipse, Energia, Qt Creator,
|
||||
Sublime Text, Vim, Visual Studio*
|
||||
* :ref:`ci` with *AppVeyor, Circle CI, Drone, Shippable, Travis CI*
|
||||
* :ref:`IDE Integration <ide>` with *Arduino, Atom, CLion, Eclipse, Emacs,
|
||||
Energia, Qt Creator, Sublime Text, Vim, Visual Studio*
|
||||
* Cloud compiling and :ref:`ci` with *AppVeyor, Circle CI, Drone, Shippable, Travis CI*
|
||||
* Built-in :ref:`Serial Port Monitor <cmd_serialports_monitor>` and
|
||||
configurable build :ref:`-flags/-options <projectconf_build_flags>`
|
||||
* Pre-built tool chains, :ref:`frameworks` for the
|
||||
:ref:`Development Platforms <platforms>`
|
||||
* Pre-built toolchains, :ref:`frameworks` for the :ref:`platforms`
|
||||
|
||||
Smart Code Builder. *Fast and Reliable.*
|
||||
Smart Build System. *Fast and Reliable.*
|
||||
----------------------------------------
|
||||
|
||||
* Reliable, automatic dependency analysis and detection of build changes
|
||||
@ -50,11 +71,13 @@ The Missing Library Manager. *It's here!*
|
||||
-----------------------------------------
|
||||
|
||||
* Friendly Command-Line Interface
|
||||
* Modern `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
|
||||
* Modern `Web 2.0 Library Search <http://platformio.org/lib>`_
|
||||
* Library dependency management
|
||||
* Automatic library updating
|
||||
* It runs on Windows, Mac OS X, and Linux (+ARM).
|
||||
|
||||
For further details, please refer to
|
||||
:ref:`What is PlatformIO? How does it work? <what_is_pio>`
|
||||
|
||||
Contents
|
||||
--------
|
||||
@ -62,16 +85,54 @@ Contents
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
quickstart
|
||||
what-is-platformio
|
||||
demo
|
||||
|
||||
.. toctree::
|
||||
:caption: Getting Started
|
||||
:maxdepth: 2
|
||||
|
||||
installation
|
||||
quickstart
|
||||
userguide/index
|
||||
|
||||
.. toctree::
|
||||
:caption: Configuration
|
||||
:maxdepth: 2
|
||||
|
||||
projectconf
|
||||
envvars
|
||||
Platforms & Boards <platforms/index>
|
||||
|
||||
.. toctree::
|
||||
:caption: Instruments
|
||||
:maxdepth: 3
|
||||
|
||||
platforms/index
|
||||
platforms/embedded_boards
|
||||
frameworks/index
|
||||
librarymanager/index
|
||||
userguide/index
|
||||
platforms/creating_platform
|
||||
platforms/creating_board
|
||||
|
||||
.. toctree::
|
||||
:caption: Library Manager
|
||||
:maxdepth: 2
|
||||
|
||||
Quickstart <librarymanager/index>
|
||||
User Guide <userguide/lib/index.rst>
|
||||
librarymanager/config
|
||||
librarymanager/creating
|
||||
|
||||
.. toctree::
|
||||
:caption: Integration
|
||||
:maxdepth: 2
|
||||
|
||||
ci/index
|
||||
ide
|
||||
|
||||
.. toctree::
|
||||
:caption: Miscellaneous
|
||||
:maxdepth: 2
|
||||
|
||||
articles
|
||||
FAQ <faq>
|
||||
history
|
||||
|
@ -1,8 +1,21 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _installation:
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
.. include:: /ide/_platformio_ide_extra.rst
|
||||
|
||||
**PlatformIO** is written in `Python <https://www.python.org/downloads/>`_ and
|
||||
works on Mac OS X, Linux, Windows OS and *ARM*-based credit-card sized
|
||||
computers (`Raspberry Pi <http://www.raspberrypi.org>`_,
|
||||
@ -14,61 +27,86 @@ computers (`Raspberry Pi <http://www.raspberrypi.org>`_,
|
||||
System requirements
|
||||
-------------------
|
||||
|
||||
* **Operating systems:**
|
||||
* Mac OS X
|
||||
* Linux, +ARM
|
||||
* Windows
|
||||
* `Python 2.6 or Python 2.7 <https://www.python.org/downloads/>`_
|
||||
:Operating System: Mac OS X, Linux (+ARM) or Windows
|
||||
:Python Interpreter:
|
||||
|
||||
All commands below should be executed in
|
||||
`Command-line <http://en.wikipedia.org/wiki/Command-line_interface>`_
|
||||
application:
|
||||
Python 2.6 or 2.7. Python 2.7 is recommended
|
||||
|
||||
* *Mac OS X / Linux* this is *Terminal* application.
|
||||
* *Windows* this is
|
||||
`Command Prompt <http://en.wikipedia.org/wiki/Command_Prompt>`_ (``cmd.exe``)
|
||||
application.
|
||||
.. attention::
|
||||
**Windows Users**: Please `Download the latest Python 2.7.x
|
||||
<https://www.python.org/downloads/>`_ and install it.
|
||||
**DON'T FORGET** to select ``Add python.exe to Path`` feature on the
|
||||
"Customize" stage, otherwise Python Package Manager ``pip`` command
|
||||
will not be available.
|
||||
|
||||
.. 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.
|
||||
.. image:: _static/python-installer-add-path.png
|
||||
|
||||
.. note::
|
||||
**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).
|
||||
:Terminal Application:
|
||||
|
||||
**Windows Users:** Please check that you have correctly installed USB driver
|
||||
from board manufacturer
|
||||
|
||||
Troubleshooting
|
||||
---------------
|
||||
|
||||
For further details, frequently questions, please refer to :ref:`faq`.
|
||||
All commands below should be executed in
|
||||
`Command-line <http://en.wikipedia.org/wiki/Command-line_interface>`_
|
||||
application (Terminal). For Mac OS X and Linux OS - *Terminal* application,
|
||||
for Windows OS – ``cmd.exe`` application.
|
||||
|
||||
Installation Methods
|
||||
--------------------
|
||||
|
||||
Please *choose one of* the following installation methods:
|
||||
.. note::
|
||||
You don't need to install PlatformIO CLI if you are going to use
|
||||
:ref:`ide_atom`. PlatformIO CLI is built into PlatformIO IDE and you will be
|
||||
able to use it within PlatformIO IDE Terminal.
|
||||
|
||||
Super-Quick (Mac / Linux)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To install or upgrade *PlatformIO* paste that at a *Terminal* prompt
|
||||
(**you MIGHT need** to run ``sudo`` first, just for installation):
|
||||
Please *choose ONE of* the following methods:
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
Python Package Manager
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The latest stable version of PlatformIO may be installed or upgraded via
|
||||
Python Package Manager (`pip <https://pip.pypa.io>`_) as follows:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
[sudo] python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
|
||||
pip install -U platformio
|
||||
|
||||
If ``pip`` command is not available run ``easy_install pip`` or use
|
||||
:ref:`installation_installer_script` which will install ``pip`` and
|
||||
``platformio`` automatically.
|
||||
|
||||
Note that you may run into permissions issues running these commands. You have
|
||||
a few options here:
|
||||
|
||||
* Run with ``sudo`` to install PlatformIO and dependencies globally
|
||||
* Specify the `pip install --user <https://pip.pypa.io/en/stable/user_guide.html#user-installs>`_
|
||||
option to install local to your user
|
||||
* Run the command in a `virtualenv <https://virtualenv.pypa.io>`_ local to a
|
||||
specific project working set.
|
||||
|
||||
.. _installation_installer_script:
|
||||
|
||||
Installer Script
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
Super-Quick (Mac / Linux)
|
||||
'''''''''''''''''''''''''
|
||||
|
||||
To install or upgrade *PlatformIO* paste that at a *Terminal* prompt
|
||||
(**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,
|
||||
just for installation):
|
||||
script. Then run the following (**MAY require** administrator access ``sudo``):
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@ -89,6 +127,17 @@ On *Windows OS* it may look like:
|
||||
# run it
|
||||
C:\Python27\python.exe get-platformio.py
|
||||
|
||||
|
||||
Mac OS X Homebrew
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
The latest stable version of PlatformIO may be installed or upgraded via
|
||||
Mac OS X Homebrew Packages Manager (`brew <http://brew.sh/>`_) as follows:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
brew install platformio
|
||||
|
||||
Full Guide
|
||||
~~~~~~~~~~
|
||||
|
||||
@ -96,53 +145,72 @@ 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 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.
|
||||
If you use :ref:`ide_atom`, please enable development version via
|
||||
``Menu PlatformIO: Settings > PlatformIO IDE > Use development version of
|
||||
PlatformIO``.
|
||||
|
||||
Install the latest PlatformIO from the ``develop`` branch:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ pip install https://github.com/platformio/platformio/archive/develop.zip
|
||||
# uninstall existing version
|
||||
pip uninstall platformio
|
||||
|
||||
# install the latest development version of PlatformIO
|
||||
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 re-install PlatformIO each time if you see the new commits in
|
||||
`PlatformIO GitHub repository (branch: develop) <https://github.com/platformio/platformio/commits/develop>`_.
|
||||
|
||||
To revert to the latest stable version
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip uninstall platformio
|
||||
pip install -U platformio
|
||||
|
||||
|
||||
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`.
|
||||
|
@ -1,14 +1,31 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. |PIOAPICR| replace:: *PlatformIO Library Registry Crawler*
|
||||
.. _library_config:
|
||||
|
||||
library.json
|
||||
============
|
||||
|
||||
``library.json`` is a manifest file of development library.
|
||||
``library.json`` is a manifest file of development library. It allows developers
|
||||
to keep project in own structure and define:
|
||||
|
||||
Initially it was
|
||||
developed for :ref:`librarymanager`, but later was accepted by worldwide embedded
|
||||
community like a **standard library specification**.
|
||||
* location of source code
|
||||
* examples list
|
||||
* compatible frameworks and platforms
|
||||
* library dependencies
|
||||
|
||||
PlatformIO Library Crawler uses ``library.json`` manifest to extract
|
||||
source code from developer's location and keeps cleaned library in own
|
||||
Library Storage.
|
||||
|
||||
A data in ``library.json`` should be represented
|
||||
in `JSON-style <http://en.wikipedia.org/wiki/JSON>`_ via
|
||||
@ -121,7 +138,13 @@ Examples:
|
||||
|
||||
*Required* if :ref:`libjson_downloadurl` field is not defined | Type: ``Object``
|
||||
|
||||
The repository in which the source code can be found.
|
||||
The repository in which the source code can be found. The field consists for the
|
||||
next items:
|
||||
|
||||
* ``type`` the only "git", "hg" or "svn" are supported
|
||||
* ``url``
|
||||
* ``branch`` if is not specified, default branch will be used. This field will
|
||||
be ignored if tag/release exists with the value of :ref:`libjson_version`.
|
||||
|
||||
Example:
|
||||
|
||||
@ -133,6 +156,70 @@ Example:
|
||||
"url": "https://github.com/foo/bar.git"
|
||||
}
|
||||
|
||||
.. _libjson_version:
|
||||
|
||||
``version``
|
||||
-----------
|
||||
|
||||
*Required* if :ref:`libjson_repository` field is not defined | Type: ``String``
|
||||
| Max. Length: 20
|
||||
|
||||
A version of the current library source code. Can contain a-z, digits, dots or
|
||||
dash. `Semantic Versioning <http://semver.org>`_ IS RECOMMENDED.
|
||||
|
||||
:Case 1:
|
||||
|
||||
:ref:`libjson_version` and :ref:`libjson_repository` fields are defined.
|
||||
The :ref:`libjson_repository` is hosted on GitHub or Bitbucket.
|
||||
|
||||
|PIOAPICR| will lookup for release tag named as value of :ref:`libjson_version`
|
||||
or with ``v`` prefix (you do not need to pass this ``v`` prefix to the
|
||||
:ref:`libjson_version` field).
|
||||
|
||||
:Case 2:
|
||||
|
||||
:ref:`libjson_version` and :ref:`libjson_repository` fields are defined
|
||||
and :ref:`libjson_repository` does not contain tag/release with value of
|
||||
:ref:`libjson_version`.
|
||||
|
||||
|PIOAPICR| will use the latest source code from :ref:`libjson_repository`
|
||||
and link it with specified :ref:`libjson_version`. If :ref:`libjson_repository`
|
||||
``branch`` is not specified, then default branch will be used.
|
||||
Also, if you push new commits to :ref:`libjson_repository`
|
||||
and do not update :ref:`libjson_version` field, the library will not be
|
||||
updated until you change the :ref:`libjson_version`.
|
||||
|
||||
:Case 3:
|
||||
|
||||
:ref:`libjson_version` field is not defined and :ref:`libjson_repository`
|
||||
field is defined.
|
||||
|
||||
|PIOAPICR| will use the
|
||||
`CVS <http://en.wikipedia.org/wiki/Concurrent_Versions_System>`_ revision from
|
||||
the latest commit as "current version". For example, ``13`` (*SVN*) or first
|
||||
10 chars of *SHA* digest ``e4564b7da4`` (*Git*). If :ref:`libjson_repository`
|
||||
``branch`` is not specified, then default branch will be used.
|
||||
|
||||
We recommend to use :ref:`libjson_version` field and specify the real release
|
||||
version and make appropriate tag in the :ref:`libjson_repository`. In other
|
||||
case, users will receive updates for library with each new commit to
|
||||
:ref:`libjson_repository`.
|
||||
|
||||
.. note::
|
||||
|PIOAPICR| updates library only if:
|
||||
- the :ref:`libjson_version` is changed
|
||||
- ``library.json`` is modified
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
"repository":
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/foo/bar.git"
|
||||
},
|
||||
"version": "1.0.0"
|
||||
|
||||
.. _libjson_downloadurl:
|
||||
|
||||
@ -144,28 +231,20 @@ Example:
|
||||
It is the *HTTP URL* to the archived source code of library. It should end
|
||||
with the type of archive (``.zip`` or ``.tar.gz``).
|
||||
|
||||
|
||||
.. _libjson_version:
|
||||
|
||||
``version``
|
||||
-----------
|
||||
|
||||
*Required* if :ref:`libjson_repository` field is not defined | Type: ``String``
|
||||
| Max. Length: 20
|
||||
|
||||
A version of the current library source code.
|
||||
|
||||
* Can contain a-z, digits, dots or dash.
|
||||
* `Semantic Versioning <http://semver.org>`_ is recommended.
|
||||
* A `CVS <http://en.wikipedia.org/wiki/Concurrent_Versions_System>`_
|
||||
revision from the latest commit. Example: ``13`` (*SVN*) or first 10
|
||||
chars of *SHA* digest ``e4564b7da4`` (*Git*).
|
||||
|
||||
.. note::
|
||||
You can omit :ref:`libjson_version` field and define
|
||||
:ref:`libjson_repository` field. In this case
|
||||
|PIOAPICR| will use the *CVS*-revision from the latest commit.
|
||||
|
||||
:ref:`libjson_downloadurl` has higher priority than
|
||||
:ref:`libjson_repository`.
|
||||
|
||||
Example with fixed release/tag on GitHub:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
"version": "1.0.0",
|
||||
"downloadUrl": "https://github.com/foo/bar/archive/v1.0.0.tar.gz",
|
||||
"include": "bar-1.0.0"
|
||||
|
||||
See more ``library.json`` :ref:`library_creating_examples`.
|
||||
|
||||
.. _libjson_url:
|
||||
|
||||
@ -227,6 +306,7 @@ Pattern Meaning
|
||||
* - ``[!seq]``
|
||||
- matches any character not in seq
|
||||
|
||||
See more ``library.json`` :ref:`library_creating_examples`.
|
||||
|
||||
.. _libjson_exclude:
|
||||
|
||||
@ -312,6 +392,8 @@ Example:
|
||||
]
|
||||
|
||||
|
||||
See more ``library.json`` :ref:`library_creating_examples`.
|
||||
|
||||
.. _libjson_examples:
|
||||
|
||||
``examples``
|
||||
@ -325,6 +407,9 @@ A list of example patterns. This field is predefined with default value:
|
||||
.. code-block:: javascript
|
||||
|
||||
"examples": [
|
||||
"[Ee]xamples/*/*.ini",
|
||||
"[Ee]xamples/*/*.c",
|
||||
"[Ee]xamples/*/*.cpp",
|
||||
"[Ee]xamples/*/*.h",
|
||||
"[Ee]xamples/*/*.ino",
|
||||
"[Ee]xamples/*/*.pde"
|
||||
]
|
||||
|
@ -1,3 +1,14 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _library_creating:
|
||||
.. |PIOAPICR| replace:: *PlatformIO Library Registry Crawler*
|
||||
|
||||
@ -135,3 +146,12 @@ The registration requirements:
|
||||
Now, you can :ref:`register <cmd_lib_register>` your library and allow others
|
||||
to :ref:`install <cmd_lib_install>` it.
|
||||
|
||||
|
||||
.. _library_creating_examples:
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
* `GitHub + fixed release <http://platformio.org/lib/show/552/ACNoblex>`_
|
||||
* `Dependencies by author and framework <http://platformio.org/lib/show/3/PID-AutoTune>`_
|
||||
* `Multiple libraries in the one repository <https://github.com/jrowberg/i2cdevlib/tree/master/Arduino>`_
|
||||
|
@ -1,27 +1,26 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _librarymanager:
|
||||
|
||||
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>`
|
||||
* `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
|
||||
* `Web 2.0 Library Search <http://platformio.org/lib>`_
|
||||
|
||||
You don't need to bother for finding the latest version of library. Due to
|
||||
:ref:`cmd_lib_update` command you will have up-to-date external libraries.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
config
|
||||
creating
|
||||
User Guide <../userguide/lib/index.rst>
|
||||
|
||||
.. [#] Inspired by `npm <https://www.npmjs.com/>`_ and `bower
|
||||
<http://bower.io>`_ package managers for web.
|
||||
.. image:: ../_static/platformio-demo-lib.gif
|
||||
|