Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
44f4559f3c | ||
|
|
d3c1b2adf6 | ||
|
|
75d8a1e62b | ||
|
|
d80f77f555 | ||
|
|
3869d1de79 | ||
|
|
be6608645c | ||
|
|
d80bea9467 | ||
|
|
aa2cc9ceca | ||
|
|
450ecb3116 | ||
|
|
406a62421f | ||
|
|
de1ee7ee81 | ||
|
|
ad42f76485 | ||
|
|
ec83eaa0fa | ||
|
|
6b2b80e88d | ||
|
|
ff54a4ac50 | ||
|
|
413a22ff8e | ||
|
|
88882898b3 | ||
|
|
ab6f0211c6 | ||
|
|
8ceb5eeeb1 | ||
|
|
3f66a388f5 | ||
|
|
50c52c3b95 | ||
|
|
8c26bbf51c | ||
|
|
89834507e5 | ||
|
|
39f43f14f8 | ||
|
|
e202e00c30 | ||
|
|
759285e9bd | ||
|
|
1ca9a91689 | ||
|
|
72171b9500 | ||
|
|
943b95a955 | ||
|
|
e4c6c93d61 | ||
|
|
0144de4e47 | ||
|
|
0c3f46d3cf | ||
|
|
92bcb385b9 | ||
|
|
6b9ba7d40b | ||
|
|
60e4d70f99 | ||
|
|
340e8f3e18 | ||
|
|
99b910b806 | ||
|
|
aaf43fa423 | ||
|
|
61bad0d9a4 | ||
|
|
f51c3ffb18 | ||
|
|
48810e5749 | ||
|
|
5dbfc191f2 | ||
|
|
e839a2335e | ||
|
|
3e435dccda | ||
|
|
d0fad6c5bc | ||
|
|
23fa46a37f | ||
|
|
68d6da8838 | ||
|
|
ccdad8300e | ||
|
|
6df8f582d7 | ||
|
|
da35197a0b | ||
|
|
213b284086 | ||
|
|
fda9d3524c | ||
|
|
0c733886e1 | ||
|
|
35c7cfd0f4 | ||
|
|
2a2ac3eba0 | ||
|
|
760dcf724f | ||
|
|
c570df9a3b | ||
|
|
f76da86cf1 | ||
|
|
a13c8589cf | ||
|
|
270991fc3c | ||
|
|
56fcdd1657 | ||
|
|
fe6728f9c4 | ||
|
|
94246f75ae | ||
|
|
0f2aa3382c | ||
|
|
a2041ba90c | ||
|
|
45827f3651 | ||
|
|
0e66898524 | ||
|
|
6a27b251aa | ||
|
|
7ea26d1454 | ||
|
|
d1fe05a538 | ||
|
|
61b985829d | ||
|
|
699928a28c | ||
|
|
49aec9130e | ||
|
|
32490a92ce | ||
|
|
f9ca8c562b | ||
|
|
b110027a5c | ||
|
|
f082304173 | ||
|
|
6fe0838471 | ||
|
|
ab417fa84c | ||
|
|
6f69fdf0e0 | ||
|
|
2aeea6e1e5 | ||
|
|
42bf0c451f | ||
|
|
b1ecfdcfa1 | ||
|
|
5bff99ec5d | ||
|
|
6201edd509 | ||
|
|
be6ce1f162 | ||
|
|
7dee0ce173 | ||
|
|
2776ae9516 | ||
|
|
9ce4376d0d | ||
|
|
d61d4ecdc6 | ||
|
|
b53120bddf | ||
|
|
6c630a7266 | ||
|
|
911638e832 | ||
|
|
ba77d801b7 | ||
|
|
4219f257d9 | ||
|
|
baa447b876 | ||
|
|
b2eb3a0f7c | ||
|
|
20e0718bd5 | ||
|
|
bf1abdcba2 | ||
|
|
dfded704ae | ||
|
|
8549f39667 | ||
|
|
e8b936a00a | ||
|
|
757d8a1668 | ||
|
|
f527920019 | ||
|
|
77e8b8290a | ||
|
|
30ca5c6370 | ||
|
|
673f5bbdc3 | ||
|
|
41347de1ec | ||
|
|
8d7fdcb2a5 | ||
|
|
7a1fc1ed19 | ||
|
|
9bfc82bb70 | ||
|
|
1dee7c775d | ||
|
|
b95cda55ad | ||
|
|
7870eeda6f | ||
|
|
99681464ce | ||
|
|
a954b0224f | ||
|
|
85e4cc283d | ||
|
|
7cc89ccd5d | ||
|
|
99e6205bc5 | ||
|
|
a3228f0272 | ||
|
|
926dc99d65 | ||
|
|
052780e595 | ||
|
|
ef324e6e5f | ||
|
|
1646c4e953 | ||
|
|
ecfa569c93 | ||
|
|
03c3d434a4 | ||
|
|
ed17f5987c | ||
|
|
94946bb9a5 | ||
|
|
3658ff1ff3 | ||
|
|
4d6d2c1b7f | ||
|
|
b7f74fa6e8 | ||
|
|
a8c6635f55 | ||
|
|
3aebc9ce42 | ||
|
|
59d972d4aa | ||
|
|
765384cd7e | ||
|
|
e617c0faa9 | ||
|
|
ce1658ca03 | ||
|
|
4cea1e7a26 | ||
|
|
5c82e9a455 | ||
|
|
9e2669b99e | ||
|
|
e77f909b85 | ||
|
|
25caebb070 | ||
|
|
8eba96fd2f | ||
|
|
c029bf0ebb | ||
|
|
7955412bf9 | ||
|
|
72fe2e5f97 | ||
|
|
87e77e0019 | ||
|
|
4dd50b7960 | ||
|
|
a4b0a83cf9 | ||
|
|
9e01130551 | ||
|
|
782be9d60d | ||
|
|
8b20069aeb | ||
|
|
6ce70cd349 | ||
|
|
f9c4b72d76 | ||
|
|
3dc43a384f | ||
|
|
821bd5fb48 | ||
|
|
24f764fa46 | ||
|
|
48641c73ee | ||
|
|
43e267346b | ||
|
|
419170689e | ||
|
|
c77e1f78d5 | ||
|
|
30c111884a | ||
|
|
c40cdc8336 | ||
|
|
64de7977fc | ||
|
|
976bd2fc1b | ||
|
|
f7e285bc85 | ||
|
|
dcc1e7918e | ||
|
|
6ca21c852c | ||
|
|
8bb8ce09d1 | ||
|
|
c3c99dd1bb | ||
|
|
032c480a5f | ||
|
|
31ba16e7cc | ||
|
|
0d942d08fd | ||
|
|
e694a845c1 | ||
|
|
0dcf34e7e0 | ||
|
|
e52122e677 | ||
|
|
2f7f42b460 | ||
|
|
421678e254 | ||
|
|
76729ae905 | ||
|
|
33d5d2adde | ||
|
|
d5dcb58140 | ||
|
|
79da218624 | ||
|
|
22c9ef9d63 | ||
|
|
f5ac9f0b79 | ||
|
|
5aebf02705 | ||
|
|
20e3975495 | ||
|
|
99ec57a6d0 | ||
|
|
12435f3e8e | ||
|
|
f5bb6d95f0 | ||
|
|
c4dba7e9c3 | ||
|
|
7209813fbd | ||
|
|
ee9734ae80 | ||
|
|
c7415c35e3 | ||
|
|
f44e7fdbed | ||
|
|
8d31a93329 | ||
|
|
6d814bb6ea | ||
|
|
f0d3b78bb4 | ||
|
|
c1bb5733ae | ||
|
|
d1777b7807 | ||
|
|
8cb3a3f3c7 | ||
|
|
da616cdbfe | ||
|
|
8e70deafb3 | ||
|
|
cb3b886e88 | ||
|
|
f6227a42bd | ||
|
|
2adad6e195 | ||
|
|
3180314785 | ||
|
|
3a0d2579ea | ||
|
|
746b0ae8d2 | ||
|
|
28a8b931db | ||
|
|
c57a77d022 | ||
|
|
b1d575f345 | ||
|
|
1889767d5c | ||
|
|
02ccc74235 | ||
|
|
aeb06ea8a3 | ||
|
|
0895c1e1b9 | ||
|
|
5b9e529f25 | ||
|
|
2e9bd45695 | ||
|
|
9899648f30 | ||
|
|
fbeef3f0bb | ||
|
|
bda732735a | ||
|
|
acb7288bdd | ||
|
|
91d952ab49 | ||
|
|
d00b793bf6 | ||
|
|
dd8786396d | ||
|
|
f320145307 | ||
|
|
6a9a0a84fd | ||
|
|
ad4abaf832 | ||
|
|
2f5eb4cb6d | ||
|
|
7ddd503c1c | ||
|
|
033a8ea7fd | ||
|
|
0ad3c6b619 | ||
|
|
5b4f4b176c | ||
|
|
6cc5143a11 | ||
|
|
36f41daae7 | ||
|
|
e6fe18c19a | ||
|
|
c9648663bd | ||
|
|
4dbfab2479 | ||
|
|
cc2ec06cb2 | ||
|
|
0ff1e2f571 | ||
|
|
fc9c93586a | ||
|
|
5dec945bf3 | ||
|
|
71e9fb149f | ||
|
|
e2769f26a5 | ||
|
|
5d6046b5c2 | ||
|
|
8554859156 | ||
|
|
0c1609a324 | ||
|
|
83be5055a3 | ||
|
|
b82c27f645 | ||
|
|
bc3b531946 | ||
|
|
dcba895d3c | ||
|
|
817d32f63e | ||
|
|
7761b60f12 | ||
|
|
4d6a0e4d9f | ||
|
|
930e299b59 | ||
|
|
9bed9451fb | ||
|
|
b56bde1c06 | ||
|
|
17cda47d17 | ||
|
|
dbc6c2112c | ||
|
|
87482529f2 | ||
|
|
9e40ab93a0 | ||
|
|
000cfade37 | ||
|
|
bb775cc609 | ||
|
|
9c3aca6e09 | ||
|
|
7399791f39 | ||
|
|
918f5d7f78 | ||
|
|
d479098b06 | ||
|
|
7ee1008701 | ||
|
|
705fcf7e11 | ||
|
|
355ee80601 | ||
|
|
66c370415b | ||
|
|
68e75fef66 | ||
|
|
1cc727bd4c | ||
|
|
f045c5f0b3 | ||
|
|
494dfea03b | ||
|
|
b648255dab | ||
|
|
d914aa166a | ||
|
|
c0fb837c32 | ||
|
|
9c9d636aaf | ||
|
|
9e28460778 | ||
|
|
366f9bdd47 | ||
|
|
14b0526ccc | ||
|
|
1d218ab9b5 | ||
|
|
8e1659cfbd | ||
|
|
4b26b7aa63 | ||
|
|
98d28ab438 | ||
|
|
8762af9ca9 | ||
|
|
72c1676448 | ||
|
|
4d9b08b4a4 | ||
|
|
2487f8c5f6 | ||
|
|
8b52d2eb63 | ||
|
|
dc14760360 | ||
|
|
5fee00f27b | ||
|
|
5ab36e47ca | ||
|
|
fcd36b7312 | ||
|
|
25638c79bd | ||
|
|
1ee5327373 | ||
|
|
81d24c36ef | ||
|
|
65cc58d098 | ||
|
|
0ca8723a2e | ||
|
|
371d7c6dd2 | ||
|
|
7916c3952e | ||
|
|
c8d964fd08 | ||
|
|
94f92c9e21 | ||
|
|
59bf4a563b | ||
|
|
20bcbeb83a | ||
|
|
30f16c7651 | ||
|
|
c3295f0d17 | ||
|
|
4e66890015 | ||
|
|
4675c3ec47 | ||
|
|
1d912fa6b2 | ||
|
|
739d768e8e | ||
|
|
4e829a585a | ||
|
|
be63c9db5b | ||
|
|
4ced545e8f | ||
|
|
b7bc84fe29 | ||
|
|
32161da283 | ||
|
|
4aecf23f04 | ||
|
|
2a84c1e226 | ||
|
|
614f166a29 | ||
|
|
81d0c2b0f9 | ||
|
|
fd8729283b | ||
|
|
ec19a44c30 | ||
|
|
ba6b54275f | ||
|
|
2f7c033bcc | ||
|
|
c0ccc8f4f6 | ||
|
|
6852a7e351 | ||
|
|
a659062fdf | ||
|
|
2cc2c8baac | ||
|
|
7b1d6f57cd | ||
|
|
c6300681c8 | ||
|
|
f69a4a7710 | ||
|
|
2633befe8f | ||
|
|
cf95367a7d | ||
|
|
6701e7d0a2 | ||
|
|
ed8bc322ca | ||
|
|
715609b947 | ||
|
|
faa37ad218 | ||
|
|
634fc88706 | ||
|
|
3d62a1c9df | ||
|
|
f5e47e573f | ||
|
|
7ae1cbcdcb | ||
|
|
7e789fbb46 | ||
|
|
830be57f38 | ||
|
|
cc620b15b0 | ||
|
|
40a45941d8 | ||
|
|
5921ea6ed1 | ||
|
|
55fab770bd | ||
|
|
a8957ec91a | ||
|
|
3536f83f38 | ||
|
|
74da48fdfc | ||
|
|
f7af19d37f | ||
|
|
71fa3a0500 | ||
|
|
667019f19b | ||
|
|
2edbf8491f | ||
|
|
8b2eb309ab | ||
|
|
26aa8c78b5 | ||
|
|
c150b4bf37 | ||
|
|
b5b9d570f1 | ||
|
|
2e7c386c43 | ||
|
|
4cb0c6fb95 | ||
|
|
79c371de40 | ||
|
|
f441e95080 | ||
|
|
2d9485cf2d | ||
|
|
56f17e758a | ||
|
|
1d5641d77a | ||
|
|
2627f4a6a9 | ||
|
|
ace784ecbb | ||
|
|
d67739ce94 | ||
|
|
586ab10b9a | ||
|
|
81d2c027cf | ||
|
|
c9b16d9d6f | ||
|
|
ff99b728f7 | ||
|
|
75066da267 | ||
|
|
c421a09e4a | ||
|
|
6d3269718f | ||
|
|
1b1f4b213a | ||
|
|
d8d3751f84 | ||
|
|
6ccd4e94e2 | ||
|
|
4c32244bc5 | ||
|
|
166107690e | ||
|
|
422234be31 | ||
|
|
da1f924269 | ||
|
|
06f1f7e682 | ||
|
|
ccb5a991e4 | ||
|
|
0d7f35d7e0 | ||
|
|
652ee8f985 | ||
|
|
e725092984 | ||
|
|
47acc9fb23 | ||
|
|
9564b72636 | ||
|
|
fea85bc01f | ||
|
|
f7d0c83104 | ||
|
|
6ae9ac20ab | ||
|
|
64473b0425 | ||
|
|
7a580ee1ea | ||
|
|
85b0e7e956 | ||
|
|
191ce382f3 | ||
|
|
5852c01277 | ||
|
|
57e773d75e | ||
|
|
4798aa99d6 | ||
|
|
ea808a3687 | ||
|
|
239d068911 | ||
|
|
ccadfa4585 | ||
|
|
ed955b2741 | ||
|
|
c70b1e8fb8 | ||
|
|
954fd0bd3d | ||
|
|
f8cdddb7a5 | ||
|
|
c91f771a33 | ||
|
|
24ff65fd8f | ||
|
|
9976fb64b1 | ||
|
|
47c9e8799c | ||
|
|
416edc7da0 | ||
|
|
7246fb93d2 | ||
|
|
05cfb52ee1 | ||
|
|
9b97acc3e0 | ||
|
|
8e2160a189 | ||
|
|
8e4f671a2c | ||
|
|
30fac66c39 | ||
|
|
9572eda045 | ||
|
|
503cca6ea8 | ||
|
|
ac63d46fd6 | ||
|
|
45fee0259a | ||
|
|
89c7ba1f8c | ||
|
|
a33cfa7bcf | ||
|
|
0156400ed4 | ||
|
|
6a609c0ea4 | ||
|
|
a5f3b99496 | ||
|
|
c54564f6a8 | ||
|
|
8acd778259 | ||
|
|
f8211bf97c | ||
|
|
06424d0300 | ||
|
|
8d0aaaee02 | ||
|
|
1e5e2cf1ee | ||
|
|
f1e935ec8a | ||
|
|
80af69ed7a | ||
|
|
8b335014ca | ||
|
|
90f45e032b | ||
|
|
9d86ffb085 | ||
|
|
a98cff619d | ||
|
|
16f2b899a1 | ||
|
|
e05f430953 | ||
|
|
34a10f7f28 | ||
|
|
b309808a9c | ||
|
|
a38862256c | ||
|
|
7de6648593 | ||
|
|
7d5ada74e0 | ||
|
|
d56bb776fd | ||
|
|
480ba5f142 | ||
|
|
f034922af4 | ||
|
|
8d3840fc1f | ||
|
|
5da63d74b1 | ||
|
|
7e880b8629 | ||
|
|
ba41ec3d0e | ||
|
|
f17f3643d8 | ||
|
|
c5efea21c5 | ||
|
|
97fa64f8d5 | ||
|
|
59c3953c97 | ||
|
|
7ba7226fd0 | ||
|
|
3a1515ad21 | ||
|
|
6d070595dc | ||
|
|
cc4e8e9547 | ||
|
|
fe2bb63b8e | ||
|
|
4f524612c4 | ||
|
|
4d2d04bd09 | ||
|
|
a3f4617c5e | ||
|
|
80d4d2512c | ||
|
|
2d4ac415f8 | ||
|
|
ee123aeab7 | ||
|
|
90088a1bf0 | ||
|
|
ff80cee2f6 | ||
|
|
45927223de | ||
|
|
3050243748 | ||
|
|
42443c368c | ||
|
|
d5b57218e7 | ||
|
|
2c7ce5e4f3 | ||
|
|
3344fc3c9c | ||
|
|
3304b268fc | ||
|
|
b17769acae | ||
|
|
7f14ce8d58 | ||
|
|
730c966c91 | ||
|
|
f05bd0797f | ||
|
|
55a6d25cee | ||
|
|
66f6a598f4 | ||
|
|
e91f7f98e2 | ||
|
|
348c745a64 | ||
|
|
4760c903e7 | ||
|
|
719c41e291 | ||
|
|
9ffe8b6196 | ||
|
|
f40b9151dc | ||
|
|
5592b1f3c1 | ||
|
|
1a343c6458 | ||
|
|
a67a3d03f7 | ||
|
|
5f338ae6e3 | ||
|
|
62c45a782e | ||
|
|
c94d1addd0 | ||
|
|
3a0325a865 | ||
|
|
7f997e9cd0 | ||
|
|
a1c8fa2df2 | ||
|
|
7c8a5ae68c | ||
|
|
570155347e | ||
|
|
51327a7e71 | ||
|
|
c5f06cc6ea | ||
|
|
6c5ce7e8f8 | ||
|
|
a4fac0082d | ||
|
|
e60b08539b | ||
|
|
0958d88afe | ||
|
|
f5e3ba29a0 | ||
|
|
dff0e8c406 | ||
|
|
047b9a52d4 | ||
|
|
0d09e9a7da | ||
|
|
dbc5e87f35 | ||
|
|
9d83d6c703 | ||
|
|
df0b90d15f | ||
|
|
b65c9bd26d | ||
|
|
2a49df0439 | ||
|
|
65abd14751 | ||
|
|
c54184fddb | ||
|
|
403e489c3d | ||
|
|
714fd985f7 | ||
|
|
72dede5a91 | ||
|
|
e3752b5755 | ||
|
|
adee9486cd | ||
|
|
f223b2ad7b | ||
|
|
7250122521 | ||
|
|
519fef75df | ||
|
|
61c3574bce | ||
|
|
982d7bab6d | ||
|
|
71d71fbe70 | ||
|
|
556e376064 | ||
|
|
7802fd6e42 | ||
|
|
9e07afdf36 | ||
|
|
871972e1bd | ||
|
|
367f4f9c15 | ||
|
|
b7529e52cc | ||
|
|
7ec7a7005c | ||
|
|
430c7279b9 | ||
|
|
a9980c1d51 | ||
|
|
d9cc3513fa | ||
|
|
d9de06256a | ||
|
|
3f5510eb0f | ||
|
|
e8f3e3234d | ||
|
|
2d760c36fb | ||
|
|
7d24505454 | ||
|
|
598e9f9c77 | ||
|
|
2be9b8fcaf | ||
|
|
34bfb6d63a | ||
|
|
4af0d8fab3 | ||
|
|
a9408d9f62 | ||
|
|
ac39184b33 | ||
|
|
d78ec75057 | ||
|
|
00a284bd03 | ||
|
|
a1922ddfa1 | ||
|
|
ea2331ddb2 | ||
|
|
5761e688b6 | ||
|
|
1dd51f7c21 | ||
|
|
3ce92eebec | ||
|
|
1dcff8797c | ||
|
|
4a96360e56 | ||
|
|
bfd22329bf | ||
|
|
055cf03ce3 | ||
|
|
d10cb8d98a | ||
|
|
d8fb67cc55 | ||
|
|
efaa786ab5 | ||
|
|
4cd7b3e75b | ||
|
|
a6cfb1bf86 | ||
|
|
4df25a401e | ||
|
|
4da79371cf | ||
|
|
cefd7e3c3b | ||
|
|
0b4397786b | ||
|
|
d346e10624 | ||
|
|
b117991a91 | ||
|
|
5b4b1308a5 | ||
|
|
c2b7468b14 | ||
|
|
2690f7c195 | ||
|
|
5e3628f612 | ||
|
|
e870ed9df3 | ||
|
|
efeee99cad | ||
|
|
0fb8a77935 | ||
|
|
68592f88c5 | ||
|
|
4de6a93f63 | ||
|
|
0fd7542fff | ||
|
|
8aabe53504 | ||
|
|
9805062fa4 | ||
|
|
d440c58427 | ||
|
|
51b18bae69 | ||
|
|
7b980d56b7 | ||
|
|
f0fed85f5a | ||
|
|
a7ea56dee6 | ||
|
|
a2d5f12dbb | ||
|
|
7c9298c9d5 | ||
|
|
e9f0e54b5b | ||
|
|
b16154bafb | ||
|
|
b01a6dccf2 | ||
|
|
a47f2c011a | ||
|
|
ebb9da3288 | ||
|
|
7d49ef9dfa | ||
|
|
47c2d30dd0 | ||
|
|
d25e41e52b | ||
|
|
31affa1e6b | ||
|
|
1a8e097443 | ||
|
|
809838150a | ||
|
|
bec0c2f742 | ||
|
|
94090570f1 | ||
|
|
db679eb9de | ||
|
|
e05148a4b8 | ||
|
|
a8bbaab3bd | ||
|
|
2ca08afef9 | ||
|
|
4501588df2 | ||
|
|
a6235086d3 | ||
|
|
586fbd0509 | ||
|
|
4e9a08dbdc | ||
|
|
c3a1d9498d | ||
|
|
e8d42be432 | ||
|
|
ddaf7be33a | ||
|
|
86eb05a99a | ||
|
|
80cd9a0f1d | ||
|
|
dc1f72c097 | ||
|
|
b904b7ec94 | ||
|
|
e276550011 | ||
|
|
64697d0b27 | ||
|
|
10f5cdd511 | ||
|
|
9195ac9240 | ||
|
|
a6fe7443f5 | ||
|
|
f7098b90ef | ||
|
|
ffd7ffb3a5 | ||
|
|
249cf80259 | ||
|
|
c3f952f086 | ||
|
|
d4b1f02b6e | ||
|
|
b3aa9a9d26 | ||
|
|
611f884b4e | ||
|
|
bb18ba21ab | ||
|
|
6953c3723f | ||
|
|
a5032fd5e8 | ||
|
|
07b9298caf | ||
|
|
097182fdd9 | ||
|
|
e9a5fd9652 | ||
|
|
8c7b919c24 | ||
|
|
7fd75fd945 | ||
|
|
ec46e84f3d | ||
|
|
d9a19bb82a | ||
|
|
ef1730a7dc | ||
|
|
8833610d9c | ||
|
|
4c76e51dd1 | ||
|
|
56a5d84914 | ||
|
|
b2a4dbf18f | ||
|
|
a854c91e60 | ||
|
|
0515e51826 | ||
|
|
9da96ebb15 | ||
|
|
073dc200a0 | ||
|
|
e577c7d786 | ||
|
|
bb78389dfc | ||
|
|
764ab0eac5 | ||
|
|
6904653718 | ||
|
|
2d4aa54d75 | ||
|
|
ddb0afc4cd | ||
|
|
2dc1b8f540 | ||
|
|
7cab77c5e5 | ||
|
|
84feba288e | ||
|
|
fef2fb4de0 | ||
|
|
25254bee51 | ||
|
|
6f61cba2cd | ||
|
|
497b15e514 | ||
|
|
49df7ebe19 | ||
|
|
cb84df0b44 | ||
|
|
015dd8b3fc | ||
|
|
1125659383 | ||
|
|
069305a6f0 | ||
|
|
a0658f9a01 | ||
|
|
6181ca0c3b | ||
|
|
e156670a8f | ||
|
|
b12ce6a0b8 | ||
|
|
3314d213b8 | ||
|
|
1b01cbb16b | ||
|
|
cc731f5f8e | ||
|
|
4df452cb4b | ||
|
|
dc02e77c0f | ||
|
|
3aab6eb4a6 | ||
|
|
ccb7819f9a | ||
|
|
7e8371c85e | ||
|
|
6c5e8f0e27 | ||
|
|
b4d3c60ff7 | ||
|
|
7451a65333 | ||
|
|
1cd5657daa | ||
|
|
a7a8f4cd71 | ||
|
|
9322a324d8 | ||
|
|
b5ed96496c | ||
|
|
1aaae62cf9 | ||
|
|
208d5541d5 | ||
|
|
6961465501 | ||
|
|
68e2c3cb18 | ||
|
|
af96cb3e49 | ||
|
|
4a77bd5b0d | ||
|
|
2e34df9fa5 | ||
|
|
f106bfd3d0 | ||
|
|
e113b0c859 | ||
|
|
85028da6d0 | ||
|
|
02dbfe33a3 | ||
|
|
56b0ba6dd4 | ||
|
|
1c5be8c54c | ||
|
|
7a26f68ba9 | ||
|
|
cf7a400a6d | ||
|
|
dd55c27bed | ||
|
|
e9cc704777 | ||
|
|
af56ce7fb6 | ||
|
|
6f5be97fe9 | ||
|
|
4b6b5abd35 | ||
|
|
881285970b | ||
|
|
fda5b00e90 | ||
|
|
fd2de92cc6 | ||
|
|
812e26d82c | ||
|
|
5a0158e6f1 | ||
|
|
0df6a16188 | ||
|
|
7afbf7b3c3 | ||
|
|
beeb6dfa2d | ||
|
|
36e8edd80a | ||
|
|
0944d27240 | ||
|
|
60a3b451fb | ||
|
|
0139f1248b | ||
|
|
e043c85429 | ||
|
|
536189789f | ||
|
|
881c3bc020 | ||
|
|
b728fdd9ab | ||
|
|
43ecbf2f74 | ||
|
|
a9a7004141 | ||
|
|
44271fc202 | ||
|
|
8db19e8a1f | ||
|
|
325e6fe64a | ||
|
|
4ada6c8814 | ||
|
|
2bb6574852 | ||
|
|
fcd39e68bf | ||
|
|
a201e547ae | ||
|
|
f032f517c4 | ||
|
|
ba456d4044 | ||
|
|
56d2f5bc52 | ||
|
|
8bc6f4de3e | ||
|
|
1829a3c1f2 | ||
|
|
cb386edbf5 | ||
|
|
258cda68a5 | ||
|
|
17c3326c31 | ||
|
|
be3d1793e3 | ||
|
|
f296e8655f | ||
|
|
66125885b0 | ||
|
|
5588cc4aca | ||
|
|
e2fc9ce036 | ||
|
|
44aa36322b | ||
|
|
a1b42f31ba | ||
|
|
870be68c52 | ||
|
|
d19d5b99db | ||
|
|
23c02f8e1a | ||
|
|
7af988a620 | ||
|
|
19091e8638 | ||
|
|
f0cbd9007c | ||
|
|
d9e281993f | ||
|
|
616305a1a7 | ||
|
|
872ebfe6ca | ||
|
|
035cb04f77 | ||
|
|
847d64b2ac | ||
|
|
0c15064686 | ||
|
|
eff11c69dd | ||
|
|
2a8c514bed | ||
|
|
5a1a0cdc91 | ||
|
|
e16b621c96 | ||
|
|
fd682caabb | ||
|
|
5156d821f8 | ||
|
|
7e9a773af3 | ||
|
|
52e852952a | ||
|
|
a29a25a8e3 | ||
|
|
452a595d28 | ||
|
|
9bd053ab47 | ||
|
|
fcf23e1f4b | ||
|
|
41aeed8060 | ||
|
|
edd8ddef58 | ||
|
|
76dede8fb9 | ||
|
|
5d568c6ee4 | ||
|
|
9e43ecee09 | ||
|
|
18cf4d6b17 | ||
|
|
dde3a81494 | ||
|
|
e337181a25 | ||
|
|
29eca9786b | ||
|
|
22f60dee68 | ||
|
|
e00fe33d9e | ||
|
|
07485f76de | ||
|
|
dc5f50bf70 | ||
|
|
9e1f8763f1 | ||
|
|
20fe2a465f | ||
|
|
b63a93d103 | ||
|
|
1774dad526 | ||
|
|
4905c54620 | ||
|
|
4bcf990a68 | ||
|
|
a9b6c532b0 | ||
|
|
927e7fd102 | ||
|
|
7b5766c2bd | ||
|
|
5135dfc446 | ||
|
|
43b42bb5e7 | ||
|
|
6bbb2087bd | ||
|
|
6b27c56c8e | ||
|
|
22ee9a29c1 | ||
|
|
23a8d508db | ||
|
|
582da18a2a | ||
|
|
2ab3e78e1d | ||
|
|
92f8cf6a9e | ||
|
|
5654bdf6fa | ||
|
|
4e0fde191b | ||
|
|
0e9f5dc9c3 | ||
|
|
03590d1bb1 | ||
|
|
3b622bad4d | ||
|
|
ced714c271 | ||
|
|
3bbff03497 | ||
|
|
15b118f27b | ||
|
|
5f484c698b | ||
|
|
18300f47a1 | ||
|
|
a582ee2967 | ||
|
|
7f032495b2 | ||
|
|
cb6dd6006e | ||
|
|
13bb2550cc | ||
|
|
b5581a2d30 | ||
|
|
6b52b0a831 | ||
|
|
0e2a3e4368 | ||
|
|
fa8b6ac807 | ||
|
|
920d54afeb | ||
|
|
4c9c3c1312 | ||
|
|
bdd4b75e8c | ||
|
|
559c2bb0f5 | ||
|
|
e4bfdef173 | ||
|
|
dda9ac4dc3 | ||
|
|
cb7199a9ec | ||
|
|
749f5e2eb9 | ||
|
|
87a449351c | ||
|
|
21fb34049d | ||
|
|
7dbed4c1f1 | ||
|
|
5105053589 | ||
|
|
269e9e23d4 | ||
|
|
5f3827481e | ||
|
|
a84d1d0682 | ||
|
|
9a052d2efa | ||
|
|
b65fba2775 | ||
|
|
9f949f6e29 | ||
|
|
ba75ff94f8 | ||
|
|
a7ddb44a36 | ||
|
|
0f38b9e34a | ||
|
|
3ea2751179 | ||
|
|
daeb1891d0 | ||
|
|
142fe34714 | ||
|
|
5e45bc7028 | ||
|
|
4c9c847f8d | ||
|
|
b3c15c0127 | ||
|
|
37a9379f45 | ||
|
|
a92dacc44c | ||
|
|
a38c3c04a9 | ||
|
|
e775bd14f2 | ||
|
|
15b38c61f6 | ||
|
|
d628af5c88 | ||
|
|
f00eed1a56 | ||
|
|
2e4e79fac4 | ||
|
|
da93c145ae | ||
|
|
b61dcad353 | ||
|
|
7e13c7bd0c | ||
|
|
4d6e5630e9 | ||
|
|
b753fea2ba | ||
|
|
9e560d2c52 | ||
|
|
f13e8a0874 | ||
|
|
55fab58823 | ||
|
|
56f33690a5 | ||
|
|
2229b55f33 | ||
|
|
e59a630f45 | ||
|
|
a96d865e8f | ||
|
|
2bedef4d54 | ||
|
|
a54228181c | ||
|
|
0c2f09df87 | ||
|
|
cac4500f6a | ||
|
|
6b33f57c31 | ||
|
|
c1dc569433 | ||
|
|
9622eb1014 | ||
|
|
df0e663f1b | ||
|
|
8796ce1794 | ||
|
|
dc8b8ef7bc | ||
|
|
ea1121f833 | ||
|
|
aa066e9230 | ||
|
|
d022b1b936 | ||
|
|
76289fd1b9 | ||
|
|
1a22bababa | ||
|
|
05ca238035 | ||
|
|
8f7a465d63 | ||
|
|
6acd513fe7 | ||
|
|
e3385ed8dc | ||
|
|
5e9bfc6b89 | ||
|
|
1d2aa492c7 | ||
|
|
5ea9b3f81d | ||
|
|
f707e6bbfe | ||
|
|
70b7b8921c | ||
|
|
f941908db9 | ||
|
|
5559d5fde3 | ||
|
|
56cc30678a | ||
|
|
abe872502b | ||
|
|
cce96082f1 | ||
|
|
7d09d02113 | ||
|
|
9b30fe1b57 | ||
|
|
12aa32892e | ||
|
|
881227c4ef | ||
|
|
7da47fdb10 | ||
|
|
45002d9bf3 | ||
|
|
38b9597e0e | ||
|
|
41041b827b | ||
|
|
8b0906b9ee | ||
|
|
3e66509aed | ||
|
|
8baeeb51a5 | ||
|
|
282feb85a5 | ||
|
|
b64534db74 | ||
|
|
3126181d5e | ||
|
|
3a54863b61 | ||
|
|
d69fcdb505 | ||
|
|
75ed59b299 | ||
|
|
76b31ef091 | ||
|
|
efc96ca6b7 | ||
|
|
2ebde4f0f6 | ||
|
|
9cb136a8e7 | ||
|
|
b316e5aa49 | ||
|
|
21f53f1507 | ||
|
|
62b6ecee69 | ||
|
|
f9f14a8a08 | ||
|
|
e468b021ae | ||
|
|
9891d43b02 | ||
|
|
a330eb65e4 | ||
|
|
4a783fba42 | ||
|
|
964950228f | ||
|
|
29cbff11ea | ||
|
|
e7dabc72e5 | ||
|
|
e850483e98 | ||
|
|
4c814944bc | ||
|
|
1a1c53d3e1 | ||
|
|
12577e77a1 | ||
|
|
17da3e08b4 | ||
|
|
abae0f71bf | ||
|
|
ae4c97caf6 | ||
|
|
3e30a1f0a3 | ||
|
|
4d66bd5326 | ||
|
|
bf9bfd33f4 | ||
|
|
31178de024 | ||
|
|
8d022794be | ||
|
|
2a84e95ade | ||
|
|
55283bdab9 | ||
|
|
746c3c5356 | ||
|
|
de2edd937f | ||
|
|
9d9ed38c3f | ||
|
|
d42277a2dd | ||
|
|
78aec6bc0b | ||
|
|
35dc30d6a4 | ||
|
|
8dc91cdd44 | ||
|
|
0f7cdf3ceb | ||
|
|
8a398d0acd | ||
|
|
550aa38dea | ||
|
|
0aad8b1ecf | ||
|
|
2ef4f2ffc1 | ||
|
|
6c974ddf9c | ||
|
|
64f66e35f1 | ||
|
|
252d632365 | ||
|
|
4d573f5b97 | ||
|
|
f38ae9b92e | ||
|
|
abd8a22dd7 | ||
|
|
ef156ddb08 | ||
|
|
ba2af9f5a3 | ||
|
|
43b849714b | ||
|
|
4aef5463be | ||
|
|
c6130f928f | ||
|
|
049e9fa023 | ||
|
|
34ad6ec3c1 | ||
|
|
f2f89bdf94 | ||
|
|
09d2174751 | ||
|
|
1f404b34c8 | ||
|
|
57731b4849 | ||
|
|
80cc2fe2f1 | ||
|
|
b90252efd7 | ||
|
|
7db117500e | ||
|
|
e56326ad88 | ||
|
|
e4c60dc6bc | ||
|
|
7152862e71 | ||
|
|
58beac2708 | ||
|
|
e36a9563e8 | ||
|
|
b7163df50b | ||
|
|
7f10572145 | ||
|
|
544bbc84f1 | ||
|
|
56a6706fb9 | ||
|
|
b1317d4cef | ||
|
|
284047d884 | ||
|
|
e31e042fe5 | ||
|
|
083778f1a3 | ||
|
|
8f6f9efd71 | ||
|
|
5e7f1db5f3 | ||
|
|
c0a3168221 | ||
|
|
f2f58ada3e | ||
|
|
7fb4d4e821 | ||
|
|
085f59bf8a | ||
|
|
8275eb743d | ||
|
|
0ed022e6b4 | ||
|
|
f1823928ba | ||
|
|
68f64195d2 | ||
|
|
59e3a1b119 | ||
|
|
c7e6397a7b | ||
|
|
873c6c731d | ||
|
|
9f9cee8b08 | ||
|
|
7b6fd5f344 | ||
|
|
44b0694f1c | ||
|
|
3c9c2036ab | ||
|
|
69f04883d6 | ||
|
|
a33f1b61e9 | ||
|
|
50cec921da | ||
|
|
1a4b2bfb22 | ||
|
|
c2cf8d7a26 | ||
|
|
9a10690425 | ||
|
|
1c995d5fe3 | ||
|
|
b48d96e135 | ||
|
|
88986c7744 | ||
|
|
0323cabbed | ||
|
|
445f66cc9a | ||
|
|
a6aca34f4e | ||
|
|
d6d7f139bc | ||
|
|
325f258edc | ||
|
|
ac392105a4 | ||
|
|
5ed46c1c40 | ||
|
|
e69827b73e | ||
|
|
100d64e5cc | ||
|
|
4703d4f948 | ||
|
|
ec4b23a021 | ||
|
|
0d5293962a | ||
|
|
a9b749c34a | ||
|
|
54e0ad486f | ||
|
|
ee6c6b6bfe | ||
|
|
c144a59146 | ||
|
|
7465a2233e | ||
|
|
47c9f352b2 | ||
|
|
5441aa6ebb | ||
|
|
203f476484 | ||
|
|
732b4ff622 | ||
|
|
382dad51a1 | ||
|
|
5dd624e74e | ||
|
|
0b87b5fc63 | ||
|
|
cdf87fb6fa | ||
|
|
16d33ffdfe | ||
|
|
7c9cd48a44 | ||
|
|
02e2f92e29 | ||
|
|
a2a0e2c77b | ||
|
|
e7841a2c98 | ||
|
|
b787a36db0 | ||
|
|
3cb46a7d17 | ||
|
|
b000d8d171 | ||
|
|
fd626021bb | ||
|
|
f850af34c1 | ||
|
|
d770d6e8d3 | ||
|
|
c0e15f0ebd | ||
|
|
853245c0fb | ||
|
|
7e2bce22c0 | ||
|
|
4e45c17447 | ||
|
|
f6bd2c40dc | ||
|
|
53ac3f75ef | ||
|
|
48d3b7d02d | ||
|
|
3d2b15ff8d | ||
|
|
99ec939cef | ||
|
|
c969cd0012 | ||
|
|
3d62e87fab | ||
|
|
c58ac90c8c | ||
|
|
05a2d1cf83 | ||
|
|
362fbe5ec7 | ||
|
|
ecb300ef34 | ||
|
|
78c2c04ae6 | ||
|
|
c391ad8a3b | ||
|
|
bf300aa177 | ||
|
|
130d297fe5 | ||
|
|
5c9d7be604 | ||
|
|
64eff226d6 | ||
|
|
e94cbce20d | ||
|
|
e84d07fba6 | ||
|
|
fac4d97ca3 | ||
|
|
4fa9ef19df | ||
|
|
9d57e8b6ef | ||
|
|
115e8a571d | ||
|
|
e6957bd0f9 | ||
|
|
3f2ac690fb | ||
|
|
ce69d37972 | ||
|
|
a6fc728397 | ||
|
|
fe9a77149a | ||
|
|
6d15414fb9 | ||
|
|
d7342f0b59 | ||
|
|
79bba2c1a1 | ||
|
|
c388addad4 | ||
|
|
50a404427e | ||
|
|
02f070c9e9 | ||
|
|
079d58d779 | ||
|
|
fde87f3729 | ||
|
|
85203fca45 | ||
|
|
b9fc56f1a6 | ||
|
|
bb7568a9c0 | ||
|
|
cd41252bb8 | ||
|
|
bbc99e2c05 | ||
|
|
3741f7f24f | ||
|
|
bf3485344e | ||
|
|
e00f7ddb33 | ||
|
|
2e8d0b93d6 | ||
|
|
618a40823c | ||
|
|
d0254c5ca2 | ||
|
|
bea116cf27 | ||
|
|
cd1db06c64 | ||
|
|
201410226b | ||
|
|
5438997145 | ||
|
|
b2e26d0518 | ||
|
|
64b9f4800b | ||
|
|
6ab4ba66de | ||
|
|
9d9821cc63 | ||
|
|
ecd4ee5038 | ||
|
|
d95c76333c | ||
|
|
c78edee911 | ||
|
|
aaa6be7dbd | ||
|
|
a1fa226502 | ||
|
|
37d6f38b6d | ||
|
|
40df9b2b3a | ||
|
|
0eacd3d63e | ||
|
|
2e6fa428c7 | ||
|
|
7fed5ff362 | ||
|
|
ae7d49e5bb | ||
|
|
b5f360de1d | ||
|
|
e5100b180d | ||
|
|
07a6c55354 | ||
|
|
44f4bb2713 | ||
|
|
c731223456 |
@@ -5,7 +5,7 @@ name: Build
|
||||
on:
|
||||
push:
|
||||
branches: [mega]
|
||||
tags-ignore: '**'
|
||||
tags-ignore: ['**']
|
||||
paths-ignore:
|
||||
- 'dist/Release_notes.txt'
|
||||
- 'docs/**'
|
||||
@@ -23,8 +23,8 @@ jobs:
|
||||
documentation:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/setup-python@v6
|
||||
- uses: actions/checkout@v7
|
||||
- uses: actions/setup-python@v7
|
||||
with:
|
||||
python-version: '3.13'
|
||||
- name: Build documentation
|
||||
@@ -37,7 +37,7 @@ jobs:
|
||||
make html
|
||||
cd ..
|
||||
zip -r -qq ESPEasy_docs.zip docs/build/*
|
||||
- uses: actions/upload-artifact@v6
|
||||
- uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: Documentation
|
||||
path: ESPEasy_docs.zip
|
||||
@@ -46,14 +46,14 @@ jobs:
|
||||
outputs:
|
||||
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/setup-python@v6
|
||||
- uses: actions/checkout@v7
|
||||
- uses: actions/setup-python@v7
|
||||
with:
|
||||
python-version: '3.13'
|
||||
- id: set-matrix
|
||||
run: |
|
||||
pip install uv
|
||||
uv pip install --system platformio
|
||||
uv pip install --system pioarduino
|
||||
python tools/ci/generate-matrix.py
|
||||
|
||||
build:
|
||||
@@ -62,8 +62,8 @@ jobs:
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/setup-python@v6
|
||||
- uses: actions/checkout@v7
|
||||
- uses: actions/setup-python@v7
|
||||
with:
|
||||
python-version: '3.13'
|
||||
- name: Dependencies
|
||||
@@ -88,7 +88,7 @@ jobs:
|
||||
uses: Entepotenz/change-string-case-action-min-dependencies@v1
|
||||
with:
|
||||
string: ${{ matrix.chip }}
|
||||
- uses: actions/upload-artifact@v6
|
||||
- uses: actions/upload-artifact@v7
|
||||
with:
|
||||
# FIXME Workaround to (temporarily) not use # in the artifact name, see https://github.com/actions/upload-artifact/issues/473
|
||||
name: Bin-${{ steps.string.outputs.uppercase }}-${{ matrix.env }}-${{ steps.date.outputs.builddate }}_PR_${{ github.event.number }}_${{ github.run_id }} # Sort by ESP type
|
||||
@@ -101,8 +101,8 @@ jobs:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/setup-python@v6
|
||||
- uses: actions/checkout@v7
|
||||
- uses: actions/setup-python@v7
|
||||
with:
|
||||
python-version: '3.13'
|
||||
- name: Get current date
|
||||
@@ -110,7 +110,7 @@ jobs:
|
||||
run: |
|
||||
echo "builddate=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT
|
||||
- name: Download all artifacts
|
||||
uses: actions/download-artifact@v7
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
path: artifacts/Binaries/bin/
|
||||
pattern: Bin-*
|
||||
@@ -119,7 +119,7 @@ jobs:
|
||||
run: |
|
||||
cd artifacts/Binaries/
|
||||
ls -R
|
||||
- uses: actions/upload-artifact@v6
|
||||
- uses: actions/upload-artifact@v7
|
||||
with:
|
||||
# FIXME Workaround to (temporarily) not use # in the artifact name, see https://github.com/actions/upload-artifact/issues/473
|
||||
name: ESPEasy-all-Binaries-${{ steps.date.outputs.builddate }}_PR_${{ github.event.number }}_${{ github.run_id }}
|
||||
|
||||
@@ -9,8 +9,8 @@ name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
branches-ignore: '**'
|
||||
tags: 'mega-*'
|
||||
branches-ignore: ['**']
|
||||
tags: ['mega-*']
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -21,14 +21,14 @@ jobs:
|
||||
outputs:
|
||||
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/setup-python@v6
|
||||
- uses: actions/checkout@v7
|
||||
- uses: actions/setup-python@v7
|
||||
with:
|
||||
python-version: '3.13'
|
||||
- id: set-matrix
|
||||
run: |
|
||||
pip install uv
|
||||
uv pip install --system platformio
|
||||
uv pip install --system pioarduino
|
||||
python tools/ci/generate-matrix.py
|
||||
|
||||
build:
|
||||
@@ -37,8 +37,8 @@ jobs:
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/setup-python@v6
|
||||
- uses: actions/checkout@v7
|
||||
- uses: actions/setup-python@v7
|
||||
with:
|
||||
python-version: '3.13'
|
||||
- name: Dependencies
|
||||
@@ -58,7 +58,7 @@ jobs:
|
||||
uses: Entepotenz/change-string-case-action-min-dependencies@v1
|
||||
with:
|
||||
string: ${{ matrix.chip }}
|
||||
- uses: actions/upload-artifact@v6
|
||||
- uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: Bin-${{ steps.string.outputs.uppercase }}-${{ matrix.env }}
|
||||
path: |
|
||||
@@ -69,8 +69,10 @@ jobs:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/setup-python@v6
|
||||
- uses: actions/checkout@v7
|
||||
- uses: actions/setup-python@v7
|
||||
with:
|
||||
python-version: '3.13'
|
||||
- name: Build documentation
|
||||
run: |
|
||||
cd docs
|
||||
@@ -85,7 +87,7 @@ jobs:
|
||||
cd dist
|
||||
zip -r -qq ../ESPEasy_dist.zip *
|
||||
cd ..
|
||||
- uses: actions/upload-artifact@v6
|
||||
- uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: Distribution
|
||||
path: |
|
||||
@@ -99,7 +101,7 @@ jobs:
|
||||
notes: ${{ steps.release-notes.outputs.result }}
|
||||
steps:
|
||||
- id: release-notes
|
||||
uses: actions/github-script@v8
|
||||
uses: actions/github-script@v9
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
@@ -121,7 +123,7 @@ jobs:
|
||||
needs: [build, prepare-dist, prepare-notes]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/setup-python@v6
|
||||
- uses: actions/setup-python@v7
|
||||
with:
|
||||
python-version: '3.13'
|
||||
- name: Get current date
|
||||
@@ -129,13 +131,13 @@ jobs:
|
||||
run: |
|
||||
echo "builddate=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT
|
||||
- name: Download all successfully compiled artifacts
|
||||
uses: actions/download-artifact@v7
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
path: artifacts/bin/
|
||||
pattern: Bin-*
|
||||
merge-multiple: true
|
||||
- name: Download dist and docs zip files
|
||||
uses: actions/download-artifact@v7
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
path: distribution/
|
||||
name: Distribution
|
||||
@@ -152,8 +154,10 @@ jobs:
|
||||
find . -name '*ESP32c3*' -print | zip -@ ../ESPEasy_ESP32c3.zip
|
||||
find . -name '*ESP32s3*' -print | zip -@ ../ESPEasy_ESP32s3.zip
|
||||
find . -name '*ESP32c2*' -print | zip -@ ../ESPEasy_ESP32c2.zip
|
||||
find . -name '*ESP32c5*' -print | zip -@ ../ESPEasy_ESP32c5.zip
|
||||
find . -name '*ESP32c6*' -print | zip -@ ../ESPEasy_ESP32c6.zip
|
||||
find . -name '*ESP32solo1*' -print | zip -@ ../ESPEasy_ESP32solo1.zip
|
||||
find . -name '*ESP32p4*' -print | zip -@ ../ESPEasy_ESP32p4.zip
|
||||
find . -name '*ESP32_*' -print | zip -@ ../ESPEasy_ESP32.zip
|
||||
cd ..
|
||||
# Add dist tools to each package, after removing some unneeded files
|
||||
@@ -169,13 +173,15 @@ jobs:
|
||||
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c3_binaries.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip ESPEasy_ESP32c3.zip
|
||||
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32s3_binaries.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip ESPEasy_ESP32s3.zip
|
||||
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c2_binaries.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip ESPEasy_ESP32c2.zip
|
||||
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c5_binaries.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip ESPEasy_ESP32c5.zip
|
||||
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c6_binaries.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip ESPEasy_ESP32c6.zip
|
||||
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32solo1_binaries.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip ESPEasy_ESP32solo1.zip
|
||||
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32p4_binaries.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip ESPEasy_ESP32p4.zip
|
||||
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip ESPEasy_ESP32.zip
|
||||
- uses: ncipollo/release-action@v1
|
||||
with:
|
||||
# Upload all separately supported CPU models and the docs zip
|
||||
# TODO if/when available: ESP32h2
|
||||
artifacts: "ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP82xx_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32solo1_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32s2_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c3_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32s3_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c2_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c6_binaries.zip,distribution/*.zip"
|
||||
artifacts: "ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP82xx_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32solo1_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32s2_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c3_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32s3_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c2_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c5_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c6_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32p4_binaries.zip,distribution/*.zip"
|
||||
body: ${{ needs.prepare-notes.outputs.notes }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
@@ -89,4 +89,10 @@ dependencies.lock
|
||||
|
||||
src/src/CustomBuild/CompiletimeDefines_generated.h
|
||||
|
||||
bhutan_16m.bin
|
||||
sdkconfig.*
|
||||
|
||||
src/Custom_.h
|
||||
|
||||
compile_commands.json
|
||||
|
||||
*.Identifier
|
||||
|
||||
@@ -4,6 +4,20 @@
|
||||
|
||||
For ways to *support* us, see [this announcement on the forum](https://www.letscontrolit.com/forum/viewtopic.php?f=14&t=5787), or have a look at the [Patreon](https://www.patreon.com/GrovkillenTDer), [Ko-Fi](https://ko-fi.com/grovkillentder) or [PayPal](https://www.paypal.me/espeasy) links above.
|
||||
|
||||
|
||||
# ESPEasy, Automate (using) Common Sense, No AI.
|
||||
|
||||
The main objective for ESPEasy is to make people realize they can easily control appliances and act on sensor data.
|
||||
|
||||
Anyone can use it and you don't need AI.
|
||||
Only requirement is common sense and appreciate the satisfaction of seeing things just work.
|
||||
|
||||
If you can't build it yourself, you don't 'own' it.
|
||||
So let's make sure YOU control it.
|
||||
|
||||
We are more than willing to assist via our [forum](https://www.letscontrolit.com/forum).
|
||||
|
||||
|
||||
# ESPEasy (development branch)
|
||||
|
||||
|
||||
@@ -53,6 +67,7 @@ collection_F | Normal + plugin collection F | Stable + Collection b
|
||||
collection_G | Normal + plugin collection G | Stable + Collection base + set G |
|
||||
collection_H | Normal + plugin collection H | Stable + Collection base + set H |
|
||||
max | All available plugins | All available |
|
||||
max32 | All available plugins, 32MB Flash | All available, large file system |
|
||||
energy | All plugins related to energy measurement | Stable + Energy measurement |
|
||||
display A | All plugins related to displays A | Stable + Displays A |
|
||||
display B | All plugins related to displays B | Stable + Displays B |
|
||||
@@ -87,6 +102,10 @@ ESP32c3 | Espressif ESP32-C3 generic boards |
|
||||
ESP32s3 | Espressif ESP32-S3 generic boards |
|
||||
ESP32c2 | Espressif ESP32-C2 generic boards |
|
||||
ESP32c6 | Espressif ESP32-C6 generic boards |
|
||||
ESP32c61 | Espressif ESP32-C61 generic boards (experimental) |
|
||||
ESP32c5 | Espressif ESP32-C5 generic boards (experimental) |
|
||||
ESP32p4 | Espressif ESP32-P4 (Rev.1) generic boards |
|
||||
ESP32p4r3 | Espressif ESP32-P4 (Rev.3/P4X) generic boards |
|
||||
ESP32-wrover-kit | Espressif ESP32 wrover-kit boards |
|
||||
SONOFF | Sonoff hardware specific |
|
||||
other_POW | Switch with power measurement |
|
||||
@@ -110,10 +129,10 @@ Flash size | Description |
|
||||
16M | 16 MB with 14 MB filesystem |
|
||||
4M316k | 4 MB with 316 kB filesystem |
|
||||
8M1M | 8 MB with 1 MB filesystem |
|
||||
16M1M | 16 MB with 1 MB filesystem |
|
||||
16M8M | 16 MB with 8 MB filesystem |
|
||||
32M20M | 32 MB with 20 MB filesystem |
|
||||
|
||||
N.B. Starting with release 2023/12/25, All ESP32 LittleFS builds use IDF 5.3, to support newer ESP32 chips like ESP32-C2 and ESP32-C6, and SPI Ethernet. Other SPIFFS based ESP32 builds will be migrated to LittleFS as SPIFFS is no longer officially available in IDF 5 and later. As a temporary solution, a specially crafted IDF 5.1 build that still includes SPIFFS, is used for the SPIFFS builds. A migration plan will be made available in 2025.
|
||||
N.B. Starting with release 2023/12/25, All ESP32 LittleFS builds use IDF 5.3, to support newer ESP32 chips like ESP32-C2 and ESP32-C6, and SPI Ethernet. Other SPIFFS based ESP32 builds will be migrated to LittleFS as SPIFFS is no longer officially available in IDF 5 and later. As a temporary solution, a specially crafted IDF 5.1 build that still includes SPIFFS, is used for the SPIFFS builds. A migration plan is available, [here](https://espeasy.readthedocs.io/en/latest/Reference/Migrate_SPIFFS_to_LittleFS.html).
|
||||
|
||||
N.B.2 Starting with builds made after 2025/11/04, ESP32 builds will no longer have ``_LittleFS`` in the name as all ESP32 builds use LittleFS. Also the suffix ``_ETH`` has been removed since all builds will have Ethernet support, except for ESP32C2 builds.
|
||||
|
||||
@@ -128,7 +147,7 @@ Domoticz_MQTT | Only Domoticz controllers (MQTT) and plugins included
|
||||
FHEM_HA | Only FHEM/OpenHAB/Home Assistant (MQTT) controllers and plugins included |
|
||||
ETH | Ethernet support enabled (ESP32 and IDF 5.x based builds) |
|
||||
OPI_PSRAM | Specific configuration to enable PSRAM detection, ESP32-S3 only |
|
||||
CDC | Support USBCDC/HWCDC-serial console on ESP32-C3, ESP32-S2, ESP32-S3 and ESP32-C6 |
|
||||
CDC | Support USBCDC/HWCDC-serial console on ESP32-C3, ESP32-S2, ESP32-S3, ESP32-C6, ESP32-C61 and ESP32-C5 |
|
||||
noOTA/NO_OTA | Does not support OTA (Over The Air-updating of the firmware) Use [the flash page](https://td-er.nl/ESPEasy/) or ESPTool via USB Serial |
|
||||
|
||||
N.B. Starting ca. 2025/02/27, many ESP32 builds are *only* available with _ETH suffix, indicating that Ethernet support is enabled, to reduce the (rather high) number of builds.
|
||||
@@ -136,18 +155,17 @@ N.B. Starting ca. 2025/02/27, many ESP32 builds are *only* available with _ETH s
|
||||
Some example firmware names:
|
||||
Firmware name | Hardware | Included plugins |
|
||||
--------------------------------------------------------|-------------------------------------------------|----------------------------------|
|
||||
ESPEasy_mega-20230822_normal_ESP8266_1M.bin | ESP8266/ESP8285 with 1MB flash | Stable |
|
||||
ESPEasy_mega-20230822_normal_ESP8266_4M1M.bin | ESP8266 with 4MB flash | Stable |
|
||||
ESPEasy_mega-20230822_collection_A_ESP8266_4M1M.bin | ESP8266 with 4MB flash | Stable + Collection base + set A |
|
||||
ESPEasy_mega-20230822_normal_ESP32_4M316k_ETH.bin | ESP32 with 4MB flash | Stable |
|
||||
ESPEasy_mega-20230822_collection_A_ESP32_4M316k_ETH.bin | ESP32 with 4MB flash | Stable + Collection base + set A |
|
||||
ESPEasy_mega-20230822_collection_B_ESP32_4M316k_ETH.bin | ESP32 with 4MB flash | Stable + Collection base + set B |
|
||||
ESPEasy_mega-20230822_max_ESP32s3_8M1M.bin | ESP32-S3 with 8MB flash, CDC-serial, Ethernet | All available plugins |
|
||||
ESPEasy_mega-20230822_max_ESP32s3_8M1M_OPI_PSRAM.bin | ESP32-S3 8MB flash, PSRAM, CDC-serial, Ethernet | All available plugins |
|
||||
ESPEasy_mega-20230822_max_ESP32_16M1M_ETH.bin | ESP32 with 16MB flash, SPIFFS, Ethernet | All available plugins |
|
||||
ESPEasy_mega-20230822_max_ESP32_16M8M.bin | ESP32 with 16MB flash, LittleFS, Ethernet | All available plugins |
|
||||
ESPEasy_mega-20260121_normal_ESP8266_1M.bin | ESP8266/ESP8285 with 1MB flash | Stable |
|
||||
ESPEasy_mega-20260121_normal_ESP8266_4M1M.bin | ESP8266 with 4MB flash | Stable |
|
||||
ESPEasy_mega-20260121_collection_A_ESP8266_4M1M.bin | ESP8266 with 4MB flash | Stable + Collection base + set A |
|
||||
ESPEasy_mega-20260121_normal_ESP32_4M316k.bin | ESP32 with 4MB flash | Stable |
|
||||
ESPEasy_mega-20260121_collection_A_ESP32_4M316k.bin | ESP32 with 4MB flash | Stable + Collection base + set A |
|
||||
ESPEasy_mega-20260121_collection_B_ESP32_4M316k.bin | ESP32 with 4MB flash | Stable + Collection base + set B |
|
||||
ESPEasy_mega-20260121_max_ESP32s3_8M1M.bin | ESP32-S3 with 8MB flash, CDC-serial, Ethernet | All available plugins |
|
||||
ESPEasy_mega-20260121_max_ESP32s3_8M1M_OPI_PSRAM.bin | ESP32-S3 8MB flash, PSRAM, CDC-serial, Ethernet | All available plugins |
|
||||
ESPEasy_mega-20260121_max_ESP32_16M8M.bin | ESP32 with 16MB flash, LittleFS, Ethernet | All available plugins |
|
||||
|
||||
The binary files for the different ESP32 variants (S2, C3, S3, C2, C6, Solo1, 'Classic') are available in separate archives.
|
||||
The binary files for the different ESP32 variants (S2, C3, S3, C2, C6/C61, C5, P4, Solo1, 'Classic') are available in separate archives.
|
||||
|
||||
To see what plugins are included in which collection set, you can find that on the [ESPEasy Plugin overview page](https://espeasy.readthedocs.io/en/latest/Plugin/_Plugin.html)
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
"f_flash": "40000000L",
|
||||
"flash_mode": "dio",
|
||||
"mcu": "esp32",
|
||||
"chip_variant": "esp32u",
|
||||
"variant": "esp32",
|
||||
"partitions": "boards/partitions/esp32_partition_app1810k_spiffs316k.csv"
|
||||
},
|
||||
@@ -30,10 +31,8 @@
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"espidf": {
|
||||
"custom_sdkconfig": [
|
||||
"CONFIG_FREERTOS_UNICORE=y"
|
||||
]
|
||||
"download": {
|
||||
"speed": 230400
|
||||
},
|
||||
"url": "https://en.wikipedia.org/wiki/ESP32",
|
||||
"vendor": "Espressif"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"ldscript": "esp32c3_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DESP32_16M -DESP32C3 -DUSE_USB_CDC_CONSOLE -DARDUINO_USB_CDC_ON_BOOT=1",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DESP32_16M -DESP32C3 -DUSE_USB_CDC_CONSOLE -DARDUINO_USB_CDC_ON_BOOT=0",
|
||||
"f_cpu": "160000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "dio",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"ldscript": "esp32c3_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DESP32_4M -DESP32C3 -DUSE_USB_CDC_CONSOLE -DARDUINO_USB_CDC_ON_BOOT=1",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DESP32_4M -DESP32C3 -DUSE_USB_CDC_CONSOLE -DARDUINO_USB_CDC_ON_BOOT=0",
|
||||
"f_cpu": "160000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "dio",
|
||||
@@ -29,7 +29,6 @@
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 4194304,
|
||||
"require_upload_port": true,
|
||||
"before_reset": "usb_reset",
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/hw-reference/esp32c3/user-guide-devkitm-1.html",
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32c5_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_16M -DESP32C5 -DARDUINO_USB_CDC_ON_BOOT=0",
|
||||
"f_cpu": "160000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
"mcu": "esp32c5",
|
||||
"variant": "esp32c5",
|
||||
"partitions": "boards/partitions/esp32_partition_app4096k_spiffs8124k.csv"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi",
|
||||
"bluetooth"
|
||||
],
|
||||
"debug": {
|
||||
"default_tool": "esp-builtin",
|
||||
"onboard_tools": [
|
||||
"esp-builtin"
|
||||
],
|
||||
"openocd_target": "esp32c5.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "Espressif Generic ESP32-C5 16M Flash, ESPEasy 4096k Code/OTA 8M FS",
|
||||
"upload": {
|
||||
"flash_size": "16MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 16777216,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32c5/esp32-c5-devkitc-1/index.html",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32c5_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_32M -DESP32C5 -DARDUINO_USB_CDC_ON_BOOT=0",
|
||||
"f_cpu": "160000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
"mcu": "esp32c5",
|
||||
"variant": "esp32c5",
|
||||
"partitions": "boards/partitions/esp32_partition_app6144k_spiffs20412k.csv"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi",
|
||||
"bluetooth"
|
||||
],
|
||||
"debug": {
|
||||
"default_tool": "esp-builtin",
|
||||
"onboard_tools": [
|
||||
"esp-builtin"
|
||||
],
|
||||
"openocd_target": "esp32c5.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "Espressif Generic ESP32-C5 32M Flash, ESPEasy 6144k Code/OTA 20M FS",
|
||||
"upload": {
|
||||
"flash_size": "32MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 33554432,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32c5/esp32-c5-devkitc-1/index.html",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32c5_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_8M -DESP32C5 -DARDUINO_USB_CDC_ON_BOOT=0",
|
||||
"f_cpu": "160000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
"mcu": "esp32c5",
|
||||
"variant": "esp32c5",
|
||||
"partitions": "boards/partitions/esp32_partition_app3520k_spiffs1088k.csv"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi",
|
||||
"bluetooth"
|
||||
],
|
||||
"debug": {
|
||||
"default_tool": "esp-builtin",
|
||||
"onboard_tools": [
|
||||
"esp-builtin"
|
||||
],
|
||||
"openocd_target": "esp32c5.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "Espressif Generic ESP32-C5 >= 8M Flash, ESPEasy 3520k Code/OTA 1088k FS",
|
||||
"upload": {
|
||||
"flash_size": "8MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 8388608,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32c5/esp32-c5-devkitc-1/index.html",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32c5_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_4M -DESP32C5 -DARDUINO_USB_CDC_ON_BOOT=0",
|
||||
"f_cpu": "160000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
"mcu": "esp32c5",
|
||||
"variant": "esp32c5",
|
||||
"partitions": "boards/partitions/esp32_partition_app1810k_spiffs316k.csv"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi",
|
||||
"bluetooth"
|
||||
],
|
||||
"debug": {
|
||||
"default_tool": "esp-builtin",
|
||||
"onboard_tools": [
|
||||
"esp-builtin"
|
||||
],
|
||||
"openocd_target": "esp32c5.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "Espressif Generic ESP32-C5 >= 4M Flash, ESPEasy 1810k Code/OTA 316k FS",
|
||||
"upload": {
|
||||
"flash_size": "4MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 4194304,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32c5/esp32-c5-devkitc-1/index.html",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32c61_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_8M -DESP32C61 -DARDUINO_USB_CDC_ON_BOOT=0",
|
||||
"f_cpu": "160000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
"mcu": "esp32c61",
|
||||
"variant": "esp32c61",
|
||||
"partitions": "boards/partitions/esp32_partition_app3520k_spiffs1088k.csv"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi",
|
||||
"bluetooth"
|
||||
],
|
||||
"debug": {
|
||||
"default_tool": "esp-builtin",
|
||||
"onboard_tools": [
|
||||
"esp-builtin"
|
||||
],
|
||||
"openocd_target": "esp32c61.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "Espressif Generic ESP32-C61 >= 8M Flash, ESPEasy 3520k Code/OTA 1088k FS",
|
||||
"upload": {
|
||||
"flash_size": "8MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 8388608,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32c6/esp32-c6-devkitc-1/index.html",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"ldscript": "esp32c6_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_16M -DESP32C6 -DARDUINO_USB_CDC_ON_BOOT=1",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_16M -DESP32C6 -DARDUINO_USB_CDC_ON_BOOT=0",
|
||||
"f_cpu": "160000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"ldscript": "esp32c6_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_8M -DESP32C6 -DARDUINO_USB_CDC_ON_BOOT=1",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_8M -DESP32C6 -DARDUINO_USB_CDC_ON_BOOT=0",
|
||||
"f_cpu": "160000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"ldscript": "esp32c6_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_4M -DESP32C6 -DARDUINO_USB_CDC_ON_BOOT=1",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_4M -DESP32C6 -DARDUINO_USB_CDC_ON_BOOT=0",
|
||||
"f_cpu": "160000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"build": {
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_TASMOTA -DESP32P4 -DESP32_32M -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE"
|
||||
],
|
||||
"f_cpu": "360000000L",
|
||||
"f_flash": "80000000L",
|
||||
"f_psram": "200000000L",
|
||||
"flash_mode": "qio",
|
||||
"mcu": "esp32p4",
|
||||
"chip_variant": "esp32p4_es",
|
||||
"variant": "esp32p4",
|
||||
"partitions": "boards/partitions/esp32_partition_app6144k_spiffs20412k.csv"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi",
|
||||
"bluetooth",
|
||||
"openthread",
|
||||
"ethernet"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32p4.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "Espressif ESP32-P4 Function EV Board 32M Flash, ESPEasy 6144k Code/OTA 20M FS",
|
||||
"upload": {
|
||||
"flash_size": "32MB",
|
||||
"maximum_ram_size": 768000,
|
||||
"maximum_size": 33554432,
|
||||
"require_upload_port": true,
|
||||
"speed": 1500000
|
||||
},
|
||||
"url": "https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32p4/esp32-p4-function-ev-board/index.html",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"build": {
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_TASMOTA -DESP32P4 -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE"
|
||||
],
|
||||
"f_cpu": "360000000L",
|
||||
"f_flash": "80000000L",
|
||||
"f_psram": "200000000L",
|
||||
"flash_mode": "qio",
|
||||
"mcu": "esp32p4",
|
||||
"chip_variant": "esp32p4_es",
|
||||
"variant": "esp32p4",
|
||||
"partitions": "boards/partitions/esp32_partition_app4096k_spiffs8124k.csv"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi",
|
||||
"bluetooth",
|
||||
"openthread",
|
||||
"ethernet"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32p4.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "Espressif ESP32-P4 Function EV Board 16M Flash, ESPEasy 4096k Code/OTA 8M FS",
|
||||
"upload": {
|
||||
"flash_size": "16MB",
|
||||
"maximum_ram_size": 768000,
|
||||
"maximum_size": 16777216,
|
||||
"require_upload_port": true,
|
||||
"speed": 1500000
|
||||
},
|
||||
"url": "https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32p4/esp32-p4-function-ev-board/index.html",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"build": {
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_TASMOTA -DESP32P4R3 -DESP32_32M -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE"
|
||||
],
|
||||
"f_cpu": "400000000L",
|
||||
"f_flash": "80000000L",
|
||||
"f_psram": "200000000L",
|
||||
"flash_mode": "qio",
|
||||
"mcu": "esp32p4",
|
||||
"chip_variant": "esp32p4",
|
||||
"variant": "esp32p4",
|
||||
"partitions": "boards/partitions/esp32_partition_app6144k_spiffs20412k.csv"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi",
|
||||
"bluetooth",
|
||||
"openthread",
|
||||
"ethernet"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32p4.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "Espressif Generic ESP32-P4 rev.3 32M Flash, ESPEasy 6144k Code/OTA 20M FS",
|
||||
"upload": {
|
||||
"flash_size": "32MB",
|
||||
"maximum_ram_size": 768000,
|
||||
"maximum_size": 33554432,
|
||||
"require_upload_port": true,
|
||||
"speed": 1500000
|
||||
},
|
||||
"url": "https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32p4/esp32-p4x-function-ev-board/index.html",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"build": {
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_TASMOTA -DESP32P4R3 -DESP32_16M -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE"
|
||||
],
|
||||
"f_cpu": "400000000L",
|
||||
"f_flash": "80000000L",
|
||||
"f_psram": "200000000L",
|
||||
"flash_mode": "qio",
|
||||
"mcu": "esp32p4",
|
||||
"chip_variant": "esp32p4",
|
||||
"variant": "esp32p4",
|
||||
"partitions": "boards/partitions/esp32_partition_app4096k_spiffs8124k.csv"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi",
|
||||
"bluetooth",
|
||||
"openthread",
|
||||
"ethernet"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32p4.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "Espressif Generic ESP32-P4 rev.3 16M Flash, ESPEasy 4096k Code/OTA 8M FS",
|
||||
"upload": {
|
||||
"flash_size": "16MB",
|
||||
"maximum_ram_size": 768000,
|
||||
"maximum_size": 16777216,
|
||||
"require_upload_port": true,
|
||||
"speed": 1500000
|
||||
},
|
||||
"url": "https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32p4/esp32-p4x-function-ev-board/index.html",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
"memory_type": "dio_qspi"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DESP32_4M -DESP32S2 -DCONFIG_IDF_TARGET_ESP32S2=1 -DUSE_USB_CDC_CONSOLE -DARDUINO_USB_CDC_ON_BOOT=1",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DESP32_4M -DESP32S2 -DCONFIG_IDF_TARGET_ESP32S2=1 -DUSE_USB_CDC_CONSOLE -DARDUINO_USB_CDC_ON_BOOT=1 -DCONFIG_TINYUSB_CDC_ENABLED=1",
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "dio",
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32s2_out.ld",
|
||||
"memory_type": "dio_qspi"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DESP32_8M -DESP32S2 -DCONFIG_IDF_TARGET_ESP32S2=1 -DUSE_USB_CDC_CONSOLE -DARDUINO_USB_CDC_ON_BOOT=1 -DCONFIG_TINYUSB_CDC_ENABLED=1",
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "dio",
|
||||
"mcu": "esp32s2",
|
||||
"variant": "esp32s2",
|
||||
"filesystem": "littlefs",
|
||||
"partitions": "boards/partitions/esp32_partition_app3520k_spiffs1088k.csv"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32s2.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"espidf",
|
||||
"arduino"
|
||||
],
|
||||
"name": "Espressif Generic ESP32-S2 USB CDC 8M Flash ESPEasy 3520k Code/OTA 1088k FS",
|
||||
"upload": {
|
||||
"flash_size": "8MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 4194304,
|
||||
"before_reset": "usb_reset",
|
||||
"after_reset": "hard_reset",
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/hw-reference/esp32s2/user-guide-saola-1-v1.2.html",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
@@ -5,10 +5,11 @@
|
||||
"memory_type": "qio_opi"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_16M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=1",
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"boot": "opi",
|
||||
"flash_mode": "qio",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_16M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=0",
|
||||
"hwids": [
|
||||
[
|
||||
"0x303A",
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"memory_type": "qio_opi"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_8M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=1",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_8M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=0",
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"memory_type": "qio_opi"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_4M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=1",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_4M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=0",
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"memory_type": "qio_qspi"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_16M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=1",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_16M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=0",
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"memory_type": "qio_qspi"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_8M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=1",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_8M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=0",
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"memory_type": "qio_qspi"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_4M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=1",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_4M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=0",
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino": {
|
||||
"ldscript": "eagle.flash.4m1m.ld"
|
||||
},
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DARDUINO_TASMOTA -DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP01 -DESP8266_4M -DESP8266_4M1M",
|
||||
"f_cpu": "120000000L",
|
||||
"f_flash": "40000000L",
|
||||
"flash_mode": "dout",
|
||||
"mcu": "esp8266",
|
||||
"variant": "generic"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi"
|
||||
],
|
||||
"frameworks": [
|
||||
"arduino"
|
||||
],
|
||||
"name": "Espressif Generic ESP8266 ESPEasy 4M Flash 1M FS",
|
||||
"upload": {
|
||||
"maximum_ram_size": 81920,
|
||||
"maximum_size": 1040316,
|
||||
"require_upload_port": true,
|
||||
"resetmethod": "nodemcu",
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
# Name, Type, SubType, Offset, Size, Flags
|
||||
nvs, data, nvs, 0x9000, 0x5000,
|
||||
otadata, data, ota, 0xe000, 0x2000,
|
||||
app0, app, ota_0, 0x10000, 0x600000,
|
||||
app1, app, ota_1, 0x610000,0x600000,
|
||||
eeprom, data, 0x99, 0xC10000,0x1000,
|
||||
spiffs, data, spiffs, 0xC11000,0x13EF000,
|
||||
|
@@ -66,10 +66,10 @@ ESP32 now has a number of builds:
|
||||
- custom_ESP32_4M316k Build template using either the plugin set defined in ``Custom.h`` or ``tools/pio/pre_custom_esp32.py``
|
||||
- test_ESP32_4M316k Build using the "testing" set of plugins for ESP32
|
||||
- test_ESP32-wrover-kit_4M316k A build for ESP32 including build flags for the official WRover test kit.
|
||||
- max_ESP32_16M1M A build for ESP32 with larger flash size including all plugins.
|
||||
- max_ESP32_16M8M A build for ESP32 with larger flash size including all plugins.
|
||||
|
||||
ESP32 also supports Ethernet.
|
||||
Ethernet support is included in similar builds as mentioned before, only ending with "_ETH" in the file name.
|
||||
Ethernet support is included in nearly all ESP32 builds, only ESP32-C2 doesn't have support for Ethernet.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +1,878 @@
|
||||
-------------------------------------------------
|
||||
Changes in release mega-20260720 (since mega-20260125)
|
||||
-------------------------------------------------
|
||||
|
||||
Release date: ma 20 jul 2026 13:16:21 CEST
|
||||
|
||||
Gijs Noorlander (9):
|
||||
[MFRC522] Speedup reading tag
|
||||
[network] Fix wifi#connected and wifi#disconnected events
|
||||
[network] Fix typo in event
|
||||
[Network] Add AT command write to PPP modem
|
||||
[Network] Add connected/disconnected event handling for all interfaces
|
||||
[network] Reduce CPU load + fix init NW interface event names
|
||||
[MQTT] Fix merge issues
|
||||
[Build] Change ESP8266 normal and collection builds to core 3.1.2
|
||||
[Build] Enable BUILD_NO_DEBUG for 2nd heap ESP8266 normal builds
|
||||
|
||||
TD-er (611):
|
||||
[WiFi] Split WiFi code specific for ESP8266 and ESP32
|
||||
[Cleanup] Get rid of ESP32-IDF code for IDF3.x or older
|
||||
[Cleanup] Fix spelling error in filename
|
||||
[WiFi] First part of moving code around to restructure WiFi code
|
||||
[WiFi] Start using simplified state machine for WiFi
|
||||
[WiFi] Restructure ESP32/ESP8266 code
|
||||
[WiFi] Allow connecting to hidden SSID network
|
||||
[WiFi] Fix build issue due to enum naming conflict
|
||||
[IPv6] Disable IPv6 for ESP32-C2
|
||||
[PSRAM] Free GPIO-16 and -17 on ESP32-classic when no PSRAM present
|
||||
[PSRAM] Fix build on ESP-IDF 5.1 + add special case of ESP32-picoD4
|
||||
[PSRAM] Cleanup code
|
||||
[PSRAM] Fix solo1 builds
|
||||
[WiFi] Add some debug log to track GotIP event
|
||||
[WiFi] Fix not showing /setup page
|
||||
[WiFi] Update to latest ESP-IDF SDK + handle gotIP event on ESP8266
|
||||
[WiFi] Fix event handling for WiFi on ESP32
|
||||
[WiFi] Fix start AP for setup
|
||||
[WiFi] Call WiFi_AP_Candidates.force_reload() on saving security setting
|
||||
[PSRAM] Use PSRAM for logs, events and controller queues
|
||||
[Memory] Fix freeing of allocated strings
|
||||
[Memory] Add small optimization in free_string() to prevent copying
|
||||
[ESP-IDF] Update to latest Arduino 3.1.2 for LittleFS builds
|
||||
[ESP-SDK] Update to ESP32/Arduino 3.1.3
|
||||
[ESPEasy p2p] Add node-IDs for new Espressif SoC models
|
||||
[WiFi] Fix processing connected event
|
||||
[ESP8266] Fix crash on processing log with weblog enabled.
|
||||
[Cleanup] Simplify generating sysinfo page
|
||||
[ESP8266] Fix crash on ESP8266 SDK 2.7.4
|
||||
[ESP8266] Balance more what should be allocated on 2nd heap
|
||||
[Build] Fix build issues on ESP32-xx
|
||||
[Memory] Make memory allocation on ESP8266 2nd heap more stable
|
||||
[Memory] Move C001 and C002 queue elements to 2nd heap (ESP8266)
|
||||
[Memory] Move other controller queue elements to 2nd heap (ESP8266)
|
||||
[ESP32S3] Fix bootloop on ESP32S3 with OPI PSRAM
|
||||
[WiFi] Fix not setting wifi as initialized too often
|
||||
[Memory] Improve memory usage on Strings and task data
|
||||
[Memory] Fix crashes on ESP32-S2 with 8M PSRAM
|
||||
[WiFi] Fix setting dynamic WiFi TX power
|
||||
[Cleanup] Optimize parsing system variables
|
||||
[Rules] Fix broken math parsing
|
||||
[WiFi] Fix (re-)connecting after WiFi connection lost
|
||||
[WiFi] Fix build error on ESP8266
|
||||
[Cleanup] Uncrustify WiFi/Network code
|
||||
[WiFi] Fix reconnecting + WiFi scan
|
||||
[ESP-IDF5.4] Prepare for ESP-IDF5.4 with Arduino 3.2.0
|
||||
[Eastron] Speed up parsing Modbus RTU messages
|
||||
[Serial] Add setXxBufferSize functions
|
||||
[ESP-IDF5.3] Update to latest Arduino/ESP-IDF5.3 version
|
||||
[timing stats] Simplify and speedup collecting timing stats
|
||||
[1-wire] Fix ESP8266 builds not fitting in IRAM
|
||||
[ESP32-C5] Add preliminary support for ESP32-C5 with dual band WiFi
|
||||
[ESP32-C5] Minor tweaks formatting used WiFi protocol
|
||||
[ESP32-C5] Fix file name error for platformio_esp32c5_envs.ini
|
||||
[ESP-IDF] Update to latest SDK/IDF
|
||||
[ESPtool] Prepare use of esptool v5.0.0
|
||||
[ESP32-S2] Change ADC for ESP32-S2 back to 13 bit
|
||||
[ESP-IDF] Revert to older build due to broken UART support
|
||||
[ESP32-C5] Add hardware specific info about ESP32-C5
|
||||
[Build] Get rid of all ESP32-SPIFFS builds
|
||||
[Build] Fix display ESP32 build
|
||||
[build] Change ESP32 IRExt builds to LIMIT_BUILD_SIZE
|
||||
[ESP32-C61] Start adding support for new SoC & generalize WiFi features
|
||||
[ADC] Fix not setting attenuation on internal ADC
|
||||
[ESP-IDF] Update to latest IDF/Arduino code for IDF 5.5
|
||||
[MFRC522] Speed-up detecting cards + make error recovery more stable
|
||||
[MFRC522] Improve range of reader
|
||||
Add HTML_Print and PrintToString helpers
|
||||
[MFRC522] Simplify board reset during init
|
||||
[MFRC522] Allow to dump card info to debug logs
|
||||
[MFRC522] Do proper timing for communicating with card
|
||||
[Rules] Fix processing variables with index > 2^31
|
||||
[Log] Add PrintToLog helper
|
||||
[Build] Add ESP32C5 to release.yml build script
|
||||
[ESP-IDF] Update to latest SDK version
|
||||
[MFRC522] Speedup reading by acting on interrupt pin
|
||||
[PWM motor] Speedup acting on limit switch interrupt
|
||||
[Web flasher] Update esp web tools to 8.1.10 to support ESP32-C5
|
||||
[PubSubClient] Update to new fork PubSubClient3
|
||||
[PubSubClient3] Speedup publish large messages using buffer
|
||||
[Build] Fix failed build due to missing include
|
||||
[ESP32-C5] Add option to force WiFi band 2.4/5 GHz
|
||||
[PubSubClient3] Add check for nullptr in CHECK_STRING_LENGTH
|
||||
[Controller] Fix crashes on MQTT callback calls
|
||||
[Network] Start adding Network config page
|
||||
[Network] Continue adding network config page
|
||||
[Network] Rename NetworkAdapter to NetworkDriver
|
||||
[Network] Start on initial first WiFi STA/AP drivers
|
||||
[Network] Add webform load/save for WiFi STA and AP
|
||||
[Network] Fix looping over CONTROLLER_MAX instead of NETWORK_MAX
|
||||
[ESP32P4] Add preliminary support for ESP32P4
|
||||
[ESP32P4] Fix crashes when trying to connect to WiFi
|
||||
[ESP32P4] Add more warnings for specific GPIO pins
|
||||
[Cleanup] Fix JS issues
|
||||
[Network] Add ETH config page + tweak Network Page
|
||||
[ESP32-P4] Add OTA update command for ESP32C6 WiFi firmware
|
||||
Merge branch 'mega' into bugfix/WiFi_state_machine
|
||||
[Network] Split ESP32P4 code from other MCUs
|
||||
[Network] Fix Ethernet on ESP32P4 + allow multiple active interfaces
|
||||
[Network] List all IP-addresses per network interface
|
||||
[Network] Process info based on NetworkInterface baseclass when possible
|
||||
[Network] Show Network Interface flags
|
||||
[PPP Modem] Add framework for new PPP Modem network interface
|
||||
[ESP32P4] Add extra HW serial ports supported by ESP32P4
|
||||
[Network] Split ETH into RMII and SPI + add template for PPP modem
|
||||
[Storage] Add generic key/value store to simplify data storage
|
||||
[Storage] Add load function for new key/value store
|
||||
[Storage] Add save function for new key/value store
|
||||
[Network] Add NetworkSettings type to store network interface settings
|
||||
[Network] Fix build issues
|
||||
[Network] Uncrustify new code
|
||||
[Storage] Add NWPluginData_base & optimize key/value store
|
||||
[Storage] Add tests for key/value store
|
||||
[Storage] Fix issues storing/loading from key/value store
|
||||
[Storage] Remove 0-termination for strings from raw stored data
|
||||
[Storage] Use key value store for storing network interfaces
|
||||
[PPP Modem] Add modem parameters to NW005 + fix compile issues
|
||||
[PPP modem] Add more settings + simplify key/value/store use
|
||||
[PPP modem] Add APN/Pin settings + show modem status
|
||||
[PPP Modem] Show more cell info + correct reported RSSI/BER values
|
||||
[Storage] Fix build on ESP8266 builds
|
||||
[PPP modem] Remove PPP Modem plugin from ESP32-C3 as there isn't support
|
||||
[PPP Modem] Fix build on LIMIT_BUILD_SIZE ESP32 builds
|
||||
[PPP Modem] Add UE Cell info + fix ESP32C2 build
|
||||
[PPP Modem] Disable PPP Modem plugin for 4M flash builds due to size
|
||||
[Build] Fix ESP32C6 builds
|
||||
[Build] Remove "_CDC_" from all env names due to linker issues
|
||||
[ESP-IDF] Update IDF 5.5 builds (P4/S3) to latest version
|
||||
[Network] Allow crash detection to turn off network interfaces
|
||||
[ESP32P4] Set Ethernet as default on ESP32P4 builds
|
||||
[PubSubClient] Update to latest lib version
|
||||
[PubSubClient3] Speedup publish large messages using buffer
|
||||
[Storage] Fix storing bool types
|
||||
[Controller] Fix bug not being able to add controller
|
||||
[Cleanup] Rename CPlugin and NWPlugin calls to make clear where used
|
||||
[Network] Add WiFi/AP when not present in settings + limit options
|
||||
[Plugin] Rename PluginCall functions to use same convention as controllers
|
||||
[PPP Modem] Make PPP.begin() non-blocking by running in RTOS task
|
||||
[PPP Modem] Initialize C-code to NULL instead of nullptr
|
||||
[Network] Fix saving WiFi STA & WiFi AP settings
|
||||
[Network] Add route prio to network overview
|
||||
[Network] Move network plugin code to new ESPEasy::net namespace
|
||||
[Network] Move ESPEasy::net namespace code to new folder structure
|
||||
[Network] Move global runtime data to new ESPEasy::net namespace
|
||||
[Network] Move more WiFi related code into ESPEasy::net::wifi namespace
|
||||
[Network] Move Network code to ESPEasy::net namespace
|
||||
[Network] Disable ETH for ESP32-xx Display builds to make builds fit
|
||||
[Network] Fix ESP32-classic display build with ETH disabled
|
||||
[Network] Move EthernetParameters to ESPEasy::net namespace
|
||||
[Network] Move MetworkMedium to new ESPEasy::net:: namespace
|
||||
[Network] Move WiFiAPcandidates files to ESPEasy::net::wifi namespace
|
||||
[Network] Fix setting up last network/controller entry
|
||||
[Network] Move WiFi init code to NW001_WiFi_STA plugin
|
||||
[MQTT AutoDiscovery] Fix merge issues
|
||||
[PPP modem] Make init of PPP modem more reliable
|
||||
[Network] Show connected duration in more readable format
|
||||
[Network] Add networkenable / -disable commands + fix for controllers
|
||||
[Controller] Fix proper checking when calling CPLUGIN_xxx functions
|
||||
[Network] Fix build on ESP8266
|
||||
[Controllers] Call [C/NW]PLUGIN_EXIT before _INIT when saving settings
|
||||
[Tasks] Fix scheduled Plugin Task Timer & proper task exit/init
|
||||
[Build] Fix failing ESP8266 custom build
|
||||
[Build] Reduce build size for ESP8266 builds
|
||||
[ESP-IDF] Update to latest ESP-IDF/Arduino for ESP32-xx
|
||||
[PPP Modem] Disable PPP Modem on platforms that don't support it
|
||||
[Network] Add mechanism to restore cached DNS servers
|
||||
[Network] Fix ESP8266 build + add log when DNS is restored from cache
|
||||
[Network] Fix mangled DNS servers when switching default route interface
|
||||
[Network] Trigger checking for DNS server on default NW-IF after event
|
||||
[Network] Make connected info more consistent among network interfaces
|
||||
[Network] Move common code to collect connection stats to base class
|
||||
[Network] Add test to see if we can track interface traffic count
|
||||
[Build] Fix ESP32 build due to missing include
|
||||
[Network] Show connection info for each interface
|
||||
[Network] Reduce code duplication showing connection info
|
||||
[Build] Fix ESP-IDF 5.5 platform to specific one before pip -> uv change
|
||||
[WiFi] Show WiFi Auth mode in connection info
|
||||
[Network] Start removing connected checks from WiFi/Eth EventData
|
||||
[Network] Clean up code duplication handling network events
|
||||
[Controller] Make connection timeout dynamic per host & networkinterface
|
||||
[Network] Remove more legacy WiFiEventData code
|
||||
[Network] Cleanup + add charts for RSSI/TX-pwr, traffic, etc.
|
||||
[Network] Fix ESP8266 build issues
|
||||
[Network] Fix build on ESP8266 1M build
|
||||
[Build] Reduce build size on ESP8266 builds
|
||||
[Build] Fix copy/paste error on ESP32 builds
|
||||
[Network] Fix corrupting settings on ESP8266
|
||||
[Network] Add Route Prio setting for each network interface (ESP32-xx)
|
||||
[Network] Fix access control check for accessing web config
|
||||
[Network] Add column with interface number to Network overview page
|
||||
[Network] Fix NAPT forwarding when client connects/disconnects
|
||||
[Network] Show connected clients to AP + cleanup charts/stats
|
||||
[cleanup] Remove duplicate code in xPlugin tables
|
||||
[network] Fix 'Enable' checkbox consistency & bootloop with AP disabled
|
||||
[Network] Fix crashes when toggling WiFi/AP on/off
|
||||
[network] Show detailed received IPv6 info in the logs
|
||||
[Network] Fix ESP8266 build
|
||||
[Network] Fix merge-conflict on ESP32-build
|
||||
[ESP-IDF] Move to IDF5.5 for all ESP32-xx builds
|
||||
[Build] Fix missing include
|
||||
[Build] Define BUILD_NO_DEBUG for Collection_E builds
|
||||
[ESP-IDF] update to latest ESP-IDF5.5
|
||||
[Build] Define BUILD_NO_DEBUG for all collection builds
|
||||
[USBCDC] Fix USB-CDC for ESP32S2 builds
|
||||
[Build] Define BUILD_NO_DEBUG for ESP32 Collection A builds
|
||||
[Network] Fix collecting RX/TX traffic data
|
||||
[Network] Add FEATURE_NETWORK_TRAFFIC_COUNT to toggle tracking traffic
|
||||
[Network] Add FEATURE_NETWORK_STATS to toggle collecting network stats
|
||||
[Network] Fix reported traffic RX/TX Bytes
|
||||
[USBCDC] Properly fix USB CDC issues on ESP32-S2
|
||||
[Build] Define BUILD_NO_DEBUG for Display builds
|
||||
[Network] Fix xxx#Connected / #Disconnected events
|
||||
[Build] Fix merge issues
|
||||
[WiFi] Fix WiFi reconnect issues
|
||||
[RC522] Add support for 7-byte NFC UIDs
|
||||
[webUI] Move Hardware tab before Network tab
|
||||
[Build] Fix merge issue
|
||||
[SysVars] Fix showing variables with hex number as index
|
||||
[MFRC522] Add immediate event on tag removal
|
||||
[LAN867x] Add support for LAN867x Ethernet controller (RMII)
|
||||
[Network] Exit all networks before reboot
|
||||
[WiFi] Fix scanning WiFi returns no networks found
|
||||
[Network] Fix showing stats and connection info
|
||||
[WiFi] Fix reported WiFi enc. mode on ESP8266
|
||||
[WiFi] Clear uses of WiFiEventData for ESP8266 builds
|
||||
[Eth] Clear uses of EthEventData for ESP32 builds
|
||||
[Build] Fix ESP8266 build
|
||||
[WiFi] Fix wifi reconnect (on ESP32)
|
||||
[WiFi] Fix internal WiFi state matching real connected state.
|
||||
[Network] Log got IP events
|
||||
[Network] Add checks to see if _netif is a valid pointer
|
||||
[Network] Make logging gotIPv6 events not do memory allocation
|
||||
[NeoPixel] Make NeoPixelSendStatus use less memory allocations
|
||||
[MQTTDiscovery] Reduce mem alloc MQTT_DiscoveryPublishWithStatusAndSet
|
||||
[Network] Remove unused base_class check for NWPluginData structs
|
||||
[Network] Add ESPEasy event when network is enabled/disabled
|
||||
[Log] Only process log to serial when in "Arduino RTOS task"
|
||||
[WiFi] Make sure WiFi actually is disconnected when trying to reconnect
|
||||
[MQTT] Only try to run background MQTT connect when connected to network
|
||||
[CSS] Tweaks for newly added Network tab
|
||||
[web UI] Change tab icons to be more uniform and working on Apple
|
||||
[WiFi] Fix automatic redirect on Captive Portal
|
||||
[MQTT] Reduce work/memory in background task, use xTaskDelay as required
|
||||
[WiFi AP] Fix switching between NAPT and Captive Portal
|
||||
[Build] Reduce bin size for ESP32 collection builds
|
||||
[Provision] Fix not able to provision files
|
||||
[PPP modem] Fix crash when PPP modem is enabled but not present
|
||||
[Docs] Add stubs for documenting new Network design
|
||||
[TaskValueSet] Fix setting 64-bit int values to a dummy task
|
||||
[CacheReader] Fix reading cache files from CacheController
|
||||
[CacheReader] Add support for 64bit ints + output as events
|
||||
[CacheReader] Fix continue reading after crash/reboot
|
||||
[CacheReader] Fix incorrect settings array index
|
||||
[CacheReader] Fix incorrect settings array index
|
||||
[CacheReader] Fix incorrect settings array index
|
||||
[Cleanup] Only show MQTT connected stats on enabled controller
|
||||
[CacheReader] Fix reading cache files when files are missing
|
||||
[PPP modem] Add DTR pin option to regain access to modem in CMUX mode
|
||||
[Cleanup] Simplify managing key-value representation in web UI / JSON
|
||||
[JSON] Simplify writing JSON page
|
||||
[JSON] Fine-tune + speedup generating JSON
|
||||
[Log] Use new streaming JSON writer to generate web log
|
||||
[Cache Controller] Use new JSON functions to generate cache_json
|
||||
[JSON] Fine tune new JSON generation functions
|
||||
[Cleanup] Wrap #ifdef WEBSERVER_NEW_UI.. around functions only used then
|
||||
[JSON] Change handle_sysinfo_json() to use new JSON formatting functions
|
||||
[JSON] Fix pretty-print generated JSON + add createChild() option
|
||||
[JSON] Use new createChild function
|
||||
[JSON] Simplify code + reduce build size due to less dependencies
|
||||
[JSON] Add option to print JSON to String + convert Domoticz JSON
|
||||
[Build] Set ESP8266 IR builds to esp8266/Arduino 3.1.2
|
||||
[Build] Fix custom_IR_ESP8266_4M1M build
|
||||
[C009 FHEM] Use new JSON code to generate response
|
||||
[Cleanup] Remove no longer used to_json_object_value functions
|
||||
[Cleanup] Reduce bin size: unsigned long to uint32_t and long to int32_t
|
||||
[JSON] Move KeyValueWriter_JSON to src/Helpers/
|
||||
[Network] Use new WebForm writer for gathering network adapter info
|
||||
[Network] Cleanup code + generate more network info using new K/V writer
|
||||
[JSON] Add same info on network adapters & sysinfo & JSON page
|
||||
[Build] Fix ESP8266 build fail due to variable type mismatch
|
||||
[Build] Reduce bin size by disabling logs in BUILD_NO_DEBUG builds
|
||||
[Build] Fix failed custom ESP8266 build, disable CustomProvisioning
|
||||
[Build] Disable C014 (Homie) and C017 (Zabbix) for ESP8266 Collections
|
||||
[Build] Disable more logs with BUILD_NO_DEBUG on ESP8266
|
||||
[Build] Fix failing build hard_SONOFF_POW_4M1M
|
||||
[Build] Fix build errors on RISC-V like ESP32-C2/C3/C5/C6
|
||||
[Build] Fix build error on safeboot builds
|
||||
[Build] Set BUILD_NO_DEBUG for all NeoPixel builds to make builds fit
|
||||
[Build] Fix failing max_ESP32c5_8M1M_LittleFS_ETH builds
|
||||
[Cleanup] Reduce bin size & simplify ValueStruct
|
||||
[ESP-IDF] Update to latest Arduino/ESP-IDF
|
||||
[Log] Simplify web log buffering
|
||||
[Log] Speedup finding 'next' log element to process
|
||||
[Build] Fix ESP8266 build fail as std::make_unique is not (yet) known
|
||||
[WebLog] Send many log messages in chunks of 200 msec.
|
||||
[TLS] Update TLS to be able to use ECDHE_ECDSA_AES_128_GCM_SHA256 cipher
|
||||
[TimingStats] Add stat to measure time spent processing MQTT messages
|
||||
[TLS-MQTT] Automatic switch to ECDSA when error is 296 (TLS handshake)
|
||||
[Provision] Add option to store (WiFi) credentials to separate file
|
||||
[Build] Fix build issues on ESP8266
|
||||
[WiFi Setup] Store credentials via setup page to separate file
|
||||
[TAR] Fix creating unusable TAR files when backup all
|
||||
[WiFi AP] Fix generating correct events when WiFi AP turns on/off
|
||||
[WiFi] Fix starting AP when no credentials present or known APs found
|
||||
[Log] Convert all ESPEasy console output to LOG_LEVEL_NONE log entry
|
||||
[Log] Serial Console pulls logitems when UART buffer is ready + colorize
|
||||
[Log] Fix log output to webflasher console + colorize LogEntry output
|
||||
[Log] Clearly mark commands in log + source of the command
|
||||
[Log] Cleanup and simplify log level code
|
||||
[Log] Make syslog to use the new log queue + fix syslog crashes
|
||||
[Log] Fix build on ESP8266 + log level label in console + syslog format
|
||||
[ChartJS] Use new JSON key-value-writer + cleanup ChartJS code
|
||||
[Cleanup] Rename Sp_KeyValueWriter to Up_KeyValueWriter
|
||||
[ChartJS] Cleanup forcing "null" on NaN values in JSON
|
||||
[Cleanup] Simplify use of LabelType
|
||||
[ESP8266] Fix build issues due to older compiler for ESP8266 2.7.4
|
||||
[Cleanup] Make nearly all of sysinfo page use new KeyValueStruct writers
|
||||
[Cleanup] Make ESP8266 builds fit again + tweak reducing generated HTML
|
||||
[Climate] Remove P169 (AS3935 lightning Detector) from ESP8266 builds
|
||||
[Build] Revert ESP-IDF/Arduino to make Solo1 and ESP32-P4 build again
|
||||
[Cleanup] Simplify ValueStruct to reduce bin size + speed up processing
|
||||
[ESPEasy] Increase nr of ints in EventStruct
|
||||
[PPP modem] Show mobile provider name from SIM card
|
||||
[ValueStruct] Reduce memory allocations on short strings
|
||||
[LogEntry] Reduce LogEntry struct to 16 bytes per log item in memory
|
||||
[ValueStruct] Fix order initialization members
|
||||
[KeyValueStruct] Add standard Unit-of-Measure units
|
||||
[WebForm] Show bool types from key/value struct as checkmark
|
||||
[ValueStruct] Fix edge case crash copying values.
|
||||
[Build] Wrap calls to setUnit in #if FEATURE_TASKVALUE_UNIT_OF_MEASURE
|
||||
[ChartJS] Make charts appear on the full width and responsive
|
||||
[Charts] Remove no longer needed chart height/width & cleanup code
|
||||
[ESPEasy p2p] Cleanup use of std::unique_ptr + p2p data structs
|
||||
[Ethernet] Set hostname when Ethernet device is started
|
||||
[Build] Reduce build size by disabling GitHub copy button for ESP8266
|
||||
[ESP32-P4] Fix WiFi/Eth issues on ESP32-P4 + optimize memory allocations
|
||||
[Units Of Measure] fix merge issues PR #5419
|
||||
[ESP32P4] Disable USB HWCDC to fix ESPEasy console for ESP32P4
|
||||
[ESP-Hosted] Show more info on ESP-Hosted-MCU WiFi (ESP32-P4)
|
||||
[ESP-Hosted] Make sure hostname is set on ESP-Hosted-MCU before DHCP
|
||||
[IPv6] Add option to enable/disable IPv6 per network adapter
|
||||
[JSON] Write empty "Sensors" array when no tasks defined
|
||||
[Eth] Move duplicate code to shared functions to display info
|
||||
[ETH] Remove left-over code duplication after split RMII/SPI adapters
|
||||
[ESPEasy Console] Fix console on both HWCDC and Serial0
|
||||
[Network] Make connected check more direct when starting connection
|
||||
[Build] Fix flush() vs. clear() as it differs between ESP8266 and ESP32
|
||||
[Build] Make normal_ESP8266_1M_VCC not fail building (still too big)
|
||||
[Build] Fix build issue due to missing forward decl. of enum
|
||||
[Sysinfo] Add missing Unit-of-measure on file system size
|
||||
[Ethernet] Add already setup Ethernet when upgrading ESPEasy
|
||||
[Sysinfo] Hide WiFi info when no WiFi is enabled
|
||||
[Network] Start adding JSON import/export Network settings per adapter
|
||||
[Build] Disable Framed OLED on 1M ESP8266 Normal builds due to size
|
||||
[Network] Add networkexportconfig command to export to JSON
|
||||
[Network] Add NetworkImportConfig command
|
||||
[Eth] Store settings for RMII and SPI Ethernet to KV-store
|
||||
[Ethernet] Allocate unused ETH interface support multiple ETH instances
|
||||
[Ethernet] Fix saving settings to KVS
|
||||
[Network] Restart services (e.g. ESPEasy p2p) when default route changes
|
||||
[ESP-IDF] Update to latest Arduino/IDF code with fix for SPI Eth MAC
|
||||
[ESP8266] Fix failing ESP8266 build
|
||||
[Build] Remove _LittleFS and _ETH from build names due to linker issues
|
||||
[Build] Fix build fail with builds without Ethernet support
|
||||
[ESP32-P4] Disable OTA update for ESP-HOSTED-MCU on ESP32P4 for now
|
||||
[Build] Enable `custom_remove_include` to not build ignored libs
|
||||
[Web Flasher] Update script to generate webflasher for new build names
|
||||
[Network] Simplify ETH Event handling + update ESP-IDF/Arduino 3.3.3
|
||||
[Build] Limit package building to use Python 3.13
|
||||
[Build] Fix Solo1 builds
|
||||
[Ethernet] Fix loading RMII Eth settings from KVS
|
||||
[Ethernet] Fix loading SPI Ethernet settings from KVS
|
||||
[Ethernet] Cleanup showing GPIO conflicts/usage
|
||||
[Ethernet] Remove no longer needed commands to setup ETH
|
||||
[Ethernet] Make Periman reported conflicts the reported conflicts
|
||||
[Network] Remove obsolete code from Config and Tools->Advanced page
|
||||
[ESP32-C61] Add initial support for ESP32-C61
|
||||
[Collection] Remove P038 and P095 from ESP32 Collection builds
|
||||
[ESP32-solo1] Add flags to fix IDF5.5 issues for 'esp32-solo1' boards
|
||||
[ESP32-P4] Add chip-variant option to support P4 rev 1 and rev 3
|
||||
[Build] Speed up builds, add not used libs to lib_ignore
|
||||
[WebFlasher] Add support for ESP32-C5/C61 for the webflasher
|
||||
[ESPEasy p2p] Add IDs of not yet supported ESP MCUs
|
||||
[ESP32-P4/-C61] Update Arduino/IDF to support ESP32-C61 & ESP32-P4 preV3
|
||||
[ColorCode] Add NetworkEnable/Disable commands to ColorCode JavaScript
|
||||
[WiFi] Fix check for available credentials only in device specific file
|
||||
[Network] Fix processing network events on disconnect + simplify check
|
||||
[webflasher] Add 'chipVariant' to distinguish ESP32-P4 variants
|
||||
[Hardware Info] Show differences between ESP32-C6H4 and ESP32-C6H8
|
||||
[Cleanup] Mark unused members in SettingsStruct
|
||||
[WiFi] Cleanup WiFi/AP settings + simplify when to start AP mode
|
||||
[Build] Fix failed minimal ESP8266 build
|
||||
[Build] Fix solo1 builds due to wrongly set LTO flags
|
||||
[WebUI] Simplify adding HTML form fields
|
||||
[WiFi] Simplify WiFi AP fallback scenarios
|
||||
[Build] Fix failing ESP8266 builds
|
||||
[P180] BusCmd_Helper processing I2C commands via cmd subcommand was locked out
|
||||
[C023] Clone C018 code to C023
|
||||
[C023] Remove links to RN2483 code
|
||||
[C023] Add initial support for Dragino LA66 LoRaWAN module
|
||||
[C023] Add querying LA66 + receive downlink messages
|
||||
[C023] Add option to trigger events via downlink messages + code cleanup
|
||||
[C023] Fix timeout reading from LoRa + set ClassC after joined
|
||||
[C023] Cleanup LoRa AT-command controller + fix parse responses
|
||||
[WiFi] Add link to ESP-Hosted-MCU firmware builds
|
||||
[C023] Add initial support for RAK3172 LoRaWAN (m5stack AtomDTU)
|
||||
[C023] Cleanup AT-command LoRaWAN
|
||||
[C023] Add support for RAK3172 LoRaWAN (m5stack AtomDTU)
|
||||
[ESP-IDF] Update to latest ESP-IDF/Arduino
|
||||
[USBCDC] Simplify code defining USBCDC(TinyUSB) vs. HWCDC
|
||||
[C023] Remove debug log
|
||||
[Bug] Fix formatToHex_wordarray
|
||||
[Network] Enable Network Stats when plugin stats are also enabled
|
||||
[WiFi] Fix reconnecting when connection gets interrupted
|
||||
[Network] Fix enable/disable IPv6 per network interface
|
||||
[Build] Make syslog optional to reduce build size
|
||||
[Build] Add flags to disable webserver JSON or syslog to reduce bin size
|
||||
[OLED] Fix: 128×64 shows only left half in display_A builds (#5469)
|
||||
[Web Flasher] Fix generated web flasher manifest JSON
|
||||
[Serial Console] Fix outputting data to USBCDC port for ESP32S2
|
||||
[TimingStats] Tweak timing stats for console output
|
||||
[Domoticz] Fix Domoticz MQTT outputting svalue wrapped in quotes
|
||||
Update README.md
|
||||
[Build] Fix failing custom build (#5485)
|
||||
[Build] Fix failing custom build (#5485)
|
||||
[ESP-IDF] Update to latest 1901-1318-5.5 platform build
|
||||
[Build] Fix compile issues
|
||||
Revert "[ESP-IDF] Update to latest 1901-1318-5.5 platform build"
|
||||
[Sysinfo] Show free space on file system
|
||||
[ESP-IDF] Update to latest IDF/Arduino code to test if P4 builds work
|
||||
[Build] Fix non-ESP32P4 builds with latest ESP-IDF/Arduino
|
||||
[Build] Set BUILD_NO_DEBUG for Climate-A builds to make them fit again
|
||||
[SPI] Fix returning 'other' SPI bus for user defined SPI
|
||||
[Interfaces] Split SPI and I2C config into new Interfaces page
|
||||
[WebUI] Add some icon to Interfaces tab + minor tweaks
|
||||
[ESP-IDF] Update to latest ESP-IDF/Arduino SDK
|
||||
[Web UI] Change icon for Interfaces
|
||||
[Build] Try to reduce build size for ESP8266 minimal, disable I2C/SPI
|
||||
[Build] Fix failing neopixel_ESP8266_1M_Domoticz build
|
||||
[Build] Fix failing minimal_IRext_ESP8266_4M1M
|
||||
[Build] Fix failing build safeboot_ESP32c2_4M_LittleFS
|
||||
Update generate_web_flasher_manifest.py fix showing C6 in list
|
||||
[Network] Add 'Fallback Network Interface' concept.
|
||||
[Network] Fix failing build on ESP8266
|
||||
[Network] Start documenting Fallback Network Interface
|
||||
[WiFi] Make WiFi AP act as fallback device when set as such.
|
||||
[USB-CDC] Fix USB disconnect on reboot for USB-JTAG/CDC boards
|
||||
[USB-CDC] Fix USB disconnect on reboot for USB-JTAG/CDC boards
|
||||
[TM1637] Fix timing issues for ESP32-builds for P073 TM1637
|
||||
[TM1637] Fix timing issues for ESP32-builds for P073 TM1637
|
||||
[Direct GPIO] Add missing function decl. for ESP8266
|
||||
[Direct GPIO] Add missing function decl. for ESP8266
|
||||
[ESP8266 build] Fix failing custom ESP8266 build using Custom.h
|
||||
[ESP8266 build] Fix failing custom ESP8266 build using Custom.h
|
||||
[WiFi] Fix setting hostname before starting WiFi on ESP8266
|
||||
[WiFi] Fix build on ESP8266 SDK 2.7.4
|
||||
[WiFi] Set ESP8266 hostname each time before starting WiFi.begin()
|
||||
[TM1637] Fine tune signal timing
|
||||
[TM1637] Fine tune signal timing
|
||||
[TM1637] Make clock timing more constant + fix end of transmission mark
|
||||
[TM1637] Make clock timing more constant + fix end of transmission mark
|
||||
[TM1637] Pull DIO pin low before switching to input for ACK
|
||||
[TM1637] Pull DIO pin low before switching to input for ACK
|
||||
[TM1637] Change init procedure not calling directGPIO at init
|
||||
[TM1637] Change GPIO toggling to toggle input/output + enable pull-up
|
||||
[TM1637] Fix proper timings for start/end sequence
|
||||
[TM1637] Change init procedure not calling directGPIO at init
|
||||
[TM1637] Change GPIO toggling to toggle input/output + enable pull-up
|
||||
[TM1637] Fix proper timings for start/end sequence
|
||||
[ESP-IDF] Switch to latest ESP-IDF / Arduino SDK & GCC 15.2
|
||||
[Build] Fix failing build for minimal_core_274_ESP8266_1M_OTA_FHEM_HA
|
||||
[Build] Fix failing build for minimal_core_274_ESP8266_1M_OTA_FHEM_HA
|
||||
[Build] Reduce build size by tweaking compile flags
|
||||
[Build] Fix mDNS builds + failing FEATURE_MQTT_TLS=0 & HTTP_TLS=1
|
||||
[ESP32-P4] Fix failing ESP32-P4 build due to upstream ESP-IDF changes
|
||||
[mDNS] Fix mDNS on ESP8266
|
||||
[ESPEasyP2P] Add ESP32-S31 as node ID to be recognized as ESP type
|
||||
[Serial Console] Fix showing console output in VScode
|
||||
[Console] Fix sluggish reply on console input + allow disable color logs
|
||||
[Git] Add sdkconfig.* to .gitignore
|
||||
[GPIO] Fix GPIO re-assign on ESP32 previously used by serial
|
||||
[Build] Add missing changes for disable colorize logs
|
||||
[ESP-IDF6.0] Add support for latest IDF6.0
|
||||
[mDNS] Properly destruct MDNS objects when updating
|
||||
[SPI Eth] Fix SPI Ethernet using correct SPI bus
|
||||
[ESP-IDF] Revert to IDF 5.5.3
|
||||
[SPI] Fix build on ESP32C3
|
||||
[SPI] Simplify SPI code + fix SPI bus selection
|
||||
[Build] Fix build missing #if FEATURE_SD
|
||||
[Web UI] Fix selected disabled item not getting saved
|
||||
[SPI] Fix potential uninitialized spi gpio pins
|
||||
[WiFi-AP] Extend WiFiAPmode command to toggle WiFi-AP without disable it
|
||||
[P169] AS3935 Lightning Detector was missing from Climate B builds
|
||||
[Network] Fix starting fallback interfaces if all are fallback on ESP32
|
||||
[mDNS] Add mDNS for ESP32 builds
|
||||
[mDNS] Update ESP32 mDNS lib + improve handling fallback AP on ESP8266
|
||||
[Docs] Update links to datasheets + TR of supported ESP chips
|
||||
[Docs] Fix frequency of ESP32-S31 + ESPEasy supported since
|
||||
[Docs] Fix rendering supported CPUs table
|
||||
[mDNS] Add flag to toggle mDNS
|
||||
[Network] Reduce includes in network code
|
||||
[Network] Fix failing custom_beta_2ndheap_ESP8266_4M1M
|
||||
[Network] Reduce number of includes in WiFi/Network code
|
||||
[Build] Fix hard_SONOFF_POW_4M1M build
|
||||
[Cleanup] Reduce number of includes
|
||||
[Build] Fix failing build collection_C_ESP32_IRExt_4M316k
|
||||
[WiFi] Fix odd WiFi behavior on ESP8266
|
||||
[Build] Reduce size of custom ESP8266 build
|
||||
[ESP8266] Simplify device info functions on ESP8266
|
||||
[ESP8266] Define more bus specifics for ESP8266 in esp8266_soc_caps.h
|
||||
[Cleanup] Add 'override' to virtual controller queue functions
|
||||
[Cleanup] Add 'override' to virtual functions libs changed for ESPEasy
|
||||
[Cleanup] Fix failing builds due to different virtual function sigs
|
||||
[Network] Cleanup code + show connection info on ESP8266 adapter page
|
||||
[Cleanup] Comment unused NWPluigin functions
|
||||
[mDNS] Disable mDNS in builds as it is considered unstable
|
||||
[WiFi] Fix initial WiFi setup via soft-AP
|
||||
[Build] Fix missing include for ESP32 builds
|
||||
[WiFi] Fix uncrustify messing up wifiChannels table
|
||||
[WiFi] Fix captive portal and initial setup for ESP32-S2
|
||||
[WiFi] Fix crash on saving WiFi settings with active network connections
|
||||
[WiFi] Add OTA update for ESP-Hosted-MCU on ESP32-P4
|
||||
[sendToHttp] Fix SendToHttp HTTPS command using HTTPClientLight
|
||||
[Build] Fix include for ESP8266 builds
|
||||
[sendToHTTP] Fix sendToHTTP using the new lib for https. (revuew by Ton)
|
||||
[ESP-IDF] Update to latest ESP-IDF/Arduino
|
||||
[RMII Eth] Fix setting clock mode + document NW config import/export
|
||||
[Docs] Update ESP-Chips table
|
||||
[ESP32P4r3] Add support for ESP32-P4 rev3
|
||||
[Eth] Fix static IP for Ethernet
|
||||
[Build] Fix missing include on minimal_core_312_ESP8266_1M_OTA_Domoticz
|
||||
[Build] Fix missing include for collection_H_ESP32_IRExt_4M316k build
|
||||
[WiFi] Fix slowdown issues using Eth on ESP32-P4 with WiFi off
|
||||
[WiFi] Make Captive Portal more intuitive and only act when connected to AP
|
||||
[WiFi] Fix continuous logs flood + fix check for no credentials
|
||||
[Build] Fix ESP8266 build
|
||||
Fix syslog packets contain only a prefix (#5538)
|
||||
[ETH] Fix setting static IP for Ethernet network interfaces
|
||||
[Build] Remove normal_beta_ESP8266_16M_LittleFS
|
||||
[Build] Fix missing include
|
||||
[WiFi] Fix static IP for WiFi
|
||||
[WiFi] Fix static IP for ESP8266
|
||||
[ESP32S2] Add MAX 8M1M build for ESP32-S2
|
||||
[ESP-IDF] Update to latest IDF/Arduino code
|
||||
[Sysinfo] Fix reporting used sketch size on sysinfo page
|
||||
[Console] Fix setting correct TX buffer size + add checks + cleanup
|
||||
[WiFi] Fix setting init/exit/gotIP flags on Network interfaces
|
||||
[ESP32S2] Fix using UART/USBCDC on ESP32S2
|
||||
[WiFi] Fix some minor WiFi issues when saving settings (still 5min wait)
|
||||
[WiFi] Fix WiFi reconnect + event duplicates on ESP8266
|
||||
[ESP32P4] Fix crashes on older ESP-HOSTED-MCU fw & detection 32M flash
|
||||
[32M flash] Fix including all 'MAX' plugins for 32M flash builds
|
||||
[ESP-Hosted-MCU] Fix OTA URL + speedup log output to serial
|
||||
[ESP32-P4] Enable WiFi STA interface on factory reset
|
||||
[Webflasher] Add 32M builds to the page generator script
|
||||
[Webflasher] Use flash size detection to simplify MAX build selection
|
||||
[webflasher] Cleanup Python script to generate page + set to 460800 baud
|
||||
[DirectGPIO] Use low-level HAL commands from ESP-IDF for ESP32-xx
|
||||
[PubSubClient3] Update to latest MQTT Client PubSubClient3
|
||||
[Network] Improve response time on network disconnect for MQTT client
|
||||
[Network] Add setting whether to collect network stats (ESP32-only)
|
||||
[ESP32S2] Improve free RAM on ESP32S2
|
||||
[Network] Fix crash saving network interface settings with p2p active
|
||||
[TM1637] Fix ESP8266 not working with TM1637 (#5541)
|
||||
[ESP32S3] Fix random crashes on ESP32S3 with PSRAM
|
||||
[WiFi] Fix using all set WiFi credentials
|
||||
[AccessControl] Fix checking for allowed IP range
|
||||
[ESP8266] Fix ESP8266 builds missing include
|
||||
[WiFi AP] Fix really stupid error setting WiFi AP static IP
|
||||
[ESP-IDF] Update Arduino/ESP-IDF to latest version
|
||||
[WebFlasher] Update webflasher to 12.2.4
|
||||
[Network] Fix route setting priority (ESP32-only)
|
||||
[Network] Fix properly clearing runtime data when starting nw interface
|
||||
[Arduino 3.3.9] Update to latest espressif32/Arduino 3.3.9
|
||||
[Docs] Add link to Supported Features and Peripherals on ESP32-xx
|
||||
[AccessControl] Fix checking for allowed IP access of webinterface
|
||||
[Build] Fix custom build missing an include for Metrics.cpp
|
||||
[Build] Fix sort custom vars on ESP8266
|
||||
[SysVarSort] Only sort system variables on ESP32 due to build size
|
||||
[WiFi] Fix stack overflow crash when no credentials set
|
||||
[WiFi] Simplify state machine for WiFi STA
|
||||
[WiFi] Update WiFi state diagrams
|
||||
[WiFi] Simplify WiFi STA state machine
|
||||
[WiFi] Cleanup STA state machine code
|
||||
[WiFi] Add state diagrams to WiFi documentation
|
||||
[Network] Simplify connected/disconnected and enabled/disabled events
|
||||
[PWM] Disable fade for ESP32 PWM for now.
|
||||
[SendToHttps] Fix crash and actually working + connect timeout
|
||||
[Build] Fix failing ESP32C2 Safeboot build.
|
||||
[SendToHttps] Log HTTP return code even on BUILD_NO_DEBUG
|
||||
[Forms] Add optional changed bool to simplify checking for changes
|
||||
[Webserver] Remove code duplication send start of page
|
||||
[Webserver] Remove & simplify duplicate code send end of page
|
||||
[PPP] Show info even when no connection to provider is active
|
||||
[PPP Docs] Add documentation on NW005 PPP Modem
|
||||
[PPP Docs] Add description and some tips regarding power
|
||||
[Docs] Add documentation for WiFi STA/AP + reformat other network docs
|
||||
[Docs] Describe WiFi modes and Passive/Active scan
|
||||
[WiFi] Simplify passive/active scan note
|
||||
[Docs] Describe rest of WiFi settings
|
||||
[Docs] Fix section/subsection marking on PPP page.
|
||||
[Docs] Remove empty 'Description' subsection from NW001 page
|
||||
[Docs] Add missing documentation for WiFi AP + cleanup network docs
|
||||
[Network] Add option to append NW interface name to hostname
|
||||
[Docs] Add link of ESP32-Arduino supported features per ESP32-variant
|
||||
[Cleanup] Set development/debug log as LOG_LEVEL_DEBUG
|
||||
[Network] Add "Append Name to Hostname" to import/export
|
||||
[Network] Fix import/export for WiFi STA and AP
|
||||
[Docs] Document the Network overview tab
|
||||
[Docs] Document the devsecurity.dat file
|
||||
[Docs] Add missing network overview tab screenshot
|
||||
|
||||
Ton Huisman (166):
|
||||
[SPI] Add support for multiple SPI buses
|
||||
[P095] Enable support for configurable SPI bus
|
||||
[P104] Enable support for configurable SPI bus
|
||||
[P116] Enable support for configurable SPI bus
|
||||
[P141] Enable support for configurable SPI bus
|
||||
[P172] Enable support for configurable SPI bus
|
||||
[P162] Enable support for configurable SPI bus
|
||||
[P162] Fix compilation for ESP8266
|
||||
[P125] Enable support for configurable SPI bus
|
||||
[P118] Enable support for configurable SPI bus
|
||||
[P111] Enable support for configurable SPI bus (and reformat source)
|
||||
[P099] Enable support for configurable SPI bus
|
||||
[P096] Enable support for configurable SPI bus
|
||||
[P039] Move (nearly) all code to PluginStrucs files
|
||||
[P039] Enable support for configurable SPI bus
|
||||
[SPI] Show SPI Bus selector also if only second bus enabled
|
||||
[SPI] Fix initialization for standard FSPI bus
|
||||
[SPI] Improvements in cross-bus GPIO config validation
|
||||
[Storage] Add settings for External EEPROM
|
||||
[SPI] Rename SPI1 object to SPIe to avoid conflict for ESP32-Classic builds
|
||||
[SPI] Code improvements, separate SPI functions, re-init SPI when saving Hardware page
|
||||
[P039] Fix compiler warning (nested comments)
|
||||
[MQTT] Reconnect on unexpected network interruptions
|
||||
[SPI] Disconnect SPI GPIO pins also when not using them
|
||||
[P116] Fix GPIO display on Devices page, no default GPIO pins for ESP32
|
||||
[P095] Fix GPIO display on Devices page, fix typos, no default GPIO pins for ESP32
|
||||
[SPI] Rename settings variable for better usage indication (review comment)
|
||||
[MQTT] Cancel background connection request after 2 minutes when still not connected
|
||||
[MQTT] Fix reconnect on unexpected network interruptions
|
||||
[Discovery] Avoid setting the timeout more than once
|
||||
[MQTT] Use client timeout for delay between connection attempts
|
||||
[Build] Fix missing FEATURE_SD check
|
||||
[P132] Additional support for INA226, INA228, INA230, INA231 and INA260
|
||||
[P132] Fix some typos
|
||||
[P132] Fix some more typos
|
||||
[P132] Fix one more typo and clean up code
|
||||
[P132] Add INA231 to plugin name
|
||||
[P132] Update documentation
|
||||
[P132] Fix conversion rate settings for INA228
|
||||
[P132] Fix defaults for INA228
|
||||
[P132] Update documentation for INA228 conversion rates
|
||||
[P132] Refactor Shunt settings and add more high-current options
|
||||
[P132] Update documentation for extended Shunt setting
|
||||
[P132] Fix rounding for 400A shunt
|
||||
[P132] Better selector-descriptions for shunt values
|
||||
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/SPI-add-support-for-multiple-buses, fix conflicts
|
||||
[P135] Bugfix: Correct Discovery VTypes
|
||||
[SPI] Add SPI bus selector to SPI Ethernet plugin
|
||||
[MQTT] Bugfix: Import wasn't initiated and handled correctly
|
||||
[Cleanup] Remove Provisioningxxx fall-back commands and other fixes
|
||||
[Docs] Fix some small typos
|
||||
[Log] Restore EVENT: (some event) in logging for BUILD_NO_DEBUG builds
|
||||
[Log] Restore ACT : (rules action) in logging for BUILD_NO_DEBUG builds
|
||||
[P073] Bugfix: Display stays blank after upgrade without settings-save (#5475)
|
||||
[P132] Improve calculation accuracy determining shunt microVolt factor
|
||||
[P132] Only read measurement when conversion is ready
|
||||
[P132] Enable extended features for Energy build ESP8266 for now
|
||||
[Build] Fix compilation with Custom.h and TLS on ESP32
|
||||
[Fixes] Various fixes and improvements Feb 2026
|
||||
[CI] Fix github yaml syntax issues
|
||||
[P132] Fix MQTT Discovery for Power setting
|
||||
[Docs] Fix warnings and doc-build errors, remove deprecated plugin from conf.py
|
||||
[P104] Add font with Cyrillic characters in high-ASCII area
|
||||
[P104] Updated documentation for Cyrillic font
|
||||
[P104] Updated Cyrillic ext. font with more elaborate character set
|
||||
[P104] Updated Cyrillic ext. font with a more visually pleasing character set
|
||||
[SPI] Add support (check) for ESP32-C61 in getSPIBusCount()
|
||||
[P180] Set Cache-name field by default when empty for better performance, docs updated
|
||||
[Docs] Use pioarduino plugin instead of PlatformIO for VSCode
|
||||
[Docs] Fix error in internal commands list so it is visible again
|
||||
[Build] Disable unneeded 'page will reload' messages
|
||||
[Docs] Fix typo
|
||||
[Feature] Split Interfaces page into separate tab per interface
|
||||
[Build] Remove unneeded ifdef check
|
||||
[UI] Add support for collapsible sections on web pages
|
||||
[Interfaces] Add collapsible sections for I2C and SPI configuration
|
||||
[Build] Fix compiler warnings
|
||||
[UI] Fix minor display issue
|
||||
[UI] Add support for collapsible sections on web pages
|
||||
[Docs] Move Interfaces and Network docs to more appropriate locations
|
||||
[Docs] A few textual updates
|
||||
[P104] Improved Cyrillic font
|
||||
[UI] Improved css when used on small screens
|
||||
[UI] Improved css when used on small screens, more updates
|
||||
[UI] Improved css when used on small screens, more updates
|
||||
[P104] Update Cyrillic font doc screenshot
|
||||
[P104] Improved Ë and ë in the Cyrillic set to align with the other Cyrillic characters, and updated screenshot
|
||||
[UI] Improved css to have a pointer cursor and some spacing around the Details... label
|
||||
[UI] Fine-tune css for nicer menu tabs in dark mode
|
||||
[UI] Revert: Fine-tune css for nicer menu tabs in dark mode
|
||||
[UI] Fine-tune css for nicer menu sub-tabs (Interfaces)
|
||||
[UI] Fine-tune css fixes by @chromoxdor
|
||||
[UI] Compatibility css fix by @chromoxdor
|
||||
[Docs] Separate ESP32 and ESP8266 status
|
||||
[Docs] Separate status for ESP32 and ESP8266 on each page
|
||||
[Docs] Small update on excluded plugins
|
||||
[Docs] Small updates for supported chips
|
||||
[Docs] Small updates for supported chips
|
||||
[UI] Disable the Interfaces/Modbus subtab for now, as it's still TODO
|
||||
[Docs] Update documentation
|
||||
[Build] - Ignore clangd configuration file
|
||||
[Build] Add P047 (Moisture sensors) to Climate B, as mentioned in the docs
|
||||
[Advanced] Remove I2C ClockStretchLimit note
|
||||
[Network] Fix missing reload-indicator for Network Driver selector
|
||||
[Docs] Corrections for some recent changes
|
||||
[Docs] Expand description for creating a Custom build
|
||||
[Docs] Expand description for creating a Custom build, small typo fixes
|
||||
[Bugfix] [I2C] Connection-check failure didn't correctly disable the plugin
|
||||
[P180] [BusCmd] Allow rules variables in get/read and put/write (bus) commands
|
||||
[Build] Use pioarduino also on Github builds
|
||||
[Build][GH] Bump github-scripts plugin from v8 to v9
|
||||
[Build] Rename library.json for HeatpumpIR to avoid constant re-installs of (outdated version) IRremoteESP8266
|
||||
[P180] [BusCmd] Allow rules variables in read and put/write (bus) commands
|
||||
[P180] Process I2C commands synchronous when called from rules and other internal sources
|
||||
[P180] Update documentation
|
||||
[P180] [BusCmd] Allow rules variables in read and put/write (bus) commands
|
||||
[P180] Update documentation
|
||||
[Build] Create separate ESP32P4 binaries zip in release script
|
||||
[Fixes] %iswifi% report status value instead of boolean
|
||||
[Metrics] Add network traffic data TX/RX bytes and frames (Prometheus)
|
||||
[Docs] Fix typo
|
||||
[Ni]otifications] Add usesTLS flag to attributes and show in PluginList
|
||||
[Ni]otifications] Add usesTLS flag to attributes and show in PluginList
|
||||
[Network] Add define to select factory-default network adapter
|
||||
[Custom] Add some missing #define variables to Custom-sample.h
|
||||
[Network] Fix struct initialization
|
||||
[Settings] Fix waring for VariousBits_2
|
||||
[Network] Add size-check for NetworkDriverStruct
|
||||
[Custom] Add secure Cloudflare DNS entries
|
||||
[Docs] Fix missing column for LoopTimerSetAndRun
|
||||
[Build] Add C5 4MB Custom, 16MB MAX and 32 MB MAX32 and P4 32MB MAX32 builds
|
||||
[Build] Fix a few typos in 32MB board definitions
|
||||
[Build] Missed a typo in 16MB board definition
|
||||
[Dist] Update Espressif Flash Download tool to v3.9.10
|
||||
[Build] Update documentation
|
||||
[Network] Allow network interfaces to be enabled on factory reset
|
||||
[Network] Fix small typo
|
||||
[P180] Add documentation for TCA9554 I/O extender to control relays
|
||||
[P073] Fix build with P073_DEBUG and BUILD_NO_DEBUG enabled
|
||||
[Build] uv: Activate the PENV, then install missing requirements there
|
||||
[C016] Remove Experimental label, clean up initialization
|
||||
[Network] Initially collapse the Statistics section of the page
|
||||
[Metrics] Only export metrics when stats enabled
|
||||
[Build] Fix comment
|
||||
[Network] Allow to not default-enable WiFi interface
|
||||
Revert: [Metrics] Only export metrics when stats enabled
|
||||
[Docs] Fix link to I2C Bus settings
|
||||
[Console] Accept all valid ASCII characters for input
|
||||
[Build] Fix install-requirements script on Windows
|
||||
[UI] Update icon for Tools tab
|
||||
[P039] Fix for initialization error
|
||||
[SysVars] List variables numerically sorted
|
||||
[SysVars] Sort alphabetic values too (though they come in already sorted)
|
||||
[Docs] Suggest VSCode plugin TODO Highlight as Todo Tree doesn't work anymore without an external tool
|
||||
[Docs] Update VSCode plugin list
|
||||
[C005] Add note MQTT Auto Discovery not enabled in ESP8266 builds
|
||||
[Bugfix] Improve initialization of Task Interval
|
||||
[Bugfix] Partial revert for saving Task Interval
|
||||
[Bugfix] Include PLUGIN_FORMAT_USERVAR values for json updates
|
||||
[PLUGIN_FORMAT_USERVAR] Allow optional value display formatting by setting ParN[idx] to 1
|
||||
[P126][P129] Code optimization by moving ul2stringFixed to StringConverter_Numerical
|
||||
[P126][P129] Code optimization using ceilf instead of ceil, fix conditional compile error
|
||||
[Docs] Small typo P124
|
||||
[Bugfix] Limit humidity to 100% after applying temperature compensation
|
||||
[UI] DevicesPage: Hide Controllers if no values to send
|
||||
[Docs] Clarification about Collection builds including Normal plugin set, mention 32MB flash units
|
||||
|
||||
andbad (18):
|
||||
Update _P036_FrameOLED.ino
|
||||
Add new display configuration for 72x40 resolution
|
||||
Add case for pix72x40 resolution handling
|
||||
Update p036_resolution enum values
|
||||
Add new display option '72x40' to OLed_helper
|
||||
Fix enum values for p036_resolution
|
||||
Reorder resolution options in OLED frame
|
||||
Fix formatting of optionValues array in FrameOLED
|
||||
Reorder display size options in OLed_helper.cpp
|
||||
Remove and re-add 72x40 resolution configuration
|
||||
Update OLedFormSizes call to include element count
|
||||
Update OLedFormSizes to use optionsSize parameter
|
||||
Add default parameters to OLedFormSizes function
|
||||
Refactor FormSelectorOptions initialization
|
||||
Fix formatting of enum value for p036_resolution
|
||||
Fix formatting in P036_data_struct.h
|
||||
Add 72x40 OLED size to changelog
|
||||
Add 72x40 size
|
||||
|
||||
chromoxdor (35):
|
||||
Update for the HTTP Response Parser
|
||||
minor changes
|
||||
Update HTTPResponseParser.h
|
||||
Update HTTPResponseParser.h
|
||||
HttpResponseParser fix:prevent race condition
|
||||
[ESP8266] Enable CORS globally
|
||||
[CSS] Future CSS for Wi-Fi & Interfaces tab
|
||||
no need here
|
||||
[CSS] small update
|
||||
Update HTTPResponseParser.cpp
|
||||
Update HTTPResponseParser.cpp
|
||||
update colorcode files
|
||||
Update HTTPResponseParser.cpp
|
||||
FIX json?showpluginstats
|
||||
Update espeasy.min.js
|
||||
[ESP8266] Enable CORS globally (Update)
|
||||
[LOG] add filter
|
||||
[LOG] refining the filter
|
||||
[LOG] revert changes for plugin_sets
|
||||
[LOG] add filter field for older builds
|
||||
[LOG] reverting accidents
|
||||
[LOG] autoscroll fix, code reduction
|
||||
[LOG] Removed unnecessary code.
|
||||
[LOG+DevicePage_JS] refining the device page JS
|
||||
[JS] update WebStaticData.h
|
||||
[LOG] Fix for the minified JS
|
||||
Delete fetch_and_parse_log.min.js
|
||||
[PWM] Fix led flickering
|
||||
[PWM] undoing 16-bit changes
|
||||
Update Hardware_PWM.cpp
|
||||
[PWM] add ledcReadFreq(pin) for comparison
|
||||
[PWM] multipin state tracking
|
||||
Update Hardware_PWM.cpp
|
||||
[PWM] using ledcRead()
|
||||
[PWM] reduce function
|
||||
|
||||
dependabot[bot] (3):
|
||||
Bump actions/download-artifact from 7 to 8
|
||||
Bump actions/upload-artifact from 6 to 7
|
||||
Bump actions/checkout from 6 to 7
|
||||
|
||||
yosinn1-blip (2):
|
||||
docs: fix received spelling in docs
|
||||
docs: fix occurrence spelling in docs
|
||||
|
||||
|
||||
-------------------------------------------------
|
||||
Changes in release mega-20260108 (since mega-20260107)
|
||||
-------------------------------------------------
|
||||
|
||||
Release date: Thu Jan 8 08:33:12 AM CET 2026
|
||||
|
||||
TD-er (1):
|
||||
Add Python version for prepare-dist in release.yml
|
||||
|
||||
|
||||
-------------------------------------------------
|
||||
Changes in release mega-20260107 (since mega-20250430)
|
||||
-------------------------------------------------
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
3.9.8:
|
||||
* add UI to support flash & efuse read
|
||||
* support ESP32-C5 / ESP32-C61
|
||||
|
||||
3.9.7:
|
||||
* support ESP32-P4
|
||||
* update UI display icon
|
||||
* Fix bug: icon stuck after long-term use
|
||||
|
||||
3.9.6:
|
||||
* support ESP32/ESP32H2/ESP32C6/ESP32C2/ESP32S2 secure boot version2 and flash encryption
|
||||
* config DUT number in multiconfig file ,up to 20pcs
|
||||
* update secure config file, see docs in detail
|
||||
|
||||
3.9.5:
|
||||
* support esp32-h2
|
||||
* support erase button disable
|
||||
* fix some bugs
|
||||
|
||||
3.9.4:
|
||||
* support esp32-c6
|
||||
* support esp32-c3/esp32-s3 flash encrytion
|
||||
* add xmc flash fix
|
||||
* support dut count in factory mode
|
||||
|
||||
3.9.3:
|
||||
* support esp32-c2
|
||||
* update finish UI show
|
||||
|
||||
3.9.2:
|
||||
* fix configure file error
|
||||
* update autostart process
|
||||
@@ -4,14 +4,15 @@
|
||||
#
|
||||
#############################################################################################################
|
||||
# This script parses all documentation substitution files to determine in what builds a plugin is available
|
||||
# Collection A..G, Display, Energy and Neopixel, IR and IRext get Normal plugins injected
|
||||
# Collection, Notify and Network plugins are also injected into Collection A..G
|
||||
# Collection A..H, Display A..B, Climate A..B, Energy and Neopixel, IR and IRext get Normal plugins injected
|
||||
# Collection, Notify and Network plugins are also injected into Collection A..H
|
||||
# All plugins get injected into MAX build set
|
||||
# Some build sets have exceptions for plugins not available
|
||||
# The output generation order is determined by how they are ordered in list 'buildColors'
|
||||
# When adding or removing a build set, this script may need adjustments!
|
||||
|
||||
# Changelog:
|
||||
# 2026-03-12 tonhuisman: Separate status for ESP32 and ESP8266 (_lb suffix)
|
||||
# 2025-10-05 tonhuisman: Adjustments for Display A and Display B split
|
||||
# 2025-10-01 tonhuisman: Include Notify and Network plugins, ignore not available files, parse NWxxx also
|
||||
# 2024-05-04 tonhuisman: Working and documented
|
||||
@@ -26,6 +27,7 @@ basePath = "source/_templates/"
|
||||
|
||||
# Gather data
|
||||
allBuilds = {}
|
||||
allBuilds_lb = {}
|
||||
|
||||
# Not mentioned as a build in documentation, implicit
|
||||
appendBuilds = {'MAX'}
|
||||
@@ -46,9 +48,10 @@ excludePlugins = {
|
||||
'CLIMATE A': {'P007', 'P008', 'P009', 'P017', 'P022', 'P027', 'P030', 'P035', 'P040', 'P041', 'P042', 'P045'},
|
||||
'CLIMATE B': {'P007', 'P008', 'P009', 'P017', 'P022', 'P027', 'P030', 'P035', 'P040', 'P041', 'P042', 'P045'},
|
||||
'DISPLAY A': {'P038', 'P041', 'P042', 'P070'},
|
||||
'DISPLAY B': {'P038', 'P041', 'P042', 'P057', 'P070', 'P075', 'P104'},
|
||||
'DISPLAY B': {'P012', 'P023', 'P038', 'P041', 'P042', 'P057', 'P070', 'P075', 'P104'},
|
||||
# 'MAX': {''},
|
||||
# 'NEOPIXEL': {''},
|
||||
# 'ENERGY': {''},
|
||||
'NORMAL': {'P016', 'P035'},
|
||||
}
|
||||
|
||||
@@ -75,13 +78,17 @@ buildColors = {
|
||||
}
|
||||
|
||||
# Add/update a single plugin in the list
|
||||
def addOnePlugin(build, plugin, pluginName):
|
||||
def addOnePlugin(build, plugin, pluginName, with_lb = False):
|
||||
if not build in allBuilds:
|
||||
allBuilds[build] = {}
|
||||
allBuilds[build].update({plugin: pluginName})
|
||||
if not build in allBuilds_lb:
|
||||
allBuilds_lb[build] = {}
|
||||
if with_lb:
|
||||
allBuilds_lb[build].update({plugin: pluginName})
|
||||
|
||||
# Add a plugin to all builds it should go in
|
||||
def addToAllBuilds(plugin, pluginName, builds:dict):
|
||||
def addToAllBuilds(plugin, pluginName, builds:dict, builds_lb:dict):
|
||||
for b in appendBuilds:
|
||||
if not b in builds:
|
||||
builds += {b}
|
||||
@@ -96,7 +103,7 @@ def addToAllBuilds(plugin, pluginName, builds:dict):
|
||||
if plugin in excludePlugins[b]:
|
||||
includeIt = False
|
||||
if includeIt:
|
||||
addOnePlugin(b, plugin, pluginName)
|
||||
addOnePlugin(b, plugin, pluginName, b in builds_lb)
|
||||
# Add in other builds too?
|
||||
if b in appendAlso:
|
||||
for n in appendAlso[b]:
|
||||
@@ -105,7 +112,7 @@ def addToAllBuilds(plugin, pluginName, builds:dict):
|
||||
includeIt = False
|
||||
# Except when not to be included
|
||||
if includeIt:
|
||||
addOnePlugin(n, plugin, pluginName)
|
||||
addOnePlugin(n, plugin, pluginName, b in builds_lb)
|
||||
|
||||
# Parse a single substitution file
|
||||
def parseSingleSubstitutionFile(fileName):
|
||||
@@ -118,25 +125,28 @@ def parseSingleSubstitutionFile(fileName):
|
||||
plugin = ""
|
||||
pluginName = ""
|
||||
builds = []
|
||||
builds_lb = []
|
||||
while True:
|
||||
line = pfile.readline()
|
||||
if not line:
|
||||
break
|
||||
# Parse into label, plugin ID, description and up to 4 separate builds (current max.),
|
||||
# Parse into label, plugin ID, description and up to 5 separate builds (current max.),
|
||||
# append "(?:[^`]+`([^`]+)`)?" to regex for an extra build, if needed
|
||||
m = re.search(r"[^|]\|((?:NW|[PCN])(\d{3}))([^\|]+)\|[^`]+`([^`]+)`(?:[^`]+`([^`]+)`)?(?:[^`]+`([^`]+)`)?(?:[^`]+`([^`]+)`)?", line)
|
||||
m = re.search(r"[^|]\|((?:NW|[PCN])(\d{3}))([^\|]+)\|[^`]+`([^`]+)`(?:[^`]+`([^`]+)`)?(?:[^`]+`([^`]+)`)?(?:[^`]+`([^`]+)`)?(?:[^`]+`([^`]+)`)?", line)
|
||||
if m:
|
||||
if m.group(3) == "_typename": # the typename substitution should be before _status...
|
||||
if plugin != "" and plugin != m.group(1): # Changed plugin ID, store current
|
||||
addToAllBuilds(plugin, pluginName, builds)
|
||||
addToAllBuilds(plugin, pluginName, builds, builds_lb)
|
||||
plugin = m.group(1)
|
||||
pluginName = m.group(4)
|
||||
|
||||
if m.group(3) == "_status":
|
||||
builds = [m.group(4), m.group(5), m.group(6), m.group(7)]
|
||||
builds = [m.group(4), m.group(5), m.group(6), m.group(7), m.group(8)]
|
||||
if m.group(3) == "_status_lb":
|
||||
builds_lb = [m.group(4), m.group(5), m.group(6), m.group(7), m.group(8)]
|
||||
pfile.close()
|
||||
if plugin != "": # Store last one too
|
||||
addToAllBuilds(plugin, pluginName, builds)
|
||||
addToAllBuilds(plugin, pluginName, builds, builds_lb)
|
||||
|
||||
# Parse all .. include :: files
|
||||
def parseSubstitutionFiles(rootFile):
|
||||
@@ -175,11 +185,11 @@ def generateBuildOverview(fileName):
|
||||
output.write('.. collapse:: Details...\n')
|
||||
output.write('\n')
|
||||
output.write(' .. csv-table::\n')
|
||||
output.write(' :header: "Plugin name", "Plugin number"\n')
|
||||
output.write(' :widths: 10, 5\n')
|
||||
output.write(' :header: "Plugin name", "ESP32", "ESP8266", "Plugin number"\n')
|
||||
output.write(' :widths: 10, 3, 3, 3\n')
|
||||
output.write('\n')
|
||||
for p in sorted(allBuilds[b], key=sortPluginsBeforeControllers):
|
||||
output.write(' ":ref:`' + p + '_page`","' + p + '"\n')
|
||||
output.write(' ":ref:`' + p + '_page`", "✓", "' + ('✓' if p in allBuilds_lb[b] else '') + '", "' + p + '"\n')
|
||||
output.write('\n')
|
||||
output.close()
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ Type: |C001_type|
|
||||
|
||||
Name: |C001_name|
|
||||
|
||||
Status: |C001_status|
|
||||
Status ESP32: |C001_status|
|
||||
|
||||
Status ESP8266: |C001_status_lb|
|
||||
|
||||
GitHub: |C001_github|_
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ Type: |C002_type|
|
||||
|
||||
Name: |C002_name|
|
||||
|
||||
Status: |C002_status|
|
||||
Status ESP32: |C002_status|
|
||||
|
||||
Status ESP8266: |C002_status_lb|
|
||||
|
||||
GitHub: |C002_github|_
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ Type: |C003_type|
|
||||
|
||||
Name: |C003_name|
|
||||
|
||||
Status: |C003_status|
|
||||
Status ESP32: |C003_status|
|
||||
|
||||
Status ESP8266: |C003_status_lb|
|
||||
|
||||
GitHub: |C003_github|_
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ Type: |C004_type|
|
||||
|
||||
Name: |C004_name|
|
||||
|
||||
Status: |C004_status|
|
||||
Status ESP32: |C004_status|
|
||||
|
||||
Status ESP8266: |C004_status_lb|
|
||||
|
||||
GitHub: |C004_github|_
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ Type: |C005_type|
|
||||
|
||||
Name: |C005_name|
|
||||
|
||||
Status: |C005_status|
|
||||
Status ESP32: |C005_status|
|
||||
|
||||
Status ESP8266: |C005_status_lb|
|
||||
|
||||
GitHub: |C005_github|_
|
||||
|
||||
@@ -120,6 +122,8 @@ MQTT - Auto Discovery
|
||||
|
||||
(AutoDiscovery related settings added 2025/06/28)
|
||||
|
||||
.. note:: The **MQTT Auto Discovery** feature is not included in ESP8266 builds by default, see: :ref:`esp8266-feature-complete`
|
||||
|
||||
* **Enable Auto Discovery**: When checked, the controller will send discovery data for all connected and enabled tasks to the MQTT server on first startup, and when receiving an ``online`` message in the Discovery Trigger Topic, when configured.
|
||||
|
||||
* **Discovery Trigger topic**: Default for Home assistant: ``homeassistant/status``
|
||||
|
||||
@@ -14,7 +14,9 @@ Type: |C006_type|
|
||||
|
||||
Name: |C006_name|
|
||||
|
||||
Status: |C006_status|
|
||||
Status ESP32: |C006_status|
|
||||
|
||||
Status ESP8266: |C006_status_lb|
|
||||
|
||||
GitHub: |C006_github|_
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ Type: |C007_type|
|
||||
|
||||
Name: |C007_name|
|
||||
|
||||
Status: |C007_status|
|
||||
Status ESP32: |C007_status|
|
||||
|
||||
Status ESP8266: |C007_status_lb|
|
||||
|
||||
GitHub: |C007_github|_
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ Type: |C008_type|
|
||||
|
||||
Name: |C008_name|
|
||||
|
||||
Status: |C008_status|
|
||||
Status ESP32: |C008_status|
|
||||
|
||||
Status ESP8266: |C008_status_lb|
|
||||
|
||||
GitHub: |C008_github|_
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ Type: |C009_type|
|
||||
|
||||
Name: |C009_name|
|
||||
|
||||
Status: |C009_status|
|
||||
Status ESP32: |C009_status|
|
||||
|
||||
Status ESP8266: |C009_status_lb|
|
||||
|
||||
GitHub: |C009_github|_
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ Type: |C010_type|
|
||||
|
||||
Name: |C010_name|
|
||||
|
||||
Status: |C010_status|
|
||||
Status ESP32: |C010_status|
|
||||
|
||||
Status ESP8266: |C010_status_lb|
|
||||
|
||||
GitHub: |C010_github|_
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ Type: |C011_type|
|
||||
|
||||
Name: |C011_name|
|
||||
|
||||
Status: |C011_status|
|
||||
Status ESP32: |C011_status|
|
||||
|
||||
Status ESP8266: |C011_status_lb|
|
||||
|
||||
GitHub: |C011_github|_
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ Type: |C012_type|
|
||||
|
||||
Name: |C012_name|
|
||||
|
||||
Status: |C012_status|
|
||||
Status ESP32: |C012_status|
|
||||
|
||||
Status ESP8266: |C012_status_lb|
|
||||
|
||||
GitHub: |C012_github|_
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ Type: |C013_type|
|
||||
|
||||
Name: |C013_name|
|
||||
|
||||
Status: |C013_status|
|
||||
Status ESP32: |C013_status|
|
||||
|
||||
Status ESP8266: |C013_status_lb|
|
||||
|
||||
GitHub: |C013_github|_
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ Type: |C014_type|
|
||||
|
||||
Name: |C014_name|
|
||||
|
||||
Status: |C014_status|
|
||||
Status ESP32: |C014_status|
|
||||
|
||||
Status ESP8266: |C014_status_lb|
|
||||
|
||||
GitHub: |C014_github|_
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ Type: |C016_type|
|
||||
|
||||
Name: |C016_name|
|
||||
|
||||
Status: |C016_status|
|
||||
Status ESP32: |C016_status|
|
||||
|
||||
Status ESP8266: |C016_status_lb|
|
||||
|
||||
GitHub: |C016_github|_
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ Type: |C017_type|
|
||||
|
||||
Name: |C017_name|
|
||||
|
||||
Status: |C017_status|
|
||||
Status ESP32: |C017_status|
|
||||
|
||||
Status ESP8266: |C017_status_lb|
|
||||
|
||||
GitHub: |C017_github|_
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ Type: |C018_type|
|
||||
|
||||
Name: |C018_name|
|
||||
|
||||
Status: |C018_status|
|
||||
Status ESP32: |C018_status|
|
||||
|
||||
Status ESP8266: |C018_status_lb|
|
||||
|
||||
GitHub: |C018_github|_
|
||||
|
||||
|
||||
@@ -18,26 +18,26 @@ Controller Plugins
|
||||
==================
|
||||
|
||||
.. csv-table::
|
||||
:header: "Plugin name", "Plugin status", "Plugin number"
|
||||
:widths: 10, 8, 5
|
||||
:header: "Plugin name", "ESP32 Plugin status", "ESP8266 Plugin status", "Plugin number"
|
||||
:widths: 9, 6, 6, 3
|
||||
|
||||
":ref:`C001_page`","|C001_status|","C001"
|
||||
":ref:`C002_page`","|C002_status|","C002"
|
||||
":ref:`C003_page`","|C003_status|","C003"
|
||||
":ref:`C004_page`","|C004_status|","C004"
|
||||
":ref:`C005_page`","|C005_status|","C005"
|
||||
":ref:`C006_page`","|C006_status|","C006"
|
||||
":ref:`C007_page`","|C007_status|","C007"
|
||||
":ref:`C008_page`","|C008_status|","C008"
|
||||
":ref:`C009_page`","|C009_status|","C009"
|
||||
":ref:`C010_page`","|C010_status|","C010"
|
||||
":ref:`C011_page`","|C011_status|","C011"
|
||||
":ref:`C012_page`","|C012_status|","C012"
|
||||
":ref:`C013_page`","|C013_status|","C013"
|
||||
":ref:`C014_page`","|C014_status|","C014"
|
||||
":ref:`C016_page`","|C016_status|","C016"
|
||||
":ref:`C017_page`","|C017_status|","C017"
|
||||
":ref:`C018_page`","|C018_status|","C018"
|
||||
":ref:`C001_page`","|C001_status|","|C001_status_lb|","C001"
|
||||
":ref:`C002_page`","|C002_status|","|C002_status_lb|","C002"
|
||||
":ref:`C003_page`","|C003_status|","|C003_status_lb|","C003"
|
||||
":ref:`C004_page`","|C004_status|","|C004_status_lb|","C004"
|
||||
":ref:`C005_page`","|C005_status|","|C005_status_lb|","C005"
|
||||
":ref:`C006_page`","|C006_status|","|C006_status_lb|","C006"
|
||||
":ref:`C007_page`","|C007_status|","|C007_status_lb|","C007"
|
||||
":ref:`C008_page`","|C008_status|","|C008_status_lb|","C008"
|
||||
":ref:`C009_page`","|C009_status|","|C009_status_lb|","C009"
|
||||
":ref:`C010_page`","|C010_status|","|C010_status_lb|","C010"
|
||||
":ref:`C011_page`","|C011_status|","|C011_status_lb|","C011"
|
||||
":ref:`C012_page`","|C012_status|","|C012_status_lb|","C012"
|
||||
":ref:`C013_page`","|C013_status|","|C013_status_lb|","C013"
|
||||
":ref:`C014_page`","|C014_status|","|C014_status_lb|","C014"
|
||||
":ref:`C016_page`","|C016_status|","|C016_status_lb|","C016"
|
||||
":ref:`C017_page`","|C017_status|","|C017_status_lb|","C017"
|
||||
":ref:`C018_page`","|C018_status|","|C018_status_lb|","C018"
|
||||
|
||||
|
||||
Controller Parameters
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
.. |C001_type| replace:: :cyan:`Controller`
|
||||
.. |C001_typename| replace:: :cyan:`Controller - Domoticz HTTP`
|
||||
.. |C001_status| replace:: :green:`NORMAL`
|
||||
.. |C001_status_lb| replace:: :green:`NORMAL`
|
||||
.. |C001_github| replace:: C001.cpp
|
||||
.. _C001_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C001.cpp
|
||||
.. |C001_usedby| replace:: `.`
|
||||
@@ -16,6 +17,7 @@
|
||||
.. |C002_type| replace:: :cyan:`Controller`
|
||||
.. |C002_typename| replace:: :cyan:`Controller - Domoticz MQTT`
|
||||
.. |C002_status| replace:: :green:`NORMAL`
|
||||
.. |C002_status_lb| replace:: :green:`NORMAL`
|
||||
.. |C002_github| replace:: C002.cpp
|
||||
.. _C002_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C002.cpp
|
||||
.. |C002_usedby| replace:: `.`
|
||||
@@ -27,6 +29,7 @@
|
||||
.. |C003_type| replace:: :cyan:`Controller`
|
||||
.. |C003_typename| replace:: :cyan:`Controller - Nodo Telnet`
|
||||
.. |C003_status| replace:: :green:`NORMAL`
|
||||
.. |C003_status_lb| replace:: :green:`NORMAL`
|
||||
.. |C003_github| replace:: C003.cpp
|
||||
.. _C003_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C003.cpp
|
||||
.. |C003_usedby| replace:: `.`
|
||||
@@ -38,6 +41,7 @@
|
||||
.. |C004_type| replace:: :cyan:`Controller`
|
||||
.. |C004_typename| replace:: :cyan:`Controller - ThingSpeak`
|
||||
.. |C004_status| replace:: :green:`NORMAL`
|
||||
.. |C004_status_lb| replace:: :green:`NORMAL`
|
||||
.. |C004_github| replace:: C004.cpp
|
||||
.. _C004_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C004.cpp
|
||||
.. |C004_usedby| replace:: `.`
|
||||
@@ -49,6 +53,7 @@
|
||||
.. |C005_type| replace:: :cyan:`Controller`
|
||||
.. |C005_typename| replace:: :cyan:`Controller - Home Assistant (openHAB) MQTT`
|
||||
.. |C005_status| replace:: :green:`NORMAL`
|
||||
.. |C005_status_lb| replace:: :green:`NORMAL`
|
||||
.. |C005_github| replace:: C005.cpp
|
||||
.. _C005_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C005.cpp
|
||||
.. |C005_usedby| replace:: `.`
|
||||
@@ -60,6 +65,7 @@
|
||||
.. |C006_type| replace:: :cyan:`Controller`
|
||||
.. |C006_typename| replace:: :cyan:`Controller - PiDome MQTT`
|
||||
.. |C006_status| replace:: :green:`NORMAL`
|
||||
.. |C006_status_lb| replace:: :green:`NORMAL`
|
||||
.. |C006_github| replace:: C006.cpp
|
||||
.. _C006_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C006.cpp
|
||||
.. |C006_usedby| replace:: `.`
|
||||
@@ -71,6 +77,7 @@
|
||||
.. |C007_type| replace:: :cyan:`Controller`
|
||||
.. |C007_typename| replace:: :cyan:`Controller - Emoncms`
|
||||
.. |C007_status| replace:: :green:`NORMAL`
|
||||
.. |C007_status_lb| replace:: :green:`NORMAL`
|
||||
.. |C007_github| replace:: C007.cpp
|
||||
.. _C007_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C007.cpp
|
||||
.. |C007_usedby| replace:: `.`
|
||||
@@ -82,6 +89,7 @@
|
||||
.. |C008_type| replace:: :cyan:`Controller`
|
||||
.. |C008_typename| replace:: :cyan:`Controller - Generic HTTP`
|
||||
.. |C008_status| replace:: :green:`NORMAL`
|
||||
.. |C008_status_lb| replace:: :green:`NORMAL`
|
||||
.. |C008_github| replace:: C008.cpp
|
||||
.. _C008_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C008.cpp
|
||||
.. |C008_usedby| replace:: `.`
|
||||
@@ -93,6 +101,7 @@
|
||||
.. |C009_type| replace:: :cyan:`Controller`
|
||||
.. |C009_typename| replace:: :cyan:`Controller - FHEM HTTP`
|
||||
.. |C009_status| replace:: :green:`NORMAL`
|
||||
.. |C009_status_lb| replace:: :green:`NORMAL`
|
||||
.. |C009_github| replace:: C009.cpp
|
||||
.. _C009_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C009.cpp
|
||||
.. |C009_usedby| replace:: `.`
|
||||
@@ -104,6 +113,7 @@
|
||||
.. |C010_type| replace:: :cyan:`Controller`
|
||||
.. |C010_typename| replace:: :cyan:`Controller - Generic UDP`
|
||||
.. |C010_status| replace:: :green:`NORMAL`
|
||||
.. |C010_status_lb| replace:: :green:`NORMAL`
|
||||
.. |C010_github| replace:: C010.cpp
|
||||
.. _C010_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C010.cpp
|
||||
.. |C010_usedby| replace:: `.`
|
||||
@@ -115,6 +125,7 @@
|
||||
.. |C011_type| replace:: :cyan:`Controller`
|
||||
.. |C011_typename| replace:: :cyan:`Controller - Generic HTTP Advanced`
|
||||
.. |C011_status| replace:: :yellow:`COLLECTION` :yellow:`CLIMATE`
|
||||
.. |C011_status_lb| replace:: :yellow:`COLLECTION` :yellow:`CLIMATE`
|
||||
.. |C011_github| replace:: C011.cpp
|
||||
.. _C011_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C011.cpp
|
||||
.. |C011_usedby| replace:: `.`
|
||||
@@ -126,6 +137,7 @@
|
||||
.. |C012_type| replace:: :cyan:`Controller`
|
||||
.. |C012_typename| replace:: :cyan:`Controller - Blynk`
|
||||
.. |C012_status| replace:: :yellow:`COLLECTION`
|
||||
.. |C012_status_lb| replace:: :yellow:`COLLECTION`
|
||||
.. |C012_github| replace:: C012.cpp
|
||||
.. _C012_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C012.cpp
|
||||
.. |C012_usedby| replace:: `.`
|
||||
@@ -137,6 +149,7 @@
|
||||
.. |C013_type| replace:: :cyan:`Controller`
|
||||
.. |C013_typename| replace:: :cyan:`Controller - ESPEasy P2P Networking`
|
||||
.. |C013_status| replace:: :green:`NORMAL`
|
||||
.. |C013_status_lb| replace:: :green:`NORMAL`
|
||||
.. |C013_github| replace:: C013.cpp
|
||||
.. _C013_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C013.cpp
|
||||
.. |C013_usedby| replace:: `.`
|
||||
@@ -148,6 +161,7 @@
|
||||
.. |C014_type| replace:: :cyan:`Controller`
|
||||
.. |C014_typename| replace:: :cyan:`Controller - Homie MQTT convention`
|
||||
.. |C014_status| replace:: :yellow:`COLLECTION`
|
||||
.. |C014_status_lb| replace:: :yellow:`COLLECTION`
|
||||
.. |C014_github| replace:: C014.cpp
|
||||
.. _C014_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C014.cpp
|
||||
.. |C014_usedby| replace:: `.`
|
||||
@@ -158,7 +172,8 @@
|
||||
.. |C016_name| replace:: :cyan:`Cache`
|
||||
.. |C016_type| replace:: :cyan:`Controller`
|
||||
.. |C016_typename| replace:: :cyan:`Controller - Cache`
|
||||
.. |C016_status| replace:: :red:`DEVELOPMENT`
|
||||
.. |C016_status| replace:: :yellow:`MAX`
|
||||
.. |C016_status_lb| replace:: `.`
|
||||
.. |C016_github| replace:: C016.cpp
|
||||
.. _C016_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C016.cpp
|
||||
.. |C016_usedby| replace:: `.`
|
||||
@@ -170,6 +185,7 @@
|
||||
.. |C017_type| replace:: :cyan:`Controller`
|
||||
.. |C017_typename| replace:: :cyan:`Controller - Zabbix`
|
||||
.. |C017_status| replace:: :yellow:`COLLECTION`
|
||||
.. |C017_status_lb| replace:: :yellow:`COLLECTION`
|
||||
.. |C017_github| replace:: C017.cpp
|
||||
.. _C017_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C017.cpp
|
||||
.. |C017_usedby| replace:: `.`
|
||||
@@ -181,6 +197,7 @@
|
||||
.. |C018_type| replace:: :cyan:`Controller`
|
||||
.. |C018_typename| replace:: :cyan:`Controller - LoRa TTN - RN2483/RN2903`
|
||||
.. |C018_status| replace:: :yellow:`COLLECTION`
|
||||
.. |C018_status_lb| replace:: :yellow:`COLLECTION`
|
||||
.. |C018_github| replace:: C018.cpp
|
||||
.. _C018_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C018.cpp
|
||||
.. |C018_usedby| replace:: `.`
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
Supported ESP Chips
|
||||
*******************
|
||||
|
||||
.. _esp8266-feature-complete:
|
||||
|
||||
ESP8266 is Feature Complete!
|
||||
============================
|
||||
|
||||
@@ -19,7 +21,7 @@ The consequences of this decision are that:
|
||||
* To enable some of the new features (many are still useable) for ESP8266, a Custom build can be configured and built by the user, as documented in :ref:`PlatformIO_page`.
|
||||
* A notable exception is support for TLS: That's *not* possible to enable on ESPEasy in ESP8266 builds as it doesn't fit in the limited available RAM memory.
|
||||
|
||||
For new projects, it is strongly advised to select one of the many available ESP32 boards, or chips when designing a custom board. Some of the ESP32 variants are available with 16 MB Flash (ESP32 Classic, ESP32-C3, ESP32-C6 and ESP32-S3), and have 1 or more MAX builds available in ESPEasy, that include all plugins and features available, and also a larger selection of fonts for displays (TFT/LCD, OLed and 7-segment).
|
||||
For new projects, it is strongly advised to select one of the many available ESP32 boards, or chips when designing a custom board. Some of the ESP32 variants are available with 8MB, 16 MB, and 32MB, Flash (ESP32 Classic, ESP32-C3, ESP32-C5, ESP32-C6/C61, ESP32-S3 and ESP32-P4), and have 1 or more MAX builds available in ESPEasy, that include all plugins and features available, and also a larger selection of fonts for displays (TFT/LCD, OLed and 7-segment).
|
||||
|
||||
Overview of supported chips
|
||||
===========================
|
||||
@@ -32,17 +34,30 @@ ESPEasy does support a number of variants of the processors manufactured by Espr
|
||||
* **ESP32-solo1** Same as ESP32, but with 1 core, running at 160 MHz. Used in some commercially sold devices like the early editions of the orange Shelly modules.
|
||||
* **ESP32-S2** Has more GPIO pins than the ESP32, but only 1 CPU core. Initial support in ESPEasy added since 2021-09-19.
|
||||
* **ESP32-S3** Support added: 2023-05-03
|
||||
* **ESP32-S31** ❌ (No chip available yet)
|
||||
* **ESP32-C2 / ESP8684** Support added: 2023-11-10
|
||||
* **ESP32-C3 / ESP8685** Support added: 2023-05-03
|
||||
* **ESP32-C5** Not yet supported
|
||||
* **ESP32-C5** Preliminary support added: 2026-01-09
|
||||
* **ESP32-C6** Support added: 2023-11-10
|
||||
* **ESP32-H2** Not yet supported
|
||||
* **ESP32-P4** Not yet supported
|
||||
* **ESP32-C61** Preliminary support added: 2026-01-09
|
||||
* **ESP32-E22** ❌ (No chip available yet)
|
||||
* **ESP32-H2** ❌
|
||||
* **ESP32-H21** ❌
|
||||
* **ESP32-H4** ❌
|
||||
* **ESP32-P4** Support added: 2026-01-08
|
||||
* **ESP32-P4rev3** Support added: 2026-04-20
|
||||
|
||||
.. note::
|
||||
ESP32-P4 rev. 1.x was renamed by Espressif to "ESP32-P4 ES" as in "Engineering Sample". The newer 'rev.3.x' silicon is now named "ESP32-P4", though some pages on the Espressif site refer to this as "ESP32-P4X".
|
||||
It is unclear yet what will be the common naming schema for these. Both silicon revisions do require different build files.
|
||||
|
||||
|
||||
.. note::
|
||||
ESP32-Hxx will likely never be supported in ESPEasy as these do not have WiFi or other networking options. Only Zigbee.
|
||||
|
||||
.. list-table:: Espressif platforms
|
||||
:header-rows: 1
|
||||
:widths: 7 7 7 7 7 7 7 7 7 7 7 7
|
||||
:widths: 7 7 7 7 7 7 7 7 7 7 7 7 10
|
||||
:stub-columns: 1
|
||||
|
||||
* -
|
||||
@@ -50,49 +65,53 @@ ESPEasy does support a number of variants of the processors manufactured by Espr
|
||||
- ESP32 (ESP32solo1)
|
||||
- ESP32-S2
|
||||
- ESP32-S3
|
||||
- ESP32-S31
|
||||
- ESP32-C2 (ESP8684)
|
||||
- ESP32-C3 (ESP8685)
|
||||
- ESP32-C5
|
||||
- ESP32-C6
|
||||
- ESP32-C61
|
||||
- ESP32-H2
|
||||
- ESP32-P4
|
||||
- ESP32-P4 (1.x) / ESP32-P4X (3.x)
|
||||
* - CPU
|
||||
- Xtensa® single-core 32-bit L106
|
||||
- Xtensa® dual-core 32-bit LX6 (solo1:single core)
|
||||
- Xtensa® single-core 32-bit LX7
|
||||
- Xtensa® dual-core 32-bit LX7
|
||||
- 32-bit RISC-V dual-core processor
|
||||
- 32-bit RISC-V single-core processor
|
||||
- 32-bit RISC-V single-core processor
|
||||
- 32-bit RISC-V single-core processor
|
||||
- 32-bit RISC-V single-core processor
|
||||
- 32-bit RISC-V single-core processor
|
||||
- 32-bit RISC-V single-core processor
|
||||
- 32-bit RISC-V dual-core processor up to 400 MHz with AI instruction extension and FPU for the HP system
|
||||
- 32-bit RISC-V dual-core processor, AI instr & FPU
|
||||
* - Core
|
||||
- 1
|
||||
- 2 (solo1:1)
|
||||
- 1
|
||||
- 2
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 2
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 2
|
||||
* - Freq. (MHz)
|
||||
- 80
|
||||
- 240 (solo1:160)
|
||||
- 240
|
||||
- 240
|
||||
- 320
|
||||
- 120
|
||||
- 160
|
||||
- 240
|
||||
- 160
|
||||
- 120
|
||||
- 96
|
||||
- 400
|
||||
- v1.x:360 / v3.x:400
|
||||
* - Voltage (V)
|
||||
- 2.5 ~ 3.6
|
||||
- 3.0 ~ 3.6
|
||||
@@ -105,177 +124,192 @@ ESPEasy does support a number of variants of the processors manufactured by Espr
|
||||
- 3.0 ~ 3.6
|
||||
- 3.0 ~ 3.6
|
||||
- 3.0 ~ 3.6
|
||||
- 3.0 ~ 3.6
|
||||
* - ESPEasy supported since
|
||||
- May-15
|
||||
- 2015/05
|
||||
- 2017/12 (solo1:2023/05)
|
||||
- Sep-21
|
||||
- May-23
|
||||
- Nov-23
|
||||
- May-23
|
||||
-
|
||||
- Nov-23
|
||||
-
|
||||
-
|
||||
-
|
||||
- 2021/09
|
||||
- 2023/05
|
||||
- ❌
|
||||
- 2023/11
|
||||
- 2023/05
|
||||
- 2026/01
|
||||
- 2023/11
|
||||
- 2026/01
|
||||
- ❌
|
||||
- 2026/01 (v3.x:2026/04)
|
||||
* - Introduction
|
||||
- 2014
|
||||
- 2016
|
||||
- 2019
|
||||
- 2021
|
||||
- 2026
|
||||
- 2022
|
||||
- 2020
|
||||
-
|
||||
- 2022
|
||||
- 2021
|
||||
-
|
||||
- 2024
|
||||
- 2021
|
||||
-
|
||||
* - Status (2024/12)
|
||||
- 2023 (v3.x:2026)
|
||||
* - Status (2026/04)
|
||||
- End-Of-Life
|
||||
- Mass Production (solo1: NRND)
|
||||
- NRND
|
||||
- Mass Production
|
||||
- Announced
|
||||
- Mass Production
|
||||
- Mass Production
|
||||
- Sample
|
||||
- Mass Production
|
||||
- Sample
|
||||
- Mass Production
|
||||
- Sample
|
||||
- Mass Production
|
||||
- Mass Production
|
||||
- V1.x: NRND, V3.x: Sample
|
||||
* - Wi-Fi
|
||||
- IEEE 802.11 b/g/n; 2.4 GHz; HT20; up to 72 Mbps
|
||||
- IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps
|
||||
- IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps
|
||||
- IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps
|
||||
- IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps
|
||||
- IEEE 802.11 b/g/n; 2.4 GHz; HT20; up to 150 Mbps
|
||||
- IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps
|
||||
- IEEE 802.11 b/g/n; 2.4/5 GHz; HT20/40; up to 150 Mbps
|
||||
- IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps
|
||||
- IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps
|
||||
- No Wi-Fi
|
||||
- No Wi-Fi
|
||||
- ❌
|
||||
- ❌ (via ESP-Hosted-MCU on secondary ESP32-C6)
|
||||
* - Wi-Fi 6
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- IEEE 802.11 ax; 2.4 GHz; HT20; up to 150 Mbps
|
||||
- ❌
|
||||
- ❌
|
||||
- IEEE 802.11 ax; 2.4/5 GHz; HT20; up to 150 Mbps
|
||||
- IEEE 802.11 ax; 2.4 GHz; HT20; up to 150 Mbps
|
||||
- IEEE 802.11 ax; 2.4 GHz; HT20; up to 150 Mbps
|
||||
-
|
||||
-
|
||||
- ❌
|
||||
- ❌ (via ESP-Hosted-MCU on secondary ESP32-C6)
|
||||
* - 5 GHz Wi-Fi
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
- Yes
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ✔
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - Zigbee / Thread (802.15.4)
|
||||
- N/A
|
||||
- N/A
|
||||
- N/A
|
||||
- N/A
|
||||
- N/A
|
||||
- N/A
|
||||
- Available
|
||||
- Available
|
||||
- N/A
|
||||
- Available
|
||||
- N/A
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ✔
|
||||
- ❌
|
||||
- ❌
|
||||
- ✔
|
||||
- ✔
|
||||
- ❌
|
||||
- ✔
|
||||
- ❌ (via ESP-Hosted-MCU on secondary ESP32-C6)
|
||||
* - Bluetooth
|
||||
- N/A
|
||||
- ❌
|
||||
- BR/EDR + Bluetooth LE v4.2
|
||||
- N/A
|
||||
- ❌
|
||||
- Bluetooth LE v5.0
|
||||
- Bluetooth LE+BR/EDR v5.4
|
||||
- Bluetooth LE v5.0
|
||||
- Bluetooth LE v5.0
|
||||
- Bluetooth LE v5.0
|
||||
- Bluetooth LE v5.3
|
||||
- Bluetooth LE v5.0
|
||||
- Bluetooth LE v5.0
|
||||
- N/A
|
||||
- ❌ (via ESP-Hosted-MCU on secondary ESP32-C6)
|
||||
* - SRAM (KB)
|
||||
- 160
|
||||
- 520
|
||||
- 320
|
||||
- 512
|
||||
- 512
|
||||
- 272
|
||||
- 400
|
||||
- 384
|
||||
- 512
|
||||
- 320
|
||||
- 320
|
||||
- 768
|
||||
- 768
|
||||
* - ROM (KB)
|
||||
-
|
||||
- 448
|
||||
- 128
|
||||
- 384
|
||||
- 320
|
||||
- 576
|
||||
- 384
|
||||
- 320
|
||||
- 320
|
||||
- 256
|
||||
- 128
|
||||
- 128
|
||||
- 128
|
||||
* - RTC SRAM (KB)
|
||||
- 1
|
||||
- 16
|
||||
- 16
|
||||
- 16
|
||||
- 0
|
||||
- 32
|
||||
- 32
|
||||
- 8
|
||||
- 16
|
||||
- 16
|
||||
- 16
|
||||
- 4
|
||||
- 32
|
||||
- 32
|
||||
* - ADC
|
||||
- 1*10-bit ADC, 1 channel
|
||||
- 2*12-bit ADC, 18 channels
|
||||
- 2*13-bit ADC, 20 channels
|
||||
- 2*12-bit ADC, 20 channels
|
||||
- 2*12-bit ADC, 16 channels
|
||||
- 1*12-bit ADC, 5 channels
|
||||
- 2*12-bit ADC, 6 channels
|
||||
- 1*12-bit ADC, 6 channels
|
||||
- 1*12-bit ADC, 7 channels
|
||||
- 1*12-bit ADC, 4 channels
|
||||
- 1*12-bit ADC, 5 channels
|
||||
- 2*12-bit ADC, 14 channels
|
||||
- 2*12-bit ADC, 14 channels
|
||||
* - DAC
|
||||
- 0
|
||||
- ❌
|
||||
- 2*8-bit DAC
|
||||
- 2*8-bit DAC
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- ❌
|
||||
- 2*10-bit DAC
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - Touch
|
||||
- 0
|
||||
- ❌
|
||||
- 10
|
||||
- 14
|
||||
- 14
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 14
|
||||
- 1
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- 14
|
||||
* - Temp Sensor
|
||||
-
|
||||
- 0
|
||||
- ❌
|
||||
- ❌
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
@@ -285,319 +319,347 @@ ESPEasy does support a number of variants of the processors manufactured by Espr
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
* - GPIO
|
||||
- 16
|
||||
- 26
|
||||
- 37
|
||||
- 36
|
||||
- 60
|
||||
- 14
|
||||
- 15
|
||||
- 22
|
||||
- 30
|
||||
- 18
|
||||
- 19
|
||||
- 55
|
||||
- 55
|
||||
* - Strapping GPIO
|
||||
- 0, 2, 15
|
||||
- 0, 2, 5, 12, 15
|
||||
- 0, 45, 46
|
||||
- 0, 3, 45, 46
|
||||
- 48,50,75,76
|
||||
- 8, 9
|
||||
- 2, 8, 9
|
||||
- 8, 9
|
||||
- 4, 5, 8, 9, 15
|
||||
- 4, 5, 8, 9, 15
|
||||
- 8, 9
|
||||
-
|
||||
- 35, 36, 37, 38
|
||||
* - GPIO for flash/PSRAM
|
||||
- 6, 7, 8, 9, 10, 11
|
||||
- 6, 7, 8, 9, 10, 11 (PSRAM or embedded flash: 16, 17)
|
||||
- 27, 28, 29, 30, 31, 32 (OPI: 33, 34, 35, 36, 37)
|
||||
- 27, 28, 29, 30, 31, 32 (OPI: 33, 34, 35, 36, 37)
|
||||
- ❌
|
||||
- 11, 12, 13, 14, 15, 16, 17
|
||||
- 11, 12, 13, 14, 15, 16, 17
|
||||
- 11, 12, 13, 14, 15, 16, 17
|
||||
- 20, 21, 22, 24, 25, 26
|
||||
- 20, 21, 22, 24, 25, 26
|
||||
-
|
||||
- N/A
|
||||
- ❌
|
||||
* - UART
|
||||
- 1.5 (Serial1 out only)
|
||||
- 3
|
||||
- 2
|
||||
- 3
|
||||
- 5
|
||||
- 2
|
||||
- 2
|
||||
- 3
|
||||
- 2
|
||||
- 2
|
||||
- 2
|
||||
- 5
|
||||
- 5
|
||||
* - SPI
|
||||
- 2
|
||||
- 4
|
||||
- 4
|
||||
- 4
|
||||
- 7
|
||||
- 3
|
||||
- 3
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 3
|
||||
- 5
|
||||
- 5
|
||||
* - SDIO HOST
|
||||
-
|
||||
- ❌
|
||||
- 1
|
||||
- 0
|
||||
- ❌
|
||||
- 2
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 1
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- 1
|
||||
* - SDIO SLAVE
|
||||
-
|
||||
- ❌
|
||||
- 1
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- 1
|
||||
- 1
|
||||
- 0
|
||||
- 1
|
||||
- ❌
|
||||
- 1
|
||||
* - I2C
|
||||
- 1(soft)
|
||||
- 2
|
||||
- 2
|
||||
- 2
|
||||
- 1
|
||||
- 1
|
||||
- 2
|
||||
- 2
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
* - I3C
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
- 1
|
||||
- 1
|
||||
- 2
|
||||
- 2
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
* - I3C
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- 1
|
||||
* - I2S
|
||||
- 1
|
||||
- 2
|
||||
- 1
|
||||
- 2
|
||||
- 0
|
||||
- 2
|
||||
- ❌
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 3
|
||||
- 3
|
||||
* - RMT
|
||||
- 0
|
||||
- ❌
|
||||
- 1*8 channels
|
||||
- 1*4 channels
|
||||
- 1*4 channels
|
||||
- 0
|
||||
-
|
||||
- ❌
|
||||
- 1*4 channels
|
||||
- 1 channel
|
||||
- 1*4 channels
|
||||
-
|
||||
- 1*2 channels
|
||||
- 1*4 channels
|
||||
- 1*4 channels
|
||||
* - LEDC PWM
|
||||
- 0
|
||||
- ❌
|
||||
- 2*8 channels
|
||||
- 1*8 channels
|
||||
- 1*8 channels
|
||||
- 2*8 channels
|
||||
- 1*6 channels
|
||||
- 1*6 channels
|
||||
- 1*6 channels
|
||||
- 1*6 channels
|
||||
- 1*6 channels
|
||||
- 1*6 channels
|
||||
- 1*8 channels
|
||||
- 1*8 channels
|
||||
* - MCPWM
|
||||
- 0
|
||||
- ❌
|
||||
- 2
|
||||
- 0
|
||||
- ❌
|
||||
- 2
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 4
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- 1
|
||||
- 0
|
||||
- ❌
|
||||
- 1
|
||||
- 2
|
||||
- 2
|
||||
* - USB OTG
|
||||
- 0
|
||||
- 0
|
||||
- ❌
|
||||
- ❌
|
||||
- 1
|
||||
- 1
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 2
|
||||
- 1
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- 2
|
||||
* - USB Serial / JTAG
|
||||
- N/A
|
||||
- N/A
|
||||
- YES
|
||||
- YES
|
||||
- N/A
|
||||
- YES
|
||||
- N/A
|
||||
- YES
|
||||
- YES
|
||||
- YES
|
||||
- YES
|
||||
- ❌
|
||||
- ❌
|
||||
- ✔
|
||||
- ✔
|
||||
- ✔
|
||||
- ❌
|
||||
- ✔
|
||||
- ❌
|
||||
- ✔
|
||||
- ✔
|
||||
- ✔
|
||||
- ✔
|
||||
* - Hall
|
||||
- 0
|
||||
- ❌
|
||||
- 1 (removed in ESP-IDF5)
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - Ethernet
|
||||
- 0
|
||||
- ❌
|
||||
- 1 (RMII and SPI)
|
||||
- 1 (SPI)
|
||||
- 1 (SPI)
|
||||
- 1 (RMII Gbit and SPI)
|
||||
- 1 (SPI)
|
||||
- 1 (SPI)
|
||||
- 1 (SPI)
|
||||
- 1 (SPI)
|
||||
- 1 (SPI)
|
||||
- 0
|
||||
- 1 (RMII and SPI)
|
||||
- ❌
|
||||
- 1 (RMII and SPI)
|
||||
* - TWAI (CAN)
|
||||
- 0
|
||||
- ❌
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 0
|
||||
- 1
|
||||
- ❌
|
||||
- 1
|
||||
- 2
|
||||
- 2
|
||||
- 2
|
||||
- 1
|
||||
- 3
|
||||
- 3
|
||||
* - JTAG
|
||||
-
|
||||
- YES
|
||||
- YES
|
||||
- YES
|
||||
- YES
|
||||
- YES
|
||||
- YES
|
||||
- YES
|
||||
- YES
|
||||
- YES
|
||||
- YES
|
||||
- ❌
|
||||
- ✔
|
||||
- ✔
|
||||
- ✔
|
||||
- ✔
|
||||
- ✔
|
||||
- ✔
|
||||
- ✔
|
||||
- ✔
|
||||
- ✔
|
||||
- ✔
|
||||
- ✔
|
||||
* - Camera
|
||||
- N/A
|
||||
- ❌
|
||||
- 1*DVP 8/16-bit
|
||||
- 1*DVP 8/16-bit
|
||||
- 1*DVP 8/16-bit
|
||||
- N/A
|
||||
- N/A
|
||||
- N/A
|
||||
- N/A
|
||||
- N/A
|
||||
- N/A
|
||||
- 1*DVP 8/16-bit
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- 1*DVP 8/16-bit
|
||||
* - TOF
|
||||
- N/A
|
||||
- N/A
|
||||
- YES
|
||||
- N/A
|
||||
- N/A
|
||||
- N/A
|
||||
- N/A
|
||||
- N/A
|
||||
- N/A
|
||||
- N/A
|
||||
- N/A
|
||||
- ❌
|
||||
- ❌
|
||||
- ✔
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - BT Certification
|
||||
-
|
||||
- BT SIG
|
||||
-
|
||||
- BT SIG
|
||||
-
|
||||
-
|
||||
- BT SIG
|
||||
-
|
||||
- BQB
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
* - Wi-Fi Certification
|
||||
- WPA 2
|
||||
- Wi-Fi Alliance/WPA 3
|
||||
- Wi-Fi Alliance/WPA 3
|
||||
-
|
||||
-
|
||||
- WFA
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
* - Green Certification
|
||||
-
|
||||
- RoHS/REACH
|
||||
- RoHS/REACH
|
||||
- RoHS/REACH
|
||||
-
|
||||
- RoHS/REACH
|
||||
- RoHS/REACH
|
||||
-
|
||||
- RoHS/REACH
|
||||
- RoHS/REACH
|
||||
-
|
||||
-
|
||||
-
|
||||
* - RF Certification
|
||||
-
|
||||
- FCC / CE-RED / IC / TELEC / KCC / SRRC / NCC
|
||||
- FCC / CE-RED / SRRC / IC
|
||||
- SRRC / CE / FCC / IC / MIC / NCC / KCC
|
||||
-
|
||||
- SRRC
|
||||
- FCC / CE-RED / SRRC / IC
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
* - Sleep Power Consumption
|
||||
- 900 µA light sleep, 20 µA deep sleep
|
||||
- 800 µA light sleep, 10 µA deep sleep
|
||||
- 750 µA light sleep, 25 µA deep sleep
|
||||
- 240 µA light sleep, 8 µA deep sleep
|
||||
-
|
||||
- 140 µA light sleep, 5 µA deep sleep
|
||||
- 130 µA light sleep, 5 µA deep sleep
|
||||
-
|
||||
- 250 µA / 60 µA light sleep, 12 µA deep sleep
|
||||
- 180 µA / 35 µA light sleep, 7 µA deep sleep
|
||||
-
|
||||
-
|
||||
-
|
||||
- 200 µA / 50 µA light sleep, 10 µA deep sleep
|
||||
- 85 µA / 25 µA light sleep, 7 µA deep sleep
|
||||
- 3.5 mA / 250 µA light sleep, 25 µA deep sleep
|
||||
|
||||
.. note:: Whether a specific MCU supports a feature, does not mean it can easily be used in ESPEasy or added as a new feature. For this we also need support in either Arduino-ESP32 or ESP-IDF. See `Arduino ESP32 "Supported Features and Peripherals" <https://docs.espressif.com/projects/arduino-esp32/en/latest/libraries.html#supported-features-and-peripherals>`_
|
||||
|
||||
Sources:
|
||||
|
||||
@@ -606,31 +668,43 @@ Sources:
|
||||
* `Espressif Product Selector <https://products.espressif.com/#/product-comparison>`_
|
||||
* `Espressif ESP32-xx modules overview <https://www.espressif.com/en/products/modules>`_
|
||||
* `Espressif Product overview SoCs <https://www.espressif.com/en/products/socs>`_
|
||||
* `Espressif Arduino Libraries: Supported Features and Peripherals <https://docs.espressif.com/projects/arduino-esp32/en/latest/libraries.html>`_
|
||||
|
||||
|
||||
Datasheets
|
||||
==========
|
||||
|
||||
* `DS:ESP8266 (ESP8285) <https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf>`_
|
||||
* `DS:ESP32 <https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf>`_ / `DS:ESP32-solo1 <https://www.espressif.com/sites/default/files/documentation/esp32-solo-1_datasheet_en.pdf>`_
|
||||
* `DS:ESP32-S2 <https://www.espressif.com/sites/default/files/documentation/esp32-s2_datasheet_en.pdf>`_
|
||||
* `DS:ESP32-S3 <https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf>`_
|
||||
* `DS:ESP32-C3 <https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf>`_ / `DS:ESP8685 <https://www.espressif.com/sites/default/files/documentation/esp8685_datasheet_en.pdf>`_
|
||||
* `DS:ESP32-C2 <https://www.espressif.com/sites/default/files/documentation/esp8684_datasheet_en.pdf>`_ / `DS:ESP8684 <https://www.espressif.com/sites/default/files/documentation/esp8684_datasheet_en.pdf>`_
|
||||
* `DS:ESP32-C6 <https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf>`_
|
||||
* `DS:ESP32-H2 <https://cdn-shop.adafruit.com/product-files/5715/esp32-h2_datasheet_en.pdf>`_
|
||||
* `DS:ESP8266 <https://documentation.espressif.com/0a-esp8266ex_datasheet_en.pdf>`_
|
||||
* `DS:ESP8285 <https://documentation.espressif.com/0a-esp8285_datasheet_en.pdf>`_
|
||||
* `DS:ESP32 <https://documentation.espressif.com/esp32_datasheet_en.pdf>`_
|
||||
* `DS:ESP32-S2 <https://documentation.espressif.com/esp32-s2_datasheet_en.pdf>`_
|
||||
* `DS:ESP32-S3 <https://documentation.espressif.com/esp32-s3_datasheet_en.pdf>`_
|
||||
* `DS:ESP32-S31 <https://documentation.espressif.com/esp32-s31_datasheet_en.pdf>`_
|
||||
* `DS:ESP32-C2 <https://documentation.espressif.com/esp8684_datasheet_en.pdf>`_
|
||||
* `DS:ESP32-C3 <https://documentation.espressif.com/esp32-c3_datasheet_en.pdf>`_
|
||||
* `DS:ESP32-C5 <https://documentation.espressif.com/esp32-c5_datasheet_en.pdf>`_
|
||||
* `DS:ESP32-C6 <https://documentation.espressif.com/esp32-c6_datasheet_en.pdf>`_
|
||||
* `DS:ESP32-C61 <https://documentation.espressif.com/esp32-c61_datasheet_en.pdf>`_
|
||||
* `DS:ESP32-H2 <https://documentation.espressif.com/esp32-h2_datasheet_en.pdf>`_
|
||||
* `DS:ESP32-P4 <https://documentation.espressif.com/esp32-p4_datasheet_en.pdf>`_
|
||||
* `DS:ESP32-P4 v1.3 <https://documentation.espressif.com/esp32-p4-chip-revision-v1.3_datasheet_en.pdf>`_
|
||||
|
||||
|
||||
Technical Reference Manuals
|
||||
===========================
|
||||
|
||||
* `TR:ESP8266 <https://www.espressif.com/sites/default/files/documentation/esp8266-technical_reference_en.pdf>`_
|
||||
* `TR:ESP32 <https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf>`_
|
||||
* `TR:ESP32-S2 <https://www.espressif.com/sites/default/files/documentation/esp32-s2_technical_reference_manual_en.pdf>`_
|
||||
* `TR:ESP32-S3 <https://www.espressif.com/sites/default/files/documentation/esp32-s3_technical_reference_manual_en.pdf>`_
|
||||
* `TR:ESP32-C3 <https://www.espressif.com/sites/default/files/documentation/esp32-c3_technical_reference_manual_en.pdf>`_
|
||||
* `TR:ESP32-C2 <https://www.espressif.com/sites/default/files/documentation/esp8684_technical_reference_manual_en.pdf>`_
|
||||
* `TR:ESP32-C6 <https://www.espressif.com/sites/default/files/documentation/esp32-c6_technical_reference_manual_en.pdf>`_
|
||||
* `TR:ESP32-H2 <https://www.espressif.com/sites/default/files/documentation/esp32-h2_technical_reference_manual_en.pdf>`_
|
||||
* `TR:ESP8266 <https://documentation.espressif.com/esp8266-technical_reference_en.pdf>`_
|
||||
* `TR:ESP32 <https://documentation.espressif.com/esp32_technical_reference_manual_en.pdf>`_
|
||||
* `TR:ESP32-S2 <https://documentation.espressif.com/esp32-s2_technical_reference_manual_en.pdf>`_
|
||||
* `TR:ESP32-S3 <https://documentation.espressif.com/esp32-s3_technical_reference_manual_en.pdf>`_
|
||||
* `TR:ESP32-C2 <https://documentation.espressif.com/esp8684_technical_reference_manual_en.pdf>`_
|
||||
* `TR:ESP32-C3 <https://documentation.espressif.com/esp32-c3_technical_reference_manual_en.pdf>`_
|
||||
* `TR:ESP32-C5 <https://documentation.espressif.com/esp32-c5_technical_reference_manual_en.pdf>`_
|
||||
* `TR:ESP32-C6 <https://documentation.espressif.com/esp32-c6_technical_reference_manual_en.pdf>`_
|
||||
* `TR:ESP32-C61 <https://documentation.espressif.com/esp32-c61_technical_reference_manual_en.pdf>`_
|
||||
* `TR:ESP32-H2 <https://documentation.espressif.com/esp32-h2_technical_reference_manual_en.pdf>`_
|
||||
* `TR:ESP32-P4 <https://documentation.espressif.com/esp32-p4_technical_reference_manual_en.pdf>`_
|
||||
* `TR:ESP32-P4 v1.3 <https://documentation.espressif.com/esp32-p4-chip-revision-v1.3_technical_reference_manual_en.pdf>`_
|
||||
|
||||
|
||||
ESP8266/ESP8285
|
||||
@@ -841,6 +915,13 @@ Build versions:
|
||||
* The default SPI mode will be quad mode for both flash and PSRAM
|
||||
* ``max_ESP32s3_16M8M_LittleFS_OPI_PSRAM_CDC`` will have quad mode for flash and octal (OPI) mode for PSRAM. (typical 8MB PSRAM)
|
||||
|
||||
ESP32-S31
|
||||
=========
|
||||
|
||||
There is not yet much known about the ESP32-S31.
|
||||
Announcement `here <https://www.espressif.com/en/news/ESP32_S31_Release>`_
|
||||
|
||||
|
||||
|
||||
ESP32-C2/ESP8684
|
||||
================
|
||||
@@ -875,9 +956,10 @@ Due to the RISC-V core used in the ESP32-C3, this is a very 'snappy' device and
|
||||
ESP32-C5
|
||||
========
|
||||
|
||||
Added: 2026/01/26
|
||||
|
||||
This will be the first Espressif SoC supporting 5 GHz WiFi.
|
||||
|
||||
.. note:: Not yet available (as of Dec 2024)
|
||||
|
||||
ESP32-C6
|
||||
========
|
||||
@@ -892,9 +974,9 @@ It is the more powerful version of the ESP32-H2 and also includes not only the t
|
||||
ESP32-C61
|
||||
=========
|
||||
|
||||
This is a stripped-down version of the ESP32-C6, but with PSRAM versions available.
|
||||
Added: 2026/01/26
|
||||
|
||||
.. note:: Not yet available (as of Dec 2024)
|
||||
This is a stripped-down version of the ESP32-C6, but with PSRAM versions available.
|
||||
|
||||
|
||||
|
||||
@@ -920,4 +1002,11 @@ The CPU is rather powerful and there are versions with quite a large amount of P
|
||||
|
||||
It does have a RMII interface for Ethernet, like the ESP32-classic does.
|
||||
|
||||
.. note:: Not yet supported (as of Dec 2024)
|
||||
.. note:: Not yet supported. Beta silicon is available (as of June 2025), which may change in Q3 or Q4 of 2025. So not yet adviced to be used in real products
|
||||
|
||||
ESP32-P4 rev3.x
|
||||
===============
|
||||
|
||||
New revision of the ESP32-P4, which is incompatible with the initial P4.
|
||||
|
||||
.. note:: Not yet supported (as of March 2026)
|
||||
|
||||
@@ -33,153 +33,6 @@ This feature can be useful in a development/laboratory environment, for when the
|
||||
.. image:: Hardware_Resetpin.png
|
||||
|
||||
|
||||
-------------
|
||||
I2C Bus
|
||||
-------------
|
||||
|
||||
When using devices that use the I2C bus (Inter-integrated circuit, also known as IIC, and mostly compatible with SM Bus) (`Wikipedia: I2C <https://en.wikipedia.org/wiki/I%C2%B2C>`_) some pins have to be configured, and initialized during boot, for the SDA and SCL connections. This can be any unused pair of pins on the ESP board.
|
||||
|
||||
The pins can be configured here, and will have default values initially (ESP8266: SDA: GPIO-4 (D2), SCL: GPIO-5 (D3), ESP32: No defaults). When I2C is not used, these can be set to `- None -`, so the pins are available for other purposes.
|
||||
|
||||
When having an I2C Priority task configured, the I2C GPIO pins (for that bus, when multiple buses are available) can no longer be changed, as that could disable the hardware, thus blocking the device. The configured GPIO pins will be display-only.
|
||||
|
||||
The default bus clock speed can also be set here. If only devices supporting 100 kHz are connected (Old/Slow devices), then the value can be set to 100 kHz, by default 400 kHz is configured, that is supported by newer devices, though there are many devices supporting higher frequencies. ESP8266 is able to achieve ca. 400 kHz, while ESP32 allows higher speeds.
|
||||
|
||||
ESPEasy has a separate setting for Slow I2C devices, and per I2C device this slow clock speed can be selected in the Device configuration page. This value is by default set to 100 kHz, but can be set lower or higher if desired.
|
||||
|
||||
*I2C ClockStretchLimit*
|
||||
|
||||
- `I2C-bus.org - Clock Stretching <https://www.i2c-bus.org/clock-stretching/>`_
|
||||
- `ESPeasy wiki - Basics: The I2C Bus <https://www.letscontrolit.com/wiki/index.php/Basics:_The_I%C2%B2C_Bus>`_
|
||||
|
||||
This setting is only available for the first I2C Bus, as not many devices (should) need this set, and the devices that do need this should then be connected to I2C Bus 0.
|
||||
|
||||
.. image:: Hardware_I2CBus.png
|
||||
|
||||
*Device specific Force Slow I2C speed selection:*
|
||||
|
||||
.. image:: Device_I2COptionsShort.png
|
||||
|
||||
Added: 2023-11-23
|
||||
|
||||
A device flag has been added for specific devices to have **Force Slow I2C speed** set by default. After adding the device this option will be checked, but can still be unchecked to use (try) Fast I2C speed (400 kHz).
|
||||
|
||||
Added: 2025-02-02
|
||||
|
||||
Multiple I2C Buses can be configured on ESP32 builds. This aids in connecting all on-board sensors and devices when multiple GPIO pin-pairs are used for I2C devices. By default, 2 I2C Buses are made available, but via compile-time options, a 3rd I2C Bus can be enabled, if required.
|
||||
|
||||
.. image:: Hardware_I2CBus2.png
|
||||
|
||||
The available options are the same as for the first I2C Bus.
|
||||
|
||||
If a second (or third) I2C Bus are not needed, then leave the GPIO settings on ``- None -``, and the interface won't be initialized, and not shown in the configuration options.
|
||||
|
||||
NB: The I2C Buses should of course not be configured for the same GPIO pins as any other I2C Bus.
|
||||
|
||||
NB2: Some boards require that in the Serial Console Settings (Tools/Advanced), the ``Fall-back to Serial 0`` option is disabled, to free the GPIO pins for I2C use.
|
||||
|
||||
When multiple I2C Buses are configured (so, ``SDA`` and ``SCL`` GPIO-pins configured), each task configured with an I2C device will show a selection for the I2C Bus to use. As expected, the first I2C Bus is selected by default, and another interface can be selected as required.
|
||||
|
||||
*Device specific I2C Bus selection:*
|
||||
|
||||
.. image:: Device_I2CBusSelection.png
|
||||
|
||||
NB: If a multiplexer is configured for 1 of the I2C Buses (but *not* for all interfaces), the I2C Bus selector will save & reload the page to show/hide the multiplexer options, below.
|
||||
|
||||
.. image:: Device_I2CBusSelectionReload.png
|
||||
|
||||
This screenshot shows the reload icon, to indicate that changing the selection will reload the page.
|
||||
|
||||
.. image:: Device_I2CBusSelection3.png
|
||||
|
||||
And an example for when 3 I2C Buses are available (compile-time option!) and configured.
|
||||
|
||||
---------------
|
||||
I2C Multiplexer
|
||||
---------------
|
||||
|
||||
Since build 20110, there is the option of using an I2C multiplexer. This option is not available in all builds, because of the size of the code. It is usually available in the normal, testing and custom builds, but ommitted from minimal, IR and hardware-specific builds.
|
||||
|
||||
Possible use-cases for an I2C multiplexer are:
|
||||
|
||||
* Connect multiple devices that have fixed or limited I2C addresses (For example, some OLED devices have a single fixed address but you need to connect 2 or more, or connect more than 3 TLS2561 devices, that support only 3 different addresses).
|
||||
* Connect different devices that have the same I2C address (For example connecting a TSL2561 light/lux sensor and an APDS9960 proximity sensor).
|
||||
* Connect slow and fast devices, where the speed of the fast device prohibits proper working of the slow device.
|
||||
|
||||
.. |br| raw:: html
|
||||
|
||||
<br>
|
||||
|
||||
.. note::
|
||||
If devices with conflicting I2C addresses are to be used, then *none* of them can be connected to the ESP main I2C bus, but they should each be connected to a separate channel of the multiplexer. |br|
|
||||
Devices that do not conflict with other devices *can* be connected to the ESP main I2C bus, this might improve the performance/responsiveness of these devices.
|
||||
|
||||
.. note::
|
||||
When using an I2C Multiplexer, make sure there is no address conflict with any of the devices you intend to connect, f.e. when connecting BME280 sensors, don't set the address of the multiplexer to 0x76 or 0x77.
|
||||
|
||||
There are a couple of I2C multiplexer chips available, currently there is support for:
|
||||
|
||||
* TCA9548a (8 channels, multiple channel-connections, 8 I2C addresses, with reset)
|
||||
* TCA9546a (4 channels, multiple channel-connections, 8 I2C addresses, with reset, also TCA9545a can be used, but no support for the Interrupt function though)
|
||||
* TCA9543a (2 channels, multiple channel-connections, 4 I2C addresses, with reset)
|
||||
* PCA9540 (2 channels, fixed I2C address, no reset, experimental support)
|
||||
|
||||
The TCA9548a, TCA9546a and TCA9543a support connecting multiple channels to the main I2C channel. This can be configured on the Device edit page for I2C devices, once the I2C Multiplexer configuration is enabled by selecting a multiplexer type and an I2C address for the multiplexer.
|
||||
|
||||
Also, the TCA9548a, TCA9546a and TCA9543a chips have a connection for a reset signal available. This allows the chip to be reset if it gets stuck by some 'less compatible' or 'badly behaving' devices. Once connected and configured, the multiplexer can be reset from the software, if desired or required. This feature is not yet used in any I2C device plugin.
|
||||
|
||||
A TCA9543a board has the advantage of being quite a bit smaller than either TCA9546a or TCA9548a, while being digitally compatible. (But with less channels and only 4 I2C addresses).
|
||||
|
||||
All these chips/boards can be found at Adafruit, Aliexpress, Banggood, EBay, etc.
|
||||
|
||||
.. image:: Hardware_I2CMultiplexerNone.png
|
||||
|
||||
*Available multiplexer types:*
|
||||
|
||||
.. image:: Hardware_I2CMultiplexer_Type.png
|
||||
|
||||
*Select the I2C Address for the multiplexer:*
|
||||
|
||||
.. image:: Hardware_I2CMultiplexer_Address.png
|
||||
|
||||
|
||||
Added: 2025-02-02
|
||||
|
||||
With the introduction of multiple I2C Buses, it is also plausible to configure an I2C Multiplexer on the second (or third, when included in the build) I2C Bus.
|
||||
|
||||
.. image:: Hardware_I2CMultiplexer2.png
|
||||
|
||||
This allows the same configuration options as shown above for the first I2C Bus, as all I2C Buses are completely independent from each other.
|
||||
|
||||
Device configuration
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
If an I2C multiplexer is configured for the selected I2C Bus, the Device edit page for I2C devices will show extra options to select the multiplexer channel the device is connected on.
|
||||
|
||||
There is the default option of Single channel, or, when a TCA9548a, TCA9546a or TCA9543a is configured, Multiple channels.
|
||||
|
||||
*Example: A multiplexer is configured, but the device is connected directly on the ESP board I2C channel:*
|
||||
|
||||
.. image:: Device_I2COptionsMultiplexerNone.png
|
||||
|
||||
*Configure a (single) multiplexer channel the device is connected on:*
|
||||
|
||||
.. image:: Device_I2COptionsMultiplexerSelectSingleChannel.png
|
||||
|
||||
NB: Only acceptable channels (0-7/0-3/0-1) will be available in the dropdown list, depending on the Multiplexer type configured.
|
||||
|
||||
*Select Single channel or Multiple channels:*
|
||||
|
||||
.. image:: Device_I2COptionsMultiplexerSelect.png
|
||||
|
||||
*Configure multiple channels for a device, 8 channel multiplexer configured*
|
||||
|
||||
.. image:: Device_I2COptionsMultiplexerMultipleSelect.png
|
||||
|
||||
Above configuration results in channels 0, 4, 5, 6 and 7 being connected to the ESP board I2C bus when this sensor is active via I2C.
|
||||
|
||||
NB: Only acceptable channel checkboxes (0-7/0-3/0-1) will be shown, depending on the Multiplexer type configured.
|
||||
|
||||
|
||||
--------------------
|
||||
PCF & MCP Direct I/O
|
||||
@@ -198,41 +51,6 @@ When using multiple PCF and/or MCP GPIO extenders, they must all be connected to
|
||||
NB: If only 1 I2C Bus is configured, this section isn't shown.
|
||||
|
||||
|
||||
-------------
|
||||
SPI Interface
|
||||
-------------
|
||||
|
||||
When using devices that are connected via the SPI interface (`Wikipedia: SPI <https://en.wikipedia.org/wiki/Serial_Peripheral_Interface>`_), the interface must be initialized during boot. This can be enabled here. For ESP32 there is the option to select the HSPI (often called Hardware SPI) interface, the VSPI (often called Virtual SPI) interface, or select User-defined GPIO pins for the ``SCLK``, ``MISO`` and ``MOSI`` signals.
|
||||
|
||||
The common SPI pins are shown here.
|
||||
|
||||
Other SPI pins to be used are device specific, and need to be configured from the corresponding Device edit page.
|
||||
|
||||
*For ESP8266:*
|
||||
|
||||
.. image:: Hardware_SPIInterfaceESP8266.png
|
||||
|
||||
*For ESP32, disabled:*
|
||||
|
||||
.. image:: Hardware_SPIInterfaceESP32.png
|
||||
|
||||
*For ESP32, select the desired configuration:*
|
||||
|
||||
.. image:: Hardware_SPIInterfaceESP32_Select.png
|
||||
|
||||
NB: When using the VSPI configuration and also the I2C interface is used, another pin has to be selected for I2C GPIO -> SCL, as its configuration is fixed for the VSPI setting.
|
||||
|
||||
When selecting the *User-defined* options, 3 extra input fields are displayed, where the ``SCLK``, ``MISO`` and ``MOSI`` GPIO pins have to be selected. Nearly all pins can be used, but for the output signals ``SCLK`` and ``MOSI`` **no** *input-only* pins should be selected!
|
||||
|
||||
.. image:: Hardware_SPIInterfaceESP32_UserDefined.png
|
||||
|
||||
.. warning::
|
||||
When changing the setting for **Init SPI**, or changing any of the User-defined GPIO pins, the ESP32 unit needs a hardware reset. This can be achieved by pressing the reset button (when available, sometimes labelled ``EN`` or ``RST``), or by completely removing the power for ~30 seconds. Also take into account here that units with a backup battery (f.e. some LilyGo and Waveshare ESP32 models) may keep power on the unit, so specific measures may have to be taken!
|
||||
|
||||
NB: When selecting the *User-defined* option, **all 3 GPIO pins should be set**, or an error message will be displayed when the page is saved, and the SPI interface will not be enabled at the next boot.
|
||||
|
||||
.. image:: Hardware_SPIpinsError.png
|
||||
|
||||
-------
|
||||
SD Card
|
||||
-------
|
||||
@@ -241,202 +59,6 @@ When the compile-time option for SD-card support is enabled, the ``CS`` pin for
|
||||
|
||||
.. image:: Hardware_SDCard.png
|
||||
|
||||
--------
|
||||
Ethernet
|
||||
--------
|
||||
|
||||
On builds including ``_eth`` in their build name, it is also possible to use ethernet instead of WiFi.
|
||||
Currently this is only present for ESP32 builds and no plans currently exist to support it for ESP82xx.
|
||||
|
||||
N.B. This is still in testing phase, so not all kinds of network communications work right now.
|
||||
|
||||
Preferred network medium
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Allows to switch between:
|
||||
|
||||
* WiFi (default)
|
||||
* Ethernet
|
||||
|
||||
To activate a new configuration, a reboot is needed.
|
||||
|
||||
Ethernet PHY type
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
ESP boards can be equiped with Ethernet.
|
||||
This is more stable and reliable compared to WiFi and allows for better responsiveness.
|
||||
|
||||
Actual transfer speed (at least when using RMII) is also higher than can be achieved via WiFi, but this is less of a concern for typical use cases where ESPEasy is used.
|
||||
|
||||
Ethernet chips/boards for ESP32-variant boards exist with 2 types of interfaces to the ESP.
|
||||
|
||||
* RMII interface - Faster actual transfer speeds possible, uses more GPIO pins, only supported on ESP32-classic (and upcoming ESP32-P4).
|
||||
* SPI interface - (Added: 2024/02) Supported on all ESP32-variants (not all tested) on builds based on ESP-IDF 5.1
|
||||
SPI Ethernet adapters do obviously require the SPI interface to be configured.
|
||||
|
||||
N.B. Only ESP32-variant builds with LittleFS support SPI Ethernet. (starting February 2024)
|
||||
|
||||
Supported Ethernet chips:
|
||||
|
||||
* RMII Interface:
|
||||
* LAN8710 (LAN8720 is also supported, but none of the newer features are supported)
|
||||
* TLK110
|
||||
* RTL8201 (since ESP32 IDF 4.4)
|
||||
* JL1101 (since ESP32 IDF 4.4)
|
||||
* DP83848 (since ESP32 IDF 4.4)
|
||||
* KSZ8041 (since ESP32 IDF 4.4)
|
||||
* KSZ8081 (since ESP32 IDF 4.4)
|
||||
|
||||
* SPI Interface: (since ESP32 IDF 5.1)
|
||||
* DM9051
|
||||
* W5500
|
||||
* KSZ8851
|
||||
|
||||
.. note:: The LAN8710 and LAN8720 are also available with an "A" suffix.
|
||||
These are the same chips, only produced after the brand SMSC was taken over by Microchip Technology.
|
||||
|
||||
Ethernet PHY Address
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The PHY address depends on the hardware and the PHY configuration.
|
||||
On some chips, like the LAN8720, the board designer may set this address by pulling some pins either high or low at power on.
|
||||
In theory, one could use multiple PHY adapters on the same RMII/SPI bus, but this is (currently) not supported by ESPEasy.
|
||||
|
||||
* Espressif's Ethernet board with TLK110 PHY use PHY address 31.
|
||||
* Common Waveshare LAN8720 PHY breakout board (and clones) use PHY address 1.
|
||||
* Olimex ESP32 EVB REV B IoT LAN8710 PHY Board with CAN use PHY address 0.
|
||||
* Other LAN8720 breakouts often use PHY address 0.
|
||||
* ETH01-EVO (ESP32-C3 based board) uses PHY address 1.
|
||||
|
||||
If the PHY address is incorrect then the EMAC will initialise but all attempts to read/write configuration registers on the PHY will fail.
|
||||
|
||||
N.B. There is support for an auto detect of this PHY address, by setting it to -1, but at least on the LAN8720 this does not seem to work.
|
||||
|
||||
RMII Ethernet
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
As mentioned above, the RMII interface is only present on ESP32-classic (and is mentioned on the announced ESP32-P4).
|
||||
|
||||
RMII PHY SMI Wiring
|
||||
"""""""""""""""""""
|
||||
|
||||
Most PHY boards have documented their *RMII PHY SMI Wiring* pins:
|
||||
|
||||
* **MDC** Output to PHY, usually pin 23
|
||||
* **MDIO** Bidirectional, usually pin 18
|
||||
|
||||
Clock sync
|
||||
""""""""""
|
||||
|
||||
The PHY and the ESP need to keep a clock in sync.
|
||||
This can either be done via an external crystal, which is connected to a GPIO pin.
|
||||
Another option is to let the ESP provide the clock to the PHY.
|
||||
|
||||
* External crystal oscillator
|
||||
* 50MHz APLL Output on GPIO0
|
||||
* 50MHz APLL Output on GPIO16
|
||||
* 50MHz APLL Inverted Output on GPIO17
|
||||
|
||||
.. note:: When using an external crystal oscillator, this is connected to GPIO-0. Make sure this crystal is not active, or connected to GPIO-0, during boot or else the ESP32 may boot into flash mode.
|
||||
|
||||
Power pin
|
||||
"""""""""
|
||||
|
||||
On almost all PHY boards, or ESP boards equiped with an ethernet PHY, it is possible to turn the PHY on or off.
|
||||
Either to save energy, or to make sure the external clock is not affecting the ESP boot mode when it restarts.
|
||||
|
||||
For example the Olimex ESP32-EVB does have the *external crystal oscillator* connected to GPIO-0, which could boot the ESP32 randomly into UART flash mode.
|
||||
Most boards use a specific GPIO pin to control the power to the PHY.
|
||||
The Olimex ESP32-EVB does have a specific delay circuit to only allow power to the PHY after boot and therefore does not need to control the PHY power.
|
||||
|
||||
For other boards, the default is often GPIO-17, but this may change per board.
|
||||
|
||||
(Changed: 2022-01-20)
|
||||
|
||||
If the power pin is defined, ESPEasy will toggle the ethernet module off and on at boot.
|
||||
Some Ethernet modules, like the LAN8720, may sometimes get stuck and need to be reset to get it to work again.
|
||||
|
||||
|
||||
RMII PHY Wiring
|
||||
"""""""""""""""
|
||||
|
||||
Apart from these GPIO pins, there is a number of other pins reserved on the ESP32 for RMII PHY Wiring.
|
||||
|
||||
Since these GPIO pin assignments cannot be changed, it is also not needed to configure them.
|
||||
However, they also cannot be used when *RMII PHY* is used.
|
||||
|
||||
.. include:: ../Reference/RMII_Ethernet_PHY_ESP32.rst
|
||||
|
||||
RMII Ethernet ESP32 Boards
|
||||
""""""""""""""""""""""""""
|
||||
|
||||
.. include:: ../Reference/RMII_Ethernet_ESP32_boards.rst
|
||||
|
||||
|
||||
SPI Ethernet
|
||||
^^^^^^^^^^^^
|
||||
|
||||
(Added: 2024/02)
|
||||
|
||||
As mentioned above, these SPI based Ethernet interfaces require the SPI interface to be configured.
|
||||
|
||||
The SPI bus can be shared, but the SPI Ethernet chips are a bit specific about the used frequency.
|
||||
Currently the default SPI frequency of 20 MHz is used, so not all other SPI devices may work together with SPI Ethernet.
|
||||
|
||||
Some boards like the ETH01-EVO (ESP32-C3 based) do not even have the SPI bus pins made accesible.
|
||||
|
||||
.. note:: Switching to ECO mode can sometimes result in an unreachable node when using SPI Ethernet. After a reboot the node works just fine again (in ECO mode). This is currently being investigated.
|
||||
|
||||
|
||||
GPIO Configuration
|
||||
""""""""""""""""""
|
||||
|
||||
* CS pin: Just as any SPI device, it needs a CS pin to tell the device it is being addressed.
|
||||
* IRQ/INT pin: Allows the Ethernet chip to signal the ESP about new data. (Optional for W5500)
|
||||
* RST pin: ESP will try to reset the Ethernet adapter during boot. Not all boards may have this wired.
|
||||
|
||||
|
||||
SPI Ethernet ESP32 Boards
|
||||
"""""""""""""""""""""""""
|
||||
|
||||
.. include:: ../Reference/SPI_Ethernet_ESP32_boards.rst
|
||||
|
||||
|
||||
|
||||
Ethernet with PoE
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
Some ethernet boards support Power over Ethernet (PoE), so only a single (ethernet) cable to the ESP is needed, and the ESP (and any sensors) will be powered via an onboard converter.
|
||||
|
||||
For Olimex boards in the ESP32-POE range, the supplier has documented this warning:
|
||||
|
||||
.. warning::
|
||||
**Important notice**: Olimex ESP32-PoE has **no galvanic isolation** from Ethernet's power supply, when you program the board via the micro USB connector the Ethernet cable should be disconnected (if you have power over the Ethernet cable)!
|
||||
|
||||
Consider using Olimex USB-ISO to protect your computer and board from accidental short circuit. Also consider instead using Olimex ESP32-PoE-ISO board, which *is* insulated.
|
||||
|
||||
Most likely, this warning is applicable to other brands as well.
|
||||
|
||||
|
||||
Ethernet Isolation
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Most Ethernet RJ45 phy (the connector on the PCB) have isolation transformers in them.
|
||||
This does isolate the TX/RX pins to make sure there is no direct connection between the long cables and the Ethernet controller chip.
|
||||
The isolation does protect the Ethernet chip from picked up high voltage spikes and ESD surges when inserting the Ethernet cable.
|
||||
However not all ESP boards with Ethernet have these installed.
|
||||
|
||||
Apart from the isolation of the TX/RX pins the metallic enclosure of the phy should also be isolated from the rest of the circuit of the ESP board.
|
||||
Typically this is done by connecting the metal enclosure of the phy via a capacitor to GND of the rest of the circuit.
|
||||
A lot of boards with Ethernet have these directly connected to GND, which may impose a problem when connecting the ESP board to your PC.
|
||||
|
||||
.. warning::
|
||||
**Important notice**: For ESP boards with Ethernet which need debugging, never use Ethernet cables with metal shielding on the Ethernet connector.
|
||||
|
||||
Using shielded Ethernet cable will connect the metal shield of the RJ45 phy to the ground of the switch and this may be connected to other appliances which may be badly grounded.
|
||||
This will add a significant voltage offset between the ESP board and your PC while debugging.
|
||||
Such a high voltage is very likely to destroy electronics.
|
||||
|
||||
|
||||
-------------------
|
||||
GPIO boot states
|
||||
|
||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
@@ -0,0 +1,209 @@
|
||||
.. _Interfaces_page:
|
||||
|
||||
Interfaces page
|
||||
***************
|
||||
|
||||
To configure the available (included in the build) device interfaces there are tabs for each type of interface bus. These tabs allow to set up the GPIO pins, clock speeds and other needed parameters for each interface.
|
||||
|
||||
* :ref:`i2c-bus`
|
||||
* :ref:`spi-bus`
|
||||
* :ref:`modbus`
|
||||
|
||||
.. _i2c-bus:
|
||||
|
||||
-------
|
||||
I2C Bus
|
||||
-------
|
||||
|
||||
When using devices that use the I2C bus (Inter-integrated circuit, also known as IIC, and mostly compatible with SM Bus) (`Wikipedia: I2C <https://en.wikipedia.org/wiki/I%C2%B2C>`_) some pins have to be configured, and initialized during boot, for the SDA and SCL connections. This can be any unused pair of pins on the ESP board.
|
||||
|
||||
The pins can be configured here, and will have default values initially (ESP8266: SDA: GPIO-4 (D2), SCL: GPIO-5 (D3), ESP32: No defaults). When I2C is not used, these can be set to `- None -`, so the pins are available for other purposes.
|
||||
|
||||
When having an I2C Priority task configured, the I2C GPIO pins (for that bus, when multiple buses are available) can no longer be changed, as that could disable the hardware, thus blocking the device. The configured GPIO pins will be display-only.
|
||||
|
||||
The default bus clock speed can also be set here. If only devices supporting 100 kHz are connected (Old/Slow devices), then the value can be set to 100 kHz, by default 400 kHz is configured, that is supported by newer devices, though there are many devices supporting higher frequencies. ESP8266 is able to achieve ca. 400 kHz, while ESP32 allows higher speeds.
|
||||
|
||||
ESPEasy has a separate setting for Slow I2C devices, and per I2C device this slow clock speed can be selected in the Device configuration page. This value is by default set to 100 kHz, but can be set lower or higher if desired.
|
||||
|
||||
*I2C ClockStretchLimit*
|
||||
|
||||
- `I2C-bus.org - Clock Stretching <https://www.i2c-bus.org/clock-stretching/>`_
|
||||
- `ESPeasy wiki - Basics: The I2C Bus <https://www.letscontrolit.com/wiki/index.php/Basics:_The_I%C2%B2C_Bus>`_
|
||||
|
||||
This setting is only available for the first I2C Bus, as not many devices (should) need this set, and the devices that do need this should then be connected to I2C Bus 0.
|
||||
|
||||
.. image:: Hardware_I2CBus.png
|
||||
|
||||
*Device specific Force Slow I2C speed selection:*
|
||||
|
||||
.. image:: Device_I2COptionsShort.png
|
||||
|
||||
Added: 2023-11-23
|
||||
|
||||
A device flag has been added for specific devices to have **Force Slow I2C speed** set by default. After adding the device this option will be checked, but can still be unchecked to use (try) Fast I2C speed (400 kHz).
|
||||
|
||||
Added: 2025-02-02
|
||||
|
||||
Multiple I2C Buses can be configured on ESP32 builds. This aids in connecting all on-board sensors and devices when multiple GPIO pin-pairs are used for I2C devices. By default, 2 I2C Buses are made available, but via compile-time options, a 3rd I2C Bus can be enabled, if required.
|
||||
|
||||
.. image:: Hardware_I2CBus2.png
|
||||
|
||||
The available options are the same as for the first I2C Bus.
|
||||
|
||||
If a second (or third) I2C Bus are not needed, then leave the GPIO settings on ``- None -``, and the interface won't be initialized, and not shown in the configuration options.
|
||||
|
||||
NB: The I2C Buses should of course not be configured for the same GPIO pins as any other I2C Bus.
|
||||
|
||||
NB2: Some boards require that in the Serial Console Settings (Tools/Advanced), the ``Fall-back to Serial 0`` option is disabled, to free the GPIO pins for I2C use.
|
||||
|
||||
When multiple I2C Buses are configured (so, ``SDA`` and ``SCL`` GPIO-pins configured), each task configured with an I2C device will show a selection for the I2C Bus to use. As expected, the first I2C Bus is selected by default, and another interface can be selected as required.
|
||||
|
||||
*Device specific I2C Bus selection:*
|
||||
|
||||
.. image:: Device_I2CBusSelection.png
|
||||
|
||||
NB: If a multiplexer is configured for 1 of the I2C Buses (but *not* for all interfaces), the I2C Bus selector will save & reload the page to show/hide the multiplexer options, below.
|
||||
|
||||
.. image:: Device_I2CBusSelectionReload.png
|
||||
|
||||
This screenshot shows the reload icon, to indicate that changing the selection will reload the page.
|
||||
|
||||
.. image:: Device_I2CBusSelection3.png
|
||||
|
||||
And an example for when 3 I2C Buses are available (compile-time option!) and configured.
|
||||
|
||||
---------------
|
||||
I2C Multiplexer
|
||||
---------------
|
||||
|
||||
Since build 20110, there is the option of using an I2C multiplexer. This option is not available in all builds, because of the size of the code. It is usually available in the normal, testing and custom builds, but ommitted from minimal, IR and hardware-specific builds.
|
||||
|
||||
Possible use-cases for an I2C multiplexer are:
|
||||
|
||||
* Connect multiple devices that have fixed or limited I2C addresses (For example, some OLED devices have a single fixed address but you need to connect 2 or more, or connect more than 3 TLS2561 devices, that support only 3 different addresses).
|
||||
* Connect different devices that have the same I2C address (For example connecting a TSL2561 light/lux sensor and an APDS9960 proximity sensor).
|
||||
* Connect slow and fast devices, where the speed of the fast device prohibits proper working of the slow device.
|
||||
|
||||
.. |br| raw:: html
|
||||
|
||||
<br>
|
||||
|
||||
.. note::
|
||||
If devices with conflicting I2C addresses are to be used, then *none* of them can be connected to the ESP main I2C bus, but they should each be connected to a separate channel of the multiplexer. |br|
|
||||
Devices that do not conflict with other devices *can* be connected to the ESP main I2C bus, this might improve the performance/responsiveness of these devices.
|
||||
|
||||
.. note::
|
||||
When using an I2C Multiplexer, make sure there is no address conflict with any of the devices you intend to connect, f.e. when connecting BME280 sensors, don't set the address of the multiplexer to 0x76 or 0x77.
|
||||
|
||||
There are a couple of I2C multiplexer chips available, currently there is support for:
|
||||
|
||||
* TCA9548a (8 channels, multiple channel-connections, 8 I2C addresses, with reset)
|
||||
* TCA9546a (4 channels, multiple channel-connections, 8 I2C addresses, with reset, also TCA9545a can be used, but no support for the Interrupt function though)
|
||||
* TCA9543a (2 channels, multiple channel-connections, 4 I2C addresses, with reset)
|
||||
* PCA9540 (2 channels, fixed I2C address, no reset, experimental support)
|
||||
|
||||
The TCA9548a, TCA9546a and TCA9543a support connecting multiple channels to the main I2C channel. This can be configured on the Device edit page for I2C devices, once the I2C Multiplexer configuration is enabled by selecting a multiplexer type and an I2C address for the multiplexer.
|
||||
|
||||
Also, the TCA9548a, TCA9546a and TCA9543a chips have a connection for a reset signal available. This allows the chip to be reset if it gets stuck by some 'less compatible' or 'badly behaving' devices. Once connected and configured, the multiplexer can be reset from the software, if desired or required. This feature is not yet used in any I2C device plugin.
|
||||
|
||||
A TCA9543a board has the advantage of being quite a bit smaller than either TCA9546a or TCA9548a, while being digitally compatible. (But with less channels and only 4 I2C addresses).
|
||||
|
||||
All these chips/boards can be found at Adafruit, Aliexpress, Banggood, EBay, etc.
|
||||
|
||||
.. image:: Hardware_I2CMultiplexerNone.png
|
||||
|
||||
*Available multiplexer types:*
|
||||
|
||||
.. image:: Hardware_I2CMultiplexer_Type.png
|
||||
|
||||
*Select the I2C Address for the multiplexer:*
|
||||
|
||||
.. image:: Hardware_I2CMultiplexer_Address.png
|
||||
|
||||
|
||||
Added: 2025-02-02
|
||||
|
||||
With the introduction of multiple I2C Buses, it is also plausible to configure an I2C Multiplexer on the second (or third, when included in the build) I2C Bus.
|
||||
|
||||
.. image:: Hardware_I2CMultiplexer2.png
|
||||
|
||||
This allows the same configuration options as shown above for the first I2C Bus, as all I2C Buses are completely independent from each other.
|
||||
|
||||
Device configuration
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
If an I2C multiplexer is configured for the selected I2C Bus, the Device edit page for I2C devices will show extra options to select the multiplexer channel the device is connected on.
|
||||
|
||||
There is the default option of Single channel, or, when a TCA9548a, TCA9546a or TCA9543a is configured, Multiple channels.
|
||||
|
||||
*Example: A multiplexer is configured, but the device is connected directly on the ESP board I2C channel:*
|
||||
|
||||
.. image:: Device_I2COptionsMultiplexerNone.png
|
||||
|
||||
*Configure a (single) multiplexer channel the device is connected on:*
|
||||
|
||||
.. image:: Device_I2COptionsMultiplexerSelectSingleChannel.png
|
||||
|
||||
NB: Only acceptable channels (0-7/0-3/0-1) will be available in the dropdown list, depending on the Multiplexer type configured.
|
||||
|
||||
*Select Single channel or Multiple channels:*
|
||||
|
||||
.. image:: Device_I2COptionsMultiplexerSelect.png
|
||||
|
||||
*Configure multiple channels for a device, 8 channel multiplexer configured*
|
||||
|
||||
.. image:: Device_I2COptionsMultiplexerMultipleSelect.png
|
||||
|
||||
Above configuration results in channels 0, 4, 5, 6 and 7 being connected to the ESP board I2C bus when this sensor is active via I2C.
|
||||
|
||||
NB: Only acceptable channel checkboxes (0-7/0-3/0-1) will be shown, depending on the Multiplexer type configured.
|
||||
|
||||
|
|
||||
|
||||
.. _spi-bus:
|
||||
|
||||
-------
|
||||
SPI Bus
|
||||
-------
|
||||
|
||||
When using devices that are connected via the SPI interface (`Wikipedia: SPI <https://en.wikipedia.org/wiki/Serial_Peripheral_Interface>`_), the interface must be initialized during boot. This can be enabled here. For ESP32 there is the option to select the HSPI (often called Hardware SPI) interface, the VSPI (often called Virtual SPI) interface, or select User-defined GPIO pins for the ``SCLK``, ``MISO`` and ``MOSI`` signals.
|
||||
|
||||
The common SPI pins are shown here.
|
||||
|
||||
Other SPI pins to be used are device specific, and need to be configured from the corresponding Device edit page.
|
||||
|
||||
*For ESP8266:*
|
||||
|
||||
.. image:: Hardware_SPIInterfaceESP8266.png
|
||||
|
||||
*For ESP32, disabled:*
|
||||
|
||||
.. image:: Hardware_SPIInterfaceESP32.png
|
||||
|
||||
*For ESP32, select the desired configuration:*
|
||||
|
||||
.. image:: Hardware_SPIInterfaceESP32_Select.png
|
||||
|
||||
NB: When using the VSPI configuration and also the I2C interface is used, another pin has to be selected for I2C GPIO -> SCL, as its configuration is fixed for the VSPI setting.
|
||||
|
||||
When selecting the *User-defined* options, 3 extra input fields are displayed, where the ``SCLK``, ``MISO`` and ``MOSI`` GPIO pins have to be selected. Nearly all pins can be used, but for the output signals ``SCLK`` and ``MOSI`` **no** *input-only* pins should be selected!
|
||||
|
||||
.. image:: Hardware_SPIInterfaceESP32_UserDefined.png
|
||||
|
||||
.. warning::
|
||||
When changing the setting for **Init SPI**, or changing any of the User-defined GPIO pins, the ESP32 unit needs a hardware reset. This can be achieved by pressing the reset button (when available, sometimes labelled ``EN`` or ``RST``), or by completely removing the power for ~30 seconds. Also take into account here that units with a backup battery (f.e. some LilyGo and Waveshare ESP32 models) may keep power on the unit, so specific measures may have to be taken!
|
||||
|
||||
NB: When selecting the *User-defined* option, **all 3 GPIO pins should be set**, or an error message will be displayed when the page is saved, and the SPI interface will not be enabled at the next boot.
|
||||
|
||||
.. image:: Hardware_SPIpinsError.png
|
||||
|
||||
|
|
||||
|
||||
.. _modbus:
|
||||
|
||||
------
|
||||
Modbus
|
||||
------
|
||||
|
||||
TODO Modbus configuration and documentation to be added.
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
ESP-Hosted-MCU
|
||||
--------------
|
||||
|
||||
(ESP32-P4 only)
|
||||
|
||||
Recently Espressif introduced a new concept along with the ESP32-P4.
|
||||
These ESP32-P4 chips do not have any RF hardware present, so they don't support WiFi, Bluetooth or 802.15.4 (Zigbee)
|
||||
|
||||
This means boards with an ESP32-P4 and WiFi support do have a secondary Esp module present, like an ESP32-C6.
|
||||
This secondary module does run the "ESP-Hosted-MCU" firmware.
|
||||
In theory it should be possible to run just about any combination of ESP32-xx with an ESP32-P4, however currently only ESP32-C6 is supported even though there are ESP32-P4 boards with an ESP32-C5 being sold.
|
||||
|
||||
The protocol used between the processor running ESPEasy and the secondary ESP can change over time, so it is important to keep both firmware versions in sync.
|
||||
|
||||
ESPEasy does show information on both firmware/protocol versions on the WiFi Station config page.
|
||||
|
||||
For example:
|
||||
|
||||
.. code-block::
|
||||
|
||||
ESP-Host Fw Version: 2.12.3
|
||||
ESP-Hosted-MCU Fw Version: 2.12.3
|
||||
ESP-Hosted-MCU Chip: ESP32-C6
|
||||
MAC: E4:B3:23:A9:3F:68
|
||||
|
||||
Update ESP-Hosted-MCU Firmware
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
It has been made relatively easy to update the secondary ESP using the ``wifiotahostedmcu`` command.
|
||||
|
||||
This does not require any extra parameters. It only needs a direct connection to the internet.
|
||||
Either via the WiFi module itself, or via Ethernet.
|
||||
|
||||
This will then try to download the matching firmware version from GitHub.
|
||||
|
||||
|
||||
Update ESP-Hosted-MCU fw. version 0.0.6
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The ESP32-C6 is running the ESP-Hosted-MCU firmware from Espressif.
|
||||
Typically new boards are running version 0.0.6 of that firmware, which doesn't yet support a lot of WiFi commands.
|
||||
And even worse, when trying to call unsupported commands, the whole ESP32-P4 board may crash.
|
||||
One of those commands not yet supported in this early version is to query the firmware version.
|
||||
|
||||
As soon as ESPEasy is installed on a new ESP32-P4 board and a network connection is active (with access to the internet), it is strongly adviced to run the command wifiotahostedmcu via the console. This will then install the most recent ESP-Hosted-MCU firmware matching the installed build of ESPEasy.
|
||||
Typically this will be the Ethernet network interface which is present on most ESP32-P4 boards.
|
||||
|
||||
Since the state the WiFi firmware of a freshly installed ESP32-P4 is unknown,
|
||||
the wifi STA adapter is set to 'disabled' by default.
|
||||
The Ethernet interface will be set active. (as long as there aren't any new boards with a different Ethernet chip)
|
||||
To set the WiFi STA interface to enabled, enter the following command via the serial console:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
networkenable,1
|
||||
|
||||
Don't forget to save the settings using the ``save`` command, or else the network interface will be disabled again after a reboot.
|
||||
|
||||
This is also why WiFi STA is always index 1 and WiFi AP is index 2.
|
||||
|
||||
N.B. There is of course also the ``networkdisable`` command.
|
||||
@@ -0,0 +1,57 @@
|
||||
Ethernet
|
||||
--------
|
||||
|
||||
On nearly all ESP32 builds (exception: ESP32-C2), it is also possible to use ethernet instead of WiFi.
|
||||
Currently this is only present for ESP32 builds and no plans currently exist to support it for ESP82xx.
|
||||
|
||||
Ethernet PHY type
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
ESP boards can be equiped with Ethernet.
|
||||
This is more stable and reliable compared to WiFi and allows for better responsiveness.
|
||||
|
||||
Actual transfer speed (at least when using RMII) is also higher than can be achieved via WiFi, but this is less of a concern for typical use cases where ESPEasy is used.
|
||||
|
||||
Ethernet chips/boards for ESP32-variant boards exist with 2 types of interfaces to the ESP.
|
||||
|
||||
* RMII interface - Faster actual transfer speeds possible, uses more GPIO pins, only supported on ESP32-classic and ESP32-P4.
|
||||
* SPI interface - (Added: 2024/02) Supported on all ESP32-variants (not all tested) on builds based on ESP-IDF 5.1 and later.
|
||||
SPI Ethernet adapters do obviously require the SPI interface to be configured.
|
||||
|
||||
Supported Ethernet chips:
|
||||
|
||||
* RMII Interface:
|
||||
* LAN8710 (LAN8720 is also supported, but none of the newer features are supported)
|
||||
* LAN867X (since ESP32 IDF 5.5)
|
||||
* TLK110
|
||||
* RTL8201 (since ESP32 IDF 4.4)
|
||||
* JL1101 (since ESP32 IDF 4.4)
|
||||
* DP83848 (since ESP32 IDF 4.4)
|
||||
* KSZ8041 (since ESP32 IDF 4.4)
|
||||
* KSZ8081 (since ESP32 IDF 4.4)
|
||||
|
||||
* SPI Interface: (since ESP32 IDF 5.1)
|
||||
* DM9051
|
||||
* W5500
|
||||
* KSZ8851
|
||||
|
||||
.. note:: The LAN8710 and LAN8720 are also available with an "A" suffix.
|
||||
These are the same chips, only produced after the brand SMSC was taken over by Microchip Technology.
|
||||
|
||||
Ethernet PHY Address
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The PHY address depends on the hardware and the PHY configuration.
|
||||
On some chips, like the LAN8720, the board designer may set this address by pulling some pins either high or low at power on.
|
||||
In theory, one could use multiple PHY adapters on the same RMII/SPI bus, but this is (currently) not supported by ESPEasy.
|
||||
|
||||
* Espressif's Ethernet board with TLK110 PHY use PHY address 31.
|
||||
* Common Waveshare LAN8720 PHY breakout board (and clones) use PHY address 1.
|
||||
* Olimex ESP32 EVB REV B IoT LAN8710 PHY Board with CAN use PHY address 0.
|
||||
* Other LAN8720 breakouts often use PHY address 0.
|
||||
* ETH01-EVO (ESP32-C3 based board) uses PHY address 1.
|
||||
|
||||
If the PHY address is incorrect then the EMAC will initialise but all attempts to read/write configuration registers on the PHY will fail.
|
||||
|
||||
N.B. There is support for an auto detect of this PHY address, by setting it to -1, but at least on the LAN8720 this does not seem to work.
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
Ethernet with PoE
|
||||
-----------------
|
||||
|
||||
Some ethernet boards support Power over Ethernet (PoE), so only a single (ethernet) cable to the ESP is needed, and the ESP (and any sensors) will be powered via an onboard converter.
|
||||
|
||||
For Olimex boards in the ESP32-POE range, the supplier has documented this warning:
|
||||
|
||||
.. warning::
|
||||
**Important notice**: Olimex ESP32-PoE has **no galvanic isolation** from Ethernet's power supply, when you program the board via the micro USB connector the Ethernet cable should be disconnected (if you have power over the Ethernet cable)!
|
||||
|
||||
Consider using Olimex USB-ISO to protect your computer and board from accidental short circuit. Also consider instead using Olimex ESP32-PoE-ISO board, which *is* insulated.
|
||||
|
||||
Most likely, this warning is applicable to other brands as well.
|
||||
|
||||
|
||||
Ethernet Isolation
|
||||
------------------
|
||||
|
||||
Most Ethernet RJ45 phy (the connector on the PCB) have isolation transformers in them.
|
||||
This does isolate the TX/RX pins to make sure there is no direct connection between the long cables and the Ethernet controller chip.
|
||||
The isolation does protect the Ethernet chip from picked up high voltage spikes and ESD surges when inserting the Ethernet cable.
|
||||
However not all ESP boards with Ethernet have these installed.
|
||||
|
||||
Apart from the isolation of the TX/RX pins the metallic enclosure of the phy should also be isolated from the rest of the circuit of the ESP board.
|
||||
Typically this is done by connecting the metal enclosure of the phy via a capacitor to GND of the rest of the circuit.
|
||||
A lot of boards with Ethernet have these directly connected to GND, which may impose a problem when connecting the ESP board to your PC.
|
||||
|
||||
.. warning::
|
||||
**Important notice**: For ESP boards with Ethernet which need debugging, never use Ethernet cables with metal shielding on the Ethernet connector.
|
||||
|
||||
Using shielded Ethernet cable will connect the metal shield of the RJ45 phy to the ground of the switch and this may be connected to other appliances which may be badly grounded.
|
||||
This will add a significant voltage offset between the ESP board and your PC while debugging.
|
||||
Such a high voltage is very likely to destroy electronics.
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
RMII Ethernet
|
||||
-------------
|
||||
|
||||
As mentioned above, the RMII interface is only present on ESP32-classic and ESP32-P4.
|
||||
|
||||
RMII PHY SMI Wiring
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Most PHY boards have documented their *RMII PHY SMI Wiring* pins:
|
||||
|
||||
* **MDC** Output to PHY, usually pin 23
|
||||
* **MDIO** Bidirectional, usually pin 18
|
||||
|
||||
Clock sync
|
||||
^^^^^^^^^^
|
||||
|
||||
The PHY and the ESP need to keep a clock in sync.
|
||||
This can either be done via an external crystal, which is connected to a GPIO pin.
|
||||
Another option is to let the ESP provide the clock to the PHY.
|
||||
|
||||
* External crystal oscillator
|
||||
* 50MHz APLL Output on GPIO0
|
||||
* 50MHz APLL Output on GPIO16
|
||||
* 50MHz APLL Inverted Output on GPIO17
|
||||
|
||||
.. note:: When using an external crystal oscillator, this is connected to GPIO-0. Make sure this crystal is not active, or connected to GPIO-0, during boot or else the ESP32 may boot into flash mode.
|
||||
|
||||
Power pin
|
||||
^^^^^^^^^
|
||||
|
||||
On almost all PHY boards, or ESP boards equiped with an ethernet PHY, it is possible to turn the PHY on or off.
|
||||
Either to save energy, or to make sure the external clock is not affecting the ESP boot mode when it restarts.
|
||||
|
||||
For example the Olimex ESP32-EVB does have the *external crystal oscillator* connected to GPIO-0, which could boot the ESP32 randomly into UART flash mode.
|
||||
Most boards use a specific GPIO pin to control the power to the PHY.
|
||||
The Olimex ESP32-EVB does have a specific delay circuit to only allow power to the PHY after boot and therefore does not need to control the PHY power.
|
||||
|
||||
For other boards, the default is often GPIO-17, but this may change per board.
|
||||
|
||||
(Changed: 2022-01-20)
|
||||
|
||||
If the power pin is defined, ESPEasy will toggle the ethernet module off and on at boot.
|
||||
Some Ethernet modules, like the LAN8720, may sometimes get stuck and need to be reset to get it to work again.
|
||||
|
||||
|
||||
RMII PHY Wiring
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Apart from these GPIO pins, there is a number of other pins reserved on the ESP32 for RMII PHY Wiring.
|
||||
|
||||
Since these GPIO pin assignments cannot be changed, it is also not needed to configure them.
|
||||
However, they also cannot be used when *RMII PHY* is used.
|
||||
|
||||
.. include:: ../Reference/RMII_Ethernet_PHY_ESP32.rst
|
||||
|
||||
RMII Ethernet ESP32 Boards
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. include:: ../Reference/RMII_Ethernet_ESP32_boards.rst
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
|
||||
SPI Ethernet
|
||||
------------
|
||||
|
||||
(Added: 2024/02)
|
||||
|
||||
As mentioned above, these SPI based Ethernet interfaces require the SPI interface to be configured.
|
||||
|
||||
The SPI bus can be shared, but the SPI Ethernet chips are a bit specific about the used frequency.
|
||||
Currently the default SPI frequency of 20 MHz is used, so not all other SPI devices may work together with SPI Ethernet.
|
||||
|
||||
Some boards like the ETH01-EVO (ESP32-C3 based) do not even have the SPI bus pins made accesible.
|
||||
|
||||
.. note:: Switching to ECO mode can sometimes result in an unreachable node when using SPI Ethernet. After a reboot the node works just fine again (in ECO mode). This is currently being investigated.
|
||||
|
||||
|
||||
GPIO Configuration
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
* CS pin: Just as any SPI device, it needs a CS pin to tell the device it is being addressed.
|
||||
* IRQ/INT pin: Allows the Ethernet chip to signal the ESP about new data. (Optional for W5500)
|
||||
* RST pin: ESP will try to reset the Ethernet adapter during boot. Not all boards may have this wired.
|
||||
|
||||
|
||||
SPI Ethernet ESP32 Boards
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. include:: ../Reference/SPI_Ethernet_ESP32_boards.rst
|
||||
|
||||
@@ -0,0 +1,365 @@
|
||||
.. include:: _network_substitutions.repl
|
||||
|
||||
.. _NW001_page:
|
||||
|
||||
|NW001_typename|
|
||||
==================================================
|
||||
|
||||
|NW001_shortinfo|
|
||||
|
||||
Network details
|
||||
---------------
|
||||
|
||||
Type: |NW001_type|
|
||||
|
||||
Name: |NW001_name|
|
||||
|
||||
Status ESP32: |NW001_status|
|
||||
|
||||
Status ESP8266: |NW001_status_lb|
|
||||
|
||||
GitHub: |NW001_github|_
|
||||
|
||||
Maintainer: |NW001_maintainer|
|
||||
|
||||
.. include:: Network_standard_parameters.repl
|
||||
|
||||
.. include:: ESP_Hosted_MCU.repl
|
||||
|
||||
Wifi Credentials
|
||||
----------------
|
||||
|
||||
Main WiFi credentials, stored in ``security.dat`` file.
|
||||
|
||||
* SSID:
|
||||
* WPA Key:
|
||||
* Fallback SSID:
|
||||
* Fallback WPA Key:
|
||||
|
||||
Wifi Credentials Extra
|
||||
----------------------
|
||||
|
||||
(ESP32-only)
|
||||
|
||||
The extra credentials stored in here are stored not in the ``security.dat`` file, but in ``devsecurity.dat``
|
||||
|
||||
.. note:: Credentials entered via the setup page are stored here (ESP32 only).
|
||||
|
||||
|
||||
|
||||
Wifi Settings
|
||||
-------------
|
||||
|
||||
Include Hidden SSID
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
When checked, ESPEasy is allowed to connect to hidden SSID networks.
|
||||
|
||||
.. note:: Do not use channels 12 .. 14 for Hidden SSID networks as those are often not found using "Active Scan", which is needed to find hidden SSID networks.
|
||||
|
||||
|
||||
Hidden SSID Slow Connect
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Added: 2023-11-20
|
||||
|
||||
Some access points with hidden SSID do not react to a broadcast connect attempt with a given SSID.
|
||||
For example Mikrotik routers and access points only allow connecting to a hidden SSID when specifically addressed.
|
||||
This may cause a significant slow down connecting to a hidden AP when there are lots of hidden access points with a relative strong signal.
|
||||
|
||||
This is enabled by default.
|
||||
|
||||
|
||||
Passive WiFi Scan
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
There are 2 methods of scanning for access points:
|
||||
|
||||
* Active Scan: Scan by sending a probe request.
|
||||
* Passive Scan: No probe request is sent out. Just switch to the specific channel and wait for a beacon.
|
||||
|
||||
The default scan is an active scan.
|
||||
|
||||
When WiFi channels 12 - 14 have to be used, but cannot be found, try to switch to use "Passive Scan".
|
||||
|
||||
.. note:: When using hidden SSID networks, Active scan is likely the only option that will work.
|
||||
|
||||
|
||||
|
||||
WiFi IP Settings
|
||||
----------------
|
||||
|
||||
Options to setup static IP for the ESP's WiFi STA network interface.
|
||||
|
||||
Leave these empty to use DHCP.
|
||||
|
||||
* ESP WiFi IP
|
||||
* ESP WiFi Gateway
|
||||
* ESP WiFi Subnetmask
|
||||
* ESP WiFi DNS
|
||||
|
||||
|
||||
WiFi Mode
|
||||
---------
|
||||
|
||||
Force WiFi B/G
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
Force the WiFi to use only 802.11-B or -G protocol (not -N)
|
||||
Since the 802.11 G mode of the ESP is more tolerant to noise, it may improve link
|
||||
stability on some nodes.
|
||||
|
||||
WiFi Band Mode
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
(ESP32-C5 Only)
|
||||
|
||||
The ESP32-C5 does support both 2.4 GHz and 5 GHz Wi-Fi.
|
||||
|
||||
The options are:
|
||||
|
||||
* 2.4 GHz only
|
||||
* 5 GHz only
|
||||
* 2.4 GHz + 5 GHz
|
||||
|
||||
This setting limits which bands will be allowed to connect to a configured access point.
|
||||
|
||||
.. note:: Scanning both 2.4 GHz and 5 GHz bands takes longer to connect as it typically takes upto 6 seconds to scan all channels.
|
||||
|
||||
WiFi Power
|
||||
----------
|
||||
|
||||
Force WiFi no sleep
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
This option will set the WiFi sleep mode to no sleep.
|
||||
This may cause the node to consume maximum power and should only be used for testing purposes.
|
||||
It may even lead to more instability on nodes where the power supply is not
|
||||
sufficient or the extra heat cannot be dissipated.
|
||||
|
||||
Since changing the mode back to the default setting may lead to crashes in some core versions, this option is only enabled when starting the node.
|
||||
To activate a change of this setting, a reboot is required.
|
||||
|
||||
|
||||
Max WiFi TX Power
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
(Added: 2021-01-26)
|
||||
|
||||
The default TX power of an ESP unit is:
|
||||
|
||||
* 802.11 b: +20 dBm
|
||||
* 802.11 g: +17 dBm
|
||||
* 802.11 n: +14 dBm
|
||||
|
||||
For some units it can help to reduce the TX power of the WiFi.
|
||||
As of now the exact reason why this may improve stability is a bit unclear.
|
||||
For example, the power supply may be slightly underdimensioned, or the antenna impedance isn't perfect. (can be affected by a lot of factors)
|
||||
|
||||
The effect of a reduction in TX power is of course lower energy consumption, but also a reduction in WiFi range as the received signal strength on the access point will be lower.
|
||||
The unit for WiFi TX power is expressed in dBm, which makes it very easy to calculate the effect.
|
||||
|
||||
.. note:: dBm represents an absolute power level (in mWatt) while dB is a relative index.
|
||||
RSSI is a bit confusing in its unit of measure as both dBm and dB are used.
|
||||
As a rule of thumb, if the RSSI is expressed as a negative value, it is usually referring to dBm.
|
||||
For positive values (i.e. 0 .. 100) it is in dB.
|
||||
To further confuse the understanding, our ESPs use an RSSI of +31 as an error code.
|
||||
|
||||
|
||||
The relation between TX power in dBm and Watt:
|
||||
|
||||
* 20 dBm = 0.1 Watt (= 30 mA @3.3V)
|
||||
* 10 dBm = 0.01 Watt
|
||||
* 0 dBm = 0.001 Watt
|
||||
* -10 dBm = 0.0001 Watt
|
||||
|
||||
Every 10 dBm lower is a factor 10 less energy sent from the antenna.
|
||||
N.B. Since most ESP boards use a linear voltage regulator from 5V to 3.3V, the power reduction can be as high as 0.15 Watt.
|
||||
|
||||
See also "WiFi Sensitivity Margin"
|
||||
|
||||
For example the AP does receive the signal from your ESP node with an RSSI of -60 dBm.
|
||||
If we lower the TX power from 20 dBm to 10 dBm, the access point will receive our signal with an RSSI of -70 dBm.
|
||||
|
||||
Lowering the TX power can also be useful to make it more likely a node will connect to an access point close to the node in a setup with a number of access points using the same SSID.
|
||||
Most access points will disconnect a node if its signal drops below a certain RSSI value. (some brands of access points allow to set this threshold)
|
||||
|
||||
|
||||
|
||||
WiFi Sensitivity Margin
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(Added: 2021-01-26)
|
||||
|
||||
See also WiFi TX Power.
|
||||
|
||||
The ESP boards have a RX sensitivity depending on the used WiFi connection protocol:
|
||||
|
||||
* 802.11 b: –91 dbm (11 Mbps)
|
||||
* 802.11 g: –75 dbm (54 Mbps)
|
||||
* 802.11 n: –72 dbm (MCS7)
|
||||
|
||||
These are the numbers for an ESP8266.
|
||||
|
||||
N.B. The ESP32 is more sensitive for lower bit rates, but we use these more conservative ones.
|
||||
|
||||
The WiFi Sensitivity Margin is added to these RX sensitivity numbers above.
|
||||
|
||||
Our dynamic WiFi TX power strategy is based on the following assumptions:
|
||||
|
||||
* Without any changes in TX power on both the ESP as well as the access point (AP), we can assume the signal strength attenuates the same from the AP to the ESP as the return path from the ESP to the AP.
|
||||
Meaning if we see the signal from an AP has an RSSI value of -60 dBm, we can assume the AP receiving our signal has a similar signal strength with an RSSI of -60 dBm.
|
||||
* An access point usually has a better RX sensitivity than an ESP board.
|
||||
|
||||
With these assumptions in mind, we can lower our WiFi TX power.
|
||||
|
||||
Let's assume the ESP is connected to an access point using 802.11N and we see an RSSI of -60 dBm.
|
||||
Without lowering TX power on the ESP, the access point will receive the ESP with an RSSI of -60 dBm.
|
||||
|
||||
When the TX power on this ESP is lowered from 14 dBm to 4 dBm, the access point will receive the ESP with an RSSI of -70 dBm.
|
||||
This is still within the stated -72 dBm RX sensitivity.
|
||||
|
||||
However for improved stability, it is wise to add some margin. For example a margin of 5 dBm.
|
||||
When applying this margin of +5 dBm, the ESP must try to match its output power to make sure the access point will receive the ESP with an RSSI of at least - 67 dBm.
|
||||
The set TX output power will then be (-60 dBm - -67 dBm =) +7 dBm, which is still a significant improvement in power consumption.
|
||||
|
||||
This margin can also be used to compensate for an access point which is set to a non default TX power.
|
||||
For example, it is good practice to lower the TX power of an access point to improve separation and take over in a network with multiple APs set to use the same SSID to provide roaming.
|
||||
Since these offsets are also expressed in dBm, they can be used without conversion for correcting this margin.
|
||||
|
||||
* Negative margin: Used for access point with better RX sensitivity (high SNR) and/or lowered TX power
|
||||
* Positive margin: Used for access point with lower RX sensitivity (low SNR) and/or increased TX power
|
||||
|
||||
.. note:: It is almost always a bad idea to increase TX power of an access point. The signal from the access point may cover a longer range, but the RX sensitivity is not improved thus the client can not reply. It also affects other WiFi networks in the neighborhood, causing more interference.
|
||||
|
||||
.. note:: Changing the antenna of an access point for a "High Gain Antenna" does improve TX range as well as RX sensitivity and thus cancel each other out regarding this margin setting. A high gain antenna is more directional than traditional antennas.
|
||||
|
||||
To get a feeling of RSSI values (in dBm) in relation to the experienced link quality:
|
||||
|
||||
* -30 dBm: Amazing
|
||||
* -67 dBm: Very Good
|
||||
* -70 dBm: Okay
|
||||
* -80 dBm: Not Good
|
||||
* -90 dBm: Likely Unstable
|
||||
|
||||
Link quality depends on more then just the RSSI.
|
||||
For example a connection with lower band width (e.g. 802.11g compared to 802.11n) is usually more forgiving.
|
||||
|
||||
The actual link quality depends on the ratio between received signal strength (RSSI) and the noise floor.
|
||||
The noise floor is simply erroneous background transmissions that are emitted from either other devices that are too far away for the signal to be intelligible, or by devices that are inadvertently creating interference on the same frequency.
|
||||
Some brands of access points can show the current noise floor and/or the SNR.
|
||||
|
||||
For example, if a signal is received at -80 dBm and the noise floor is -100 dBm, the effective signal-to-noise ratio (SNR) is 20 dB, which is still very usable for ESP nodes as we don't send lots of data.
|
||||
|
||||
For a stable link the SNR should be > 15 dB.
|
||||
The SNR does have big of impact on how responsive an ESPEasy node will 'feel' when operating it.
|
||||
|
||||
Sending with a very strong signal may also affect the link stability of other nodes as it will increase the noise floor for all access points in the neighborhood.
|
||||
|
||||
For best link stability of all nodes, it is best to target somewhere between -67 and -70 dBm.
|
||||
Therefore the default value of +3dB margin will attempt to let the access point receive with a signal strength of roughly that sweet spot.
|
||||
|
||||
Of course nodes with an already high signal attenuation cannot send with more than the max allowed TX power of roughly 20.5 dBm.
|
||||
Trying to reach this sweet spot in signal strength is just a best effort and not a guarantee.
|
||||
|
||||
|
||||
Send With Max TX Power
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
With this option checked, the TX-power will not be continuously adjusted, but just set at the max. set value.
|
||||
|
||||
WiFi Tweaks
|
||||
-----------
|
||||
|
||||
Connect Retry Attempts
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Number of retry attempts to connect to a specific access point, before counting as 'failed'.
|
||||
|
||||
|
||||
Restart WiFi Lost Conn
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Force a complete WiFi radio shutdown & restart when connection with access point is lost.
|
||||
|
||||
.. note:: This is also useful to use when there are access points in the neighborhood configured with different country code set. The actual configured country code can be seen on the WiFi scan page. (ESP32-only)
|
||||
|
||||
|
||||
|
||||
|
||||
Use Last Connected AP from RTC
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Added: 2021-06-20
|
||||
|
||||
The last used (stable) connection is stored in RTC memory.
|
||||
This will survive a reboot (and deep sleep) as long as the unit remains powered.
|
||||
|
||||
On WiFi reconnect, the stored last active connection is tried first.
|
||||
This can reduce the time needed to reconnect on a reboot, or when waking from deep sleep.
|
||||
|
||||
Side effect is that if a node cannot see the stronger configured AP when connecting, it may never try to connect to the stronger AP as on reconnect the last used is tried first.
|
||||
|
||||
Especially on mesh networks this appears to cause a lot of instability, therefore this is now made an optional feature.
|
||||
|
||||
This is no new functionality, as it was present before and also enabled by default.
|
||||
|
||||
New default value since 2021-06-20: unchecked
|
||||
|
||||
|
||||
Enable SDK WiFi Auto Reconnect
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Added: 2023-04-05
|
||||
|
||||
Some dual band access points (2.4 GHz and 5 GHz) try to balance connected nodes over these bands, based on their signal strength.
|
||||
This is called "Band Steering".
|
||||
|
||||
WiFi clients supporting 802.11k and/or 802.11v can be redirected to another band and/or other meshed access point.
|
||||
Older WiFi clients, not supporting these protocols, will briefly be disconnected to force them to reconnect. Hopefully to another access point or frequency band.
|
||||
|
||||
The problem is that such disconnects cause issues with Espressif modules, messing up the internal state of the WiFi.
|
||||
|
||||
ESPEasy does act on WiFi events. But these events are not always dealt with in due time, messing up the connected state even more.
|
||||
In such cases, where "Band Steering" cannot be disabled, one can enable the Espressif SDK WiFi Auto Reconnect option.
|
||||
This will act much faster on these disconnect events. However it also seems to suppress some WiFi events.
|
||||
|
||||
Whenever ESPEasy calls for a disconnect, or the disconnect takes longer than such a very brief disconnect initiated by the Band Steering algorithm of the access point, ESPEasy will turn off the WiFi and turn it on again as if "Restart WiFi Lost Conn" was enabled.
|
||||
|
||||
|
||||
|
||||
Periodical send Gratuitous ARP
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The ESP node may sometimes miss ARP broadcast packets and thus not answer them if needed.
|
||||
This may lead to the situation where a packet sent to the node cannot be delivered,
|
||||
since the switch does not know how to route the packet.
|
||||
To overcome this, the ESP node may send a *Gratuitous ARP* packet, which is
|
||||
essentially an answer to a request which hasn't been made.
|
||||
These gratuitous ARP packets however may help the switch to remember which
|
||||
MAC address is connected via what port.
|
||||
|
||||
By default the ESP will send out such a gratuitous ARP packet every time it
|
||||
receives an IP address and also when it was unable to make a connection to a host.
|
||||
It could be the other host was replying, but the packet was not routable to the ESP node.
|
||||
|
||||
This *Periodical send Gratuitous ARP* option will send these kind of ARP packets
|
||||
continuously with some interval.
|
||||
This interval is defined in the source code in ``TIMER_GRATUITOUS_ARP_MAX`` (e.g. 5000 msec)
|
||||
|
||||
|
||||
Change log
|
||||
----------
|
||||
|
||||
.. versionchanged:: 2.0
|
||||
...
|
||||
|
||||
|added|
|
||||
Major overhaul for 2.0 release.
|
||||
|
||||
.. versionadded:: 1.0
|
||||
...
|
||||
|
||||
|added|
|
||||
Initial release version.
|
||||
|
||||
@@ -0,0 +1,114 @@
|
||||
.. include:: _network_substitutions.repl
|
||||
|
||||
.. _NW002_page:
|
||||
|
||||
|NW002_typename|
|
||||
==================================================
|
||||
|
||||
|NW002_shortinfo|
|
||||
|
||||
Network details
|
||||
---------------
|
||||
|
||||
Type: |NW002_type|
|
||||
|
||||
Name: |NW002_name|
|
||||
|
||||
Status ESP32: |NW002_status|
|
||||
|
||||
Status ESP8266: |NW002_status_lb|
|
||||
|
||||
GitHub: |NW002_github|_
|
||||
|
||||
Maintainer: |NW002_maintainer|
|
||||
|
||||
.. include:: Network_standard_parameters.repl
|
||||
|
||||
|
||||
Wifi AP Settings
|
||||
----------------
|
||||
|
||||
WPA AP Mode Key
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
The WPA key to use for the WiFi AP mode.
|
||||
|
||||
Default key is ``configesp``
|
||||
|
||||
.. note:: WPA Key must be at least 8 characters long
|
||||
|
||||
Wifi AP channel
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Suggested channel to use for AP mode.
|
||||
|
||||
.. note:: This will only be used when running in AP-only mode. When running in AP+STA mode, the AP will use the same channel as STA to make sure the ESP will not continously switch between channels for AP and STA.
|
||||
|
||||
Enable NAPT
|
||||
^^^^^^^^^^^
|
||||
|
||||
(ESP32-only)
|
||||
|
||||
NAPT is like NAT which is known from any consumer internet router.
|
||||
|
||||
When checked, the ESP may act as a gateway to another network, when also connected via another network interface.
|
||||
|
||||
For example when the ESP is connected via WiFi STA, Ethernet or PPP, any WiFi client device connected via the ESP's AP can also reach the network via the other connected interface.
|
||||
Like a single ESP board with a PPP modem and AP active. With NAPT checked, the connected WiFi clients can access the internet via the PPP modem.
|
||||
|
||||
.. note:: This will only work when `force /setup` is not enabled.
|
||||
|
||||
|
||||
Wifi AP Fallback
|
||||
----------------
|
||||
|
||||
Force /setup in AP-Mode
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
This is also known as "Captive Portal" mode, like what can be seen on some "free WiFi" networks where you get redirected to some welcome screen where you may need to agree to terms and conditions first before you can continue.
|
||||
|
||||
It does reply to any DNS request with the IP of the ESP's WiFi AP network interface and redirect the client to the ``/setup`` page for WiFi setup.
|
||||
|
||||
.. note:: Since this feature does actively reply to any DNS request with the ESP's own IP, this cannot be used along with the "NAPT" feature.
|
||||
|
||||
Start AP on No Credentials
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
When checked, the AP interface will be started when there are no WiFi credentials set.
|
||||
|
||||
|
||||
Start AP on Connect Fail
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
When checked, the AP interface will be started when there the ESP may fail to connect to any configured WiFi access point.
|
||||
|
||||
|
||||
Max. Uptime to Start AP
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Limit the window in which the AP is allowed to start.
|
||||
The set value refers to the number of minutes since the ESP booted.
|
||||
|
||||
When set to 0, the AP is allowed to start regardless the uptime of the ESP board.
|
||||
|
||||
AP Minimal 'on' Time
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Minimal time in seconds, the AP should remain turned 'on', waiting for a user to connect.
|
||||
|
||||
|
||||
Change log
|
||||
----------
|
||||
|
||||
.. versionchanged:: 2.0
|
||||
...
|
||||
|
||||
|added|
|
||||
Major overhaul for 2.0 release.
|
||||
|
||||
.. versionadded:: 1.0
|
||||
...
|
||||
|
||||
|added|
|
||||
Initial release version.
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
.. include:: _network_substitutions.repl
|
||||
|
||||
.. _NW003_page:
|
||||
|
||||
|NW003_typename|
|
||||
==================================================
|
||||
|
||||
|NW003_shortinfo|
|
||||
|
||||
Network details
|
||||
---------------
|
||||
|
||||
Type: |NW003_type|
|
||||
|
||||
Name: |NW003_name|
|
||||
|
||||
Status ESP32: |NW003_status|
|
||||
|
||||
Status ESP8266: |NW003_status_lb|
|
||||
|
||||
GitHub: |NW003_github|_
|
||||
|
||||
Maintainer: |NW003_maintainer|
|
||||
|
||||
.. include:: Network_standard_parameters.repl
|
||||
|
||||
.. include:: Ethernet_generic.repl
|
||||
|
||||
.. include:: Ethernet_rmii.repl
|
||||
|
||||
.. include:: Ethernet_poe_iso.repl
|
||||
|
||||
Change log
|
||||
----------
|
||||
|
||||
.. versionchanged:: 2.0
|
||||
...
|
||||
|
||||
|added|
|
||||
Major overhaul for 2.0 release.
|
||||
|
||||
.. versionadded:: 1.0
|
||||
...
|
||||
|
||||
|added|
|
||||
Initial release version.
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
.. include:: _network_substitutions.repl
|
||||
|
||||
.. _NW004_page:
|
||||
|
||||
|NW004_typename|
|
||||
==================================================
|
||||
|
||||
|NW004_shortinfo|
|
||||
|
||||
Network details
|
||||
---------------
|
||||
|
||||
Type: |NW004_type|
|
||||
|
||||
Name: |NW004_name|
|
||||
|
||||
Status ESP32: |NW004_status|
|
||||
|
||||
Status ESP8266: |NW004_status_lb|
|
||||
|
||||
GitHub: |NW004_github|_
|
||||
|
||||
Maintainer: |NW004_maintainer|
|
||||
|
||||
.. include:: Network_standard_parameters.repl
|
||||
|
||||
.. include:: Ethernet_generic.repl
|
||||
|
||||
.. include:: Ethernet_spi.repl
|
||||
|
||||
.. include:: Ethernet_poe_iso.repl
|
||||
|
||||
Change log
|
||||
----------
|
||||
|
||||
.. versionchanged:: 2.0
|
||||
...
|
||||
|
||||
|added|
|
||||
Major overhaul for 2.0 release.
|
||||
|
||||
.. versionadded:: 1.0
|
||||
...
|
||||
|
||||
|added|
|
||||
Initial release version.
|
||||
|
||||
@@ -0,0 +1,163 @@
|
||||
.. include:: _network_substitutions.repl
|
||||
|
||||
.. _NW005_page:
|
||||
|
||||
|NW005_typename|
|
||||
==================================================
|
||||
|
||||
|NW005_shortinfo|
|
||||
|
||||
Network details
|
||||
---------------
|
||||
|
||||
Type: |NW005_type|
|
||||
|
||||
Name: |NW005_name|
|
||||
|
||||
Status ESP32: |NW005_status|
|
||||
|
||||
Status ESP8266: |NW005_status_lb|
|
||||
|
||||
GitHub: |NW005_github|_
|
||||
|
||||
Maintainer: |NW005_maintainer|
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
The PPP network interface allows to use one of many available GSM/GPRS/WCDMA/HSDPA/HSUPA/PSPA/LTE/4g modem modules to allow an ESPEasy node to be used literally "in the field".
|
||||
When connected, a module offers a direct connection to the internet. Keep in mind this connection is like any other device behind a NAT router, thus no connection possible from the internet to the device itself.
|
||||
|
||||
N.B. There are exceptions to this, for example when using a custom service with your own SIM cards. These kinds of configurations are not tested, but also not actively disabled in ESPEasy.
|
||||
|
||||
All supported modules need to have an UART interface over which the ESP communicates using AT-commands.
|
||||
|
||||
Currently supported PPP modules (others may also work):
|
||||
|
||||
* SIMCOM A76xx
|
||||
* SIMCOM A7070/A7000
|
||||
* BG96
|
||||
* SIM800 (obsolete)
|
||||
* Generic
|
||||
|
||||
The "Generic" option likely does work on most modules, however some specifics may not work.
|
||||
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
PPP modems need to communicate via a serial port.
|
||||
It is strongly adviced to use flow control where possible and use hardware serial (not software serial).
|
||||
|
||||
Most SIMCOM modules use 115200 as default baudrate, unless it is configured otherwise.
|
||||
|
||||
Make sure to have at least the reset pin of the PPP modem connected, or at the very least have the option to power cycle the modem. But this should be used only as last resort as the modem may take minutes to find a network after a power cycle.
|
||||
|
||||
LTE modules can draw a significant high current while connecting to the provider network.
|
||||
This can be upto 2 Ampere. So make sure either the module has ample capacitors (e.g. 330 uF ... 470 uF) and preferrably also a soft-start circuit when enable power to the PPP modem.
|
||||
|
||||
.. note:: Never run these PPP modem modules without an antenna connected!
|
||||
|
||||
.. include:: Network_standard_parameters.repl
|
||||
|
||||
|
||||
Device Settings
|
||||
---------------
|
||||
|
||||
.. image:: NW005_DeviceSettings.png
|
||||
|
||||
DTR pin
|
||||
^^^^^^^
|
||||
|
||||
For SIMCOM A76xx modems, there is an emergency fallback option possible to regain access to the modem while the modem is in 'data' mode and not in 'console' mode.
|
||||
ESPEasy does send the required AT-command ``AT&D1`` right before starting the network connection to enable this fallback in the modem settings.
|
||||
|
||||
These PPP modems do have a console/command mode and a data mode.
|
||||
When entering AT commands, the modem must be pulled out of the data mode. However when the connection between the ESP and the modem got interrupted while the modem is still in data mode, it is impossible to regain access to the modem unless it is reset or power cycled.
|
||||
This may occur when the ESP crashes or reboots without properly terminating the PPP network connection, or when the serial link between the ESP and the modem is not using flow control (which is strongly suggested to use!).
|
||||
|
||||
Not all modem boards do have the DTR pin exposed. So make sure to either have the reset pin available, or as a last resort, have the option to power cycle the modem board.
|
||||
Power cycling should be considered as last resort to regain access to the modem, as it may take several minutes for a modem to get connected again after a power cycle.
|
||||
|
||||
|
||||
|
||||
Connection Settings
|
||||
-------------------
|
||||
|
||||
These settings are optional.
|
||||
|
||||
.. note:: These specific settings are stored in the file ``devsecurity.dat`` as these are specific to this device.
|
||||
|
||||
Access Point Name (APN)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The APN is like a default gateway for your device to connect to another network.
|
||||
|
||||
Typically the default APN as stored in the SIM card, or sent by the provider when setting up the connection, is just fine.
|
||||
|
||||
For some use cases, it may be required to set a specific APN, to override the pre-configured one stored in the SIM card.
|
||||
|
||||
A provider may offer several APNs, for example to connect to a specific customer network or to handle the traffic differently.
|
||||
|
||||
Whether or not this is even useful to change depends on the use case and the specific provider.
|
||||
|
||||
|
||||
SIM Card Pin
|
||||
^^^^^^^^^^^^
|
||||
|
||||
A SIM card often has some 4-digit pin, which must be entered when powering up the device.
|
||||
If needed, the Pin number can be entered here.
|
||||
|
||||
|
||||
Modem State
|
||||
-----------
|
||||
|
||||
.. image:: NW005_ModemState.png
|
||||
|
||||
UE System Information
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. image:: NW005_UE_SystemInformation.png
|
||||
|
||||
Useful AT commands
|
||||
------------------
|
||||
|
||||
The command ``ppp,write,<AT-command>`` can be used to interact directly with the modem.
|
||||
|
||||
.. note:: The displayed output on the web interface often also includes the ``OK`` at the end. This is not part of the reply, but was originally printed on a separate line. However the way how these outputs are shown on the "Command Output" window, the extra newlines have been stripped from the response. The log on the serial port will output these on separate lines.
|
||||
|
||||
* ``ppp,write,ATI`` Example output: ``+GCAP: +CGSM,+FCLASS,+DS``
|
||||
* ``ppp,write,AT+IPR=?`` Listing supported baud rates: ``+IPR: (300,600,1200,2400,4800,9600,19200,38400,57600,115200,230400,460800,921600,1842000,3686400)``
|
||||
* ``ppp,write,AT+CSPN?`` Show the SIM card carrier string: ``+CSPN: "Lebara",0``
|
||||
* ``ppp,write,AT+CCLK?`` Show local time as known by the modem: ``+CCLK: "70/01/01,00:53:53+00"``
|
||||
|
||||
|
||||
Example Devices
|
||||
---------------
|
||||
|
||||
* `A7670E <https://nl.aliexpress.com/item/1005005220505235.html>`_ (DTR pin exposed, no RST pin)
|
||||
* `A7670G <https://nl.aliexpress.com/item/1005008748473438.html>`_ (DTR pin exposed, no RST pin)
|
||||
* `LilyGO T-PCIE V1.2 - AXP2101 - ESP32-WROVER - 16MB <https://www.tinytronics.nl/nl/development-boards/microcontroller-boards/met-wi-fi/lilygo-t-pcie-v1.2-axp2101-esp32-wrover-16mb>`_ with modem: `LilyGO TTGO T-PCIE A7670G <https://www.tinytronics.nl/nl/communicatie-en-signalen/draadloos/telecom/modules/lilygo-ttgo-t-pcie-a7670g-uitbreidingsmodule>`_
|
||||
|
||||
To use the last LilyGo T-PCIe v1.2 along with their A7670G modem combination as network interface #3, this config import can be used to get started:
|
||||
|
||||
.. code-block::
|
||||
|
||||
networkimportconfig,3,`{"nwpluginID":5,"enabled":"true","route_prio":200,"fallback":"false","sn_block":"true","start_delay":1000,"en_ipv6":"false","serPort":4,"RX":26,"TX":27,"RTS":-1,"CTS":-1,"rst":4,"rst_act_low":"false","rst_delay":500,"baudrate":115200,"flowctrl":0,"phytype":2,"DTR":-1}`
|
||||
|
||||
|
||||
|
||||
Change log
|
||||
----------
|
||||
|
||||
.. versionchanged:: 2.0
|
||||
...
|
||||
|
||||
|added|
|
||||
Major overhaul for 2.0 release.
|
||||
|
||||
.. versionadded:: 1.0
|
||||
...
|
||||
|
||||
|added|
|
||||
Initial release version.
|
||||
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 119 KiB |
@@ -0,0 +1,122 @@
|
||||
Network Settings
|
||||
----------------
|
||||
|
||||
|
||||
Route Priority
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
(ESP32 only)
|
||||
|
||||
When using multiple network interfaces, like WiFi, Ethernet or PPP LTE Modem, it must be made clear which interface should be used for new connections initiated from ESPEasy to some other host.
|
||||
|
||||
The connected network interface with the highest Route Priority is considered to be the default route.
|
||||
|
||||
Default Route Priority values are:
|
||||
|
||||
* WiFi STA = 100
|
||||
* Ethernet = 50
|
||||
* PPP (LTE modem) = 20
|
||||
* WiFi AP = 10
|
||||
|
||||
|
||||
Fallback Interface
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(ESP32 only)
|
||||
|
||||
.. note::
|
||||
The concept of a Fallback Interface is available on ESP8266, but only for WiFi AP.
|
||||
This is a special case, which is discussed here: :ref:`NW002_page` .
|
||||
|
||||
A network interface can be marked as "Fallback Interface".
|
||||
|
||||
A fallback interface will only be scheduled to start when:
|
||||
|
||||
* A non-fallback interface failed to connect.
|
||||
* Route Priority changed to a value which is less than the set priority for the fallback interface.
|
||||
|
||||
The scheduled delay to start the fallback interface is set as "Delay Startup" (see below).
|
||||
|
||||
A fallback interface will be stopped when there is a default route with a route priority higher than the set Route Priority of the fallback interface.
|
||||
|
||||
It is possible to set multiple interfaces as Fallback Interface.
|
||||
The fallback order can be tweaked using the Delay Startup and Route Priority.
|
||||
|
||||
N.B. Network interfaces which should be started at boot, should not be marked as Fallback Interface.
|
||||
|
||||
Example use cases
|
||||
"""""""""""""""""
|
||||
|
||||
* Disable fallback on the WiFi AP and have it active continuously, allowing other nodes/devices to use the ESP node to act as a router/gateway using "NAPT".
|
||||
* Have WiFi STA set as fallback for Ethernet (or PPP for a LTE modem). When there is no connection via Ethernet (or PPP) you can try using WiFi STA as backup.
|
||||
* Have PPP (for connection via LTE) as fallback, so it will only be used if any of the other interfaces failed to get a connection.
|
||||
* Have Ethernet set to lowest startup delay, WiFi STA as fallback with longer startup delay and PPP as fallback with the longest startup delay. This way the preferred interface is Ethernet, WiFi the second and as last resort the LTE modem.
|
||||
|
||||
|
||||
|
||||
Delay Startup
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
For various reasons, it can be useful to not immediately start a network interface at boot.
|
||||
For example to reduce the power consumption as most network interfaces may draw significant more power for a short time when starting.
|
||||
|
||||
Another use case can be to check some sensor value before deciding to either start the network interface or enter deep sleep again.
|
||||
|
||||
The set value (in msec) is the delay from boot before starting the network interface.
|
||||
|
||||
|
||||
Delay Startup for Fallback Interface
|
||||
""""""""""""""""""""""""""""""""""""
|
||||
|
||||
A Fallback Interface is not started at boot.
|
||||
The set Delay Startup is then used as delay to schedule starting the network interface.
|
||||
See "Fallback Interface" for more information.
|
||||
|
||||
|
||||
Append Name to Hostname
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(ESP32 only)
|
||||
|
||||
When multiple network interfaces may connect to the same network (e.g. WiFi STA and Ethernet), it can be useful to set different hostnames per network interface.
|
||||
|
||||
With this option checked, the network interface name as listed on the "Network" tab overview page will be appended to the hostname as used for that network interface.
|
||||
|
||||
For example on an ESPEasy node called "ESPEasy", the WiFi STA interface will then use "ESPEasy-WiFi" as hostname.
|
||||
|
||||
This will be used in for example DHCP requests and when using mDNS.
|
||||
|
||||
Default setting is to have it disabled for WiFi STA and enabled for all other network interfaces.
|
||||
|
||||
|
||||
Block Web Access
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
When checked, the ESPEasy web interface cannot be accessed via the IP-range of the network interface.
|
||||
|
||||
.. note::
|
||||
The PPP Network Interface (ESP32-only) will have this checked by default, since you typically can't access devices from the network of the mobile provider.
|
||||
If this is possible for some odd reason, you very likely would never want to allow this.
|
||||
|
||||
Enable IPv6
|
||||
^^^^^^^^^^^
|
||||
|
||||
(ESP32 only)
|
||||
|
||||
Checking this checkbox, will allow the network device to use IPv6.
|
||||
|
||||
|
||||
Collect Network Stats
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(ESP32 only, not included in all builds)
|
||||
|
||||
Checking this checkbox, will allow to collect network statistics like:
|
||||
|
||||
* Connected Station Count (AP only)
|
||||
* RSSI (WiFi, PPP)
|
||||
* TX Power (WiFi STA)
|
||||
* BER (Bit Error Rate, only on PPP)
|
||||
* TX Bytes
|
||||
* RX Bytes
|
||||
|
||||
@@ -0,0 +1,285 @@
|
||||
.. include:: _network_substitutions.repl
|
||||
|
||||
Network
|
||||
*******
|
||||
|
||||
A Network plugin is comparable with a 'driver' for a network adapter.
|
||||
|
||||
|
||||
.. note::
|
||||
The network code of ESPEasy has been rewritten in 2025/2026.
|
||||
Older builds of ESPEasy do have a different organisation of network related parameters.
|
||||
Most of these were accessible via the ``Tools->Advanced`` page.
|
||||
|
||||
|
||||
|
||||
.. _Network Plugins:
|
||||
|
||||
Network Plugins
|
||||
===============
|
||||
|
||||
.. note::
|
||||
ESP32 builds do have a lot more networking capabilities compared to ESP8266.
|
||||
For ESP8266 we only have support for WiFi and no other network interfaces will be added for ESP8266.
|
||||
|
||||
.. csv-table::
|
||||
:header: "Plugin name", "ESP32 Plugin status", "ESP8266 Plugin status", "Plugin number"
|
||||
:widths: 9, 6, 6, 3
|
||||
|
||||
":ref:`NW001_page`","|NW001_status|","|NW001_status_lb|","NW001"
|
||||
":ref:`NW002_page`","|NW002_status|","|NW002_status_lb|","NW002"
|
||||
":ref:`NW003_page`","|NW003_status|","|NW003_status_lb|","NW003"
|
||||
":ref:`NW004_page`","|NW004_status|","|NW004_status_lb|","NW004"
|
||||
":ref:`NW005_page`","|NW005_status|","|NW005_status_lb|","NW005"
|
||||
|
||||
|
||||
Network Overview Tab
|
||||
====================
|
||||
|
||||
.. image:: NetworkOverviewTab.png
|
||||
|
||||
Overview of the Network tab on an ESP32-P4.
|
||||
|
||||
The first 2 entries will be the same for every ESPEasy setup and these cannot be removed.
|
||||
|
||||
* Nr. 1 is always WiFi STA (station) To connect the ESP board to an access point.
|
||||
* Nr. 2 is always WiFi AP (Access Point) To let the ESP board act as an access point.
|
||||
|
||||
There are 2 types of Ethernet plugins:
|
||||
|
||||
* RMII, only available on ESP32-classic and ESP32-P4 (and ESP32-S31 when supported in the future)
|
||||
* SPI, Possible on all supported ESP32 variants except ESP32-C2.
|
||||
|
||||
The last option is a PPP modem, to connect via 4g/LTE to the internet.
|
||||
|
||||
Active
|
||||
^^^^^^
|
||||
|
||||
Indicates whether a network adapter has been 'started'.
|
||||
This is related to "Fallback" and "Delay Startup".
|
||||
|
||||
This "Active" concept is needed to allow for another concept called the "Fallback Interface".
|
||||
|
||||
For example, on a standard ESP board with only WiFi, the WiFi AP interface can be considered a fallback interface.
|
||||
Meaning the AP is "Enabled" but no need to set it "Active" as long as you can connect to your normal WiFi network.
|
||||
|
||||
The conditions on when to start the WiFi AP interface can be configured as well.
|
||||
|
||||
Only when one or more set conditions are met, then the AP will be activated.
|
||||
|
||||
|
||||
Name
|
||||
^^^^
|
||||
|
||||
A single word describing the network interface.
|
||||
This can be appended to the hostname and is also referred to in network events to be used in rules.
|
||||
|
||||
Route Prio
|
||||
^^^^^^^^^^
|
||||
(ESP32 only)
|
||||
|
||||
The active and connected interface with the highest 'route prio' value is the default interface for new outgoing connections.
|
||||
The current default interface is marked with an asterisk.
|
||||
|
||||
This means the ESP is still reachable via other interfaces when needed, but new connections will be made only via the default route.
|
||||
|
||||
N.B. it is possible to block web access per interface via the checkbox for Block Web Access
|
||||
|
||||
.. note:: Do not set two interfaces active to same route prio as this may lead to undefined behavior.
|
||||
|
||||
Connected
|
||||
^^^^^^^^^
|
||||
|
||||
Show basic information about the connection, or a red cross if not connected.
|
||||
|
||||
The shown duration is the duration since the last connected/disconnected status change.
|
||||
|
||||
|
||||
Hostname/SSID
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
Shows the hostname as used for that specific network interface.
|
||||
|
||||
This hostname is used in the DHCP request and when mDNS is being used.
|
||||
|
||||
For the WiFi AP interface, the SSID is shown.
|
||||
|
||||
|
||||
HW Address
|
||||
^^^^^^^^^^
|
||||
|
||||
Lists the MAC address and some basic description of the network interface when applicable.
|
||||
|
||||
Description examples:
|
||||
|
||||
* WiFi interface on an ESP32-P4 lists the ESP32-variant used as external wifi adapter and the ESP-Hosted-MCU firmware version running.
|
||||
* Ethernet will list the network adapter chip model.
|
||||
|
||||
For the PPP interface, the IMEI number is listed instead of the MAC address.
|
||||
|
||||
IP
|
||||
^^
|
||||
|
||||
Shows the IPv4-address as it is currently in use on the network interface.
|
||||
|
||||
More detailed info on IPv6-addresses is listed on the page where the network interface can be configured and on the sysinfo page.
|
||||
|
||||
Port
|
||||
^^^^
|
||||
|
||||
When applicable, the GPIO pins will be listed here.
|
||||
|
||||
* External WiFi module on ESP32-P4: SDIO bus
|
||||
* Ethernet: GPIO pins
|
||||
* PPP: Serial port + GPIO pins
|
||||
|
||||
|
||||
|
||||
|
||||
Export/Import Network Parameters
|
||||
================================
|
||||
|
||||
.. note::
|
||||
This is working only on ESP32 as extra network interfaces are only supported on ESP32 builds of ESPEasy.
|
||||
|
||||
In order to simplify initial setup of a newly flashed module, it is possible to have a JSON string to enter via the ESPEasy console.
|
||||
|
||||
* ``networkexportconfig,N`` with N being the network adapter index.
|
||||
* ``networkexportconfig,N,'{....}'`` with N being the network adapter index and the second parameter the literal JSON string as output from the ``networkexportconfig`` command.
|
||||
|
||||
.. note::
|
||||
N.B. the 2nd parameter must be wrapped in quotes which are not used in the JSON string, like single quote or back-ticks. Also the braces must be included.
|
||||
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
Export of network config on a `Waveshare ESP32-P4-NANO <https://www.waveshare.com/esp32-p4-nano.htm>`_ RMII Ethernet adapter set as network index 3:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
networkexportconfig,3
|
||||
{"nwpluginID":3,"enabled":"true","route_prio":150,"fallback":"false","sn_block":"false","start_delay":1000,"en_ipv6":"false","Index":0,"phytype":1,"phyaddr":1,"MDC":31,"MDIO":52,"pwr":51,"clock":1}
|
||||
|
||||
To import this exact example:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
networkimportconfig,3,`{"nwpluginID":3,"enabled":"true","route_prio":150,"fallback":"false","sn_block":"false","start_delay":1000,"en_ipv6":"false","Index":0,"phytype":1,"phyaddr":1,"MDC":31,"MDIO":52,"pwr":51,"clock":1}`
|
||||
|
||||
|
||||
.. note::
|
||||
When a parameter is not present in the JSON when importing, the default will be used.
|
||||
Also when a parameter is not present in the stored config (applies to default values), the key/value pair will not appear in the exported JSON.
|
||||
|
||||
Allowed Parameters
|
||||
------------------
|
||||
|
||||
|
||||
.. csv-table:: Allowed import/export keywords per network plugin.
|
||||
:header: "Key","Value Type","Description","WiFi STA","WiFi AP","RMII Ethernet","SPI Ethernet","PPP "
|
||||
:widths: 15, 10, 20, 10, 10, 10, 10, 10
|
||||
|
||||
"nwpluginID","int","ESPEasy NWPlugin ID","1","2","3","4","5 "
|
||||
"enabled","bool","","✔","✔","✔","✔","✔"
|
||||
"route_prio","int","See “Route Priority”","✔ (100 default)","✔ (10 default)","✔ (50 default)","✔ (50 default)","✔ (20 default)"
|
||||
"fallback","bool","See “Fallback Interface”","✔","✔","✔","✔","✔"
|
||||
"sn_block","bool","See “Block Web Access”","✔","✔","✔","✔","✔"
|
||||
"start_delay","int","See “Delay Startup”","✔","✔","✔","✔","✔"
|
||||
"append_hostname","bool","See “Append Name to Hostname”","✔","✔","✔","✔","✔"
|
||||
"en_ipv6","bool","See “Enable IPv6”","✔","✔","✔","✔","✔"
|
||||
"Index","int","Network ‘Nr’ on Network tab","1","2","✔","✔","✔"
|
||||
"phytype","int","Selected chip, see below","","","✔","✔","✔"
|
||||
"phyaddr","int","Ethernet PHY Address","","","✔","✔",""
|
||||
"MDC","int","GPIO pin MDC","","","✔","",""
|
||||
"MDIO","int","GPIO pin MDIO","","","✔","",""
|
||||
"pwr","int","GPIO pin Power","","","✔","",""
|
||||
"clock","int","Clock Mode","","","✔","",""
|
||||
"CS","int","GPIO pin CS","","","","✔",""
|
||||
"IRQ","int","GPIO pin IRQ","","","","✔",""
|
||||
"RST","int","GPIO pin Reset","","","","✔","✔"
|
||||
"ethspibus","int","SPI bus (0 or 1)","","","","✔",""
|
||||
"serPort","int","ESPEasySerial port enum","","","","","✔"
|
||||
"RX","int","GPIO pin RX","","","","","✔"
|
||||
"TX","int","GPIO pin TX","","","","","✔"
|
||||
"RTS","int","GPIO pin RTS","","","","","✔"
|
||||
"CTS","int","GPIO pin CTS","","","","","✔"
|
||||
"DTR","int","GPIO pin DTR","","","","","✔"
|
||||
"rst_act_low","bool","Reset Active Low","","","","","✔"
|
||||
"rst_delay","int","Delay after reset in ms","","","","","✔"
|
||||
"baudrate","int","Baudrate","","","","","✔ (115200 default)"
|
||||
"apn","string","Access Point Name (APN)","","","","","✔"
|
||||
"pin","string","PIN of SIM card","","","","","✔"
|
||||
"IP","string","IP address","","","✔","✔","✔"
|
||||
"gw","string","Gateway IP address","","","✔","✔","✔"
|
||||
"sn","string","Subnet mask","","","✔","✔","✔"
|
||||
"DNS","string","DNS server IP address","","","✔","✔","✔"
|
||||
|
||||
Phy Types
|
||||
---------
|
||||
|
||||
RMII Ethernet:
|
||||
|
||||
* LAN8720 = 0
|
||||
* TLK110 = 1
|
||||
* RTL8201 = 2
|
||||
* JL1101 = 3
|
||||
* DP83848 = 4
|
||||
* KSZ8041 = 5
|
||||
* KSZ8081 = 6
|
||||
* LAN867X = 7
|
||||
|
||||
|
||||
SPI Ethernet:
|
||||
|
||||
* DM9051 = 10
|
||||
* W5500 = 11
|
||||
* KSZ8851 = 12
|
||||
|
||||
PPP:
|
||||
|
||||
* generic = 1
|
||||
* SIM7600 = 2
|
||||
* SIM7070 = 3
|
||||
* SIM7000 = 4
|
||||
* BG96 = 5
|
||||
* SIM800 = 6
|
||||
|
||||
|
||||
Clock Mode
|
||||
----------
|
||||
|
||||
For ESP32-classic, the clock mode for RMII Ethernet has these options:
|
||||
|
||||
* Ext_crystal_osc = 0
|
||||
* Int_50MHz_GPIO_0 = 1
|
||||
* Int_50MHz_GPIO_16 = 2
|
||||
* Int_50MHz_GPIO_17_inv = 3
|
||||
|
||||
|
||||
For ESP32-P4, the clock mode is a bit simpler as the clock pin can only be GPIO 32 / 44 / 50 (default)
|
||||
and there are only 2 modes, either external crystal or clock generated by the ESP.
|
||||
|
||||
* Default = 0
|
||||
* Ext_crystal (GPIO-50) = 1
|
||||
* Int_50MHz (GPIO-50) = 2
|
||||
|
||||
And the not yet supported other clock GPIO pins:
|
||||
|
||||
* Ext_crystal (GPIO-32) = 129 ``(1 | (32 << 2))``
|
||||
* Int_50MHz (GPIO-32) = 130 ``(2 | (32 << 2))``
|
||||
* Ext_crystal (GPIO-44) = 177 ``(1 | (44 << 2))``
|
||||
* Int_50MHz (GPIO-44) = 178 ``(2 | (44 << 2))``
|
||||
|
||||
.. note:: Currently only GPIO-50 is supported, but later the other GPIO pins could be used and then these fixed values should be used.
|
||||
|
||||
|
||||
M5Stack ESP32-S3 Atom with W5500 AtomPoE SPI Ethernet
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Make sure SPI is configured with CLK: GPIO-5, MISO: GPIO-7, MOSI: GPIO-8
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
networkimportconfig,3,'{"nwpluginID":4,"enabled":"true","route_prio":150,"sn_block":"false","start_delay":1000,"en_ipv6":"true","phytype":11,"phyaddr":0,"CS":6,"IRQ":-1,"RST":-1}'
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
|
||||
|
||||
|
||||
.. |NW001_name| replace:: :cyan:`WiFi Station`
|
||||
.. |NW001_type| replace:: :cyan:`Network`
|
||||
.. |NW001_typename| replace:: :cyan:`Network - WiFi Station`
|
||||
.. |NW001_status| replace:: :green:`NORMAL`
|
||||
.. |NW001_status_lb| replace:: :green:`NORMAL`
|
||||
.. |NW001_github| replace:: _NW001_WiFi_STA.cpp
|
||||
.. _NW001_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/ESPEasy/net/_NW001_WiFi_STA.cpp
|
||||
.. |NW001_usedby| replace:: `.`
|
||||
.. |NW001_shortinfo| replace:: `.`
|
||||
.. |NW001_maintainer| replace:: `TD-er`
|
||||
.. |NW001_compileinfo| replace:: `.`
|
||||
|
||||
.. |NW002_name| replace:: :cyan:`WiFi AP`
|
||||
.. |NW002_type| replace:: :cyan:`Network`
|
||||
.. |NW002_typename| replace:: :cyan:`Network - WiFi AP`
|
||||
.. |NW002_status| replace:: :green:`NORMAL`
|
||||
.. |NW002_status_lb| replace:: :green:`NORMAL`
|
||||
.. |NW002_github| replace:: _NW002_WiFi_AP.cpp
|
||||
.. _NW002_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/ESPEasy/net/_NW002_WiFi_AP.cpp
|
||||
.. |NW002_usedby| replace:: `.`
|
||||
.. |NW002_shortinfo| replace:: `.`
|
||||
.. |NW002_maintainer| replace:: `TD-er`
|
||||
.. |NW002_compileinfo| replace:: `.`
|
||||
|
||||
.. |NW003_name| replace:: :cyan:`Ethernet (RMII)`
|
||||
.. |NW003_type| replace:: :cyan:`Network`
|
||||
.. |NW003_typename| replace:: :cyan:`Network - Ethernet (RMII)`
|
||||
.. |NW003_status| replace:: :green:`NORMAL`
|
||||
.. |NW003_status_lb| replace:: `.`
|
||||
.. |NW003_github| replace:: _NW003_ETH_RMII.cpp
|
||||
.. _NW003_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/ESPEasy/net/_NW003_ETH_RMII.cpp
|
||||
.. |NW003_usedby| replace:: `.`
|
||||
.. |NW003_shortinfo| replace:: `.`
|
||||
.. |NW003_maintainer| replace:: `TD-er`
|
||||
.. |NW003_compileinfo| replace:: `.`
|
||||
|
||||
.. |NW004_name| replace:: :cyan:`Ethernet (SPI)`
|
||||
.. |NW004_type| replace:: :cyan:`Network`
|
||||
.. |NW004_typename| replace:: :cyan:`Network - Ethernet (SPI)`
|
||||
.. |NW004_status| replace:: :green:`NORMAL`
|
||||
.. |NW004_status_lb| replace:: `.`
|
||||
.. |NW004_github| replace:: _NW004_ETH_SPI.cpp
|
||||
.. _NW004_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/ESPEasy/net/_NW004_ETH_SPI.cpp
|
||||
.. |NW004_usedby| replace:: `.`
|
||||
.. |NW004_shortinfo| replace:: `.`
|
||||
.. |NW004_maintainer| replace:: `TD-er`
|
||||
.. |NW004_compileinfo| replace:: `.`
|
||||
|
||||
.. |NW005_name| replace:: :cyan:`PPP Modem`
|
||||
.. |NW005_type| replace:: :cyan:`Network`
|
||||
.. |NW005_typename| replace:: :cyan:`Network - PPP Modem`
|
||||
.. |NW005_status| replace:: :green:`NORMAL`
|
||||
.. |NW005_status_lb| replace:: `.`
|
||||
.. |NW005_github| replace:: _NW005_PPP_modem.cpp
|
||||
.. _NW005_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/ESPEasy/net/_NW005_PPP_modem.cpp
|
||||
.. |NW005_usedby| replace:: `.`
|
||||
.. |NW005_shortinfo| replace:: `.`
|
||||
.. |NW005_maintainer| replace:: `TD-er`
|
||||
.. |NW005_compileinfo| replace:: `.`
|
||||
|
||||
@@ -11,7 +11,9 @@ Type: |N001_type|
|
||||
|
||||
Name: |N001_name|
|
||||
|
||||
Status: |N001_status|
|
||||
Status ESP32: |N001_status|
|
||||
|
||||
Status ESP8266: |N001_status_lb|
|
||||
|
||||
GitHub: |N001_github|_
|
||||
|
||||
|
||||
@@ -12,7 +12,9 @@ Type: |N002_type|
|
||||
|
||||
Name: |N002_name|
|
||||
|
||||
Status: |N002_status|
|
||||
Status ESP32: |N002_status|
|
||||
|
||||
Status ESP8266: |N002_status_lb|
|
||||
|
||||
GitHub: |N002_github|_
|
||||
|
||||
|
||||
@@ -16,8 +16,8 @@ Notifications Plugins
|
||||
======================
|
||||
|
||||
.. csv-table::
|
||||
:header: "Name", "Status", "Notify Number"
|
||||
:widths: 10, 8, 5
|
||||
:header: "Plugin name", "ESP32 Plugin status", "ESP8266 Plugin status", "Plugin Number"
|
||||
:widths: 9, 6, 6, 3
|
||||
|
||||
":ref:`N001_page`","|N001_status|","N001"
|
||||
":ref:`N002_page`","|N002_status|","N002"
|
||||
":ref:`N001_page`","|N001_status|","|N001_status_lb|","N001"
|
||||
":ref:`N002_page`","|N002_status|","|N002_status_lb|","N002"
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
.. |N001_typename| replace:: :cyan:`Notifications - Email (SMTP)`
|
||||
.. |N001_porttype| replace:: `.`
|
||||
.. |N001_status| replace:: :green:`NORMAL` :yellow:`CLIMATE` :yellow:`COLLECTION` :yellow:`SONOFF` :yellow:`SHELLY`
|
||||
.. |N001_status_lb| replace:: :green:`NORMAL` :yellow:`CLIMATE` :yellow:`COLLECTION` :yellow:`SONOFF` :yellow:`SHELLY`
|
||||
.. |N001_github| replace:: N001_Email.cpp
|
||||
.. _N001_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_N001_Email.cpp
|
||||
.. |N001_maintainer| replace:: `.`
|
||||
@@ -15,6 +16,7 @@
|
||||
.. |N002_typename| replace:: :cyan:`Notifications - Buzzer`
|
||||
.. |N002_porttype| replace:: `.`
|
||||
.. |N002_status| replace:: :green:`NORMAL` :yellow:`CLIMATE` :yellow:`COLLECTION` :yellow:`SONOFF` :yellow:`SHELLY`
|
||||
.. |N002_status_lb| replace:: :green:`NORMAL` :yellow:`CLIMATE` :yellow:`COLLECTION` :yellow:`SONOFF` :yellow:`SHELLY`
|
||||
.. |N002_github| replace:: N002_Buzzer.cpp
|
||||
.. _N002_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_N002_Buzzer.cpp
|
||||
.. |N002_maintainer| replace:: `.`
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
PlatformIO
|
||||
**********
|
||||
|
||||
ESP easy can be built using the Arduino IDE or PlatformIO (PIO).
|
||||
Arduino IDE is not being used during development, so it may take some more effort to get it setup for building ESPeasy.
|
||||
ESP easy can be built using the PlatformIO/pioarduino IDE (PIO).
|
||||
Arduino IDE is no longer supported for development though it's technically possible to be used. It may take considerable effort to get it setup for building ESPeasy.
|
||||
|
||||
We *strongly* advise to use PlatformIO as build environment.
|
||||
We *strongly* advise to use PIO as build environment.
|
||||
|
||||
PlatformIO is just the build, test and upload environment for many micro controllers like the ESP8266 and ESP32 we use.
|
||||
PIO is just the build, test and upload environment for many micro controllers like the ESP8266 and ESP32 we use.
|
||||
|
||||
On top of that you need to use an editor, or so called IDE in which PlatformIO will be used.
|
||||
On top of that you need to use an editor, or so called IDE in which PIO will be used.
|
||||
|
||||
The current choice is:
|
||||
|
||||
@@ -21,10 +21,10 @@ VSCode is free to use and available for Windows, MacOS and Linux.
|
||||
Apart from VSCode, there are more available, like Eclipse, MS Visual Studio (IDE) and probably more.
|
||||
|
||||
|
||||
PlatformIO Prerequisites
|
||||
========================
|
||||
PlatformIO/pioarduino Prerequisites
|
||||
===================================
|
||||
|
||||
PlatformIO does need at least the following:
|
||||
PIO does need at least the following:
|
||||
|
||||
* Python
|
||||
* Git command line tools (`download <https://git-scm.com/downloads>`_)
|
||||
@@ -58,32 +58,43 @@ install Pyton in Windows for PlatformIO.
|
||||
|
||||
These steps have been explained in this Youtube video: https://youtu.be/ArqwMcYSMsU though you might want to use the latest version of both the Git tools and Python.
|
||||
|
||||
PlatformIO with VSCode
|
||||
======================
|
||||
PlatformIO/pioarduino with VSCode
|
||||
=================================
|
||||
|
||||
Install
|
||||
-------
|
||||
|
||||
For development of ESPEasy, a number of extensions has to be installed in VS-Code:
|
||||
|
||||
* PlatformIO IDE (by PlatformIO)
|
||||
* C/C++ IntelliSense (by Microsoft)
|
||||
* pioarduino IDE (by pioarduino)
|
||||
* Select a C++ code completion plugin, either Microsoft C/C++ Intellisense or LLVM ``clangd``
|
||||
* Microsoft
|
||||
|
||||
* C/C++ (by Microsoft)
|
||||
* LLVM
|
||||
|
||||
* clangd (by LLVM)
|
||||
* C/C++ Extension Pack (by Microsoft)
|
||||
* C/C++ Themes (by Microsoft)
|
||||
* Uncrustify (by Zachary Flower, originally by Laurent Tréguier)
|
||||
|
||||
Optional, but highly recommended:
|
||||
|
||||
* C/C++ DevTools (by Microsoft)
|
||||
* Bookmarks (by Alessandro Fragnani)
|
||||
* GitLens - Git supercharged (by Gitkraken)
|
||||
* Todo Tree (by Gruntfuggly)
|
||||
* TODO Highlight v2 (by Jonathan Clark)
|
||||
* All Autocomplete (by Atishay Jain)
|
||||
* Excel Viewer (by GrapeCity)
|
||||
* Esbonio - An extension for editing sphinx projects (by Swyddfa)
|
||||
* reStructuredText (by LeXtudio)
|
||||
* reStructuredText Syntax highlighting (by Trond Snekvik)
|
||||
* Extension pack for reStructuredText (by LeXtudio Inc.)
|
||||
* Markdown All in One (by Yu Zhang)
|
||||
* ESP Crash Decoder (by Jason2866)
|
||||
* WSL (by Microsoft) (when using WSL2 as documented below)
|
||||
|
||||
In VSCode 1.113 the default code color scheme has changed from ``Light Modern`` or ``Dark Modern`` to ``VS Code Light`` or ``VS Code Dark``. For many users this change was quite unexpected as the used colors are quite different from the previous color scheme, so to revert to the previous default setting press ``Ctrl-K,Ctrl-T`` (``Cmd-K,Cmd-T`` on MacOs) and choose the previous default light or dark theme, or choose a different setting from the available options.
|
||||
|
||||
Uncrustify
|
||||
----------
|
||||
@@ -109,17 +120,19 @@ After setting it as the default formatter, the hotkey Alt-Shift-F (Cmd-Shift-F o
|
||||
|
||||
There used to be a reference to the Atom editor, but both Atom, and the PlatformIO plugin for Atom, are no longer maintained by their owners, so it was removed from this documentation.
|
||||
|
||||
Load a project using PlatformIO
|
||||
-------------------------------
|
||||
Load a project using PlatformIO/pioarduino
|
||||
------------------------------------------
|
||||
|
||||
.. note:: PlatformIO has been superceded by the Community-supported **pioarduino** initiative. For simplicity, in most places the abbreviation PIO is throughout this section of the documentation.
|
||||
|
||||
If you have PIO installed and the source tree cloned to your hard drive, then you can open the main dir of the repository.
|
||||
The main directory of the repository is the level with the file platformio.ini in it.
|
||||
|
||||
Then in a few moments after opening the directory, on the left there will appear an alien logo, the logo of PlatformIO.
|
||||
Then in a few moments after opening the directory, on the left there will appear an chip-package logo, the logo of pioarduino.
|
||||
If you click that one, you will get a tree with lots and lots of project tasks and environments.
|
||||
|
||||
It is important to note that PlatformIO does everything based on environments, which are defined in the platformio.ini file.
|
||||
In the PlatformIO menu (on the left) everything is grouped per environment.
|
||||
It is important to note that PIO does everything based on environments, which are defined in the platformio.ini file.
|
||||
In the PIO menu (on the left) everything is grouped per environment.
|
||||
|
||||
An environment entry has several tasks, like:
|
||||
|
||||
@@ -130,8 +143,9 @@ An environment entry has several tasks, like:
|
||||
* Clean
|
||||
* ... many more.
|
||||
|
||||
Some of these options only are available when you have registered with PlatformIO and some are only for paid subscriptions.
|
||||
At least the basic ones used for almost any user are available with the free account.
|
||||
.. .. Some of these options only are available when you have registered with PlatformIO and some are only for paid subscriptions.
|
||||
|
||||
.. .. At least the basic ones used for almost any user are available with the free account.
|
||||
|
||||
The environment definitions all have at least the used micro controller in the name and the amount of flash memory used.
|
||||
|
||||
@@ -139,28 +153,135 @@ For example:
|
||||
|
||||
* ..._ESP8266_4Mnn -> ESP8266 has external flash, which can vary in size from 512 kB to 16 MB, with nn configured as filesystem.
|
||||
* ..._ESP8266_1M -> ESP8285 has the flash internal, which is almost always 1 MB. ESP8266 does have an external flash chip, which allows for exchanging it for a larger flash chip (recommended).
|
||||
* ..._ESP32_4M316k -> ESP32 with 4 MB flash and a 1.8 MB partition for the sketch. (316k SPIFFS)
|
||||
* ..._ESP32s2_4M316k -> ESP32s2 with 4 MB flash and a 1.8 MB partition for the sketch. (316k SPIFFS)
|
||||
* ..._ESP32_16M8M_LittleFS -> ESP32 with 16 MB flash and a 4 MB partition for the sketch. (8MB LittleFS)
|
||||
* ..._ESP32_16M1M_ETH -> ESP32 with 16 MB flash and a 4 MB partition for the sketch. (1MB SPIFFS, Wired ethernet support)
|
||||
* ..._ESP32_4M316k -> ESP32 with 4 MB flash and a 1.8 MB partition for the sketch. (316k LittleFS)
|
||||
* ..._ESP32s2_4M316k -> ESP32s2 with 4 MB flash and a 1.8 MB partition for the sketch. (316k LittleFS)
|
||||
* ..._ESP32_16M8M -> ESP32 with 16 MB flash and a 4 MB partition for the sketch. (8MB LittleFS)
|
||||
|
||||
Make a custom build using PlatformIO
|
||||
------------------------------------
|
||||
Make a Custom build using PIO
|
||||
-----------------------------
|
||||
|
||||
To create a build from the sources, first thing is to get the sources onto your computer. This can be done in several ways:
|
||||
|
||||
1. Clone the repository using git tools to your computer
|
||||
2. Fork the repository to your own Github account, and clone this to your computer (advantage: You can make changes and create a pull-request to have that included in the ESPEasy code base)
|
||||
3. Download a .zip file with the code from the Gihub page of ESPEasy https://github.com/letscontrolit/ESPEasy and unpack that
|
||||
|
||||
(NB: Using ``/`` as the path separator here, in Linux style, on Windows use ``\`` in the ``cd`` commands instead)
|
||||
|
||||
**Option 1**.
|
||||
|
||||
*Advantage*: Quick to get started, easy update to the latest source.
|
||||
|
||||
*Disadvantage*: You can't create a pull-request from this environment to add improvements to ESPEasy.
|
||||
|
||||
Initial setup:
|
||||
|
||||
Open a command prompt or terminal, and change the current directory to a folder where you have enough space to hold the code, libraries and tooling (ca. 2 GB)
|
||||
|
||||
.. highlight::sh
|
||||
|
||||
.. code-block::
|
||||
|
||||
cd /develop
|
||||
git clone https://github.com/letscontrolit/ESPEasy.git
|
||||
|
||||
This will create a folder /develop/ESPEasy.
|
||||
|
||||
If you did the initial setup some time ago and want to update to latest source:
|
||||
|
||||
.. highlight::sh
|
||||
|
||||
.. code-block::
|
||||
|
||||
cd /develop/ESPEasy
|
||||
git pull
|
||||
|
||||
Continue at **General steps**, below.
|
||||
|
||||
**Option 2**.
|
||||
|
||||
*Advantage*: Quick to get started, can update to the latest source, can contribute to ESPEasy.
|
||||
|
||||
*Disadvantage*: A *little* bit more complex to setup and update.
|
||||
|
||||
Initial setup:
|
||||
|
||||
Go to https://github.com/letscontrolit/ESPEasy, be sure to log into your Github account, and create a fork of the ESPEasy repository to your account (a more elaborate description can be found below)
|
||||
|
||||
Open a command prompt or terminal, and change the current directory to a folder where you have enough space to hold the code, libraries and tooling (ca. 2 GB)
|
||||
|
||||
.. highlight::sh
|
||||
|
||||
.. code-block::
|
||||
|
||||
cd /develop
|
||||
git clone https://github.com/[your_github_handle]/ESPEasy.git
|
||||
cd ESPEasy
|
||||
git remote add upstream https://github.com/letscontrolit/ESPEasy
|
||||
|
||||
This will create a folder /develop/ESPEasy, and tell git where to synchronize to, 'upstream'.
|
||||
|
||||
If you did the initial setup some time ago and want to update to latest source:
|
||||
|
||||
.. highlight::sh
|
||||
|
||||
.. code-block::
|
||||
|
||||
cd /develop/ESPEasy
|
||||
git pull upstream mega
|
||||
|
||||
Continue at **General steps**, below.
|
||||
|
||||
**Option 3**.
|
||||
|
||||
*Advantage*: ? You don't need to install the git tools.
|
||||
|
||||
*Disadvantage*: Source can not be easily updated with the latest code changes.
|
||||
|
||||
Initial setup:
|
||||
|
||||
Go to https://github.com/letscontrolit/ESPEasy and from the green :green:`Code` button, select the ``Download ZIP`` option.
|
||||
|
||||
Create a folder ``/develop/ESPEasy``
|
||||
|
||||
Expand the content of the downloaded .zip file into this folder, preserving the folder structure.
|
||||
|
||||
Update to latest source code:
|
||||
|
||||
Save your ``Custom.h`` and/or ``pre_custom*.py`` file(s), if you created or changed any of them for a Custom build.
|
||||
|
||||
Delete the content of the ``/develop/ESPEasy`` folder.
|
||||
|
||||
Re-do the Initial setup.
|
||||
|
||||
Copy back your ``Custom.h`` and/or ``pre_custom*.py`` file(s), if you saved them before.
|
||||
|
||||
Continue with the **General steps**.
|
||||
|
||||
**General steps**:
|
||||
|
||||
Then open this folder from VSCode. You can save this setup as a Workspace file, so you can switch between multiple Workspaces, or quickly return to the state of work since you last closed VSCode.
|
||||
|
||||
On the left side of the VSCode UI, there are a set of large buttons, and one of them is pioarduino (or PlatformIO if you installed that, though that's no longer recommended), that when clicked shows the available Project Tasks (environments) that can be expanded.
|
||||
|
||||
The easiest is to go for the environment ``custom_ESP8266_4M1M`` and unfold that one.
|
||||
Then select ``Build`` to see if it will start building.
|
||||
|
||||
If that's working, you can open the file ``pre_custom_esp8266.py`` and add or remove the plugins and controllers you need.
|
||||
That Python file is used in the ``env:custom_ESP8266_4M1M`` (or any ``custom`` build environment) to define what should be embedded and what not.
|
||||
If that's working, you can open the file ``pre_custom_esp82xx.py`` and add or remove the plugins and controllers you need.
|
||||
That Python file is used in the ``env:custom_ESP8266_4M1M`` (or any ``custom`` ESP8266 build environments) to define what should be included and what not.
|
||||
|
||||
For example to have only the controller ``C014``, you can remove ``CONTROLLER_SET_ALL``, and just add ``USES_C014``,
|
||||
The same for the plugins you need.
|
||||
|
||||
The file is built in the ``.pio/build/....`` directory right under the main repository directory (the one with the platformio.ini in it)
|
||||
|
||||
Instead of modifying ``pre_custom_esp8266.py`` (or ``pre_custom_esp32.py`` for that matter), one can also copy ``src/Custom-sample.h`` to ``src/Custom.h`` and make the desired changed in this file. This file is excluded from Github, so can be adjusted to your own requirements. When the Custom.h file is there (mind the uppercase C!), it will be used by the build scripts instead of the defaults set by ``pre_custom_esp8266.py`` (or ``pre_custom_esp32.py``).
|
||||
Instead of modifying ``pre_custom_esp82xx.py`` (or any of the ``pre_custom_esp32*.py`` files for that matter), one can also copy ``src/Custom-sample.h`` to ``src/Custom.h`` and make the desired changed in this file. This file is excluded from git, so can be adjusted to your own requirements. When the ``Custom.h`` file is available (mind the uppercase C!), it will be used by the ``custom`` build scripts instead of the defaults set by ``pre_custom_esp82xx.py`` (or ``pre_custom_esp32*.py``).
|
||||
|
||||
.. note:: Custom IR builds have their own ``pre_custom_esp8266_IR.py`` or ``pre_custom_esp32_IR.py`` file.
|
||||
In the freshly copied ``Custom.h`` you will find all available plugins and features available in ESPEasy, and also you can enable or disable some settings to be used on a clean (empty flash) install.
|
||||
|
||||
Enabling a plugin or feature can be done by removing the comment marker (``//``) at the start of the line.
|
||||
|
||||
.. note:: Custom IR builds have their own ``pre_custom_esp82xx_IR.py`` or ``pre_custom_esp32_IR.py`` file.
|
||||
|
||||
All builds will be made in a directory with the same name as the environment used.
|
||||
|
||||
@@ -213,7 +334,7 @@ Now that Linux is installed, it's strongly advised to get it up to date with the
|
||||
|
||||
NB: The ``sudo`` command will ask for your current account password once, (and maybe later again after some time has passed). When asked for confirmation, confirm the installation of any needed updates, or add the ``-y`` parameter to the ``upgrade`` command to continue without questions.
|
||||
|
||||
Additionally some tools need to be installed so PlatformIO can be properly installed later, and we can use the Uncrustify plugin in VS-Code to format the code nicely:
|
||||
Additionally some tools need to be installed so PIO can be properly installed later, and we can use the Uncrustify plugin in VS-Code to format the code nicely:
|
||||
|
||||
.. highlight::sh
|
||||
|
||||
@@ -307,7 +428,7 @@ Upload to ESP
|
||||
Linux
|
||||
-----
|
||||
|
||||
For Linux, you may need to install 99-platformio-udev.rules to make PlatformIO upload tools work in vscode.
|
||||
For Linux, you may need to install 99-platformio-udev.rules to make PIO upload tools work in vscode.
|
||||
|
||||
|
||||
.. highlight::sh
|
||||
@@ -317,12 +438,12 @@ Starter guide for (local) development on ESPEasy
|
||||
|
||||
For those with less development experience, or less experience in using Github, this chapter is intended as a **How To** guide to get started with development on ESPEasy.
|
||||
|
||||
It tries to help setting up Visual Studio Code (VSCode) with the PlatformIO development environment and additional VSCode plugins that aid in easier working on code and documentation.
|
||||
It tries to help setting up Visual Studio Code (VSCode) with the PIO development environment and additional VSCode plugins that aid in easier working on code and documentation.
|
||||
|
||||
The global steps described here are:
|
||||
|
||||
- Creating a private copy on Github
|
||||
- Getting VSCode and PlatformIO set up
|
||||
- Getting VSCode and PIO set up
|
||||
- Getting the source code from Github onto your system
|
||||
- Compiling the source code
|
||||
- Creating a branch to make your changes
|
||||
@@ -366,12 +487,12 @@ After this completes, you can view the fork in your Github dashboard at https://
|
||||
|
||||
(You have to replace [your_github_handle] with the name you selected during the Github sign-up procedure)
|
||||
|
||||
Install VSCode and PlatformIO
|
||||
Install VSCode and PIO
|
||||
------------------------------
|
||||
|
||||
Earlier on this page, a complete description has been given on how to install **PlatformIO with VSCode** with the required and advised optional extensions and the git command-line tools.
|
||||
Earlier on this page, a complete description has been given on how to install **PlatformIO/pioarduino with VSCode** with the required and advised optional extensions and the git command-line tools.
|
||||
|
||||
NB: PlatformIO is often shortened to PIO.
|
||||
NB: PlatformIO/pioarduino is shortened to PIO.
|
||||
|
||||
Clone your forked repository to your computer
|
||||
---------------------------------------------
|
||||
@@ -422,7 +543,7 @@ Depending on your usual workflow, the current VSCode environment can be saved as
|
||||
Compile an ESPEasy PIO environment
|
||||
----------------------------------
|
||||
|
||||
ESPEasy supports several different configurations of ESP units, ESP8266, ESP8285 and ESP32, and also some predefined hardware configurations and sets of plugins & controllers. This has been turned into several different PlatformIO environments, to make managing the different builds as easy as possible.
|
||||
ESPEasy supports several different configurations of ESP units, ESP8266, ESP8285 and ESP32, and also some predefined hardware configurations and sets of plugins & controllers. This has been turned into several different PIO environments, to make managing the different builds as easy as possible.
|
||||
|
||||
To compile such 'environment' (PIO terminology), select the PIO button (it looks like an alien) in VSCode:
|
||||
|
||||
@@ -492,10 +613,10 @@ Especially for new plugins, it is highly recommended to write documentation, as
|
||||
|
||||
|
||||
Using external libraries
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. note::
|
||||
Since November 2022, the PlatformIO configuration for ESPEasy was changed to *require* all libraries to be locally available, to a) prevent unexpected 'surprises' when an external library is updated, and b) greatly improve build output stability and quality.
|
||||
Since November 2022, the PIO configuration for ESPEasy was changed to *require* all libraries to be locally available, to a) prevent unexpected 'surprises' when an external library is updated, and b) greatly improve build output stability and quality.
|
||||
|
||||
While developing a plugin or some other feature, often you use an existing library to re-use that (assumably) proven and tested functionality. To include such library, there is a prerequisite, and some generic steps to take:
|
||||
|
||||
@@ -516,7 +637,7 @@ Writing documentation
|
||||
|
||||
Updating, or adding if it does not yet exist, the documentation is a useful activity that should be part of changing or adding to the ESPEasy code. Some of the optional VSCode extensions are specifically aimed at that task.
|
||||
|
||||
The documentation is created in the reStructuredText format, using mostly a ``.rst`` extension, and can be built locally by installing the sphinx tool. This can be installed manually by opening a PlatformIO Terminal window in VSCode (an already open PIO Terminal can also be used, when using WSL2 a PlatformIO Terminal is *required* to execute in the correct Python Virtual Environment (venv)) and issuing these commands:
|
||||
The documentation is created in the reStructuredText format, using mostly a ``.rst`` extension, and can be built locally by installing the sphinx tool. This can be installed manually by opening a PIO Terminal window in VSCode (an already open PIO Terminal can also be used, when using WSL2 a PIO Terminal is *required* to execute in the correct Python Virtual Environment (venv)) and issuing these commands:
|
||||
|
||||
.. code-block::
|
||||
|
||||
@@ -676,7 +797,7 @@ For those that want to test the code from a pull request, created by someone els
|
||||
|
||||
git pull upstream pull/<prnumber>/head
|
||||
|
||||
5. Build the desired PIO environment, or add the (new?) plugin to your Custom.h file to create your local Custom build. Like described above, you can also add a plugin to the ``pre_custom_esp8266.py`` or ``pre_custom_esp32.py`` Python scripts (when *not* having a Custom.h file, as that will be used for any Custom build first).
|
||||
5. Build the desired PIO environment, or add the (new?) plugin to your Custom.h file to create your local Custom build. Like described above, you can also add a plugin to the ``pre_custom_esp82xx.py`` or ``pre_custom_esp32*.py`` Python scripts (when *not* having a Custom.h file, as that will be used for any Custom build first).
|
||||
|
||||
6. To update your local code after the PR has been updated on github, repeat step **3.** and **4.** within the branch created in step **2.** active (``git checkout pulls/<prnumber>``).
|
||||
|
||||
|
||||
@@ -10,9 +10,14 @@ ESPEasy Project Directories
|
||||
|
||||
Below a list of the most important directories and files used in this project.
|
||||
|
||||
* ``.pio/`` Working dir for PlatformIO (Ignored by Git)
|
||||
* ``build_output/`` The output directory where all built files are collected.
|
||||
* ``dist/`` Files also includd in the nightly builds (e.g. blank flash files and ESPEasy flasher)
|
||||
* ``.github/`` Buildscripts used by the Github Actions build and release CI jobs.
|
||||
* ``.pio/`` Working dir for pioarduino (Ignored by Git)
|
||||
* ``.platformio/`` Working dir for pioarduino (Ignored by Git)
|
||||
* ``.platformio/penv/`` Directory to store the used Python Virtual Environment.
|
||||
* ``boards/`` Used board definitions.
|
||||
* ``boards/partitions/`` Used partition layout in ESP32 builds.
|
||||
* ``build_output/`` The output directory where all built files are collected. (Ignored by Git)
|
||||
* ``dist/`` Files also includd in the nightly builds (e.g. blank flash files and Espressif flash download tool)
|
||||
* ``docs/`` Documentation tree using Sphinx to build the documents.
|
||||
* ``hooks/`` Used for the continous integration process, used by Travis CI.
|
||||
* ``include/`` PlatformIO's suggested folder for .h files (not yet used)
|
||||
@@ -20,16 +25,14 @@ Below a list of the most important directories and files used in this project.
|
||||
* ``misc/`` Additional files needed for some use cases, like specialized a firmware for some boards or decoder files for the TTN project.
|
||||
* ``patches/`` Patches we apply during build for core libraries.
|
||||
* ``src/`` The source code of ESPeasy
|
||||
* ``src/ESPEasy/`` Parts of ESPeasy use C++ namespaces, and are placed in this directory, matching the namespace structure.
|
||||
* ``static/`` Static files we use in ESPEasy, like CSS/JS/ICO files.
|
||||
* ``test/`` Test scripts to be used in the continous integration process.
|
||||
* ``tools/`` Tools to help build ESPeasy.
|
||||
* ``tools/pio/pre_custom_esp32.py`` Python helper script for building custom ESP32 binary.
|
||||
* ``tools/pio/pre_custom_esp8266.py`` Python helper script for building custom ESP8266 binary.
|
||||
* ``venv/`` Directory to store the used Python Virtual Environment. (Ignored by Git)
|
||||
* ``platformio.ini`` Configuration file for PlatformIO to define various build setups.
|
||||
* ``uncrustify.cfg`` Configuration file for Uncrustify, to format source code using some uniform formatting rules.
|
||||
* ``tools/pio/pre_custom_esp*.py`` Python helper scripts for building custom ESP binaries.
|
||||
* ``platformio.ini`` Configuration file for pioarduino to define various build setups.
|
||||
* ``requirements.txt`` List of used Python libraries and their version (result of ``pip freeze`` with Virtual env active)
|
||||
* ``boards/partitions/esp32_partition_app1810k_spiffs316k.csv`` Used partition layout in ESP32 4M builds.
|
||||
* ``uncrustify.cfg`` Configuration file for Uncrustify, to format source code using some uniform formatting rules.
|
||||
|
||||
|
||||
ESPEasy src dir
|
||||
@@ -107,14 +110,17 @@ There is also a number of special builds:
|
||||
ESP Chip Type
|
||||
-------------
|
||||
|
||||
* ``ESP8266`` Most likely option.
|
||||
* ``ESP8266`` Deprecated for new projects, as support from Espressif has been stopped, even though new chips are still being produced.
|
||||
* ``ESP8285`` Supported in ``ESP8266`` builds. Used in some Sonoff modules. This chip has embedded flash, so no extra flash chip.
|
||||
* ``ESP32`` Allows for more memory and more GPIO pins.
|
||||
* ``ESP32-S2`` Newer version of ESP32. Has even more GPIO pins, but some specific features of ESP32 were removed.
|
||||
* ``ESP32-S3`` Newer version of ESP32 and ESP32-S2. Has even more GPIO pins, some specific features of ESP32 were removed, and some design choices of ESP32-S2 are reverted and implemented differently.
|
||||
* ``ESP32-C2`` Preliminary supported. Cheaper variant of ESP32-C3, and also an ESP8266 replacement. Available as pin-compatible module for ESP8266. Single core, and max 120 MHz clock speed.
|
||||
* ``ESP32-C2`` Cheaper variant of ESP32-C3, and also an ESP8266 replacement. Available as pin-compatible module for ESP8266. Single core, and max 120 MHz clock speed.
|
||||
* ``ESP32-C3`` Intended as a replacement for ESP8266, using ESP32 technology, though single-core and with limited clock speed (160 MHz, some models 120 MHz).
|
||||
* ``ESP32-C6`` Preliminary supported. Will allow connectivity with IEEE 802.15.4 (Thread/Zigbee) wireless protocol.
|
||||
* ``ESP32-C6`` Will allow connectivity with IEEE 802.15.4 (Thread/Zigbee) wireless protocol.
|
||||
* ``ESP32-C61`` Preliminary supported. Will allow connectivity with IEEE 802.15.4 (Thread/Zigbee) wireless protocol.
|
||||
* ``ESP32-C5`` Will allow connectivity with WiFi 2.4GHz and 5GHz support.
|
||||
* ``ESP32-P4`` High-end dual-core MCU, with many GPIO pins and support for camera, display, RMII Ethernet and many other protocols. No on-chip WiFi support. Often has an additional ESP32-C6 with ESP-HostedMCU to provide wireless support via an SDIO connection.
|
||||
|
||||
Memory Size and Partitioning
|
||||
----------------------------
|
||||
@@ -123,12 +129,12 @@ Memory Size and Partitioning
|
||||
* ``2M`` 2 MB flash modules (e.g. Shelly1/WROOM02)
|
||||
* ``4M`` 4 MB flash modules (e.g. NodeMCU/ESP32)
|
||||
* ``16M`` 16 MB flash modules (e.g. Wemos D1 mini pro) (has 14 MB LittleFS filesystem, as SPIFFS is unstable > 2 MB)
|
||||
* ``4M1M`` 4 MB flash modules with 1 MB filesystem (usually SPIFFS)
|
||||
* ``4M2M`` 4 MB flash modules with 2 MB filesystem (usually SPIFFS)
|
||||
* ``4M316k`` 4 MB flash modules using 1.8 MB sketch size, with 316 kB filesystem (usually SPIFFS) (for ESP32)
|
||||
* ``8M1M`` 8 MB flash modules using 3.5MB sketch size, with 1 MB filesystem (LittleFS) (ESP32 only a.t.m.)
|
||||
* ``16M1M`` 16 MB flash modules using 4MB sketch size, with 1 MB filesystem (usually SPIFFS) (ESP32 only a.t.m.)
|
||||
* ``16M8M`` 16 MB flash modules using 4MB sketch size, with 8 MB filesystem (LittleFS) (ESP32 only a.t.m.)
|
||||
* ``4M1M`` 4 MB flash modules with 1 MB filesystem (SPIFFS)
|
||||
* ``4M2M`` 4 MB flash modules with 2 MB filesystem (SPIFFS)
|
||||
* ``4M316k`` 4 MB flash modules using 1.8 MB sketch size, with 316 kB filesystem (LittleFS) (for ESP32)
|
||||
* ``8M1M`` 8 MB flash modules using 3.5MB sketch size, with 1 MB filesystem (LittleFS) (ESP32 only)
|
||||
* ``16M8M`` 16 MB flash modules using 4MB sketch size, with 8 MB filesystem (LittleFS) (ESP32 only)
|
||||
* ``32M20M`` 32 MB flash modules using 6MB sketch size, with 20 MB filesystem (LittleFS) (ESP32 only)
|
||||
|
||||
Optional build options
|
||||
----------------------
|
||||
@@ -143,7 +149,7 @@ Optional build options
|
||||
* ``OPI`` Flash via OPI protocol support (ESP32 only)
|
||||
* ``QIO`` Flash via QIO protocol support (ESP32 only)
|
||||
* ``CDC`` CDC Serial (built-in USB) support (ESP32 only)
|
||||
* ``ETH`` Ethernet interface enabled (ESP32 only)
|
||||
* ``ETH`` Ethernet interface enabled (ESP32 only, no longer used, as all ESP32, except for ESP32-C2, have support for Ethernet included)
|
||||
|
||||
|
||||
Please note that the performance of 14MB SPIFFS (16M flash ESP8266 modules) is really slow.
|
||||
@@ -183,17 +189,15 @@ This also means we still need to update the 2-step updater to support .bin.gz fi
|
||||
ESP32 builds
|
||||
------------
|
||||
|
||||
There are several builds for ESP32:
|
||||
There are several builds for ESP32, this is just a selection:
|
||||
|
||||
* ``normal_ESP32_4M316k`` Build using the "stable" set of plugins for ESP32
|
||||
* ``normal_ESP32_4M316k_ETH`` Build using the "stable" set of plugins for ESP32, with support for an on-board Ethernet controller
|
||||
* ``normal_ESP32_4M316k`` Build using the "stable" set of plugins for ESP32, with support for an on-board Ethernet controller
|
||||
* ``custom_ESP32_4M316k`` Build template using either the plugin set defined in ``Custom.h`` or ``tools/pio/pre_custom_esp32.py``
|
||||
* ``collection_A_ESP32_4M316k`` Build using the "Collection" set "A" of plugins for ESP32
|
||||
* ``collection_B_ESP32_4M316k`` Build using the "Collection" set "B" of plugins for ESP32
|
||||
* ``collection_C_ESP32_4M316k`` Build using the "Collection" set "C" of plugins for ESP32
|
||||
* ``collection_D_ESP32_4M316k`` Build using the "Collection" set "D" of plugins for ESP32
|
||||
* ``collection_A_ESP32-wrover-kit_4M316k`` A build for ESP32 including build flags for the official WRover test kit.
|
||||
* ``max_ESP32_16M8M_LittleFS`` Build using all available plugins and controllers for ESP32 with 16 MB flash (some lolin_d32_pro boards)
|
||||
* ``max_ESP32_16M8M`` Build using all available plugins and controllers for ESP32 with 16 MB flash (like lolin_d32_pro boards)
|
||||
|
||||
Since ESP32 does have its flash partitioned in several blocks, we have 2 bin files of each ESP32 build, f.e.:
|
||||
|
||||
|
||||
@@ -13,7 +13,9 @@ Type: |P000_type|
|
||||
|
||||
Name: |P000_name|
|
||||
|
||||
Status: |P000_status|
|
||||
Status ESP32: |P000_status|
|
||||
|
||||
Status ESP8266: |P000_status_lb|
|
||||
|
||||
GitHub: |P000_github|_
|
||||
|
||||
|
||||
@@ -402,6 +402,7 @@
|
||||
LoopTimerSetAndRun
|
||||
|
||||
LoopTimerSetAndRun_ms","
|
||||
:green:`Rules`","
|
||||
Set a Loop-Timer using ``LoopTimerSet`` or ``LoopTimerSet_ms`` and immediately run the first iteration.
|
||||
|
||||
If a ``<nr of loops>`` value > 0 is included in the command, that count is decremented by 1 for the first iteration, as expected.
|
||||
@@ -549,37 +550,49 @@
|
||||
:green:`Rules`","
|
||||
Like ``PostToHTTP`` but using a TLS connection, by default on port 443
|
||||
|
||||
NB: No certificate validation is done!
|
||||
NB: No certificate validation is done!"
|
||||
"
|
||||
ProvisionConfig","
|
||||
Provision,Config","
|
||||
:red:`Internal`","
|
||||
Fetch ``config.dat`` as configured in the Provisioning configuration (see Settings Archive)
|
||||
|
||||
``ProvisionConfig``"
|
||||
``Provision,Config``"
|
||||
"
|
||||
ProvisionSecurity","
|
||||
Provision,Security","
|
||||
:red:`Internal`","
|
||||
Fetch ``security.dat`` as configured in the Provisioning configuration (see Settings Archive)
|
||||
|
||||
``ProvisionSecurity``"
|
||||
``Provision,Security``"
|
||||
"
|
||||
ProvisionNotification","
|
||||
Provision,DevSecurity","
|
||||
:red:`Internal`","
|
||||
Fetch ``devsecurity.dat`` as configured in the Provisioning configuration (see Settings Archive)
|
||||
|
||||
``Provision,DevSecurity``"
|
||||
"
|
||||
Provision,Notification","
|
||||
:red:`Internal`","
|
||||
Fetch ``notification.dat`` as configured in the Provisioning configuration (see Settings Archive)
|
||||
|
||||
``ProvisionNotification``"
|
||||
``Provision,Notification``"
|
||||
"
|
||||
ProvisionProvision","
|
||||
Provision,Provision","
|
||||
:red:`Internal`","
|
||||
Fetch ``provisioning.dat`` as configured in the Provisioning configuration (see Settings Archive)
|
||||
|
||||
``ProvisionProvision``"
|
||||
``Provision,Provision``"
|
||||
"
|
||||
ProvisionRules","
|
||||
Provision,Rules","
|
||||
:red:`Internal`","
|
||||
Fetch ``rulesN.txt`` as configured in the Provisioning configuration (see Settings Archive)
|
||||
|
||||
``ProvisionRules,1`` to fetch ``rules1.txt`` "
|
||||
``Provision,Rules,1`` to fetch ``rules1.txt`` "
|
||||
"
|
||||
Provision,Firmware","
|
||||
:red:`Internal`","
|
||||
Fetch a new firmware binary, and flash it on the unit, as configured in the Provisioning configuration (see Settings Archive)
|
||||
|
||||
``Provision,Firmware,<url-to-firmware-file>`` to fetch and install the specified .bin file from the specified url."
|
||||
"
|
||||
Publish","
|
||||
:green:`Rules`","
|
||||
@@ -656,7 +669,7 @@
|
||||
:green:`Rules`","
|
||||
Like ``PutToHTTP`` but using a TLS connection, by default on port 443
|
||||
|
||||
NB: No certificate validation is done!
|
||||
NB: No certificate validation is done!"
|
||||
"
|
||||
Reboot","
|
||||
:red:`Internal`","
|
||||
@@ -736,7 +749,7 @@
|
||||
:green:`Rules`","
|
||||
Like ``SendToHTTP`` but using a TLS connection, by default on port 443
|
||||
|
||||
NB: No certificate validation is done!
|
||||
NB: No certificate validation is done!"
|
||||
"
|
||||
SendToUDP","
|
||||
:green:`Rules`","
|
||||
@@ -1023,9 +1036,9 @@
|
||||
"
|
||||
WifiAPMode","
|
||||
:red:`Internal`","
|
||||
Force the unit into AP mode.
|
||||
Force the unit into AP mode or turn AP mode off.
|
||||
|
||||
``WifiAPMode``"
|
||||
``WifiAPMode,<on|off|1|0>``"
|
||||
"
|
||||
WifiConnect","
|
||||
:red:`Internal`","
|
||||
|
||||