Erik, EJ, Dave:
Following the discovery that h1sush2a's DACs had been in FIFO-HIGH-QUARTER error since 9th April 2024, I have done a rewrite of cds_status_ioc.py to catch these errors and report them on the CDS overview. Future RCG releases will raise these errors to the DAC bit in the STATE_WORD.
I found that cds_status_ioc was quite out of date, and needed a rewrite rather than addition of a DAC status monitor.
The new code's features are:
Get the number of frontends from the IOP INI files in the current DAQ running configuration
Parse the IOP INI files for all of its input data; num FECs, DCU_IDs, Number of ADC per frontend, Number of DAC per frontend.
On each processing run, the ADC_STAT and DAC_STAT PVs are read. None critical bits are masked out, and if any critical bit is bad an error is displayed.
For ADC, critical bits are: ONLINE, CHAN_HOP
for DAC, critical bits are: ONLINE, FIFO_STAT, FIFO_EMPTY, FIFO_HIGHQUARTER, FIFO_FULL
The IOC updates its clock every second, and process the CDS system every 5 minutes (GPS modulo 300). I've added PVs to show processing time, total num of ADCs and total num of DACs in CDS.