Chapter 2. S800 Quickstart

This chapter is a quick start guide that shows how to add the GET electronics for the s800 CRDC to an NSCLDAQ experiment setup. Note that this is a step by step cookbook intended to get you going quickly. As a result there is little to no explanation of the steps. To understand what's going on, you'll need to look at How this all works.

  1. Add the GET provider to the ReadoutGui

    Edit the ReadoutCallouts.tcl for your experiment and add the following lines to the top of it:

    
lappend auto_path $GETTclLibs
    
    package require GET_Prompter
    package require GET_Provider
    package require ReadoutGUIPanel
                    
                

    In the code below, substitute the actual TclLibs directory for the NSCL Get interface installation for $GETTclLibs for example. If you are using the NSCL Get Interface installed in /usr/opt/NSCLGET this line becomes:

    
lappend auto_path /usr/opt/NSCLGET/TclLibs
                

  2. Run the NSCLDAQ Readout Shell.

    This step assumes you've run a daqsetup.bash script to source the NSCLDAQ environment variables into your shell. Note that the GET interface software assumes you've done that as well.

    
$DAQBIN/ReadoutShell            
            

    We're also assuming your current working directory is the same as the directory holding your ReadoutCallouts.tcl script or that you've put that script in ~/stagearea/experiment/current

  3. Add the S800 CRDC GET data source to your experiment

    First click the Data Source menu and select Add...

    The Data source type selection dialog then appears. The data source types are alphabetized. Note that at this point in time the second from the top data source type is GET. Select that and click Ok

    Fill in the Network parameters as follows:

    Public IP DNS Name

    spdaq08.nscl.msu.edu

    getEccServer

    10.50.200.2:46002

    Data router Control

    10.50.200.2:46003

    Data router data

    10.50.200.2:45005

    Cobo target service

    10.50.100.2:46001

    Note the 100 above is not a typeo. This is a different IP address from the others.

    Fill in the ringbuffer parameters as follows:

    URI OF GET data ring

    tcp://spdaq08/getdata

    This is the ringbuffer into which GET frames will be written.

    URI of Begin/End run rings

    tcp://spdaq08/statechange

    This is the ring buffer in which the state change ring items (begin run/end run) will be put.

    Name of final data ring (in localhost)

    GET

    This ring buffer will

    In Miscellaneous parameters, leave the timestamp source as timestamp and select a sourceid of 20.

    Click Ok.

  4. Start the data sourece

    Click the Readout GUI start button. Note that when the persistent processes are started, a reminder will be given to run GetController to load and configure the CoBo/ASAD combination.

    Check that there are no errors and that the data source does not exit.

  5. Run GetController

    Run the GetController program in spdaq08 by typing:

    
ssh spdaq08 /usr/opt/GET/bin/GetController
                

    Note that the GetController must connect to the EccServer, and sets up the communcation between all of the system parts so it must be run in the spdaq that is connected to the micro-TCA crate.

  6. Accept the workspace

    GetController organizes configurations (which it calls tests) in containers called workspaces. It remembers the workspace from run to run so normally, on the workspace selection menu, just select Finish.

  7. Configure the data Router

    Be sure the data flow and control prots in this dialog match those setup in the data source configuration. Be sure as well that the External router mode radio button is sselected.

    When all values are correct, click Finish

    If all goes well you should see the log tab of the GetController screen display something like:

    
== Destroying data router server...
    == Creating alarm logger with address 0.0.0.0:46012
    == Adding servant with id: AlarmLogger
    == Creating object adapter @ default -p 46012
    == STARTED server on 0.0.0.0:46012                
                

  8. Choose the system configuration

    Click the Open test button to use a pre-existing Cobo/ASAD configuration. You can then use Edit Test to build a new configuration based on the exisiting one. You can use the green C button next to the Conditions to modify the conditions.

  9. Prepare the system for data taking

    First click the Load Hw button on the GetController GUI. A bunch of stuff is then output to the log window and stuff will also be output to the GET window of the ReadoutGui reflecting the interaction of the GetController with the persistsent components.

    Once the load is done, the DataRouter should indicate that it's been connected. At thta point, click Configure to complete the configuration of the CoBo/ASAD.

    Note that if the configuration accepts test pulser data be sure to check the Start Pulser checkbutton on the ReadoutGUI, otherwise, this checkbutton should be unchecked.

  10. At this point you should be able to start and stop runs with the ReadoutGUI. You can dismiss the GetController window, or leave it up. If you decide to leave it up, to change the configuration click Reset twice to enable the Load Hw once more.

    IF the CoBo/ASAD parameters are not going to be modified, it's not necessary to load and configure the hardware at the beginning of each run. You can just use the Begin and End buttons to control the system.

    Note that the GUI won't have a Pause/Resume button as pausing GET runs is not supported in this version of the software.