fastled 1.1.31__tar.gz → 1.1.32__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fastled-1.1.31 → fastled-1.1.32}/PKG-INFO +2 -1
- {fastled-1.1.31 → fastled-1.1.32}/README.md +1 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/__init__.py +1 -1
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/open_browser.py +6 -5
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/parse_args.py +3 -0
- fastled-1.1.32/src/fastled/project_init.py +68 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled.egg-info/PKG-INFO +2 -1
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled.egg-info/SOURCES.txt +1 -2
- fastled-1.1.32/tests/test_project_init.py +33 -0
- fastled-1.1.31/examples/SdCard/SdCard.ino +0 -87
- fastled-1.1.31/examples/SdCard/screenmap.json.h +0 -4
- fastled-1.1.31/src/fastled/project_init.py +0 -37
- {fastled-1.1.31 → fastled-1.1.32}/.aiderignore +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/.github/workflows/build_multi_docker_image.yml +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/.github/workflows/lint.yml +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/.github/workflows/test_macos.yml +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/.github/workflows/test_ubuntu.yml +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/.github/workflows/test_win.yml +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/.gitignore +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/.pylintrc +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/.vscode/launch.json +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/.vscode/settings.json +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/.vscode/tasks.json +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/LICENSE +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/MANIFEST.in +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/clean +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/docs/fastled.js +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/docs/fastled.wasm +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/docs/index.css +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/docs/index.html +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/docs/index.js +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Blink/Blink.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Chromancer/Chromancer.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Chromancer/detail.h +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Chromancer/gary_woos_wled_port/gary_woos_wled_ledmap.h +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Chromancer/gary_woos_wled_port/presets.json +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Chromancer/gary_woos_wled_port/presets.min.json +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Chromancer/gen.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Chromancer/mapping.h +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Chromancer/net.h +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Chromancer/output.json +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Chromancer/ripple.h +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Chromancer/screenmap.json.h +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/ColorPalette/ColorPalette.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/ColorTemperature/ColorTemperature.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Cylon/Cylon.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/DemoReel100/DemoReel100.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Esp32Rmt51/Esp32Rmt51.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/EspI2SDemo/EspI2SDemo.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Fire2012/Fire2012.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Fire2012WithPalette/Fire2012WithPalette.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/FirstLight/FirstLight.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/FxEngine/FxEngine.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Noise/Noise.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/NoisePlayground/NoisePlayground.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/NoisePlusPalette/NoisePlusPalette.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/OctoWS2811/OctoWS2811.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Pacifica/Pacifica.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Pride2015/Pride2015.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/TwinkleFox/TwinkleFox.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Video/Gfx2Video/Gfx2Video.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/WasmScreenCoords/WasmScreenCoords.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/Water/Water.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/XYMatrix/XYMatrix.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/examples/wasm/wasm.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/install +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/lint +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/pyproject.toml +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/requirements.testing.txt +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/setup.cfg +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/setup.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/app.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/assets/example.txt +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/build_mode.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/cli.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/client_server.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/compile_server.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/docker_manager.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/env.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/filewatcher.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/keyboard.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/paths.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/select_sketch_directory.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/sketch.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/spinner.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/string_diff.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/types.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/util.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled/web_compile.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled.egg-info/dependency_links.txt +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled.egg-info/entry_points.txt +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled.egg-info/requires.txt +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/src/fastled.egg-info/top_level.txt +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/test +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/tests/test_bad_ino.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/tests/test_cli.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/tests/test_compile_server.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/tests/test_embedded_data.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/tests/test_filechanger.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/tests/test_ino/bad/bad.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/tests/test_ino/embedded/data/bigdata.dat +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/tests/test_ino/embedded/wasm.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/tests/test_ino/wasm/wasm.ino +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/tests/test_server_and_client_seperatly.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/tests/test_webcompile.py +0 -0
- {fastled-1.1.31 → fastled-1.1.32}/upload_package.sh +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: fastled
|
3
|
-
Version: 1.1.
|
3
|
+
Version: 1.1.32
|
4
4
|
Summary: FastLED Wasm Compiler
|
5
5
|
Home-page: https://github.com/zackees/fastled-wasm
|
6
6
|
Maintainer: Zachary Vorhies
|
@@ -163,6 +163,7 @@ A: A big chunk of space is being used by unnecessary javascript `emscripten` is
|
|
163
163
|
|
164
164
|
# Revisions
|
165
165
|
|
166
|
+
* 1.1.32 - `--init` now asks for which example you want, then tells you where the example was downloaded to. No longer auto-compiles.
|
166
167
|
* 1.1.31 - `--local` is auto-enabled if docker is installed, use `--web` to force web compiler. Updating is much more pretty.
|
167
168
|
* 1.1.30 - Added `--init` to initialize a demo project.
|
168
169
|
* 1.1.29 - Remove annoying dbg messages i left in.
|
@@ -140,6 +140,7 @@ A: A big chunk of space is being used by unnecessary javascript `emscripten` is
|
|
140
140
|
|
141
141
|
# Revisions
|
142
142
|
|
143
|
+
* 1.1.32 - `--init` now asks for which example you want, then tells you where the example was downloaded to. No longer auto-compiles.
|
143
144
|
* 1.1.31 - `--local` is auto-enabled if docker is installed, use `--web` to force web compiler. Updating is much more pretty.
|
144
145
|
* 1.1.30 - Added `--init` to initialize a demo project.
|
145
146
|
* 1.1.29 - Remove annoying dbg messages i left in.
|
@@ -13,11 +13,12 @@ def _open_browser_python(fastled_js: Path, port: int) -> Server:
|
|
13
13
|
"""Start livereload server in the fastled_js directory using API"""
|
14
14
|
print(f"\nStarting livereload server in {fastled_js} on port {port}")
|
15
15
|
|
16
|
-
server = Server()
|
17
|
-
server.watch(str(fastled_js / "index.html"), delay=0.1)
|
18
|
-
server.setHeader("Cache-Control", "no-cache")
|
19
|
-
server.serve(root=str(fastled_js), port=port, open_url_delay=0.5)
|
20
|
-
return server
|
16
|
+
# server = Server()
|
17
|
+
# server.watch(str(fastled_js / "index.html"), delay=0.1)
|
18
|
+
# server.setHeader("Cache-Control", "no-cache")
|
19
|
+
# server.serve(root=str(fastled_js), port=port, open_url_delay=0.5)
|
20
|
+
# return server
|
21
|
+
os.system(f"cd {fastled_js} && live-server")
|
21
22
|
|
22
23
|
|
23
24
|
def _find_open_port(start_port: int) -> int:
|
@@ -106,6 +106,9 @@ def parse_args() -> argparse.Namespace:
|
|
106
106
|
|
107
107
|
if args.init:
|
108
108
|
args.directory = project_init()
|
109
|
+
print("\nInitialized FastLED project in", args.directory)
|
110
|
+
print(f"Use 'fastled {args.directory}' to compile the project.")
|
111
|
+
sys.exit(0)
|
109
112
|
|
110
113
|
if not args.update:
|
111
114
|
if args.no_auto_updates:
|
@@ -0,0 +1,68 @@
|
|
1
|
+
import zipfile
|
2
|
+
from pathlib import Path
|
3
|
+
|
4
|
+
import httpx
|
5
|
+
|
6
|
+
from fastled.env import DEFAULT_URL
|
7
|
+
|
8
|
+
ENDPOINT_PROJECT_INIT = f"{DEFAULT_URL}/project/init"
|
9
|
+
ENDPOINT_INFO = f"{DEFAULT_URL}/info"
|
10
|
+
DEFAULT_EXAMPLE = "wasm"
|
11
|
+
|
12
|
+
|
13
|
+
def get_examples() -> list[str]:
|
14
|
+
response = httpx.get(ENDPOINT_INFO, timeout=4)
|
15
|
+
response.raise_for_status()
|
16
|
+
return response.json()["examples"]
|
17
|
+
|
18
|
+
|
19
|
+
def _prompt_for_example() -> str:
|
20
|
+
examples = get_examples()
|
21
|
+
while True:
|
22
|
+
print("Available examples:")
|
23
|
+
for i, example in enumerate(examples):
|
24
|
+
print(f" [{i+1}]: {example}")
|
25
|
+
answer = input("Enter the example number or name: ").strip()
|
26
|
+
if answer.isdigit():
|
27
|
+
example_num = int(answer) - 1
|
28
|
+
if example_num < 0 or example_num >= len(examples):
|
29
|
+
print("Invalid example number")
|
30
|
+
continue
|
31
|
+
return examples[example_num]
|
32
|
+
elif answer in examples:
|
33
|
+
return answer
|
34
|
+
|
35
|
+
|
36
|
+
def project_init(example: str | None = None, outputdir: Path | None = None) -> Path:
|
37
|
+
"""
|
38
|
+
Initialize a new FastLED project.
|
39
|
+
"""
|
40
|
+
|
41
|
+
outputdir = outputdir or Path("fastled")
|
42
|
+
if example is None:
|
43
|
+
try:
|
44
|
+
example = _prompt_for_example()
|
45
|
+
except httpx.HTTPStatusError:
|
46
|
+
print(
|
47
|
+
f"Failed to fetch examples, using default example '{DEFAULT_EXAMPLE}'"
|
48
|
+
)
|
49
|
+
example = DEFAULT_EXAMPLE
|
50
|
+
assert example is not None
|
51
|
+
response = httpx.get(f"{ENDPOINT_PROJECT_INIT}/{example}", timeout=20)
|
52
|
+
response.raise_for_status()
|
53
|
+
content = response.content
|
54
|
+
tmpzip = outputdir / "fastled.zip"
|
55
|
+
outputdir.mkdir(exist_ok=True)
|
56
|
+
tmpzip.write_bytes(content)
|
57
|
+
with zipfile.ZipFile(tmpzip, "r") as zip_ref:
|
58
|
+
zip_ref.extractall(outputdir)
|
59
|
+
tmpzip.unlink()
|
60
|
+
return outputdir.iterdir().__next__()
|
61
|
+
|
62
|
+
|
63
|
+
def unit_test() -> None:
|
64
|
+
project_init()
|
65
|
+
|
66
|
+
|
67
|
+
if __name__ == "__main__":
|
68
|
+
unit_test()
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: fastled
|
3
|
-
Version: 1.1.
|
3
|
+
Version: 1.1.32
|
4
4
|
Summary: FastLED Wasm Compiler
|
5
5
|
Home-page: https://github.com/zackees/fastled-wasm
|
6
6
|
Maintainer: Zachary Vorhies
|
@@ -163,6 +163,7 @@ A: A big chunk of space is being used by unnecessary javascript `emscripten` is
|
|
163
163
|
|
164
164
|
# Revisions
|
165
165
|
|
166
|
+
* 1.1.32 - `--init` now asks for which example you want, then tells you where the example was downloaded to. No longer auto-compiles.
|
166
167
|
* 1.1.31 - `--local` is auto-enabled if docker is installed, use `--web` to force web compiler. Updating is much more pretty.
|
167
168
|
* 1.1.30 - Added `--init` to initialize a demo project.
|
168
169
|
* 1.1.29 - Remove annoying dbg messages i left in.
|
@@ -53,8 +53,6 @@ examples/NoisePlusPalette/NoisePlusPalette.ino
|
|
53
53
|
examples/OctoWS2811/OctoWS2811.ino
|
54
54
|
examples/Pacifica/Pacifica.ino
|
55
55
|
examples/Pride2015/Pride2015.ino
|
56
|
-
examples/SdCard/SdCard.ino
|
57
|
-
examples/SdCard/screenmap.json.h
|
58
56
|
examples/TwinkleFox/TwinkleFox.ino
|
59
57
|
examples/Video/Gfx2Video/Gfx2Video.ino
|
60
58
|
examples/WasmScreenCoords/WasmScreenCoords.ino
|
@@ -94,6 +92,7 @@ tests/test_cli.py
|
|
94
92
|
tests/test_compile_server.py
|
95
93
|
tests/test_embedded_data.py
|
96
94
|
tests/test_filechanger.py
|
95
|
+
tests/test_project_init.py
|
97
96
|
tests/test_server_and_client_seperatly.py
|
98
97
|
tests/test_webcompile.py
|
99
98
|
tests/test_ino/bad/bad.ino
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import unittest
|
2
|
+
from pathlib import Path
|
3
|
+
from tempfile import TemporaryDirectory
|
4
|
+
|
5
|
+
from fastled.project_init import get_examples, project_init
|
6
|
+
|
7
|
+
HERE = Path(__file__).parent
|
8
|
+
TEST_DIR = HERE / "test_ino" / "wasm"
|
9
|
+
|
10
|
+
|
11
|
+
class ProjectInitTester(unittest.TestCase):
|
12
|
+
"""Main tester class."""
|
13
|
+
|
14
|
+
def test_get_examples(self) -> None:
|
15
|
+
"""Test get_examples function."""
|
16
|
+
examples = get_examples()
|
17
|
+
self.assertTrue(len(examples) > 0)
|
18
|
+
self.assertTrue("wasm" in examples)
|
19
|
+
|
20
|
+
def test_compile(self) -> None:
|
21
|
+
"""Test web compilation functionality with real server."""
|
22
|
+
# Test the web_compile function with actual server call
|
23
|
+
with TemporaryDirectory() as tmpdir:
|
24
|
+
out = Path(tmpdir)
|
25
|
+
project_init(example="wasm", outputdir=out)
|
26
|
+
# print out everything in the out dir
|
27
|
+
for f in out.iterdir():
|
28
|
+
print(f)
|
29
|
+
self.assertTrue((out / "wasm" / "wasm.ino").exists())
|
30
|
+
|
31
|
+
|
32
|
+
if __name__ == "__main__":
|
33
|
+
unittest.main()
|
@@ -1,87 +0,0 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
#ifdef __AVR__
|
5
|
-
void setup() {
|
6
|
-
// put your setup code here, to run once:
|
7
|
-
}
|
8
|
-
|
9
|
-
void loop() {
|
10
|
-
// put your main code here, to run repeatedly:
|
11
|
-
}
|
12
|
-
#else
|
13
|
-
|
14
|
-
#include <FastLED.h>
|
15
|
-
#include "Arduino.h"
|
16
|
-
|
17
|
-
|
18
|
-
#include "fx/2d/noisepalette.hpp"
|
19
|
-
// #include "fx/2d/animartrix.hpp"
|
20
|
-
#include "fx/fx_engine.h"
|
21
|
-
#include "fx/video.h"
|
22
|
-
#include "file_system.h"
|
23
|
-
#include "fl/ui.h"
|
24
|
-
#include "screenmap.h"
|
25
|
-
#include "file_system.h"
|
26
|
-
|
27
|
-
using namespace fl;
|
28
|
-
|
29
|
-
|
30
|
-
#include "screenmap.json.h" // const char JSON_SCREEN_MAP[] = { ... }
|
31
|
-
|
32
|
-
|
33
|
-
#define LED_PIN 2
|
34
|
-
#define LED_TYPE WS2811
|
35
|
-
#define COLOR_ORDER GRB
|
36
|
-
#define FPS 30
|
37
|
-
#define CHIP_SELECT_PIN 5
|
38
|
-
|
39
|
-
|
40
|
-
#define MATRIX_WIDTH 32
|
41
|
-
#define MATRIX_HEIGHT 32
|
42
|
-
|
43
|
-
|
44
|
-
#define NUM_LEDS (MATRIX_WIDTH * MATRIX_HEIGHT)
|
45
|
-
#define IS_SERPINTINE true
|
46
|
-
|
47
|
-
|
48
|
-
Title title("SDCard Demo - Mapped Video");
|
49
|
-
Description description("Video data is streamed off of a SD card and displayed on a LED strip. The video data is mapped to the LED strip using a ScreenMap.");
|
50
|
-
|
51
|
-
|
52
|
-
CRGB leds[NUM_LEDS];
|
53
|
-
ScreenMap screenMap;
|
54
|
-
|
55
|
-
FileSystem filesystem;
|
56
|
-
Video video;
|
57
|
-
|
58
|
-
|
59
|
-
void setup() {
|
60
|
-
Serial.begin(115200);
|
61
|
-
delay(1000); // sanity delay
|
62
|
-
if (!filesystem.beginSd(CHIP_SELECT_PIN)) {
|
63
|
-
Serial.println("Failed to initialize file system.");
|
64
|
-
}
|
65
|
-
// JSON_SCREEN_MAP
|
66
|
-
FixedMap<Str, ScreenMap, 16> screenMaps;
|
67
|
-
ScreenMap::ParseJson(JSON_SCREEN_MAP, &screenMaps);
|
68
|
-
ScreenMap screenMap = screenMaps["strip1"];
|
69
|
-
|
70
|
-
FastLED.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS)
|
71
|
-
.setCorrection(TypicalLEDStrip)
|
72
|
-
.setScreenMap(screenMap);
|
73
|
-
FastLED.setBrightness(96);
|
74
|
-
//fxEngine.addFx(animartrix);
|
75
|
-
video = filesystem.openVideo("data/video.dat", NUM_LEDS, FPS);
|
76
|
-
if (!video) {
|
77
|
-
Serial.println("Failed to instantiate video");
|
78
|
-
}
|
79
|
-
}
|
80
|
-
|
81
|
-
void loop() {
|
82
|
-
uint32_t now = millis();
|
83
|
-
video.draw(now, leds);
|
84
|
-
FastLED.show();
|
85
|
-
}
|
86
|
-
|
87
|
-
#endif
|
@@ -1,4 +0,0 @@
|
|
1
|
-
|
2
|
-
const char JSON_SCREEN_MAP[] = R"(
|
3
|
-
{"map": {"strip1": {"x": [-0.5, -1.21, -1.91, -2.62, -3.33, -4.04, -4.74, -5.45, -6.16, -6.86, -7.57, -8.28, -8.98, -9.69, -10.4, -11.11, -11.81, -11.11, -10.4, -9.69, -8.98, -8.28, -7.57, -6.86, -6.16, -5.45, -4.74, -4.04, -3.33, -2.62, -1.91, -1.21, -1.91, -2.62, -3.33, -4.04, -4.74, -5.45, -6.16, -6.86, -7.57, -8.28, -8.98, -9.69, -10.4, -11.11, -11.81, -12.52, -13.23, -12.52, -11.81, -11.11, -10.4, -9.69, -8.98, -8.28, -7.57, -6.86, -6.16, -5.45, -4.74, -4.04, -3.33, -2.62, -3.33, -4.04, -4.74, -5.45, -6.16, -6.86, -7.57, -8.28, -8.98, -9.69, -10.4, -11.11, -11.81, -12.52, -13.23, -13.94, -14.64, -13.94, -13.23, -12.52, -11.81, -11.11, -10.4, -9.69, -8.98, -8.28, -7.57, -6.86, -6.16, -5.45, -4.74, -4.04, -4.74, -5.45, -6.16, -6.86, -7.57, -8.28, -8.98, -9.69, -10.4, -11.11, -11.81, -12.52, -13.23, -13.94, -14.64, -15.35, -16.06, -15.35, -14.64, -13.94, -13.23, -12.52, -11.81, -11.11, -10.4, -9.69, -8.98, -8.28, -7.57, -6.86, -6.16, -5.45, -6.16, -6.86, -7.57, -8.28, -8.98, -9.69, -10.4, -11.11, -11.81, -12.52, -13.23, -13.94, -14.64, -15.35, -16.06, -16.76, -17.47, -16.76, -16.06, -15.35, -14.64, -13.94, -13.23, -12.52, -11.81, -11.11, -10.4, -9.69, -8.98, -8.28, -7.57, -6.86, -7.57, -8.28, -8.98, -9.69, -10.4, -11.11, -11.81, -12.52, -13.23, -13.94, -14.64, -15.35, -16.06, -16.76, -17.47, -18.18, -18.89, -18.18, -17.47, -16.76, -16.06, -15.35, -14.64, -13.94, -13.23, -12.52, -11.81, -11.11, -10.4, -9.69, -8.98, -8.28, -8.98, -9.69, -10.4, -11.11, -11.81, -12.52, -13.23, -13.94, -14.64, -15.35, -16.06, -16.76, -17.47, -18.18, -18.89, -19.59, -20.3, -19.59, -18.89, -18.18, -17.47, -16.76, -16.06, -15.35, -14.64, -13.94, -13.23, -12.52, -11.81, -11.11, -10.4, -9.69, -10.4, -11.11, -11.81, -12.52, -13.23, -13.94, -14.64, -15.35, -16.06, -16.76, -17.47, -18.18, -18.89, -19.59, -20.3, -21.01, -21.71, -21.01, -20.3, -19.59, -18.89, -18.18, -17.47, -16.76, -16.06, -15.35, -14.64, -13.94, -13.23, -12.52, -11.81, -11.11, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 5.66, 6.36, 7.07, 7.78, 8.48, 9.19, 9.9, 10.61, 9.9, 9.19, 8.48, 7.78, 7.07, 6.36, 5.66, 4.95, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 5.66, 6.36, 7.07, 7.78, 8.48, 9.19, 8.48, 7.78, 7.07, 6.36, 5.66, 4.95, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 5.66, 6.36, 7.07, 7.78, 7.07, 6.36, 5.66, 4.95, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 5.66, 6.36, 5.66, 4.95, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -5.66, -4.95, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -5.66, -6.36, -7.07, -6.36, -5.66, -4.95, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -5.66, -6.36, -7.07, -7.78, -8.48, -7.78, -7.07, -6.36, -5.66, -4.95, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -5.66, -6.36, -7.07, -7.78, -8.48, -9.19, -9.9, -9.19, -8.48, -7.78, -7.07, -6.36, -5.66, -4.95, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -5.66, -6.36, -7.07, -7.78, -8.48, -9.19, -9.9, -10.61, 0.5, 1.21, 1.91, 2.62, 3.33, 4.04, 4.74, 5.45, 6.16, 6.86, 7.57, 8.28, 8.98, 9.69, 10.4, 11.11, 11.81, 11.11, 10.4, 9.69, 8.98, 8.28, 7.57, 6.86, 6.16, 5.45, 4.74, 4.04, 3.33, 2.62, 1.91, 1.21, 1.91, 2.62, 3.33, 4.04, 4.74, 5.45, 6.16, 6.86, 7.57, 8.28, 8.98, 9.69, 10.4, 11.11, 11.81, 12.52, 13.23, 12.52, 11.81, 11.11, 10.4, 9.69, 8.98, 8.28, 7.57, 6.86, 6.16, 5.45, 4.74, 4.04, 3.33, 2.62, 3.33, 4.04, 4.74, 5.45, 6.16, 6.86, 7.57, 8.28, 8.98, 9.69, 10.4, 11.11, 11.81, 12.52, 13.23, 13.94, 14.64, 13.94, 13.23, 12.52, 11.81, 11.11, 10.4, 9.69, 8.98, 8.28, 7.57, 6.86, 6.16, 5.45, 4.74, 4.04, 4.74, 5.45, 6.16, 6.86, 7.57, 8.28, 8.98, 9.69, 10.4, 11.11, 11.81, 12.52, 13.23, 13.94, 14.64, 15.35, 16.06, 15.35, 14.64, 13.94, 13.23, 12.52, 11.81, 11.11, 10.4, 9.69, 8.98, 8.28, 7.57, 6.86, 6.16, 5.45, 6.16, 6.86, 7.57, 8.28, 8.98, 9.69, 10.4, 11.11, 11.81, 12.52, 13.23, 13.94, 14.64, 15.35, 16.06, 16.76, 17.47, 16.76, 16.06, 15.35, 14.64, 13.94, 13.23, 12.52, 11.81, 11.11, 10.4, 9.69, 8.98, 8.28, 7.57, 6.86, 7.57, 8.28, 8.98, 9.69, 10.4, 11.11, 11.81, 12.52, 13.23, 13.94, 14.64, 15.35, 16.06, 16.76, 17.47, 18.18, 18.89, 18.18, 17.47, 16.76, 16.06, 15.35, 14.64, 13.94, 13.23, 12.52, 11.81, 11.11, 10.4, 9.69, 8.98, 8.28, 8.98, 9.69, 10.4, 11.11, 11.81, 12.52, 13.23, 13.94, 14.64, 15.35, 16.06, 16.76, 17.47, 18.18, 18.89, 19.59, 20.3, 19.59, 18.89, 18.18, 17.47, 16.76, 16.06, 15.35, 14.64, 13.94, 13.23, 12.52, 11.81, 11.11, 10.4, 9.69, 10.4, 11.11, 11.81, 12.52, 13.23, 13.94, 14.64, 15.35, 16.06, 16.76, 17.47, 18.18, 18.89, 19.59, 20.3, 21.01, 21.71, 21.01, 20.3, 19.59, 18.89, 18.18, 17.47, 16.76, 16.06, 15.35, 14.64, 13.94, 13.23, 12.52, 11.81, 11.11, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -5.66, -6.36, -7.07, -7.78, -8.48, -9.19, -9.9, -10.61, -9.9, -9.19, -8.48, -7.78, -7.07, -6.36, -5.66, -4.95, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -5.66, -6.36, -7.07, -7.78, -8.48, -9.19, -8.48, -7.78, -7.07, -6.36, -5.66, -4.95, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -5.66, -6.36, -7.07, -7.78, -7.07, -6.36, -5.66, -4.95, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -5.66, -6.36, -5.66, -4.95, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 5.66, 4.95, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 5.66, 6.36, 7.07, 6.36, 5.66, 4.95, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 5.66, 6.36, 7.07, 7.78, 8.48, 7.78, 7.07, 6.36, 5.66, 4.95, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 5.66, 6.36, 7.07, 7.78, 8.48, 9.19, 9.9, 9.19, 8.48, 7.78, 7.07, 6.36, 5.66, 4.95, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 5.66, 6.36, 7.07, 7.78, 8.48, 9.19, 9.9, 10.61], "y": [0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -5.66, -6.36, -7.07, -7.78, -8.48, -9.19, -9.9, -10.61, -9.9, -9.19, -8.48, -7.78, -7.07, -6.36, -5.66, -4.95, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -5.66, -6.36, -7.07, -7.78, -8.48, -9.19, -8.48, -7.78, -7.07, -6.36, -5.66, -4.95, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -5.66, -6.36, -7.07, -7.78, -7.07, -6.36, -5.66, -4.95, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -5.66, -6.36, -5.66, -4.95, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 5.66, 4.95, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 5.66, 6.36, 7.07, 6.36, 5.66, 4.95, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 5.66, 6.36, 7.07, 7.78, 8.48, 7.78, 7.07, 6.36, 5.66, 4.95, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 5.66, 6.36, 7.07, 7.78, 8.48, 9.19, 9.9, 9.19, 8.48, 7.78, 7.07, 6.36, 5.66, 4.95, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 5.66, 6.36, 7.07, 7.78, 8.48, 9.19, 9.9, 10.61, -0.5, -1.21, -1.91, -2.62, -3.33, -4.04, -4.74, -5.45, -6.16, -6.86, -7.57, -8.28, -8.98, -9.69, -10.4, -11.11, -11.81, -11.11, -10.4, -9.69, -8.98, -8.28, -7.57, -6.86, -6.16, -5.45, -4.74, -4.04, -3.33, -2.62, -1.91, -1.21, -1.91, -2.62, -3.33, -4.04, -4.74, -5.45, -6.16, -6.86, -7.57, -8.28, -8.98, -9.69, -10.4, -11.11, -11.81, -12.52, -13.23, -12.52, -11.81, -11.11, -10.4, -9.69, -8.98, -8.28, -7.57, -6.86, -6.16, -5.45, -4.74, -4.04, -3.33, -2.62, -3.33, -4.04, -4.74, -5.45, -6.16, -6.86, -7.57, -8.28, -8.98, -9.69, -10.4, -11.11, -11.81, -12.52, -13.23, -13.94, -14.64, -13.94, -13.23, -12.52, -11.81, -11.11, -10.4, -9.69, -8.98, -8.28, -7.57, -6.86, -6.16, -5.45, -4.74, -4.04, -4.74, -5.45, -6.16, -6.86, -7.57, -8.28, -8.98, -9.69, -10.4, -11.11, -11.81, -12.52, -13.23, -13.94, -14.64, -15.35, -16.06, -15.35, -14.64, -13.94, -13.23, -12.52, -11.81, -11.11, -10.4, -9.69, -8.98, -8.28, -7.57, -6.86, -6.16, -5.45, -6.16, -6.86, -7.57, -8.28, -8.98, -9.69, -10.4, -11.11, -11.81, -12.52, -13.23, -13.94, -14.64, -15.35, -16.06, -16.76, -17.47, -16.76, -16.06, -15.35, -14.64, -13.94, -13.23, -12.52, -11.81, -11.11, -10.4, -9.69, -8.98, -8.28, -7.57, -6.86, -7.57, -8.28, -8.98, -9.69, -10.4, -11.11, -11.81, -12.52, -13.23, -13.94, -14.64, -15.35, -16.06, -16.76, -17.47, -18.18, -18.89, -18.18, -17.47, -16.76, -16.06, -15.35, -14.64, -13.94, -13.23, -12.52, -11.81, -11.11, -10.4, -9.69, -8.98, -8.28, -8.98, -9.69, -10.4, -11.11, -11.81, -12.52, -13.23, -13.94, -14.64, -15.35, -16.06, -16.76, -17.47, -18.18, -18.89, -19.59, -20.3, -19.59, -18.89, -18.18, -17.47, -16.76, -16.06, -15.35, -14.64, -13.94, -13.23, -12.52, -11.81, -11.11, -10.4, -9.69, -10.4, -11.11, -11.81, -12.52, -13.23, -13.94, -14.64, -15.35, -16.06, -16.76, -17.47, -18.18, -18.89, -19.59, -20.3, -21.01, -21.71, -21.01, -20.3, -19.59, -18.89, -18.18, -17.47, -16.76, -16.06, -15.35, -14.64, -13.94, -13.23, -12.52, -11.81, -11.11, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 5.66, 6.36, 7.07, 7.78, 8.48, 9.19, 9.9, 10.61, 9.9, 9.19, 8.48, 7.78, 7.07, 6.36, 5.66, 4.95, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 5.66, 6.36, 7.07, 7.78, 8.48, 9.19, 8.48, 7.78, 7.07, 6.36, 5.66, 4.95, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 5.66, 6.36, 7.07, 7.78, 7.07, 6.36, 5.66, 4.95, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 5.66, 6.36, 5.66, 4.95, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -5.66, -4.95, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 4.24, 4.95, 4.24, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -5.66, -6.36, -7.07, -6.36, -5.66, -4.95, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 2.83, 3.54, 2.83, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -5.66, -6.36, -7.07, -7.78, -8.48, -7.78, -7.07, -6.36, -5.66, -4.95, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 1.41, 2.12, 1.41, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -5.66, -6.36, -7.07, -7.78, -8.48, -9.19, -9.9, -9.19, -8.48, -7.78, -7.07, -6.36, -5.66, -4.95, -4.24, -3.54, -2.83, -2.12, -1.41, -0.71, 0.0, 0.71, 0.0, -0.71, -1.41, -2.12, -2.83, -3.54, -4.24, -4.95, -5.66, -6.36, -7.07, -7.78, -8.48, -9.19, -9.9, -10.61, 0.5, 1.21, 1.91, 2.62, 3.33, 4.04, 4.74, 5.45, 6.16, 6.86, 7.57, 8.28, 8.98, 9.69, 10.4, 11.11, 11.81, 11.11, 10.4, 9.69, 8.98, 8.28, 7.57, 6.86, 6.16, 5.45, 4.74, 4.04, 3.33, 2.62, 1.91, 1.21, 1.91, 2.62, 3.33, 4.04, 4.74, 5.45, 6.16, 6.86, 7.57, 8.28, 8.98, 9.69, 10.4, 11.11, 11.81, 12.52, 13.23, 12.52, 11.81, 11.11, 10.4, 9.69, 8.98, 8.28, 7.57, 6.86, 6.16, 5.45, 4.74, 4.04, 3.33, 2.62, 3.33, 4.04, 4.74, 5.45, 6.16, 6.86, 7.57, 8.28, 8.98, 9.69, 10.4, 11.11, 11.81, 12.52, 13.23, 13.94, 14.64, 13.94, 13.23, 12.52, 11.81, 11.11, 10.4, 9.69, 8.98, 8.28, 7.57, 6.86, 6.16, 5.45, 4.74, 4.04, 4.74, 5.45, 6.16, 6.86, 7.57, 8.28, 8.98, 9.69, 10.4, 11.11, 11.81, 12.52, 13.23, 13.94, 14.64, 15.35, 16.06, 15.35, 14.64, 13.94, 13.23, 12.52, 11.81, 11.11, 10.4, 9.69, 8.98, 8.28, 7.57, 6.86, 6.16, 5.45, 6.16, 6.86, 7.57, 8.28, 8.98, 9.69, 10.4, 11.11, 11.81, 12.52, 13.23, 13.94, 14.64, 15.35, 16.06, 16.76, 17.47, 16.76, 16.06, 15.35, 14.64, 13.94, 13.23, 12.52, 11.81, 11.11, 10.4, 9.69, 8.98, 8.28, 7.57, 6.86, 7.57, 8.28, 8.98, 9.69, 10.4, 11.11, 11.81, 12.52, 13.23, 13.94, 14.64, 15.35, 16.06, 16.76, 17.47, 18.18, 18.89, 18.18, 17.47, 16.76, 16.06, 15.35, 14.64, 13.94, 13.23, 12.52, 11.81, 11.11, 10.4, 9.69, 8.98, 8.28, 8.98, 9.69, 10.4, 11.11, 11.81, 12.52, 13.23, 13.94, 14.64, 15.35, 16.06, 16.76, 17.47, 18.18, 18.89, 19.59, 20.3, 19.59, 18.89, 18.18, 17.47, 16.76, 16.06, 15.35, 14.64, 13.94, 13.23, 12.52, 11.81, 11.11, 10.4, 9.69, 10.4, 11.11, 11.81, 12.52, 13.23, 13.94, 14.64, 15.35, 16.06, 16.76, 17.47, 18.18, 18.89, 19.59, 20.3, 21.01, 21.71, 21.01, 20.3, 19.59, 18.89, 18.18, 17.47, 16.76, 16.06, 15.35, 14.64, 13.94, 13.23, 12.52, 11.81, 11.11], "diameter": 0.25}}}
|
4
|
-
)";
|
@@ -1,37 +0,0 @@
|
|
1
|
-
import zipfile
|
2
|
-
from pathlib import Path
|
3
|
-
|
4
|
-
import httpx
|
5
|
-
|
6
|
-
from fastled.env import DEFAULT_URL
|
7
|
-
|
8
|
-
ENDPOINT = f"{DEFAULT_URL}/project/init"
|
9
|
-
|
10
|
-
|
11
|
-
def project_init() -> Path:
|
12
|
-
"""
|
13
|
-
Initialize a new FastLED project.
|
14
|
-
"""
|
15
|
-
response = httpx.get(ENDPOINT, timeout=20)
|
16
|
-
response.raise_for_status()
|
17
|
-
content = response.content
|
18
|
-
output = Path("fastled.zip")
|
19
|
-
output.write_bytes(content)
|
20
|
-
# unzip the content
|
21
|
-
outdir = Path("fastled")
|
22
|
-
if outdir.exists():
|
23
|
-
print("Project already initialized.")
|
24
|
-
return Path("fastled").iterdir().__next__()
|
25
|
-
with zipfile.ZipFile(output, "r") as zip_ref:
|
26
|
-
zip_ref.extractall(outdir)
|
27
|
-
print(f"Project initialized successfully at {outdir}")
|
28
|
-
output.unlink()
|
29
|
-
return Path("fastled").iterdir().__next__()
|
30
|
-
|
31
|
-
|
32
|
-
def unit_test() -> None:
|
33
|
-
project_init()
|
34
|
-
|
35
|
-
|
36
|
-
if __name__ == "__main__":
|
37
|
-
unit_test()
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fastled-1.1.31 → fastled-1.1.32}/examples/Chromancer/gary_woos_wled_port/gary_woos_wled_ledmap.h
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|