Skip to content

Add arrays to set channels

Marco Filho requested to merge ICSHWI-18047-set-channels into main

Each channel for each VMM chip of each Hybrid has now an aao record to set each one of the 64 options. Each aao record of 64 elements has also corresponding bo and acalcout records to make it possible to set all 64 options at once. These records are defined in a template file and loaded with a .sub file.

The created asyn parameters are stored in a list for each channel. The lists are stored in a map in such a way that the findRegisters function can easily iterate over the maps keys and values to find which channel and register it should alter.

This should make it easy to add future channels and registers. The following commits are good examples:

1369fe9c dceed5fc 5ebf7a02

We could have followed a "relay record" approach and used three records to select the Hybrid, VMM chip and channel to be changed. That would have created much less records in the IOC, but would also create records that change meaning over time. Since I don't think having records that change meaning over time is a good idea, I followed this record-per-channel approach.

Closes ICSHWI-18047

Merge request reports