Project

General

Profile

Using the hardware emulator system

Penn emulator

It's recommended to have 3 terminals open, but of course you can use just one & leave processes running in the background.

  1. Specify your setup options in PennReceiver0.fcl
  2. Start the python emulator (terminal 1)
    After sourcing setupLBNEARTDAQ, run:
    python `which pennEmulator.py`
    

    A port option exists if the default 9999 is taken.
    A host option also exists, to start the emulator on another machine (e.g. on lbnedaq3 from lbne35t-gateway01) but this doesn't work. If you know how to fix it, please do!
  3. Start the Penn system (terminal 2)
    After sourcing setupLBNEARTDAQ, run:
    startPennSystem.sh
    
  4. Run the Penn system (terminal 3)
    After sourcing setupLBNEARTDAQ, use the managePennSystem.sh to control the system. See Running a sample artdaq-demo system for details on manage*.sh script options.
    You might want to add the following function to your .bashrc
    function managepenn {
        managePennSystem.sh -v init;
        managePennSystem.sh -N 101 start;
        sleep $1;
        managePennSystem.sh stop;
        managePennSystem.sh shutdown;
    }
    

    Then to take a 60 second run, just type:
    managepenn 60
    

Note that you can also use lbnerc to control the Penn. The steps are then (assuming you're on lbne35t-gateway01)

  1. Specify your configuration in /data/lbnedaq/config/penn_emulator/penn01_hw_cfg.fcl (or make your own!). Remember to 'git commit' before using the new/modified configuration.
  2. Remember to do step 2 (start the Penn system) on the correct machine - check ~/.lbnerc-components (currently use lbnedaq3)
  3. Use lbnecmd to control the system. See Running DAQ Interface for more information

RCE emulator

NOTE use the feature/emulators branch for the RCE emulator (for now) and don't merge it into develop

The steps here are essentially identical to the Penn instructions. This is because the Penn emulator is a modified RCE emulator.

PennReceiver0.fcl -> TpcRceReceiver0.fcl
pennEmulator.py -> rceEmulator.py
startPennSystem.sh -> startRceSystem.sh
managePennSystem.sh -> manageRceSystem.sh

SSP emulator

Running multiple emulators together