vld-epics
is an EPICS IOC/library for the VLD
- set
LINUXVME
environment variables and installjvme
library (e.g. bash)export LINUXVME=${HOME}/linuxvme export LINUXVME_INC=${LINUXVME}/include export LINUXVME_LIB=${LINUXVME}/Linux-x86_64/lib mkdir -p ${LINUXVME_INC} mkdir -p ${LINUXVME_LIB} cd ${LINUXVME} git clone https://github.com/JeffersonLab/jvme.git cd jvme make install
- install VLD library
cd ${LINUXVME} git clone https://github.com/JeffersonLab/vld.git cd vld make install
- Clone the repo
git clone https://github.com/JeffersonLab/vld-epics.git
- Modify
configure/RELEASE
with the paths for your system, e.g.ASYN = /daqfs/apps/epics/R3-15-git/support/asyn EPICS_BASE = /daqfs/apps/epics/R3-15-git/base
- Create a
substitutions
file to match your crate configuration. Example isVLD-daqlab.substitutions
- build the IOC
cd vld-epics make
- modify the st.cmd to use your substitutions file:
epicsEnvSet("PORT", "daqlab") # ... # ... dbLoadTemplate($(TOP)/db/"VLD-$(PORT).substitutions","P=$(PORT),PORT=$(PORT)")
${PORT}NVLD
- number of VLD found during IOC initialization.
${PORT}SlotMask
- Mask of slot numbers indicating the slots where VLD were found.
${PORT}ActiveMask
- What slots are currently enabled
${PORT}${SLOT}:ModuleID
- Module ID of the VLD. Should be
0x1EDD
- Module ID of the VLD. Should be
${PORT}${SLOT}:FirmwareVersion
- Firmware Version of the VLD
${PORT}${SLOT}:Reset
- Soft Reset of VLD to power-up values
${PORT}${SLOT}:ClockSource
- Set source of 250MHz clock.
- 0: internal
- 1: front panel LEMO
- Set source of 250MHz clock.
${PORT}${SLOT}:ClockSource_RB
- Readback of current clock source
${PORT}${SLOT}:TriggerSourceMask
- mbbo: Set source of calibration pulse
- 0: Periodic Pulser
- 1: Random Pulser
- 2: Front Panel LEMO
- mbbo: Set source of calibration pulse
${PORT}${SLOT}:TriggerSourceMask_RB
- mbbo: Readback of calibration pulse source
- 0: Periodic Pulser
- 1: Random Pulser
- 2: Front Panel LEMO
- mbbo: Readback of calibration pulse source
${PORT}${SLOT}:TriggerCount
- Readback of number of calibration pulses received (or generated)
${PORT}${SLOT}:PulseWaveformType
- Select example trapezoidal (0) or square (1) waveform
${PORT}${SLOT}:SquareWaveAmplitude
- Set amplitude of square waveform (max DAC = 63)
${PORT}${SLOT}:SquareWaveWidth
- Set the width [2ns] of the square waveform (max = 2048),
${PORT}${SLOT}:${CONN}:LowChannelMask
- Mask of channels to enable (0-17)
${PORT}${SLOT}:${CONN}:HighChannelMask
- Mask of channels to enable (18-35)
${PORT}${SLOT}:${CONN}:LowChannelMask_RB
- Readback of currently enabled channels (0-17)
${PORT}${SLOT}:${CONN}:HighChannelMask_RB
- Readback of currently enabled channels (18-35)
${PORT}${SLOT}:RandomPulserRateSet
- mbbo: Set the random pulse rate
- 0: 700kHz
- 1: 350kHz
…
- 15: 21Hz
- mbbo: Set the random pulse rate
${PORT}${SLOT}:RandomPulserRate
- mbbi: Readback of current random pulser rate
${PORT}${SLOT}:RandomPulserEnable
- Enable / Disable the random pulser
${PORT}${SLOT}:RandomPulserEnable_RB
- Readback of random pulser state
${PORT}${SLOT}:PeriodicPulserPeriod
- Set value for the fixed pulser period
${PORT}${SLOT}:PeriodicPulserPeriod_RB
- Readback value for the fixed pulser period
${PORT}${SLOT}:PeriodicPulserPeriodRange
- Set value for the fixed pulser period range (0: 8ns, 1: 8.19us)
${PORT}${SLOT}:PeriodicPulserPeriodRange_RB
- Readback value for the fixed pulser period range (0: 8ns, 1: 8.19us)
${PORT}${SLOT}:PeriodicPulserNumber
- Set value for the fixed pulser number of pulses
${PORT}${SLOT}:PeriodicPulserNumber_RB
- Readback value for the fixed pulser number of pulses
${PORT}${SLOT}:CalibrationPulseWidth
- Set value for the pulse width of the trigger LEMO output
${PORT}${SLOT}:CalibrationPulseWidth_RB
- Readback value for the pulse width of the trigger LEMO output
${PORT}${SLOT}:TriggerDelay
${PORT}${SLOT}:TriggerDelay_RB
${PORT}${SLOT}:TriggerDelaySet
${PORT}${SLOT}:TriggerDelayStep
${PORT}${SLOT}:TriggerDelayCalc
${PORT}${SLOT}:TriggerDelayCalcout
${PORT}${SLOT}:TriggerDelayStepCalcout
${PORT}${SLOT}:TriggerDelaySetFanout
${PORT}${SLOT}:TriggerDelayFanout
${PORT}${SLOT}:TriggerDelayStep_RB
${PORT}${SLOT}:BleachTime
- Set the value for the beaching timer, in units of
20ns * 1024 * 1024
- Set the value for the beaching timer, in units of
${PORT}${SLOT}:BleachTime_RB
- Set the value for the beaching timer
${PORT}${SLOT}:BleachTimerEnable
- Enable / Disable the bleaching timer
${PORT}${SLOT}:BleachTimerEnable_RB
- Readback of the bleaching timer enable status
${PORT}${SLOT}:${CONN}:LDOEnable
- Enable / Disable of the bleaching LDO regulator
${PORT}${SLOT}:${CONN}:LDOEnable_RB
- Readback of the bleaching LDO regulator enable status
${PORT}${SLOT}:${CONN}:LDOCurrentSetting
- Set the value for the LDO regulator setting [0, 7]
${PORT}${SLOT}:${CONN}:LDOCurrentSetting_RB
- Readback of the LDO regulator setting