calcout Records

Note: Device support for calcout records is only available for EPICS base R3.14.5 or higher.

Normal Operation

Different record fields are used for output and input. The variable x stands for the written or read value.

DOUBLE format (e.g. %f):
Output: x=OVAL
Input: VAL=x
Note that the record calculates OVAL from CALC or OCAL depending on DOPT.
LONG format (e.g. %i):
Output: x=int(OVAL)
Input: VAL=x
ENUM format (e.g. %{):
Output: x=int(OVAL)
Input: VAL=x
STRING format (e.g. %s):
Not allowed.

For calcout records, it is probably more useful to access fields A to L directly (e.g. "%(A)f"). However, even if OVAL is not used, it is calculated by the record. Thus, CALC must always contain a valid expression (e.g. "0").


During initialization, the @init handler is executed, if present. All format converters work like in normal operation.