SBS DAQ: GEM Hall A BigBite setup
Contents
CODA scripts
Frontend scripts to use on tedbbdaq
startCoda
- executes each CODA component (platform, rcgui, PEB, 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
coda_scripts
- - github page
- - Scripts locations:
- bbgem@tedbbdaq
- - ~/sbs-onl/coda_scripts/
- sbs-onl@intelbbgem
- - ~/coda_scripts/
Useful stand-alone programs
remex
log into any machine first with the sbs-onl (e.g.)
ssh sbs-onl@tedbbdaq
$CODA_BIN/remex <remexHost> <function call>
- Execute a function call on the specified remote Host
- - Run without arguments for usage
Usage for setting trigger source (BBGEM only)
- TSINPUT
remex bbgemROC19 "rocSetTriggerSource(0)"
- Random Pulser
remex bbgemROC19 "rocSetTriggerSource(1)"
- Fixed Pulser
remex bbgemROC19 "rocSetTriggerSource(2)"
MPD programs
log into the VME Controller first with the sbs-onl (e.g.)
ssh sbs-onl@intelbbmpd2
mpdStatus
$LINUXVME/mpd/libsrc/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)
$LINUXVME/mpd/libsrc/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
$LINUXVME/mpd/libsrc/test/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
$LINUXVME/mpd/libsrc/test/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
SSP programs
log into the SSP crate first with the sbs-onl
ssh sbs-onl@intelbbgem
sspMpdStatus
~/linuxvme/ssp/test/sspMpdStatus <ssp slot number>
- Show the status of SSP at slot
<sp slot number>
, as well as their fiber connected MPDs
- - Run without
<ssp slot number>
to scan all slots.
sspMpdInit
~/linuxvme/ssp/test/sspMpdInit
- Same function as ssp_mpd_setup() in the readout list without running CODA
sspFirmwareUpdate
~/linuxvme/ssp/firmware/sspFirmwareUpdate <firmware .bin file> <SSP VME ADDRESS>
- Update SSP at specified VME address.
VTP programs
log into the VTP first with the sbs-onl. All programs are in $PATH
.
ssh sbs-onl@sbsvtp3
vtpMpdStatus
vtpMpdStatus
- Show the status the VTP as well as its connected MPDs (those found with channel up)
vtpMpdInit
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
vtpMpdFiberStatus
vtpFiberStatus
- Show the status of all fiber channels on the VTP
- - executes
vtpMpdPrintStatus(0, 0)
vtpMpdSampleMode
vtpMpdSampleMode
- 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@intelbbgem
tiLibTest
$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
$CODA_VME_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
$CODA_VME_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
platform on tedbbdaq
log into tedbbdaq first with the sbs-onl
ssh sbs-onl@tedbbdaq
sudo systemctl restart platform
sudo systemctl restart platform
- Restart the CODA 3 platform systemd service.
- - Can be run from any account in the 'coda' group on tedbbdaq
- - bbshower, bbhodo, bbgem, daq
MPD/SSP/APV Config files
- Config files for configuration of APVs and MPD / SSP can be found in
- - sbs-onl@intelbbgem:~/bbgem-cfg/
- The SSP readout list (mpd5_ssp_list.so) uses
- - sbs-onl@intelbbgem:~/bbgem-cfg/ssp_config.txt
- - sbs-onl@intelbbgem:~/bbgem-cfg/ssp_apv_default.txt
- The MPD readout list (mpd_list.so, mpd_slave_list.so) uses
- - sbs-onl@intelbbgem:~/bbgem-cfg/mpd_config.txt
- - sbs-onl@intelbbgem:~/bbgem-cfg/mpd_apv_default.txt
- Both use common files to configure the MPDs/APVs given the MPD's slot number. For example, slot 5 MPD:
- - sbs-onl@intelbbgem:~/bbgem-cfg/bbgem_crate_1/MPD_vmeSlot_5.cfg
- Programs useful for debugging config file format
- - $LINUXVME/mpd/libsrc/test/mpdConfigTest <config filename>
- - $LINUXVME/mpd/libsrc/test/sspMpdConfigTest <config filename>
Superbigbite Logbook Entries
- Entry script:
- - daq@tedbbdaq:~/gem_scripts/MakeEntry.sh %(rt) <START/END> %(rn)
- - DAQNAME=BBGEM
- - Executed by PEB1 before Prestart and after End
Machines in use
atedf3
- NFS server, tftp server for VME Controllers
- CODA and hardware drivers : /data/disk2/SBS/coda/3.10_arm
- sbs-onl home directory : /data/disk2/home/sbs-onl
- Read-only permissions for all machines in 36 subnet
- Read-Write permissions for a few select machines / vme controllers
tedbbdaq
- 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
- User: daq
- CODA (3.10) : ~/coda3/3.10_arm/
- - ~/.bashrc
# CODA 3 setup : SESSION=bbgem 01dec2020 export CODA=/mnt/SBS/coda/3.10_arm export SESSION=bbgem export EXPID=tedbbdaq source ${HOME}/gem_scripts/setupCODA3.bash
- - ~/gem_scripts/setupCODA3.bash
intelbbgem
- XVR16 VME Controller
- User: sbs-onl
- home directory : atedf3:/data/disk2/home/sbs-onl/bbgem
- CODA3 environment setup:
- - ~/.bashrc
# CODA 3 using coda_scripts : SESSION=bbgem 01dec2020 export SESSION=bbgem export EXPID=tedbbdaq source ${HOME}/coda_scripts/setupCODA3.bash
- - ~/coda_scripts/setupCODA.bash
- Slots 20 : SSP - initial firmware: fe_ssp_mpd_v1_8_aug11_2020.bin
- Slot 21: TI
- LINUXVME (mpd,ssp)
- - ~/linuxvme/
# LINUXVME for mpd and ssp export LINUXVME=${HOME}/linuxvme export LINUXVME_INC=${HOME}/linuxvme/include export LINUXVME_LIB=${HOME}/linuxvme/${MACHINE}/lib export LINUXVME_BIN=${HOME}/linuxvme/${MACHINE}/bin export LD_LIBRARY_PATH=.:${LINUXVME_LIB}:${LD_LIBRARY_PATH} export PATH=.:${LINUXVME_BIN}:${PATH}
- readout lists
- - ~/rol/
hatsv48
- XVB601 VME Controller
- 'daq' login
- Slots 2-8, 10-16: MPDs
- Slot 21: TI
bbgemvxs
VXS crate with intelbbgem and SSP
BB MPD crates
- intelbbmpd
- 8 MPDs for 2 INFN layers
- intelbbmpd2
- 15 MPDs for 2 UV layers + back tracker
VTP crate
intelsbsgem3
129.57.36.159 XVR16 for VXS VTP crate
bbgemvxs2
129.57.37.140 VXS crate
intelsbsgem2
129.57.37.139 XVR16 for 3rd VXS VTP crate
sbsts
Serial portserver port 4 VTP serial