Create a PVI Device from a database template#
A PVI device yaml can be created from an existing database template with the convert device
subcommand. The simplest case takes a header file for the driver a template. For
example, to create a PVI device for the ADSimDetector driver:
pvi convert device ./ --header simDetector.h --template simDetector.template
which will create a simDetector.pvi.device.yaml
in the current directory.
Note
See pvi convert device --help
for a full list of options.
The Device
will contain a list of components and groups of components describing the
PVs in the given templates, their types and the widgets to display for control and
readback on a UI.
This Device
can then be edited to make any adjustments. The pvi regroup
command can
be used to add structure to the Device
based on a set of .adl
UIs:
pvi regroup simDetector.pvi.device.yaml simDetector.adl simDetectorSetup.adl
Note
See pvi regroup --help
for a full list of options.
This will modify the yaml in place to add grouping based on what PV appears on what UI
file. The Device
can also be edited by hand. A common use case is to change the widget
type from TextRead
/TextWrite
to something more specific.
Once a Device has been edited, the pvi reconvert
command can be used to make additions
without overwriting and modifications, either against a update template from the
upstream support module, or an additional template that was missed in the initial
conversion.
pvi reconvert simDetector.pvi.device.yaml simDetector.template simDetectorExtras.template
Note
See pvi reconvert --help
for a full list of options.