v977 -- Create and configure CAEN V977 Input registers


v977 create name ?option value...?

v977 config name option value ?...?

v977 cget name


This command supports the CAEN V977 I/O register. At this time support is only provided to read the module's input register. Other than setup modes that echo the inputs to the outputs in some way, output is not supported.

The create subcommand creates a new module. The name parameter supplies a unique name by which that module will be known throughout the rest of the configuration file. The optional option value pairs provide additional configuration options and can be selected from the set of configuration options described in OPTIONS below.

The config subcommand allows you to further configure an existing module. The name parameter is the name you assigned to the module in the create operation. The option value pairs configure the module and can be selecte from the configuration options described in OPTIONS below.

The cget allows you to retrieve the current configuration of the module. The name parameter provides the name of the module as defined by the create subcommand. The result is a well formed Tcl list that consists of option name value pairs.


Configuration options provide a mechanism to define where a module is located in the VME space as well as how the moduile should be prepared for data taking. A module is configured via the config subcommand. That command identifies the module via the name assigned to it in the create operation and provides configuration information in the form of a set of name value pairs.

Each name selects what is to be configured and each value provides the new value for that item. The configuration keywords supported and the meanings of their values are described below.

-base base-address

Defines the base address of the module. base-address must match the base address set in the module's rotary switches. This address is used to determine how to access the module in VME address space.

-inputmask mask

Provides the value of the module's input mask register. The value of mask is programmed into the module's input mask register at initialization time. Each bit set in the register prevents the corresponding front panel input from being seen by the module.

-readmode mode

Together with the -readandclear, determines which register is actually read by the stack. Legal values are singlehit and multihit. If singlehit is selected (the default) is provided the module will read either the Single hit read register or the Singlehit read-clear register depending on the value of the -readandclear. multihit is selected, the module's multihit read or multihit read-clear register will be read.

See the table at the end of this section for a complete listing of the combinations of read modes and read and clear settings and their implications for how the module is read.

-outputmask mask

Provides a value for the output mask register. This defaults to zero.

-interruptmask mask

Provides a value that will be programmed into the output mask regiseter. The module can produce an interrupt if bits that are not masked off in this register are set in the pattern gated into the module. See also the -ipl and -vetor if you intend to use the module with interrupts.

-readandclear true|false

Determines whether the module will be atomically cleared as it is read. This option together with the -readmode determines which module register read is added to the readout stack. For more information, see the table at the end of this section.

-ipl interrupt-level

Determines the interrupt priority level used by the module when creating interrupt requests on the VME dataway. If interrupt-level is 0 (the default), interrupts will not be used.

-vector status-id

When the module creates a VME dataway interrupt it provides the status-id as the interrupt vector when requested to by the interrupt handler module (VM-USB normally). If the status-id is 0 (default), interrupts are not generated on the dataway.

-pattern true|false

If this is true, the pattern bit is set int he control register, and the module operates in pattern mode. If not, the module operates in I/O register mode.

Table 1. Readmode and Read and clear implications

Read modeRead and clearReadout meaning
singlehitfalseThe SingleHitRead register (0x0006) will be read.
singlehitfalseThe SingleHitRdClear register (0x0016) will be read.
multihittrue The MultiHitRdClear register (0x0018) will be read.
multhitfalse The MultiHitRead register (0x0008) will be read.