Lamp testbench in Rust around the HPCS 6500

lampbench station / export / label / tm30 / calibrate replace the Python
lamp_station.py, lamp_export.py, label_printer.py, tm30.py and
calibration.py that lived in HPCS6500-py. The driver is a submodule
(HPCS6500/, like mppt-testbench). Workspace crates: tm30 (TM-30-18 port of
colour-science 0.4.7), brother-ql (raster protocol, byte-identical to
brother_ql) and lamp-label (QR + ID labels for the QL-820NWB).

Bundles are byte-identical to lamp_export.py's (golden tests); the station
runs end to end in a test against the simulated instrument.
This commit is contained in:
grabowski committed 2026-10-22 17:26:14 +07:00
commit 2a3f28001c
241 files changed
+46390

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 B

Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 136 B

Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 128 B

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 131 B

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 516 B

Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 574 B

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 614 B

Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 651 B

Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 506 B

Binary file not shown.
Binary file not shown.
@@ -0,0 +1,60 @@
# name model label images options... (generated by tools/golden.py)
label_L0001_x1 QL-820NWB 23x23 label_L0001.png cut=True
label_L0001_x2 QL-820NWB 23x23 label_L0001.png,label_L0001.png cut=True
label_L0006_x1 QL-820NWB 23x23 label_L0006.png cut=True
label_L0006_x2 QL-820NWB 23x23 label_L0006.png,label_L0006.png cut=True
label_L0123_x1 QL-820NWB 23x23 label_L0123.png cut=True
label_L0123_x2 QL-820NWB 23x23 label_L0123.png,label_L0123.png cut=True
label_L12345_x1 QL-820NWB 23x23 label_L12345.png cut=True
label_L12345_x2 QL-820NWB 23x23 label_L12345.png,label_L12345.png cut=True
label_L9_x1 QL-820NWB 23x23 label_L9.png cut=True
label_L9_x2 QL-820NWB 23x23 label_L9.png,label_L9.png cut=True
white_202_x1 QL-820NWB 23x23 white_202.png cut=True
white_202_x2 QL-820NWB 23x23 white_202.png,white_202.png cut=True
black_202_x1 QL-820NWB 23x23 black_202.png cut=True
black_202_x2 QL-820NWB 23x23 black_202.png,black_202.png cut=True
checker_202_x1 QL-820NWB 23x23 checker_202.png cut=True
checker_202_x2 QL-820NWB 23x23 checker_202.png,checker_202.png cut=True
corner_tl_x1 QL-820NWB 23x23 corner_tl.png cut=True
corner_tl_x2 QL-820NWB 23x23 corner_tl.png,corner_tl.png cut=True
corner_tr_x1 QL-820NWB 23x23 corner_tr.png cut=True
corner_tr_x2 QL-820NWB 23x23 corner_tr.png,corner_tr.png cut=True
corner_bl_x1 QL-820NWB 23x23 corner_bl.png cut=True
corner_bl_x2 QL-820NWB 23x23 corner_bl.png,corner_bl.png cut=True
corner_br_x1 QL-820NWB 23x23 corner_br.png cut=True
corner_br_x2 QL-820NWB 23x23 corner_br.png,corner_br.png cut=True
random_202_x1 QL-820NWB 23x23 random_202.png cut=True
random_202_x2 QL-820NWB 23x23 random_202.png,random_202.png cut=True
label_L0006_nocut QL-820NWB 23x23 label_L0006.png cut=False
label_L0006_compress_x2 QL-820NWB 23x23 label_L0006.png,label_L0006.png compress=True
random_202_compress QL-820NWB 23x23 random_202.png compress=True
checker_202_compress QL-820NWB 23x23 checker_202.png compress=True
black_202_compress QL-820NWB 23x23 black_202.png compress=True
white_202_compress QL-820NWB 23x23 white_202.png compress=True
corner_tl_rot0 QL-820NWB 23x23 corner_tl.png rotate=0
corner_tl_rot90 QL-820NWB 23x23 corner_tl.png rotate=90
corner_tl_rot180 QL-820NWB 23x23 corner_tl.png rotate=180
corner_tl_rot270 QL-820NWB 23x23 corner_tl.png rotate=270
corner_br_rot0 QL-820NWB 23x23 corner_br.png rotate=0
random_202_thr100 QL-820NWB 23x23 random_202.png threshold=100
random_202_thr0 QL-820NWB 23x23 random_202.png threshold=0
random_202_thr50 QL-820NWB 23x23 random_202.png threshold=50
random_202_lq QL-820NWB 23x23 random_202.png hq=False
random_202_dither QL-820NWB 23x23 random_202.png dither=True
random_202_dither_thr100 QL-820NWB 23x23 random_202.png dither=True threshold=100
multi_labels QL-820NWB 23x23 label_L0001.png,label_L0006.png,label_L12345.png cut=True
random_404_dpi600 QL-820NWB 23x23 random_404.png dpi_600=True
random_404_dpi600_compress QL-820NWB 23x23 random_404.png dpi_600=True compress=True
endless62_696 QL-820NWB 62 random_696x300.png
endless62_resize500 QL-820NWB 62 random_500x200.png
endless62_rot90 QL-820NWB 62 random_300x696.png rotate=90
endless62_dpi600 QL-820NWB 62 random_1392x150.png dpi_600=True
endless29_306 QL-820NWB 29 random_306x300.png compress=True
diecut62x29_auto_rotate QL-820NWB 62x29 random_271x696.png
round_d24 QL-820NWB d24 random_236.png
ql1100_102 QL-1100 102 sparse_1164x301.png compress=True
ql1100_62 QL-1100 62 sparse_696x301.png compress=True
ql700_62_compress_ignored QL-700 62 random_696x300.png compress=True
ql500_29 QL-500 29 random_306x300.png
ql570_62x29 QL-570 62x29 random_696x271.png cut=False
ql800_23x23_x2 QL-800 23x23 label_L0006.png,label_L0006.png compress=True
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 B

Binary file not shown.
Binary file not shown.