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

323 lines
7.6 KiB
JSON

{
"name": "grid_10nm_D50",
"source": "D50 sampled every 10 nm",
"generator": "crates/tm30/tools/golden.py (tm30.py + colour-science 0.4.7, numpy 2.5.1)",
"wavelengths": [
380.0,
390.0,
400.0,
410.0,
420.0,
430.0,
440.0,
450.0,
460.0,
470.0,
480.0,
490.0,
500.0,
510.0,
520.0,
530.0,
540.0,
550.0,
560.0,
570.0,
580.0,
590.0,
600.0,
610.0,
620.0,
630.0,
640.0,
650.0,
660.0,
670.0,
680.0,
690.0,
700.0,
710.0,
720.0,
730.0,
740.0,
750.0,
760.0,
770.0,
780.0
],
"values": [
24.488,
29.871,
49.308,
56.513,
60.034,
57.818,
74.825,
87.247,
90.612,
91.368,
95.109,
91.963,
95.724,
96.613,
97.129,
102.099,
100.755,
102.317,
100.0,
97.735,
98.918,
93.499,
97.688,
99.269,
99.042,
95.722,
98.857,
95.667,
98.19,
103.003,
99.133,
87.381,
91.604,
92.889,
76.854,
86.511,
92.58,
78.23,
57.692,
82.923,
78.274
],
"expected": {
"Rf": 99.9832723174942,
"Rg": 99.99985232380979,
"CCT_K": 5001.064836407116,
"Duv": 0.0032066894884178465,
"bins": [
{
"bin": 1,
"ref_a": 23.476902397290555,
"ref_b": 4.934814612361608,
"test_a": 23.47590488354907,
"test_b": 4.933441044796805,
"ref_a_norm": 0.9786143669015133,
"ref_b_norm": 0.20570347807937106,
"test_a_norm": 0.9785727864041343,
"test_b_norm": 0.20564622210368572,
"Rcs_pct": -0.0051951626515016934,
"Rhs": -4.8043865544036956e-05,
"Rf_h": 99.98392440612294
},
{
"bin": 2,
"ref_a": 17.83894735047625,
"ref_b": 12.025027476598268,
"test_a": 17.8373699978495,
"test_b": 12.02524225686417,
"ref_a_norm": 0.8291990350997083,
"ref_b_norm": 0.5589534508254805,
"test_a_norm": 0.8291257157916563,
"test_b_norm": 0.5589634343511755,
"Rcs_pct": -0.00554162269436133,
"Rhs": 4.903502329826525e-05,
"Rf_h": 99.98777796643758
},
{
"bin": 3,
"ref_a": 14.547664221552239,
"ref_b": 22.064293382121082,
"test_a": 14.546154102498923,
"test_b": 22.064844936634533,
"ref_a_norm": 0.550452873345259,
"ref_b_norm": 0.8348662373254462,
"test_a_norm": 0.5503957336313275,
"test_b_norm": 0.8348871069827404,
"Rcs_pct": -0.0014392638324301301,
"Rhs": 5.910449615570723e-05,
"Rf_h": 99.98786214138754
},
{
"bin": 4,
"ref_a": 4.076717109026536,
"ref_b": 21.998266602307645,
"test_a": 4.076170171524599,
"test_b": 21.999791491118437,
"ref_a_norm": 0.18221734962954564,
"ref_b_norm": 0.9832582760872058,
"test_a_norm": 0.18219290312041816,
"test_b_norm": 0.9833264341639502,
"Rcs_pct": 0.0062079161073660075,
"Rhs": 3.727375744951626e-05,
"Rf_h": 99.98559377631918
},
{
"bin": 5,
"ref_a": -2.054258575968485,
"ref_b": 19.16102293825853,
"test_a": -2.055199201002889,
"test_b": 19.163110889562127,
"ref_a_norm": -0.1065993982477314,
"ref_b_norm": 0.9943020508342632,
"test_a_norm": -0.1066482090760357,
"test_b_norm": 0.9944103986124532,
"Rcs_pct": 0.011578842622494784,
"Rhs": 2.6735338988320904e-05,
"Rf_h": 99.98117482025822
},
{
"bin": 6,
"ref_a": -10.828082553293017,
"ref_b": 17.50437009420907,
"test_a": -10.828359044187073,
"test_b": 17.505865074733812,
"ref_a_norm": -0.5260751363126394,
"ref_b_norm": 0.8504380935456959,
"test_a_norm": -0.5260885694374853,
"test_b_norm": 0.8505107261728917,
"Rcs_pct": 0.006785486667582358,
"Rhs": -2.9183290508430915e-05,
"Rf_h": 99.98808815724074
},
{
"bin": 7,
"ref_a": -17.88444758203982,
"ref_b": 11.801800126314143,
"test_a": -17.88495216505877,
"test_b": 11.804003956358029,
"ref_a_norm": -0.8346509266584013,
"ref_b_norm": 0.5507792939356669,
"test_a_norm": -0.8346744750896522,
"test_b_norm": 0.5508821446823781,
"Rcs_pct": 0.00767206183189115,
"Rhs": -7.243446305559115e-05,
"Rf_h": 99.98450649697875
},
{
"bin": 8,
"ref_a": -22.255349205247978,
"ref_b": 4.3023968277173275,
"test_a": -22.25519077423656,
"test_b": 4.304875640387898,
"ref_a_norm": -0.9818217199390649,
"ref_b_norm": 0.18980545370430352,
"test_a_norm": -0.981814730562862,
"test_b_norm": 0.18991480953139844,
"Rcs_pct": 0.0014479186223318838,
"Rhs": -0.00010861814519514624,
"Rf_h": 99.98327216874497
},
{
"bin": 9,
"ref_a": -18.6309347775359,
"ref_b": -2.5538984750008566,
"test_a": -18.631625430252008,
"test_b": -2.5509699724113073,
"ref_a_norm": -0.9907351240732684,
"ref_b_norm": -0.13580837208186233,
"test_a_norm": -0.9907718508351059,
"test_b_norm": -0.13565264342889619,
"Rcs_pct": 0.0005639914352866351,
"Rhs": -0.00015990140635973644,
"Rf_h": 99.9795247527471
},
{
"bin": 10,
"ref_a": -19.80275334617307,
"ref_b": -11.994426214565234,
"test_a": -19.80451901544621,
"test_b": -11.991335724144333,
"ref_a_norm": -0.8553364599157997,
"ref_b_norm": -0.5180729102536704,
"test_a_norm": -0.8554127241240675,
"test_b_norm": -0.5179394233041636,
"Rcs_pct": -0.001075000396151897,
"Rhs": -0.00015336046611234212,
"Rf_h": 99.97556450320567
},
{
"bin": 11,
"ref_a": -12.900334771940969,
"ref_b": -19.322573550217715,
"test_a": -12.902280548703203,
"test_b": -19.31981707257897,
"ref_a_norm": -0.5552548884177753,
"ref_b_norm": -0.831680232353856,
"test_a_norm": -0.5553386383419516,
"test_b_norm": -0.8315615883255587,
"Rcs_pct": -0.005211993932032823,
"Rhs": -0.00013555060743284557,
"Rf_h": 99.97751686694453
},
{
"bin": 12,
"ref_a": -3.128242899681709,
"ref_b": -20.746804281216868,
"test_a": -3.129532980418883,
"test_b": -20.74672351134386,
"ref_a_norm": -0.14909657211816565,
"ref_b_norm": -0.9888226393962734,
"test_a_norm": -0.14915805922828998,
"test_b_norm": -0.988818789787537,
"Rcs_pct": 0.0008219900530086618,
"Rhs": -6.10566739524769e-05,
"Rf_h": 99.99154886307903
},
{
"bin": 13,
"ref_a": 2.7176102058558462,
"ref_b": -15.57869260910705,
"test_a": 2.7162031381174128,
"test_b": -15.578860737296393,
"ref_a_norm": 0.17184890000570494,
"ref_b_norm": -0.9851233199791939,
"test_a_norm": 0.1717599236534075,
"test_b_norm": -0.985133951615893,
"Rcs_pct": -0.0006931072440349296,
"Rhs": -8.934082606449256e-05,
"Rf_h": 99.98800552430676
},
{
"bin": 14,
"ref_a": 13.613424128801427,
"ref_b": -17.947106267304473,
"test_a": 13.611480034455715,
"test_b": -17.948205812283046,
"ref_a_norm": 0.604340777156097,
"ref_b_norm": -0.7967259410025287,
"test_a_norm": 0.6042544729701232,
"test_b_norm": -0.7967747531059776,
"Rcs_pct": -0.0007362255981711318,
"Rhs": -9.887785973898523e-05,
"Rf_h": 99.9835749193685
},
{
"bin": 15,
"ref_a": 12.877324738057629,
"ref_b": -8.259933165250223,
"test_a": 12.875100968305514,
"test_b": -8.259239572344033,
"ref_a_norm": 0.8417235542388836,
"ref_b_norm": -0.5399087499193371,
"test_a_norm": 0.841578198008639,
"test_b_norm": -0.5398634133686118,
"Rcs_pct": -0.014604692645798237,
"Rhs": -4.30596304531343e-05,
"Rf_h": 99.97616121923275
},
{
"bin": 16,
"ref_a": 22.83244776608982,
"ref_b": -4.132109648046074,
"test_a": 22.83109690443548,
"test_b": -4.133074838051117,
"ref_a_norm": 0.9840155542122202,
"ref_b_norm": -0.17808253442832928,
"test_a_norm": 0.9839573357989744,
"test_b_norm": -0.1781241314567102,
"Rcs_pct": -0.004898458509821487,
"Rhs": -5.215560213193481e-05,
"Rf_h": 99.98550150831167
}
]
}
}