Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
database: add high resolution snapshot and binned stream records.
Most cameras have high-throughput when operating with its full resolution. To make it possible to run at higher frame rates when streaming, add new records to enable and disable binning feature and change the resolution correspondingly. Using channel access links to `Acquire` is required here to have the desired effect. Otherwise, sometimes the record won't be reprocessed at the right time (blocking with RPRO=1). This issue has not been further investigated, but has not shown to occur with channel access links. To avoid delays and have explicit support for waiting for record processing, sseq from calc module is used. It should be further investigated if checking for read-back values is more appropriate to ensure the setting is satisfied. Even though the camera firmware knows which value is the updated maximum when applying binning, it does not deliver the image when such parameter is not explicitly reset. Thus, the operation mode switch must enforce this. In a similar vein, GC_{Height,Width}Max_RBV do not update in time when decreasing binning. Thus, use `GC_Sensor{Height,Width}_RBV` instead to avoid empirical delays. Curiously, this does not apply to `$(P)$(R)Stream`. These can possibly be fixed by waiting for read-backs. This has been tested with a Alvium G1-500c. Some features, such as binning mode, may have different names for other devices, which may lead to unexpected behaviours. It should be refactored to use uniform records if another camera is to be supported for this operation mode. A template (cmd) script is provided to make it easier to load such records in a clean way in the main start-up script.
- Loading branch information