# ProcessVariables

Note: Not all widgets might support the full syntax as described in here. For those you can only provide a PV name
Most widgets can react to ProcessVariables (PVs): They usually display the current value of the PV as a text, number or e.g. as a meter. Even seemingly static elements like lines can change their color based on the value of a PV.

## Syntax

EDM has the option of supporting several types of PVs. When simply providing a PV name, the default type of PV is used (usually EPICS). Otherwise, the type of PV is selected via a prefix:

         name
         EPICS\name
         CALC\name(argA, argB, argC, ...)
         XYZ\name

- name
  The name of the PV, for example an EPICS channel name like "fred" (served by excas, the Example ChannelAccess server) or "sys_subsys:device:signal" for SNS names.
- EPICS\
  Forces "name" to be an EPICS channel name (might be the default).
- CALC\
  Forces "name" to be a CALC PV.
- XYZ\
  Forces "name" to be of type XYZ (not implemented).

## API

If you want to implement a new widget, please refer to the header file edm/lib/pv_factory.h.