Difference between revisions of "SBS DAQ: GEM EEL125 GENRP setup"

From Hall A Wiki
Jump to: navigation, search
m (Usage for setting trigger source)
m (tiLibTest)
Line 58: Line 58:
 
* Fixed Pulser
 
* Fixed Pulser
 
   remex sbsvmeROC1 "rocSetTriggerSource(2)"
 
   remex sbsvmeROC1 "rocSetTriggerSource(2)"
 +
 +
===MPD programs===
 +
log into the VME Controller first with the sbs-onl (e.g.)
 +
  ssh sbs-onl@sbsvme30
 +
  cd ~/mpd-test/
 +
 +
==== <tt>mpdStatus</tt> ====
 +
  mpdStatus <mpd slot number>
 +
* Show the status of MPD at slot <code><mpd slot number></code>
 +
:- Run without <code><mpd slot number></code> to scan all slots.
 +
 +
==== <tt>mpdApvConfig</tt> (formerly i2c_test)====
 +
  mpdApvConfig <mpd slot number> <configfile>
 +
* Test the initialization and configuration of the APVs in the specified MPD.
 +
:- Does the same initialization that is done in <code>mpd_list.c:rocDownload()</code>
 +
:- Also attempts the readback of the APV registers with <code>mpdApvStatus(0)</code>
 +
 +
==== <tt>mpdI2CScan</tt>====
 +
  mpdI2CScan <mpd slot number>
 +
* Scan i2c addresses for any APVs from MPD in specified slot number
 +
:- Configure those found APVs with some default register values
 +
:- Display the APV registers
 +
 +
==== <tt>mpdFiberStatus</tt>====
 +
  mpdFiberStatus <mpd slot number>
 +
* Display the status of the fiber transceiver
 +
 +
==== <tt>ProgramEpcs</tt>====
 +
  $LINUXVME/mpd/libsrc/firmware/ProgramEpcs -s <mpd_vme_slot> -v <firmware .jic file>
 +
* Update MPD firmware at specified VME address.
 +
:- Described in https://hallaweb.jlab.org/dvcslog/SBS/251
 +
 +
==== <tt>RunUserFpga</tt>====
 +
  $LINUXVME/mpd/libsrc/firmware/RunUserFpga -s <mpd_vme_slot> (-f)
 +
* Change between user and factory FPGA image.
 +
:- Described in https://hallaweb.jlab.org/dvcslog/SBS/251
 +
 +
  
 
=== <code>tiLibTest</code> ===
 
=== <code>tiLibTest</code> ===

Revision as of 13:33, 29 October 2021

vnc desktop

- Hosted at eel124gemdaq:4
  • XFCE Panel Menu for CODA Interface

XFCE-panel CODA.png

- Start CODA - Start CODA RunControl GUI and xterms to CODA components
- Restart Stuff - Restart the component programs (xterms stay live)
- Kill Coda - kill all CODA components and RunControl GUI
- CODA Component Table - edit the table that maps the component names to their hostnames

coda_scripts

- github page
- Scripts locations:
  • sbs-onl@sbsvtp2 (and all other ROCs)
- ~/coda_scripts/
  • sbs-onl@eel124gemdaq
- ~/SBS-GENRP/coda_scripts/
  • Note that these are soft-links to
- /adaqfs/home/sbs-onl/sbsgem/coda_scripts/

Frontend scripts to use on eel124gemdaq

startCoda

  • executes each CODA component (platform, rcgui, PEB, ER, all ROCs) in a separate xterm

restartStuff

  • kills and restarts the PEB and ROCs. The xterms are not killed with this script.

kcoda

  • kills all CODA components

Backend scripts, called by the frontend scripts

remote_vme

  • script that restarts an ssh connection if it is closed.

startPEB.sh

  • script that launches coda_emu_peb. restarts it when it is killed.

startER.sh

  • script that launches coda_emu_er. restarts it when it is killed.

startROC.sh

  • script for sbsvme31, sbsvme24 that launches coda_roc with a ROC name determined from the coda_component_table.cfg

startFPGA.sh

  • script on sbsvtp2, sbsvtp4 that launches coda_roc with a ROC name determined from the coda_component_table.cfg

kill_remotes.sh

  • kills off all start*.sh processes.

Useful stand-alone programs

remex

log into any machine first with the sbs-onl (e.g.)

 ssh sbs-onl@eel124gemdaq
 remex <remexHost> <function call>
  • Execute a function call on the specified remote Host
- Run without arguments for usage

Usage for setting trigger source

Must be done after Download

  • TSINPUT
 remex sbsvmeROC1 "rocSetTriggerSource(0)"
  • Random Pulser
 remex sbsvmeROC1 "rocSetTriggerSource(1)"
  • Fixed Pulser
 remex sbsvmeROC1 "rocSetTriggerSource(2)"

MPD programs

log into the VME Controller first with the sbs-onl (e.g.)

 ssh sbs-onl@sbsvme30
 cd ~/mpd-test/

mpdStatus

 mpdStatus <mpd slot number>
  • Show the status of MPD at slot <mpd slot number>
- Run without <mpd slot number> to scan all slots.

