package require usbcontrolclient
set object [controlClient name ?options?]
$object Get name channel
$object Set name channel $value
$object Update name
$object Monitor name
The VM and CC USB readout programs provide a slow controls server. This
allows control panels to interact with drivers in the readout program
so that slow control device settings can be made and status read.
controlClient
provides an encapsulation of a
connection witht the slow controls server. The object opens the
connection sets it up properly and provides methods that allow you
to perform operations with drivers.
-server
The value of this option is the host on which the controls server is running. This defaults to localhost, the system the client is running on.
-port
The number of the port on which the server is listening for
connections. This defaults to 27000.
Note that with NSCLDAQ version 11.0 and later,
VMUSBReadout and CCUSBReadout support the
--port=managed
option to specify that they
will interact with the NSCL server port manager to obtain
and advertise a port. See
USB Control operations
and
slowControlsPrompter
for methods to determine ports advertised by control servers
on local and remote systems.
Note that in general interacting with a driver instance while the run is active results in the run pausing so that the operation can take place, and then resuming once the operation has completed.
Requests the control server to return a parameter from a
device driver instance. device
is the
name of the device instance (created in the control
configuration file). channel
is a driver specific name of something that can be
retrieved. See the documentation of individual
device drivers for information about the names of
parameters that can be retrieved.
The $object is the object
command
created by constructing a
controlClient
instance.
Sets the value of a parameter on the control server
represented by $object.
device
is the name of a device
driver instance and channel
the name of a parameter supported by that instance.
value
is the value that will
be assigned to channel
.
Some devices have sets of write only registers. Device drivers
for these devices generally maintain a shadow copy
of these registers locally. The
Update command writes any shadow
registers to the device
connected to the server represented by
$object
Some devices require peridodic monitoring. Device drivers for the control server can contribute elements to a list of operations that is periodically executed. This list is triggered both when the run is halted and when data taking is active.
When the list returns data, each driver is then called to
get its data from the input buffer. The
Monitor command retrieves the most
recently received data from this monitor list for
the driver instance driver
defined
in the server represented by $object