This MR aims at improving the S-curves scan speed. Indeed, the first implementation from !216 (merged), while fully functional, showed speed limitations. The most critical register accesses are optimized, reducing the number of LMDB lookups and avoiding useless register writes.
The total improvement is the following. For the 96 VFATs on the GE1/1 integration setup:
Mind that the previous numbers are given with compiler optimization enabled. After this series of commits, the improvement is limited, but still present: 1 minute 51 seconds with the monitoring.
The S-curves scan routine as well as data taking still runs seamlessly on the GE1/1 integration setup in b904.