Files
grabowski 2a3f28001c 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.
2026-10-22 17:26:14 +07:00

403 lines
8.2 KiB
JSON

{
"name": "illuminant_LED_RGB1",
"source": "colour.SDS_ILLUMINANTS['LED-RGB1'] (380.0, 780.0, 5.0)",
"generator": "crates/tm30/tools/golden.py (tm30.py + colour-science 0.4.7, numpy 2.5.1)",
"wavelengths": [
380.0,
385.0,
390.0,
395.0,
400.0,
405.0,
410.0,
415.0,
420.0,
425.0,
430.0,
435.0,
440.0,
445.0,
450.0,
455.0,
460.0,
465.0,
470.0,
475.0,
480.0,
485.0,
490.0,
495.0,
500.0,
505.0,
510.0,
515.0,
520.0,
525.0,
530.0,
535.0,
540.0,
545.0,
550.0,
555.0,
560.0,
565.0,
570.0,
575.0,
580.0,
585.0,
590.0,
595.0,
600.0,
605.0,
610.0,
615.0,
620.0,
625.0,
630.0,
635.0,
640.0,
645.0,
650.0,
655.0,
660.0,
665.0,
670.0,
675.0,
680.0,
685.0,
690.0,
695.0,
700.0,
705.0,
710.0,
715.0,
720.0,
725.0,
730.0,
735.0,
740.0,
745.0,
750.0,
755.0,
760.0,
765.0,
770.0,
775.0,
780.0
],
"values": [
0.0,
0.0,
0.0,
0.01,
0.02,
0.05,
0.11,
0.24,
0.5,
0.94,
1.6,
2.43,
3.38,
4.59,
5.84,
5.56,
4.0,
3.14,
2.8,
2.68,
3.03,
3.98,
5.53,
7.84,
10.96,
14.61,
18.01,
20.24,
20.57,
19.22,
16.93,
14.58,
12.61,
11.09,
9.93,
9.11,
8.6,
8.31,
8.21,
8.24,
8.42,
8.74,
9.25,
10.0,
11.1,
12.74,
15.35,
19.43,
26.01,
36.47,
51.1,
62.69,
52.07,
28.62,
15.5,
9.58,
6.54,
4.95,
4.01,
3.37,
2.89,
2.51,
2.18,
1.92,
1.67,
1.44,
1.25,
1.09,
0.93,
0.82,
0.71,
0.61,
0.53,
0.45,
0.4,
0.35,
0.3,
0.27,
0.24,
0.21,
0.17
],
"expected": {
"Rf": 71.14146474625642,
"Rg": 106.88363391516455,
"CCT_K": 2839.501992197297,
"Duv": 0.004259448166250124,
"bins": [
{
"bin": 1,
"ref_a": 24.15549223591464,
"ref_b": 5.253421306217166,
"test_a": 28.15979659135276,
"test_b": 5.797796728447621,
"ref_a_norm": 0.9771576565997636,
"ref_b_norm": 0.2125156797708312,
"test_a_norm": 1.1391430395535622,
"test_b_norm": 0.23453719797058553,
"Rcs_pct": 16.316906431844004,
"Rhs": -0.010003399619911507,
"Rf_h": 68.45520870053508
},
{
"bin": 2,
"ref_a": 20.647734472482828,
"ref_b": 15.120694081835282,
"test_a": 25.90334756480809,
"test_b": 14.00297041707985,
"ref_a_norm": 0.8067957148515117,
"ref_b_norm": 0.590830495571478,
"test_a_norm": 1.012155103188108,
"test_b_norm": 0.5471562288225229,
"Rcs_pct": 14.648596844824018,
"Rhs": -0.15040538887227733,
"Rf_h": 62.91053444274136
},
{
"bin": 3,
"ref_a": 14.892653886342172,
"ref_b": 22.800058806806234,
"test_a": 21.04905909457535,
"test_b": 20.462950540579012,
"ref_a_norm": 0.5468614791752869,
"ref_b_norm": 0.8372231020428289,
"test_a_norm": 0.7729260130233734,
"test_b_norm": 0.7514039798624691,
"Rcs_pct": 5.423873350000067,
"Rhs": -0.2356443400213043,
"Rf_h": 54.46591642713789
},
{
"bin": 4,
"ref_a": 2.733018125633377,
"ref_b": 20.25009336318757,
"test_a": 6.09722633885254,
"test_b": 18.144104277879435,
"ref_a_norm": 0.13375059441725629,
"ref_b_norm": 0.9910150243528252,
"test_a_norm": 0.29839086666470044,
"test_b_norm": 0.8879504711563703,
"Rcs_pct": -6.896447297684185,
"Rhs": -0.1815836524534185,
"Rf_h": 72.64464543955485
},
{
"bin": 5,
"ref_a": -2.914146343760383,
"ref_b": 16.622954466084916,
"test_a": -2.5822004622246664,
"test_b": 15.215397431607501,
"ref_a_norm": -0.1726752256310549,
"ref_b_norm": 0.9849788152306953,
"test_a_norm": -0.1530060590107143,
"test_b_norm": 0.9015752383865286,
"Rcs_pct": -8.563826455148941,
"Rhs": -0.003019998435203248,
"Rf_h": 83.30360219504875
},
{
"bin": 6,
"ref_a": -12.796032694491096,
"ref_b": 16.639044944547372,
"test_a": -16.05306604508589,
"test_b": 14.957317025145414,
"ref_a_norm": -0.6096140015420448,
"ref_b_norm": 0.7926984099415716,
"test_a_norm": -0.7647818712573818,
"test_b_norm": 0.7125794456556352,
"Rcs_pct": 1.959016536199613,
"Rhs": 0.1735290801316499,
"Rf_h": 74.70655124954557
},
{
"bin": 7,
"ref_a": -18.88094603919688,
"ref_b": 12.777599241438015,
"test_a": -23.174708824881307,
"test_b": 10.80271410730602,
"ref_a_norm": -0.828177654305688,
"ref_b_norm": 0.5604656750495325,
"test_a_norm": -1.0165155895241316,
"test_b_norm": 0.47384100409749474,
"Rcs_pct": 10.847118135187104,
"Rhs": 0.1766607321280677,
"Rf_h": 67.638126136616
},
{
"bin": 8,
"ref_a": -21.428010684590646,
"ref_b": 5.348385820842016,
"test_a": -26.066066447406342,
"test_b": 5.476283420401191,
"ref_a_norm": -0.9702342331170238,
"ref_b_norm": 0.2421683977892673,
"test_a_norm": -1.1802397507745976,
"test_b_norm": 0.2479594453695749,
"Rcs_pct": 20.710009785926196,
"Rhs": 0.03529026984009941,
"Rf_h": 65.9585508742287
},
{
"bin": 9,
"ref_a": -22.61012402199246,
"ref_b": -4.140819544380621,
"test_a": -26.81864387611828,
"test_b": -3.261964532944759,
"ref_a_norm": -0.9836402599896878,
"ref_b_norm": -0.180143939469024,
"test_a_norm": -1.1667294619532642,
"test_b_norm": -0.14190986471998016,
"Rcs_pct": 17.21120963318702,
"Rhs": -0.07321834909244912,
"Rf_h": 69.77974485845012
},
{
"bin": 10,
"ref_a": -17.970165353305383,
"ref_b": -12.187688368457072,
"test_a": -22.24716670241688,
"test_b": -9.905866186810657,
"ref_a_norm": -0.8276116812972888,
"ref_b_norm": -0.5613010822903115,
"test_a_norm": -1.0245879588025961,
"test_b_norm": -0.4562123056961396,
"Rcs_pct": 10.539559298996746,
"Rhs": -0.19681228072506224,
"Rf_h": 65.22782235170423
},
{
"bin": 11,
"ref_a": -10.70056766872173,
"ref_b": -15.94658819543842,
"test_a": -14.841151034000223,
"test_b": -13.917638770090976,
"ref_a_norm": -0.5572034807010885,
"ref_b_norm": -0.8303759877878163,
"test_a_norm": -0.7728133001698355,
"test_b_norm": -0.7247238656789413,
"Rcs_pct": 3.1939868634758604,
"Rhs": -0.23797018710134404,
"Rf_h": 67.7343699791072
},
{
"bin": 12,
"ref_a": -6.356188536881843,
"ref_b": -21.198505062414306,
"test_a": -10.319007440846239,
"test_b": -19.671897350527317,
"ref_a_norm": -0.2872084710551369,
"ref_b_norm": -0.957868098515746,
"test_a_norm": -0.4662709944324489,
"test_b_norm": -0.8888873462476365,
"Rcs_pct": -3.272194110900305,
"Rhs": -0.18907936437322717,
"Rf_h": 69.51920690052688
},
{
"bin": 13,
"ref_a": 3.4937583790946296,
"ref_b": -17.92300150910603,
"test_a": 1.696855100956693,
"test_b": -17.135218610635217,
"ref_a_norm": 0.1913303221711864,
"ref_b_norm": -0.9815257041045182,
"test_a_norm": 0.09292566855410225,
"test_b_norm": -0.9383839812345953,
"Rcs_pct": -6.15105623240983,
"Rhs": -0.08809730318379082,
"Rf_h": 86.29758354634869
},
{
"bin": 14,
"ref_a": 9.702886637808735,
"ref_b": -13.824627045906851,
"test_a": 10.477669209848212,
"test_b": -11.879119871318665,
"ref_a_norm": 0.5744810480176268,
"ref_b_norm": -0.8185178834140213,
"test_a_norm": 0.6203537785344032,
"test_b_norm": -0.7033297912200841,
"Rcs_pct": -7.028987477591189,
"Rhs": 0.10213685667931231,
"Rf_h": 81.94026033789224
},
{
"bin": 15,
"ref_a": 19.120884165337205,
"ref_b": -13.160621882207971,
"test_a": 21.474027587903276,
"test_b": -10.71615016783224,
"ref_a_norm": 0.8237398464857693,
"ref_b_norm": -0.5669679579231981,
"test_a_norm": 0.9251147612074174,
"test_b_norm": -0.46165856232584446,
"Rcs_pct": 2.578339558963718,
"Rhs": 0.14388244732339536,
"Rf_h": 76.2173372757061
},
{
"bin": 16,
"ref_a": 17.09058405948216,
"ref_b": -4.044871305697893,
"test_a": 19.74993638510887,
"test_b": -3.1133975903719024,
"ref_a_norm": 0.9731172878570223,
"ref_b_norm": -0.23031010415045408,
"test_a_norm": 1.124537608752044,
"test_b_norm": -0.1772731118268812,
"Rcs_pct": 13.816381797659803,
"Rhs": 0.0815585405510147,
"Rf_h": 77.53804255490721
}
]
}
}