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_FL12",
"source": "colour.SDS_ILLUMINANTS['FL12'] (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.96,
0.64,
0.4,
0.33,
1.19,
12.48,
1.12,
0.94,
1.08,
1.37,
1.78,
29.05,
7.9,
2.65,
2.71,
2.65,
2.49,
2.33,
2.1,
1.91,
3.01,
10.83,
11.88,
6.88,
3.43,
1.49,
0.92,
0.71,
0.6,
0.63,
1.1,
4.56,
34.4,
65.4,
29.48,
7.16,
3.08,
2.47,
2.27,
5.09,
11.96,
15.32,
14.27,
11.86,
9.28,
12.31,
68.53,
53.02,
14.67,
14.38,
14.71,
6.46,
2.57,
2.75,
4.18,
3.44,
2.81,
2.42,
1.64,
1.36,
1.49,
2.14,
2.34,
1.42,
1.61,
5.04,
6.98,
3.19,
0.71,
0.3,
0.26,
0.23,
0.28,
0.28,
0.21,
0.17,
0.21,
0.19,
0.15,
0.1,
0.05
],
"expected": {
"Rf": 77.66672530326227,
"Rg": 102.41356724545297,
"CCT_K": 3002.536949565647,
"Duv": 0.00013292749217839529,
"bins": [
{
"bin": 1,
"ref_a": 23.975226567658982,
"ref_b": 5.022329344472518,
"test_a": 22.152650094255122,
"test_b": 3.4994316073368434,
"ref_a_norm": 0.9787557501492054,
"ref_b_norm": 0.20502970894450004,
"test_a_norm": 0.9043515647123512,
"test_b_norm": 0.14285949700075132,
"Rcs_pct": -8.51033365447757,
"Rhs": -0.0464600922577543,
"Rf_h": 78.22787065149652
},
{
"bin": 2,
"ref_a": 20.531509660140014,
"ref_b": 15.080318377819866,
"test_a": 19.408404331843208,
"test_b": 15.312262127569038,
"ref_a_norm": 0.8059577768626139,
"ref_b_norm": 0.5919730246511856,
"test_a_norm": 0.761870640136669,
"test_b_norm": 0.601077901593963,
"Rcs_pct": -3.1598715876336962,
"Rhs": 0.03206392932567378,
"Rf_h": 86.84507197877812
},
{
"bin": 3,
"ref_a": 14.805518706365346,
"ref_b": 22.93214202966844,
"test_a": 12.471197834680439,
"test_b": 24.092626231824767,
"ref_a_norm": 0.5424007402439379,
"ref_b_norm": 0.8401198944096183,
"test_a_norm": 0.456882806432918,
"test_b_norm": 0.8826342772404183,
"Rcs_pct": -1.2161801005135993,
"Rhs": 0.09472528884675553,
"Rf_h": 80.61248365171859
},
{
"bin": 4,
"ref_a": 2.987528622410749,
"ref_b": 21.852048078495194,
"test_a": -0.48747761416030394,
"test_b": 24.622708331097737,
"ref_a_norm": 0.13545611817112416,
"ref_b_norm": 0.9907833466757555,
"test_a_norm": -0.022102491274608185,
"test_b_norm": 1.1164065389602602,
"Rcs_pct": 9.247121801672547,
"Rhs": 0.17903903398065368,
"Rf_h": 68.52680869364306
},
{
"bin": 5,
"ref_a": -2.6139790184651623,
"ref_b": 15.740722726381124,
"test_a": -5.21596954452937,
"test_b": 18.212229667211083,
"ref_a_norm": -0.16382121242673858,
"ref_b_norm": 0.9864900457475653,
"test_a_norm": -0.3268910916000656,
"test_b_norm": 1.1413823615265948,
"Rcs_pct": 18.372945860269667,
"Rhs": 0.12971854540717773,
"Rf_h": 72.48687806619886
},
{
"bin": 6,
"ref_a": -12.719445814976504,
"ref_b": 17.005712452184596,
"test_a": -14.324194363547837,
"test_b": 19.398684094258865,
"ref_a_norm": -0.5989495498085279,
"ref_b_norm": 0.8007867611194391,
"test_a_norm": -0.674516004094686,
"test_b_norm": 0.9134700736295923,
"Rcs_pct": 13.56752227820096,
"Rhs": 0.0002277162597035865,
"Rf_h": 79.40891315085294
},
{
"bin": 7,
"ref_a": -18.664092358911997,
"ref_b": 13.276123121079301,
"test_a": -18.774066699765044,
"test_b": 17.348452224427565,
"ref_a_norm": -0.8148753179659995,
"ref_b_norm": 0.5796362792043052,
"test_a_norm": -0.8196768038484853,
"test_b_norm": 0.7574343959913009,
"Rcs_pct": 10.277163077898429,
"Rhs": -0.14516616860243303,
"Rf_h": 72.55357318535336
},
{
"bin": 8,
"ref_a": -21.454756814798557,
"ref_b": 5.820120798189364,
"test_a": -20.113234921361073,
"test_b": 8.374500341329046,
"ref_a_norm": -0.9651189425777715,
"ref_b_norm": 0.2618118153895353,
"test_a_norm": -0.9047720366484409,
"test_b_norm": 0.3767178059303751,
"Rcs_pct": -3.6770310357171274,
"Rhs": -0.12447120146303867,
"Rf_h": 79.81154434033425
},
{
"bin": 9,
"ref_a": -22.56343926819563,
"ref_b": -3.722686923435771,
"test_a": -21.937416968774738,
"test_b": -1.3061787022702178,
"ref_a_norm": -0.9866612614044169,
"ref_b_norm": -0.1627868398975948,
"test_a_norm": -0.9592863588342864,
"test_b_norm": -0.057116998462999724,
"Rcs_pct": -4.7464064886124895,
"Rhs": -0.09829884650402732,
"Rf_h": 82.35654136254027
},
{
"bin": 10,
"ref_a": -18.140637294634306,
"ref_b": -11.84323048747173,
"test_a": -15.567546138592212,
"test_b": -10.944367262810003,
"ref_a_norm": -0.8373490289355752,
"ref_b_norm": -0.54666864162914,
"test_a_norm": -0.718578373534629,
"test_b_norm": -0.5051782443464038,
"Rcs_pct": -12.180502048558958,
"Rhs": 0.03148743615403931,
"Rf_h": 77.68339596032153
},
{
"bin": 11,
"ref_a": -10.993650723441528,
"ref_b": -15.746869379263497,
"test_a": -7.4034842111607295,
"test_b": -15.288501191497243,
"ref_a_norm": -0.5724429355197438,
"ref_b_norm": -0.8199445625001355,
"test_a_norm": -0.38550180840966425,
"test_b_norm": -0.7960771832687495,
"Rcs_pct": -12.370392610569228,
"Rhs": 0.14217586104047034,
"Rf_h": 74.54247093262018
},
{
"bin": 12,
"ref_a": -6.7437328054329555,
"ref_b": -21.15505960340024,
"test_a": -5.047901108533404,
"test_b": -21.910125590650136,
"ref_a_norm": -0.3037179904706148,
"ref_b_norm": -0.952761975660496,
"test_a_norm": -0.22734269358107007,
"test_b_norm": -0.9867679380757769,
"Rcs_pct": 1.8452466118594189,
"Rhs": 0.08154200113375762,
"Rf_h": 80.45104302216573
},
{
"bin": 13,
"ref_a": 3.134796149739345,
"ref_b": -18.094184491150525,
"test_a": 2.9828091193403874,
"test_b": -19.77563244939146,
"ref_a_norm": 0.1707058810207398,
"ref_b_norm": -0.9853220296862002,
"test_a_norm": 0.16242940029004307,
"test_b_norm": -1.076885576848879,
"Rcs_pct": 8.818951798775053,
"Rhs": -0.025980612375114318,
"Rf_h": 82.39322196652974
},
{
"bin": 14,
"ref_a": 9.188299665937155,
"ref_b": -14.074584117560253,
"test_a": 8.74025343155444,
"test_b": -15.310449451366718,
"ref_a_norm": 0.5466527009816281,
"ref_b_norm": -0.8373594356723346,
"test_a_norm": 0.5199964432304854,
"test_b_norm": -0.9108865459470907,
"Rcs_pct": 4.632613454364505,
"Rhs": -0.06301334208638354,
"Rf_h": 76.77559137587053
},
{
"bin": 15,
"ref_a": 18.262260591127156,
"ref_b": -11.937725756291359,
"test_a": 17.867983934337055,
"test_b": -14.17156247535926,
"ref_a_norm": 0.8370322337060172,
"ref_b_norm": -0.5471535796621596,
"test_a_norm": 0.8189609621301696,
"test_b_norm": -0.6495392251503407,
"Rcs_pct": 4.185670375074711,
"Rhs": -0.09517041351975798,
"Rf_h": 79.24328496802751
},
{
"bin": 16,
"ref_a": 16.780657182686266,
"ref_b": -3.810541258067397,
"test_a": 15.815668978310782,
"test_b": -5.491886858072326,
"ref_a_norm": 0.9751735858744889,
"ref_b_norm": -0.22144181495980111,
"test_a_norm": 0.9190952691945945,
"test_b_norm": -0.3191497771689803,
"Rcs_pct": -3.5938909738502844,
"Rhs": -0.10677086797216107,
"Rf_h": 76.81650190272609
}
]
}
}