fastled 1.2.2__tar.gz → 1.2.4__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.
Files changed (113) hide show
  1. {fastled-1.2.2 → fastled-1.2.4}/.github/workflows/test_build_exe.yml +1 -1
  2. {fastled-1.2.2 → fastled-1.2.4}/PKG-INFO +6 -3
  3. {fastled-1.2.2 → fastled-1.2.4}/README.md +4 -1
  4. {fastled-1.2.2 → fastled-1.2.4}/pyproject.toml +2 -2
  5. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/__init__.py +1 -1
  6. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/keyboard.py +5 -0
  7. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/open_browser.py +13 -18
  8. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/site/build.py +8 -1
  9. {fastled-1.2.2 → fastled-1.2.4}/src/fastled.egg-info/PKG-INFO +6 -3
  10. {fastled-1.2.2 → fastled-1.2.4}/src/fastled.egg-info/SOURCES.txt +0 -34
  11. {fastled-1.2.2 → fastled-1.2.4}/src/fastled.egg-info/requires.txt +1 -1
  12. {fastled-1.2.2 → fastled-1.2.4}/tests/test_build_examples.py +8 -0
  13. {fastled-1.2.2 → fastled-1.2.4}/tests/test_ino/bad/bad.ino +1 -0
  14. {fastled-1.2.2/tests/test_ino/wasm → fastled-1.2.4/tests/test_ino/embedded}/wasm.ino +2 -0
  15. {fastled-1.2.2/tests/test_ino/embedded → fastled-1.2.4/tests/test_ino/wasm}/wasm.ino +2 -0
  16. {fastled-1.2.2 → fastled-1.2.4}/tests/test_project_init.py +7 -4
  17. fastled-1.2.2/examples/Blink/Blink.ino +0 -73
  18. fastled-1.2.2/examples/Chromancer/Chromancer.ino +0 -555
  19. fastled-1.2.2/examples/Chromancer/detail.h +0 -80
  20. fastled-1.2.2/examples/Chromancer/gary_woos_wled_port/gary_woos_wled_ledmap.h +0 -47
  21. fastled-1.2.2/examples/Chromancer/gary_woos_wled_port/presets.json +0 -6681
  22. fastled-1.2.2/examples/Chromancer/gary_woos_wled_port/presets.min.json +0 -1
  23. fastled-1.2.2/examples/Chromancer/gen.py +0 -270
  24. fastled-1.2.2/examples/Chromancer/mapping.h +0 -158
  25. fastled-1.2.2/examples/Chromancer/net.h +0 -168
  26. fastled-1.2.2/examples/Chromancer/output.json +0 -1
  27. fastled-1.2.2/examples/Chromancer/ripple.h +0 -424
  28. fastled-1.2.2/examples/Chromancer/screenmap.json.h +0 -4
  29. fastled-1.2.2/examples/ColorPalette/ColorPalette.ino +0 -192
  30. fastled-1.2.2/examples/ColorTemperature/ColorTemperature.ino +0 -89
  31. fastled-1.2.2/examples/Cylon/Cylon.ino +0 -31
  32. fastled-1.2.2/examples/DemoReel100/DemoReel100.ino +0 -45
  33. fastled-1.2.2/examples/Esp32Rmt51/Esp32Rmt51.ino +0 -50
  34. fastled-1.2.2/examples/EspI2SDemo/EspI2SDemo.ino +0 -49
  35. fastled-1.2.2/examples/Fire2012/Fire2012.ino +0 -71
  36. fastled-1.2.2/examples/Fire2012WithPalette/Fire2012WithPalette.ino +0 -168
  37. fastled-1.2.2/examples/FirstLight/FirstLight.ino +0 -96
  38. fastled-1.2.2/examples/FxEngine/FxEngine.ino +0 -63
  39. fastled-1.2.2/examples/Noise/Noise.ino +0 -124
  40. fastled-1.2.2/examples/NoisePlayground/NoisePlayground.ino +0 -90
  41. fastled-1.2.2/examples/NoisePlusPalette/NoisePlusPalette.ino +0 -101
  42. fastled-1.2.2/examples/OctoWS2811/OctoWS2811.ino +0 -48
  43. fastled-1.2.2/examples/Pacifica/Pacifica.ino +0 -38
  44. fastled-1.2.2/examples/Pride2015/Pride2015.ino +0 -28
  45. fastled-1.2.2/examples/TwinkleFox/TwinkleFox.ino +0 -30
  46. fastled-1.2.2/examples/Video/Gfx2Video/Gfx2Video.ino +0 -90
  47. fastled-1.2.2/examples/WasmScreenCoords/WasmScreenCoords.ino +0 -66
  48. fastled-1.2.2/examples/Water/Water.ino +0 -147
  49. fastled-1.2.2/examples/XYMatrix/XYMatrix.ino +0 -216
  50. fastled-1.2.2/examples/wasm/wasm.ino +0 -138
  51. {fastled-1.2.2 → fastled-1.2.4}/.aiderignore +0 -0
  52. {fastled-1.2.2 → fastled-1.2.4}/.github/workflows/build_multi_docker_image.yml +0 -0
  53. {fastled-1.2.2 → fastled-1.2.4}/.github/workflows/build_webpage.yml +0 -0
  54. {fastled-1.2.2 → fastled-1.2.4}/.github/workflows/lint.yml +0 -0
  55. {fastled-1.2.2 → fastled-1.2.4}/.github/workflows/publish_release.yml +0 -0
  56. {fastled-1.2.2 → fastled-1.2.4}/.github/workflows/test_macos.yml +0 -0
  57. {fastled-1.2.2 → fastled-1.2.4}/.github/workflows/test_ubuntu.yml +0 -0
  58. {fastled-1.2.2 → fastled-1.2.4}/.github/workflows/test_win.yml +0 -0
  59. {fastled-1.2.2 → fastled-1.2.4}/.gitignore +0 -0
  60. {fastled-1.2.2 → fastled-1.2.4}/.pylintrc +0 -0
  61. {fastled-1.2.2 → fastled-1.2.4}/.vscode/launch.json +0 -0
  62. {fastled-1.2.2 → fastled-1.2.4}/.vscode/settings.json +0 -0
  63. {fastled-1.2.2 → fastled-1.2.4}/.vscode/tasks.json +0 -0
  64. {fastled-1.2.2 → fastled-1.2.4}/LICENSE +0 -0
  65. {fastled-1.2.2 → fastled-1.2.4}/MANIFEST.in +0 -0
  66. {fastled-1.2.2 → fastled-1.2.4}/RELEASE.md +0 -0
  67. {fastled-1.2.2 → fastled-1.2.4}/TODO.md +0 -0
  68. {fastled-1.2.2 → fastled-1.2.4}/build_exe.py +0 -0
  69. {fastled-1.2.2 → fastled-1.2.4}/build_site.py +0 -0
  70. {fastled-1.2.2 → fastled-1.2.4}/clean +0 -0
  71. {fastled-1.2.2 → fastled-1.2.4}/install +0 -0
  72. {fastled-1.2.2 → fastled-1.2.4}/lint +0 -0
  73. {fastled-1.2.2 → fastled-1.2.4}/requirements.testing.txt +0 -0
  74. {fastled-1.2.2 → fastled-1.2.4}/setup.cfg +0 -0
  75. {fastled-1.2.2 → fastled-1.2.4}/setup.py +0 -0
  76. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/app.py +0 -0
  77. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/assets/example.txt +0 -0
  78. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/cli.py +0 -0
  79. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/client_server.py +0 -0
  80. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/compile_server.py +0 -0
  81. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/compile_server_impl.py +0 -0
  82. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/docker_manager.py +0 -0
  83. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/filewatcher.py +0 -0
  84. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/live_client.py +0 -0
  85. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/parse_args.py +0 -0
  86. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/paths.py +0 -0
  87. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/project_init.py +0 -0
  88. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/select_sketch_directory.py +0 -0
  89. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/settings.py +0 -0
  90. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/sketch.py +0 -0
  91. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/spinner.py +0 -0
  92. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/string_diff.py +0 -0
  93. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/test/can_run_local_docker_tests.py +0 -0
  94. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/test/examples.py +0 -0
  95. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/types.py +0 -0
  96. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/util.py +0 -0
  97. {fastled-1.2.2 → fastled-1.2.4}/src/fastled/web_compile.py +0 -0
  98. {fastled-1.2.2 → fastled-1.2.4}/src/fastled.egg-info/dependency_links.txt +0 -0
  99. {fastled-1.2.2 → fastled-1.2.4}/src/fastled.egg-info/entry_points.txt +0 -0
  100. {fastled-1.2.2 → fastled-1.2.4}/src/fastled.egg-info/top_level.txt +0 -0
  101. {fastled-1.2.2 → fastled-1.2.4}/test +0 -0
  102. {fastled-1.2.2 → fastled-1.2.4}/tests/test_api.py +0 -0
  103. {fastled-1.2.2 → fastled-1.2.4}/tests/test_bad_ino.py +0 -0
  104. {fastled-1.2.2 → fastled-1.2.4}/tests/test_cli.py +0 -0
  105. {fastled-1.2.2 → fastled-1.2.4}/tests/test_compile_server.py +0 -0
  106. {fastled-1.2.2 → fastled-1.2.4}/tests/test_docker_linux_on_windows.py +0 -0
  107. {fastled-1.2.2 → fastled-1.2.4}/tests/test_embedded_data.py +0 -0
  108. {fastled-1.2.2 → fastled-1.2.4}/tests/test_examples.py +0 -0
  109. {fastled-1.2.2 → fastled-1.2.4}/tests/test_filechanger.py +0 -0
  110. {fastled-1.2.2 → fastled-1.2.4}/tests/test_ino/embedded/data/bigdata.dat +0 -0
  111. {fastled-1.2.2 → fastled-1.2.4}/tests/test_server_and_client_seperatly.py +0 -0
  112. {fastled-1.2.2 → fastled-1.2.4}/tests/test_webcompile.py +0 -0
  113. {fastled-1.2.2 → fastled-1.2.4}/upload_package.sh +0 -0
