From Hall A Wiki
Revision as of 13:37, 29 October 2021 by Moffit (Talk | contribs) (Useful stand-alone programs)

Jump to: navigation, search

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


- 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


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


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


  • kills all CODA components

Backend scripts, called by the frontend scripts


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

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

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

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

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

  • kills off all start*.sh processes.

Useful stand-alone programs


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

 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 <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 <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 <mpd slot number>
  • Display the status of the fiber transceiver


 $LINUXVME/mpd/libsrc/firmware/ProgramEpcs -s <mpd_vme_slot> -v <firmware .jic file>
  • Update MPD firmware at specified VME address.
- Described in


 $LINUXVME/mpd/libsrc/firmware/RunUserFpga -s <mpd_vme_slot> (-f)
  • Change between user and factory FPGA image.
- Described in

VTP programs

log into the VTP first with the sbs-onl.

 ssh sbs-onl@sbsvtp3
 cd ~/vtp-test/


  • Show the status the VTP as well as its connected MPDs (those found with channel up)


 vtpMpdInit  cfgFileName
  • Initialize VTP and their attached MPDs and APVs (those found with channel up)
  • If cfgFileName is provided, use it to define the MPD and APV to initialize


  • Show the status of all fiber channels on the VTP
- executes vtpMpdPrintStatus(0, 0)


  • Dump raw adcs samples to file.
  • work in progress...

other VME programs

log into the VME controller first with the sbs-onl

 ssh sbs-onl@sbsvme30


 $CODA_VME/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


 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 <VME Address> <read/write size in bytes>
  • Modify the value of specified size of the specified VME address.
- Run without arguments for usage

Extra packages installed

Machines in use


  • 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


  • 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>


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


  • 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/*