mpdApvConfig (formerly i2c_test)

 mpdApvConfig <mpd slot number> <configfile>
  • Test the initialization and configuration of the APVs in the specified MPD.
- Does the same initialization that is done in mpd_list.c:rocDownload()
- Also attempts the readback of the APV registers with mpdApvStatus(0)

mpdI2CScan

 mpdI2CScan <mpd slot number>
  • Scan i2c addresses for any APVs from MPD in specified slot number
- Configure those found APVs with some default register values
- Display the APV registers

mpdFiberStatus

 mpdFiberStatus <mpd slot number>
  • Display the status of the fiber transceiver

ProgramEpcs

 $LINUXVME/mpd/libsrc/firmware/ProgramEpcs -s <mpd_vme_slot> -v <firmware .jic file>
  • Update MPD firmware at specified VME address.
- Described in https://hallaweb.jlab.org/dvcslog/SBS/251

RunUserFpga

 $LINUXVME/mpd/libsrc/firmware/RunUserFpga -s <mpd_vme_slot> (-f)
  • Change between user and factory FPGA image.
- Described in https://hallaweb.jlab.org/dvcslog/SBS/251


tiLibTest

SBS-GEM-Cleanroom/linuxvme/ti/test/tiLibTest <TI slot number>

  • Test triggering capabilities of the local TI.
- Puts the local TI in master mode (with no slaves).
- Accepts triggers either from Front Panel TSinputs or Internal Random Pulser

i2c_test

SBS-GEM-Cleanroom/linuxvme/mpd/libsrc/test/i2c_test <mpd slot number>

  • Test the initialization and configuration of the APVs in the specified MPD.
- Does the same initialization that is done in mpd_list.c:rocDownload()
- Also attempts the readback of the APV registers with mpdApvStatus(0xffff)

vme_display

SBS-GEM-Cleanroom/linuxvme/bin/vme_display <VME Address> <read size in bytes>

  • Display the read value of specified size from the specified VME address.
- Run without arguments for usage

vme_modmem

SBS-GEM-Cleanroom/linuxvme/bin/vme_modmem <VME Address> <read/write size in bytes>

  • Modify the value of specified size of the specified VME address.
- Run without arguments for usage

mpdApvDecode

bryan/mpdApvDecode/mpdApvDecode -f <evio filename>

  • Decode the raw data from the MPDs/APVs
- Local compilation of JeffersonLab/mpdApvDecode
- Command-line options
-m N          set max event number to N
-s N          skip events until N
-e            show only errors
-f filename   set input to filename  
-o filename   redirect all output to filename
-C filename   use filename instead of decode.cfg for configuration

Extra packages installed

Machines in use

atedf3

  • NFS server, tftp server for VME Controllers
  • CODA and hardware drivers in /data/disk2/SBS/
  • Read-only permissions for all machines in 36 subnet
  • Read-Write permissions for hallavme12pc,sbsvme25

hallavme12pc

  • DAQ Computer (RunControl, Event Building)
  • Mount atedf3:/data/disk2/SBS to /mnt/SBS
- Uses autofs. /etc/auto.SBS should be included in a line in /etc/auto.master
Restart procedure if not mounted after reboot
Option 1: (preferred)
- logout of coda
- login as root
cp /etc/auto.master_SBS /etc/auto.master
service puppet stop
service autofs restart
- login normally as coda
Option 2:
- logout of coda
- login as root
mount atedf3:/data/disk2/SBS /mnt/SBS
- login normally as coda
  • Softlinks in /home/coda/SBS-GEM-Cleanroom
  • coda/ CODA (3.10)
  • linuxvme (in CODA 3.10 directory)
  • data (filename format: gem_cleanroom_<run number>.evio.<split number>

hallavme14pc

  • XVB601 VME Controller
  • 'daq' login
  • Slots 2-8, 10-16: MPDs
  • Slot 10: TI
  • Softlinks in /home/daq/SBS-GEM-Cleanroom

sbsvme25

  • XVB601 VME Controller
  • 'daq' login
  • Slots 2-8, 10-16: MPDs
  • Slot 21: TI
  • Softlinks in /home/daq/SBS-GEM-Cleanroom

Updated/Cloned New repos in coda/3.10/linuxvme

github links (team:coda-user):

Added /site remote with (e.g. jvme, devel branch)

 cd jvme
 git remote add site /site/coda/contrib/devel/jvme
 git pull site devel

CODA environment setup script

Using BASH, source the environment setup script:

source ~/SBS-GEM-Cleanroom/env/setupCODA

Stuff to finish

Replace hallavme12pc

  • Install OS
  • Use same mount scripts used on hallavme12pc
  • Use local storage for data.

Add SSP crate

  • Figure out it's hostname
  • Get it to boot just like the other ROCs
  • Check TI
  • Check SSP
  • Check MPD (for checking/debugging APVs)
  • Tell Ben we're ready to start connecting fiber from MPD to SSP

Log CODA runs to logbooks/superbigbite

  • check out code used by Hall A's CODA 2.x
  • from Alex:
- epicsRunstart
- epicsRunEnd
- runstart.tcl
- runend.tcl

Add scripts and GEM-cleanroom specific configuration files to a remote git repo

- .bashrc
- setupCODA
- ~/bin/*