fastled 1.1.22__tar.gz → 1.1.24__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.22 → fastled-1.1.24}/PKG-INFO +5 -2
- {fastled-1.1.22 → fastled-1.1.24}/README.md +3 -1
- {fastled-1.1.22 → fastled-1.1.24}/pyproject.toml +1 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/__init__.py +1 -1
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/app.py +51 -36
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/client_server.py +7 -6
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/docker_manager.py +532 -526
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/keyboard.py +8 -6
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/select_sketch_directory.py +1 -1
- fastled-1.1.24/src/fastled/spinner.py +34 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled.egg-info/PKG-INFO +5 -2
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled.egg-info/SOURCES.txt +1 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled.egg-info/requires.txt +1 -0
- {fastled-1.1.22 → fastled-1.1.24}/tests/test_ino/bad/bad.ino +2 -2
- {fastled-1.1.22/tests/test_ino/wasm → fastled-1.1.24/tests/test_ino/embedded}/wasm.ino +2 -2
- {fastled-1.1.22/tests/test_ino/embedded → fastled-1.1.24/tests/test_ino/wasm}/wasm.ino +2 -2
- {fastled-1.1.22 → fastled-1.1.24}/.aiderignore +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/.github/workflows/build_multi_docker_image.yml +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/.github/workflows/lint.yml +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/.github/workflows/test_macos.yml +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/.github/workflows/test_ubuntu.yml +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/.github/workflows/test_win.yml +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/.gitignore +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/.pylintrc +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/.vscode/launch.json +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/.vscode/settings.json +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/.vscode/tasks.json +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/LICENSE +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/MANIFEST.in +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/clean +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/docs/fastled.js +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/docs/fastled.wasm +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/docs/index.css +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/docs/index.html +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/docs/index.js +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Blink/Blink.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/Chromancer.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/detail.h +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/gary_woos_wled_port/gary_woos_wled_ledmap.h +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/gary_woos_wled_port/presets.json +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/gary_woos_wled_port/presets.min.json +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/gen.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/mapping.h +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/net.h +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/output.json +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/ripple.h +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/screenmap.json.h +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/ColorPalette/ColorPalette.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/ColorTemperature/ColorTemperature.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Cylon/Cylon.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/DemoReel100/DemoReel100.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Esp32Rmt51/Esp32Rmt51.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/EspI2SDemo/EspI2SDemo.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Fire2012/Fire2012.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Fire2012WithPalette/Fire2012WithPalette.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/FirstLight/FirstLight.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/FxEngine/FxEngine.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Noise/Noise.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/NoisePlayground/NoisePlayground.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/NoisePlusPalette/NoisePlusPalette.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/OctoWS2811/OctoWS2811.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Pacifica/Pacifica.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Pride2015/Pride2015.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/SdCard/SdCard.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/SdCard/screenmap.json.h +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/TwinkleFox/TwinkleFox.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Video/Gfx2Video/Gfx2Video.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/WasmScreenCoords/WasmScreenCoords.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/Water/Water.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/XYMatrix/XYMatrix.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/examples/wasm/wasm.ino +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/install +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/lint +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/requirements.testing.txt +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/setup.cfg +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/setup.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/assets/example.txt +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/build_mode.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/cli.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/compile_server.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/env.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/filewatcher.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/open_browser.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/paths.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/sketch.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/string_diff.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/types.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/util.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled/web_compile.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled.egg-info/dependency_links.txt +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled.egg-info/entry_points.txt +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/src/fastled.egg-info/top_level.txt +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/test +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/tests/test_bad_ino.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/tests/test_cli.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/tests/test_compile_server.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/tests/test_embedded_data.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/tests/test_filechanger.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/tests/test_ino/embedded/data/bigdata.dat +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/tests/test_server_and_client_seperatly.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/tests/test_webcompile.py +0 -0
- {fastled-1.1.22 → fastled-1.1.24}/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.24
|
4
4
|
Summary: FastLED Wasm Compiler
|
5
5
|
Home-page: https://github.com/zackees/fastled-wasm
|
6
6
|
Maintainer: Zachary Vorhies
|
@@ -19,6 +19,7 @@ Requires-Dist: filelock
|
|
19
19
|
Requires-Dist: disklru>=2.0.1
|
20
20
|
Requires-Dist: appdirs
|
21
21
|
Requires-Dist: rapidfuzz
|
22
|
+
Requires-Dist: progress
|
22
23
|
|
23
24
|
# FastLED Wasm compiler
|
24
25
|
|
@@ -32,6 +33,7 @@ Compiles an Arduino/Platformio sketch into a wasm binary that can be run directl
|
|
32
33
|
[](https://github.com/zackees/fastled-wasm/actions/workflows/test_win.yml)
|
33
34
|
|
34
35
|
|
36
|
+
|
35
37
|
# About
|
36
38
|
|
37
39
|
This python app will compile your FastLED style sketches into html/js/wasm output that runs directly in the browser.
|
@@ -159,9 +161,10 @@ A: `delay()` will block `loop()` which blocks the main thread of the browser. Th
|
|
159
161
|
Q: How can I get the compiled size of my FastLED sketch smaller?
|
160
162
|
A: A big chunk of space is being used by unnecessary javascript `emscripten` is bundling. This can be tweeked by the wasm_compiler_settings.py file in the FastLED repo.
|
161
163
|
|
162
|
-
|
163
164
|
# Revisions
|
164
165
|
|
166
|
+
* 1.1.24 - Adds progress spinning bar for pulling images, which take a long time.
|
167
|
+
* 1.1.23 - Various fixes for MacOS
|
165
168
|
* 1.1.22 - Selecting sketch now allows strings and narrowing down paths if ambiguity
|
166
169
|
* 1.1.21 - Now always watches for space/enter key events to trigger a recompile.
|
167
170
|
* 1.1.20 - Fixed a regression for 1.1.16 involving docker throwing an exception before DockerManager.is_running() could be called so it can be launched.
|
@@ -10,6 +10,7 @@ Compiles an Arduino/Platformio sketch into a wasm binary that can be run directl
|
|
10
10
|
[](https://github.com/zackees/fastled-wasm/actions/workflows/test_win.yml)
|
11
11
|
|
12
12
|
|
13
|
+
|
13
14
|
# About
|
14
15
|
|
15
16
|
This python app will compile your FastLED style sketches into html/js/wasm output that runs directly in the browser.
|
@@ -137,9 +138,10 @@ A: `delay()` will block `loop()` which blocks the main thread of the browser. Th
|
|
137
138
|
Q: How can I get the compiled size of my FastLED sketch smaller?
|
138
139
|
A: A big chunk of space is being used by unnecessary javascript `emscripten` is bundling. This can be tweeked by the wasm_compiler_settings.py file in the FastLED repo.
|
139
140
|
|
140
|
-
|
141
141
|
# Revisions
|
142
142
|
|
143
|
+
* 1.1.24 - Adds progress spinning bar for pulling images, which take a long time.
|
144
|
+
* 1.1.23 - Various fixes for MacOS
|
143
145
|
* 1.1.22 - Selecting sketch now allows strings and narrowing down paths if ambiguity
|
144
146
|
* 1.1.21 - Now always watches for space/enter key events to trigger a recompile.
|
145
147
|
* 1.1.20 - Fixed a regression for 1.1.16 involving docker throwing an exception before DockerManager.is_running() could be called so it can be launched.
|
@@ -70,6 +70,7 @@ def parse_args() -> argparse.Namespace:
|
|
70
70
|
)
|
71
71
|
parser.add_argument(
|
72
72
|
"--update",
|
73
|
+
"--upgrade",
|
73
74
|
action="store_true",
|
74
75
|
help="Update the wasm compiler (if necessary) before running",
|
75
76
|
)
|
@@ -101,45 +102,51 @@ def parse_args() -> argparse.Namespace:
|
|
101
102
|
cwd_is_fastled = looks_like_fastled_repo(Path(os.getcwd()))
|
102
103
|
|
103
104
|
args = parser.parse_args()
|
104
|
-
if args.update:
|
105
|
-
args.
|
106
|
-
|
107
|
-
args.auto_update = False
|
108
|
-
else:
|
109
|
-
args.auto_update = None
|
110
|
-
|
111
|
-
if not cwd_is_fastled and not args.localhost and not args.web and not args.server:
|
112
|
-
print(f"Using web compiler at {DEFAULT_URL}")
|
113
|
-
args.web = DEFAULT_URL
|
114
|
-
if cwd_is_fastled and not args.web and not args.server:
|
115
|
-
print("Forcing --local mode because we are in the FastLED repo")
|
116
|
-
args.localhost = True
|
117
|
-
if args.localhost:
|
118
|
-
args.web = "localhost"
|
119
|
-
if args.interactive and not args.server:
|
120
|
-
print("--interactive forces --server mode")
|
121
|
-
args.server = True
|
122
|
-
if args.directory is None and not args.server:
|
123
|
-
# does current directory look like a sketch?
|
124
|
-
maybe_sketch_dir = Path(os.getcwd())
|
125
|
-
if looks_like_sketch_directory(maybe_sketch_dir):
|
126
|
-
args.directory = str(maybe_sketch_dir)
|
105
|
+
if not args.update:
|
106
|
+
if args.no_auto_updates:
|
107
|
+
args.auto_update = False
|
127
108
|
else:
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
109
|
+
args.auto_update = None
|
110
|
+
|
111
|
+
if (
|
112
|
+
not cwd_is_fastled
|
113
|
+
and not args.localhost
|
114
|
+
and not args.web
|
115
|
+
and not args.server
|
116
|
+
):
|
117
|
+
print(f"Using web compiler at {DEFAULT_URL}")
|
118
|
+
args.web = DEFAULT_URL
|
119
|
+
if cwd_is_fastled and not args.web and not args.server:
|
120
|
+
print("Forcing --local mode because we are in the FastLED repo")
|
121
|
+
args.localhost = True
|
122
|
+
if args.localhost:
|
123
|
+
args.web = "localhost"
|
124
|
+
if args.interactive and not args.server:
|
125
|
+
print("--interactive forces --server mode")
|
126
|
+
args.server = True
|
127
|
+
if args.directory is None and not args.server:
|
128
|
+
# does current directory look like a sketch?
|
129
|
+
maybe_sketch_dir = Path(os.getcwd())
|
130
|
+
if looks_like_sketch_directory(maybe_sketch_dir):
|
131
|
+
args.directory = str(maybe_sketch_dir)
|
133
132
|
else:
|
134
|
-
|
135
|
-
|
133
|
+
sketch_directories = find_sketch_directories(maybe_sketch_dir)
|
134
|
+
selected_dir = select_sketch_directory(
|
135
|
+
sketch_directories, cwd_is_fastled
|
136
136
|
)
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
137
|
+
if selected_dir:
|
138
|
+
print(f"Using sketch directory: {selected_dir}")
|
139
|
+
args.directory = selected_dir
|
140
|
+
else:
|
141
|
+
print(
|
142
|
+
"\nYou either need to specify a sketch directory or run in --server mode."
|
143
|
+
)
|
144
|
+
sys.exit(1)
|
145
|
+
elif args.directory is not None and os.path.isfile(args.directory):
|
146
|
+
dir_path = Path(args.directory).parent
|
147
|
+
if looks_like_sketch_directory(dir_path):
|
148
|
+
print(f"Using sketch directory: {dir_path}")
|
149
|
+
args.directory = str(dir_path)
|
143
150
|
|
144
151
|
return args
|
145
152
|
|
@@ -167,6 +174,13 @@ def run_server(args: argparse.Namespace) -> int:
|
|
167
174
|
|
168
175
|
def main() -> int:
|
169
176
|
args = parse_args()
|
177
|
+
if args.update:
|
178
|
+
# Force auto_update to ensure update check happens
|
179
|
+
compile_server = CompileServer(interactive=False, auto_updates=True)
|
180
|
+
compile_server.stop()
|
181
|
+
print("Finished updating.")
|
182
|
+
return 0
|
183
|
+
|
170
184
|
if args.server:
|
171
185
|
print("Running in server only mode.")
|
172
186
|
return run_server(args)
|
@@ -178,6 +192,7 @@ def main() -> int:
|
|
178
192
|
if __name__ == "__main__":
|
179
193
|
try:
|
180
194
|
os.chdir("../fastled")
|
195
|
+
sys.argv.append("--upgrade")
|
181
196
|
sys.exit(main())
|
182
197
|
except KeyboardInterrupt:
|
183
198
|
print("\nExiting from main...")
|
@@ -268,14 +268,15 @@ def run_client_server(args: argparse.Namespace) -> int:
|
|
268
268
|
space_bar_pressed = SpaceBarWatcher.watch_space_bar_pressed(
|
269
269
|
timeout=1.0
|
270
270
|
)
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
if space_bar_pressed or file_had_changes:
|
271
|
+
file_changes = source_code_watcher.get_all_changes()
|
272
|
+
|
273
|
+
if space_bar_pressed or file_changes:
|
275
274
|
if space_bar_pressed:
|
276
275
|
print("Space bar pressed, triggering recompile...")
|
277
|
-
elif
|
278
|
-
print(
|
276
|
+
elif file_changes:
|
277
|
+
print(
|
278
|
+
f"Changes detected in {','.join(file_changes)}, triggering recompile..."
|
279
|
+
)
|
279
280
|
last_compiled_result = compile_function(
|
280
281
|
last_hash_value=None
|
281
282
|
)
|