Compare commits
505 commits
migrate-ap
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9b79afc177 | ||
|
|
e60be99cbd | ||
|
|
19d7984a9e | ||
|
|
8c0e9803b3 | ||
|
|
4258c12206 | ||
|
|
7a275e5d02 | ||
|
|
d2d51db455 | ||
|
|
71b8dd42d2 | ||
|
|
6deba1dea6 | ||
|
|
5be2eb1b4a | ||
|
|
6de22b6d25 | ||
|
|
9fc7c60893 | ||
|
|
fc71187a3f | ||
|
|
dda19cd00a | ||
|
|
78367af420 | ||
|
|
0a43f57744 | ||
|
|
39a15fd584 | ||
|
|
40a7ecbce7 | ||
|
|
d3919890fb | ||
|
|
79f372af44 | ||
|
|
96fa8d2066 | ||
|
|
dc5ff4ae9f | ||
|
|
32f85f7b47 | ||
|
|
28dff4e04d | ||
|
|
f007fe83ef | ||
|
|
54ee1a632a | ||
|
|
e873237b5e | ||
|
|
e06ebab53a | ||
|
|
bc97ca02ad | ||
|
|
5e79a3725b | ||
|
|
68db0345da | ||
|
|
7f9bbb01ae | ||
|
|
a4c53f7727 | ||
|
|
81c8b2697f | ||
|
|
9b14c3932b | ||
|
|
bfb5ef2e80 | ||
|
|
255a958ec1 | ||
|
|
7fd61698c2 | ||
|
|
0106eefbad | ||
|
|
c28334635d | ||
|
|
1224fd01bc | ||
|
|
4003fdc574 | ||
|
|
e59d7913d4 | ||
|
|
65476e8278 | ||
|
|
114aa7aa7b | ||
|
|
5e76adca6a | ||
|
|
f4788c0207 | ||
|
|
98f045e3c7 | ||
|
|
315e4e8791 | ||
|
|
80a6cdc6e0 | ||
|
|
1cee8e8ca5 | ||
|
|
5088cb6c8b | ||
|
|
0b61e2b8a9 | ||
|
|
74e2f53aa7 | ||
|
|
0b6964b131 | ||
|
|
6304d73d88 | ||
|
|
895bd13011 | ||
|
|
029602abb0 | ||
|
|
ae5f4199ea | ||
|
|
fbacaa46aa | ||
|
|
591f801f8a | ||
|
|
2e975746b5 | ||
|
|
51dcd252bc | ||
|
|
94bcecc020 | ||
|
|
10c9ef1542 | ||
|
|
4dd956eee9 | ||
|
|
ca3d5c7d19 | ||
|
|
00ca0190f6 | ||
|
|
c7c007b6b9 | ||
|
|
d8595b215c | ||
|
|
81f43d589e | ||
|
|
6a98837c3c | ||
|
|
effe76b2e1 | ||
|
|
8b02c9b910 | ||
|
|
921527a9e2 | ||
|
|
52edecfa07 | ||
|
|
2667caf75f | ||
|
|
c653e06fcf | ||
|
|
e0ccdc28fd | ||
|
|
69cf749316 | ||
|
|
714974ff13 | ||
|
|
0c08eddde0 | ||
|
|
01a99d9313 | ||
|
|
5964f2ee5b | ||
|
|
61590ea1c0 | ||
|
|
0a757d6b8f | ||
|
|
b9746ad1c5 | ||
|
|
9297c020ad | ||
|
|
17bc2a2c47 | ||
|
|
592c75abcd | ||
|
|
df4d9163a6 | ||
|
|
3ed453636c | ||
|
|
09e4a79ab1 | ||
|
|
26c6c32077 | ||
|
|
7bf7357328 | ||
|
|
2fc427c908 | ||
|
|
451ac02e2e | ||
|
|
3ad6500f61 | ||
|
|
87cea3a14d | ||
|
|
9f70757b9c | ||
|
|
21144c0ce1 | ||
|
|
331c6c85ba | ||
|
|
b45d08b0cd | ||
|
|
6d5c8c4a7b | ||
|
|
e6d7f40b7a | ||
|
|
f62527af5b | ||
|
|
f3c85efb53 | ||
|
|
a6e23a95c4 | ||
|
|
5f8c3ac364 | ||
|
|
5513004820 | ||
|
|
c21ffb7512 | ||
|
|
002cdfd6da | ||
|
|
0489a41130 | ||
|
|
19bb4016ff | ||
|
|
2091034df0 | ||
|
|
398fb7d8b3 | ||
|
|
b637366898 | ||
|
|
51b9335df8 | ||
|
|
860822a172 | ||
|
|
29ef4c20d9 | ||
|
|
3308d7268f | ||
|
|
08fa3ac978 | ||
|
|
a4723b7ff2 | ||
|
|
f95ec8d84d | ||
|
|
c9e728c0a0 | ||
|
|
9a8033638c | ||
|
|
ba22d203d3 | ||
|
|
1c50e12d89 | ||
|
|
a1cdc0142f | ||
|
|
50b924c937 | ||
|
|
00deb173a8 | ||
|
|
fe32ce6170 | ||
|
|
999bd73547 | ||
|
|
3e2f7e4043 | ||
|
|
9695762e75 | ||
|
|
0d6a5538b0 | ||
|
|
ebd3938ae9 | ||
|
|
ec4e48bb86 | ||
|
|
a8be947ec5 | ||
|
|
47bcf53134 | ||
|
|
71f829bbdc | ||
|
|
bc99adf69b | ||
|
|
305cc45680 | ||
|
|
f95481c52b | ||
|
|
13aa6419e6 | ||
|
|
6ccd81433a | ||
|
|
13bfecf33a | ||
|
|
c3bc7a83d6 | ||
|
|
c5b8706980 | ||
|
|
7f0f1a2df3 | ||
|
|
1e313842b6 | ||
|
|
e0d9da4d47 | ||
|
|
0c55b0320d | ||
|
|
09c8eb0387 | ||
|
|
e632bc6373 | ||
|
|
651395638d | ||
|
|
7b83905e55 | ||
|
|
a89218cae1 | ||
|
|
02223db340 | ||
|
|
4b2859d6fb | ||
|
|
d46f29c84a | ||
|
|
d97123bf75 | ||
|
|
def13e627c | ||
|
|
b93d58203d | ||
|
|
3d3d44b5ab | ||
|
|
cdc6588e57 | ||
|
|
f7ec0e5d4a | ||
|
|
0bdbc05092 | ||
|
|
aa2d7d40c3 | ||
|
|
7f491da2f8 | ||
|
|
db31909eb0 | ||
|
|
12db602a62 | ||
|
|
d109ea6905 | ||
|
|
5fa3e2dc0c | ||
|
|
3a9137480d | ||
|
|
3be45da123 | ||
|
|
ebf5e40edd | ||
|
|
b047125981 | ||
|
|
44024f6d15 | ||
|
|
f7c094c759 | ||
|
|
275bedeec7 | ||
|
|
172646a55a | ||
|
|
cfdbfd6c79 | ||
|
|
4e9d959004 | ||
|
|
b35c2c2e56 | ||
|
|
b4bf4362a4 | ||
|
|
1c6813f529 | ||
|
|
b3915857c8 | ||
|
|
af62bccf0d | ||
|
|
f6af170e60 | ||
|
|
92d769e321 | ||
|
|
7ce619455d | ||
|
|
9a144fdb01 | ||
|
|
ab3284ecb1 | ||
|
|
13d4ca9368 | ||
|
|
b9a33a7397 | ||
|
|
159cf772b5 | ||
|
|
ed75830d68 | ||
|
|
6333e8e8d2 | ||
|
|
e5a3acfb39 | ||
|
|
cb65ab35bb | ||
|
|
e2225f53e4 | ||
|
|
4494e3ea13 | ||
|
|
b06aea09f4 | ||
|
|
02ace5cf52 | ||
|
|
d784e8a7ca | ||
|
|
dd97c84df2 | ||
|
|
5c61a83323 | ||
|
|
67b851fb7b | ||
|
|
6e9ce5cbc3 | ||
|
|
67abbc6cdf | ||
|
|
6bf81185f5 | ||
|
|
3eed1bcb16 | ||
|
|
050216d0eb | ||
|
|
eed66c7984 | ||
|
|
964760ad96 | ||
|
|
6e7daf9027 | ||
|
|
7c674fa52a | ||
|
|
d7008d9cb0 | ||
|
|
f544a7c5ed | ||
|
|
d8727d7075 | ||
|
|
d0463bf3b6 | ||
|
|
564191c4eb | ||
|
|
bb0d40644a | ||
|
|
486422c821 | ||
|
|
ab82347fc2 | ||
|
|
86896852e4 | ||
|
|
9e1d67722c | ||
|
|
c4c0fcdb26 | ||
|
|
fa0b3c6555 | ||
|
|
47afeb7b7f | ||
|
|
a86ead8457 | ||
|
|
8529924d16 | ||
|
|
ff4a4167d0 | ||
|
|
c1d96985b5 | ||
|
|
092c796ed1 | ||
|
|
0e19aa0675 | ||
|
|
c281ed8971 | ||
|
|
6202ecac62 | ||
|
|
c470fa3093 | ||
|
|
3ae7029a51 | ||
|
|
420d319cc6 | ||
|
|
a4d9e9d6eb | ||
|
|
f6c406ab86 | ||
|
|
00bb2bf62d | ||
|
|
645fd4d77c | ||
|
|
cc3a3c5095 | ||
|
|
5265e25462 | ||
|
|
d25aba8e72 | ||
|
|
bcf1d08d58 | ||
|
|
f92df0a2c9 | ||
|
|
3fa0d82d66 | ||
|
|
88f2a87b19 | ||
|
|
f1e608691b | ||
|
|
e50a1648a9 | ||
|
|
8e5bf4f798 | ||
|
|
e18d7cb4ae | ||
|
|
9c6ee194d4 | ||
|
|
5658c88d1f | ||
|
|
1f69fde777 | ||
|
|
2bbdc1edae | ||
|
|
31eed58731 | ||
|
|
322c72e14b | ||
|
|
6b3996ae57 | ||
|
|
e0bb91f422 | ||
|
|
6401b504b5 | ||
|
|
89873252d4 | ||
|
|
0218e061ef | ||
|
|
cd5e7e01fb | ||
|
|
a360a92054 | ||
|
|
80f1d87973 | ||
|
|
fde128ca3a | ||
|
|
3b20073662 | ||
|
|
25f28b4fdf | ||
|
|
afd0e86d19 | ||
|
|
0bf00bcafa | ||
|
|
16c6723d3c | ||
|
|
ba1f09fde9 | ||
|
|
272c1fc5f8 | ||
|
|
712e434a87 | ||
|
|
47f306c311 | ||
|
|
393fffa145 | ||
|
|
bcd3bd7288 | ||
|
|
d79457f92d | ||
|
|
547d46cf1b | ||
|
|
628b98a411 | ||
|
|
d4e88a39be | ||
|
|
093d51779f | ||
|
|
722a41d3fb | ||
|
|
66fe637443 | ||
|
|
39971499f2 | ||
|
|
c6f15b5f1a | ||
|
|
fce17a3c38 | ||
|
|
dfa628fea9 | ||
|
|
f64833ad74 | ||
|
|
53c95ace17 | ||
|
|
e92e740192 | ||
|
|
abe3c9756b | ||
|
|
e2ae5a0494 | ||
|
|
987fd605df | ||
|
|
e77cec2730 | ||
|
|
e694a935ee | ||
|
|
a7a10a3d6f | ||
|
|
7dea9042e3 | ||
|
|
8329d2531f | ||
|
|
b307521a77 | ||
|
|
3f827eb080 | ||
|
|
26e3b6490a | ||
|
|
e187db7d91 | ||
|
|
20d936d10d | ||
|
|
abf14e0252 | ||
|
|
929eb9a83a | ||
|
|
250cbf0106 | ||
|
|
df71485155 | ||
|
|
df2b6b06f4 | ||
|
|
36a4c89fce | ||
|
|
923428aa6c | ||
|
|
7ab9e78834 | ||
|
|
b91a38752a | ||
|
|
c2fac61aae | ||
|
|
861d67745d | ||
|
|
417009a564 | ||
|
|
fac20289eb | ||
|
|
9c9a98dd9b | ||
|
|
4f1d110436 | ||
|
|
c17db48512 | ||
|
|
19dd739b82 | ||
|
|
8c1d1c0d8e | ||
|
|
13e8800825 | ||
|
|
37b339e941 | ||
|
|
7ce32d8511 | ||
|
|
a0c8c75919 | ||
|
|
64ce6eb922 | ||
|
|
a744b2fe17 | ||
|
|
b59c15e8e8 | ||
|
|
d3cd109059 | ||
|
|
d9455c30e0 | ||
|
|
a5c4811a3b | ||
|
|
519b0ddf90 | ||
|
|
3504dc952e | ||
|
|
044029caa0 | ||
|
|
0f65b97ad5 | ||
|
|
fe2eae61ba | ||
|
|
70cf730454 | ||
|
|
8086b44129 | ||
|
|
0957f827bb | ||
|
|
9df4d89aa1 | ||
|
|
aba5d513f8 | ||
|
|
570c166691 | ||
|
|
0923b82715 | ||
|
|
4c0febc001 | ||
|
|
f46c204285 | ||
|
|
418e785c54 | ||
|
|
8b62a09914 | ||
|
|
bcd502d941 | ||
|
|
e78470e4c7 | ||
|
|
0de83b9925 | ||
|
|
9af386754d | ||
|
|
24cf18051b | ||
|
|
86936f2acf | ||
|
|
952ef3ce60 | ||
|
|
34cd2bd7d9 | ||
|
|
b594a3b872 | ||
|
|
f87a2083ac | ||
|
|
04dbf36da5 | ||
|
|
9ddb1206d3 | ||
|
|
2475f33072 | ||
|
|
04f1c3cce1 | ||
|
|
45461242f2 | ||
|
|
53ca34914f | ||
|
|
e92cd181ec | ||
|
|
1ceafabf7a | ||
|
|
0f91cb9cfb | ||
|
|
9b8479425c | ||
|
|
8ea03941be | ||
|
|
99ece2f7d3 | ||
|
|
16bc28af11 | ||
|
|
2409c85e29 | ||
|
|
0a3e82204a | ||
|
|
b5dd8ed474 | ||
|
|
3a66b011b0 | ||
|
|
b75aae3e2d | ||
|
|
ecc98848f2 | ||
|
|
b3b81e4944 | ||
|
|
5fee86b9f0 | ||
|
|
e898d1b51d | ||
|
|
a1a4ff2ed4 | ||
|
|
353b036d22 | ||
|
|
0e9993b125 | ||
|
|
18f08eb31a | ||
|
|
9c6187f41a | ||
|
|
0411093a49 | ||
|
|
7b10b132ec | ||
|
|
872a3f5d77 | ||
|
|
2947fb63bb | ||
|
|
265ce3d5b9 | ||
|
|
0d4c7ef1d5 | ||
|
|
016e076550 | ||
|
|
83721a01dc | ||
|
|
d9adf25ed1 | ||
|
|
270344d6cb | ||
|
|
6a2f67ae0b | ||
|
|
bd05dd2802 | ||
|
|
7fe6cfa534 | ||
|
|
63b812b4d9 | ||
|
|
45af854ed2 | ||
|
|
453dc6d62c | ||
|
|
0760b45e44 | ||
|
|
7b419274ab | ||
|
|
db79e617f2 | ||
|
|
f0ebfd0e9c | ||
|
|
3e48594c63 | ||
|
|
c3bc657488 | ||
|
|
b0e8902675 | ||
|
|
e3e09946ff | ||
|
|
d0dc679c5e | ||
|
|
5731ce2c56 | ||
|
|
d8bc70ad24 | ||
|
|
45ffc1e916 | ||
|
|
a999a73e9f | ||
|
|
3086e0d362 | ||
|
|
9d3442c72d | ||
|
|
92286c87ee | ||
|
|
0c3636cc69 | ||
|
|
9b2255ac1a | ||
|
|
800a87ebad | ||
|
|
f73d6fe941 | ||
|
|
9570cc583a | ||
|
|
1d10247540 | ||
|
|
9844ee3ee7 | ||
|
|
13cd5b0ffb | ||
|
|
04c39b0c34 | ||
|
|
e2045f0cd3 | ||
|
|
ebc002a673 | ||
|
|
c0af0ade93 | ||
|
|
e2815766d8 | ||
|
|
86e05d2545 | ||
|
|
ebc522ffe4 | ||
|
|
d8c6b94b50 | ||
|
|
66ab83ffa5 | ||
|
|
13b1a3de3e | ||
|
|
dc73b7ddc8 | ||
|
|
3530c2eae9 | ||
|
|
8c66505a98 | ||
|
|
cf3b61f81e | ||
|
|
30c871ef73 | ||
|
|
e0ebc7bb5e | ||
|
|
708b9de1f4 | ||
|
|
a12f51db9a | ||
|
|
d965898c7e | ||
|
|
2ef6d725e2 | ||
|
|
901e2a4879 | ||
|
|
d01e5d748d | ||
|
|
96af0e0a20 | ||
|
|
7b51b5a41e | ||
|
|
9dfccb6a47 | ||
|
|
198a0e5226 | ||
|
|
574ad66ffd | ||
|
|
6e49411893 | ||
|
|
06427ff916 | ||
|
|
784a166af4 | ||
|
|
2a0564b970 | ||
|
|
d1898c962d | ||
|
|
8ee25a5fea | ||
|
|
4eb816e2cc | ||
|
|
5d0241fd91 | ||
|
|
e1206880d9 | ||
|
|
0210209a94 | ||
|
|
2da710586f | ||
|
|
d286ff5899 | ||
|
|
47da59470d | ||
|
|
3ab29705d0 | ||
|
|
9e9a19b359 | ||
|
|
bcb158093a | ||
|
|
41f2813956 | ||
|
|
8c2978d378 | ||
|
|
1ab027e7b8 | ||
|
|
8f16b4fb6d | ||
|
|
a3d74c9c0b | ||
|
|
9ecd9cae58 | ||
|
|
8e8ac1a85f | ||
|
|
a429d9f429 | ||
|
|
a751f1aade | ||
|
|
420793d1d4 | ||
|
|
76f3f6aa63 | ||
|
|
ccb12e1e02 | ||
|
|
bde9d2f5fd | ||
|
|
1236bd025b | ||
|
|
b59f126dd0 | ||
|
|
4e698782ea | ||
|
|
a5e68f0f8b | ||
|
|
59900023f6 | ||
|
|
5c4dda0fe4 | ||
|
|
4e9cd30c00 | ||
|
|
b52f6ff976 | ||
|
|
5f6b814aed | ||
|
|
176ff81433 | ||
|
|
d2e0d0929f | ||
|
|
ea3cc6205b | ||
|
|
c7c441eda9 | ||
|
|
64d73b27ad | ||
|
|
baa61c340c | ||
|
|
9303d7b22a | ||
|
|
b374aca37d | ||
|
|
97999e5eaa |
398 changed files with 20243 additions and 128803 deletions
339
.github/workflows/build-clang-doxy.yml
vendored
339
.github/workflows/build-clang-doxy.yml
vendored
|
|
@ -5,6 +5,11 @@ name: WipperSnapper Build CI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
board:
|
||||||
|
description: 'Build ONLY this board (must match a matrix entry exactly, or leave empty for all)'
|
||||||
|
required: false
|
||||||
|
default: ''
|
||||||
pull_request:
|
pull_request:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
secrets:
|
secrets:
|
||||||
|
|
@ -18,19 +23,52 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
arduino-platform: ["funhouse_noota"]
|
arduino-platform:
|
||||||
include:
|
[
|
||||||
- offset: "0x1000"
|
"feather_esp32s2",
|
||||||
|
"feather_esp32s2_reverse_tft",
|
||||||
|
"feather_esp32s2_tft",
|
||||||
|
"funhouse_noota",
|
||||||
|
"magtag",
|
||||||
|
"metroesp32s2",
|
||||||
|
"qtpy_esp32s2",
|
||||||
|
"esp32s3_devkitc_1_n8",
|
||||||
|
"feather_esp32s3_4mbflash_2mbpsram",
|
||||||
|
"feather_esp32s3_reverse_tft",
|
||||||
|
"feather_esp32s3_tft",
|
||||||
|
"qtpy_esp32s3_n4r2",
|
||||||
|
"xiao_esp32s3",
|
||||||
|
]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: "skip if unwanted"
|
||||||
|
continue-on-error: true
|
||||||
|
if: |
|
||||||
|
github.event_name == 'workflow_dispatch' &&
|
||||||
|
github.event.inputs.board != '' &&
|
||||||
|
matrix.arduino-platform != github.event.inputs.board
|
||||||
|
run: |
|
||||||
|
echo "don't build this one!"; exit 1
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: "3.x"
|
python-version: "3.x"
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Get WipperSnapper version
|
- name: Get WipperSnapper version
|
||||||
run: |
|
run: |
|
||||||
git fetch --prune --unshallow --tags
|
git remote add adafruit https://github.com/adafruit/Adafruit_Wippersnapper_Arduino.git || true
|
||||||
git describe --dirty --tags
|
git fetch --prune --unshallow --all --tags
|
||||||
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
|
WS_VERSION="unknown"
|
||||||
|
if git describe --dirty --tags >/dev/null 2>&1; then
|
||||||
|
WS_VERSION=$(git describe --dirty --tags)
|
||||||
|
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
|
||||||
|
else
|
||||||
|
# Fallback for forks: 1.0.0-{owner}-{short-sha}
|
||||||
|
REPO_OWNER=$(echo $GITHUB_REPOSITORY | cut -d'/' -f1)
|
||||||
|
SHORT_SHA=$(git rev-parse --short HEAD)
|
||||||
|
WS_VERSION="1.0.0-${REPO_OWNER}-${SHORT_SHA}"
|
||||||
|
echo >>$GITHUB_ENV WS_VERSION="1.0.0-${REPO_OWNER}-${SHORT_SHA}"
|
||||||
|
fi
|
||||||
|
echo "WS_VERSION: $WS_VERSION"
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: adafruit/ci-arduino
|
repository: adafruit/ci-arduino
|
||||||
|
|
@ -45,7 +83,8 @@ jobs:
|
||||||
run: bash ci/actions_install.sh
|
run: bash ci/actions_install.sh
|
||||||
- name: Install extra Arduino libraries
|
- name: Install extra Arduino libraries
|
||||||
run: |
|
run: |
|
||||||
git clone --quiet https://github.com/pstolarz/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
|
git clone --quiet --branch 2.2.54 https://github.com/adafruit/SdFat.git /home/runner/Arduino/libraries/SdFat
|
||||||
|
git clone --quiet --branch v4.0.3 https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
|
||||||
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
|
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
|
||||||
git clone --quiet https://github.com/adafruit/Adafruit_HX8357_Library.git /home/runner/Arduino/libraries/Adafruit_HX8357_Library
|
git clone --quiet https://github.com/adafruit/Adafruit_HX8357_Library.git /home/runner/Arduino/libraries/Adafruit_HX8357_Library
|
||||||
git clone --quiet https://github.com/adafruit/Adafruit_ILI9341.git /home/runner/Arduino/libraries/Adafruit_ILI9341
|
git clone --quiet https://github.com/adafruit/Adafruit_ILI9341.git /home/runner/Arduino/libraries/Adafruit_ILI9341
|
||||||
|
|
@ -104,6 +143,7 @@ jobs:
|
||||||
mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.elf wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.elf
|
mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.elf wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.elf
|
||||||
mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.map wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.map
|
mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.map wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.map
|
||||||
mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.bootloader.bin wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.bootloader.bin
|
mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.bootloader.bin wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.bootloader.bin
|
||||||
|
mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.merged.bin wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.merged_auto.bin
|
||||||
mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.partitions.bin wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.partitions.bin
|
mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.partitions.bin wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.partitions.bin
|
||||||
- name: Get Board Flash Parameters
|
- name: Get Board Flash Parameters
|
||||||
id: get_board_json
|
id: get_board_json
|
||||||
|
|
@ -119,6 +159,58 @@ jobs:
|
||||||
echo $content
|
echo $content
|
||||||
echo EOF
|
echo EOF
|
||||||
} >> "$GITHUB_OUTPUT"
|
} >> "$GITHUB_OUTPUT"
|
||||||
|
- name: fetch tinyuf2 combined.bin
|
||||||
|
run: |
|
||||||
|
BOARD_NAME="${{fromJson(steps.get_board_json.outputs.boardJson).bootloaderBoardName}}"
|
||||||
|
set +e
|
||||||
|
for attempt in 1 2 3; do
|
||||||
|
echo "Attempt $attempt: Fetching tinyuf2 release info for board $BOARD_NAME"
|
||||||
|
API_RESPONSE=$(curl --silent --fail https://api.github.com/repos/adafruit/tinyuf2/releases/latest)
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Attempt $attempt: curl failed to fetch release info."
|
||||||
|
if [ "$attempt" -eq 3 ]; then exit 1; else sleep $((60 + RANDOM % 40)); continue; fi
|
||||||
|
fi
|
||||||
|
DOWNLOAD_URL=$(echo "$API_RESPONSE" | jq -r '.assets[] | select(.browser_download_url | contains("tinyuf2-'$BOARD_NAME'-") and endswith(".zip")) | .browser_download_url // empty'); JQ_EXIT=$?
|
||||||
|
if [ $JQ_EXIT -ne 0 ] || [ -z "$DOWNLOAD_URL" ]; then
|
||||||
|
echo "Attempt $attempt: jq failed or no matching zip found."
|
||||||
|
if [ "$attempt" -eq 3 ]; then exit 1; else sleep $((60 + RANDOM % 40)); continue; fi
|
||||||
|
fi
|
||||||
|
echo "Attempt $attempt: Downloading $DOWNLOAD_URL"
|
||||||
|
wget "$DOWNLOAD_URL" -O tinyuf2.zip
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
unzip -o tinyuf2.zip -d .
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Attempt $attempt: unzip failed"
|
||||||
|
if [ "$attempt" -eq 3 ]; then exit 1; else sleep $((60 + RANDOM % 40)); continue; fi
|
||||||
|
fi
|
||||||
|
break
|
||||||
|
else
|
||||||
|
echo "Attempt $attempt: wget failed to download $DOWNLOAD_URL"
|
||||||
|
if [ "$attempt" -eq 3 ]; then exit 1; else sleep $((60 + RANDOM % 40)); fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
set -e
|
||||||
|
- name: move partition and bootloader files for tinyuf2 (to match flash_args)
|
||||||
|
run: |
|
||||||
|
# Copy files where they're expected to make flash_args happy
|
||||||
|
mkdir bootloader
|
||||||
|
cp bootloader.bin bootloader/bootloader.bin
|
||||||
|
mkdir partition_table
|
||||||
|
cp partition-table.bin partition_table/partition-table.bin
|
||||||
|
|
||||||
|
- name: Create new_flash_args file from flash_args with added app bin + output file
|
||||||
|
run: |
|
||||||
|
# Create new_flash_args with esptool parameters first and output file
|
||||||
|
echo "--flash-mode ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashMode}}" > new_flash_args
|
||||||
|
echo "--flash-freq ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashFreq}}" >> new_flash_args
|
||||||
|
echo "--flash-size ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashSize}}" >> new_flash_args
|
||||||
|
echo "-o wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.combined.bin" >> new_flash_args
|
||||||
|
|
||||||
|
# Append flash_args content to new_flash_args, skipping the first line
|
||||||
|
tail -n +2 flash_args >> new_flash_args
|
||||||
|
|
||||||
|
# Append main app to flash_args file
|
||||||
|
echo "0x10000 wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.bin" >> new_flash_args
|
||||||
- name: Check boot_app0 file existence (esp32sx built from core, not-source)
|
- name: Check boot_app0 file existence (esp32sx built from core, not-source)
|
||||||
id: check_files
|
id: check_files
|
||||||
uses: andstor/file-existence-action@v3
|
uses: andstor/file-existence-action@v3
|
||||||
|
|
@ -134,23 +226,17 @@ jobs:
|
||||||
ls /home/runner/Arduino/hardware/espressif/esp32/tools/partitions
|
ls /home/runner/Arduino/hardware/espressif/esp32/tools/partitions
|
||||||
- name: boot_app0 file from arduino-cli core
|
- name: boot_app0 file from arduino-cli core
|
||||||
if: steps.check_files.outputs.files_exists == 'true'
|
if: steps.check_files.outputs.files_exists == 'true'
|
||||||
run: mv /home/runner/.arduino15/packages/esp32/hardware/esp32/*/tools/partitions/boot_app0.bin wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.boot_app0.bin
|
run: cp /home/runner/.arduino15/packages/esp32/hardware/esp32/*/tools/partitions/boot_app0.bin wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.boot_app0.bin
|
||||||
- name: boot_app0 file from esp32 source bsp
|
- name: boot_app0 file from esp32 source bsp
|
||||||
if: steps.check_files.outputs.files_exists == 'false'
|
if: steps.check_files.outputs.files_exists == 'false'
|
||||||
run: mv /home/runner/Arduino/hardware/espressif/esp32/tools/partitions/boot_app0.bin wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.boot_app0.bin
|
run: cp /home/runner/Arduino/hardware/espressif/esp32/tools/partitions/boot_app0.bin wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.boot_app0.bin
|
||||||
- name: Create combined binary using Esptool merge_bin
|
- name: Copy boot_app0 file to ota_data_initial.bin (overwrite tinyuf2 boot preference)
|
||||||
|
run: cp wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.boot_app0.bin ota_data_initial.bin
|
||||||
|
- name: Create combined binary using Esptool merge-bin
|
||||||
run: |
|
run: |
|
||||||
echo ${{ steps.get_board_json.outputs.boardJson }}
|
echo ${{ steps.get_board_json.outputs.boardJson }}
|
||||||
echo ${{ fromJson(steps.get_board_json.outputs.boardJson) }}
|
echo ${{ fromJson(steps.get_board_json.outputs.boardJson) }}
|
||||||
python3 -m esptool --chip ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.chip}} merge_bin \
|
python3 -m esptool --chip ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.chip}} merge-bin @new_flash_args
|
||||||
--flash_mode ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashMode}} \
|
|
||||||
--flash_freq ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashFreq}} \
|
|
||||||
--flash_size ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashSize}} \
|
|
||||||
-o wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.combined.bin \
|
|
||||||
${{ matrix.offset }} wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.bootloader.bin \
|
|
||||||
0x8000 wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.partitions.bin \
|
|
||||||
0xe000 wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.boot_app0.bin \
|
|
||||||
0x10000 wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.bin
|
|
||||||
- name: Zip build artifacts
|
- name: Zip build artifacts
|
||||||
run: |
|
run: |
|
||||||
zip -r wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.zip wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.*
|
zip -r wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.zip wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.*
|
||||||
|
|
@ -178,30 +264,36 @@ jobs:
|
||||||
matrix:
|
matrix:
|
||||||
arduino-platform:
|
arduino-platform:
|
||||||
[
|
[
|
||||||
"magtag",
|
|
||||||
"metroesp32s2",
|
|
||||||
"metro_esp32s3",
|
"metro_esp32s3",
|
||||||
"feather_esp32s2",
|
|
||||||
"feather_esp32s2_tft",
|
|
||||||
"feather_esp32s2_reverse_tft",
|
|
||||||
"feather_esp32s3",
|
"feather_esp32s3",
|
||||||
"feather_esp32s3_4mbflash_2mbpsram",
|
|
||||||
"feather_esp32s3_tft",
|
|
||||||
"qtpy_esp32s3",
|
"qtpy_esp32s3",
|
||||||
"qtpy_esp32s2",
|
|
||||||
"feather_esp32s3_reverse_tft",
|
|
||||||
"qtpy_esp32s3_n4r2",
|
|
||||||
]
|
]
|
||||||
steps:
|
steps:
|
||||||
|
- name: "skip if unwanted"
|
||||||
|
continue-on-error: true
|
||||||
|
if: |
|
||||||
|
github.event_name == 'workflow_dispatch' &&
|
||||||
|
github.event.inputs.board != '' &&
|
||||||
|
matrix.arduino-platform != github.event.inputs.board
|
||||||
|
run: |
|
||||||
|
echo "don't build this one!"; exit 1
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: "3.x"
|
python-version: "3.x"
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Get WipperSnapper version
|
- name: Get WipperSnapper version
|
||||||
run: |
|
run: |
|
||||||
git fetch --prune --unshallow --tags
|
git remote add adafruit https://github.com/adafruit/Adafruit_Wippersnapper_Arduino.git || true
|
||||||
git describe --dirty --tags
|
git fetch --prune --unshallow --all --tags
|
||||||
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
|
if git describe --dirty --tags >/dev/null 2>&1; then
|
||||||
|
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
|
||||||
|
else
|
||||||
|
# Fallback for forks: 1.0.0-{owner}-{short-sha}
|
||||||
|
REPO_OWNER=$(echo $GITHUB_REPOSITORY | cut -d'/' -f1)
|
||||||
|
SHORT_SHA=$(git rev-parse --short HEAD)
|
||||||
|
echo >>$GITHUB_ENV WS_VERSION="1.0.0-${REPO_OWNER}-${SHORT_SHA}"
|
||||||
|
fi
|
||||||
|
echo "WS_VERSION: $WS_VERSION"
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: adafruit/ci-arduino
|
repository: adafruit/ci-arduino
|
||||||
|
|
@ -211,7 +303,7 @@ jobs:
|
||||||
run: bash ci/actions_install.sh
|
run: bash ci/actions_install.sh
|
||||||
- name: Install extra Arduino libraries
|
- name: Install extra Arduino libraries
|
||||||
run: |
|
run: |
|
||||||
git clone --quiet https://github.com/pstolarz/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
|
git clone --quiet --branch v4.0.3 https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
|
||||||
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
|
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
|
||||||
git clone --quiet https://github.com/adafruit/Adafruit_HX8357_Library.git /home/runner/Arduino/libraries/Adafruit_HX8357_Library
|
git clone --quiet https://github.com/adafruit/Adafruit_HX8357_Library.git /home/runner/Arduino/libraries/Adafruit_HX8357_Library
|
||||||
git clone --quiet https://github.com/adafruit/Adafruit_ILI9341.git /home/runner/Arduino/libraries/Adafruit_ILI9341
|
git clone --quiet https://github.com/adafruit/Adafruit_ILI9341.git /home/runner/Arduino/libraries/Adafruit_ILI9341
|
||||||
|
|
@ -284,27 +376,48 @@ jobs:
|
||||||
[
|
[
|
||||||
"wippersnapper_feather_esp32",
|
"wippersnapper_feather_esp32",
|
||||||
"qtpy_esp32",
|
"qtpy_esp32",
|
||||||
|
"sparklemotionmini_esp32",
|
||||||
|
"sparklemotionstick_esp32",
|
||||||
"feather_esp32_v2",
|
"feather_esp32_v2",
|
||||||
"itsybitsy_esp32",
|
"itsybitsy_esp32",
|
||||||
|
"dfrobot_beetle_esp32c3",
|
||||||
"wippersnapper_qtpy_esp32c3",
|
"wippersnapper_qtpy_esp32c3",
|
||||||
"wippersnapper_feather_esp32c6"
|
"wippersnapper_feather_esp32c6"
|
||||||
]
|
]
|
||||||
include:
|
include:
|
||||||
- offset: "0x1000"
|
- offset: "0x1000"
|
||||||
|
- offset: "0x0"
|
||||||
|
arduino-platform: "dfrobot_beetle_esp32c3"
|
||||||
- offset: "0x0"
|
- offset: "0x0"
|
||||||
arduino-platform: "wippersnapper_qtpy_esp32c3"
|
arduino-platform: "wippersnapper_qtpy_esp32c3"
|
||||||
- offset: "0x0"
|
- offset: "0x0"
|
||||||
arduino-platform: "wippersnapper_feather_esp32c6"
|
arduino-platform: "wippersnapper_feather_esp32c6"
|
||||||
steps:
|
steps:
|
||||||
|
- name: "skip if unwanted"
|
||||||
|
continue-on-error: true
|
||||||
|
if: |
|
||||||
|
github.event_name == 'workflow_dispatch' &&
|
||||||
|
github.event.inputs.board != '' &&
|
||||||
|
matrix.arduino-platform != github.event.inputs.board
|
||||||
|
run: |
|
||||||
|
echo "don't build this one!"; exit 1
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: "3.x"
|
python-version: "3.x"
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Get WipperSnapper version
|
- name: Get WipperSnapper version
|
||||||
run: |
|
run: |
|
||||||
git fetch --prune --unshallow --tags
|
git remote add adafruit https://github.com/adafruit/Adafruit_Wippersnapper_Arduino.git || true
|
||||||
git describe --dirty --tags
|
git fetch --prune --unshallow --all --tags
|
||||||
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
|
if git describe --dirty --tags >/dev/null 2>&1; then
|
||||||
|
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
|
||||||
|
else
|
||||||
|
# Fallback for forks: 1.0.0-{owner}-{short-sha}
|
||||||
|
REPO_OWNER=$(echo $GITHUB_REPOSITORY | cut -d'/' -f1)
|
||||||
|
SHORT_SHA=$(git rev-parse --short HEAD)
|
||||||
|
echo >>$GITHUB_ENV WS_VERSION="1.0.0-${REPO_OWNER}-${SHORT_SHA}"
|
||||||
|
fi
|
||||||
|
echo "WS_VERSION: $WS_VERSION"
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: adafruit/ci-arduino
|
repository: adafruit/ci-arduino
|
||||||
|
|
@ -319,7 +432,7 @@ jobs:
|
||||||
run: bash ci/actions_install.sh
|
run: bash ci/actions_install.sh
|
||||||
- name: Install extra Arduino libraries
|
- name: Install extra Arduino libraries
|
||||||
run: |
|
run: |
|
||||||
git clone --quiet https://github.com/pstolarz/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
|
git clone --quiet --branch v4.0.3 https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
|
||||||
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
|
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
|
||||||
- name: Download stable Nanopb
|
- name: Download stable Nanopb
|
||||||
id: download-nanopb
|
id: download-nanopb
|
||||||
|
|
@ -352,7 +465,7 @@ jobs:
|
||||||
mv nanopb/pb.h src/nanopb/nanopb.pb.h
|
mv nanopb/pb.h src/nanopb/nanopb.pb.h
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: |
|
run: |
|
||||||
pip install esptool==4.6
|
pip install esptool
|
||||||
- name: build ESP32 platforms
|
- name: build ESP32 platforms
|
||||||
run: python3 ci/build_platform.py ${{ matrix.arduino-platform }} --build_timeout 48000
|
run: python3 ci/build_platform.py ${{ matrix.arduino-platform }} --build_timeout 48000
|
||||||
- name: Check artifacts
|
- name: Check artifacts
|
||||||
|
|
@ -390,14 +503,14 @@ jobs:
|
||||||
echo $content
|
echo $content
|
||||||
echo EOF
|
echo EOF
|
||||||
} >> "$GITHUB_OUTPUT"
|
} >> "$GITHUB_OUTPUT"
|
||||||
- name: Create combined binary using Esptool merge_bin
|
- name: Create combined binary using Esptool merge-bin
|
||||||
run: |
|
run: |
|
||||||
echo ${{ steps.get_board_json.outputs.boardJson }}
|
echo ${{ steps.get_board_json.outputs.boardJson }}
|
||||||
echo ${{ fromJson(steps.get_board_json.outputs.boardJson) }}
|
echo ${{ fromJson(steps.get_board_json.outputs.boardJson) }}
|
||||||
python3 -m esptool --chip ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.chip}} merge_bin \
|
python3 -m esptool --chip ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.chip}} merge-bin \
|
||||||
--flash_mode ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashMode}} \
|
--flash-mode ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashMode}} \
|
||||||
--flash_freq ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashFreq}} \
|
--flash-freq ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashFreq}} \
|
||||||
--flash_size ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashSize}} \
|
--flash-size ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashSize}} \
|
||||||
-o wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.combined.bin \
|
-o wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.combined.bin \
|
||||||
${{ matrix.offset }} wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bootloader.bin \
|
${{ matrix.offset }} wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bootloader.bin \
|
||||||
0x8000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.partitions.bin \
|
0x8000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.partitions.bin \
|
||||||
|
|
@ -426,15 +539,31 @@ jobs:
|
||||||
"metro_m4_airliftlite_tinyusb",
|
"metro_m4_airliftlite_tinyusb",
|
||||||
]
|
]
|
||||||
steps:
|
steps:
|
||||||
|
- name: "skip if unwanted"
|
||||||
|
continue-on-error: true
|
||||||
|
if: |
|
||||||
|
github.event_name == 'workflow_dispatch' &&
|
||||||
|
github.event.inputs.board != '' &&
|
||||||
|
matrix.arduino-platform != github.event.inputs.board
|
||||||
|
run: |
|
||||||
|
echo "don't build this one!"; exit 1
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: "3.x"
|
python-version: "3.x"
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Get WipperSnapper version
|
- name: Get WipperSnapper version
|
||||||
run: |
|
run: |
|
||||||
git fetch --prune --unshallow --tags
|
git remote add adafruit https://github.com/adafruit/Adafruit_Wippersnapper_Arduino.git || true
|
||||||
git describe --dirty --tags
|
git fetch --prune --unshallow --all --tags
|
||||||
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
|
if git describe --dirty --tags >/dev/null 2>&1; then
|
||||||
|
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
|
||||||
|
else
|
||||||
|
# Fallback for forks: 1.0.0-{owner}-{short-sha}
|
||||||
|
REPO_OWNER=$(echo $GITHUB_REPOSITORY | cut -d'/' -f1)
|
||||||
|
SHORT_SHA=$(git rev-parse --short HEAD)
|
||||||
|
echo >>$GITHUB_ENV WS_VERSION="1.0.0-${REPO_OWNER}-${SHORT_SHA}"
|
||||||
|
fi
|
||||||
|
echo "WS_VERSION: $WS_VERSION"
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: adafruit/ci-arduino
|
repository: adafruit/ci-arduino
|
||||||
|
|
@ -446,8 +575,8 @@ jobs:
|
||||||
- name: Install extra Arduino libraries
|
- name: Install extra Arduino libraries
|
||||||
run: |
|
run: |
|
||||||
git clone --quiet https://github.com/adafruit/WiFiNINA.git /home/runner/Arduino/libraries/WiFiNINA
|
git clone --quiet https://github.com/adafruit/WiFiNINA.git /home/runner/Arduino/libraries/WiFiNINA
|
||||||
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
|
git clone --quiet --branch v4.0.3 https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
|
||||||
git clone --quiet https://github.com/pstolarz/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
|
git clone --quiet https://github.com/PaulStoffregen/OneWire.git /home/runner/Arduino/libraries/OneWire
|
||||||
git clone --quiet https://github.com/adafruit/Adafruit_TinyUSB_Arduino /home/runner/Arduino/libraries/Adafruit_TinyUSB_Arduino
|
git clone --quiet https://github.com/adafruit/Adafruit_TinyUSB_Arduino /home/runner/Arduino/libraries/Adafruit_TinyUSB_Arduino
|
||||||
- name: Download stable Nanopb
|
- name: Download stable Nanopb
|
||||||
id: download-nanopb
|
id: download-nanopb
|
||||||
|
|
@ -498,17 +627,33 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
arduino-platform: ["picow_rp2040_tinyusb", "picow_rp2350_tinyusb"]
|
arduino-platform: ["picow_rp2040_tinyusb", "picow_rp2350_tinyusb", "fruit_jam_tinyusb"]
|
||||||
steps:
|
steps:
|
||||||
|
- name: "skip if unwanted"
|
||||||
|
continue-on-error: true
|
||||||
|
if: |
|
||||||
|
github.event_name == 'workflow_dispatch' &&
|
||||||
|
github.event.inputs.board != '' &&
|
||||||
|
matrix.arduino-platform != github.event.inputs.board
|
||||||
|
run: |
|
||||||
|
echo "don't build this one!"; exit 1
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: "3.x"
|
python-version: "3.x"
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Get WipperSnapper version
|
- name: Get WipperSnapper version
|
||||||
run: |
|
run: |
|
||||||
git fetch --prune --unshallow --tags
|
git remote add adafruit https://github.com/adafruit/Adafruit_Wippersnapper_Arduino.git || true
|
||||||
git describe --dirty --tags
|
git fetch --prune --unshallow --all --tags
|
||||||
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
|
if git describe --dirty --tags >/dev/null 2>&1; then
|
||||||
|
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
|
||||||
|
else
|
||||||
|
# Fallback for forks: 1.0.0-{owner}-{short-sha}
|
||||||
|
REPO_OWNER=$(echo $GITHUB_REPOSITORY | cut -d'/' -f1)
|
||||||
|
SHORT_SHA=$(git rev-parse --short HEAD)
|
||||||
|
echo >>$GITHUB_ENV WS_VERSION="1.0.0-${REPO_OWNER}-${SHORT_SHA}"
|
||||||
|
fi
|
||||||
|
echo "WS_VERSION: $WS_VERSION"
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: adafruit/ci-arduino
|
repository: adafruit/ci-arduino
|
||||||
|
|
@ -521,7 +666,6 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
|
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
|
||||||
git clone --quiet https://github.com/pstolarz/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
|
git clone --quiet https://github.com/pstolarz/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
|
||||||
git clone --quiet https://github.com/brentru/Adafruit_SPIFlash.git /home/runner/Arduino/libraries/Adafruit_SPIFlash
|
|
||||||
git clone --quiet https://github.com/adafruit/Adafruit_TinyUSB_Arduino /home/runner/Arduino/libraries/Adafruit_TinyUSB_Arduino
|
git clone --quiet https://github.com/adafruit/Adafruit_TinyUSB_Arduino /home/runner/Arduino/libraries/Adafruit_TinyUSB_Arduino
|
||||||
- name: Download stable Nanopb
|
- name: Download stable Nanopb
|
||||||
id: download-nanopb
|
id: download-nanopb
|
||||||
|
|
@ -572,15 +716,31 @@ jobs:
|
||||||
matrix:
|
matrix:
|
||||||
arduino-platform: ["feather_esp8266"]
|
arduino-platform: ["feather_esp8266"]
|
||||||
steps:
|
steps:
|
||||||
|
- name: "skip if unwanted"
|
||||||
|
continue-on-error: true
|
||||||
|
if: |
|
||||||
|
github.event_name == 'workflow_dispatch' &&
|
||||||
|
github.event.inputs.board != '' &&
|
||||||
|
matrix.arduino-platform != github.event.inputs.board
|
||||||
|
run: |
|
||||||
|
echo "don't build this one!"; exit 1
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: "3.x"
|
python-version: "3.x"
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Get WipperSnapper version
|
- name: Get WipperSnapper version
|
||||||
run: |
|
run: |
|
||||||
git fetch --prune --unshallow --tags
|
git remote add adafruit https://github.com/adafruit/Adafruit_Wippersnapper_Arduino.git || true
|
||||||
git describe --dirty --tags
|
git fetch --prune --unshallow --all --tags
|
||||||
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
|
if git describe --dirty --tags >/dev/null 2>&1; then
|
||||||
|
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
|
||||||
|
else
|
||||||
|
# Fallback for forks: 1.0.0-{owner}-{short-sha}
|
||||||
|
REPO_OWNER=$(echo $GITHUB_REPOSITORY | cut -d'/' -f1)
|
||||||
|
SHORT_SHA=$(git rev-parse --short HEAD)
|
||||||
|
echo >>$GITHUB_ENV WS_VERSION="1.0.0-${REPO_OWNER}-${SHORT_SHA}"
|
||||||
|
fi
|
||||||
|
echo "WS_VERSION: $WS_VERSION"
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: adafruit/ci-arduino
|
repository: adafruit/ci-arduino
|
||||||
|
|
@ -590,8 +750,8 @@ jobs:
|
||||||
run: bash ci/actions_install.sh
|
run: bash ci/actions_install.sh
|
||||||
- name: Install extra Arduino library
|
- name: Install extra Arduino library
|
||||||
run: |
|
run: |
|
||||||
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
|
git clone --quiet --branch v4.0.3 https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
|
||||||
git clone --quiet https://github.com/pstolarz/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
|
git clone --quiet https://github.com/PaulStoffregen/OneWire.git /home/runner/Arduino/libraries/OneWire
|
||||||
- name: Download stable Nanopb
|
- name: Download stable Nanopb
|
||||||
id: download-nanopb
|
id: download-nanopb
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
@ -650,6 +810,7 @@ jobs:
|
||||||
matrix:
|
matrix:
|
||||||
arduino-platform:
|
arduino-platform:
|
||||||
[
|
[
|
||||||
|
"esp32s3_devkitc_1_n8_debug",
|
||||||
"feather_esp32s2_debug",
|
"feather_esp32s2_debug",
|
||||||
"feather_esp32s2_tft_debug",
|
"feather_esp32s2_tft_debug",
|
||||||
"feather_esp32s3_debug",
|
"feather_esp32s3_debug",
|
||||||
|
|
@ -660,15 +821,31 @@ jobs:
|
||||||
"metro_esp32s3_debug",
|
"metro_esp32s3_debug",
|
||||||
]
|
]
|
||||||
steps:
|
steps:
|
||||||
|
- name: "skip if unwanted"
|
||||||
|
continue-on-error: true
|
||||||
|
if: |
|
||||||
|
github.event_name == 'workflow_dispatch' &&
|
||||||
|
github.event.inputs.board != '' &&
|
||||||
|
matrix.arduino-platform != github.event.inputs.board
|
||||||
|
run: |
|
||||||
|
echo "don't build this one!"; exit 1
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: "3.x"
|
python-version: "3.x"
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Get WipperSnapper version
|
- name: Get WipperSnapper version
|
||||||
run: |
|
run: |
|
||||||
git fetch --prune --unshallow --tags
|
git remote add adafruit https://github.com/adafruit/Adafruit_Wippersnapper_Arduino.git || true
|
||||||
git describe --dirty --tags
|
git fetch --prune --unshallow --all --tags
|
||||||
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
|
if git describe --dirty --tags >/dev/null 2>&1; then
|
||||||
|
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
|
||||||
|
else
|
||||||
|
# Fallback for forks: 1.0.0-{owner}-{short-sha}
|
||||||
|
REPO_OWNER=$(echo $GITHUB_REPOSITORY | cut -d'/' -f1)
|
||||||
|
SHORT_SHA=$(git rev-parse --short HEAD)
|
||||||
|
echo >>$GITHUB_ENV WS_VERSION="1.0.0-${REPO_OWNER}-${SHORT_SHA}"
|
||||||
|
fi
|
||||||
|
echo "WS_VERSION: $WS_VERSION"
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: adafruit/ci-arduino
|
repository: adafruit/ci-arduino
|
||||||
|
|
@ -678,7 +855,7 @@ jobs:
|
||||||
run: bash ci/actions_install.sh
|
run: bash ci/actions_install.sh
|
||||||
- name: Install extra Arduino libraries
|
- name: Install extra Arduino libraries
|
||||||
run: |
|
run: |
|
||||||
git clone --quiet https://github.com/pstolarz/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
|
git clone --quiet --branch v4.0.3 https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
|
||||||
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
|
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
|
||||||
git clone --quiet https://github.com/adafruit/Adafruit_HX8357_Library.git /home/runner/Arduino/libraries/Adafruit_HX8357_Library
|
git clone --quiet https://github.com/adafruit/Adafruit_HX8357_Library.git /home/runner/Arduino/libraries/Adafruit_HX8357_Library
|
||||||
git clone --quiet https://github.com/adafruit/Adafruit_ILI9341.git /home/runner/Arduino/libraries/Adafruit_ILI9341
|
git clone --quiet https://github.com/adafruit/Adafruit_ILI9341.git /home/runner/Arduino/libraries/Adafruit_ILI9341
|
||||||
|
|
@ -756,15 +933,31 @@ jobs:
|
||||||
- offset: "0x0"
|
- offset: "0x0"
|
||||||
arduino-platform: "wippersnapper_feather_esp32c6_debug"
|
arduino-platform: "wippersnapper_feather_esp32c6_debug"
|
||||||
steps:
|
steps:
|
||||||
|
- name: "skip if unwanted"
|
||||||
|
continue-on-error: true
|
||||||
|
if: |
|
||||||
|
github.event_name == 'workflow_dispatch' &&
|
||||||
|
github.event.inputs.board != '' &&
|
||||||
|
matrix.arduino-platform != github.event.inputs.board
|
||||||
|
run: |
|
||||||
|
echo "don't build this one!"; exit 1
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: "3.x"
|
python-version: "3.x"
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Get WipperSnapper version
|
- name: Get WipperSnapper version
|
||||||
run: |
|
run: |
|
||||||
git fetch --prune --unshallow --tags
|
git remote add adafruit https://github.com/adafruit/Adafruit_Wippersnapper_Arduino.git || true
|
||||||
git describe --dirty --tags
|
git fetch --prune --unshallow --all --tags
|
||||||
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
|
if git describe --dirty --tags >/dev/null 2>&1; then
|
||||||
|
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
|
||||||
|
else
|
||||||
|
# Fallback for forks: 1.0.0-{owner}-{short-sha}
|
||||||
|
REPO_OWNER=$(echo $GITHUB_REPOSITORY | cut -d'/' -f1)
|
||||||
|
SHORT_SHA=$(git rev-parse --short HEAD)
|
||||||
|
echo >>$GITHUB_ENV WS_VERSION="1.0.0-${REPO_OWNER}-${SHORT_SHA}"
|
||||||
|
fi
|
||||||
|
echo "WS_VERSION: $WS_VERSION"
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: adafruit/ci-arduino
|
repository: adafruit/ci-arduino
|
||||||
|
|
@ -779,7 +972,7 @@ jobs:
|
||||||
run: bash ci/actions_install.sh
|
run: bash ci/actions_install.sh
|
||||||
- name: Install extra Arduino libraries
|
- name: Install extra Arduino libraries
|
||||||
run: |
|
run: |
|
||||||
git clone --quiet https://github.com/pstolarz/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
|
git clone --quiet --branch v4.0.3 https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
|
||||||
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
|
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
|
||||||
- name: Download stable Nanopb
|
- name: Download stable Nanopb
|
||||||
id: download-nanopb
|
id: download-nanopb
|
||||||
|
|
@ -852,14 +1045,14 @@ jobs:
|
||||||
echo $content
|
echo $content
|
||||||
echo EOF
|
echo EOF
|
||||||
} >> "$GITHUB_OUTPUT"
|
} >> "$GITHUB_OUTPUT"
|
||||||
- name: Create combined binary using Esptool merge_bin
|
- name: Create combined binary using Esptool merge-bin
|
||||||
run: |
|
run: |
|
||||||
echo ${{ steps.get_board_json.outputs.boardJson }}
|
echo ${{ steps.get_board_json.outputs.boardJson }}
|
||||||
echo ${{ fromJson(steps.get_board_json.outputs.boardJson) }}
|
echo ${{ fromJson(steps.get_board_json.outputs.boardJson) }}
|
||||||
python3 -m esptool --chip ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.chip}} merge_bin \
|
python3 -m esptool --chip ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.chip}} merge-bin \
|
||||||
--flash_mode ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashMode}} \
|
--flash-mode ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashMode}} \
|
||||||
--flash_freq ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashFreq}} \
|
--flash-freq ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashFreq}} \
|
||||||
--flash_size ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashSize}} \
|
--flash-size ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashSize}} \
|
||||||
-o wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.combined.bin \
|
-o wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.combined.bin \
|
||||||
${{ matrix.offset }} wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bootloader.bin \
|
${{ matrix.offset }} wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bootloader.bin \
|
||||||
0x8000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.partitions.bin \
|
0x8000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.partitions.bin \
|
||||||
|
|
@ -927,10 +1120,10 @@ jobs:
|
||||||
run: bash ci/actions_install.sh
|
run: bash ci/actions_install.sh
|
||||||
|
|
||||||
- name: clang
|
- name: clang
|
||||||
run: python3 ci/run-clang-format.py -r -e "ci/*" -e "bin/*" -e src/nanopb -e src/protos -e src/wippersnapper -e src/pb.h -e src/provisioning/tinyusb src/
|
run: python3 ci/run-clang-format.py -r -e "ci/*" -e "bin/*" -e src/nanopb -e src/wippersnapper -e src/pb.h -e src/provisioning/tinyusb src/
|
||||||
|
|
||||||
- name: doxygen
|
- name: doxygen
|
||||||
env:
|
env:
|
||||||
GH_REPO_TOKEN: ${{ secrets.GH_REPO_TOKEN }}
|
GH_REPO_TOKEN: ${{ secrets.GH_REPO_TOKEN }}
|
||||||
PRETTYNAME: "Adafruit.io WipperSnapper Library"
|
PRETTYNAME: "Adafruit.io WipperSnapper Library"
|
||||||
run: bash ci/doxy_gen_and_deploy.sh
|
run: bash ci/doxy_gen_and_deploy.sh
|
||||||
|
|
|
||||||
14
.github/workflows/release-callee.yml
vendored
14
.github/workflows/release-callee.yml
vendored
|
|
@ -1,4 +1,4 @@
|
||||||
# SPDX-FileCopyrightText: Brent Rubell for Adafruit Industries, 2022-2024
|
# SPDX-FileCopyrightText: Brent Rubell for Adafruit Industries, 2022
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
name: WipperSnapper Release Callee
|
name: WipperSnapper Release Callee
|
||||||
|
|
@ -12,16 +12,16 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Download build artifacts from build-platform steps
|
- name: Download build artifacts from build-platform steps
|
||||||
uses: actions/download-artifact@v2
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: build-files
|
path: .
|
||||||
- name: List Files
|
- name: List Files
|
||||||
run: ls
|
run: ls
|
||||||
- name: Upload Assets to the GitHub Release
|
- name: Upload Assets to the GitHub Release
|
||||||
uses: softprops/action-gh-release@v1
|
uses: softprops/action-gh-release@v2
|
||||||
if: startsWith(github.ref, 'refs/tags/')
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
with:
|
with:
|
||||||
files: |
|
files: |
|
||||||
wippersnapper.*.uf2
|
build-files/wippersnapper.*.uf2
|
||||||
wippersnapper.*.bin
|
build-files/wippersnapper.*.bin
|
||||||
wippersnapper.*.zip
|
build-files/wippersnapper.*.zip
|
||||||
|
|
|
||||||
28
.github/workflows/release-caller.yml
vendored
28
.github/workflows/release-caller.yml
vendored
|
|
@ -1,37 +1,21 @@
|
||||||
# SPDX-FileCopyrightText: Brent Rubell for Adafruit Industries, 2022-2025
|
# SPDX-FileCopyrightText: Brent Rubell for Adafruit Industries, 2022
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
name: WipperSnapper Release Workflow
|
name: WipperSnapper Release Workflow
|
||||||
|
|
||||||
on:
|
on:
|
||||||
release:
|
release:
|
||||||
types: [published]
|
types: [published]
|
||||||
workflow_call:
|
|
||||||
secrets:
|
secrets:
|
||||||
GH_REPO_TOKEN:
|
GH_REPO_TOKEN:
|
||||||
required: true
|
required: true
|
||||||
jobs:
|
|
||||||
check-branch:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
outputs:
|
|
||||||
should_run: ${{ steps.check.outputs.should_run }}
|
|
||||||
steps:
|
|
||||||
- id: check
|
|
||||||
run: |
|
|
||||||
if [[ $GITHUB_REF == *"offline-mode"* ]]; then
|
|
||||||
echo "should_run=false" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "should_run=true" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
call-workflow-build:
|
call-workflow-build:
|
||||||
needs: check-branch
|
|
||||||
if: needs.check-branch.outputs.should_run == 'true'
|
|
||||||
uses: adafruit/Adafruit_Wippersnapper_Arduino/.github/workflows/build-clang-doxy.yml@main
|
uses: adafruit/Adafruit_Wippersnapper_Arduino/.github/workflows/build-clang-doxy.yml@main
|
||||||
secrets:
|
secrets:
|
||||||
GH_REPO_TOKEN: ${{ secrets.GH_REPO_TOKEN }}
|
GH_REPO_TOKEN: ${{ secrets.GH_REPO_TOKEN }}
|
||||||
|
|
||||||
call-workflow-release:
|
call-workflow-release:
|
||||||
needs: [check-branch, call-workflow-build]
|
needs: call-workflow-build
|
||||||
if: needs.check-branch.outputs.should_run == 'true'
|
uses: adafruit/Adafruit_Wippersnapper_Arduino/.github/workflows/release-callee.yml@main
|
||||||
uses: adafruit/Adafruit_Wippersnapper_Arduino/.github/workflows/release-callee.yml@main
|
|
||||||
|
|
|
||||||
287
.github/workflows/release-offline.yml
vendored
287
.github/workflows/release-offline.yml
vendored
|
|
@ -1,287 +0,0 @@
|
||||||
# SPDX-FileCopyrightText: Brent Rubell for Adafruit Industries, 2025
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: MIT
|
|
||||||
name: WipperSnapper Release Workflow for "Offline Mode" Alpha Feature
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- offline-mode
|
|
||||||
release:
|
|
||||||
types: [published]
|
|
||||||
branches:
|
|
||||||
- offline-mode
|
|
||||||
workflow_call:
|
|
||||||
secrets:
|
|
||||||
GH_REPO_TOKEN:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
clang:
|
|
||||||
name: 🔎 Clang
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version: "3.x"
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
repository: adafruit/ci-arduino
|
|
||||||
ref: ci-wippersnapper
|
|
||||||
path: ci
|
|
||||||
- name: pre-install
|
|
||||||
run: bash ci/actions_install.sh
|
|
||||||
- name: clang
|
|
||||||
run: python3 ci/run-clang-format.py -r -e "ci/*" -e "bin/*" -e src/nanopb -e src/protos -e src/pb.h -e src/provisioning/tinyusb src/
|
|
||||||
|
|
||||||
test-offline-mode:
|
|
||||||
name: 🧪 Test Offline Mode
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: clang
|
|
||||||
steps:
|
|
||||||
- name: Check out repository code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Set up Python
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version: '3.13'
|
|
||||||
- name: Install Python dependencies
|
|
||||||
run: |
|
|
||||||
python -m pip install --upgrade pip
|
|
||||||
pip install -r tests/requirements.txt
|
|
||||||
- name: Install Wokwi CI Server
|
|
||||||
uses: wokwi/wokwi-ci-server-action@v1
|
|
||||||
- name: Install Wokwi CLI
|
|
||||||
run: curl -L https://wokwi.com/ci/install.sh | sh
|
|
||||||
- name: Install PIO Libraries for esp32dev target
|
|
||||||
run: pio pkg install --environment=esp32dev
|
|
||||||
- name: Build PlatformIO Project
|
|
||||||
run: platformio run --environment esp32dev
|
|
||||||
- name: Move new build file to test folder
|
|
||||||
run: cp .pio/build/esp32dev/firmware.elf tests/bin/offline/firmware.elf
|
|
||||||
- name: Run Wokwi Tests
|
|
||||||
run: pytest tests/test_offline.py --junitxml=report.xml -v
|
|
||||||
env:
|
|
||||||
WOKWI_CLI_TOKEN: ${{ secrets.WOKWI_CLI_TOKEN }}
|
|
||||||
- name: Publish Wokwi Test Results
|
|
||||||
uses: EnricoMi/publish-unit-test-result-action@v2
|
|
||||||
if: always()
|
|
||||||
with:
|
|
||||||
files: |
|
|
||||||
/home/runner/work/Adafruit_Wippersnapper_Arduino/Adafruit_Wippersnapper_Arduino/report.xml
|
|
||||||
|
|
||||||
build-esp32sx:
|
|
||||||
name: 🏗️ ESP32-Sx
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [clang]
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
arduino-platform:
|
|
||||||
[
|
|
||||||
"metroesp32s2",
|
|
||||||
"metro_esp32s3",
|
|
||||||
"feather_esp32s2",
|
|
||||||
"feather_esp32s2_tft",
|
|
||||||
"feather_esp32s2_reverse_tft",
|
|
||||||
"feather_esp32s3",
|
|
||||||
"feather_esp32s3_4mbflash_2mbpsram",
|
|
||||||
"feather_esp32s3_tft",
|
|
||||||
"qtpy_esp32s3",
|
|
||||||
"qtpy_esp32s2",
|
|
||||||
"feather_esp32s3_reverse_tft",
|
|
||||||
"qtpy_esp32s3_n4r2",
|
|
||||||
]
|
|
||||||
steps:
|
|
||||||
- uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version: "3.x"
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Get WipperSnapper version
|
|
||||||
run: |
|
|
||||||
git fetch --prune --unshallow --tags
|
|
||||||
git describe --dirty --tags
|
|
||||||
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
repository: adafruit/ci-arduino
|
|
||||||
ref: ci-wippersnapper
|
|
||||||
path: ci
|
|
||||||
- name: Install CI-Arduino
|
|
||||||
run: bash ci/actions_install.sh
|
|
||||||
- name: Install extra Arduino libraries
|
|
||||||
run: |
|
|
||||||
git clone --quiet https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
|
|
||||||
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
|
|
||||||
git clone --quiet https://github.com/adafruit/Adafruit_HX8357_Library.git /home/runner/Arduino/libraries/Adafruit_HX8357_Library
|
|
||||||
git clone --quiet https://github.com/adafruit/Adafruit_ILI9341.git /home/runner/Arduino/libraries/Adafruit_ILI9341
|
|
||||||
git clone --quiet https://github.com/adafruit/Adafruit_STMPE610.git /home/runner/Arduino/libraries/Adafruit_STMPE610
|
|
||||||
git clone --quiet https://github.com/adafruit/Adafruit-ST7735-Library.git /home/runner/Arduino/libraries/Adafruit-ST7735-Library
|
|
||||||
git clone --quiet https://github.com/adafruit/Adafruit_TouchScreen.git /home/runner/Arduino/libraries/Adafruit_TouchScreen
|
|
||||||
git clone --quiet https://github.com/adafruit/Adafruit_TinyUSB_Arduino /home/runner/Arduino/libraries/Adafruit_TinyUSB_Arduino
|
|
||||||
git clone --depth 1 --branch wippersnapper https://github.com/brentru/lvgl.git /home/runner/Arduino/libraries/lvgl
|
|
||||||
git clone --depth 1 --branch development https://github.com/brentru/Adafruit_LvGL_Glue.git /home/runner/Arduino/libraries/Adafruit_LittlevGL_Glue_Library
|
|
||||||
- name: Download stable Nanopb
|
|
||||||
id: download-nanopb
|
|
||||||
continue-on-error: true
|
|
||||||
run: |
|
|
||||||
wget https://jpa.kapsi.fi/nanopb/download/nanopb-0.4.8.tar.gz
|
|
||||||
- if: ${{ failure() || steps.download-nanopb.outcome != 'success' }}
|
|
||||||
name: Restore cached nanopb
|
|
||||||
id: cache-nanopb-restore
|
|
||||||
uses: actions/cache/restore@v4
|
|
||||||
env:
|
|
||||||
cache-name: cache-node-modules
|
|
||||||
with:
|
|
||||||
path: ./nanopb-0.4.8.tar.gz
|
|
||||||
key: nanopb-0.4.8.tar.gz
|
|
||||||
- if: ${{ steps.download-nanopb.outcome == 'success' }}
|
|
||||||
name: Save nanopb to cache
|
|
||||||
id: cache-nanopb-save
|
|
||||||
uses: actions/cache/save@v4
|
|
||||||
env:
|
|
||||||
cache-name: cache-node-modules
|
|
||||||
with:
|
|
||||||
path: ./nanopb-0.4.8.tar.gz
|
|
||||||
key: nanopb-0.4.8.tar.gz
|
|
||||||
- name: Install stable Nanopb
|
|
||||||
run: |
|
|
||||||
tar -xf nanopb-0.4.8.tar.gz
|
|
||||||
# Copy files to WipperSnapper's src/nanopb directory
|
|
||||||
cp nanopb/pb_common.* nanopb/pb_encode.* nanopb/pb_decode.* src/nanopb
|
|
||||||
mv nanopb/pb.h src/nanopb/nanopb.pb.h
|
|
||||||
- name: List all files in Adafruit_LittlevGL_Glue_Library folder
|
|
||||||
run: |
|
|
||||||
ls /home/runner/Arduino/libraries/Adafruit_LittlevGL_Glue_Library
|
|
||||||
- name: Copy lv_conf.h file in Adafruit_LittlevGL_Glue_Library to the arduino library folder
|
|
||||||
run: |
|
|
||||||
cp /home/runner/Arduino/libraries/Adafruit_LittlevGL_Glue_Library/lv_conf.h /home/runner/Arduino/libraries
|
|
||||||
- name: Build for ESP32-SX
|
|
||||||
run: |
|
|
||||||
python3 ci/build_platform.py ${{ matrix.arduino-platform }} --build_timeout 48000
|
|
||||||
- name: list files (tree)
|
|
||||||
run: |
|
|
||||||
tree
|
|
||||||
- name: Rename build artifacts to reflect the platform name
|
|
||||||
run: |
|
|
||||||
mv examples/*/build/*/Wippersnapper_demo.ino.uf2 wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.uf2
|
|
||||||
mv examples/*/build/*/Wippersnapper_demo.ino.bin wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.bin
|
|
||||||
- name: upload build artifacts
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: build-files-${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}
|
|
||||||
path: |
|
|
||||||
wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.uf2
|
|
||||||
wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.bin
|
|
||||||
|
|
||||||
build-rp2040:
|
|
||||||
name: 🏗️ RP2040, RP2350
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [clang]
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
arduino-platform: ["pico_rp2040_tinyusb",
|
|
||||||
"pico_rp2350_tinyusb",
|
|
||||||
"feather_rp2040_adalogger_tinyusb",
|
|
||||||
"metro_rp2350_tinyusb"
|
|
||||||
]
|
|
||||||
steps:
|
|
||||||
- uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version: "3.x"
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Get WipperSnapper version
|
|
||||||
run: |
|
|
||||||
git fetch --prune --unshallow --tags
|
|
||||||
git describe --dirty --tags
|
|
||||||
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
repository: adafruit/ci-arduino
|
|
||||||
ref: ci-wippersnapper
|
|
||||||
path: ci
|
|
||||||
- name: Install CI-Arduino
|
|
||||||
run: bash ci/actions_install.sh
|
|
||||||
# manually install OneWireNG/TempControlLib for OneWireNg (RP2040 Supported OneWire w/backwards compat.)
|
|
||||||
- name: Install extra Arduino libraries
|
|
||||||
run: |
|
|
||||||
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
|
|
||||||
git clone --quiet https://github.com/pstolarz/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
|
|
||||||
git clone --quiet https://github.com/adafruit/Adafruit_TinyUSB_Arduino /home/runner/Arduino/libraries/Adafruit_TinyUSB_Arduino
|
|
||||||
git clone --quiet --branch fix-for-pico https://github.com/brentru/SdFat.git /home/runner/Arduino/libraries/SdFat_-_Adafruit_Fork/
|
|
||||||
- name: Download stable Nanopb
|
|
||||||
id: download-nanopb
|
|
||||||
continue-on-error: true
|
|
||||||
run: |
|
|
||||||
wget https://jpa.kapsi.fi/nanopb/download/nanopb-0.4.8.tar.gz
|
|
||||||
- if: ${{ failure() || steps.download-nanopb.outcome != 'success' }}
|
|
||||||
name: Restore cached nanopb
|
|
||||||
id: cache-nanopb-restore
|
|
||||||
uses: actions/cache/restore@v4
|
|
||||||
env:
|
|
||||||
cache-name: cache-node-modules
|
|
||||||
with:
|
|
||||||
path: ./nanopb-0.4.8.tar.gz
|
|
||||||
key: nanopb-0.4.8.tar.gz
|
|
||||||
- if: ${{ steps.download-nanopb.outcome == 'success' }}
|
|
||||||
name: Save nanopb to cache
|
|
||||||
id: cache-nanopb-save
|
|
||||||
uses: actions/cache/save@v4
|
|
||||||
env:
|
|
||||||
cache-name: cache-node-modules
|
|
||||||
with:
|
|
||||||
path: ./nanopb-0.4.8.tar.gz
|
|
||||||
key: nanopb-0.4.8.tar.gz
|
|
||||||
- name: Install stable Nanopb
|
|
||||||
run: |
|
|
||||||
tar -xf nanopb-0.4.8.tar.gz
|
|
||||||
# Copy files to WipperSnapper's src/nanopb directory
|
|
||||||
cp nanopb/pb_common.* nanopb/pb_encode.* nanopb/pb_decode.* src/nanopb
|
|
||||||
mv nanopb/pb.h src/nanopb/nanopb.pb.h
|
|
||||||
- name: build RP2040 platforms
|
|
||||||
run: python3 ci/build_platform.py ${{ matrix.arduino-platform }} --build_timeout 48000
|
|
||||||
- name: Rename build artifacts to reflect the platform name
|
|
||||||
run: |
|
|
||||||
mv examples/*/build/*/Wippersnapper_demo_offline.ino.uf2 wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.uf2
|
|
||||||
- name: upload build artifacts
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: build-files-${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}
|
|
||||||
path: |
|
|
||||||
wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.uf2
|
|
||||||
|
|
||||||
merge-job-build-files:
|
|
||||||
name: Merge Artifacts for build-files
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [build-esp32sx, build-rp2040]
|
|
||||||
steps:
|
|
||||||
- name: Merge Artifacts from Builds
|
|
||||||
uses: actions/upload-artifact/merge@v4
|
|
||||||
with:
|
|
||||||
name: build-files
|
|
||||||
pattern: build-files-!(dev)-*
|
|
||||||
delete-merged: true
|
|
||||||
|
|
||||||
|
|
||||||
release-wippersnapper:
|
|
||||||
name: 🚀 Upload Release Files
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: merge-job-build-files
|
|
||||||
if: github.event_name == 'release' && startsWith(github.ref, 'refs/tags/')
|
|
||||||
steps:
|
|
||||||
- name: Download build artifacts from build-platform steps
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
|
||||||
name: build-files
|
|
||||||
- name: List Files
|
|
||||||
run: ls
|
|
||||||
- name: Upload Assets to the GitHub Release
|
|
||||||
uses: softprops/action-gh-release@v1
|
|
||||||
if: startsWith(github.ref, 'refs/tags/')
|
|
||||||
with:
|
|
||||||
files: |
|
|
||||||
wippersnapper.*.uf2
|
|
||||||
wippersnapper.*.bin
|
|
||||||
wippersnapper.*.zip
|
|
||||||
25
.gitignore
vendored
25
.gitignore
vendored
|
|
@ -39,30 +39,17 @@ html/*
|
||||||
# VSCode artifacts
|
# VSCode artifacts
|
||||||
.vscode/*
|
.vscode/*
|
||||||
src/.vscode/settings.json
|
src/.vscode/settings.json
|
||||||
|
|
||||||
.DS_STORE
|
.DS_STORE
|
||||||
|
|
||||||
examples/Wippersnapper_demo/build/
|
examples/Wippersnapper_demo/build/
|
||||||
|
|
||||||
# Virtual environment directories
|
|
||||||
.venv/
|
|
||||||
venv/
|
|
||||||
|
|
||||||
# Python artifacts
|
|
||||||
tests/__pycache__/
|
|
||||||
|
|
||||||
# Platformio artifacts
|
# Platformio artifacts
|
||||||
.pio/
|
.pio/
|
||||||
|
|
||||||
# These sometimes contain credentials, don't commit them!
|
# Secrets
|
||||||
src/Wippersnapper_demo_wokwi.ino
|
|
||||||
data/
|
data/
|
||||||
examples/Wippersnapper_demo_offline/.theia/
|
|
||||||
examples/Wippersnapper_demo_offline/.vscode/
|
|
||||||
examples/Wippersnapper_demo_offline/build/
|
|
||||||
|
|
||||||
# Test results
|
# Misc. Data
|
||||||
report.xml
|
tests/
|
||||||
|
venv/
|
||||||
# VSCode settings
|
|
||||||
.vscode/settings.json
|
|
||||||
|
|
||||||
CLAUDE.md
|
|
||||||
22
.vscode/settings.json
vendored
22
.vscode/settings.json
vendored
|
|
@ -1,23 +1,11 @@
|
||||||
{
|
{
|
||||||
"files.associations": {
|
"files.associations": {
|
||||||
"limits": "c",
|
"limits": "c",
|
||||||
"type_traits": "c",
|
"type_traits": "c"
|
||||||
"vector": "cpp",
|
|
||||||
"array": "cpp",
|
|
||||||
"deque": "cpp",
|
|
||||||
"string": "cpp",
|
|
||||||
"unordered_map": "cpp",
|
|
||||||
"string_view": "cpp",
|
|
||||||
"initializer_list": "cpp",
|
|
||||||
"span": "cpp",
|
|
||||||
"*.tcc": "cpp",
|
|
||||||
"list": "cpp",
|
|
||||||
"unordered_set": "cpp",
|
|
||||||
"format": "cpp",
|
|
||||||
"text_encoding": "cpp",
|
|
||||||
"regex": "cpp"
|
|
||||||
},
|
},
|
||||||
"C_Cpp.dimInactiveRegions": false,
|
"C_Cpp.dimInactiveRegions": true,
|
||||||
"dotnet.defaultSolution": "disable",
|
"dotnet.defaultSolution": "disable",
|
||||||
"cmake.configureOnOpen": false
|
"cmake.configureOnOpen": false,
|
||||||
|
"C_Cpp.clang_format_fallbackStyle": "Google",
|
||||||
|
"C_Cpp.clang_format_style": "file"
|
||||||
}
|
}
|
||||||
2
LICENSE
2
LICENSE
|
|
@ -1,6 +1,6 @@
|
||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2020-2024 Adafruit Industries
|
Copyright (c) 2020-2021 Adafruit Industries
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|
|
||||||
15
README.md
15
README.md
|
|
@ -5,26 +5,25 @@
|
||||||
# Adafruit WipperSnapper
|
# Adafruit WipperSnapper
|
||||||
[](http://adafruit.github.io/Adafruit_Wippersnapper_Arduino/html/index.html)
|
[](http://adafruit.github.io/Adafruit_Wippersnapper_Arduino/html/index.html)
|
||||||
|
|
||||||
Adafruit.io WipperSnapper is a firmware designed to turn any Wi-Fi capable board into an Internet-of-Things (IoT) device. No code required!
|
Adafruit.io WipperSnapper is a firmware designed to turn any Wi-Fi-capable board into an Internet-of-Things (IoT) device. No programming is required!
|
||||||
|
|
||||||
WipperSnapper works with [multiple microcontroller architectures](https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/?tab=readme-ov-file#supported-platforms) and development boards. It is designed to be easily extensible to support new sensors, inputs, and outputs.
|
WipperSnapper works with multiple microcontroller architectures such as ESP8266, ESP32, ESP32-Sx, ESP32-Cx, RP2040, RP2350, and ATSAMD51.
|
||||||
|
|
||||||
A **free** [Adafruit IO](https://io.adafruit.com) account is required to use WipperSnapper.
|
You will need a **free** [Adafruit IO](https://io.adafruit.com) account to use WipperSnapper.
|
||||||
|
|
||||||
|
**NOTE: WipperSnapper firmware is in beta** and is actively being developed. Please [report bugs via the issues page on this repository](https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=).
|
||||||
|
|
||||||
# Get Started
|
# Get Started
|
||||||
[Learn how to install and use WipperSnapper by following this guide on the Adafruit Learning System - QuickStart: Adafruit IO WipperSnapper](https://learn.adafruit.com/quickstart-adafruit-io-wippersnapper).
|
[Learn how to install and use WipperSnapper by following this guide on the Adafruit Learning System - QuickStart: Adafruit IO WipperSnapper](https://learn.adafruit.com/quickstart-adafruit-io-wippersnapper).
|
||||||
|
|
||||||
|
|
||||||
## Get WipperSnapper
|
|
||||||
Pre-compiled binaries and UF2 files for supported hardware are provided on the [releases page](https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/releases) of this repository.
|
|
||||||
|
|
||||||
## Supported Platforms
|
## Supported Platforms
|
||||||
|
|
||||||
|Platform| MCU(s) |
|
|Platform| MCU(s) |
|
||||||
|--|--|
|
|--|--|
|
||||||
|[ESP32-x](https://github.com/espressif/arduino-esp32)| ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6 |
|
|[ESP32-x](https://github.com/espressif/arduino-esp32)| ESP32, ESP32-Sx, ESP32-C3 |
|
||||||
|[ESP8266](https://github.com/esp8266/Arduino)| ESP8266 |
|
|[ESP8266](https://github.com/esp8266/Arduino)| ESP8266 |
|
||||||
|[RP2040](https://github.com/earlephilhower/arduino-pico)| RP2040 MCU w/WiFi (i.e: Pico W) |
|
|[RP2040](https://github.com/earlephilhower/arduino-pico)| RP2040 MCU w/WiFi (i.e: Pico W) |
|
||||||
|
|[RP2350](https://github.com/earlephilhower/arduino-pico)| RP2350 MCU w/WiFi (i.e: Pico 2W) |
|
||||||
|[ATSAMD](https://github.com/adafruit/ArduinoCore-samd/)| SAMD51 MCU w/separate WiFi Co-Processor (i.e: Adafruit "AirLift")|
|
|[ATSAMD](https://github.com/adafruit/ArduinoCore-samd/)| SAMD51 MCU w/separate WiFi Co-Processor (i.e: Adafruit "AirLift")|
|
||||||
|
|
||||||
## Contributing to Adafruit.io and WipperSnapper
|
## Contributing to Adafruit.io and WipperSnapper
|
||||||
|
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
{"exportVersion": "1.0.0", "exportedBy": "tester", "exportedAt": "2024-10-28T18:58:23.976Z", "exportedFromDevice": {"board": "metroesp32s3", "firmwareVersion": "1.0.0-beta.93", "referenceVoltage": 2.6, "totalGPIOPins": 11, "totalAnalogPins": 6, "rtc": "DS3231", "statusLEDBrightness": 0.1}, "components": [{"componentAPI": "analogio", "name": "Analog Pin", "pinName": "A0", "type": "analog_pin", "mode": "ANALOG", "direction": "INPUT", "sampleMode": "TIMER", "analogReadMode": "PIN_VALUE", "period": 30}, {"componentAPI": "ds18x20", "name": "DS18B20: Temperature Sensor (\u00b0F)", "sensorTypeCount": 2, "sensorType1": "object-temp-fahrenheit", "sensorType2": "object-temp", "pinName": "D4", "sensorResolution": 12, "period": 30}], "checksum": 236}
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
{"exportVersion": "1.0.0", "exportedBy": "wokwi", "exportedAt": "2024-10-28T18:58:23.976Z", "exportedFromDevice": {"board": "metroesp32s3", "firmwareVersion": "1.0.0-beta.93", "referenceVoltage": 2.6, "totalGPIOPins": 11, "totalAnalogPins": 6}, "components": [{"componentAPI": "digitalio", "name": "Button (D4)", "pinName": "D4", "type": "push_button", "mode": "DIGITAL", "sampleMode": "TIMER", "direction": "INPUT", "period": 5, "pull": "UP", "isPin": true}]}
|
|
||||||
BIN
examples/Wippersnapper_NoFS/.DS_Store
vendored
BIN
examples/Wippersnapper_NoFS/.DS_Store
vendored
Binary file not shown.
|
|
@ -1,2 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
||||||
// Adafruit IO WipperSnapper
|
|
||||||
//
|
|
||||||
// This sketch is for devices which lack USB-MSD or LittleFS support such
|
|
||||||
// as the ESP32Dev for Wokwi Simulator
|
|
||||||
//
|
|
||||||
// Adafruit invests time and resources providing this open source code.
|
|
||||||
// Please support Adafruit and open source hardware by purchasing
|
|
||||||
// products from Adafruit!
|
|
||||||
//
|
|
||||||
// Brent Rubell for Adafruit Industries, 2025
|
|
||||||
//
|
|
||||||
// All text above must be included in any redistribution.
|
|
||||||
|
|
||||||
#include "ws_adapters.h"
|
|
||||||
#define WS_DEBUG // Enable debug output
|
|
||||||
/************************ Adafruit IO Config *******************************/
|
|
||||||
|
|
||||||
// Visit io.adafruit.com if you need to create an account,
|
|
||||||
// or if you need your Adafruit IO key.
|
|
||||||
#define IO_USERNAME "YOUR_AIO_USERNAME"
|
|
||||||
#define IO_KEY "YOUR_AIO_KEY"
|
|
||||||
#define IO_URL "io.adafruit.com"
|
|
||||||
#define IO_PORT 8883
|
|
||||||
/**************************** WiFi Config ***********************************/
|
|
||||||
#define WIFI_SSID "YOUR_WIFI_SSID"
|
|
||||||
#define WIFI_PASS "YOUR_WIFI_PASSWORD"
|
|
||||||
|
|
||||||
ws_adapter_wifi wipper(IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS, IO_URL, IO_PORT);
|
|
||||||
|
|
||||||
void setup() {
|
|
||||||
// Provisioning must occur prior to serial init.
|
|
||||||
wipper.provision();
|
|
||||||
|
|
||||||
Serial.begin(115200);
|
|
||||||
// while (!Serial) delay(10);
|
|
||||||
|
|
||||||
wipper.connect();
|
|
||||||
}
|
|
||||||
|
|
||||||
void loop() { wipper.run(); }
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1 +1,3 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,33 @@
|
||||||
// Adafruit IO WipperSnapper
|
// Adafruit IO WipperSnapper Beta
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// NOTE: This software is a BETA release and in active development.
|
||||||
|
// Please report bugs or errors to https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/issues
|
||||||
|
//
|
||||||
//
|
//
|
||||||
// Adafruit invests time and resources providing this open source code.
|
// Adafruit invests time and resources providing this open source code.
|
||||||
// Please support Adafruit and open source hardware by purchasing
|
// Please support Adafruit and open source hardware by purchasing
|
||||||
// products from Adafruit!
|
// products from Adafruit!
|
||||||
//
|
//
|
||||||
// Brent Rubell for Adafruit Industries, 2020-2025
|
// Brent Rubell for Adafruit Industries, 2021-2022
|
||||||
//
|
//
|
||||||
// All text above must be included in any redistribution.
|
// All text above must be included in any redistribution.
|
||||||
|
|
||||||
#include "ws_adapters.h"
|
#include "Wippersnapper_Networking.h"
|
||||||
ws_adapter_wifi wipper;
|
Wippersnapper_WiFi wipper;
|
||||||
|
|
||||||
#define WS_DEBUG // Enable debug output!
|
// Enable debug output for beta builds
|
||||||
|
#define WS_DEBUG
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
// Provisioning must occur prior to serial init.
|
||||||
wipper.provision();
|
wipper.provision();
|
||||||
|
|
||||||
|
Serial.begin(115200);
|
||||||
|
//while (!Serial) delay(10);
|
||||||
|
|
||||||
wipper.connect();
|
wipper.connect();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
picow_rp2350_tinyusb
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue