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

941 lines
14 KiB
JSON

{
"name": "lamp_L0003",
"source": "L0003/spd.csv",
"generator": "crates/tm30/tools/golden.py (tm30.py + colour-science 0.4.7, numpy 2.5.1)",
"wavelengths": [
380.0,
381.92,
383.84,
385.76,
387.68,
389.6,
391.52,
393.44,
395.36,
397.28,
399.2,
401.12,
403.04,
404.96,
406.88,
408.8,
410.72,
412.64,
414.56,
416.48,
418.4,
420.32,
422.23,
424.15,
426.07,
427.99,
429.91,
431.83,
433.75,
435.67,
437.59,
439.51,
441.43,
443.35,
445.27,
447.19,
449.11,
451.03,
452.95,
454.87,
456.79,
458.71,
460.63,
462.55,
464.47,
466.39,
468.31,
470.23,
472.15,
474.07,
475.99,
477.91,
479.83,
481.75,
483.67,
485.59,
487.51,
489.43,
491.35,
493.27,
495.19,
497.11,
499.03,
500.95,
502.87,
504.79,
506.7,
508.62,
510.54,
512.46,
514.38,
516.3,
518.22,
520.14,
522.06,
523.98,
525.9,
527.82,
529.74,
531.66,
533.58,
535.5,
537.42,
539.34,
541.26,
543.18,
545.1,
547.02,
548.94,
550.86,
552.78,
554.7,
556.62,
558.54,
560.46,
562.38,
564.3,
566.22,
568.14,
570.06,
571.98,
573.9,
575.82,
577.74,
579.66,
581.58,
583.5,
585.42,
587.34,
589.26,
591.17,
593.09,
595.01,
596.93,
598.85,
600.77,
602.69,
604.61,
606.53,
608.45,
610.37,
612.29,
614.21,
616.13,
618.05,
619.97,
621.89,
623.81,
625.73,
627.65,
629.57,
631.49,
633.41,
635.33,
637.25,
639.17,
641.09,
643.01,
644.93,
646.85,
648.77,
650.69,
652.61,
654.53,
656.45,
658.37,
660.29,
662.21,
664.13,
666.05,
667.97,
669.89,
671.81,
673.72,
675.64,
677.56,
679.48,
681.4,
683.32,
685.24,
687.16,
689.08,
691.0,
692.92,
694.84,
696.76,
698.68,
700.6,
702.52,
704.44,
706.36,
708.28,
710.2,
712.12,
714.04,
715.96,
717.88,
719.8,
721.72,
723.64,
725.56,
727.48,
729.4,
731.32,
733.24,
735.16,
737.08,
739.0,
740.92,
742.84,
744.76,
746.68,
748.6,
750.52,
752.44,
754.36,
756.28,
758.19,
760.11,
762.03,
763.95,
765.87,
767.79,
769.71,
771.63,
773.55,
775.47,
777.39,
779.31,
781.23,
783.15,
785.07,
786.99,
788.91,
790.83,
792.75,
794.67,
796.59,
798.51,
800.43,
802.35,
804.27,
806.19,
808.11,
810.03,
811.95,
813.87,
815.79,
817.71,
819.63,
821.55,
823.47,
825.39,
827.31,
829.23,
831.15,
833.07,
834.99,
836.91,
838.83,
840.74,
842.66,
844.58,
846.5,
848.42,
850.34,
852.26,
854.18,
856.1,
858.02,
859.94,
861.86,
863.78,
865.7,
867.62,
869.54,
871.46,
873.38,
875.3,
877.22,
879.14,
881.06,
882.98,
884.9,
886.82,
888.74,
890.66,
892.58,
894.5,
896.42,
898.34,
900.26,
902.18,
904.1,
906.02,
907.94,
909.86,
911.78,
913.7,
915.62,
917.54,
919.46,
921.38,
923.3,
925.21,
927.13,
929.05,
930.97,
932.89,
934.81,
936.73,
938.65,
940.57,
942.49,
944.41,
946.33,
948.25,
950.17,
952.09,
954.01,
955.93,
957.85,
959.77,
961.69,
963.61,
965.53,
967.45,
969.37,
971.29,
973.21,
975.13,
977.05,
978.97,
980.89,
982.81,
984.73,
986.65,
988.57,
990.49,
992.41,
994.33,
996.25,
998.17,
1000.09,
1002.01,
1003.93,
1005.85,
1007.77,
1009.68,
1011.6,
1013.52,
1015.44,
1017.36,
1019.28,
1021.2,
1023.12,
1025.04,
1026.96,
1028.88,
1030.8,
1032.72,
1034.64,
1036.56,
1038.48,
1040.4,
1042.32,
1044.24,
1046.16,
1048.08,
1050.0
],
"values": [
0.574534,
0.593195,
0.611392,
0.628949,
0.646054,
0.663012,
0.680794,
0.699299,
0.717191,
0.735801,
0.755009,
0.775806,
0.798571,
0.821728,
0.844341,
0.865867,
0.887788,
0.910494,
0.935025,
0.960746,
0.987042,
1.01406,
1.04092,
1.06655,
1.09044,
1.1144,
1.13908,
1.16457,
1.19043,
1.21609,
1.2418,
1.26879,
1.29676,
1.3261,
1.35656,
1.38744,
1.41821,
1.44902,
1.48079,
1.51345,
1.54686,
1.58032,
1.61251,
1.64327,
1.67428,
1.70672,
1.74084,
1.77716,
1.81309,
1.84823,
1.88315,
1.91774,
1.95369,
1.9905,
2.02761,
2.06486,
2.10291,
2.14238,
2.18289,
2.2236,
2.2636,
2.30364,
2.34461,
2.38627,
2.42833,
2.47062,
2.50722,
2.54366,
2.5798,
2.61582,
2.65249,
2.68901,
2.7252,
2.76056,
2.79616,
2.83126,
2.86572,
2.89967,
2.93388,
2.96867,
3.00302,
3.0369,
3.06948,
3.10108,
3.13321,
3.16567,
3.19867,
3.23245,
3.267,
3.30179,
3.33653,
3.36956,
3.40151,
3.43355,
3.46592,
3.49845,
3.53045,
3.5614,
3.5915,
3.62184,
3.65197,
3.68179,
3.71185,
3.74114,
3.76929,
3.79737,
3.82403,
3.84999,
3.87565,
3.90048,
3.92632,
3.95497,
3.98521,
4.01609,
4.04734,
4.07796,
4.10912,
4.14159,
4.17558,
4.21078,
4.24687,
4.2839,
4.32305,
4.36272,
4.40237,
4.44067,
4.47858,
4.51774,
4.55803,
4.59845,
4.63786,
4.6767,
4.71621,
4.75707,
4.79857,
4.83971,
4.88055,
4.92196,
4.96334,
5.00491,
5.04535,
5.08529,
5.12549,
5.16607,
5.20732,
5.24776,
5.28738,
5.32624,
5.36447,
5.40262,
5.44175,
5.48257,
5.52415,
5.56593,
5.60784,
5.64994,
5.69236,
5.73532,
5.77736,
5.81837,
5.85991,
5.90105,
5.94203,
5.98372,
6.02533,
6.06652,
6.10693,
6.14737,
6.18856,
6.23177,
6.27633,
6.32009,
6.36299,
6.40485,
6.44658,
6.48872,
6.53046,
6.5709,
6.61067,
6.65017,
6.68953,
6.72959,
6.76977,
6.80973,
6.85036,
6.89114,
6.93116,
6.97095,
7.00969,
7.04785,
7.08646,
7.12458,
7.16293,
7.20103,
7.23898,
7.27677,
7.31457,
7.3527,
7.39042,
7.42987,
7.47008,
7.51037,
7.55172,
7.59278,
7.63469,
7.6774,
7.71909,
7.75959,
7.79799,
7.83594,
7.87349,
7.9112,
7.94993,
7.9886,
8.02793,
8.06759,
8.1073,
8.14753,
8.1866,
8.22497,
8.26388,
8.30302,
8.34222,
8.38108,
8.41877,
8.45726,
8.49591,
8.53355,
8.56901,
8.60267,
8.63661,
8.6716,
8.70752,
8.74282,
8.77742,
8.81101,
8.84372,
8.87634,
8.90735,
8.93766,
8.97008,
9.00325,
9.03791,
9.0733,
9.10809,
9.14369,
9.17866,
9.21255,
9.24558,
9.27761,
9.31041,
9.34477,
9.3791,
9.41501,
9.45237,
9.48902,
9.52496,
9.56082,
9.59658,
9.63262,
9.66924,
9.7045,
9.73784,
9.7701,
9.80146,
9.83265,
9.86501,
9.8979,
9.93053,
9.96319,
9.99577,
10.0291,
10.0625,
10.0963,
10.1302,
10.1622,
10.1923,
10.2194,
10.2448,
10.2719,
10.3014,
10.3316,
10.3609,
10.3883,
10.4132,
10.4386,
10.4645,
10.4917,
10.5188,
10.5451,
10.5712,
10.5962,
10.6228,
10.6511,
10.6782,
10.7054,
10.7304,
10.7502,
10.7671,
10.7814,
10.7935,
10.8061,
10.821,
10.838,
10.8561,
10.8741,
10.8942,
10.9182,
10.9419,
10.9667,
10.9936,
11.0204,
11.0474,
11.0718,
11.0934,
11.1166,
11.1426,
11.1719,
11.1993,
11.2244,
11.2487,
11.2705,
11.2935,
11.3171,
11.3398,
11.3618,
11.3825,
11.4002,
11.4153,
11.4312,
11.4479,
11.4664,
11.4863,
11.5045,
11.5192,
11.5304,
11.5436,
11.5582,
11.5735,
11.5897,
11.6043,
11.6164,
11.6287,
11.6429,
11.6607,
11.6806,
11.7029,
11.7265,
11.7497,
11.7744
],
"expected": {
"Rf": 99.04901074256658,
"Rg": 100.05935362628591,
"CCT_K": 3241.5882554693685,
"Duv": 0.0008071669304338566,
"bins": [
{
"bin": 1,
"ref_a": 23.12214792896163,
"ref_b": 5.181386852483368,
"test_a": 23.304763263041295,
"test_b": 5.206620534358886,
"ref_a_norm": 0.9758000554716002,
"ref_b_norm": 0.21866470163614013,
"test_a_norm": 0.9835067812339461,
"test_b_norm": 0.21972961257129775,
"Rcs_pct": 0.7766397005071579,
"Rhs": -0.0004590586405230252,
"Rf_h": 98.68771571248247
},
{
"bin": 2,
"ref_a": 20.377137533849435,
"ref_b": 15.00238537017731,
"test_a": 20.55393874699272,
"test_b": 14.93921922165821,
"ref_a_norm": 0.8052888073097462,
"ref_b_norm": 0.5928827344607419,
"test_a_norm": 0.8122758553103089,
"test_b_norm": 0.5903864568398641,
"Rcs_pct": 0.4422660552654422,
"Rhs": -0.005957374871422469,
"Rf_h": 98.7068731185099
},
{
"bin": 3,
"ref_a": 14.689407627901987,
"ref_b": 23.07145215316767,
"test_a": 14.881730256345968,
"test_b": 22.96021652290364,
"ref_a_norm": 0.5370725907166725,
"ref_b_norm": 0.8435360290472966,
"test_a_norm": 0.5441042706133928,
"test_b_norm": 0.8394690435268984,
"Rcs_pct": 0.05250171648545887,
"Rhs": -0.00810612425081663,
"Rf_h": 98.4712785916525
},
{
"bin": 4,
"ref_a": 3.315249153057379,
"ref_b": 22.446618094905702,
"test_a": 3.402940492626609,
"test_b": 22.349302573500058,
"ref_a_norm": 0.14610981204207127,
"ref_b_norm": 0.9892683775523357,
"test_a_norm": 0.14997454876340086,
"test_b_norm": 0.9849794834496882,
"Rcs_pct": -0.3452511473613117,
"Rhs": -0.004627198620492464,
"Rf_h": 99.10383873708146
},
{
"bin": 5,
"ref_a": -2.406648594492534,
"ref_b": 16.355376409657868,
"test_a": -2.3552006287133485,
"test_b": 16.282489071759716,
"ref_a_norm": -0.14557961849707435,
"ref_b_norm": 0.9893465392258904,
"test_a_norm": -0.14246750015635595,
"test_b_norm": 0.984937540392923,
"Rcs_pct": -0.4931425325932529,
"Rhs": -0.002192166857357179,
"Rf_h": 99.36942077500002
},
{
"bin": 6,
"ref_a": -12.620484039790819,
"ref_b": 17.46081183372417,
"test_a": -12.624732205422609,
"test_b": 17.374673187387106,
"ref_a_norm": -0.5857924394404694,
"ref_b_norm": 0.8104611143629187,
"test_a_norm": -0.5859896223140222,
"test_b_norm": 0.8064629025979186,
"Rcs_pct": -0.32148426511408945,
"Rhs": 0.0023852390093684625,
"Rf_h": 99.24765964783528
},
{
"bin": 7,
"ref_a": -18.392998495587573,
"ref_b": 13.904647895184686,
"test_a": -18.470002720600746,
"test_b": 13.798234766674952,
"ref_a_norm": -0.7977063445427647,
"ref_b_norm": 0.6030460910048419,
"test_a_norm": -0.8010460261539137,
"test_b_norm": 0.5984309420515473,
"Rcs_pct": 0.021280439503404136,
"Rhs": 0.005692783801831717,
"Rf_h": 99.08611493959883
},
{
"bin": 8,
"ref_a": -21.473495001020567,
"ref_b": 6.422763199630777,
"test_a": -21.507765684888568,
"test_b": 6.385552125174787,
"ref_a_norm": -0.9580627766772817,
"ref_b_norm": 0.2865583988394284,
"test_a_norm": -0.9595917996213179,
"test_b_norm": 0.28489818724766114,
"Rcs_pct": 0.11757519828567244,
"Rhs": 0.0019266086700822208,
"Rf_h": 99.46611107365652
},
{
"bin": 9,
"ref_a": -20.52922341511598,
"ref_b": -3.089558423086407,
"test_a": -20.56649450880618,
"test_b": -3.0897400605430563,
"ref_a_norm": -0.9888643377231165,
"ref_b_norm": -0.14881976205941913,
"test_a_norm": -0.9906596348287556,
"test_b_norm": -0.14882851128483518,
"Rcs_pct": 0.1762507864365192,
"Rhs": -0.00034166397895077697,
"Rf_h": 99.61679365405314
},
{
"bin": 10,
"ref_a": -20.281216847061717,
"ref_b": -12.852926479457208,
"test_a": -20.313950613352443,
"test_b": -12.831052522950301,
"ref_a_norm": -0.8446655021624718,
"ref_b_norm": -0.5352944885356276,
"test_a_norm": -0.846028787381013,
"test_b_norm": -0.5343834891317696,
"Rcs_pct": 0.06274060810360375,
"Rhs": -0.0015148690076706188,
"Rf_h": 99.38228412878466
},
{
"bin": 11,
"ref_a": -11.554551029250614,
"ref_b": -17.29217949901903,
"test_a": -11.580448025431968,
"test_b": -17.256684195321903,
"ref_a_norm": -0.5555797429957563,
"ref_b_norm": -0.8314632578609648,
"test_a_norm": -0.5568249533415651,
"test_b_norm": -0.8297565302126395,
"Rcs_pct": -0.07272903740796259,
"Rhs": -0.0019835616407458275,
"Rf_h": 99.53007756730511
},
{
"bin": 12,
"ref_a": -5.800806660362923,
"ref_b": -18.82886208963189,
"test_a": -5.672455229858283,
"test_b": -18.762352442953638,
"ref_a_norm": -0.2944247961867811,
"ref_b_norm": -0.9556746514323651,
"test_a_norm": -0.2879102119264868,
"test_b_norm": -0.9522988986596509,
"Rcs_pct": -0.45818209709005076,
"Rhs": 0.005730831654967538,
"Rf_h": 98.88100252061405
},
{
"bin": 13,
"ref_a": 2.6942921798894597,
"ref_b": -18.291535952242693,
"test_a": 2.8412421697371157,
"test_b": -18.198363300870966,
"ref_a_norm": 0.14572483413134615,
"ref_b_norm": -0.9893251602569256,
"test_a_norm": 0.15367284476508197,
"test_b_norm": -0.9842857776435374,
"Rcs_pct": -0.3391972335607963,
"Rhs": 0.00877842661486482,
"Rf_h": 98.79059142227663
},
{
"bin": 14,
"ref_a": 8.524913196811829,
"ref_b": -14.37423562266014,
"test_a": 8.687036698827715,
"test_b": -14.253724992131625,
"ref_a_norm": 0.5101056098231239,
"ref_b_norm": -0.8601117757750901,
"test_a_norm": 0.519806601018366,
"test_b_norm": -0.8529007758204035,
"Rcs_pct": -0.06061453977752802,
"Rhs": 0.012072296313187889,
"Rf_h": 98.60046883837998
},
{
"bin": 15,
"ref_a": 17.750433453159086,
"ref_b": -12.428192176164567,
"test_a": 17.91768808545105,
"test_b": -12.293735053577995,
"ref_a_norm": 0.8191692848599592,
"ref_b_norm": -0.5735518134763615,
"test_a_norm": 0.8268879615833009,
"test_b_norm": -0.5673467174011462,
"Rcs_pct": 0.29704784702291187,
"Rhs": 0.00944761585374929,
"Rf_h": 98.52563677318031
},
{
"bin": 16,
"ref_a": 18.334303573456072,
"ref_b": -3.497280303175343,
"test_a": 18.490987706070523,
"test_b": -3.4251152173976362,
"ref_a_norm": 0.9822889779551865,
"ref_b_norm": -0.18737225992060633,
"test_a_norm": 0.990683575321321,
"test_b_norm": -0.18350590262655234,
"Rcs_pct": 0.7479008642090019,
"Rhs": 0.005429771026142733,
"Rf_h": 98.76976458329537
}
]
}
}