Hi Patrick,
The standard asyn device support for output records will do that if you set the info tag asyn:READBACK=1. If you write an asyn driver then you can use this standard asyn device support, and not have to worry about how to do it. If you
are not using an asyn driver then you can use this code as an example (e.g. asyn/devEpics/devAsynInt32.c).
This support is documented here:
https://epics.anl.gov/modules/soft/asyn/R4-32/asynDriver.html
It says:
*******************************************
Callback updates for output records
Beginning in asyn R4-26 support was added for updating output records from driver interrupt callbacks. This feature allows output records
to reflect changes in the underlying hardware that are caused by manual front-panel operation, changes caused by another output record, etc.
By default output records do not update when a driver does interrupt callbacks. However, if the following info tag is added for a record
in the database file then callbacks will be enabled and the output record will be updated whenever the driver does a callback for that value.
info(asyn:READBACK, "1")
If the value of the info tag is 0 or if the info tag is not present then updates of output records on interrupt callbacks are disabled.
*******************************************
Cheers,
Mark
Hi,
I was wondering if there is a current recommended method for implementing device support for bidirectional records. That is, records that both write values that are obtained through EPICS to a device
and also update their value to reflect the status of the device when it changes through means outside of EPICS.
On a related note, are there versions of the standard output records (bo, ao, longout, etc.) that have a separate readback field in engineering units?
Thank you for your time,
Patrick