CamacCrate -- group modules into a crate


CamacCrate create name base

CamacCrate config name option value ...

CamacCrate cget name


The CamacCrate command defines a container-type driver that holds a registry of modules. It is designed to make it trivial to convert a daqconfig.tcl script that sets up a crate running on a CBD8210 branch to one being controlled by a CC-USB. Contrary to the CBDCamacCrate, this does not need to be registered to a CAMAC branch and can instead be loaded directly into a stack.

At the start of every run, the initialization procedures will be called for all of the registered modules in the order the modules were listed.

At the end of every run, the end of run procedures will be called for all of the registered module in the order the modules were listed.

During stack execution initiated by an event trigger, the event-wise procedures of each of the registered modules will be executed in the order that they were listed.


-crate value

Specifies the crate index. Default is 0.

-modules list

Specify a proper tcl list of modules to be registered with this crate. these must all be compatible with a CC-USB controller. The order in which modules are listed will be the order in which each module is serviced. A single module can be registered to multiple CamacCrates. Default is an empty list.


Example 1. A simple crate setup containing a single scaler

LeCroy2551 create sclr -slot 10

# Create a crate to stick it in
CamacCrate create crate0 -crate 1
CamacCrate config crate0 -modules [list sclr]

Defines a camac crate with a single LeCroy2551 to operate on with a CBD8210 branch driver. This crate is labeled with index 1 on the branch and the branch is labeled with index 0.