ExoGam Data Acquisition

Register Server - further

Initially each server has a number of application specific procedures which are loaded when the system is booted. Registers are then defined dynamically by the clients using the server protocol and specifying the local procedures in the server to be invoked when the register is subsequently accessed.

The register server allows named items of arbitrary data to be passed between the user interface programs and the server applications. The register name and the server command primitive select the local procedure to be called.

The data can be a single bit to be written to a VXI or CAMAC register or may be up to 1 Kbyte. Larger amounts of data (for example trigger or event builder programs) are handled by passing a filename to a suitable register class.

The register attributes provide additional information as needed by the application procedures to execute the read, write and initialise primitives. For example, a simple case would be a VXI register and the register attributes would include the VME address offset used to access the register on the VXI card. For a CAMAC register the register attributes would include the CAMAC cnaf data.

The server allows many registers to be accessed by a single RPC request by the use of wild-card techniques applied to the names. The available register names can be obtained by clients from the server thus allowing a number of user interfaces in workstations to access the server with all coordination provided by the server.