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

+36
View File
@@ -0,0 +1,36 @@
[package]
name = "lamp-testbench"
description = "Lamp testbench around the HPCS 6500: measurement station, lamp bundles, ID labels, LED light calibration"
version.workspace = true
edition.workspace = true
publish.workspace = true
default-run = "lampbench"
[[bin]]
name = "lampbench"
path = "src/main.rs"
[workspace]
resolver = "3"
members = [".", "crates/tm30", "crates/brother-ql", "crates/lamp-label"]
[workspace.package]
version = "0.1.0"
edition = "2024"
publish = false
[dependencies]
hpcs6500 = { path = "HPCS6500", default-features = false }
tm30 = { path = "crates/tm30" }
lamp-label = { path = "crates/lamp-label" }
anyhow = "1"
thiserror = "2"
clap = { version = "4.5", features = ["derive", "env"] }
serde_json = { version = "1", features = ["preserve_order"] }
chrono = { version = "0.4", default-features = false, features = ["clock", "std"] }
ctrlc = "3.4"
serialport = "4.7"
ureq = "3"
[profile.release]
strip = true