@@ -1,4 +1,4 @@
1
- name: Build Executables
1
+ name: Test Build Executables
2
2
 
3
3
  on: [push]
4
4
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastled
3
- Version: 1.2.2
3
+ Version: 1.2.4
4
4
  Summary: FastLED Wasm Compiler
5
5
  Home-page: https://github.com/zackees/fastled-wasm
6
6
  Maintainer: Zachary Vorhies
@@ -13,13 +13,13 @@ License-File: LICENSE
13
13
  Requires-Dist: docker>=7.1.0
14
14
  Requires-Dist: httpx>=0.28.1
15
15
  Requires-Dist: watchdog>=6.0.0
16
- Requires-Dist: livereload>=2.7.0
17
16
  Requires-Dist: download>=0.3.5
18
17
  Requires-Dist: filelock>=3.16.1
19
18
  Requires-Dist: disklru>=2.0.1
20
19
  Requires-Dist: appdirs>=1.4.4
21
20
  Requires-Dist: rapidfuzz>=3.10.1
22
21
  Requires-Dist: progress>=1.6
22
+ Requires-Dist: nodejs-bin[cmd]
23
23
 
24
24
  # FastLED Wasm compiler
25
25
 
@@ -27,10 +27,11 @@ Requires-Dist: progress>=1.6
27
27
  [![MacOS_Tests](https://github.com/zackees/fastled-wasm/actions/workflows/test_macos.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_macos.yml)
28
28
  [![Ubuntu_Tests](https://github.com/zackees/fastled-wasm/actions/workflows/test_ubuntu.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_ubuntu.yml)
29
29
  [![Win_Tests](https://github.com/zackees/fastled-wasm/actions/workflows/test_win.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_win.yml)
30
+ [![Test Build Executables](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml)
30
31
 
31
32
  [![Build and Push Multi Docker Image](https://github.com/zackees/fastled-wasm/actions/workflows/build_multi_docker_image.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/build_multi_docker_image.yml)
32
- [![Build Executables](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml)
33
33
  [![Publish Release](https://github.com/zackees/fastled-wasm/actions/workflows/publish_release.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/publish_release.yml)
34
+ [![Build Webpage](https://github.com/zackees/fastled-wasm/actions/workflows/build_webpage.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/build_webpage.yml)
34
35
 
35
36
 
36
37
 
@@ -265,6 +266,8 @@ A: A big chunk of space is being used by unnecessary javascript `emscripten` bun
265
266
 
266
267
  # Revisions
267
268
 
269
+ * 1.1.24 - Mac/Linux now properly responds to ctrl-c when waiting for a key event.
270
+ * 1.1.23 - Fixes missing `live-server` on platforms that don't have it already.
268
271
  * 1.2.22 - Added `--purge` and added docker api at __init__.
269
272
  * 1.2.00 - `fastled.exe` is now a signed binary on windows, however it's a self signed binary so you'll still get the warning on the first open. There's been a small api change between the server and the client for fetching projects.
270
273
  * 1.1.69 - Changed the binary name to `fastled.exe` instead of something like `fastled-windows-x64.exe`
@@ -4,10 +4,11 @@
4
4
  [![MacOS_Tests](https://github.com/zackees/fastled-wasm/actions/workflows/test_macos.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_macos.yml)
5
5
  [![Ubuntu_Tests](https://github.com/zackees/fastled-wasm/actions/workflows/test_ubuntu.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_ubuntu.yml)
6
6
  [![Win_Tests](https://github.com/zackees/fastled-wasm/actions/workflows/test_win.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_win.yml)
7
+ [![Test Build Executables](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml)
7
8
 
8
9
  [![Build and Push Multi Docker Image](https://github.com/zackees/fastled-wasm/actions/workflows/build_multi_docker_image.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/build_multi_docker_image.yml)
9
- [![Build Executables](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml)
10
10
  [![Publish Release](https://github.com/zackees/fastled-wasm/actions/workflows/publish_release.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/publish_release.yml)
11
+ [![Build Webpage](https://github.com/zackees/fastled-wasm/actions/workflows/build_webpage.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/build_webpage.yml)
11
12
 
12
13
 
13
14
 
@@ -242,6 +243,8 @@ A: A big chunk of space is being used by unnecessary javascript `emscripten` bun
242
243
 
243
244
  # Revisions
244
245
 
246
+ * 1.1.24 - Mac/Linux now properly responds to ctrl-c when waiting for a key event.
247
+ * 1.1.23 - Fixes missing `live-server` on platforms that don't have it already.
245
248
  * 1.2.22 - Added `--purge` and added docker api at __init__.
246
249
  * 1.2.00 - `fastled.exe` is now a signed binary on windows, however it's a self signed binary so you'll still get the warning on the first open. There's been a small api change between the server and the client for fetching projects.
247
250
  * 1.1.69 - Changed the binary name to `fastled.exe` instead of something like `fastled-windows-x64.exe`
@@ -14,13 +14,13 @@ dependencies = [
14
14
  "docker>=7.1.0",
15
15
  "httpx>=0.28.1",
16
16
  "watchdog>=6.0.0",
17
- "livereload>=2.7.0",
18
17
  "download>=0.3.5",
19
18
  "filelock>=3.16.1",
20
19
  "disklru>=2.0.1",
21
20
  "appdirs>=1.4.4",
22
21
  "rapidfuzz>=3.10.1",
23
- "progress>=1.6"
22
+ "progress>=1.6",
23
+ "nodejs-bin[cmd]",
24
24
  ]
25
25
 
26
26
  dynamic = ["version"]
@@ -13,7 +13,7 @@ from .types import BuildMode, CompileResult, CompileServerError
13
13
  # IMPORTANT! There's a bug in github which will REJECT any version update
14
14
  # that has any other change in the repo. Please bump the version as the
15
15
  # ONLY change in a commit, or else the pypi update and the release will fail.
16
- __version__ = "1.2.2"
16
+ __version__ = "1.2.4"
17
17
 
18
18
 
19
19
  class Api:
@@ -1,3 +1,4 @@
1
+ import _thread
1
2
  import os
2
3
  import select
3
4
  import sys
@@ -69,6 +70,10 @@ class SpaceBarWatcher:
69
70
  # Check if there's input ready
70
71
  if select.select([sys.stdin], [], [], 0.1)[0]:
71
72
  char = sys.stdin.read(1)
73
+ if ord(char) == 3: # ctrl+c on mac, maybe also linux?
74
+ _thread.interrupt_main()
75
+ break
76
+
72
77
  if char in _WHITE_SPACE:
73
78
  self.queue.put(ord(" "))
74
79
  finally:
@@ -1,23 +1,22 @@
1
1
  import os
2
+ import shutil
2
3
  import socket
4
+ import subprocess
3
5
  import sys
4
6
  from multiprocessing import Process
5
7
  from pathlib import Path
6
8
 
7
- from livereload import Server
8
-
9
9
  DEFAULT_PORT = 8081
10
10
 
11
11
 
12
- def _open_browser_python(fastled_js: Path, port: int) -> Server:
12
+ def _open_browser_python(fastled_js: Path) -> None:
13
13
  """Start livereload server in the fastled_js directory using API"""
14
- print(f"\nStarting livereload server in {fastled_js} on port {port}")
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
14
+ print(f"\nStarting livereload server in {fastled_js}")
15
+ if shutil.which("live-server") is None:
16
+ print("live-server not found. Installing it with the embedded npm...")
17
+ subprocess.run(
18
+ [sys.executable, "-m", "nodejs.npm", "install", "-g", "live-server"]
19
+ )
21
20
  os.system(f"cd {fastled_js} && live-server")
22
21
 
23
22
 
@@ -31,10 +30,10 @@ def _find_open_port(start_port: int) -> int:
31
30
  port += 1
32
31
 
33
32
 
34
- def _run_server(fastled_js: Path, port: int) -> None:
33
+ def _run_server(fastled_js: Path) -> None:
35
34
  """Function to run in separate process that starts the livereload server"""
36
35
  sys.stderr = open(os.devnull, "w") # Suppress stderr output
37
- _open_browser_python(fastled_js, port)
36
+ _open_browser_python(fastled_js)
38
37
  try:
39
38
  # Keep the process running
40
39
  while True:
@@ -43,16 +42,12 @@ def _run_server(fastled_js: Path, port: int) -> None:
43
42
  print("\nShutting down livereload server...")
44
43
 
45
44
 
46
- def open_browser_process(fastled_js: Path, port: int | None = None) -> Process:
45
+ def open_browser_process(fastled_js: Path) -> Process:
47
46
  """Start livereload server in the fastled_js directory and return the process"""
48
- if port is None:
49
- port = DEFAULT_PORT
50
-
51
- port = _find_open_port(port)
52
47
 
53
48
  process = Process(
54
49
  target=_run_server,
55
- args=(fastled_js, port),
50
+ args=(fastled_js,),
56
51
  daemon=True,
57
52
  )
58
53
  process.start()
@@ -298,7 +298,14 @@ INDEX_TEMPLATE = """<!DOCTYPE html>
298
298
  """
299
299
 
300
300
 
301
- EXAMPLES = ["wasm", "Chromancer", "SdCard", "NoiseRing", "LuminescentGrand", "Water"]
301
+ EXAMPLES = [
302
+ "wasm",
303
+ "Chromancer",
304
+ "LuminescentGrand",
305
+ "fx/SdCard",
306
+ "fx/NoiseRing",
307
+ "fx/Water",
308
+ ]
302
309
 
303
310
 
304
311
  def _exec(cmd: str) -> None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastled
3
- Version: 1.2.2
3
+ Version: 1.2.4
4
4
  Summary: FastLED Wasm Compiler
5
5
  Home-page: https://github.com/zackees/fastled-wasm
6
6
  Maintainer: Zachary Vorhies
@@ -13,13 +13,13 @@ License-File: LICENSE
13
13
  Requires-Dist: docker>=7.1.0
14
14
  Requires-Dist: httpx>=0.28.1
15
15
  Requires-Dist: watchdog>=6.0.0
16
- Requires-Dist: livereload>=2.7.0
17
16
  Requires-Dist: download>=0.3.5
18
17
  Requires-Dist: filelock>=3.16.1
19
18
  Requires-Dist: disklru>=2.0.1
20
19
  Requires-Dist: appdirs>=1.4.4
21
20
  Requires-Dist: rapidfuzz>=3.10.1
22
21
  Requires-Dist: progress>=1.6
22
+ Requires-Dist: nodejs-bin[cmd]
23
23
 
24
24
  # FastLED Wasm compiler
25
25
 
@@ -27,10 +27,11 @@ Requires-Dist: progress>=1.6
27
27
  [![MacOS_Tests](https://github.com/zackees/fastled-wasm/actions/workflows/test_macos.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_macos.yml)
28
28
  [![Ubuntu_Tests](https://github.com/zackees/fastled-wasm/actions/workflows/test_ubuntu.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_ubuntu.yml)
29
29
  [![Win_Tests](https://github.com/zackees/fastled-wasm/actions/workflows/test_win.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_win.yml)
30
+ [![Test Build Executables](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml)
30
31
 
31
32
  [![Build and Push Multi Docker Image](https://github.com/zackees/fastled-wasm/actions/workflows/build_multi_docker_image.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/build_multi_docker_image.yml)
32
- [![Build Executables](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml)
33
33
  [![Publish Release](https://github.com/zackees/fastled-wasm/actions/workflows/publish_release.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/publish_release.yml)
34
+ [![Build Webpage](https://github.com/zackees/fastled-wasm/actions/workflows/build_webpage.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/build_webpage.yml)
34
35
 
35
36
 
36
37
 
@@ -265,6 +266,8 @@ A: A big chunk of space is being used by unnecessary javascript `emscripten` bun
265
266
 
266
267
  # Revisions
267
268
 
269
+ * 1.1.24 - Mac/Linux now properly responds to ctrl-c when waiting for a key event.
270
+ * 1.1.23 - Fixes missing `live-server` on platforms that don't have it already.
268
271
  * 1.2.22 - Added `--purge` and added docker api at __init__.
269
272
  * 1.2.00 - `fastled.exe` is now a signed binary on windows, however it's a self signed binary so you'll still get the warning on the first open. There's been a small api change between the server and the client for fetching projects.
270
273
  * 1.1.69 - Changed the binary name to `fastled.exe` instead of something like `fastled-windows-x64.exe`
@@ -27,40 +27,6 @@ upload_package.sh
27
27
  .vscode/launch.json
28
28
  .vscode/settings.json
29
29
  .vscode/tasks.json
30
- examples/Blink/Blink.ino
31
- examples/Chromancer/Chromancer.ino
32
- examples/Chromancer/detail.h
33
- examples/Chromancer/gen.py
34
- examples/Chromancer/mapping.h
35
- examples/Chromancer/net.h
36
- examples/Chromancer/output.json
37
- examples/Chromancer/ripple.h
38
- examples/Chromancer/screenmap.json.h
39
- examples/Chromancer/gary_woos_wled_port/gary_woos_wled_ledmap.h
40
- examples/Chromancer/gary_woos_wled_port/presets.json
41
- examples/Chromancer/gary_woos_wled_port/presets.min.json
42
- examples/ColorPalette/ColorPalette.ino
43
- examples/ColorTemperature/ColorTemperature.ino
44
- examples/Cylon/Cylon.ino
45
- examples/DemoReel100/DemoReel100.ino
46
- examples/Esp32Rmt51/Esp32Rmt51.ino
47
- examples/EspI2SDemo/EspI2SDemo.ino
48
- examples/Fire2012/Fire2012.ino
49
- examples/Fire2012WithPalette/Fire2012WithPalette.ino
50
- examples/FirstLight/FirstLight.ino
51
- examples/FxEngine/FxEngine.ino
52
- examples/Noise/Noise.ino
53
- examples/NoisePlayground/NoisePlayground.ino
54
- examples/NoisePlusPalette/NoisePlusPalette.ino
55
- examples/OctoWS2811/OctoWS2811.ino
56
- examples/Pacifica/Pacifica.ino
57
- examples/Pride2015/Pride2015.ino
58
- examples/TwinkleFox/TwinkleFox.ino
59
- examples/Video/Gfx2Video/Gfx2Video.ino
60
- examples/WasmScreenCoords/WasmScreenCoords.ino
61
- examples/Water/Water.ino
62
- examples/XYMatrix/XYMatrix.ino
63
- examples/wasm/wasm.ino
64
30
  src/fastled/__init__.py
65
31
  src/fastled/app.py
66
32
  src/fastled/cli.py
@@ -1,10 +1,10 @@
1
1
  docker>=7.1.0
2
2
  httpx>=0.28.1
3
3
  watchdog>=6.0.0
4
- livereload>=2.7.0
5
4
  download>=0.3.5
6
5
  filelock>=3.16.1
7
6
  disklru>=2.0.1
8
7
  appdirs>=1.4.4
9
8
  rapidfuzz>=3.10.1
10
9
  progress>=1.6
10
+ nodejs-bin[cmd]
@@ -7,9 +7,17 @@ import unittest
7
7
  from fastled import Api, Test # type: ignore
8
8
 
9
9
 
10
+ def _enabled() -> bool:
11
+ """Check if this system can run the tests."""
12
+ from fastled import Test
13
+
14
+ return Test.can_run_local_docker_tests()
15
+
16
+
10
17
  class ApiTester(unittest.TestCase):
11
18
  """Main tester class."""
12
19
 
20
+ @unittest.skipUnless(_enabled(), "Skipping test on non-Linux system on github")
13
21
  def test_build_all_examples(self) -> None:
14
22
  """Test command line interface (CLI)."""
15
23
 
@@ -21,6 +21,7 @@ lsfjsdklfjdskfjkasdfjdsfds /// the garbage heare should trigger a build failure.
21
21
 
22
22
  #include "fl/ui.h"
23
23
 
24
+ using namespace fl;
24
25
 
25
26
  #define LED_PIN 3
26
27
  #define BRIGHTNESS 96
@@ -18,6 +18,8 @@
18
18
 
19
19
  #include "fl/ui.h"
20
20
 
21
+ using namespace fl;
22
+
21
23
 
22
24
  #define LED_PIN 3
23
25
  #define BRIGHTNESS 96
@@ -18,6 +18,8 @@
18
18
 
19
19
  #include "fl/ui.h"
20
20
 
21
+ using namespace fl;
22
+
21
23
 
22
24
  #define LED_PIN 3
23
25
  #define BRIGHTNESS 96
@@ -9,7 +9,7 @@ HERE = Path(__file__).parent
9
9
  TEST_DIR = HERE / "test_ino" / "wasm"
10
10
 
11
11
 
12
- def _enabled() -> bool:
12
+ def _local_server_enabled() -> bool:
13
13
  """Check if this system can run the tests."""
14
14
  from fastled import Test
15
15
 
@@ -21,12 +21,15 @@ class ProjectInitTester(unittest.TestCase):
21
21
 
22
22
  def test_get_examples(self) -> None:
23
23
  """Test get_examples function."""
24
- with Api.server(auto_updates=True) as server:
25
- examples = get_examples(server.url())
24
+ if _local_server_enabled():
25
+ with Api.server(auto_updates=True) as server:
26
+ examples = get_examples(server.url())
27
+ else:
28
+ examples = get_examples()
26
29
  self.assertTrue(len(examples) > 0)
27
30
  self.assertTrue("wasm" in examples)
28
31
 
29
- @unittest.skipUnless(_enabled(), "This is not a fast test")
32
+ @unittest.skipUnless(_local_server_enabled(), "This is not a fast test")
30
33
  def test_compile(self) -> None:
31
34
  """Test web compilation functionality with real server."""
32
35
  # Test the web_compile function with actual server call
@@ -1,73 +0,0 @@
1
- /// @file Blink.ino
2
- /// @brief Blink the first LED of an LED strip
3
- /// @example Blink.ino
4
-
5
- #include <FastLED.h>
6
-
7
- // How many leds in your strip?
8
- #define NUM_LEDS 1
9
-
10
- // For led chips like WS2812, which have a data line, ground, and power, you just
11
- // need to define DATA_PIN. For led chipsets that are SPI based (four wires - data, clock,
12
- // ground, and power), like the LPD8806 define both DATA_PIN and CLOCK_PIN
13
- // Clock pin only needed for SPI based chipsets when not using hardware SPI
14
- #define DATA_PIN 3
15
- #define CLOCK_PIN 13
16
-
17
- // Define the array of leds
18
- CRGB leds[NUM_LEDS];
19
-
20
- void setup() {
21
- // Uncomment/edit one of the following lines for your leds arrangement.
22
- // ## Clockless types ##
23
- FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS); // GRB ordering is assumed
24
- // FastLED.addLeds<SM16703, DATA_PIN, RGB>(leds, NUM_LEDS);
25
- // FastLED.addLeds<TM1829, DATA_PIN, RGB>(leds, NUM_LEDS);
26
- // FastLED.addLeds<TM1812, DATA_PIN, RGB>(leds, NUM_LEDS);
27
- // FastLED.addLeds<TM1809, DATA_PIN, RGB>(leds, NUM_LEDS);
28
- // FastLED.addLeds<TM1804, DATA_PIN, RGB>(leds, NUM_LEDS);
29
- // FastLED.addLeds<TM1803, DATA_PIN, RGB>(leds, NUM_LEDS);
30
- // FastLED.addLeds<UCS1903, DATA_PIN, RGB>(leds, NUM_LEDS);
31
- // FastLED.addLeds<UCS1903B, DATA_PIN, RGB>(leds, NUM_LEDS);
32
- // FastLED.addLeds<UCS1904, DATA_PIN, RGB>(leds, NUM_LEDS);
33
- // FastLED.addLeds<UCS2903, DATA_PIN, RGB>(leds, NUM_LEDS);
34
- // FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS); // GRB ordering is typical
35
- // FastLED.addLeds<WS2852, DATA_PIN, RGB>(leds, NUM_LEDS); // GRB ordering is typical
36
- // FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS); // GRB ordering is typical
37
- // FastLED.addLeds<GS1903, DATA_PIN, RGB>(leds, NUM_LEDS);
38
- // FastLED.addLeds<SK6812, DATA_PIN, RGB>(leds, NUM_LEDS); // GRB ordering is typical
39
- // FastLED.addLeds<SK6822, DATA_PIN, RGB>(leds, NUM_LEDS);
40
- // FastLED.addLeds<APA106, DATA_PIN, RGB>(leds, NUM_LEDS);
41
- // FastLED.addLeds<PL9823, DATA_PIN, RGB>(leds, NUM_LEDS);
42
- // FastLED.addLeds<SK6822, DATA_PIN, RGB>(leds, NUM_LEDS);
43
- // FastLED.addLeds<WS2811, DATA_PIN, RGB>(leds, NUM_LEDS);
44
- // FastLED.addLeds<WS2813, DATA_PIN, RGB>(leds, NUM_LEDS);
45
- // FastLED.addLeds<APA104, DATA_PIN, RGB>(leds, NUM_LEDS);
46
- // FastLED.addLeds<WS2811_400, DATA_PIN, RGB>(leds, NUM_LEDS);
47
- // FastLED.addLeds<GE8822, DATA_PIN, RGB>(leds, NUM_LEDS);
48
- // FastLED.addLeds<GW6205, DATA_PIN, RGB>(leds, NUM_LEDS);
49
- // FastLED.addLeds<GW6205_400, DATA_PIN, RGB>(leds, NUM_LEDS);
50
- // FastLED.addLeds<LPD1886, DATA_PIN, RGB>(leds, NUM_LEDS);
51
- // FastLED.addLeds<LPD1886_8BIT, DATA_PIN, RGB>(leds, NUM_LEDS);
52
- // ## Clocked (SPI) types ##
53
- // FastLED.addLeds<LPD6803, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS); // GRB ordering is typical
54
- // FastLED.addLeds<LPD8806, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS); // GRB ordering is typical
55
- // FastLED.addLeds<WS2801, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
56
- // FastLED.addLeds<WS2803, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
57
- // FastLED.addLeds<SM16716, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
58
- // FastLED.addLeds<P9813, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS); // BGR ordering is typical
59
- // FastLED.addLeds<DOTSTAR, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS); // BGR ordering is typical
60
- // FastLED.addLeds<APA102, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS); // BGR ordering is typical
61
- // FastLED.addLeds<SK9822, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS); // BGR ordering is typical
62
- }
63
-
64
- void loop() {
65
- // Turn the LED on, then pause
66
- leds[0] = CRGB::Red;
67
- FastLED.show();
68
- delay(500);
69
- // Now turn the LED off, then pause
70
- leds[0] = CRGB::Black;
71
- FastLED.show();
72
- delay(500);
73
- }