CI for csaxs_bec / test (push) Failing after 7s
Readout is a property of the detector, not a beamline constant: a 9M has more modules than a 1.5M, and the Falcon needs 3 ms against the delay generator's 200 us. The per-model constants therefore stay, with comments saying the duplication is deliberate so nobody consolidates them again. They all hold 2e-4 today only because no measured per-model value exists yet. Writing a test for the deviceConfig override exposed that it never worked. Both subclasses passed readout_time to super() while also forwarding **kwargs, so supplying it raised "got multiple values for keyword argument" -- and through BEC it never even got that far, because readout_time was not a named parameter of the subclass signature and the device server drops config keys it cannot see (the same rule behind the recent prefix incident). Both subclasses now name it with the model constant as default, and a test asserts the signatures keep it. Also documents frame_time_us in DetectorSettings as required-but-ignored for the Eiger, and warns that its 500 is microseconds while every other time in the module is seconds. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KLnmUurqcNd1FiDY5M2uZr