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_FL9",
"source": "colour.SDS_ILLUMINANTS['FL9'] (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.9,
1.12,
1.36,
1.6,
2.59,
12.8,
3.05,
2.56,
2.86,
3.3,
3.82,
32.62,
10.77,
5.84,
6.57,
7.25,
7.86,
8.35,
8.75,
9.06,
9.31,
9.48,
9.61,
9.68,
9.74,
9.88,
10.04,
10.26,
10.48,
10.63,
10.78,
10.96,
11.18,
27.71,
16.29,
12.28,
12.74,
13.21,
13.65,
16.57,
18.14,
14.55,
14.65,
14.66,
14.61,
14.5,
14.39,
14.4,
14.47,
14.62,
14.72,
14.55,
14.4,
14.58,
14.88,
15.51,
15.47,
13.2,
10.57,
9.18,
8.25,
7.57,
7.03,
6.35,
5.72,
5.25,
4.8,
4.29,
3.8,
3.43,
3.12,
2.86,
2.64,
2.43,
2.26,
2.14,
2.02,
1.83,
1.61,
1.38,
1.12
],
"expected": {
"Rf": 91.04435254223048,
"Rg": 99.70375778923442,
"CCT_K": 4147.971519232706,
"Duv": 3.834042302772977e-05,
"bins": [
{
"bin": 1,
"ref_a": 21.474798124586883,
"ref_b": 4.959662288845205,
"test_a": 20.624018444790877,
"test_b": 4.416580637371922,
"ref_a_norm": 0.9743520167872397,
"ref_b_norm": 0.22502921450922403,
"test_a_norm": 0.9357505411392918,
"test_b_norm": 0.20038857764161586,
"Rcs_pct": -4.266690889853531,
"Rhs": -0.016636399625055347,
"Rf_h": 92.29646108141574
},
{
"bin": 2,
"ref_a": 20.634390604802718,
"ref_b": 14.336437545015995,
"test_a": 19.452080139067196,
"test_b": 14.394207134108923,
"ref_a_norm": 0.8212394268760633,
"ref_b_norm": 0.5705837394671137,
"test_a_norm": 0.7741840043115502,
"test_b_norm": 0.572882943022294,
"Rcs_pct": -3.7847784901537165,
"Rhs": 0.028054309967632824,
"Rf_h": 91.79904088350527
},
{
"bin": 3,
"ref_a": 14.62696058239479,
"ref_b": 22.284369051930145,
"test_a": 12.823494561645562,
"test_b": 22.90124733936898,
"ref_a_norm": 0.548730999061903,
"ref_b_norm": 0.8359989776719381,
"test_a_norm": 0.48107390066710487,
"test_b_norm": 0.85914119078307,
"Rcs_pct": -1.8346222957292428,
"Rhs": 0.06911194610257887,
"Rf_h": 86.9733779933774
},
{
"bin": 4,
"ref_a": 3.8034631343410354,
"ref_b": 22.119890540251564,
"test_a": 2.268320641496065,
"test_b": 22.996290809342284,
"ref_a_norm": 0.1694607573143801,
"ref_b_norm": 0.9855369357514902,
"test_a_norm": 0.10106350979693692,
"test_b_norm": 1.0245843638623902,
"Rcs_pct": 2.4953501685579194,
"Rhs": 0.07470078890926177,
"Rf_h": 87.60849266933461
},
{
"bin": 5,
"ref_a": -2.203554209033358,
"ref_b": 19.133381352717517,
"test_a": -3.216260652860676,
"test_b": 20.00218389044994,
"ref_a_norm": -0.1144117882012863,
"ref_b_norm": 0.993433411316825,
"test_a_norm": -0.16699300208123713,
"test_b_norm": 1.0385429219103433,
"Rcs_pct": 5.45008299441547,
"Rhs": 0.04277045165151041,
"Rf_h": 90.3987719728256
},
{
"bin": 6,
"ref_a": -11.134370990057205,
"ref_b": 17.1898585256909,
"test_a": -11.304908626392077,
"test_b": 17.973787098377013,
"ref_a_norm": -0.543647741564529,
"ref_b_norm": 0.8393134891634871,
"test_a_norm": -0.5519744266487603,
"test_b_norm": 0.8775896520890158,
"Rcs_pct": 3.6451524720645545,
"Rhs": -0.014341711136881066,
"Rf_h": 94.15875292084522
},
{
"bin": 7,
"ref_a": -18.21768842067807,
"ref_b": 11.282763355603166,
"test_a": -17.589407933639013,
"test_b": 12.095382488850216,
"ref_a_norm": -0.8501576387116268,
"ref_b_norm": 0.5265282417309362,
"test_a_norm": -0.8208379224569872,
"test_b_norm": 0.5644504164624484,
"Rcs_pct": -0.33100216548695216,
"Rhs": -0.04782029751333864,
"Rf_h": 92.43585847910592
},
{
"bin": 8,
"ref_a": -22.76794157112604,
"ref_b": 3.6236739411036467,
"test_a": -21.921224026989748,
"test_b": 4.363985802497227,
"ref_a_norm": -0.9875701992963359,
"ref_b_norm": 0.15717856552913131,
"test_a_norm": -0.9508434266454946,
"test_b_norm": 0.18928994152743772,
"Rcs_pct": -2.9756459328770437,
"Rhs": -0.03865940281569829,
"Rf_h": 92.25271048307923
},
{
"bin": 9,
"ref_a": -19.355886814147926,
"ref_b": -2.1009007669177446,
"test_a": -18.514273847317416,
"test_b": -1.582968279589199,
"ref_a_norm": -0.9941610042363551,
"ref_b_norm": -0.10790689345802616,
"test_a_norm": -0.9509339074716135,
"test_b_norm": -0.0813047394635724,
"Rcs_pct": -4.758632301052527,
"Rhs": -0.017657812837124472,
"Rf_h": 92.80048409709133
},
{
"bin": 10,
"ref_a": -20.159570852108484,
"ref_b": -11.236044651252266,
"test_a": -18.681878843712767,
"test_b": -11.398050860087432,
"ref_a_norm": -0.87348904970866,
"ref_b_norm": -0.4868437942903885,
"test_a_norm": -0.8094624988636724,
"test_b_norm": -0.4938633211662561,
"Rcs_pct": -4.933629122603806,
"Rhs": 0.041407769062416125,
"Rf_h": 89.24986594736743
},
{
"bin": 11,
"ref_a": -12.100080089418258,
"ref_b": -17.336526422604372,
"test_a": -10.69942692199412,
"test_b": -17.847774015996677,
"ref_a_norm": -0.5723352210391186,
"ref_b_norm": -0.8200197526633755,
"test_a_norm": -0.5060841603640832,
"test_b_norm": -0.8442018243693132,
"Rcs_pct": -1.670045943101675,
"Rhs": 0.06852058294666862,
"Rf_h": 89.02018095999424
},
{
"bin": 12,
"ref_a": -5.40634350368827,
"ref_b": -23.67136466096169,
"test_a": -4.067232450392699,
"test_b": -24.36875853135096,
"ref_a_norm": -0.22265829240703014,
"ref_b_norm": -0.9748965508311053,
"test_a_norm": -0.16750749034150092,
"test_b_norm": -1.003618463933754,
"Rcs_pct": 1.7410641861686784,
"Rhs": 0.059694462144418134,
"Rf_h": 89.34563268806194
},
{
"bin": 13,
"ref_a": 3.629961320333195,
"ref_b": -15.357314340226713,
"test_a": 4.008461141982153,
"test_b": -16.02123228217366,
"ref_a_norm": 0.23002849424566296,
"ref_b_norm": -0.9731838941510864,
"test_a_norm": 0.2540138032786997,
"test_b_norm": -1.0152559800527394,
"Rcs_pct": 4.594298423111295,
"Rhs": 0.0153165812590814,
"Rf_h": 94.08782860328029
},
{
"bin": 14,
"ref_a": 13.960192504790864,
"ref_b": -18.61981537859308,
"test_a": 14.126925141929787,
"test_b": -19.5952827228057,
"ref_a_norm": 0.5998715897813425,
"ref_b_norm": -0.8000962915632123,
"test_a_norm": 0.6070361164936093,
"test_b_norm": -0.8420122713286627,
"Rcs_pct": 3.8832261219869673,
"Rhs": -0.0173301843977565,
"Rf_h": 92.16749331006449
},
{
"bin": 15,
"ref_a": 15.356945375150058,
"ref_b": -11.070220389389053,
"test_a": 15.032496228968572,
"test_b": -12.0536198405526,
"ref_a_norm": 0.8112030851350277,
"ref_b_norm": -0.5847645292486651,
"test_a_norm": 0.7940646411331538,
"test_b_norm": -0.636710840784996,
"Rcs_pct": 1.4609729015041177,
"Rhs": -0.05271338884137485,
"Rf_h": 92.35282965236965
},
{
"bin": 16,
"ref_a": 20.06485642892714,
"ref_b": -3.631540595006173,
"test_a": 19.679822909445104,
"test_b": -4.570425802499742,
"ref_a_norm": 0.9840130044189106,
"ref_b_norm": -0.1780966230293797,
"test_a_norm": 0.9651303380191011,
"test_b_norm": -0.224141071794948,
"Rcs_pct": -0.9537014922968016,
"Rhs": -0.048843543062012065,
"Rf_h": 92.43963081119162
}
]
}
}