StreamDevice: 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").

Initialization

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


aai aao ai ao bi bo mbbi mbbo mbbiDirect mbboDirect longin longout stringin stringout waveform scalcout

Dirk Zimoch, 2005