feat(station): Montana-Black-Produkt-ID -> Ziel ledshield_rgb
Meldet eine Lampe @qcx.montana.black.ledshield.rgb(-dev), sucht die Station jetzt ledshield_rgb_(dev|prod).img statt zufaellig das E27-Image. Produktname/Ziel aus qcl_product_info.c der Original-Firmware.
This commit is contained in:
@@ -24,7 +24,7 @@ Native Builds (mit lokal installierter ARM-Toolchain):
|
|||||||
cmake -S . -B build/evk -G Ninja -DCMAKE_TOOLCHAIN_FILE=cmake/arm-none-eabi.cmake -DNINLIGHT_DEVICE=evk
|
cmake -S . -B build/evk -G Ninja -DCMAKE_TOOLCHAIN_FILE=cmake/arm-none-eabi.cmake -DNINLIGHT_DEVICE=evk
|
||||||
cmake --build build/evk
|
cmake --build build/evk
|
||||||
|
|
||||||
**Geräte:** evk, e27_rgb, e14_rgb, gu10_rgb, e27_cw, e14_cw, gu10_cw, g95_cw.
|
**Geräte:** evk, e27_rgb, e14_rgb, gu10_rgb, e27_cw, e14_cw, gu10_cw, g95_cw, ledshield_rgb (Montana Black LED Shield, nur RGB).
|
||||||
|
|
||||||
**Lokale Einstellungen** (Token, später WLAN): `config.local.cmake.example` → `config.local.cmake`.
|
**Lokale Einstellungen** (Token, später WLAN): `config.local.cmake.example` → `config.local.cmake`.
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Baut ein Auslieferungsarchiv: alle acht Ziele, OHNE einkompilierte WLAN-Zugangsdaten
|
# Baut ein Auslieferungsarchiv: alle Ziele, OHNE einkompilierte WLAN-Zugangsdaten
|
||||||
# (die Lampen starten also im Onboarding-AP), in allen drei Bildformen - OTA, Migration
|
# (die Lampen starten also im Onboarding-AP), in allen drei Bildformen - OTA, Migration
|
||||||
# (dev und prod signiert) und serielle Erstbespielung.
|
# (dev und prod signiert) und serielle Erstbespielung.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ _BASE = [
|
|||||||
("klyqa.lighting.cw-ww.e14", "e14_cw", "Klyqa E14 CW/WW"),
|
("klyqa.lighting.cw-ww.e14", "e14_cw", "Klyqa E14 CW/WW"),
|
||||||
("klyqa.lighting.cw-ww.gu10", "gu10_cw", "Klyqa GU10 CW/WW"),
|
("klyqa.lighting.cw-ww.gu10", "gu10_cw", "Klyqa GU10 CW/WW"),
|
||||||
("klyqa.lighting.cw-ww.g95", "g95_cw", "Klyqa G95 Vintage CW/WW"),
|
("klyqa.lighting.cw-ww.g95", "g95_cw", "Klyqa G95 Vintage CW/WW"),
|
||||||
|
("qcx.montana.black.ledshield.rgb", "ledshield_rgb", "Montana Black RGB LED Shield"),
|
||||||
]
|
]
|
||||||
|
|
||||||
_UNSAFE = re.compile(r"[^0-9A-Za-z+\-_.]")
|
_UNSAFE = re.compile(r"[^0-9A-Za-z+\-_.]")
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ from pathlib import Path
|
|||||||
sys.path.insert(0, str(Path(__file__).resolve().parent))
|
sys.path.insert(0, str(Path(__file__).resolve().parent))
|
||||||
import products
|
import products
|
||||||
|
|
||||||
TARGETS = ("evk", "e27_rgb", "e14_rgb", "gu10_rgb", "e27_cw", "e14_cw", "gu10_cw", "g95_cw")
|
TARGETS = ("evk", "e27_rgb", "e14_rgb", "gu10_rgb", "e27_cw", "e14_cw", "gu10_cw", "g95_cw",
|
||||||
|
"ledshield_rgb")
|
||||||
PATH_RE = re.compile(r"^/ninlight_(" + "|".join(TARGETS) + r")_ota\.img$")
|
PATH_RE = re.compile(r"^/ninlight_(" + "|".join(TARGETS) + r")_ota\.img$")
|
||||||
TRAILER_SIZE = 512
|
TRAILER_SIZE = 512
|
||||||
TRAILER_MAGIC = b"NINL"
|
TRAILER_MAGIC = b"NINL"
|
||||||
|
|||||||
@@ -7,12 +7,12 @@ import products # noqa: E402
|
|||||||
|
|
||||||
|
|
||||||
def test_table_is_complete():
|
def test_table_is_complete():
|
||||||
"""Sieben Geraete in beiden Schreibweisen der Produkt-ID, plus das EVK, das nur eine
|
"""Acht Geraete in beiden Schreibweisen der Produkt-ID, plus das EVK, das nur eine
|
||||||
Produktions-ID hat."""
|
Produktions-ID hat."""
|
||||||
assert len(products.PRODUCTS) == 15
|
assert len(products.PRODUCTS) == 17
|
||||||
targets = {p.target for p in products.PRODUCTS.values()}
|
targets = {p.target for p in products.PRODUCTS.values()}
|
||||||
assert targets == {"evk", "e27_rgb", "e14_rgb", "gu10_rgb",
|
assert targets == {"evk", "e27_rgb", "e14_rgb", "gu10_rgb",
|
||||||
"e27_cw", "e14_cw", "gu10_cw", "g95_cw"}
|
"e27_cw", "e14_cw", "gu10_cw", "g95_cw", "ledshield_rgb"}
|
||||||
|
|
||||||
|
|
||||||
def test_table_carries_no_variant():
|
def test_table_carries_no_variant():
|
||||||
|
|||||||
Reference in New Issue
Block a user