Compare commits
1583 Commits
Author | SHA1 | Date | |
---|---|---|---|
4ef3818482 | |||
755ade05c6 | |||
12e4318de7 | |||
34e9063ddd | |||
2315b08909 | |||
9c9a40a531 | |||
ac4b485521 | |||
f13bf35dbd | |||
012cb85e31 | |||
62ee8066c2 | |||
fc064aaf05 | |||
0516cd74e1 | |||
5b7a0e6997 | |||
ad08ed8d12 | |||
55d4fc23d0 | |||
e29ecb47a5 | |||
c96c1f2b2f | |||
fab4f00ad4 | |||
adaa3757ac | |||
2eb7d0e8be | |||
d16d715898 | |||
1171cb204c | |||
d70a90f1d5 | |||
06574e3066 | |||
39dfbbdd87 | |||
7b8c68c934 | |||
6d81c230a5 | |||
a6c1869eb2 | |||
0c3f2b54ed | |||
c6abdf8206 | |||
9f2875fcd7 | |||
78b296f2ec | |||
903ad6c6f8 | |||
9441f776cc | |||
5dd97a35cc | |||
31814b5122 | |||
724135f40e | |||
cbb7db552a | |||
cdf4639c97 | |||
170917a927 | |||
efceb5db72 | |||
cee2da7448 | |||
3d8183a2e1 | |||
25341d1ec7 | |||
05081561c3 | |||
abbba7fe2e | |||
269935726d | |||
56aeff87dd | |||
42fb589369 | |||
bff590e207 | |||
0933e46a58 | |||
1a7429a1ef | |||
fd0b45afdb | |||
3d67535a9e | |||
0eb67a7b61 | |||
75774ad9fa | |||
7b6ecf4e45 | |||
ca8bc3819f | |||
0bd103a46d | |||
736c6a9a1e | |||
ef00ecd7f1 | |||
70b63d8618 | |||
a632583f89 | |||
15bb626e78 | |||
bc0d1f06e0 | |||
bd611bbee8 | |||
2522d19453 | |||
5c4b5c2270 | |||
2d0ac1a9c2 | |||
0f37e15b6c | |||
3d0f0659ae | |||
02a263fdce | |||
f7815d6c9b | |||
786dd8fe18 | |||
f9b9ed317d | |||
0394e43ba4 | |||
3b1fa572fa | |||
ea99701172 | |||
e329688954 | |||
18b10a7fbf | |||
05069f7ac6 | |||
1b1453808f | |||
d0e32ebcb5 | |||
ad48b85a44 | |||
75160bb231 | |||
4b1716e42b | |||
10d21595c6 | |||
f922fac9d9 | |||
5846566bbb | |||
8f97181ea7 | |||
3c6bd9824e | |||
1b0776167c | |||
f5f3cd85d8 | |||
79b7974f35 | |||
32c92eec95 | |||
7ec90ac23b | |||
bab8ad088e | |||
46acad952e | |||
200cbae177 | |||
d8ee64a545 | |||
7b324ebc3c | |||
02d9272d2a | |||
9fc5aecb64 | |||
5ca472050c | |||
dcab855d2c | |||
0c9c6d1092 | |||
301b8dc649 | |||
547e983a86 | |||
9b514ba194 | |||
37a2ccedbd | |||
a983f60fa0 | |||
fc96806e68 | |||
53b37216cc | |||
d07833e010 | |||
5b5387d97b | |||
1c20efe9d1 | |||
8b4104bf5b | |||
448e0f27b6 | |||
02db510048 | |||
ce9c563c9f | |||
4c170b7934 | |||
d1a2dba68c | |||
5d2867d8a9 | |||
4504a65b92 | |||
25f52917ef | |||
75770bcedf | |||
1c9fe4561a | |||
909b773f6d | |||
0343dc0785 | |||
b670ab4888 | |||
f85202d64c | |||
e5e5ebb7db | |||
86de58b9e1 | |||
675cd456b6 | |||
9fe581e425 | |||
a0626ac958 | |||
1fab2a5bec | |||
d9ae367281 | |||
837b040761 | |||
71afea8d80 | |||
7c9989d999 | |||
2e2b1fda9c | |||
25da978fee | |||
c677f24d8e | |||
77fe1e8184 | |||
377008ee08 | |||
22fb89e56a | |||
68c56e042c | |||
16c242e7fa | |||
c9e1ae2548 | |||
fc7f1c0728 | |||
aa1c7609d2 | |||
998f4ed6e6 | |||
33242a02ce | |||
7963ce2cdd | |||
b4159f9144 | |||
674aa5c4d8 | |||
e176e9922a | |||
fd98aa0ff8 | |||
f24e97e933 | |||
a934efa90a | |||
a0cae2b1a6 | |||
274c1a40a5 | |||
059a408e95 | |||
f4c6919800 | |||
7301b9e808 | |||
113746dc74 | |||
95aaca5e02 | |||
ed6b196459 | |||
34ed4678d7 | |||
a127251107 | |||
b55b80ecc8 | |||
68c75735f4 | |||
9b66abf5ef | |||
ccd650dda0 | |||
3afac476e5 | |||
8f7483cddf | |||
3b5c73b1a3 | |||
04ec65df3e | |||
49244072c4 | |||
3fe9ea1b01 | |||
a55ccb2b28 | |||
01a6ae656f | |||
2b7b852a68 | |||
b12c4d171e | |||
3ce7104542 | |||
297c173418 | |||
22733ea110 | |||
845991f1d3 | |||
e6faed5dd9 | |||
44909f9ce8 | |||
4ff1d640b3 | |||
743de42484 | |||
04c381d440 | |||
bda4b5d264 | |||
3f13821c43 | |||
e60e076d16 | |||
541993c06b | |||
3d5114655f | |||
3229933ed0 | |||
d7d66fd4a6 | |||
4a7cd5be6a | |||
fd56e5cec9 | |||
2cb7fcca9a | |||
9b2e7bf927 | |||
d913fb5600 | |||
6bf42f90ed | |||
51ff2b65f4 | |||
c05e1f7c9b | |||
4700419590 | |||
5f320cc5c8 | |||
351aaa3974 | |||
327d42d02d | |||
bbcc79208c | |||
578dfa40aa | |||
a43c6c6b9e | |||
5f99dd620d | |||
e959710d6d | |||
f0f1d0a61a | |||
7f63928d21 | |||
b929e452b0 | |||
b4f927a84d | |||
fe4a72edd0 | |||
5f4a10086f | |||
d5baa153a5 | |||
3f96530c32 | |||
861659e890 | |||
cd5b88dd1f | |||
06b49ec3ec | |||
4944731dc6 | |||
5d31d6825b | |||
0099b037f3 | |||
9994ed8b5e | |||
954357bdd2 | |||
c7f5629f82 | |||
dfe769c92e | |||
53017b24d1 | |||
f13537cabb | |||
16ea8f29a1 | |||
e708b74507 | |||
f61c7f6030 | |||
1260859c42 | |||
ec9324d77f | |||
d66b1780ce | |||
35cab82605 | |||
12222c0f42 | |||
12ec11c7e2 | |||
c926ca389c | |||
e01c0a1eff | |||
8008f87ffa | |||
91d3a8ffad | |||
309d3a45d6 | |||
ebe0d41b77 | |||
6403cf0c8b | |||
7964aed453 | |||
97866cf44d | |||
4eb92ff2e3 | |||
0e8fb1ba83 | |||
8741f37831 | |||
68ccabda56 | |||
a0cd0bc189 | |||
aadb186054 | |||
2c232f2f3f | |||
f85c894b52 | |||
fb432da26b | |||
e8da7b4673 | |||
53906c49cb | |||
b774bd6a55 | |||
cefc2fa21c | |||
546993b12c | |||
08ab80187c | |||
bf48643865 | |||
35a91dbd57 | |||
7a56ec614c | |||
7d2728845e | |||
94a834ecc4 | |||
46774466db | |||
671eff5012 | |||
a3e7535db5 | |||
f7ee7e2e8c | |||
7a04061d6d | |||
7827994791 | |||
dae290ad2d | |||
61fc7d8589 | |||
0deb623ad5 | |||
ef8aeeb5f0 | |||
2695c985a4 | |||
fcfdc5c206 | |||
3a96b460df | |||
78616bf06f | |||
43ebff2a84 | |||
7afbbadef1 | |||
e26372075d | |||
d0f6c69135 | |||
b1780c54db | |||
7cc51035aa | |||
820efaeb21 | |||
1ee53137ec | |||
01afcb1c9e | |||
574bbd1692 | |||
0c06982d75 | |||
8f4c09a600 | |||
1c5b08de59 | |||
d8a0272bec | |||
f6960a0f98 | |||
2849d78ece | |||
954ff8dca0 | |||
93db0fa064 | |||
839fe8e02f | |||
60b668342f | |||
178cf35a43 | |||
adf30f3640 | |||
2793059c70 | |||
6e7de3a01c | |||
77a14f3c7b | |||
a9543037b2 | |||
902b8e0a52 | |||
613d92c32f | |||
ebf9607c99 | |||
89dc767a1c | |||
cb54910529 | |||
f78837d467 | |||
6ad1ce5239 | |||
707384aeed | |||
e3b976e189 | |||
8c7fa61f62 | |||
0bdb877fe1 | |||
fddcc3c965 | |||
8dde7e2efb | |||
2f40f32988 | |||
bb0063d5cf | |||
dcdd552856 | |||
c4f23be1dc | |||
571fe4dc04 | |||
1827223b1c | |||
b2c37311b9 | |||
70e4181b17 | |||
e8d7aae53c | |||
41312ef86d | |||
b04fc327c0 | |||
a37eb9868f | |||
4d1a135d76 | |||
45e75f7473 | |||
8127e8b2ff | |||
d30b8fffa1 | |||
52f0e556e2 | |||
0376a92ebb | |||
5da5bd43e4 | |||
e2811a4a28 | |||
a53a38b5dd | |||
6502cf5552 | |||
aed6d9a91b | |||
ff6353a1ea | |||
b6f9220f3f | |||
0c9e6ef577 | |||
198dadc209 | |||
f6a3d9f474 | |||
232a735dde | |||
2ea9af8151 | |||
1e14792ea0 | |||
908f0ba833 | |||
466d1b1c14 | |||
68d7630b44 | |||
641c981c4b | |||
50ec9e48bf | |||
801ac28c11 | |||
7637e1ad69 | |||
fa24d61680 | |||
1bd159e60d | |||
959dab4dc2 | |||
20086b0816 | |||
e21b8a841b | |||
a045469584 | |||
228db871b4 | |||
49b2e7303e | |||
074e262e66 | |||
021f0323cb | |||
bb55e5bc58 | |||
5d6d49f7e1 | |||
548d0692ba | |||
5d87fc3461 | |||
0a254c52c0 | |||
eafa586fdc | |||
1e36731076 | |||
d5d3bb19de | |||
d367f726ba | |||
cb241b703a | |||
c02d180e11 | |||
90fc207bf2 | |||
41f1806009 | |||
6941b822b6 | |||
5eb2fc67e5 | |||
c14ba16297 | |||
861e68ab3c | |||
4beecd62a8 | |||
1e2e409e8d | |||
90cefe4809 | |||
866b3e915a | |||
2827e7dc3a | |||
a8da7dcfd3 | |||
70df106f57 | |||
d37c6fcdce | |||
f3f8374253 | |||
a5973043b1 | |||
d3d87a0bfb | |||
c69269ea3d | |||
30ff491a34 | |||
56d4d545c1 | |||
884859324d | |||
7d92bcdf58 | |||
ba545bfa29 | |||
7c31a9c9b8 | |||
13cd09d161 | |||
d55f28e3d7 | |||
1e5df747cd | |||
46e82e08ce | |||
9658bcdb73 | |||
81c96808b6 | |||
969e72c4a4 | |||
3d2df9f9a9 | |||
384c3c45e4 | |||
6b0467ead5 | |||
1344ab5bb6 | |||
ae3aeeca69 | |||
e976c617f7 | |||
a63592894c | |||
bd4636c98f | |||
dff3c7d093 | |||
d0f2aa38ca | |||
abb2fb7045 | |||
44be1dc1c7 | |||
64ed76762e | |||
f194a1a572 | |||
c7249aadf3 | |||
d16fd73b05 | |||
59b65ba668 | |||
ba17c57026 | |||
b5217682fd | |||
a60792d20e | |||
f4c9d09020 | |||
97185fffb8 | |||
48ed0a508c | |||
73f4bce99a | |||
8055c84087 | |||
7a8aff47e9 | |||
62e755ce60 | |||
75e1173f80 | |||
fe7c93d004 | |||
d77dea5fe1 | |||
df226df87d | |||
dca2e10570 | |||
aedbda8d7a | |||
3721a8f039 | |||
e736b08a49 | |||
b7a61f12e8 | |||
ac245ad0a4 | |||
64eaa1516b | |||
4e5f34ec19 | |||
bb124ce681 | |||
d3679671ac | |||
571a52b432 | |||
a20434ace5 | |||
31715e937b | |||
f39cda041c | |||
09e15f6d2a | |||
23ac02bea1 | |||
2cd3592a49 | |||
f8b2902c91 | |||
36d6421312 | |||
8c283dc8a0 | |||
d994da9d53 | |||
2fe4b7c0ec | |||
58942c3f38 | |||
41cea76603 | |||
a235c532e4 | |||
5e5c9d3bcf | |||
93ce65b28b | |||
3c10e84def | |||
20d6b2ebbb | |||
cb927c276c | |||
3adc3eace3 | |||
fe1846c2e1 | |||
cfd1f03023 | |||
ba750f0eee | |||
a119fdfc48 | |||
2e6d66fcd4 | |||
c0c8368905 | |||
8f79d865aa | |||
8f5e23ae95 | |||
30f698ddf0 | |||
d4cd3dd600 | |||
8e0ad02249 | |||
2f6c594ee6 | |||
570b72f4c2 | |||
024d830621 | |||
a817ec19ed | |||
bcb265b42d | |||
2467d5a5d0 | |||
c098b8bbca | |||
ea6bf48b3d | |||
6ede03f880 | |||
e180f1cf45 | |||
b3ee14bf55 | |||
ec88b719f6 | |||
c03d7bd1c4 | |||
84d5fbcfe5 | |||
20d9f7dae7 | |||
50dc608456 | |||
3d6dab39ca | |||
ba58b4ba8a | |||
cbb46fe7b6 | |||
d99ae7b1a3 | |||
b5482db581 | |||
916f4b071c | |||
1143012216 | |||
1d1c677c81 | |||
34eab69e85 | |||
c1e14b671c | |||
8a7d255361 | |||
a4d8749e44 | |||
4d566b81d1 | |||
65db6ce497 | |||
054b5cca6b | |||
6123d055f9 | |||
9cf242ad89 | |||
162caf61a2 | |||
d64f4778df | |||
a874db38be | |||
92b2782af8 | |||
682f1cb798 | |||
d31c09f786 | |||
5d8a17ba6d | |||
8314e05a71 | |||
ce066417e9 | |||
9405ca3dff | |||
b5ddf380ca | |||
06209c17b5 | |||
ddd07138dd | |||
20246a3481 | |||
101ceb538b | |||
6c111959b4 | |||
369aff9113 | |||
b8de4b26b0 | |||
a9400f5a9c | |||
fb2f1d3553 | |||
87f3cbdda7 | |||
ff5fac251e | |||
72e94398bf | |||
1df89525e6 | |||
82662d0a09 | |||
e7cc94c27e | |||
b6e09c5da4 | |||
b6de719f2b | |||
6cad7c01a7 | |||
c504001f04 | |||
ede581182c | |||
80f67df3fa | |||
c7fba32229 | |||
1a4c5df14d | |||
7f38c85738 | |||
2521a2420d | |||
8c47814d8d | |||
539ad4b5ee | |||
99c7473208 | |||
403da8e22b | |||
e9f15ba034 | |||
0d52147005 | |||
bd7d41ed37 | |||
8869680302 | |||
f1e06da156 | |||
4a6e644b2f | |||
d2b3ce55e5 | |||
65e83af982 | |||
36c0c123d3 | |||
0286567df8 | |||
4cf542c6f6 | |||
7dcddb295e | |||
ee086ff580 | |||
c71e15ca10 | |||
a1ed5c6262 | |||
c09649c996 | |||
0c04d4a435 | |||
d5725062c9 | |||
7c72445143 | |||
f02ff75f6e | |||
ea901a33d3 | |||
7d8cdcb792 | |||
8ac3c086f8 | |||
0ccd63bb46 | |||
b26442d1fe | |||
ac01a37f5f | |||
22a272061f | |||
de4bec0a21 | |||
9483c0c51f | |||
20d6901dea | |||
2a5d686d5a | |||
8d5cdf6c61 | |||
683e9ff858 | |||
42c52e2729 | |||
336aa029db | |||
898513c95f | |||
08cda5e7ea | |||
6de8325130 | |||
cd51f7c5b0 | |||
c14f515526 | |||
9867de7a41 | |||
44e11bcc33 | |||
c75fc623cb | |||
2571305dc9 | |||
9515972c31 | |||
4efc0c04e1 | |||
b51f1f18b6 | |||
aed7597bd7 | |||
50fa64d6de | |||
71c7401f6d | |||
f045e65331 | |||
822ba63486 | |||
acf56b28a1 | |||
25c979a8ee | |||
aac627abf4 | |||
738c0f9616 | |||
48b87db2fb | |||
4beb04d8b9 | |||
cbe733ce80 | |||
e0461fedf6 | |||
7ab393cea7 | |||
50df0bfc1c | |||
a93028d6e4 | |||
448ed99723 | |||
12e1cc95b6 | |||
8b121a1ccb | |||
2ac00fb4b1 | |||
a3e1856f6d | |||
d070e63c3a | |||
3b967a27c1 | |||
1d4187162a | |||
e2de7b05b9 | |||
5bcd7c574d | |||
c0e4d64ee4 | |||
dc9bc81613 | |||
bc42fdbebe | |||
f7790ce537 | |||
0e20261d76 | |||
c186689672 | |||
71432c08dd | |||
3fa8b45e4a | |||
056436edc4 | |||
f70d7a4286 | |||
5c38cb98fa | |||
3b71cdc75e | |||
9247be97d1 | |||
f965fd7c2b | |||
8c1ad8e509 | |||
3d5fe149c3 | |||
5670b7af1f | |||
7bb435cf81 | |||
39df3d0dc0 | |||
0c0043da7b | |||
4935763210 | |||
5d3927c10a | |||
5a677fa15d | |||
269500a969 | |||
4cf146bd4f | |||
9328d3bd31 | |||
5a850bd406 | |||
4767e5958f | |||
f1788ae67f | |||
4568e00f7b | |||
9cd8e67fb6 | |||
e99abc5a36 | |||
822a4d8255 | |||
b1a79db369 | |||
4f9abde70e | |||
79ed0d9024 | |||
14c8231fea | |||
f9a369561e | |||
a28a8273c5 | |||
ac3ebab070 | |||
fa11217da7 | |||
9b786ba8c7 | |||
db4dbeeca7 | |||
1c5535d75f | |||
92e3ca2686 | |||
8236f3ff86 | |||
a251470ebd | |||
653f8b87ec | |||
7b4d94ccfb | |||
e4a91b8343 | |||
e42387fbf4 | |||
c92ab885f7 | |||
76a65e9238 | |||
ef7bbe5aa6 | |||
0e3f329db9 | |||
fcd7e60b68 | |||
2cbe284e58 | |||
7c4b1cedf7 | |||
5771a9e0f8 | |||
1875495360 | |||
0a19730fa6 | |||
42000f34b0 | |||
53c4c6d2a8 | |||
3f955659a1 | |||
bf48d81c43 | |||
f907386107 | |||
4247f448a8 | |||
c2bf38f873 | |||
2ec0bbb023 | |||
63f1939c83 | |||
f027e8c52e | |||
d4ab58548f | |||
9348dc12be | |||
90e9dfcd33 | |||
27e988e63a | |||
e8866c9643 | |||
8ac31d21ec | |||
2676e77ea4 | |||
b09526a248 | |||
c2ee36a4d7 | |||
5f83861f52 | |||
1d203b46b4 | |||
4ead3f0570 | |||
1a57d0330a | |||
417780ff70 | |||
c3a16ab8c7 | |||
66d80b80cd | |||
2231461ef3 | |||
03497c40ca | |||
6c7673f17b | |||
7bf5d349d7 | |||
aa8199201f | |||
c5f6f408b7 | |||
31692901c8 | |||
d2a7d77282 | |||
485ba19601 | |||
41c69797f2 | |||
b708653c26 | |||
2c8736777b | |||
09fc30e777 | |||
5bcec6b6a0 | |||
00aeaf021d | |||
810b6d807f | |||
e51680be63 | |||
3600ef61a7 | |||
214f4501b0 | |||
0595201d81 | |||
bee52c715e | |||
36ced8010a | |||
71d74f40b0 | |||
dc874ebf49 | |||
5cfca6b1f6 | |||
36dc1c82b2 | |||
4b4ac58d60 | |||
f9a7451995 | |||
8cc06c214a | |||
417cce1929 | |||
de3157dc2a | |||
b0d9680506 | |||
77a5eb24c2 | |||
e2e28c7444 | |||
eb21d54ef8 | |||
b06c20a1a6 | |||
a3ce23e331 | |||
6147e0e29b | |||
da48ea3818 | |||
543a137506 | |||
02e7ff6b19 | |||
935894633c | |||
9b0bc500fd | |||
83b6bf6c6a | |||
5e6469596c | |||
c12df19fd1 | |||
37552a81fc | |||
e50327bccc | |||
7dc378bba7 | |||
72b6390613 | |||
52bb6fcbf0 | |||
63748cd83d | |||
254dcac149 | |||
e1f3a248ea | |||
74a8e88308 | |||
9c15fed722 | |||
a14dec70c2 | |||
18153d4168 | |||
bd30de4f18 | |||
3b6bda825b | |||
92e69a60f4 | |||
72084a2013 | |||
27df09533c | |||
bd207667e3 | |||
37eb37e2a1 | |||
7116deaf54 | |||
d2a45245e2 | |||
05bbd4a7f8 | |||
8199272328 | |||
33b5e18582 | |||
eae152959b | |||
35cbbeb457 | |||
96f7c7c0b0 | |||
ac7743e217 | |||
7d10041727 | |||
72a18125ee | |||
1bd893409d | |||
d9d5ee15fd | |||
78c86446cf | |||
2a9ba3821a | |||
4328d311a5 | |||
a42cf4ebdd | |||
39a787b0d1 | |||
f186ad30c1 | |||
160ae3fb60 | |||
80d74c608d | |||
df4560412d | |||
dab4c91c98 | |||
dd20c4273b | |||
cf5023436c | |||
ff312f0405 | |||
9012ed256c | |||
0a63b8b905 | |||
f78c9436c8 | |||
578d8910aa | |||
cd45749c82 | |||
3069abfe13 | |||
f7b994354b | |||
a28e04bfde | |||
960de87585 | |||
f525165758 | |||
9e3b2a381e | |||
f6491b2285 | |||
93aa0c2b08 | |||
0f300a24a1 | |||
a05d192beb | |||
fda7392b84 | |||
6036c54b05 | |||
7f1b569d6f | |||
c8849a4648 | |||
e2d2295866 | |||
d4ffc89c02 | |||
139bd4c10a | |||
21d34482da | |||
9b2999d64b | |||
65b5f20cf7 | |||
ec035c25a1 | |||
a1cb089d0d | |||
424d5e71a8 | |||
a48201f60f | |||
6442c86084 | |||
b06dc1e63f | |||
bbe6550abe | |||
b8af2acce5 | |||
6b63ae2e46 | |||
85439dbff7 | |||
b6269188fe | |||
bb62444f15 | |||
ac4c054d1f | |||
838063b1b7 | |||
c51ac0489f | |||
0e464b011f | |||
86aa7ad692 | |||
013c675bc4 | |||
3be35f9987 | |||
86794d2cf1 | |||
c3004c6a6c | |||
3a7b0d2c9d | |||
1b32091d7d | |||
7a88778f5e | |||
e703054716 | |||
c33a745862 | |||
a94aa898a6 | |||
8a379d2db2 | |||
34a860cfa6 | |||
d0d139511c | |||
dec5529a64 | |||
64520130f6 | |||
d516d31b30 | |||
5d2f42a5a8 | |||
f8e70c9362 | |||
023e2978ba | |||
0f8f9c94cd | |||
22bb1c39b1 | |||
6765a60ec3 | |||
d28f0b259a | |||
6894d2c5d2 | |||
7b474c69ab | |||
e232810325 | |||
4ba3625987 | |||
99dfc23d96 | |||
84abc5764d | |||
8e09d637e7 | |||
37dff70cd6 | |||
3e403ef9ee | |||
8d8bfd5587 | |||
054790d161 | |||
c637729eae | |||
6e26ce8162 | |||
f9e8ea66ea | |||
de62e5082e | |||
6ff99e4ddd | |||
8cc54bf9be | |||
012d33146c | |||
1e4ea2dde9 | |||
1aabf0ebf5 | |||
f51781c763 | |||
b1cebe9e0e | |||
a352318f0f | |||
62f1f93ad9 | |||
3979ee33a3 | |||
a57ed93923 | |||
aa19b1c424 | |||
0751c966c4 | |||
e8643528ea | |||
69773fc838 | |||
40dbc6c849 | |||
35cc57f263 | |||
e6fc0e30ec | |||
f1a14a03af | |||
5a63060699 | |||
81d3b7fd11 | |||
b3abee8513 | |||
d420e956e9 | |||
f5b4cb0ae8 | |||
0f7f301787 | |||
3426c01955 | |||
1a517995a0 | |||
e51b8d2f61 | |||
5c105a9bcb | |||
55c627e4ee | |||
ec897d217c | |||
6f8614906d | |||
dab81291eb | |||
fb6df55326 | |||
9b292e0614 | |||
f25e166ea8 | |||
ef6952b27a | |||
b0d74c4640 | |||
512ea68dce | |||
d410696729 | |||
d630aa4f37 | |||
0e9050f2e8 | |||
f01b858e90 | |||
d40d1e4f2b | |||
b2e6d16221 | |||
64cc353455 | |||
9b08244ed8 | |||
797688dedd | |||
2a3a12b816 | |||
8d8a0efdb9 | |||
94299139cf | |||
bb01ec9a1e | |||
317c7272cd | |||
d28e8a06b5 | |||
9a959a0aa4 | |||
31fdc76f25 | |||
3eadadf638 | |||
30f6d456af | |||
d3e2b2bde4 | |||
473c821132 | |||
3ba0d25f27 | |||
9299b6716a | |||
6ac2abfc3b | |||
4b50a9c721 | |||
ef0322019f | |||
a395b171e3 | |||
9177c6f210 | |||
0264c4eeea | |||
f1e65869f3 | |||
bda61d0ae2 | |||
55c1a90fc9 | |||
0ab7d53991 | |||
5ba20fc6ed | |||
92e82941fe | |||
fe76192590 | |||
20be83ef95 | |||
97c58c8dca | |||
239be03a54 | |||
70df551eef | |||
7f7cf5281f | |||
8b53f6e320 | |||
20e7525118 | |||
f9ead74b88 | |||
1efea0bd27 | |||
655efb1fb6 | |||
65e0daa06d | |||
0b749c3888 | |||
80c7a8d1ce | |||
098653aac7 | |||
db267513ca | |||
c64354ebcc | |||
6970c95aca | |||
4fc0ab0649 | |||
39542c4ef2 | |||
bf727d6905 | |||
c1178277ca | |||
976fc8975a | |||
795b8be386 | |||
e9ed55b6e9 | |||
dad8f9d80e | |||
b714fb1be0 | |||
179a971770 | |||
d27c31a389 | |||
941c7ffd07 | |||
87d0ead203 | |||
0c9d539a92 | |||
306b77a3f4 | |||
823e8374b1 | |||
6b064cb915 | |||
11c8ab52f6 | |||
82a7e67bec | |||
98a6449b06 | |||
fbadf83997 | |||
64b8df6d81 | |||
edc04987d3 | |||
a87c0c8a7a | |||
40b6072163 | |||
f15bb1d545 | |||
0b0064afd0 | |||
4f2c207bb3 | |||
9d1128af51 | |||
855c28d956 | |||
1cb8d61787 | |||
677cff1230 | |||
bd430e5afd | |||
758396c9ea | |||
a588e88fec | |||
5b5a63cb5f | |||
26dae8ee94 | |||
ca2adbac13 | |||
bfab3dac81 | |||
e60c2a6ba1 | |||
e3bf12f65c | |||
c728b91914 | |||
e5b76687a8 | |||
ef535e399e | |||
34231327b7 | |||
e49994e205 | |||
513577958f | |||
df0373c4fa | |||
4c10c85937 | |||
22e67e6fdd | |||
74af8a5c39 | |||
b364389541 | |||
e6d3f6bc3f | |||
e821a438fe | |||
34b1f3b0a1 | |||
5c53b93a49 | |||
c61ff611fb | |||
ef9e1a0170 | |||
3a7032ec9c | |||
339acab917 | |||
8c5fabe411 | |||
269967a809 | |||
b177bb5bfb | |||
3c795a215e | |||
e3e6676420 | |||
be85eb3e4a | |||
98f8c6b25a | |||
262b12524b | |||
826b518048 | |||
187315fc08 | |||
01c0b45ea2 | |||
dfc594fc39 | |||
2892cb8c2f | |||
fc9c66b0c3 | |||
6900052ecd | |||
0b862735b2 | |||
a1d9bc7cee | |||
1738f44847 | |||
30733e8376 | |||
1029233ec7 | |||
f16c05c429 | |||
d7fa255166 | |||
60b3fef37a | |||
7b8fb77250 | |||
1127914512 | |||
5b68d34764 | |||
79a4a943dc | |||
7ad8d08037 | |||
f10202c00b | |||
7b3a235bd7 | |||
e264788f8e | |||
49f5c1d078 | |||
8eed54ca45 | |||
daac1b2590 | |||
70031040b3 | |||
da6f424b11 | |||
02e883b55c | |||
9838aef6b8 | |||
2bfa3517f0 | |||
06494729f1 | |||
8726f8317c | |||
c7d9ab8474 | |||
4997528f6a | |||
4b622b8603 | |||
4f57cc52d4 | |||
ba23475425 | |||
f88466f3cd | |||
60be939a1f | |||
2dd01247e1 | |||
77a4d3f773 | |||
6cbd286836 | |||
b447e0aeab | |||
b165c3f543 | |||
d246ef9a2e | |||
8fd553fbfc | |||
f4cebfdbae | |||
2fdc57055b | |||
03b0b61aa1 | |||
3984f80bae | |||
8427b9c7ee | |||
581fd356cd | |||
d88997c418 | |||
d6b38dafc6 | |||
0056651447 | |||
a0d9173b4f | |||
f12c721f44 | |||
a73a710364 | |||
e33e950712 | |||
f767feeef9 | |||
fd924f29f3 | |||
13112ad6d4 | |||
b043a2258f | |||
7f47a2fd25 | |||
8fe8318c77 | |||
ae81ec043d | |||
9ba96d3673 | |||
db204941ed | |||
5cd3f9d84d | |||
9160e61ac7 | |||
63ae732e72 | |||
ac9c3f88f9 | |||
52f1502051 | |||
e8acc9ca39 | |||
935f7cd5c3 | |||
e8290054c2 | |||
2c7c74743d | |||
4dd90d5493 | |||
241ad8174f | |||
98f5f73a41 | |||
62ad72fb11 | |||
4552931b95 | |||
39f9789fa1 | |||
8d7ff7f37e | |||
59606410f4 | |||
486529b112 | |||
b16938937b | |||
2ba3603a3d | |||
f6b9fd02b2 | |||
85becf861f | |||
7344828cf7 | |||
51a9565a72 | |||
bc30bf5566 | |||
dd111aac4a | |||
476b43d539 | |||
1d919e5874 | |||
1089c55b26 | |||
d4a866414f | |||
2ed00064e2 | |||
1d7add213e | |||
3572b60afd | |||
f8db1d11a7 | |||
bb7bf4e91b | |||
51dd86e6da | |||
4736bfeea6 | |||
d656d6d594 | |||
76e07d5012 | |||
037b520b2c | |||
748437ef7a | |||
d219999892 | |||
53bd1df8e5 | |||
2b88ef134b | |||
2eca835ec7 | |||
8d94a62b9c | |||
4035b9ac6c | |||
8a13a18737 | |||
8a67ea9ca2 | |||
31a110c37f | |||
6a08b2126f | |||
47c238b1eb | |||
72c4db25f0 | |||
50f9186682 | |||
2cd22f725e | |||
1cab0c168e | |||
5dac4e3af6 | |||
09032fb4a5 | |||
48a8086519 | |||
c62a3f8ee6 | |||
682e435ded | |||
cdcf075635 | |||
7e027db02b | |||
4abaa67580 | |||
13d43425e5 | |||
0ba315243b | |||
1ac1e93bbf | |||
9655ca229f | |||
4b553dd659 | |||
bb22a1297b | |||
f5727af40e | |||
b842a1d9b1 | |||
2978133862 | |||
7422b99b42 | |||
d04a7de26b | |||
4383f81c0f | |||
36a9bf69de | |||
68d834fba0 | |||
64c9004036 | |||
350fb885b8 | |||
8d03f2dc80 | |||
220dcd0f5c | |||
3671d7549d | |||
a38910b381 | |||
941b8e84f5 | |||
382c860d9b | |||
3dd51a442d | |||
ed21e8c7b2 | |||
2b6ba32b2c | |||
14f582faeb | |||
768ac77ea2 | |||
f75a7c91eb | |||
104132c5d3 | |||
3a315c5575 | |||
91fb714250 | |||
10d868efa4 | |||
3b8bc42266 | |||
41617f5560 | |||
9fb7f251f6 | |||
d8ca9d79c3 | |||
5398dbef95 | |||
a4345cedc5 | |||
ba574667c7 | |||
f2c1e279c9 | |||
51ad0ed830 | |||
60ff546fec | |||
f6088cbbe1 | |||
4b093dcdbb | |||
4f39a2e3da | |||
c9020d4879 | |||
c5b5e80de4 | |||
c1a8fdb940 | |||
ff3e100b33 | |||
e892473af7 | |||
3a143270c2 | |||
0aa2db8e91 | |||
1c8de51054 | |||
d3ab58a487 | |||
34c171f9fd | |||
9b2d49455a | |||
730b2371df | |||
f1afa864cd | |||
439cd77db8 | |||
4c35870dff | |||
9f3624d26e | |||
ac4e8514db | |||
646123f9ab | |||
11ef9dbdcb | |||
f3526b1d95 | |||
45d5159fe3 | |||
439e6b4ccf | |||
fb08322c17 | |||
c815e0fadc | |||
190ffab76d | |||
882bddf77e | |||
06e42dc689 | |||
4f1e1a38c9 | |||
a9c02c9cbc | |||
331cfb5b54 | |||
0b80ed6c2b | |||
38967eab64 | |||
3ad1ad4ef1 | |||
0c8f469246 | |||
03d9351dec | |||
b3fc6617e5 | |||
1fdc2e3091 | |||
c773c8f5d5 | |||
b188a05b69 | |||
d7ca3f15a4 | |||
406e240de1 | |||
f3689ac157 | |||
ce72ee04f4 | |||
694121d49a | |||
250b39bcc8 | |||
c74a2b4529 | |||
ff7bc9092d | |||
d6b6fa2baf | |||
bfd66deb37 | |||
bf149c075d | |||
a1e7ce415b | |||
2ecc007615 | |||
7a053e6df2 | |||
ab15bafc5b | |||
806f6cd2ab | |||
b7921c7dcb | |||
f6014d2e52 | |||
420c93aaa3 | |||
23ef51a4e8 | |||
c73dd60bd1 | |||
35a602cfef | |||
6ecd86a244 | |||
0cb28f906e | |||
426389b255 | |||
825c60e2bd | |||
46893e2f04 | |||
567f9c06cc | |||
9a1f1ddb8b | |||
d68eb28629 | |||
1a305f2dd7 | |||
cd22f5197b | |||
349b159a7b | |||
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 |
21
.appveyor.yml
Normal file
@ -0,0 +1,21 @@
|
||||
build: off
|
||||
environment:
|
||||
|
||||
matrix:
|
||||
- TOXENV: "py27"
|
||||
|
||||
install:
|
||||
- cmd: git submodule update --init --recursive
|
||||
- cmd: SET PATH=%PATH%;C:\Python27\Scripts;C:\MinGW\bin
|
||||
- cmd: pip install tox
|
||||
|
||||
test_script:
|
||||
- cmd: tox
|
||||
|
||||
notifications:
|
||||
- provider: Slack
|
||||
incoming_webhook:
|
||||
secure: E9H0SU0Ju7WLDvgxsV8cs3J62T3nTTX7QkEjsczN0Sto/c9hWkVfhc5gGWUkxhlD975cokHByKGJIdwYwCewqOI+7BrcT8U+nlga4Uau7J8=
|
||||
on_build_success: false
|
||||
on_build_failure: true
|
||||
on_build_status_changed: true
|
@ -1,4 +1,4 @@
|
||||
# Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
# Copyright (c) 2014-present PlatformIO <contact@platformio.org>
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@ -11,3 +11,11 @@
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
[report]
|
||||
# Regexes for lines to exclude from consideration
|
||||
exclude_lines =
|
||||
pragma: no cover
|
||||
def __repr__
|
||||
raise AssertionError
|
||||
raise NotImplementedError
|
58
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@ -0,0 +1,58 @@
|
||||
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
|
||||
|
||||
- [ ] PlatformIO IDE. All issues related to PlatformIO IDE should be reported to appropriate repository
|
||||
https://github.com/platformio/platformio-atom-ide/issues
|
||||
|
||||
- [ ] Development Platform or Board. All issues related to Development Platforms or Embedded Boards
|
||||
should be reported to appropriate repository.
|
||||
See full list with repositories and search for "platform-xxx" repository related to your hardware
|
||||
https://github.com/platformio?query=platform-
|
||||
|
||||
- [ ] 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 Core. If you’ve found a bug, please provide an 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
@ -5,3 +5,7 @@
|
||||
docs/_build
|
||||
dist
|
||||
build
|
||||
.cache
|
||||
coverage.xml
|
||||
.coverage
|
||||
htmlcov
|
||||
|
13
.gitmodules
vendored
@ -1,6 +1,7 @@
|
||||
[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
|
||||
[submodule "docs"]
|
||||
path = docs
|
||||
url = https://github.com/platformio/platformio-docs.git
|
||||
branch = develop
|
||||
|
@ -1,3 +1,3 @@
|
||||
[settings]
|
||||
line_length=79
|
||||
known_third_party=bottle,click,lockfile,pytest,requests,serial,SCons
|
||||
known_third_party=arrow,bottle,click,lockfile,pytest,requests,SCons,semantic_version,serial
|
||||
|
@ -20,4 +20,4 @@ confidence=
|
||||
# --disable=W"
|
||||
# disable=import-star-module-level,old-octal-literal,oct-method,print-statement,unpacking-in-except,parameter-unpacking,backtick,old-raise-syntax,old-ne-operator,long-suffix,dict-view-method,dict-iter-method,metaclass-assignment,next-method-called,raising-string,indexing-exception,raw_input-builtin,long-builtin,file-builtin,execfile-builtin,coerce-builtin,cmp-builtin,buffer-builtin,basestring-builtin,apply-builtin,filter-builtin-not-iterating,using-cmp-argument,useless-suppression,range-builtin-not-iterating,suppressed-message,no-absolute-import,old-division,cmp-method,reload-builtin,zip-builtin-not-iterating,intern-builtin,unichr-builtin,reduce-builtin,standarderror-builtin,unicode-builtin,xrange-builtin,coerce-method,delslice-method,getslice-method,setslice-method,input-builtin,round-builtin,hex-method,nonzero-method,map-builtin-not-iterating
|
||||
|
||||
disable=locally-disabled,missing-docstring,invalid-name,too-few-public-methods,redefined-variable-type,import-error,similarities,unsupported-membership-test,unsubscriptable-object,ungrouped-imports
|
||||
disable=locally-disabled,missing-docstring,invalid-name,too-few-public-methods,redefined-variable-type,import-error,similarities,unsupported-membership-test,unsubscriptable-object,ungrouped-imports,cyclic-import
|
||||
|
3
.style.yapf
Normal file
@ -0,0 +1,3 @@
|
||||
[style]
|
||||
blank_line_before_nested_class_or_def = true
|
||||
allow_multiline_lambdas = true
|
46
.travis.yml
@ -1,15 +1,43 @@
|
||||
language: python
|
||||
python:
|
||||
- "2.7"
|
||||
|
||||
env:
|
||||
- TOX_ENV=docs
|
||||
- TOX_ENV=lint
|
||||
- TOX_ENV=py26
|
||||
- TOX_ENV=py27
|
||||
matrix:
|
||||
include:
|
||||
- os: linux
|
||||
sudo: false
|
||||
python: 2.7
|
||||
env: TOX_ENV=docs
|
||||
- os: linux
|
||||
sudo: false
|
||||
python: 2.7
|
||||
env: TOX_ENV=lint
|
||||
- os: linux
|
||||
sudo: required
|
||||
python: 2.7
|
||||
env: TOX_ENV=py27
|
||||
- os: osx
|
||||
language: generic
|
||||
env: TOX_ENV=skipexamples
|
||||
|
||||
install:
|
||||
- pip install -U pip setuptools tox
|
||||
- git submodule update --init --recursive
|
||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -fsSL https://bootstrap.pypa.io/get-pip.py | sudo python; fi
|
||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sudo pip install tox; else pip install -U tox; fi
|
||||
|
||||
# ChipKIT issue: install 32-bit support for GCC PIC32
|
||||
- if [[ "$TOX_ENV" == "py27" ]] && [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install libc6-i386; fi
|
||||
|
||||
script:
|
||||
- tox -e $TOX_ENV
|
||||
- tox -e $TOX_ENV
|
||||
|
||||
after_success:
|
||||
- if [[ "$TOX_ENV" == "py27" ]] && [[ "$TRAVIS_OS_NAME" == "linux" ]]; then tox -e coverage; fi
|
||||
- if [[ "$TOX_ENV" == "py27" ]] && [[ "$TRAVIS_OS_NAME" == "linux" ]]; then bash <(curl -s https://codecov.io/bash); fi
|
||||
|
||||
notifications:
|
||||
email: false
|
||||
|
||||
slack:
|
||||
rooms:
|
||||
secure: JD6VGfN4+SLU2CwDdiIOr1VgwD+zbYUCE/srwyGuHavnjIkPItkl6T6Bn8Y4VrU6ysbuKotfdV2TAJJ82ivFbY8BvZBc7FBcYp/AGQ4FaCCV5ySv8RDAcQgdE12oaGzMdODiLqsB85f65zOlAFa+htaXyEiRTcotn6Y2hupatrI=
|
||||
on_failure: always
|
||||
on_success: change
|
||||
|
15
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"python.pythonPath": "${workspaceRoot}/.tox/develop/bin/python",
|
||||
"python.formatting.provider": "yapf",
|
||||
"files.exclude": {
|
||||
"**/*.pyc": true,
|
||||
"*.egg-info": true,
|
||||
".cache": true,
|
||||
"build": true,
|
||||
"dist": true
|
||||
},
|
||||
"editor.rulers": [79],
|
||||
"restructuredtext.builtDocumentationPath": "${workspaceRoot}/docs/_build/html",
|
||||
"restructuredtext.confPath": "${workspaceRoot}/docs",
|
||||
"restructuredtext.linter.executablePath": "${workspaceRoot}/.tox/docs/bin/restructuredtext-lint"
|
||||
}
|
21
CONTRIBUTING.md
Normal file
@ -0,0 +1,21 @@
|
||||
Contributing
|
||||
------------
|
||||
|
||||
To get started, <a href="https://www.clahub.com/agreements/platformio/platformio-core">sign the Contributor License Agreement</a>.
|
||||
|
||||
1. Fork the repository on GitHub.
|
||||
2. Make a branch off of ``develop``
|
||||
3. Run ``pip install tox``
|
||||
4. Go to the root of project where is located ``tox.ini`` and run ``tox -e develop``
|
||||
5. Activate current development environment:
|
||||
|
||||
* Windows: ``.tox\develop\Scripts\activate``
|
||||
* Bash/ZSH: ``source .tox/develop/bin/activate``
|
||||
* Fish: ``source .tox/bin/activate.fish``
|
||||
|
||||
6. Make changes to code, documentation, etc.
|
||||
7. Lint source code ``tox -e lint``
|
||||
8. Run the tests ``tox -e py27``
|
||||
9. Build documentation ``tox -e docs`` (creates a directory _build under docs where you can find the html)
|
||||
10. Commit changes to your forked repository
|
||||
11. Submit a Pull Request on GitHub.
|
1352
HISTORY.rst
26
Makefile
Normal file
@ -0,0 +1,26 @@
|
||||
|
||||
lint:
|
||||
pylint --rcfile=./.pylintrc ./platformio
|
||||
|
||||
isort:
|
||||
isort -rc ./platformio
|
||||
isort -rc ./tests
|
||||
|
||||
yapf:
|
||||
yapf --recursive --in-place platformio/
|
||||
|
||||
test:
|
||||
py.test -v -s tests --ignore tests/test_examples.py --ignore tests/test_pkgmanifest.py
|
||||
|
||||
before-commit: isort yapf lint test
|
||||
|
||||
clean-docs:
|
||||
rm -rf docs/_build
|
||||
|
||||
clean: clean-docs
|
||||
find . -name \*.pyc -delete
|
||||
find . -name __pycache__ -delete
|
||||
rm -rf .cache
|
||||
rm -rf build
|
||||
rm -rf htmlcov
|
||||
rm -f .coverage
|
255
README.rst
@ -1,17 +1,14 @@
|
||||
PlatformIO
|
||||
==========
|
||||
|
||||
.. image:: https://travis-ci.org/platformio/platformio.svg?branch=develop
|
||||
:target: https://travis-ci.org/platformio/platformio
|
||||
.. image:: https://travis-ci.org/platformio/platformio-core.svg?branch=develop
|
||||
:target: https://travis-ci.org/platformio/platformio-core
|
||||
:alt: Travis.CI Build Status
|
||||
.. image:: https://ci.appveyor.com/api/projects/status/dku0h2rutfj0ctls/branch/develop?svg=true
|
||||
:target: https://ci.appveyor.com/project/ivankravets/platformio
|
||||
.. image:: https://ci.appveyor.com/api/projects/status/unnpw0n3c5k14btn/branch/develop?svg=true
|
||||
:target: https://ci.appveyor.com/project/ivankravets/platformio-core
|
||||
: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://requires.io/github/platformio/platformio/requirements.svg?branch=develop
|
||||
:target: https://requires.io/github/platformio/platformio/requirements/?branch=develop
|
||||
.. image:: https://requires.io/github/platformio/platformio-core/requirements.svg?branch=develop
|
||||
:target: https://requires.io/github/platformio/platformio-core/requirements/?branch=develop
|
||||
:alt: Requirements Status
|
||||
.. image:: https://img.shields.io/pypi/v/platformio.svg
|
||||
:target: https://pypi.python.org/pypi/platformio/
|
||||
@ -19,189 +16,113 @@ PlatformIO
|
||||
.. image:: https://img.shields.io/pypi/l/platformio.svg
|
||||
:target: https://pypi.python.org/pypi/platformio/
|
||||
:alt: License
|
||||
.. image:: https://img.shields.io/pypi/dm/platformio.svg
|
||||
:target: https://pypi.python.org/pypi/platformio/
|
||||
:alt: PyPi Downloads
|
||||
.. image:: https://img.shields.io/sourceforge/dm/platformio-storage.svg
|
||||
:target: https://sourceforge.net/projects/platformio-storage/
|
||||
:alt: Packages Downloads
|
||||
.. image:: https://badges.gitter.im/Join%20Chat.svg
|
||||
:alt: Join the chat at https://gitter.im/platformio/platformio
|
||||
:target: https://gitter.im/platformio/platformio
|
||||
.. image:: https://img.shields.io/donate/PlatformIO.png?color=yellow
|
||||
:alt: Donate for PlatformIO.Org
|
||||
:target: https://www.liqpay.com/api/3/checkout?data=eyJ2ZXJzaW9uIjozLCJhY3Rpb24iOiJwYXlkb25hdGUiLCJwdWJsaWNfa2V5IjoiaTc0NzkxMDA2NjIxIiwiYW1vdW50IjoiMSIsImN1cnJlbmN5IjoiVVNEIiwiZGVzY3JpcHRpb24iOiJEb25hdGlvbiBmb3IgUGxhdGZvcm1JTy5PcmciLCJ0eXBlIjoiZG9uYXRlIiwibGFuZ3VhZ2UiOiJlbiJ9&signature=XYvETjqlpoFhoFtxUJlF6hQyS7Y%3D
|
||||
.. image:: https://img.shields.io/PlatformIO/Community.png
|
||||
:alt: Community Forums
|
||||
:target: https://community.platformio.org
|
||||
.. image:: https://img.shields.io/PlatformIO/Plus.png?color=orange
|
||||
:alt: PlatformIO Plus: Professional solutions for an awesome open source PlatformIO ecosystem
|
||||
:target: https://pioplus.com
|
||||
|
||||
**Quick Links:** `Home Page <http://platformio.org>`_ |
|
||||
`PlatformIO Plus <https://pioplus.com>`_ |
|
||||
`PlatformIO IDE <http://platformio.org/platformio-ide>`_ |
|
||||
`Project Examples <https://github.com/platformio/platformio-examples/>`_ |
|
||||
`Docs <http://docs.platformio.org>`_ |
|
||||
`Donate <http://platformio.org/donate>`_ |
|
||||
`Contact Us <https://pioplus.com/contact.html>`_
|
||||
|
||||
`Home & Demo <http://platformio.org>`_ |
|
||||
`Project Examples <https://github.com/platformio/platformio/tree/develop/examples>`_ |
|
||||
`Source Code <https://github.com/platformio>`_ |
|
||||
`Documentation <http://docs.platformio.org>`_ |
|
||||
`Blog <http://www.ikravets.com/category/computer-life/platformio>`_ |
|
||||
`Twitter <https://twitter.com/PlatformIO_Org>`_ |
|
||||
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
|
||||
**Social:** `Twitter <https://twitter.com/PlatformIO_Org>`_ |
|
||||
`Facebook <https://www.facebook.com/platformio>`_ |
|
||||
`Reddit <http://www.reddit.com/r/platformio/>`_
|
||||
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
|
||||
`Bintray <https://bintray.com/platformio>`_ |
|
||||
`Community <https://community.platformio.org>`_
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-logo.png
|
||||
.. image:: https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-ide-laptop.png
|
||||
:target: http://platformio.org
|
||||
|
||||
`PlatformIO <http://platformio.org>`_ is an open source ecosystem for IoT
|
||||
development. Cross-platform code builder and library manager. Continuous and
|
||||
IDE integration. Arduino and MBED compatible. Ready for Cloud compiling.
|
||||
development. Cross-platform IDE and unified debugger. Remote unit testing and
|
||||
firmware updates.
|
||||
|
||||
* **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
|
||||
-----------
|
||||
|
||||
*Atmel AVR & SAM, Espressif, Freescale Kinetis, Nordic nRF51, NXP LPC,
|
||||
Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed,
|
||||
libOpenCM3, etc.*
|
||||
* `What is PlatformIO? <http://docs.platformio.org/page/what-is-platformio.html>`_
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-demo-wiring.gif
|
||||
:target: http://platformio.org
|
||||
Products
|
||||
--------
|
||||
|
||||
* `Get Started <http://platformio.org/#!/get-started>`_
|
||||
* `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
|
||||
* `Development Platforms <http://platformio.org/#!/platforms>`_
|
||||
* `Frameworks <http://platformio.org/#!/frameworks>`_
|
||||
* `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
* `Library Manager <http://docs.platformio.org/en/latest/librarymanager/index.html>`_
|
||||
* `User Guide <http://docs.platformio.org/en/latest/userguide/index.html>`_
|
||||
* `Continuous Integration <http://docs.platformio.org/en/latest/ci/index.html>`_
|
||||
* `IDE Integration <http://docs.platformio.org/en/latest/ide.html>`_
|
||||
* `Articles about us <http://docs.platformio.org/en/latest/articles.html>`_
|
||||
* `FAQ <http://docs.platformio.org/en/latest/faq.html>`_
|
||||
* `Release Notes <http://docs.platformio.org/en/latest/history.html>`_
|
||||
* `PlatformIO IDE <http://platformio.org/platformio-ide>`_
|
||||
* `PlatformIO Core <http://docs.platformio.org/page/core.html>`_
|
||||
* `PIO Remote™ <http://docs.platformio.org/page/plus/pio-remote.html>`_
|
||||
* `PIO Unified Debugger <http://docs.platformio.org/page/plus/debugging.html>`_
|
||||
* `PIO Unit Testing <http://docs.platformio.org/page/plus/unit-testing.html>`_
|
||||
* `PIO Delivery™ <http://platformio.org/pricing#solution-pio-delivery>`_
|
||||
* `Cloud Builder <http://platformio.org/pricing#solution-cloud-builder>`_
|
||||
|
||||
Use whenever. *Run everywhere.*
|
||||
-------------------------------
|
||||
*PlatformIO* is written in pure *Python* and **doesn't depend** on any
|
||||
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>`_,
|
||||
`CubieBoard <http://cubieboard.org>`_).
|
||||
Registry
|
||||
--------
|
||||
|
||||
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>`_.
|
||||
* `Libraries <http://platformio.org/lib>`_
|
||||
* `Development Platforms <http://platformio.org/platforms>`_
|
||||
* `Frameworks <http://platformio.org/frameworks>`_
|
||||
* `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, 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>`_
|
||||
Solutions
|
||||
---------
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-embedded-development.png
|
||||
:target: http://platformio.org
|
||||
:alt: PlatformIO Embedded Development Process
|
||||
* `Library Manager <http://docs.platformio.org/page/librarymanager/index.html>`_
|
||||
* `Cloud IDEs Integration <http://platformio.org/pricing#solution-cloud-ide>`_
|
||||
* `Standalone IDEs Integration <http://docs.platformio.org/page/ide.html#other-ide>`_
|
||||
* `Continuous Integration <http://docs.platformio.org/page/ci/index.html>`_
|
||||
|
||||
The Missing Library Manager. *It's here!*
|
||||
-----------------------------------------
|
||||
*PlatformIO Library Manager* is the missing library manager for development
|
||||
platforms which allows you to organize and have up-to-date external libraries.
|
||||
Development Platforms
|
||||
---------------------
|
||||
|
||||
* Friendly `Command-Line Interface <http://docs.platformio.org/en/latest/librarymanager/index.html>`_
|
||||
* Modern `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
|
||||
* Open Source `Library Registry API <https://github.com/platformio/platformio-api>`_
|
||||
* Library Crawler based on `library.json <http://docs.platformio.org/en/latest/librarymanager/config.html>`_
|
||||
specification
|
||||
* Library **dependency management**
|
||||
* Automatic library updating
|
||||
* `Atmel AVR <http://platformio.org/platforms/atmelavr>`_
|
||||
* `Atmel SAM <http://platformio.org/platforms/atmelsam>`_
|
||||
* `Espressif 32 <http://platformio.org/platforms/espressif32>`_
|
||||
* `Espressif 8266 <http://platformio.org/platforms/espressif8266>`_
|
||||
* `Freescale Kinetis <http://platformio.org/platforms/freescalekinetis>`_
|
||||
* `Intel ARC32 <http://platformio.org/platforms/intel_arc32>`_
|
||||
* `Lattice iCE40 <http://platformio.org/platforms/lattice_ice40>`_
|
||||
* `Maxim 32 <http://platformio.org/platforms/maxim32>`_
|
||||
* `Microchip PIC32 <http://platformio.org/platforms/microchippic32>`_
|
||||
* `Nordic nRF51 <http://platformio.org/platforms/nordicnrf51>`_
|
||||
* `Nordic nRF52 <http://platformio.org/platforms/nordicnrf52>`_
|
||||
* `NXP LPC <http://platformio.org/platforms/nxplpc>`_
|
||||
* `Silicon Labs EFM32 <http://platformio.org/platforms/siliconlabsefm32>`_
|
||||
* `ST STM32 <http://platformio.org/platforms/ststm32>`_
|
||||
* `Teensy <http://platformio.org/platforms/teensy>`_
|
||||
* `TI MSP430 <http://platformio.org/platforms/timsp430>`_
|
||||
* `TI Tiva <http://platformio.org/platforms/titiva>`_
|
||||
* `WIZNet W7500 <http://platformio.org/platforms/wiznet7500>`_
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-library-manager.png
|
||||
:target: http://platformio.org
|
||||
:alt: PlatformIO Library Manager Architecture
|
||||
Frameworks
|
||||
----------
|
||||
|
||||
Smart Code Builder. *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,
|
||||
cross-platform substitute for the classic *Make* utility.
|
||||
|
||||
* Reliable, automatic *dependency analysis*
|
||||
* Reliable detection of *build changes*
|
||||
* Improved support for *parallel builds*
|
||||
* Ability to share *built files in a cache*
|
||||
* Lookup for external libraries which are installed via `Library Manager <http://docs.platformio.org/en/latest/librarymanager/index.html>`_
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-scons-builder.png
|
||||
:target: http://platformio.org
|
||||
:alt: PlatformIO Code Builder Architecture
|
||||
|
||||
Single source code. *Multiple platforms.*
|
||||
-----------------------------------------
|
||||
*PlatformIO* allows the developer to compile the same code with different
|
||||
development platforms using only *One Command*
|
||||
`platformio run <http://docs.platformio.org/en/latest/userguide/cmd_run.html>`_.
|
||||
This happens due to
|
||||
`Project Configuration File (platformio.ini) <http://docs.platformio.org/en/latest/projectconf.html>`_
|
||||
where you can setup different environments with specific options (platform
|
||||
type, firmware uploading settings, pre-built framework, build flags and many
|
||||
more).
|
||||
|
||||
It has support for the most popular embedded platforms:
|
||||
|
||||
* `Atmel AVR <http://platformio.org/#!/platforms/atmelavr>`_
|
||||
* `Atmel SAM <http://platformio.org/#!/platforms/atmelsam>`_
|
||||
* `Espressif <http://platformio.org/#!/platforms/espressif>`_
|
||||
* `Freescale Kinetis <http://platformio.org/#!/platforms/freescalekinetis>`_
|
||||
* `Nordic nRF51 <http://platformio.org/#!/platforms/nordicnrf51>`_
|
||||
* `NXP LPC <http://platformio.org/#!/platforms/nxplpc>`_
|
||||
* `ST STM32 <http://platformio.org/#!/platforms/ststm32>`_
|
||||
* `Silicon Labs EFM32 <http://platformio.org/#!/platforms/siliconlabsefm32>`_
|
||||
* `Teensy <http://platformio.org/#!/platforms/teensy>`_
|
||||
* `TI MSP430 <http://platformio.org/#!/platforms/timsp430>`_
|
||||
* `TI TIVA C <http://platformio.org/#!/platforms/titiva>`_
|
||||
|
||||
Frameworks:
|
||||
|
||||
* `Arduino <http://platformio.org/#!/frameworks/arduino>`_
|
||||
* `CMSIS <http://platformio.org/#!/frameworks/cmsis>`_
|
||||
* `libOpenCM3 <http://platformio.org/#!/frameworks/libopencm3>`_
|
||||
* `Energia <http://platformio.org/#!/frameworks/energia>`_
|
||||
* `SPL <http://platformio.org/#!/frameworks/spl>`_
|
||||
* `mbed <http://platformio.org/#!/frameworks/mbed>`_
|
||||
* `WiringPi <http://platformio.org/#!/frameworks/wiringpi>`_
|
||||
|
||||
For further details, please refer to `What is PlatformIO? <http://docs.platformio.org/en/latest/faq.html#what-is-platformio>`_
|
||||
* `Arduino <http://platformio.org/frameworks/arduino>`_
|
||||
* `ARTIK SDK <http://platformio.org/frameworks/artik-sdk>`_
|
||||
* `CMSIS <http://platformio.org/frameworks/cmsis>`_
|
||||
* `Energia <http://platformio.org/frameworks/energia>`_
|
||||
* `ESP-IDF <http://platformio.org/frameworks/espidf>`_
|
||||
* `libOpenCM3 <http://platformio.org/frameworks/libopencm3>`_
|
||||
* `mbed <http://platformio.org/frameworks/mbed>`_
|
||||
* `Pumbaa <http://platformio.org/frameworks/pumbaa>`_
|
||||
* `Simba <http://platformio.org/frameworks/simba>`_
|
||||
* `SPL <http://platformio.org/frameworks/spl>`_
|
||||
* `STM32Cube <http://platformio.org/frameworks/stm32cube>`_
|
||||
* `WiringPi <http://platformio.org/frameworks/wiringpi>`_
|
||||
|
||||
Contributing
|
||||
------------
|
||||
|
||||
1. Fork the repository on GitHub.
|
||||
2. Make a branch off of ``develop``
|
||||
3. Run ``pip install tox``
|
||||
4. Go to the root of project where is located ``tox.ini`` and run ``tox -e develop``
|
||||
5. Activate current development environment:
|
||||
See `contributing guidelines <https://github.com/platformio/platformio/blob/develop/CONTRIBUTING.md>`_.
|
||||
|
||||
* Windows: ``.tox\develop\Scripts\activate``
|
||||
* Bash/ZSH: ``source .tox/develop/bin/activate``
|
||||
* Fish: ``source .tox/bin/activate.fish``
|
||||
|
||||
6. Make changes to code, documentation, etc.
|
||||
7. Lint source code ``tox -e lint``
|
||||
8. Run the tests ``tox -e py27``
|
||||
9. Commit changes to your forked repository
|
||||
10. Submit a Pull Request on GitHub.
|
||||
|
||||
Licence
|
||||
License
|
||||
-------
|
||||
|
||||
Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Copyright (c) 2014-present PlatformIO <contact@platformio.org>
|
||||
|
||||
The PlatformIO is licensed under the permissive Apache 2.0 licence,
|
||||
The PlatformIO is licensed under the permissive Apache 2.0 license,
|
||||
so you can use it in both commercial and personal projects with confidence.
|
||||
|
27
appveyor.yml
@ -1,27 +0,0 @@
|
||||
build: off
|
||||
environment:
|
||||
global:
|
||||
WITH_COMPILER: "cmd /E:ON /V:ON /C .\\scripts\\appveyor\\run_with_compiler.cmd"
|
||||
matrix:
|
||||
- TOXENV: "py27"
|
||||
TOXPYTHON: "C:\\Python27-x64\\python.exe"
|
||||
WINDOWS_SDK_VERSION: "v7.0"
|
||||
PYTHON_HOME: "C:\\Python27-x64"
|
||||
PYTHON_VERSION: "2.7"
|
||||
PYTHON_ARCH: "64"
|
||||
|
||||
init:
|
||||
- "ECHO %TOXENV%"
|
||||
- ps: "ls C:\\Python*"
|
||||
|
||||
install:
|
||||
- "git submodule update --init --recursive"
|
||||
- "powershell scripts\\appveyor\\install.ps1"
|
||||
|
||||
before_test:
|
||||
- cmd: SET PATH=%PATH%;C:\MinGW\bin
|
||||
|
||||
test_script:
|
||||
- "%PYTHON_HOME%\\Scripts\\tox --version"
|
||||
- "%PYTHON_HOME%\\Scripts\\pip --version"
|
||||
- "%WITH_COMPILER% %PYTHON_HOME%\\Scripts\\tox"
|
16
circle.yml
@ -1,16 +0,0 @@
|
||||
machine:
|
||||
python:
|
||||
version: 2.7
|
||||
|
||||
checkout:
|
||||
post:
|
||||
- git submodule update --init
|
||||
- pip install -U pip setuptools virtualenv
|
||||
|
||||
dependencies:
|
||||
pre:
|
||||
- pip install tox
|
||||
|
||||
test:
|
||||
override:
|
||||
- tox -e py27
|
1
docs
Submodule
177
docs/Makefile
@ -1,177 +0,0 @@
|
||||
# Makefile for Sphinx documentation
|
||||
#
|
||||
|
||||
# You can set these variables from the command line.
|
||||
SPHINXOPTS =
|
||||
SPHINXBUILD = sphinx-build
|
||||
PAPER =
|
||||
BUILDDIR = _build
|
||||
|
||||
# User-friendly check for sphinx-build
|
||||
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
|
||||
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
|
||||
endif
|
||||
|
||||
# Internal variables.
|
||||
PAPEROPT_a4 = -D latex_paper_size=a4
|
||||
PAPEROPT_letter = -D latex_paper_size=letter
|
||||
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||
# the i18n builder cannot share the environment and doctrees with the others
|
||||
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||
|
||||
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
|
||||
|
||||
help:
|
||||
@echo "Please use \`make <target>' where <target> is one of"
|
||||
@echo " html to make standalone HTML files"
|
||||
@echo " dirhtml to make HTML files named index.html in directories"
|
||||
@echo " singlehtml to make a single large HTML file"
|
||||
@echo " pickle to make pickle files"
|
||||
@echo " json to make JSON files"
|
||||
@echo " htmlhelp to make HTML files and a HTML help project"
|
||||
@echo " qthelp to make HTML files and a qthelp project"
|
||||
@echo " devhelp to make HTML files and a Devhelp project"
|
||||
@echo " epub to make an epub"
|
||||
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
|
||||
@echo " latexpdf to make LaTeX files and run them through pdflatex"
|
||||
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
|
||||
@echo " text to make text files"
|
||||
@echo " man to make manual pages"
|
||||
@echo " texinfo to make Texinfo files"
|
||||
@echo " info to make Texinfo files and run them through makeinfo"
|
||||
@echo " gettext to make PO message catalogs"
|
||||
@echo " changes to make an overview of all changed/added/deprecated items"
|
||||
@echo " xml to make Docutils-native XML files"
|
||||
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
|
||||
@echo " linkcheck to check all external links for integrity"
|
||||
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILDDIR)/*
|
||||
|
||||
html:
|
||||
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
||||
|
||||
dirhtml:
|
||||
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
||||
|
||||
singlehtml:
|
||||
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
|
||||
@echo
|
||||
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
|
||||
|
||||
pickle:
|
||||
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
||||
@echo
|
||||
@echo "Build finished; now you can process the pickle files."
|
||||
|
||||
json:
|
||||
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
|
||||
@echo
|
||||
@echo "Build finished; now you can process the JSON files."
|
||||
|
||||
htmlhelp:
|
||||
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
||||
".hhp project file in $(BUILDDIR)/htmlhelp."
|
||||
|
||||
qthelp:
|
||||
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
||||
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
|
||||
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/PlatformIO.qhcp"
|
||||
@echo "To view the help file:"
|
||||
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PlatformIO.qhc"
|
||||
|
||||
devhelp:
|
||||
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
|
||||
@echo
|
||||
@echo "Build finished."
|
||||
@echo "To view the help file:"
|
||||
@echo "# mkdir -p $$HOME/.local/share/devhelp/PlatformIO"
|
||||
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/PlatformIO"
|
||||
@echo "# devhelp"
|
||||
|
||||
epub:
|
||||
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
|
||||
@echo
|
||||
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
|
||||
|
||||
latex:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo
|
||||
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
|
||||
@echo "Run \`make' in that directory to run these through (pdf)latex" \
|
||||
"(use \`make latexpdf' here to do that automatically)."
|
||||
|
||||
latexpdf:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo "Running LaTeX files through pdflatex..."
|
||||
$(MAKE) -C $(BUILDDIR)/latex all-pdf
|
||||
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||
|
||||
latexpdfja:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo "Running LaTeX files through platex and dvipdfmx..."
|
||||
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
|
||||
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||
|
||||
text:
|
||||
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
||||
@echo
|
||||
@echo "Build finished. The text files are in $(BUILDDIR)/text."
|
||||
|
||||
man:
|
||||
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
|
||||
@echo
|
||||
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
|
||||
|
||||
texinfo:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||
@echo
|
||||
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
|
||||
@echo "Run \`make' in that directory to run these through makeinfo" \
|
||||
"(use \`make info' here to do that automatically)."
|
||||
|
||||
info:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||
@echo "Running Texinfo files through makeinfo..."
|
||||
make -C $(BUILDDIR)/texinfo info
|
||||
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
|
||||
|
||||
gettext:
|
||||
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
|
||||
@echo
|
||||
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
|
||||
|
||||
changes:
|
||||
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
|
||||
@echo
|
||||
@echo "The overview file is in $(BUILDDIR)/changes."
|
||||
|
||||
linkcheck:
|
||||
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
|
||||
@echo
|
||||
@echo "Link check complete; look for any errors in the above output " \
|
||||
"or in $(BUILDDIR)/linkcheck/output.txt."
|
||||
|
||||
doctest:
|
||||
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
||||
@echo "Testing of doctests in the sources finished, look at the " \
|
||||
"results in $(BUILDDIR)/doctest/output.txt."
|
||||
|
||||
xml:
|
||||
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
|
||||
@echo
|
||||
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
|
||||
|
||||
pseudoxml:
|
||||
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
|
||||
@echo
|
||||
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
|
BIN
docs/_static/ci-travis-logo.png
vendored
Before Width: | Height: | Size: 20 KiB |
BIN
docs/_static/droneci-platformio-integration-1.png
vendored
Before Width: | Height: | Size: 22 KiB |
BIN
docs/_static/droneci-platformio-integration-2.png
vendored
Before Width: | Height: | Size: 41 KiB |
278
docs/_static/extra.css
vendored
@ -1,278 +0,0 @@
|
||||
/**
|
||||
* Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
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: 100px;
|
||||
}
|
||||
.wy-nav-side {
|
||||
top: 100px;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 970px;
|
||||
}
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
.container {
|
||||
width: 1170px;
|
||||
}
|
||||
}
|
||||
.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 */
|
||||
|
||||
.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
Before Width: | Height: | Size: 31 KiB |
BIN
docs/_static/ide-atom-platformio-menu-item.png
vendored
Before Width: | Height: | Size: 152 KiB |
BIN
docs/_static/ide-atom-platformio.png
vendored
Before Width: | Height: | Size: 619 KiB |
BIN
docs/_static/ide-platformio-arduino.png
vendored
Before Width: | Height: | Size: 108 KiB |
BIN
docs/_static/ide-platformio-atom-1.gif
vendored
Before Width: | Height: | Size: 237 KiB |
BIN
docs/_static/ide-platformio-atom-2.gif
vendored
Before Width: | Height: | Size: 157 KiB |
BIN
docs/_static/ide-platformio-clion.png
vendored
Before Width: | Height: | Size: 297 KiB |
BIN
docs/_static/ide-platformio-eclipse.png
vendored
Before Width: | Height: | Size: 341 KiB |
BIN
docs/_static/ide-platformio-emacs.png
vendored
Before Width: | Height: | Size: 753 KiB |
BIN
docs/_static/ide-platformio-energia.png
vendored
Before Width: | Height: | Size: 112 KiB |
BIN
docs/_static/ide-platformio-qtcreator-1.png
vendored
Before Width: | Height: | Size: 74 KiB |
BIN
docs/_static/ide-platformio-qtcreator-2.png
vendored
Before Width: | Height: | Size: 70 KiB |
BIN
docs/_static/ide-platformio-qtcreator-3.png
vendored
Before Width: | Height: | Size: 192 KiB |
BIN
docs/_static/ide-platformio-qtcreator-4.png
vendored
Before Width: | Height: | Size: 66 KiB |
BIN
docs/_static/ide-platformio-qtcreator-5.png
vendored
Before Width: | Height: | Size: 70 KiB |
BIN
docs/_static/ide-platformio-qtcreator-6.png
vendored
Before Width: | Height: | Size: 70 KiB |
BIN
docs/_static/ide-platformio-qtcreator-7.png
vendored
Before Width: | Height: | Size: 100 KiB |
BIN
docs/_static/ide-platformio-vim.png
vendored
Before Width: | Height: | Size: 109 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 42 KiB |
BIN
docs/_static/ide-vs-platformio-newproject-2-1.png
vendored
Before Width: | Height: | Size: 17 KiB |
BIN
docs/_static/ide-vs-platformio-newproject-2.png
vendored
Before Width: | Height: | Size: 16 KiB |
BIN
docs/_static/ide-vs-platformio-newproject-3.png
vendored
Before Width: | Height: | Size: 18 KiB |
BIN
docs/_static/ide-vs-platformio-newproject-4.png
vendored
Before Width: | Height: | Size: 19 KiB |
BIN
docs/_static/ide-vs-platformio-newproject-5.png
vendored
Before Width: | Height: | Size: 23 KiB |
BIN
docs/_static/ide-vs-platformio-newproject-6.png
vendored
Before Width: | Height: | Size: 20 KiB |
BIN
docs/_static/ide-vs-platformio-newproject-7.png
vendored
Before Width: | Height: | Size: 20 KiB |
BIN
docs/_static/ide-vs-platformio-newproject-8.png
vendored
Before Width: | Height: | Size: 82 KiB |
BIN
docs/_static/ide-vs-platformio-newproject.png
vendored
Before Width: | Height: | Size: 30 KiB |
BIN
docs/_static/platformio-demo-lib.gif
vendored
Before Width: | Height: | Size: 2.4 MiB |
BIN
docs/_static/platformio-demo-ota-esp8266.jpg
vendored
Before Width: | Height: | Size: 88 KiB |
BIN
docs/_static/platformio-demo-platforms.gif
vendored
Before Width: | Height: | Size: 569 KiB |
BIN
docs/_static/platformio-demo-wiring.gif
vendored
Before Width: | Height: | Size: 2.0 MiB |
BIN
docs/_static/platformio-logo.png
vendored
Before Width: | Height: | Size: 28 KiB |
56
docs/_templates/footer.html
vendored
@ -1,56 +0,0 @@
|
||||
{% 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">
|
||||
<div class="container container-fluid">
|
||||
<div class="navbar-header">
|
||||
<a class="navbar-brand" href="http://platformio.org/"></i> PlatformIO</a>
|
||||
</div>
|
||||
|
||||
<nav role="navigation">
|
||||
<div>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="http://platformio.org/#!/get-started"><i class="fa fa-rocket fa-lg"></i>Get Started</a></li>
|
||||
<li><a href="http://platformio.org/#!/platforms"><i class="fa fa-laptop fa-lg"></i>Platforms</a></li>
|
||||
<li><a href="http://platformio.org/#!/frameworks"><i class="fa fa-cogs fa-lg"></i>Frameworks</a></li>
|
||||
<li><a href="http://platformio.org/#!/boards"><i class="fa fa-gamepad fa-lg"></i>Boards</a></li>
|
||||
<li ><a href="http://platformio.org/#!/lib"><i class="fa fa-code fa-lg"></i>Libraries</a></li>
|
||||
</ul>
|
||||
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li><a href="http://platformio.org/#!/who-uses"><i class="fa fa-heart-o fa-lg"></i>Who uses</a></li>
|
||||
<li class="active"><a href="http://docs.platformio.org/"><i class="fa fa-book fa-lg"></i>Docs</a></li>
|
||||
</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,71 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _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>`_.
|
||||
|
||||
Here are recent articles about PlatformIO:
|
||||
|
||||
2016
|
||||
^^^^
|
||||
|
||||
* 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>`_
|
||||
* 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/>`_
|
||||
* February 25, 2015 - **Hendrik Putzek** - `Use your favourite IDE together with Arduino <http://blog.putzek.com/2015/02/your-favourite-ide-with-arduino.html>`_
|
||||
|
||||
2014
|
||||
^^^^
|
||||
|
||||
* October 7, 2014 - **Ivan Kravets, Ph.D.** - `Integration of PlatformIO library manager to Arduino and Energia IDEs <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_
|
||||
* June 20, 2014 - **Ivan Kravets, Ph.D.** - `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO <http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio>`_
|
||||
* June 17, 2014 - **Ivan Kravets, Ph.D.** - `How was PlatformIO born or why I love Python World <http://www.ikravets.com/computer-life/programming/2014/06/17/how-was-platformio-born-or-why-i-love-python-world>`_
|
@ -1,213 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ci_appveyor:
|
||||
|
||||
AppVeyor
|
||||
========
|
||||
|
||||
`AppVeyor <http://www.appveyor.com/about>`_ is an open-source hosted,
|
||||
distributed continuous integration service used to build and test projects
|
||||
hosted at `GitHub <http://en.wikipedia.org/wiki/GitHub>`_ on Windows family
|
||||
systems.
|
||||
|
||||
AppVeyor is configured by adding a file named ``appveyor.yml``, which is a
|
||||
`YAML <http://en.wikipedia.org/wiki/YAML>`_ format text file, to the root
|
||||
directory of the GitHub repository.
|
||||
|
||||
AppVeyor automatically detects when a commit has been made and pushed to a
|
||||
GitHub repository that is using AppVeyor, and each time this happens, it will
|
||||
try to build the project using :ref:`cmd_ci` command. This includes commits to
|
||||
all branches, not just to the master branch. AppVeyor will also build and run
|
||||
pull requests. When that process has completed, it will notify a developer in
|
||||
the way it has been configured to do so — for example, by sending an email
|
||||
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 ``appveyor.yml`` to the root directory of the GitHub repository.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
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'
|
||||
|
||||
|
||||
Then create ``scripts/appveyor`` folder and put these 2 scripts (they are the
|
||||
same for the all projects, don't need to modify them):
|
||||
|
||||
1. ``scripts/appveyor/install.ps1``:
|
||||
|
||||
.. code-block:: PowerShell
|
||||
|
||||
$BASE_URL = "https://www.python.org/ftp/python/"
|
||||
$GET_PIP_URL = "https://bootstrap.pypa.io/get-pip.py"
|
||||
$GET_PIP_PATH = "C:\get-pip.py"
|
||||
|
||||
|
||||
function DownloadPython ($python_version, $platform_suffix) {
|
||||
$webclient = New-Object System.Net.WebClient
|
||||
$filename = "python-" + $python_version + $platform_suffix + ".msi"
|
||||
$url = $BASE_URL + $python_version + "/" + $filename
|
||||
|
||||
$basedir = $pwd.Path + "\"
|
||||
$filepath = $basedir + $filename
|
||||
if (Test-Path $filename) {
|
||||
Write-Host "Reusing" $filepath
|
||||
return $filepath
|
||||
}
|
||||
|
||||
# Download and retry up to 5 times in case of network transient errors.
|
||||
Write-Host "Downloading" $filename "from" $url
|
||||
$retry_attempts = 3
|
||||
for($i=0; $i -lt $retry_attempts; $i++){
|
||||
try {
|
||||
$webclient.DownloadFile($url, $filepath)
|
||||
break
|
||||
}
|
||||
Catch [Exception]{
|
||||
Start-Sleep 1
|
||||
}
|
||||
}
|
||||
Write-Host "File saved at" $filepath
|
||||
return $filepath
|
||||
}
|
||||
|
||||
|
||||
function InstallPython ($python_version, $architecture, $python_home) {
|
||||
Write-Host "Installing Python" $python_version "for" $architecture "bit architecture to" $python_home
|
||||
if (Test-Path $python_home) {
|
||||
Write-Host $python_home "already exists, skipping."
|
||||
return $false
|
||||
}
|
||||
if ($architecture -eq "32") {
|
||||
$platform_suffix = ""
|
||||
} else {
|
||||
$platform_suffix = ".amd64"
|
||||
}
|
||||
$filepath = DownloadPython $python_version $platform_suffix
|
||||
Write-Host "Installing" $filepath "to" $python_home
|
||||
$args = "/qn /i $filepath TARGETDIR=$python_home"
|
||||
Write-Host "msiexec.exe" $args
|
||||
Start-Process -FilePath "msiexec.exe" -ArgumentList $args -Wait -Passthru
|
||||
Write-Host "Python $python_version ($architecture) installation complete"
|
||||
return $true
|
||||
}
|
||||
|
||||
|
||||
function InstallPip ($python_home) {
|
||||
$python_path = $python_home + "/python.exe"
|
||||
Write-Host "Installing pip..."
|
||||
$webclient = New-Object System.Net.WebClient
|
||||
$webclient.DownloadFile($GET_PIP_URL, $GET_PIP_PATH)
|
||||
Write-Host "Executing:" $python_path $GET_PIP_PATH
|
||||
Start-Process -FilePath "$python_path" -ArgumentList "$GET_PIP_PATH" -Wait -Passthru
|
||||
}
|
||||
|
||||
function InstallPackage ($python_home, $pkg) {
|
||||
$pip_path = $python_home + "/Scripts/pip.exe"
|
||||
& $pip_path install -U $pkg
|
||||
}
|
||||
|
||||
function main () {
|
||||
InstallPython $env:PYTHON_VERSION $env:PYTHON_ARCH $env:PYTHON_HOME
|
||||
InstallPip $env:PYTHON_HOME
|
||||
InstallPackage $env:PYTHON_HOME setuptools
|
||||
InstallPackage $env:PYTHON_HOME platformio
|
||||
}
|
||||
|
||||
main
|
||||
|
||||
2. ``scripts/appveyor/run_with_compiler.cmd``:
|
||||
|
||||
.. code-block:: guess
|
||||
|
||||
@ECHO OFF
|
||||
|
||||
SET COMMAND_TO_RUN=%*
|
||||
SET WIN_SDK_ROOT=C:\Program Files\Microsoft SDKs\Windows
|
||||
|
||||
SET MAJOR_PYTHON_VERSION="%PYTHON_VERSION:~0,1%"
|
||||
IF %MAJOR_PYTHON_VERSION% == "2" (
|
||||
SET WINDOWS_SDK_VERSION="v7.0"
|
||||
) ELSE IF %MAJOR_PYTHON_VERSION% == "3" (
|
||||
SET WINDOWS_SDK_VERSION="v7.1"
|
||||
) ELSE (
|
||||
ECHO Unsupported Python version: "%MAJOR_PYTHON_VERSION%"
|
||||
EXIT 1
|
||||
)
|
||||
|
||||
IF "%PYTHON_ARCH%"=="64" (
|
||||
ECHO Configuring Windows SDK %WINDOWS_SDK_VERSION% for Python %MAJOR_PYTHON_VERSION% on a 64 bit architecture
|
||||
SET DISTUTILS_USE_SDK=1
|
||||
SET MSSdk=1
|
||||
"%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Setup\WindowsSdkVer.exe" -q -version:%WINDOWS_SDK_VERSION%
|
||||
"%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Bin\SetEnv.cmd" /x64 /release
|
||||
ECHO Executing: %COMMAND_TO_RUN%
|
||||
call %COMMAND_TO_RUN% || EXIT 1
|
||||
) ELSE (
|
||||
ECHO Using default MSVC build environment for 32 bit architecture
|
||||
ECHO Executing: %COMMAND_TO_RUN%
|
||||
call %COMMAND_TO_RUN% || EXIT 1
|
||||
)
|
||||
|
||||
For more details as for PlatformIO build process please look into :ref:`cmd_ci`
|
||||
command.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
1. Integration for `USB_Host_Shield_2.0 <https://github.com/felis/USB_Host_Shield_2.0>`_
|
||||
project. The ``appveyor.yml`` configuration file:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
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'
|
@ -1,205 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ci_circleci:
|
||||
|
||||
Circle CI
|
||||
=========
|
||||
|
||||
`Circle CI <https://circleci.com/about>`_ is a hosted cloud
|
||||
platform that provides hosted continuous integration, deployment, and testing
|
||||
to `GitHub <http://en.wikipedia.org/wiki/GitHub>`_ repositories.
|
||||
|
||||
Circle CI is configured by adding a file named ``circle.yml``, which is a
|
||||
`YAML <http://en.wikipedia.org/wiki/YAML>`_ format text file, to the root
|
||||
directory of the GitHub repository.
|
||||
|
||||
Circle CI automatically detects when a commit has been made and pushed to a
|
||||
GitHub repository that is using Circle CI, and each time this happens, it will
|
||||
try to build the project using :ref:`cmd_ci` command. This includes commits to
|
||||
all branches, not just to the master branch. Circle CI will also build and run
|
||||
pull requests. When that process has completed, it will notify a developer in
|
||||
the way it has been configured to do so — for example, by sending an email
|
||||
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 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_BUILD_FLAGS: -D SPECIFIC_MACROS -I/extra/inc
|
||||
|
||||
|
||||
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 path/to/test/file.c --project-conf=/path/to/platoformio.ini
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
1. Custom build flags
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
dependencies:
|
||||
cache_directories:
|
||||
- "~/.platformio"
|
||||
|
||||
pre:
|
||||
- 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 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,83 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ci_drone:
|
||||
|
||||
Drone
|
||||
=====
|
||||
|
||||
`Drone <https://drone.io>`_ is a hosted continuous integration service.
|
||||
It enables you to conveniently set up projects to automatically build, test,
|
||||
and deploy as you make changes to your code to
|
||||
`GitHub <http://en.wikipedia.org/wiki/GitHub>`_ and
|
||||
`BitBucket <http://en.wikipedia.org/wiki/Bitbucket>`_ repositories.
|
||||
|
||||
Drone is configured by modifying settings in your project control panel.
|
||||
|
||||
Drone automatically detects when a commit has been made and pushed to a
|
||||
GitHub repository that is using Drone, and each time this happens, it will
|
||||
try to build the project using :ref:`cmd_ci` command. This includes commits to
|
||||
all branches, not just to the master branch. Drone will also build and run
|
||||
pull requests. When that process has completed, it will notify a developer in
|
||||
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
|
||||
-----------
|
||||
|
||||
Please fill all fields for your project in the Drone control panel:
|
||||
|
||||
`Environment Variables`:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
PLATFORMIO_CI_SRC=path/to/source/file.c
|
||||
PLATFORMIO_CI_SRC=path/to/source/file.ino
|
||||
PLATFORMIO_CI_SRC=path/to/source/directory
|
||||
|
||||
`Commands`:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip install -U platformio
|
||||
platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||
|
||||
.. image:: ../_static/droneci-platformio-integration-1.png
|
||||
|
||||
For more details as for PlatformIO build process please look into :ref:`cmd_ci`
|
||||
command.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
1. Integration for `USB_Host_Shield_2.0 <https://github.com/felis/USB_Host_Shield_2.0>`_
|
||||
project. The ``circle.yml`` configuration file:
|
||||
|
||||
`Environment Variables`:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
PLATFORMIO_CI_SRC=examples/Bluetooth/PS3SPP/PS3SPP.ino
|
||||
PLATFORMIO_CI_SRC=examples/pl2303/pl2303_gps/pl2303_gps.ino
|
||||
|
||||
`Commands`:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
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
|
||||
|
||||
.. image:: ../_static/droneci-platformio-integration-2.png
|
@ -1,35 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ci:
|
||||
|
||||
Continuous Integration
|
||||
======================
|
||||
|
||||
`Continuous Integration (CI, wiki) <http://en.wikipedia.org/wiki/Continuous_integration>`_
|
||||
is the practice, in software engineering, of merging all developer working
|
||||
copies with a shared mainline several times a day.
|
||||
|
||||
:ref:`cmd_ci` command is intended to be used in combination with the build
|
||||
servers and the popular
|
||||
`Continuous Integration Software <http://en.wikipedia.org/wiki/Comparison_of_continuous_integration_software>`_.
|
||||
|
||||
By integrating regularly, you can detect errors quickly, and locate them more
|
||||
easily.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
appveyor
|
||||
circleci
|
||||
drone
|
||||
shippable
|
||||
travis
|
@ -1,89 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ci_shippable:
|
||||
|
||||
Shippable
|
||||
=========
|
||||
|
||||
`Shippable <http://en.wikipedia.org/wiki/Shippable>`_ is a hosted cloud
|
||||
platform that provides hosted continuous integration, deployment, and testing
|
||||
to `GitHub <http://en.wikipedia.org/wiki/GitHub>`_ and
|
||||
`BitBucket <http://en.wikipedia.org/wiki/Bitbucket>`_ repositories.
|
||||
Shippable's continuous integration service is built using Docker.
|
||||
|
||||
Shippable is configured by adding a file named ``shippable.yml``, which is a
|
||||
`YAML <http://en.wikipedia.org/wiki/YAML>`_ format text file, to the root
|
||||
directory of the GitHub repository or you can use your Travis CI configuration
|
||||
file ``.travis.yml``.
|
||||
|
||||
Shippable automatically detects when a commit has been made and pushed to a
|
||||
GitHub repository that is using Shippable, and each time this happens, it will
|
||||
try to build the project using :ref:`cmd_ci` command. This includes commits to
|
||||
all branches, not just to the master branch. Shippable will also build and run
|
||||
pull requests. When that process has completed, it will notify a developer in
|
||||
the way it has been configured to do so — for example, by sending an email
|
||||
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 ``shippable.yml`` or ``.travis.yml`` to the root directory of the
|
||||
GitHub repository.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
language: python
|
||||
python:
|
||||
- "2.7"
|
||||
|
||||
env:
|
||||
- PLATFORMIO_CI_SRC=path/to/source/file.c
|
||||
- PLATFORMIO_CI_SRC=path/to/source/file.ino
|
||||
- PLATFORMIO_CI_SRC=path/to/source/directory
|
||||
|
||||
install:
|
||||
- pip install -U platformio
|
||||
|
||||
script:
|
||||
- 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.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
1. Integration for `USB_Host_Shield_2.0 <https://github.com/felis/USB_Host_Shield_2.0>`_
|
||||
project. The ``shippable.yml`` or ``.travis.yml`` configuration file:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
language: python
|
||||
python:
|
||||
- "2.7"
|
||||
|
||||
env:
|
||||
- PLATFORMIO_CI_SRC=examples/Bluetooth/PS3SPP/PS3SPP.ino
|
||||
- PLATFORMIO_CI_SRC=examples/pl2303/pl2303_gps/pl2303_gps.ino
|
||||
|
||||
install:
|
||||
- pip install -U platformio
|
||||
- wget https://github.com/xxxajk/spi4teensy3/archive/master.zip -O /tmp/spi4teensy3.zip
|
||||
- unzip /tmp/spi4teensy3.zip -d /tmp
|
||||
|
||||
script:
|
||||
- platformio ci --lib="." --lib="/tmp/spi4teensy3-master" --board=uno --board=teensy31 --board=due
|
@ -1,270 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _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>`_.
|
||||
|
||||
Travis CI is configured by adding a file named ``.travis.yml``, which is a
|
||||
`YAML <http://en.wikipedia.org/wiki/YAML>`_ format text file, to the root
|
||||
directory of the GitHub repository.
|
||||
|
||||
Travis CI automatically detects when a commit has been made and pushed to a
|
||||
GitHub repository that is using Travis CI, and each time this happens, it will
|
||||
try to build the project using :ref:`cmd_ci` command. This includes commits to
|
||||
all branches, not just to the master branch. Travis CI will also build and run
|
||||
pull requests. When that process has completed, it will notify a developer in
|
||||
the way it has been configured to do so — for example, by sending an email
|
||||
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 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
|
||||
|
||||
language: python
|
||||
python:
|
||||
- "2.7"
|
||||
|
||||
# Cache PlatformIO packages using Travis CI container-based infrastructure
|
||||
sudo: false
|
||||
cache:
|
||||
directories:
|
||||
- "~/.platformio"
|
||||
|
||||
env:
|
||||
- PLATFORMIO_CI_SRC=path/to/test/file.c
|
||||
- PLATFORMIO_CI_SRC=examples/file.ino
|
||||
- PLATFORMIO_CI_SRC=path/to/test/directory
|
||||
|
||||
install:
|
||||
- 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/
|
||||
|
||||
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
|
||||
|
||||
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. Custom build flags
|
||||
|
||||
.. 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/acm/acm_terminal
|
||||
- PLATFORMIO_CI_SRC=examples/Bluetooth/WiiIRCamera PLATFORMIO_BUILD_FLAGS="-DWIICAMERA"
|
||||
- PLATFORMIO_CI_SRC=examples/ftdi/USBFTDILoopback
|
||||
- PLATFORMIO_CI_SRC=examples/Xbox/XBOXUSB
|
||||
# - ...
|
||||
|
||||
install:
|
||||
- pip install -U platformio
|
||||
|
||||
#
|
||||
# Libraries from PlatformIO Library Registry:
|
||||
#
|
||||
# http://platformio.org/#!/lib/show/416/TinyGPS
|
||||
# http://platformio.org/#!/lib/show/417/SPI4Teensy3
|
||||
- platformio lib install 416 417
|
||||
|
||||
script:
|
||||
- platformio ci --board=uno --board=teensy31 --board=due --lib="."
|
||||
|
||||
* Configuration file: https://github.com/felis/USB_Host_Shield_2.0/blob/master/.travis.yml
|
||||
* Build History: https://travis-ci.org/felis/USB_Host_Shield_2.0
|
||||
|
||||
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_BOARDS_ARGS="--board=due"
|
||||
- PLATFORMIO_CI_SRC=examples/TimeGPS
|
||||
- PLATFORMIO_CI_SRC=examples/TimeNTP
|
||||
- PLATFORMIO_CI_SRC=examples/TimeTeensy3 PLATFORMIO_CI_BOARDS_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:
|
||||
- if [[ $PLATFORMIO_CI_BOARDS_ARGS ]]; then bash -c 'platformio ci --lib="." $PLATFORMIO_CI_BOARDS_ARGS'; else bash -c 'platformio ci --lib="." --board=uno --board=teensy20pp'; fi
|
||||
|
||||
* Configuration file: https://github.com/ivankravets/Time/blob/master/.travis.yml
|
||||
* Build History: https://travis-ci.org/ivankravets/Time
|
278
docs/conf.py
@ -1,278 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# PlatformIO documentation build configuration file, created by
|
||||
# sphinx-quickstart on Sun Aug 3 19:13:49 2014.
|
||||
#
|
||||
# This file is execfile()d with the current directory set to its
|
||||
# containing dir.
|
||||
#
|
||||
# Note that not all possible configuration values are present in this
|
||||
# autogenerated file.
|
||||
#
|
||||
# All configuration values have a default; values that are commented out
|
||||
# serve to show the default.
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
sys.path.insert(0, os.path.abspath(os.pardir))
|
||||
|
||||
# -- General configuration ------------------------------------------------
|
||||
|
||||
# If your documentation needs a minimal Sphinx version, state it here.
|
||||
#needs_sphinx = '1.0'
|
||||
|
||||
# Add any Sphinx extension module names here, as strings. They can be
|
||||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||||
# ones.
|
||||
extensions = []
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
||||
# The suffix of source filenames.
|
||||
source_suffix = '.rst'
|
||||
|
||||
# The encoding of source files.
|
||||
#source_encoding = 'utf-8-sig'
|
||||
|
||||
# The master toctree document.
|
||||
master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = u'PlatformIO'
|
||||
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
|
||||
# built documents.
|
||||
#
|
||||
import platformio
|
||||
# The short X.Y version.
|
||||
version = '.'.join(map(str, platformio.VERSION[0:2]))
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = platformio.__version__
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
#language = None
|
||||
|
||||
# There are two options for replacing |today|: either, you set today to some
|
||||
# non-false value, then it is used:
|
||||
#today = ''
|
||||
# Else, today_fmt is used as the format for a strftime call.
|
||||
#today_fmt = '%B %d, %Y'
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
exclude_patterns = ['_build', '**/*_extra.rst']
|
||||
|
||||
# The reST default role (used for this markup: `text`) to use for all
|
||||
# documents.
|
||||
#default_role = None
|
||||
|
||||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||
#add_function_parentheses = True
|
||||
|
||||
# If true, the current module name will be prepended to all description
|
||||
# unit titles (such as .. function::).
|
||||
#add_module_names = True
|
||||
|
||||
# If true, sectionauthor and moduleauthor directives will be shown in the
|
||||
# output. They are ignored by default.
|
||||
#show_authors = False
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = 'sphinx'
|
||||
|
||||
# A list of ignored prefixes for module index sorting.
|
||||
#modindex_common_prefix = []
|
||||
|
||||
# If true, keep warnings as "system message" paragraphs in the built documents.
|
||||
#keep_warnings = False
|
||||
|
||||
|
||||
# -- Options for HTML output ----------------------------------------------
|
||||
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
html_theme = 'default'
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
#html_theme_options = {}
|
||||
|
||||
# Add any paths that contain custom themes here, relative to this directory.
|
||||
#html_theme_path = []
|
||||
|
||||
# The name for this set of Sphinx documents. If None, it defaults to
|
||||
# "<project> v<release> documentation".
|
||||
#html_title = None
|
||||
|
||||
# A shorter title for the navigation bar. Default is the same as html_title.
|
||||
#html_short_title = None
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top
|
||||
# of the sidebar.
|
||||
#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 = '_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,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
html_static_path = ['_static']
|
||||
|
||||
# Add any extra paths that contain custom files (such as robots.txt or
|
||||
# .htaccess) here, relative to this directory. These files are copied
|
||||
# directly to the root of the documentation.
|
||||
#html_extra_path = []
|
||||
|
||||
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||
# using the given strftime format.
|
||||
#html_last_updated_fmt = '%b %d, %Y'
|
||||
|
||||
# If true, SmartyPants will be used to convert quotes and dashes to
|
||||
# typographically correct entities.
|
||||
#html_use_smartypants = True
|
||||
|
||||
# Custom sidebar templates, maps document names to template names.
|
||||
#html_sidebars = {}
|
||||
|
||||
# Additional templates that should be rendered to pages, maps page names to
|
||||
# template names.
|
||||
#html_additional_pages = {}
|
||||
|
||||
# If false, no module index is generated.
|
||||
#html_domain_indices = True
|
||||
|
||||
# If false, no index is generated.
|
||||
#html_use_index = True
|
||||
|
||||
# If true, the index is split into individual pages for each letter.
|
||||
#html_split_index = False
|
||||
|
||||
# If true, links to the reST sources are added to the pages.
|
||||
#html_show_sourcelink = True
|
||||
|
||||
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
||||
#html_show_sphinx = True
|
||||
|
||||
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
||||
#html_show_copyright = True
|
||||
|
||||
# If true, an OpenSearch description file will be output, and all pages will
|
||||
# contain a <link> tag referring to it. The value of this option must be the
|
||||
# base URL from which the finished HTML is served.
|
||||
#html_use_opensearch = ''
|
||||
|
||||
# This is the file name suffix for HTML files (e.g. ".xhtml").
|
||||
#html_file_suffix = None
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'PlatformIOdoc'
|
||||
|
||||
|
||||
# -- Options for LaTeX output ---------------------------------------------
|
||||
|
||||
latex_elements = {
|
||||
# The paper size ('letterpaper' or 'a4paper').
|
||||
#'papersize': 'letterpaper',
|
||||
|
||||
# The font size ('10pt', '11pt' or '12pt').
|
||||
#'pointsize': '10pt',
|
||||
|
||||
# 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'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
# the title page.
|
||||
#latex_logo = None
|
||||
|
||||
# For "manual" documents, if this is true, then toplevel headings are parts,
|
||||
# not chapters.
|
||||
#latex_use_parts = False
|
||||
|
||||
# If true, show page references after internal links.
|
||||
#latex_show_pagerefs = False
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#latex_show_urls = False
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#latex_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#latex_domain_indices = True
|
||||
|
||||
|
||||
# -- Options for manual page output ---------------------------------------
|
||||
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
('index', 'platformio', u'PlatformIO Documentation',
|
||||
[u'Ivan Kravets'], 1)
|
||||
]
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#man_show_urls = False
|
||||
|
||||
|
||||
# -- Options for Texinfo output -------------------------------------------
|
||||
|
||||
# Grouping the document tree into Texinfo files. List of tuples
|
||||
# (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'),
|
||||
]
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#texinfo_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#texinfo_domain_indices = True
|
||||
|
||||
# How to display URL addresses: 'footnote', 'no', or 'inline'.
|
||||
#texinfo_show_urls = 'footnote'
|
||||
|
||||
# If true, do not generate a @detailmenu in the "Top" node's menu.
|
||||
#texinfo_no_detailmenu = False
|
||||
|
||||
|
||||
# Example configuration for intersphinx: refer to the Python standard library.
|
||||
#intersphinx_mapping = {'http://docs.python.org/': None}
|
||||
|
||||
# Read the Docs Sphinx Theme patch
|
||||
# on_rtd is whether we are on readthedocs.org,
|
||||
# this line of code grabbed from docs.readthedocs.org
|
||||
on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
|
||||
if not on_rtd: # only import and set the theme if we're building docs locally
|
||||
import sphinx_rtd_theme
|
||||
html_theme = 'sphinx_rtd_theme'
|
||||
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
|
||||
|
||||
# A timeout value, in seconds, for the linkcheck builder
|
||||
# http://sphinx-doc.org/config.html#confval-linkcheck_timeout
|
||||
linkcheck_timeout = 10
|
||||
linkcheck_anchors = False
|
@ -1,78 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _demo:
|
||||
|
||||
Demo & Projects
|
||||
===============
|
||||
|
||||
.. contents::
|
||||
|
||||
Project Examples
|
||||
----------------
|
||||
|
||||
Preconfigured demo projects are located in `PlatformIO GitHub <https://github.com/platformio/platformio/tree/develop/examples>`_ repository.
|
||||
|
||||
Wiring Blink
|
||||
------------
|
||||
|
||||
.. image:: _static/platformio-demo-wiring.gif
|
||||
|
||||
Used in demo
|
||||
~~~~~~~~~~~~
|
||||
|
||||
1. Source code of `Wiring Blink Example <https://github.com/platformio/platformio/tree/develop/examples/wiring-blink>`_
|
||||
2. :ref:`cmd_run` command
|
||||
3. :ref:`platformio run -t upload <cmd_run>` command.
|
||||
|
||||
Platform Manager
|
||||
----------------
|
||||
|
||||
.. image:: _static/platformio-demo-platforms.gif
|
||||
|
||||
Used in demo
|
||||
~~~~~~~~~~~~
|
||||
|
||||
1. :ref:`userguide_platforms`
|
||||
2. :ref:`cmd_platforms_list` command
|
||||
3. :ref:`platformio platforms search avr <cmd_platforms_search>` command
|
||||
4. :ref:`platformio platforms show teensy <cmd_platforms_show>` command
|
||||
5. :ref:`cmd_platforms_update` command.
|
||||
|
||||
Library Manager
|
||||
---------------
|
||||
|
||||
.. image:: _static/platformio-demo-lib.gif
|
||||
|
||||
Used in demo
|
||||
~~~~~~~~~~~~
|
||||
|
||||
1. :ref:`userguide_lib`
|
||||
2. :ref:`platformio lib search 1-wire <cmd_lib_search>` command
|
||||
3. :ref:`platformio lib install 54 <cmd_lib_install>` command
|
||||
4. :ref:`platformio lib search -f mbed <cmd_lib_search>` command
|
||||
5. :ref:`platformio lib search -k rf <cmd_lib_search>` command
|
||||
6. :ref:`platformio lib search radiohead <cmd_lib_search>` command
|
||||
7. :ref:`platformio lib install 124 --version "1.40" <cmd_lib_install>` command
|
||||
8. :ref:`platformio lib show 124 <cmd_lib_show>` command
|
||||
9. :ref:`cmd_lib_update` command.
|
||||
|
||||
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,125 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _envvars:
|
||||
|
||||
Environment variables
|
||||
=====================
|
||||
|
||||
`Environment variables <http://en.wikipedia.org/wiki/Environment_variable>`_
|
||||
are a set of dynamic named values that can affect the way running processes
|
||||
will behave on a computer.
|
||||
|
||||
*PlatformIO* handles variables which start with ``PLATFORMIO_`` prefix. They
|
||||
have the **HIGHEST PRIORITY**.
|
||||
|
||||
.. contents::
|
||||
|
||||
General
|
||||
-------
|
||||
|
||||
PlatformIO uses *General* environment variables for the common
|
||||
operations/commands.
|
||||
|
||||
.. envvar:: CI
|
||||
|
||||
PlatformIO handles ``CI`` variable which is setup by
|
||||
`Continuous Integration <http://en.wikipedia.org/wiki/Continuous_integration>`_
|
||||
(Travis, Circle and etc.) systems.
|
||||
PlatformIO uses it to disable prompts and progress bars. In other words,
|
||||
``CI=true`` automatically setup :envvar:`PLATFORMIO_SETTING_ENABLE_PROMPTS` to
|
||||
``false`` and :envvar:`PLATFORMIO_DISABLE_PROGRESSBAR` to ``true``.
|
||||
|
||||
.. envvar:: PLATFORMIO_FORCE_COLOR
|
||||
|
||||
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``.
|
||||
|
||||
.. 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
|
||||
|
||||
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_lib_dir`.
|
||||
|
||||
.. envvar:: PLATFORMIO_SRC_DIR
|
||||
|
||||
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_src_dir`.
|
||||
|
||||
.. envvar:: PLATFORMIO_ENVS_DIR
|
||||
|
||||
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_envs_dir`.
|
||||
|
||||
.. envvar:: PLATFORMIO_DATA_DIR
|
||||
|
||||
Allows to override :ref:`projectconf` option :ref:`projectconf_pio_data_dir`.
|
||||
|
||||
|
||||
Builder
|
||||
-------
|
||||
|
||||
.. envvar:: PLATFORMIO_BUILD_FLAGS
|
||||
|
||||
Allows to set :ref:`projectconf` option :ref:`projectconf_build_flags`.
|
||||
|
||||
.. envvar:: PLATFORMIO_SRC_BUILD_FLAGS
|
||||
|
||||
Allows to set :ref:`projectconf` option :ref:`projectconf_src_build_flags`.
|
||||
|
||||
.. envvar:: PLATFORMIO_SRC_FILTER
|
||||
|
||||
Allows to set :ref:`projectconf` option :ref:`projectconf_src_filter`.
|
||||
|
||||
.. envvar:: PLATFORMIO_EXTRA_SCRIPT
|
||||
|
||||
Allows to set :ref:`projectconf` option :ref:`projectconf_extra_script`.
|
||||
|
||||
|
||||
Settings
|
||||
--------
|
||||
|
||||
Allows to override PlatformIO settings. You can manage them via
|
||||
:ref:`cmd_settings` command.
|
||||
|
||||
.. envvar:: PLATFORMIO_SETTING_AUTO_UPDATE_LIBRARIES
|
||||
|
||||
Allows to override setting :ref:`setting_auto_update_libraries`.
|
||||
|
||||
.. envvar:: PLATFORMIO_SETTING_AUTO_UPDATE_PLATFORMS
|
||||
|
||||
Allows to override setting :ref:`setting_auto_update_platforms`.
|
||||
|
||||
.. envvar:: PLATFORMIO_SETTING_CHECK_LIBRARIES_INTERVAL
|
||||
|
||||
Allows to override setting :ref:`setting_check_libraries_interval`.
|
||||
|
||||
.. envvar:: PLATFORMIO_SETTING_CHECK_PLATFORMIO_INTERVAL
|
||||
|
||||
Allows to override setting :ref:`setting_check_platformio_interval`.
|
||||
|
||||
.. envvar:: PLATFORMIO_SETTING_CHECK_PLATFORMS_INTERVAL
|
||||
|
||||
Allows to override setting :ref:`setting_check_platforms_interval`.
|
||||
|
||||
.. envvar:: PLATFORMIO_SETTING_ENABLE_PROMPTS
|
||||
|
||||
Allows to override setting :ref:`setting_enable_prompts`.
|
||||
|
||||
.. envvar:: PLATFORMIO_SETTING_ENABLE_TELEMETRY
|
||||
|
||||
Allows to override setting :ref:`setting_enable_telemetry`.
|
208
docs/faq.rst
@ -1,208 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _faq:
|
||||
|
||||
Frequently Asked Questions
|
||||
==========================
|
||||
|
||||
.. contents::
|
||||
|
||||
General
|
||||
-------
|
||||
|
||||
.. _faq_what_is_platformio:
|
||||
|
||||
What is PlatformIO?
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
`PlatformIO <http://platformio.org>`_ is an open source ecosystem for IoT
|
||||
development.
|
||||
|
||||
PlatformIO is independent from the platform, in which it is running. In fact,
|
||||
the only requirement is Python, which exists pretty much everywhere. What this
|
||||
means is that PlatformIO projects can be easily moved from one computer to
|
||||
another, as well as that PlatformIO allows for the easy sharing of projects
|
||||
between team members, regardless of operating system they prefer to work with.
|
||||
Beyond that, PlatformIO can be run not only on commonly used desktops/laptops
|
||||
but also on the servers without X Window System. While PlatformIO itself is a
|
||||
console application, it can be used in combination with one's favorite
|
||||
:ref:`ide` or text editor such as :ref:`ide_arduino`, :ref:`ide_atom`,
|
||||
:ref:`ide_clion`, :ref:`ide_eclipse`, :ref:`ide_qtcreator`,
|
||||
:ref:`ide_sublimetext`, :ref:`ide_vim`, :ref:`ide_visualstudio`, etc.
|
||||
|
||||
Alright, so PlatformIO can run on different operating systems. But more
|
||||
importantly, from development perspective at least, is a list of supported
|
||||
boards and MCUs. To keep things short: PlatformIO supports approximately 200
|
||||
`Embedded Boards <http://platformio.org/#!/boards>`_ and all major
|
||||
:ref:`Development Platforms <platforms>`.
|
||||
|
||||
PlatformIO allows users to:
|
||||
|
||||
* Decide which operation system they want to run development process on.
|
||||
You can even use one OS at home and another at work.
|
||||
* Choose which editor to use for writing the code. It can be pretty simple
|
||||
editor or powerful favorite :ref:`ide`.
|
||||
* Focus on the code development, significantly simplifying support for the
|
||||
:ref:`platforms` and MCUs.
|
||||
|
||||
|
||||
How does it work?
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
Without going too deep into PlatformIO implementation details, work cycle of
|
||||
the project developed using PlatformIO is as follows:
|
||||
|
||||
* Users choose board(s) interested in :ref:`projectconf`
|
||||
* Based on this list of boards, PlatformIO downloads required toolchains and
|
||||
installs them automatically.
|
||||
* Users develop code and PlatformIO makes sure that it is compiled, prepared
|
||||
and uploaded to all the boards of interest.
|
||||
|
||||
Command completion in Terminal
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Bash completion
|
||||
'''''''''''''''
|
||||
|
||||
Bash completion support will complete subcommands and parameters. To enable
|
||||
Bash completion for `platformio` subcommands you need to put into your `.bashrc`:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
eval "$(_PLATFORMIO_COMPLETE=source platformio)"
|
||||
eval "$(_PLATFORMIO_COMPLETE=source pio)"
|
||||
|
||||
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.
|
||||
|
||||
.. _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
|
||||
|
||||
# for Windows OS
|
||||
where platformio
|
||||
echo %PATH%
|
||||
|
||||
For example, ``which platformio`` is equal to ``/usr/local/bin/platformio``,
|
||||
then `PATH (wiki) <https://en.wikipedia.org/wiki/PATH_(variable)>`_
|
||||
should contain ``/usr/local/bin`` directory.
|
||||
|
||||
**Unix Users**: You can make "symlinks" from ``platformio`` 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 :envvar:`PLATFORMIO_SETTING_ENABLE_PROMPTS=No <PLATFORMIO_SETTING_ENABLE_PROMPTS>`
|
||||
- disable global setting ``enable_prompts`` via :ref:`cmd_settings` command
|
||||
- masking under Continuous Integration system via environment variable
|
||||
:envvar:`CI=true <CI>`.
|
||||
|
||||
Serial does not work with panStampAVR board
|
||||
'''''''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
Answered in `issue #144 <https://github.com/platformio/platformio/issues/144#issuecomment-87388038>`_.
|
||||
|
||||
Building
|
||||
~~~~~~~~
|
||||
|
||||
Can not compile a library that compiles without issue with Arduino IDE
|
||||
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
* `#298: Unable to use Souliss library <https://github.com/platformio/platformio/issues/298>`_
|
||||
* `#331: Unable to use MySensors library <https://github.com/platformio/platformio/issues/331>`_
|
||||
|
||||
ARM toolchain: cc1plus: error while loading shared libraries
|
||||
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
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,116 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _framework_cmsis:
|
||||
|
||||
Framework ``cmsis``
|
||||
===================
|
||||
The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
|
||||
|
||||
For more detailed information please visit `vendor site <http://www.arm.com/products/processors/cortex-m/cortex-microcontroller-software-interface-standard.php>`_.
|
||||
|
||||
.. contents::
|
||||
|
||||
Platforms
|
||||
---------
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Name
|
||||
- Description
|
||||
|
||||
* - :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.
|
||||
|
||||
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.
|
||||
|
||||
Armstrap
|
||||
~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``armstrap_eagle1024``
|
||||
- `Armstrap Eagle 1024 <http://docs.armstrap.org/en/latest/hardware-overview.html>`_
|
||||
- STM32F417VGT6
|
||||
- 168 MHz
|
||||
- 1024 Kb
|
||||
- 192 Kb
|
||||
|
||||
* - ``armstrap_eagle2048``
|
||||
- `Armstrap Eagle 2048 <http://docs.armstrap.org/en/latest/hardware-overview.html>`_
|
||||
- STM32F427VIT6
|
||||
- 168 MHz
|
||||
- 2048 Kb
|
||||
- 256 Kb
|
||||
|
||||
* - ``armstrap_eagle512``
|
||||
- `Armstrap Eagle 512 <http://docs.armstrap.org/en/latest/hardware-overview.html>`_
|
||||
- STM32F407VET6
|
||||
- 168 MHz
|
||||
- 512 Kb
|
||||
- 192 Kb
|
||||
|
||||
ST
|
||||
~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``disco_f303vc``
|
||||
- `ST STM32F3DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF254044>`_
|
||||
- STM32F303VCT6
|
||||
- 72 MHz
|
||||
- 256 Kb
|
||||
- 48 Kb
|
||||
|
||||
* - ``disco_f407vg``
|
||||
- `ST STM32F4DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF252419>`_
|
||||
- STM32F407VGT6
|
||||
- 168 MHz
|
||||
- 1024 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``disco_l152rb``
|
||||
- `ST STM32LDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF258515>`_
|
||||
- STM32L152RBT6
|
||||
- 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
|
@ -1,25 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
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/tree/develop/examples/stm32>`_.
|
||||
|
||||
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/stm32/stm32-cmsis-blink>`_
|
@ -1,125 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _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.
|
||||
|
||||
For more detailed information please visit `vendor site <http://energia.nu/reference/>`_.
|
||||
|
||||
.. contents::
|
||||
|
||||
Platforms
|
||||
---------
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Name
|
||||
- Description
|
||||
|
||||
* - :ref:`platform_timsp430`
|
||||
- MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.
|
||||
|
||||
* - :ref:`platform_titiva`
|
||||
- Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions.
|
||||
|
||||
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.
|
||||
|
||||
TI
|
||||
~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``lplm4f120h5qr``
|
||||
- `TI LaunchPad (Stellaris) w/ lm4f120 (80MHz) <http://www.ti.com/tool/ek-lm4f120xl>`_
|
||||
- LPLM4F120H5QR
|
||||
- 80 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``lpmsp430f5529``
|
||||
- `TI LaunchPad w/ msp430f5529 (16MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430f5529lp.html>`_
|
||||
- MSP430F5529
|
||||
- 16 MHz
|
||||
- 128 Kb
|
||||
- 1 Kb
|
||||
|
||||
* - ``lpmsp430f5529_25``
|
||||
- `TI LaunchPad w/ msp430f5529 (25MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430f5529lp.html>`_
|
||||
- MSP430F5529
|
||||
- 25 MHz
|
||||
- 128 Kb
|
||||
- 1 Kb
|
||||
|
||||
* - ``lpmsp430fr5739``
|
||||
- `TI FraunchPad w/ msp430fr5739 <http://www.ti.com/tool/msp-exp430fr5739>`_
|
||||
- MSP430FR5739
|
||||
- 16 MHz
|
||||
- 16 Kb
|
||||
- 1 Kb
|
||||
|
||||
* - ``lpmsp430fr5969``
|
||||
- `TI LaunchPad w/ msp430fr5969 <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430fr5969.html>`_
|
||||
- MSP430FR5969
|
||||
- 8 MHz
|
||||
- 64 Kb
|
||||
- 1 Kb
|
||||
|
||||
* - ``lpmsp430g2231``
|
||||
- `TI LaunchPad w/ msp430g2231 (1 MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html>`_
|
||||
- MSP430G2231
|
||||
- 1 MHz
|
||||
- 2 Kb
|
||||
- 0.125 Kb
|
||||
|
||||
* - ``lpmsp430g2452``
|
||||
- `TI LaunchPad w/ msp430g2452 (16MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html>`_
|
||||
- MSP430G2452
|
||||
- 16 MHz
|
||||
- 8 Kb
|
||||
- 0.25 Kb
|
||||
|
||||
* - ``lpmsp430g2553``
|
||||
- `TI LaunchPad w/ msp430g2553 (16MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html>`_
|
||||
- MSP430G2553
|
||||
- 16 MHz
|
||||
- 16 Kb
|
||||
- 0.5 Kb
|
||||
|
||||
* - ``lptm4c1230c3pm``
|
||||
- `TI LaunchPad (Tiva C) w/ tm4c123 (80MHz) <http://www.ti.com/ww/en/launchpad/launchpads-connected-ek-tm4c123gxl.html>`_
|
||||
- LPTM4C1230C3PM
|
||||
- 80 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``lptm4c1294ncpdt``
|
||||
- `TI LaunchPad (Tiva C) w/ tm4c129 (120MHz) <http://www.ti.com/ww/en/launchpad/launchpads-connected-ek-tm4c1294xl.html>`_
|
||||
- LPTM4C1294NCPDT
|
||||
- 120 MHz
|
||||
- 1024 Kb
|
||||
- 256 Kb
|
@ -1,26 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _frameworks:
|
||||
|
||||
Frameworks
|
||||
==========
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
arduino
|
||||
cmsis
|
||||
energia
|
||||
libopencm3
|
||||
mbed
|
||||
spl
|
||||
wiringpi
|
@ -1,119 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _framework_libopencm3:
|
||||
|
||||
Framework ``libopencm3``
|
||||
========================
|
||||
The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
|
||||
|
||||
For more detailed information please visit `vendor site <http://www.libopencm3.org/wiki/Main_Page>`_.
|
||||
|
||||
.. contents::
|
||||
|
||||
Platforms
|
||||
---------
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Name
|
||||
- Description
|
||||
|
||||
* - :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_titiva`
|
||||
- Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions.
|
||||
|
||||
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.
|
||||
|
||||
ST
|
||||
~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``disco_f303vc``
|
||||
- `ST STM32F3DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF254044>`_
|
||||
- STM32F303VCT6
|
||||
- 72 MHz
|
||||
- 256 Kb
|
||||
- 48 Kb
|
||||
|
||||
* - ``disco_f407vg``
|
||||
- `ST STM32F4DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF252419>`_
|
||||
- STM32F407VGT6
|
||||
- 168 MHz
|
||||
- 1024 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``disco_l152rb``
|
||||
- `ST STM32LDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF258515>`_
|
||||
- STM32L152RBT6
|
||||
- 32 MHz
|
||||
- 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
|
||||
~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``lplm4f120h5qr``
|
||||
- `TI LaunchPad (Stellaris) w/ lm4f120 (80MHz) <http://www.ti.com/tool/ek-lm4f120xl>`_
|
||||
- LPLM4F120H5QR
|
||||
- 80 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``lptm4c1230c3pm``
|
||||
- `TI LaunchPad (Tiva C) w/ tm4c123 (80MHz) <http://www.ti.com/ww/en/launchpad/launchpads-connected-ek-tm4c123gxl.html>`_
|
||||
- LPTM4C1230C3PM
|
||||
- 80 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``lptm4c1294ncpdt``
|
||||
- `TI LaunchPad (Tiva C) w/ tm4c129 (120MHz) <http://www.ti.com/ww/en/launchpad/launchpads-connected-ek-tm4c1294xl.html>`_
|
||||
- LPTM4C1294NCPDT
|
||||
- 120 MHz
|
||||
- 1024 Kb
|
||||
- 256 Kb
|
||||
|
||||
.. include:: libopencm3_extra.rst
|
@ -1,18 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for libOpenCM3 framework <https://github.com/platformio/platformio/tree/develop/examples/stm32>`_.
|
||||
|
||||
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/stm32/stm32-opencm3-blink>`_
|
@ -1,745 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _framework_mbed:
|
||||
|
||||
Framework ``mbed``
|
||||
==================
|
||||
The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
|
||||
|
||||
For more detailed information please visit `vendor site <http://mbed.org/>`_.
|
||||
|
||||
.. contents::
|
||||
|
||||
Platforms
|
||||
---------
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Name
|
||||
- Description
|
||||
|
||||
* - :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.
|
||||
|
||||
* - :ref:`platform_nordicnrf51`
|
||||
- The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
|
||||
|
||||
* - :ref:`platform_nxplpc`
|
||||
- The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
|
||||
|
||||
* - :ref:`platform_siliconlabsefm32`
|
||||
- Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.
|
||||
|
||||
* - :ref:`platform_ststm32`
|
||||
- The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
|
||||
|
||||
* - :ref:`platform_teensy`
|
||||
- Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard "Mini-B" USB cable and a PC or Macintosh with a USB port.
|
||||
|
||||
Boards
|
||||
------
|
||||
|
||||
.. 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.
|
||||
|
||||
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
|
||||
|
||||
CQ Publishing
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``lpc11u35_501``
|
||||
- `CQ Publishing TG-LPC11U35-501 <https://developer.mbed.org/platforms/TG-LPC11U35-501/>`_
|
||||
- LPC11U35
|
||||
- 48 MHz
|
||||
- 64 Kb
|
||||
- 10 Kb
|
||||
|
||||
Delta
|
||||
~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``dfcm_nnn40``
|
||||
- `Delta DFCM-NNN40 <https://developer.mbed.org/platforms/Delta-DFCM-NNN40/>`_
|
||||
- NRF51822
|
||||
- 32 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
Embedded Artists
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``lpc11u35``
|
||||
- `Embedded Artists LPC11U35 QuickStart Board <https://developer.mbed.org/platforms/EA-LPC11U35/>`_
|
||||
- LPC11U35
|
||||
- 48 MHz
|
||||
- 64 Kb
|
||||
- 10 Kb
|
||||
|
||||
* - ``lpc4088``
|
||||
- `Embedded Artists LPC4088 QuickStart Board <https://developer.mbed.org/platforms/EA-LPC4088/>`_
|
||||
- LPC4088
|
||||
- 120 MHz
|
||||
- 512 Kb
|
||||
- 96 Kb
|
||||
|
||||
* - ``lpc4088_dm``
|
||||
- `Embedded Artists LPC4088 Display Module <https://developer.mbed.org/platforms/EA-LPC4088-Display-Module/>`_
|
||||
- LPC4088
|
||||
- 120 MHz
|
||||
- 512 Kb
|
||||
- 96 Kb
|
||||
|
||||
Freescale
|
||||
~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``IBMEthernetKit``
|
||||
- `Ethernet IoT Starter Kit <http://developer.mbed.org/platforms/IBMEthernetKit/>`_
|
||||
- MK64FN1M0VLL12
|
||||
- 120 MHz
|
||||
- 1024 Kb
|
||||
- 256 Kb
|
||||
|
||||
* - ``frdm_k20d50m``
|
||||
- `Freescale Kinetis FRDM-K20D50M <https://developer.mbed.org/platforms/FRDM-K20D50M/>`_
|
||||
- MK20DX128VLH5
|
||||
- 48 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``frdm_k22f``
|
||||
- `Freescale Kinetis FRDM-K22F <https://developer.mbed.org/platforms/FRDM-K22F/>`_
|
||||
- MK22FN512VLH12
|
||||
- 120 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``frdm_k64f``
|
||||
- `Freescale Kinetis FRDM-K64F <https://developer.mbed.org/platforms/FRDM-K64F/>`_
|
||||
- MK64FN1M0VLL12
|
||||
- 120 MHz
|
||||
- 1024 Kb
|
||||
- 256 Kb
|
||||
|
||||
* - ``frdm_kl05z``
|
||||
- `Freescale Kinetis FRDM-KL05Z <https://developer.mbed.org/platforms/FRDM-KL05Z/>`_
|
||||
- MKL05Z32VFM4
|
||||
- 48 MHz
|
||||
- 32 Kb
|
||||
- 4 Kb
|
||||
|
||||
* - ``frdm_kl25z``
|
||||
- `Freescale Kinetis FRDM-KL25Z <https://developer.mbed.org/platforms/KL25Z/>`_
|
||||
- MKL25Z128VLK4
|
||||
- 48 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``frdm_kl46z``
|
||||
- `Freescale Kinetis FRDM-KL46Z <https://developer.mbed.org/platforms/FRDM-KL46Z/>`_
|
||||
- MKL46Z256VLL4
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
JKSoft
|
||||
~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``wallBotBLE``
|
||||
- `JKSoft Wallbot BLE <https://developer.mbed.org/platforms/JKSoft-Wallbot-BLE/>`_
|
||||
- NRF51822
|
||||
- 16 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
NGX Technologies
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``blueboard_lpc11u24``
|
||||
- `NGX Technologies BlueBoard-LPC11U24 <https://developer.mbed.org/platforms/BlueBoard-LPC11U24/>`_
|
||||
- LPC11U24
|
||||
- 48 MHz
|
||||
- 32 Kb
|
||||
- 8 Kb
|
||||
|
||||
NXP
|
||||
~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``lpc11u24``
|
||||
- `NXP mbed LPC11U24 <https://developer.mbed.org/platforms/mbed-LPC11U24/>`_
|
||||
- LPC11U24
|
||||
- 48 MHz
|
||||
- 32 Kb
|
||||
- 8 Kb
|
||||
|
||||
* - ``lpc1549``
|
||||
- `NXP LPCXpresso1549 <https://developer.mbed.org/platforms/LPCXpresso1549/>`_
|
||||
- LPC1549
|
||||
- 72 MHz
|
||||
- 256 Kb
|
||||
- 36 Kb
|
||||
|
||||
* - ``lpc1768``
|
||||
- `NXP mbed LPC1768 <http://developer.mbed.org/platforms/mbed-LPC1768/>`_
|
||||
- LPC1768
|
||||
- 96 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
Nordic
|
||||
~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``nrf51_dk``
|
||||
- `Nordic nRF51-DK <https://developer.mbed.org/platforms/Nordic-nRF51-DK/>`_
|
||||
- NRF51822
|
||||
- 32 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``nrf51_dongle``
|
||||
- `Nordic nRF51-Dongle <https://developer.mbed.org/platforms/Nordic-nRF51-Dongle/>`_
|
||||
- NRF51822
|
||||
- 32 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``nrf51_mkit``
|
||||
- `Nordic nRF51822-mKIT <http://developer.mbed.org/platforms/Nordic-nRF51822/>`_
|
||||
- NRF51822
|
||||
- 16 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
Outrageous Circuits
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``mbuino``
|
||||
- `Outrageous Circuits mBuino <https://developer.mbed.org/platforms/Outrageous-Circuits-mBuino/>`_
|
||||
- LPC11U24
|
||||
- 48 MHz
|
||||
- 32 Kb
|
||||
- 8 Kb
|
||||
|
||||
RedBearLab
|
||||
~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``redBearLab``
|
||||
- `RedBearLab nRF51822 <https://developer.mbed.org/platforms/RedBearLab-nRF51822/>`_
|
||||
- NRF51822
|
||||
- 16 MHz
|
||||
- 256 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``redBearLabBLENano``
|
||||
- `RedBearLab BLE Nano <https://developer.mbed.org/platforms/RedBearLab-BLE-Nano/>`_
|
||||
- NRF51822
|
||||
- 16 MHz
|
||||
- 256 Kb
|
||||
- 16 Kb
|
||||
|
||||
ST
|
||||
~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``disco_f051r8``
|
||||
- `ST STM32F0DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF253215>`_
|
||||
- STM32F051R8T6
|
||||
- 48 MHz
|
||||
- 64 Kb
|
||||
- 8 Kb
|
||||
|
||||
* - ``disco_f100rb``
|
||||
- `ST STM32VLDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF250863>`_
|
||||
- STM32F100RBT6
|
||||
- 24 MHz
|
||||
- 128 Kb
|
||||
- 8 Kb
|
||||
|
||||
* - ``disco_f303vc``
|
||||
- `ST STM32F3DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF254044>`_
|
||||
- STM32F303VCT6
|
||||
- 72 MHz
|
||||
- 256 Kb
|
||||
- 48 Kb
|
||||
|
||||
* - ``disco_f334c8``
|
||||
- `ST 32F3348DISCOVERY <http://www.st.com/web/en/catalog/tools/PF260318>`_
|
||||
- STM32F334C8T6
|
||||
- 72 MHz
|
||||
- 64 Kb
|
||||
- 12 Kb
|
||||
|
||||
* - ``disco_f401vc``
|
||||
- `ST 32F401CDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF259098>`_
|
||||
- STM32F401VCT6
|
||||
- 84 MHz
|
||||
- 256 Kb
|
||||
- 64 Kb
|
||||
|
||||
* - ``disco_f407vg``
|
||||
- `ST STM32F4DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF252419>`_
|
||||
- STM32F407VGT6
|
||||
- 168 MHz
|
||||
- 1024 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``disco_f429zi``
|
||||
- `ST 32F429IDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF259090>`_
|
||||
- STM32F429ZIT6
|
||||
- 180 MHz
|
||||
- 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
|
||||
- 32 MHz
|
||||
- 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
|
||||
- 48 MHz
|
||||
- 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
|
||||
- 48 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``nucleo_f072rb``
|
||||
- `ST Nucleo F072RB <https://developer.mbed.org/platforms/ST-Nucleo-F072RB/>`_
|
||||
- STM32F072RBT6
|
||||
- 48 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``nucleo_f091rc``
|
||||
- `ST Nucleo F091RC <https://developer.mbed.org/platforms/ST-Nucleo-F091RC/>`_
|
||||
- STM32F091RCT6
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``nucleo_f103rb``
|
||||
- `ST Nucleo F103RB <https://developer.mbed.org/platforms/ST-Nucleo-F103RB/>`_
|
||||
- STM32F103RBT6
|
||||
- 72 MHz
|
||||
- 128 Kb
|
||||
- 20 Kb
|
||||
|
||||
* - ``nucleo_f302r8``
|
||||
- `ST Nucleo F302R8 <https://developer.mbed.org/platforms/ST-Nucleo-F302R8/>`_
|
||||
- STM32F302R8T6
|
||||
- 72 MHz
|
||||
- 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
|
||||
- 72 MHz
|
||||
- 512 Kb
|
||||
- 64 Kb
|
||||
|
||||
* - ``nucleo_f334r8``
|
||||
- `ST Nucleo F334R8 <https://developer.mbed.org/platforms/ST-Nucleo-F334R8/>`_
|
||||
- STM32F334R8T6
|
||||
- 72 MHz
|
||||
- 64 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``nucleo_f401re``
|
||||
- `ST Nucleo F401RE <https://developer.mbed.org/platforms/ST-Nucleo-F401RE/>`_
|
||||
- STM32F401RET6
|
||||
- 84 MHz
|
||||
- 512 Kb
|
||||
- 96 Kb
|
||||
|
||||
* - ``nucleo_f411re``
|
||||
- `ST Nucleo F411RE <https://developer.mbed.org/platforms/ST-Nucleo-F411RE/>`_
|
||||
- STM32F411RET6
|
||||
- 100 MHz
|
||||
- 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
|
||||
- 48 MHz
|
||||
- 64 Kb
|
||||
- 8 Kb
|
||||
|
||||
* - ``nucleo_l152re``
|
||||
- `ST Nucleo L152RE <https://developer.mbed.org/platforms/ST-Nucleo-L152RE/>`_
|
||||
- STM32L152RET6
|
||||
- 32 MHz
|
||||
- 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
|
||||
~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``seeedTinyBLE``
|
||||
- `SeeedStudio Seeed Tiny BLE <http://developer.mbed.org/platforms/Seeed-Tiny-BLE/>`_
|
||||
- NRF51822
|
||||
- 16 MHz
|
||||
- 256 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``seeeduinoArchPro``
|
||||
- `SeeedStudio Seeeduino-Arch-Pro <https://developer.mbed.org/platforms/Seeeduino-Arch-Pro/>`_
|
||||
- LPC1768
|
||||
- 96 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
Silicon Labs
|
||||
~~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``efm32gg_stk3700``
|
||||
- `Silicon Labs EFM32GG-STK3700 (Giant Gecko) <https://developer.mbed.org/platforms/EFM32-Giant-Gecko/>`_
|
||||
- EFM32GG990F1024
|
||||
- 48 MHz
|
||||
- 1024 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``efm32hg_stk3400``
|
||||
- `Silicon Labs SLSTK3400A USB-enabled (Happy Gecko) <https://developer.mbed.org/platforms/EFM32-Happy-Gecko/>`_
|
||||
- EFM32HG322F64
|
||||
- 24 MHz
|
||||
- 64 Kb
|
||||
- 8 Kb
|
||||
|
||||
* - ``efm32lg_stk3600``
|
||||
- `Silicon Labs EFM32LG-STK3600 (Leopard Gecko) <https://developer.mbed.org/platforms/EFM32-Leopard-Gecko/>`_
|
||||
- EFM32LG990F256
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``efm32wg_stk3800``
|
||||
- `Silicon Labs EFM32WG-STK3800 (Wonder Gecko) <https://developer.mbed.org/platforms/EFM32-Wonder-Gecko/>`_
|
||||
- EFM32WG990F256
|
||||
- 48 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``efm32zg_stk3200``
|
||||
- `Silicon Labs EFM32ZG-STK3200 (Zero Gecko) <https://developer.mbed.org/platforms/EFM32-Zero-Gecko/>`_
|
||||
- EFM2ZG222F32
|
||||
- 24 MHz
|
||||
- 32 Kb
|
||||
- 4 Kb
|
||||
|
||||
Solder Splash Labs
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``dipcortexm0``
|
||||
- `Solder Splash Labs DipCortex M0 <https://developer.mbed.org/platforms/DipCortex-M0/>`_
|
||||
- LPC11U24
|
||||
- 50 MHz
|
||||
- 32 Kb
|
||||
- 8 Kb
|
||||
|
||||
Switch Science
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``hrm1017``
|
||||
- `Switch Science mbed HRM1017 <https://developer.mbed.org/platforms/mbed-HRM1017/>`_
|
||||
- NRF51822
|
||||
- 16 MHz
|
||||
- 256 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``lpc1114fn28``
|
||||
- `Switch Science mbed LPC1114FN28 <https://developer.mbed.org/platforms/LPC1114FN28/>`_
|
||||
- LPC1114FN28
|
||||
- 48 MHz
|
||||
- 32 Kb
|
||||
- 4 Kb
|
||||
|
||||
Teensy
|
||||
~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``teensy31``
|
||||
- `Teensy 3.1 / 3.2 <https://www.pjrc.com/store/teensy31.html>`_
|
||||
- MK20DX256
|
||||
- 72 MHz
|
||||
- 256 Kb
|
||||
- 64 Kb
|
||||
|
||||
u-blox
|
||||
~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``ubloxc027``
|
||||
- `u-blox C027 <https://developer.mbed.org/platforms/u-blox-C027/>`_
|
||||
- LPC1768
|
||||
- 96 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
.. include:: mbed_extra.rst
|
@ -1,32 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Articles
|
||||
--------
|
||||
|
||||
* Dec 15, 2015 - **stastaka** - `PlatformIOでカスタムボードを使う (Use a custom board for PlatformIO, Japanese) <http://qiita.com/stastaka/items/a6a50dbbb2933bd78bdd>`_
|
||||
* Nov 06, 2015 - **nocd5** - `PlatformIOでmbedをオフラインビルドしSTM32 Nucleoボードでmrubyを使う (Use mruby in the offline build for STM32 Nucleo board with mbed and PlatformIO, Japanese) <http://qiita.com/nocd5/items/d5fda776240f7e7c17eb>`_
|
||||
* Oct 21, 2015 - **Vittorio Zaccaria** - `Using a cheap STM32 Nucleo to teach remote sensor monitoring <http://www.vittoriozaccaria.net/blog/2015/10/21/using-a-cheap-stm32-nucleo-to-teach-remote-sensor-monitoring.html>`_
|
||||
* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation <http://thomasweldon.com/tpw/courses/embeddsp/p00pcFrdmK64_eclipsePlatformioSetup.html>`_
|
||||
|
||||
See more :ref:`articles`.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for MBED framework <https://github.com/platformio/platformio/tree/develop/examples/mbed>`_.
|
||||
|
||||
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-blink>`_
|
||||
* `DSP <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-dsp>`_
|
||||
* `HTTP Client <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-http-client>`_
|
||||
* `RTOS <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-rtos>`_
|
||||
* `Serial <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-serial>`_
|
@ -1,116 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _framework_spl:
|
||||
|
||||
Framework ``spl``
|
||||
=================
|
||||
The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
|
||||
|
||||
For more detailed information please visit `vendor site <http://www.st.com/web/en/catalog/tools/FM147/CL1794/SC961/SS1743?sc=stm32embeddedsoftware>`_.
|
||||
|
||||
.. contents::
|
||||
|
||||
Platforms
|
||||
---------
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Name
|
||||
- Description
|
||||
|
||||
* - :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.
|
||||
|
||||
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.
|
||||
|
||||
Armstrap
|
||||
~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``armstrap_eagle1024``
|
||||
- `Armstrap Eagle 1024 <http://docs.armstrap.org/en/latest/hardware-overview.html>`_
|
||||
- STM32F417VGT6
|
||||
- 168 MHz
|
||||
- 1024 Kb
|
||||
- 192 Kb
|
||||
|
||||
* - ``armstrap_eagle2048``
|
||||
- `Armstrap Eagle 2048 <http://docs.armstrap.org/en/latest/hardware-overview.html>`_
|
||||
- STM32F427VIT6
|
||||
- 168 MHz
|
||||
- 2048 Kb
|
||||
- 256 Kb
|
||||
|
||||
* - ``armstrap_eagle512``
|
||||
- `Armstrap Eagle 512 <http://docs.armstrap.org/en/latest/hardware-overview.html>`_
|
||||
- STM32F407VET6
|
||||
- 168 MHz
|
||||
- 512 Kb
|
||||
- 192 Kb
|
||||
|
||||
ST
|
||||
~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``disco_f303vc``
|
||||
- `ST STM32F3DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF254044>`_
|
||||
- STM32F303VCT6
|
||||
- 72 MHz
|
||||
- 256 Kb
|
||||
- 48 Kb
|
||||
|
||||
* - ``disco_f407vg``
|
||||
- `ST STM32F4DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF252419>`_
|
||||
- STM32F407VGT6
|
||||
- 168 MHz
|
||||
- 1024 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``disco_l152rb``
|
||||
- `ST STM32LDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF258515>`_
|
||||
- STM32L152RBT6
|
||||
- 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
|
@ -1,18 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for SPL framework <https://github.com/platformio/platformio/tree/develop/examples/stm32>`_.
|
||||
|
||||
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/stm32/stm32-spl-blink>`_
|
@ -1,75 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _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
|
@ -1,19 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for WiringPi framework <https://github.com/platformio/platformio/tree/develop/examples/raspberrypi>`_.
|
||||
|
||||
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/raspberrypi/wiringpi-blink>`_
|
||||
* `Serial <https://github.com/platformio/platformio/tree/develop/examples/raspberrypi/wiringpi-serial>`_
|
@ -1,12 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. include:: ../HISTORY.rst
|
29
docs/ide.rst
@ -1,29 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide:
|
||||
|
||||
IDE Integration
|
||||
===============
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
ide/atom
|
||||
ide/arduino
|
||||
ide/clion
|
||||
ide/eclipse
|
||||
ide/emacs
|
||||
ide/energia
|
||||
ide/qtcreator
|
||||
ide/sublimetext
|
||||
ide/vim
|
||||
ide/visualstudio
|
@ -1,50 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_arduino:
|
||||
|
||||
Arduino
|
||||
=======
|
||||
|
||||
The open-source `Arduino Software (IDE) <http://arduino.cc/en/main/software>`_
|
||||
makes it easy to write code and upload it to the board. It runs on *Windows,
|
||||
Mac OS X, and Linux*. The environment is written in *Java* and based on
|
||||
*Processing* and other open-source software.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* :ref:`platform_atmelavr`
|
||||
* :ref:`platform_atmelsam`
|
||||
* :ref:`framework_arduino`
|
||||
|
||||
Refer to the `Arduino Getting Started <http://arduino.cc/en/Guide/HomePage>`_
|
||||
page for Installation instructions.
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
More detailed information is located in PlatformIO blog:
|
||||
`Integration of PlatformIO library manager to Arduino IDE <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_.
|
||||
|
||||
Articles / Manuals
|
||||
------------------
|
||||
|
||||
* `Integration of PlatformIO library manager to Arduino and Energia IDEs <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_
|
||||
|
||||
See the full list with :ref:`articles`.
|
||||
|
||||
Screenshot
|
||||
----------
|
||||
|
||||
.. image:: ../_static/ide-platformio-arduino.png
|
||||
:target: http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides
|
@ -1,153 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_atom:
|
||||
|
||||
PlatformIO IDE for Atom
|
||||
=======================
|
||||
|
||||
PlatformIO IDE for `Atom <https://atom.io>`_ is the missing integrated
|
||||
development environment which provides comprehensive facilities
|
||||
for IoT development:
|
||||
|
||||
* Cross-platform builder without external dependencies to the system
|
||||
software:
|
||||
|
||||
- 200+ embedded boards
|
||||
- 15+ development platforms
|
||||
- 10+ frameworks
|
||||
|
||||
* C/C++ Intelligent code completion
|
||||
* C/C++ Smart code linter
|
||||
* Library Manager for the hundreds popular libraries
|
||||
* Built-in Terminal with :ref:`PlatformIO CLI <userguide>` (``pio``, ``platformio``)
|
||||
|
||||
Atom is a source code editor that's modern, approachable,
|
||||
yet hackable to the core—a tool you can customize to do anything but also use
|
||||
productively without ever touching a config file.
|
||||
|
||||
.. warning::
|
||||
|
||||
PlatformIO IDE is **in beta testing**. Please report all issues to
|
||||
`PlatformIO IDE issues tracker <https://github.com/platformio/platformio-atom-ide/issues>`_.
|
||||
|
||||
.. contents::
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
The only one requirement is `Python Interpreter <https://www.python.org>`_.
|
||||
PlatformIO is written in Python and works on Mac OS X, Linux, Windows OS and
|
||||
ARM-based credit-card sized computers (Raspberry Pi, BeagleBone, CubieBoard).
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
:Python:
|
||||
|
||||
Python is installed on Mac OS X and Linux OS by default. The only **Windows Users**
|
||||
should install it manually. Please `Download the latest Python 2.7.x <https://www.python.org/downloads/>`_
|
||||
and install it. **DON'T FORGET** to select ``Add python.exe to Path`` feature on the
|
||||
"Customize" stage, otherwise ``python`` command will not be available.
|
||||
|
||||
:Atom: Download and install `Atom <https://atom.io>`_ source code editor
|
||||
|
||||
:PlatformIO IDE:
|
||||
|
||||
Install `platformio-ide <https://atom.io/packages/platformio-ide>`_ package
|
||||
using:
|
||||
|
||||
- **Mac OS X**: ``Menu: Atom > Preferences > Install``
|
||||
- **Windows**: ``Menu: File > Settings > Install``
|
||||
- **Linux**: ``Menu: Edit > Preferences > Install``
|
||||
|
||||
User Guide
|
||||
----------
|
||||
|
||||
.. image:: ../_static/ide-atom-platformio.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-atom-platformio.png
|
||||
|
||||
Menu item ``PlatformIO``
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
`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-atom-platformio-menu-item.png
|
||||
|
||||
Building / Uploading / etc.
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* ``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 details `Atom Build package <https://atom.io/packages/build>`_.
|
||||
|
||||
Code completion
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE uses `clang <http://clang.llvm.org>`_ for the code completion.
|
||||
To check that ``clang`` is available in your system, please open
|
||||
Terminal and run ``clang --version``. If ``clang`` is not installed, then install it:
|
||||
|
||||
- **Mac OS X**: Install the latest Xcode along with the latest Command Line Tools
|
||||
(they are installed automatically when you run ``clang`` in Terminal for the
|
||||
first time, or manually by running ``xcode-select --install``
|
||||
- **Windows**: Download the latest `Clang for Windows <http://llvm.org/releases/download.html>`_.
|
||||
Please select "Add LLVM to the system PATH" option on the installation step.
|
||||
- **Linux**: Using package managers: ``apt-get install clang`` or ``yum install clang``.
|
||||
- **Other Systems**: Download the latest `Clang for the other systems <http://llvm.org/releases/download.html>`_.
|
||||
|
||||
.. warning::
|
||||
The libraries which are added, installed or used in the project
|
||||
after initializing process will not be reflected in code completion. To fix
|
||||
it you need to reinitialize project using ``Menu: PlatformIO > Initialize new Project (or update existing)``.
|
||||
|
||||
Code linter
|
||||
~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE uses PlatformIO's pre-built GCC toolchains for code linting. You
|
||||
can customize it in ``.gcc-flags.json`` which will be generated for the selected
|
||||
board in the project directory using
|
||||
``Menu: PlatformIO > Initialize new Project (or update existing)``.
|
||||
|
||||
.. warning::
|
||||
The libraries which are added, installed or used in the project
|
||||
after initializing process will not be reflected in code linter. To fix
|
||||
it you need to reinitialize project using ``Menu: PlatformIO > Initialize new Project (or update existing)``.
|
||||
|
||||
Install Shell Commands
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To install ``platformio`` and ``pio`` shell commands please use ``Menu:
|
||||
PlatformIO > Install Shell Commands``. It will allow you to call PlatformIO from
|
||||
other process, terminals and etc.
|
||||
|
||||
Serial Monitor
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
Serial Monitor was temporary disabled in PlatformIO IDE 0.2.1. See
|
||||
`issue #17 <https://github.com/platformio/platformio-atom-ide/issues/17>`_.
|
||||
|
||||
Temporary solution is to ``Menu: PlatformIO > Install Shell Commands`` and use
|
||||
:ref:`cmd_serialports_monitor` from system Terminal application (not built-in in
|
||||
PlatformIO IDE).
|
||||
|
||||
Known issues
|
||||
~~~~~~~~~~~~
|
||||
|
||||
* Built-in Terminal doesn't support ``STDIN`` interaction
|
@ -1,105 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_clion:
|
||||
|
||||
CLion
|
||||
=====
|
||||
|
||||
The `CLion <https://www.jetbrains.com/clion/>`_ is a cross-platform C/C++ IDE
|
||||
for Linux, OS X, and Windows integrated with the CMake build system. The
|
||||
initial version will support the GCC and Clang compilers and GDB debugger.
|
||||
Clion includes such features as a smart editor, code quality assurance,
|
||||
automated refactorings, project manager, integrated version control systems.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* all available :ref:`platforms`
|
||||
* all available :ref:`frameworks`
|
||||
|
||||
Refer to the `CDT Documentation <https://www.jetbrains.com/clion/documentation/>`_
|
||||
page for more detailed information.
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
platformio init --ide clion --board %TYPE%
|
||||
|
||||
# For example, generate project for Arduino UNO
|
||||
platformio init --ide clion --board uno
|
||||
|
||||
Then:
|
||||
|
||||
1. Import this project via ``Menu: File > Import Project``
|
||||
and specify root directory where is located :ref:`projectconf`
|
||||
2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``)
|
||||
3. Build project (*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::
|
||||
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).
|
||||
|
||||
.. warning::
|
||||
PlatformIO generates empty project by default and **code auto-completion
|
||||
will not work!** To enable auto-completion please choose one of:
|
||||
|
||||
* Add source files ``*.c, *.cpp, etc`` to ``src`` directory and re-initialize
|
||||
project with command above
|
||||
* Manually correct ``add_executable`` command in ``CMakeLists.txt`` file
|
||||
(will be created in project directory after initialization).
|
||||
|
||||
``*.ino`` file isn't acceptable for ``add_executable`` command. You should
|
||||
convert it manually to ``*.cpp``. See `project example <https://github.com/platformio/platformio/tree/develop/examples/ide/clion>`_.
|
||||
|
||||
More info `CLion issue #CPP-3977 <https://youtrack.jetbrains.com/issue/CPP-3977>`_.
|
||||
Active discussion is located in
|
||||
`PlatformIO issue #132 <https://github.com/platformio/platformio/issues/132>`_.
|
||||
|
||||
Articles / Manuals
|
||||
------------------
|
||||
|
||||
* 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`.
|
||||
|
||||
Screenshot
|
||||
----------
|
||||
|
||||
.. image:: ../_static/ide-platformio-clion.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-clion.png
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
"Blink" Project
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Source code of `CLion "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/clion>`_.
|
@ -1,99 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_eclipse:
|
||||
|
||||
Eclipse
|
||||
=======
|
||||
|
||||
The `Eclipse CDT (C/C++ Development Tooling) <https://eclipse.org/cdt/>`_
|
||||
Project provides a fully functional C and C++ Integrated Development
|
||||
Environment based on the Eclipse platform. Features include: support for
|
||||
project creation and managed build for various toolchains, standard make
|
||||
build, source navigation, various source knowledge tools, such as type
|
||||
hierarchy, call graph, include browser, macro definition browser, code editor
|
||||
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.
|
||||
|
||||
.. 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 eclipse --board %TYPE%
|
||||
|
||||
# For example, generate project for Arduino UNO
|
||||
platformio init --ide eclipse --board uno
|
||||
|
||||
Then:
|
||||
|
||||
1. Import this project via
|
||||
``Menu: File > Import... > General > Existing Projects into Workspace > Next``
|
||||
and specify root directory where is located :ref:`projectconf`
|
||||
2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``)
|
||||
3. Build project using ``Menu: Project > Build Project`` or preconfigured
|
||||
Make Targets (see screenshot below):
|
||||
|
||||
+ ``PlatformIO: Build`` - Build project without auto-uploading
|
||||
+ ``PlatformIO: Clean`` - Clean compiled objects.
|
||||
+ ``PlatformIO: Upload`` - Build and upload (if no errors)
|
||||
+ ``PlatformIO: Upload using Programmer`` see :ref:`atmelavr_upload_via_programmer`
|
||||
+ ``PlatformIO: Upload SPIFFS image`` see :ref:`platform_espressif_uploadfs`
|
||||
+ ``PlatformIO: Update platforms and libraries`` - Update installed platforms and libraries via :ref:`cmd_update`.
|
||||
|
||||
If you have some problems with unresolved includes, defines, etc., then
|
||||
|
||||
* Restart Eclipse IDE
|
||||
* Rebuild index using ``Menu: Project > C/C++ Index > Rebuild``.
|
||||
|
||||
.. warning::
|
||||
The libraries which are added, installed or used in the project
|
||||
after generating process wont be reflected in IDE. To fix it you
|
||||
need to reinitialize project using :ref:`cmd_init` (repeat it).
|
||||
|
||||
Articles / Manuals
|
||||
------------------
|
||||
|
||||
* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation <http://thomasweldon.com/tpw/courses/embeddsp/p00pcFrdmK64_eclipsePlatformioSetup.html>`_
|
||||
* Jul 11, 2015 - **TrojanC** - `Learning Arduino GitHub Repository <http://www.trojanc.co.za/2015/07/11/learning-arduino-github-repository/>`_
|
||||
* June 20, 2014 - **Ivan Kravets, Ph.D.** - `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO <http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio>`_
|
||||
|
||||
See a full list with :ref:`articles`.
|
||||
|
||||
Screenshot
|
||||
----------
|
||||
|
||||
Cross-platform `Blink Project <http://platformio.org/#!/get-started#blink-project-example>`_.
|
||||
|
||||
.. image:: ../_static/ide-platformio-eclipse.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-eclipse.png
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
"Blink" Project
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Source code of `Eclipse "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/eclipse>`_.
|
@ -1,78 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_emacs:
|
||||
|
||||
Emacs
|
||||
=====
|
||||
|
||||
GNU Emacs is an extensible, customizable text editor - and more. At its core is
|
||||
an interpreter for Emacs Lisp, a dialect of the
|
||||
`Lisp programming language <http://en.wikipedia.org/wiki/Lisp_programming_language>`_
|
||||
with extensions to support text editing.
|
||||
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* all available :ref:`platforms`
|
||||
* all available :ref:`frameworks`
|
||||
|
||||
Refer to the `Emacs Documentation <https://www.gnu.org/software/emacs/#Manuals>`_
|
||||
page for more detailed information.
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
PlatformIO-Mode
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
An Emacs minor mode has been written to facilitate building and uploading from within Emacs.
|
||||
It can be installed from the MELPA repository using ``M-x package-install``.
|
||||
See the MELPA `Getting Started <https://melpa.org/#/getting-started>`_ page for more information.
|
||||
|
||||
Setup instructions and an example config can be found at the `Github page <https://github.com/ZachMassia/platformio-mode>`_.
|
||||
|
||||
Code completion can optionally be provided by installing `irony-mode <https://github.com/Sarcasm/irony-mode>`_
|
||||
|
||||
|
||||
Project Generator
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
platformio init --ide emacs --board %TYPE%
|
||||
|
||||
|
||||
There are 6 predefined targets for building.
|
||||
|
||||
* ``platformio_build`` - Build project without auto-uploading. (``C-c i b``)
|
||||
* ``platformio_clean`` - Clean compiled objects. (``C-c i c``)
|
||||
* ``platformio_upload`` - Build and upload (if no errors). (``C-c i u``)
|
||||
* ``platformio_programmer_upload`` - Build and upload using external programmer (if no errors, see :ref:`atmelavr_upload_via_programmer`). (``C-c i p``)
|
||||
* ``platformio_spiffs_upload`` - Upload files to file system SPIFFS (see :ref:`platform_espressif_uploadfs`). (``C-c i s``)
|
||||
* ``platformio_update`` - Update installed platforms and libraries. (``C-c i d``)
|
||||
|
||||
.. warning::
|
||||
The libraries which are added, installed or used in the project
|
||||
after generating process wont be reflected in IDE. To fix it you
|
||||
need to reinitialize project using :ref:`cmd_init` (repeat it).
|
||||
|
||||
|
||||
Screenshot
|
||||
----------
|
||||
|
||||
.. image:: ../_static/ide-platformio-emacs.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-emacs.png
|
@ -1,50 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_energia:
|
||||
|
||||
Energia
|
||||
=======
|
||||
|
||||
The open-source `Energia Software (IDE) <http://energia.nu>`_
|
||||
makes it easy to write code and upload it to the board. It runs on *Windows,
|
||||
Mac OS X, and Linux*. The environment is written in *Java* and based on
|
||||
*Processing* and other open-source software.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* :ref:`platform_timsp430`
|
||||
* :ref:`platform_titiva`
|
||||
* :ref:`framework_energia`
|
||||
|
||||
Refer to the `Energia Getting Started <http://energia.nu/guide/>`_
|
||||
page for Installation instructions.
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
More detailed information is located in PlatformIO blog:
|
||||
`Integration of PlatformIO library manager to Energia IDE <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_.
|
||||
|
||||
Articles / Manuals
|
||||
------------------
|
||||
|
||||
* `Integration of PlatformIO library manager to Arduino and Energia IDEs <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_
|
||||
|
||||
See the full list with :ref:`articles`.
|
||||
|
||||
Screenshot
|
||||
-----------
|
||||
|
||||
.. image:: ../_static/ide-platformio-energia.png
|
||||
:target: http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides
|
@ -1,204 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_qtcreator:
|
||||
|
||||
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.
|
||||
|
||||
.. 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
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
platformio init --ide qtcreator --board %TYPE%
|
||||
|
||||
# For example, generate project for Arduino UNO
|
||||
platformio init --ide qtcreator --board uno
|
||||
|
||||
Then:
|
||||
|
||||
1. Import project via ``File > Open File or Project`` and select
|
||||
``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
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Setup New Project
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
First of all, let's create new project from Qt Creator Start Page: ``New Project`` or using ``Menu: File > New File or Project``, then select project with ``Empty Qt Project`` type (``Other Project > Empty Qt Project``), fill ``Name``, ``Create in``.
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-1.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-1.png
|
||||
|
||||
On the next steps select any available kit and click Finish button.
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-2.png
|
||||
|
||||
Secondly, we need to delete default build and clean steps and configure project with PlatformIO source code builder (click on Projects label on left menu or ``Ctrl+5`` shortcut):
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-3.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-3.png
|
||||
|
||||
Thirdly, change project file by adding path to directories with header files. Please edit project file to match the following contents:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
win32 {
|
||||
HOMEDIR += $$(USERPROFILE)
|
||||
}
|
||||
else {
|
||||
HOMEDIR += $$(HOME)
|
||||
}
|
||||
|
||||
INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/framework-arduinoavr/cores/arduino"
|
||||
INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/toolchain-atmelavr/avr/include"
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-4.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-4.png
|
||||
|
||||
First program in Qt Creator
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Simple "Blink" project will consist from two files:
|
||||
1. In the console, navigate to the root of your project folder and initialize platformio project with ``platformio init``
|
||||
2. The main "C" source file named ``main.c`` must be located in the ``src`` directory.
|
||||
Let's create new text file named ``main.c`` using ``Menu: New File or Project > General > Text File``:
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-5.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-5.png
|
||||
|
||||
Copy the source code which is described below to file ``main.c``.
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
#include "Arduino.h"
|
||||
#define WLED 13 // Most Arduino boards already have an LED attached to pin 13 on the board itself
|
||||
|
||||
void setup()
|
||||
{
|
||||
pinMode(WLED, OUTPUT); // set pin as output
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
digitalWrite(WLED, HIGH); // set the LED on
|
||||
delay(1000); // wait for a second
|
||||
digitalWrite(WLED, LOW); // set the LED off
|
||||
delay(1000); // wait for a second
|
||||
}
|
||||
|
||||
3. Locate the project configuration file named ``platformio.ini`` at the root of the project directory and open it.
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-6.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-6.png
|
||||
|
||||
Edit the content to match the code described below.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
#
|
||||
# Project Configuration File
|
||||
#
|
||||
# A detailed documentation with the EXAMPLES is located here:
|
||||
# http://docs.platformio.org/en/latest/projectconf.html
|
||||
#
|
||||
|
||||
# A sign `#` at the beginning of the line indicates a comment
|
||||
# Comment lines are ignored.
|
||||
|
||||
[env:arduino_uno]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = uno
|
||||
|
||||
Conclusion
|
||||
~~~~~~~~~~
|
||||
|
||||
Taking everything into account, we can build project with shortcut ``Ctrl+Shift+B`` or using ``Menu: Build > Build All``.
|
||||
|
||||
Screenshot
|
||||
----------
|
||||
|
||||
.. image:: ../_static/ide-platformio-qtcreator-7.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-7.png
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
"Blink" Project
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Source code of `Qt Creator "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/qtcreator>`_.
|
@ -1,190 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_sublimetext:
|
||||
|
||||
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.
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
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 sublimetext --board %TYPE%
|
||||
|
||||
# For example, generate project for Arduino UNO
|
||||
platformio init --ide sublimetext --board uno
|
||||
|
||||
Then:
|
||||
|
||||
1. Import project via ``Menu: Project > Open Project...`` and select
|
||||
``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
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
First of all, we need to create "New Build System" with name "PlatformIO"
|
||||
from ``Menu: Tools > Build System > New Build System`` and fill it like
|
||||
described below:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
{
|
||||
"cmd": ["platformio", "-f", "-c", "sublimetext", "run"],
|
||||
"working_dir": "${project_path:${folder}}",
|
||||
"variants":
|
||||
[
|
||||
{
|
||||
"name": "Clean",
|
||||
"cmd": ["platformio", "-f", "-c", "sublimetext", "run", "--target", "clean"]
|
||||
},
|
||||
{
|
||||
"name": "Upload",
|
||||
"cmd": ["platformio", "-f", "-c", "sublimetext", "run", "--target", "upload"]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Secondly, we need to select "PlatformIO" Build System from a list:
|
||||
|
||||
.. image:: ../_static/ide-sublime-text-platformio-newproject-2.png
|
||||
|
||||
After that, we can use the necessary commands from
|
||||
``Menu: Tools > Command Palette`` or with ``Ctrl+Shift+P`` (Windows/Linux)
|
||||
``Cmd+Shift+P`` (Mac) shortcut.
|
||||
|
||||
.. image:: ../_static/ide-sublime-text-platformio-newproject-3.png
|
||||
|
||||
Command Hotkeys
|
||||
'''''''''''''''
|
||||
|
||||
Sublime Text allows to bind own hotkey per command. Let's setup them
|
||||
for PlatformIO commands using shortcut ``Menu: Preferences > Key-Bindings - User``:
|
||||
|
||||
.. image:: ../_static/ide-sublime-text-platformio-newproject-4.png
|
||||
|
||||
We are going to use these shortcuts:
|
||||
|
||||
* ``F11`` for clean project
|
||||
* ``F12`` for upload firmware to target device
|
||||
|
||||
In this case, the final code will look like:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[
|
||||
{ "keys": ["f11"], "command": "build", "args": {"variant": "Clean"} },
|
||||
{ "keys": ["f12"], "command": "build", "args": {"variant": "Upload"} }
|
||||
]
|
||||
|
||||
First program in Sublime Text
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
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`` (Windows/Linux) ``Cmd+N`` (Mac) with the next contents:
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
#include "Arduino.h"
|
||||
#define WLED 13 // Most Arduino boards already have an LED attached to pin 13 on the board itself
|
||||
|
||||
void setup()
|
||||
{
|
||||
pinMode(WLED, OUTPUT); // set pin as output
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
digitalWrite(WLED, HIGH); // set the LED on
|
||||
delay(1000); // wait for a second
|
||||
digitalWrite(WLED, LOW); // set the LED off
|
||||
delay(1000); // wait for a second
|
||||
}
|
||||
|
||||
2. Project Configuration File named ``platformio.ini`` must be located in the project root directory.
|
||||
Copy the source code which is described below to it.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
#
|
||||
# Project Configuration File
|
||||
#
|
||||
# A detailed documentation with the EXAMPLES is located here:
|
||||
# http://docs.platformio.org/en/latest/projectconf.html
|
||||
#
|
||||
|
||||
# A sign `#` at the beginning of the line indicates a comment
|
||||
# Comment lines are ignored.
|
||||
|
||||
[env:arduino_uno]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = uno
|
||||
|
||||
Conclusion
|
||||
~~~~~~~~~~
|
||||
|
||||
Taking everything into account, we can open project directory in Sublime Text using ``Menu: File > Open Folder`` and build it with shortcut ``Ctrl+B`` (Windows/Linux) or ``Cmd+B`` (Mac), clean project with shortcut ``F11`` and upload firmware to target with shortcut ``F12``.
|
||||
|
||||
Screenshot
|
||||
----------
|
||||
|
||||
.. image:: ../_static/ide-sublime-text-platformio-newproject-5.png
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
"Blink" Project
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Source code of `Sublime Text "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/sublimetext>`_.
|
@ -1,97 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_vim:
|
||||
|
||||
VIM
|
||||
===
|
||||
|
||||
`VIM <http://www.vim.org/>`_ is an open-source, powerful and configurable text
|
||||
editor. Vim is designed for use both from a command-line interface and as a
|
||||
standalone application in a graphical user interface.
|
||||
|
||||
This software can be used with:
|
||||
|
||||
* all available :ref:`platforms`
|
||||
* all available :ref:`frameworks`
|
||||
|
||||
.. 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>`_
|
||||
* Code Completion - `YouCompleteMe <https://github.com/Valloric/YouCompleteMe>`_ (see configuration example by **Anthony Ford** `PlatformIO/YouCompleteMe Integration <https://gist.github.com/ajford/f551b2b6fd4d6b6e1ef2>`_)
|
||||
* Syntax checking - `Syntastic <https://github.com/scrooloose/syntastic>`_
|
||||
|
||||
Put to the project directory ``Makefile`` wrapper with contents:
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
# Uncomment lines below if you have problems with $PATH
|
||||
#SHELL := /bin/bash
|
||||
#PATH := /usr/local/bin:$(PATH)
|
||||
|
||||
all:
|
||||
platformio -f -c vim run
|
||||
|
||||
upload:
|
||||
platformio -f -c vim run --target upload
|
||||
|
||||
clean:
|
||||
platformio -f -c vim run --target clean
|
||||
|
||||
program:
|
||||
platformio -f -c vim run --target program
|
||||
|
||||
uploadfs:
|
||||
platformio -f -c vim run --target uploadfs
|
||||
|
||||
update:
|
||||
platformio -f -c vim update
|
||||
|
||||
|
||||
Pre-defined targets:
|
||||
|
||||
+ ``Build`` - Build project without auto-uploading
|
||||
+ ``Clean`` - Clean compiled objects.
|
||||
+ ``Upload`` - Build and upload (if no errors)
|
||||
+ ``Upload using Programmer`` see :ref:`atmelavr_upload_via_programmer`
|
||||
+ ``Upload SPIFFS image`` see :ref:`platform_espressif_uploadfs`
|
||||
+ ``Update platforms and libraries`` - Update installed platforms and libraries via :ref:`cmd_update`.
|
||||
|
||||
|
||||
Now, in VIM ``cd /path/to/this/project`` and press ``Ctrl+B`` or ``Cmd+B``
|
||||
(Mac). *PlatformIO* should compile your source code from the ``src`` directory,
|
||||
make firmware and upload it.
|
||||
|
||||
.. note::
|
||||
If hotkey doesn't work for you, try to add this line
|
||||
``nnoremap <C-b> :make<CR>`` to ``~/.vimrc``
|
||||
|
||||
Articles / Manuals
|
||||
------------------
|
||||
|
||||
* `コマンドラインでArduino開発 : vim + platformio (Arduino development at the command line: VIM + PlatformIO, Japanese) <http://qiita.com/caad1229/items/7b5fb47f034ae6e0baf2>`_
|
||||
|
||||
See a full list with :ref:`articles`.
|
||||
|
||||
Screenshot
|
||||
----------
|
||||
|
||||
.. image:: ../_static/ide-platformio-vim.png
|
@ -1,164 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _ide_visualstudio:
|
||||
|
||||
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.
|
||||
|
||||
.. 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
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/#!/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
platformio init --ide sublimetext --board %TYPE%
|
||||
|
||||
# For example, generate project for Arduino UNO
|
||||
platformio init --ide 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
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Setup New Project
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
First of all, let's create new project from Visual Studio Start Page: ``Start > New Project`` or using ``Menu: File > New > Project``, then select project with ``Makefile`` type (``Visual C++ > General > Makefile Project``), fill ``Project name``, ``Solution name``, ``Location`` fields and press OK button.
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject.png
|
||||
|
||||
Secondly, we need to configure project with PlatformIO source code builder:
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject-2.png
|
||||
|
||||
If we want to use native AVR programming, we have to specify additional preprocessor symbol ("Preprocessor definitions" field) about your MCU. For example, an Arduino Uno is based on the ATmega328 MCU. In this case We will add new definition ``__AVR_ATmega328__``.
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject-2-1.png
|
||||
|
||||
Release Configuration is the same as Debug, so on the next step we check "Same as Debug Configuration" and click "Finish" button.
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject-3.png
|
||||
|
||||
Thirdly, we need to add directories with header files using project properties (right click on the project name or ``Alt-Enter`` shortcut) and add two directories to ``Configuration Properties > NMake > Include Search Path``:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
$(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\toolchain-atmelavr\avr\include
|
||||
$(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\framework-arduinoavr\cores\arduino
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject-5.png
|
||||
|
||||
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``:
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject-6.png
|
||||
|
||||
Copy the source code which is described below to file ``main.c``.
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
#include "Arduino.h"
|
||||
#define WLED 13 // Most Arduino boards already have an LED attached to pin 13 on the board itself
|
||||
|
||||
void setup()
|
||||
{
|
||||
pinMode(WLED, OUTPUT); // set pin as output
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
digitalWrite(WLED, HIGH); // set the LED on
|
||||
delay(1000); // wait for a second
|
||||
digitalWrite(WLED, LOW); // set the LED off
|
||||
delay(1000); // wait for a second
|
||||
}
|
||||
|
||||
2. Project Configuration File named ``platformio.ini`` must be located in the project root directory.
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject-7.png
|
||||
|
||||
Copy the source code which is described below to it.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
#
|
||||
# Project Configuration File
|
||||
#
|
||||
# A detailed documentation with the EXAMPLES is located here:
|
||||
# http://docs.platformio.org/en/latest/projectconf.html
|
||||
#
|
||||
|
||||
# A sign `#` at the beginning of the line indicates a comment
|
||||
# Comment lines are ignored.
|
||||
|
||||
[env:arduino_uno]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = uno
|
||||
|
||||
|
||||
Conclusion
|
||||
~~~~~~~~~~
|
||||
|
||||
Taking everything into account, we can build project with shortcut ``Ctrl+Shift+B`` or using ``Menu: Build > Build Solution``.
|
||||
|
||||
Screenshot
|
||||
----------
|
||||
|
||||
.. image:: ../_static/ide-vs-platformio-newproject-8.png
|
||||
:target: http://docs.platformio.org/en/latest/_static/ide-vs-platformio-newproject-8.png
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
"Blink" Project
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Source code of `Visual Studio "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/visualstudio>`_.
|
125
docs/index.rst
@ -1,125 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
PlatformIO is an open source ecosystem for IoT development
|
||||
==========================================================
|
||||
|
||||
**Cross-platform code builder and library manager. Continuous and IDE
|
||||
integration. Arduino and MBED compatible. Ready for Cloud compiling.**
|
||||
|
||||
* **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.*
|
||||
|
||||
* `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>`_
|
||||
* `Source Code <https://github.com/platformio/platformio>`_ |
|
||||
`Issues <https://github.com/platformio/platformio/issues>`_
|
||||
* `Blog <http://www.ikravets.com/category/computer-life/platformio>`_ |
|
||||
`Twitter <https://twitter.com/PlatformIO_Org>`_ |
|
||||
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
|
||||
`Facebook <https://www.facebook.com/platformio>`_ |
|
||||
`Reddit <http://www.reddit.com/r/platformio/>`_
|
||||
|
||||
Embedded Development. *Easier Than Ever.*
|
||||
-----------------------------------------
|
||||
|
||||
* Colourful command-line output
|
||||
* :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 toolchains, :ref:`frameworks` for the
|
||||
:ref:`Development Platforms <platforms>`
|
||||
|
||||
Smart Code Builder. *Fast and Reliable.*
|
||||
----------------------------------------
|
||||
|
||||
* Reliable, automatic dependency analysis and detection of build changes
|
||||
* Improved support for parallel builds
|
||||
* Ability to share built files in a cache
|
||||
* Lookup for external libraries which are installed via :ref:`librarymanager`
|
||||
|
||||
The Missing Library Manager. *It's here!*
|
||||
-----------------------------------------
|
||||
|
||||
* Friendly Command-Line Interface
|
||||
* Modern `Web 2.0 Library Search <http://platformio.org/#!/lib>`_
|
||||
* Library dependency management
|
||||
* Automatic library updating
|
||||
* It runs on Windows, Mac OS X, and Linux (+ARM).
|
||||
|
||||
For further details, please refer to
|
||||
:ref:`What is PlatformIO? How does it work? <faq_what_is_platformio>`
|
||||
|
||||
Contents
|
||||
--------
|
||||
|
||||
.. toctree::
|
||||
:caption: Getting Started
|
||||
:maxdepth: 2
|
||||
|
||||
demo
|
||||
installation
|
||||
quickstart
|
||||
userguide/index
|
||||
|
||||
.. toctree::
|
||||
:caption: Configuration
|
||||
:maxdepth: 2
|
||||
|
||||
projectconf
|
||||
envvars
|
||||
|
||||
.. toctree::
|
||||
:caption: Instruments
|
||||
:maxdepth: 3
|
||||
|
||||
Platforms & Boards <platforms/index>
|
||||
frameworks/index
|
||||
|
||||
.. 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,193 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _installation:
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
**PlatformIO** is written in `Python <https://www.python.org/downloads/>`_ and
|
||||
works on Mac OS X, Linux, Windows OS and *ARM*-based credit-card sized
|
||||
computers (`Raspberry Pi <http://www.raspberrypi.org>`_,
|
||||
`BeagleBone <http://beagleboard.org>`_,
|
||||
`CubieBoard <http://cubieboard.org>`_).
|
||||
|
||||
.. note::
|
||||
We are glad to announce official :ref:`ide_atom` which provides
|
||||
comprehensive facilities for IoT development: built-in PlatformIO CLI tool,
|
||||
Terminal and other instruments.
|
||||
|
||||
Try :ref:`ide_atom` for free now!
|
||||
|
||||
.. contents::
|
||||
|
||||
System requirements
|
||||
-------------------
|
||||
|
||||
:Operating System: Mac OS X, Linux (+ARM) or Windows
|
||||
:Python Interpreter:
|
||||
|
||||
Python 2.6 or 2.7. Python 2.7 is recommended
|
||||
|
||||
.. attention::
|
||||
**Windows Users**: Please `Download the latest Python 2.7.x
|
||||
<https://www.python.org/downloads/>`_ and install it.
|
||||
**DON'T FORGET** to select ``Add python.exe to Path`` feature on the
|
||||
"Customize" stage, otherwise ``pip`` command will not be available.
|
||||
|
||||
:Terminal Application:
|
||||
|
||||
All commands below should be executed in
|
||||
`Command-line <http://en.wikipedia.org/wiki/Command-line_interface>`_
|
||||
application (Terminal). For Mac OS X and Linux OS - *Terminal* application,
|
||||
for Windows OS – ``cmd.exe`` application.
|
||||
|
||||
Installation Methods
|
||||
--------------------
|
||||
|
||||
Please *choose ONE of* the following methods:
|
||||
|
||||
a) Python Package Manager
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The latest stable version of PlatformIO may be installed or upgraded via
|
||||
`pip <https://pip.pypa.io>`_ as follows:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
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:
|
||||
|
||||
b) 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)"
|
||||
|
||||
|
||||
Local Download (Mac / Linux / Windows)
|
||||
''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
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 (**MAY require** administrator access ``sudo``):
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# change directory to folder where is located downloaded "get-platformio.py"
|
||||
cd /path/to/dir/where/is/located/get-platformio.py/script
|
||||
|
||||
# run it
|
||||
python get-platformio.py
|
||||
|
||||
|
||||
On *Windows OS* it may look like:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# change directory to folder where is located downloaded "get-platformio.py"
|
||||
cd C:\path\to\dir\where\is\located\get-platformio.py\script
|
||||
|
||||
# run it
|
||||
C:\Python27\python.exe get-platformio.py
|
||||
|
||||
c) Full Guide
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
1. Check a ``python`` version (only 2.6-2.7 is supported):
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
python --version
|
||||
|
||||
*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>`_.
|
||||
|
||||
2. Install a ``platformio`` and related packages:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
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>`_.
|
||||
|
||||
For upgrading ``platformio`` to the latest version:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip install -U platformio
|
||||
|
||||
d) Development Version
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Install the latest PlatformIO from the ``develop`` branch:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# 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,415 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. |PIOAPICR| replace:: *PlatformIO Library Registry Crawler*
|
||||
.. _library_config:
|
||||
|
||||
library.json
|
||||
============
|
||||
|
||||
``library.json`` is a manifest file of development library. It allows developers
|
||||
to keep project in own structure and define:
|
||||
|
||||
* 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
|
||||
`associative array <http://en.wikipedia.org/wiki/Associative_array>`_
|
||||
(name/value pairs). An order doesn't matter. The allowable fields
|
||||
(names from pairs) are described below.
|
||||
|
||||
.. contents::
|
||||
|
||||
.. _libjson_name:
|
||||
|
||||
``name``
|
||||
--------
|
||||
|
||||
**Required** | Type: ``String`` | Max. Length: 50
|
||||
|
||||
A name of the library.
|
||||
|
||||
* Must be unique.
|
||||
* Should be slug style for simplicity, consistency and compatibility.
|
||||
Example: *Arduino-SPI*
|
||||
* Title Case, Aa-z, can contain digits and dashes (but not start/end
|
||||
with them).
|
||||
* Consecutive dashes are not allowed.
|
||||
|
||||
|
||||
.. _libjson_description:
|
||||
|
||||
``description``
|
||||
---------------
|
||||
|
||||
**Required** | Type: ``String`` | Max. Length: 255
|
||||
|
||||
The field helps users to identify and search for your library with a brief
|
||||
description. Describe the hardware devices (sensors, boards and etc.) which
|
||||
are suitable with it.
|
||||
|
||||
|
||||
.. _libjson_keywords:
|
||||
|
||||
``keywords``
|
||||
------------
|
||||
|
||||
**Required** | Type: ``String`` | Max. Length: 255
|
||||
|
||||
Used for search by keyword. Helps to make your library easier to discover
|
||||
without people needing to know its name.
|
||||
|
||||
The keyword should be lowercased, can contain a-z, digits and dash (but not
|
||||
start/end with them). A list from the keywords can be specified with
|
||||
separator ``,``
|
||||
|
||||
|
||||
.. _libjson_authors:
|
||||
|
||||
``authors``
|
||||
-----------
|
||||
|
||||
*Required* if :ref:`libjson_repository` field is not defined | Type: ``Object``
|
||||
or ``Array``
|
||||
|
||||
An author contact information
|
||||
|
||||
* ``name`` Full name (**Required**)
|
||||
* ``email``
|
||||
* ``url`` An author's contact page
|
||||
* ``maintainer`` Specify "maintainer" status
|
||||
|
||||
Examples:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
"authors":
|
||||
{
|
||||
"name": "John Smith",
|
||||
"email": "me@john-smith.com",
|
||||
"url": "http://www.john-smith/contact"
|
||||
}
|
||||
|
||||
...
|
||||
|
||||
"authors":
|
||||
[
|
||||
{
|
||||
"name": "John Smith",
|
||||
"email": "me@john-smith.com",
|
||||
"url": "http://www.john-smith/contact"
|
||||
},
|
||||
{
|
||||
"name": "Andrew Smith",
|
||||
"email": "me@andrew-smith.com",
|
||||
"url": "http://www.andrew-smith/contact",
|
||||
"maintainer": true
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
.. note::
|
||||
You can omit :ref:`libjson_authors` field and define
|
||||
:ref:`libjson_repository` field. Only *GitHub-based* repository is
|
||||
supported now. In this case
|
||||
|PIOAPICR| will use information from
|
||||
`GitHub API Users <https://developer.github.com/v3/users/>`_.
|
||||
|
||||
|
||||
.. _libjson_repository:
|
||||
|
||||
``repository``
|
||||
--------------
|
||||
|
||||
*Required* if :ref:`libjson_downloadurl` field is not defined | Type: ``Object``
|
||||
|
||||
The repository in which the source code can be found. The field consists for the
|
||||
next items:
|
||||
|
||||
* ``type``
|
||||
* ``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:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
"repository":
|
||||
{
|
||||
"type": "git",
|
||||
"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 target 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:
|
||||
|
||||
``downloadUrl``
|
||||
---------------
|
||||
|
||||
*Required* if :ref:`libjson_repository` field is not defined | Type: ``String``
|
||||
|
||||
It is the *HTTP URL* to the archived source code of library. It should end
|
||||
with the type of archive (``.zip`` or ``.tar.gz``).
|
||||
|
||||
.. note::
|
||||
|
||||
: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:
|
||||
|
||||
``url``
|
||||
-------
|
||||
|
||||
*Optional* | Type: ``String`` | Max. Length: 255
|
||||
|
||||
Home page of library (if is different from :ref:`libjson_repository` url).
|
||||
|
||||
|
||||
.. _libjson_include:
|
||||
|
||||
``include``
|
||||
-----------
|
||||
|
||||
*Optional* | Type: ``String`` or ``Array`` |
|
||||
`Glob Pattern <http://en.wikipedia.org/wiki/Glob_(programming)>`_
|
||||
|
||||
If :ref:`libjson_include` field is a type of ``String``, then
|
||||
|PIOAPICR| will recognize it like a "relative path inside
|
||||
repository/archive to library source code". See example below where the only
|
||||
source code from the relative directory ``LibrarySourceCodeHere`` will be
|
||||
included.
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
"include": "some/child/dir/LibrarySourceCodeHere"
|
||||
|
||||
If :ref:`libjson_include` field is a type of ``Array``, then
|
||||
|PIOAPICR| firstly will apply :ref:`libjson_exclude` filter and
|
||||
then include only directories/files which match with :ref:`libjson_include`
|
||||
patterns.
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
"include":
|
||||
[
|
||||
"dir/*.[ch]pp",
|
||||
"dir/examples/*",
|
||||
"*/*/*.h"
|
||||
]
|
||||
|
||||
Pattern Meaning
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Pattern
|
||||
- Meaning
|
||||
* - ``*``
|
||||
- matches everything
|
||||
* - ``?``
|
||||
- matches any single character
|
||||
* - ``[seq]``
|
||||
- matches any character in seq
|
||||
* - ``[!seq]``
|
||||
- matches any character not in seq
|
||||
|
||||
See more ``library.json`` :ref:`library_creating_examples`.
|
||||
|
||||
.. _libjson_exclude:
|
||||
|
||||
``exclude``
|
||||
-----------
|
||||
|
||||
*Optional* | Type: ``String`` or ``Array`` |
|
||||
`Glob Pattern <http://en.wikipedia.org/wiki/Glob_(programming)>`_
|
||||
|
||||
Exclude the directories and files which match with :ref:`libjson_exclude`
|
||||
patterns.
|
||||
|
||||
.. _libjson_frameworks:
|
||||
|
||||
``frameworks``
|
||||
--------------
|
||||
|
||||
*Optional* | Type: ``String`` or ``Array``
|
||||
|
||||
A list with compatible frameworks. The available framework types are defined in
|
||||
the :ref:`platforms` section.
|
||||
|
||||
If the library is compatible with the all frameworks, then you can use ``*``
|
||||
symbol:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
"frameworks": "*"
|
||||
|
||||
.. _libjson_platforms:
|
||||
|
||||
``platforms``
|
||||
-------------
|
||||
|
||||
*Optional* | Type: ``String`` or ``Array``
|
||||
|
||||
A list with compatible platforms. The available platform types are
|
||||
defined in :ref:`platforms` section.
|
||||
|
||||
If the library is compatible with the all platforms, then you can use ``*``
|
||||
symbol:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
"platforms": "*"
|
||||
|
||||
|
||||
.. _libjson_dependencies:
|
||||
|
||||
``dependencies``
|
||||
----------------
|
||||
|
||||
*Optional* | Type: ``Array`` or ``Object``
|
||||
|
||||
A list of dependent libraries. They will be installed automatically with
|
||||
:ref:`cmd_lib_install` command.
|
||||
|
||||
Allowed requirements for dependent library:
|
||||
|
||||
* ``name`` | Type: ``String``
|
||||
* ``authors`` | Type: ``String`` or ``Array``
|
||||
* ``frameworks`` | Type: ``String`` or ``Array``
|
||||
* ``platforms`` | Type: ``String`` or ``Array``
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
"dependencies":
|
||||
[
|
||||
{
|
||||
"name": "Library-Foo",
|
||||
"authors":
|
||||
[
|
||||
"Jhon Smith",
|
||||
"Andrew Smith"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Library-Bar",
|
||||
"frameworks": "FrameworkFoo, FrameworkBar"
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
See more ``library.json`` :ref:`library_creating_examples`.
|
||||
|
||||
.. _libjson_examples:
|
||||
|
||||
``examples``
|
||||
----------------
|
||||
|
||||
*Optional* | Type: ``String`` or ``Array`` |
|
||||
`Glob Pattern <http://en.wikipedia.org/wiki/Glob_(programming)>`_
|
||||
|
||||
A list of example patterns. This field is predefined with default value:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
"examples": [
|
||||
"[Ee]xamples/*/*.c",
|
||||
"[Ee]xamples/*/*.cpp",
|
||||
"[Ee]xamples/*/*.h",
|
||||
"[Ee]xamples/*/*.ino",
|
||||
"[Ee]xamples/*/*.pde"
|
||||
]
|
@ -1,157 +0,0 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
.. _library_creating:
|
||||
.. |PIOAPICR| replace:: *PlatformIO Library Registry Crawler*
|
||||
|
||||
Creating Library
|
||||
================
|
||||
|
||||
*PlatformIO* :ref:`librarymanager` doesn't have any requirements to a library
|
||||
source code structure. The only one requirement is library's manifest file -
|
||||
:ref:`library_config`. It can be located inside your library or in the another
|
||||
location where |PIOAPICR| will have *HTTP* access.
|
||||
|
||||
.. contents::
|
||||
|
||||
Source Code Location
|
||||
--------------------
|
||||
|
||||
There are a several ways how to share your library with the whole world
|
||||
(see `examples <https://github.com/platformio/platformio-libmirror/tree/master/configs>`_).
|
||||
|
||||
You can hold a lot of libraries (split into separated folders) inside one of
|
||||
the repository/archive. In this case please use :ref:`libjson_include`
|
||||
field to specify the relative path to your library's source code.
|
||||
|
||||
|
||||
At GitHub
|
||||
^^^^^^^^^
|
||||
|
||||
**Recommended**
|
||||
|
||||
If a library source code is located at `GitHub <https://github.com>`_, then
|
||||
you **need to specify** only these fields in the :ref:`library_config`:
|
||||
|
||||
* :ref:`libjson_name`
|
||||
* :ref:`libjson_keywords`
|
||||
* :ref:`libjson_description`
|
||||
* :ref:`libjson_repository`
|
||||
|
||||
|PIOAPICR| will populate the rest fields, like :ref:`libjson_version` or
|
||||
:ref:`libjson_authors` with an actual information from *GitHub*.
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
{
|
||||
"name": "IRremote",
|
||||
"keywords": "infrared, ir, remote",
|
||||
"description": "Send and receive infrared signals with multiple protocols",
|
||||
"repository":
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/shirriff/Arduino-IRremote.git"
|
||||
},
|
||||
"frameworks": "arduino",
|
||||
"platforms": "atmelavr"
|
||||
}
|
||||
|
||||
Under CVS (SVN/GIT)
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|PIOAPICR| can operate with a library source code that is under *CVS* control.
|
||||
The list of **required** fields in the :ref:`library_config` will look like:
|
||||
|
||||
* :ref:`libjson_name`
|
||||
* :ref:`libjson_keywords`
|
||||
* :ref:`libjson_description`
|
||||
* :ref:`libjson_authors`
|
||||
* :ref:`libjson_repository`
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
{
|
||||
"name": "XBee",
|
||||
"keywords": "xbee, protocol, radio",
|
||||
"description": "Arduino library for communicating with XBees in API mode",
|
||||
"authors":
|
||||
{
|
||||
"name": "Andrew Rapp",
|
||||
"email": "andrew.rapp@gmail.com",
|
||||
"url": "https://code.google.com/u/andrew.rapp@gmail.com/"
|
||||
},
|
||||
"repository":
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://code.google.com/p/xbee-arduino/"
|
||||
},
|
||||
"frameworks": "arduino",
|
||||
"platforms": "atmelavr"
|
||||
}
|
||||
|
||||
Self-hosted
|
||||
^^^^^^^^^^^
|
||||
|
||||
You can manually archive (*Zip, Tar.Gz*) your library source code and host it
|
||||
in the *Internet*. Then you should specify the additional fields,
|
||||
like :ref:`libjson_version` and :ref:`libjson_downloadurl`. The final list
|
||||
of **required** fields in the :ref:`library_config` will look like:
|
||||
|
||||
* :ref:`libjson_name`
|
||||
* :ref:`libjson_keywords`
|
||||
* :ref:`libjson_description`
|
||||
* :ref:`libjson_authors`
|
||||
* :ref:`libjson_version`
|
||||
* :ref:`libjson_downloadurl`
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
{
|
||||
"name": "OneWire",
|
||||
"keywords": "onewire, 1-wire, bus, sensor, temperature, ibutton",
|
||||
"description": "Control devices (from Dallas Semiconductor) that use the One Wire protocol (DS18S20, DS18B20, DS2408 and etc)",
|
||||
"authors":
|
||||
{
|
||||
"name": "Paul Stoffregen",
|
||||
"url": "http://www.pjrc.com/teensy/td_libs_OneWire.html"
|
||||
},
|
||||
"version": "2.2",
|
||||
"downloadUrl": "http://www.pjrc.com/teensy/arduino_libraries/OneWire.zip",
|
||||
"include": "OneWire",
|
||||
"frameworks": "arduino",
|
||||
"platforms": "atmelavr"
|
||||
}
|
||||
|
||||
|
||||
Register
|
||||
--------
|
||||
|
||||
The registration requirements:
|
||||
|
||||
* A library must adhere to the :ref:`library_config` specification.
|
||||
* There must be public *HTTP* access to the library :ref:`library_config` file.
|
||||
|
||||
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>`_
|