Mask object
This MR adds a mask object that handles all chip masks as well as mask shifting. It replaces scan_base.prepare_injection_masks()
with an iterator that is called from the scan loop. This should make mask handling and updating a lot more readable and understandable.
Potential speedups in mask writing have been implemented and initial benchmarks show a gain in total runtimes of digital and analog scans of about 2s. Caching of mask steps for multi-loop scans has been implemented. Threshold scans are now faster than development.
This MR fixes #154 (closed), #255 (closed), #254 (closed), #266 (closed)
TODO:
-
fix #230 (closed) by implementing a completely new crosstalk scan with 8 different injection patterns that depends on the mask object -
speedup threshold_scan
if possible -
implement new tuning algorithm and deprecate meta_tuning -
test remaining scans -
Fix stuck pixel scan -
Fix fast threshold scan -
Fix noise tuning -
Fix ToT tuning
-
-
Implement injection delay mask as another mask -
Increase low threshold performance of new TDAC tuning if possible (moved to open issue #269 (closed))
Edited by Michael Daas