Sometimes IOC has share object. As example, ADC-digitizer has 2 channels
and once delay from external trigger or sampling rate for both channels.
I can handle that easy in C/C++ like system has 4 objects
- Device 1 has pointer pDAQ (middle layer)
- Device 2 has pointer pDAQ (middle layer)
- pDAQ has pointer pADC and handles sharing
- and ADC
In pDAQ I can provide simple logic like
- set only the latest value (according timestamp)
- Device 1 catches pDAQ and another Device 2 waits its turn (it is
useful for long measuring)
or a little complicated ...
Client (OPI) has "virtual device with full possibilities", readback
values are always correct, and (PVs) set is the same. So I don't need to
have deal with PV like ***.Device1&2.Delay or ***.Device5&8&12.Delay
I handle just sets of Devices and ONE set PVs for that Device type! That
gives EDM screen with just one macros Device name!
I understand that I can't have all features :-(
But maybe I can have feature with "ONE set PVs per Device type"?
Ok, I am ready to handle "Device1&2.Delay" on IOC level. But I go to
infinite loop with FWD or INP (with CA) :-(
Have anyone found way or trick to simplify life?