# Database for EPICS PVS for txm optics control
# This database contains all of the PVs used by the txmoptics base class.
#################################
# Cameras and Plugins PV Prefixes
#################################
record(stringout, "$(P)$(R)Camera0PVPrefix")
{
field(VAL, "$(CAMERA0)")
}
record(stringout, "$(P)$(R)Camera1PVPrefix")
{
field(VAL, "$(CAMERA1)")
}
record(stringout, "$(P)$(R)OverlayPlugin0PVPrefix")
{
field(VAL, "$(OVERLAY0)")
}
record(stringout, "$(P)$(R)OverlayPlugin1PVPrefix")
{
field(VAL, "$(OVERLAY1)")
}
record(stringout, "$(P)$(R)FilePlugin0PVPrefix")
{
field(VAL, "$(FILE_PLUGIN0)")
}
record(stringout, "$(P)$(R)FilePlugin1PVPrefix")
{
field(VAL, "$(FILE_PLUGIN1)")
}
record(stringout, "$(P)$(R)PvaPlugin0PVPrefix")
{
field(VAL, "$(PVA_PLUGIN0)")
}
record(stringout, "$(P)$(R)RoiPlugin0PVPrefix")
{
field(VAL, "$(ROI_PLUGIN0)")
}
record(stringout, "$(P)$(R)CbPlugin0PVPrefix")
{
field(VAL, "$(CB_PLUGIN0)")
}
record(stringout, "$(P)$(R)PvaPlugin1PVPrefix")
{
field(VAL, "$(PVA_PLUGIN1)")
}
record(stringout, "$(P)$(R)RoiPlugin1PVPrefix")
{
field(VAL, "$(ROI_PLUGIN1)")
}
record(stringout, "$(P)$(R)CbPlugin1PVPrefix")
{
field(VAL, "$(CB_PLUGIN1)")
}
############################
# Lens Sample X-Y-Z PV Names
############################
record(stringout, "$(P)$(R)LensSampleXPVName")
{
field(VAL, "$(LENS_SAMPLE_X)")
}
record(stringout, "$(P)$(R)LensSampleYPVName")
{
field(VAL, "$(LENS_SAMPLE_Y)")
}
record(stringout, "$(P)$(R)LensSampleZPVName")
{
field(VAL, "$(LENS_SAMPLE_Z)")
}
#####################
# Lens Focus PV Names
#####################
record(stringout, "$(P)$(R)Lens0FocusPVName")
{
field(VAL, "$(LENS0_FOCUS)")
}
record(stringout, "$(P)$(R)Lens1FocusPVName")
{
field(VAL, "$(LENS1_FOCUS)")
}
record(stringout, "$(P)$(R)Lens2FocusPVName")
{
field(VAL, "$(LENS2_FOCUS)")
}
##########################
# Camera rotation PV Names
##########################
record(stringout, "$(P)$(R)Camera0RotationPVName")
{
field(VAL, "$(CAM0_ROT)")
}
record(stringout, "$(P)$(R)Camera1RotationPVName")
{
field(VAL, "$(CAM1_ROT)")
}
###############################
# Optique Peter camera selector
###############################
record(mbbo, "$(P)$(R)CameraSelect") {
field(DTYP, "Raw Soft Channel")
field(NOBT, "3")
field(ZRVL, "0x0")
field(ONVL, "0x1")
field(ZRST, "Pos. 0")
field(ONST, "Pos. 1")
}
record(mbbo, "$(P)$(R)CameraSelected") {
field(DTYP, "Raw Soft Channel")
field(NOBT, "3")
field(ZRVL, "0x0")
field(ONVL, "0x1")
field(TWVL, "0x2")
field(ZRST, "Camera Selected 0")
field(ONST, "Camera Selected 1")
field(TWST, "Moving between cameras")
}
record(ao, "$(P)$(R)CameraPos0") {
field(PREC, "4")
field(VAL, "$(CAMERA_POS0)")
}
record(ao, "$(P)$(R)CameraPos1") {
field(PREC, "4")
field(VAL, "$(CAMERA_POS1)")
}
record(stringout, "$(P)$(R)CameraName0") {
field(PINI, "YES")
field(VAL, "Pos. 0")
field(OUT, "$(P)$(R)CameraSelect.ZRST PP MS")
}
record(stringout, "$(P)$(R)CameraName1") {
field(PINI, "YES")
field(VAL, "Pos. 1")
field(OUT, "$(P)$(R)CameraSelect.ONST PP MS")
}
record(stringout, "$(P)$(R)CameraMotorPVName")
{
field(VAL, "$(CAMERA_MOTOR)")
}
###############################
# Optique Peter camera rotation
###############################
record(ao, "$(P)$(R)Camera0Lens0Rotation")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera0Lens1Rotation")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera0Lens2Rotation")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera1Lens0Rotation")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera1Lens1Rotation")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera1Lens2Rotation")
{
field(PREC, "4")
field(VAL, 0)
}
##########################
# Optique Peter lens focus
##########################
record(ao, "$(P)$(R)Camera0Lens0Focus")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera0Lens1Focus")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera0Lens2Focus")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera1Lens0Focus")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera1Lens1Focus")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera1Lens2Focus")
{
field(PREC, "4")
field(VAL, 0)
}
#############################
# Optique Peter lens selector
#############################
record(mbbo, "$(P)$(R)LensSelect") {
field(DTYP, "Raw Soft Channel")
field(NOBT, "3")
field(ZRVL, "0x0")
field(ONVL, "0x1")
field(TWVL, "0x2")
field(ZRST, "Pos. 0")
field(ONST, "Pos. 1")
field(TWST, "Pos. 2")
}
record(ao, "$(P)$(R)Camera0LensPos0") {
field(PREC, "4")
field(VAL, "$(CAM0_LENS_POS0)")
}
record(ao, "$(P)$(R)Camera0LensPos1") {
field(PREC, "4")
field(VAL, "$(CAM0_LENS_POS1)")
}
record(ao, "$(P)$(R)Camera0LensPos2") {
field(PREC, "4")
field(VAL, "$(CAM0_LENS_POS2)")
}
record(ao, "$(P)$(R)Camera1LensPos0") {
field(PREC, "4")
field(VAL, "$(CAM1_LENS_POS0)")
}
record(ao, "$(P)$(R)Camera1LensPos1") {
field(PREC, "4")
field(VAL, "$(CAM1_LENS_POS1)")
}
record(ao, "$(P)$(R)Camera1LensPos2") {
field(PREC, "4")
field(VAL, "$(CAM1_LENS_POS2)")
}
record(stringout, "$(P)$(R)LensName0") {
field(PINI, "YES")
field(VAL, "Pos. 0")
field(OUT, "$(P)$(R)LensSelect.ZRST PP MS")
}
record(stringout, "$(P)$(R)LensName1") {
field(PINI, "YES")
field(VAL, "Pos. 1")
field(OUT, "$(P)$(R)LensSelect.ONST PP MS")
}
record(stringout, "$(P)$(R)LensName2") {
field(PINI, "YES")
field(VAL, "Pos. 2")
field(OUT, "$(P)$(R)LensSelect.TWST PP MS")
}
record(stringout, "$(P)$(R)LensMotorPVName")
{
field(VAL, "$(LENS_MOTOR)")
}
######################
# Detector image cross
######################
record(mbbo, "$(P)$(R)CrossSelect") {
field(DTYP, "Raw Soft Channel")
field(NOBT, "3")
field(ZRVL, "0x0")
field(ONVL, "0x1")
field(ZRST, "Yes")
field(ONST, "No")
}
##############################
# Optique Peter lens 1 offsets
##############################
record(ao, "$(P)$(R)Camera0Lens1XOffset")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera0Lens1YOffset")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera0Lens1ZOffset")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera1Lens1XOffset")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera1Lens1YOffset")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera1Lens1ZOffset")
{
field(PREC, "4")
field(VAL, 0)
}
##############################
# Optique Peter lens 2 offsets
##############################
record(ao, "$(P)$(R)Camera0Lens2XOffset")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera0Lens2YOffset")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera0Lens2ZOffset")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera1Lens2XOffset")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera1Lens2YOffset")
{
field(PREC, "4")
field(VAL, 0)
}
record(ao, "$(P)$(R)Camera1Lens2ZOffset")
{
field(PREC, "4")
field(VAL, 0)
}
###############################
# MCT status via Channel Access
###############################
record(waveform,"$(P)$(R)MCTStatus")
{
field(FTVL, "UCHAR")
field(NELM, "256")
}
record(calcout, "$(P)$(R)Watchdog")
{
field(SCAN, "1 second")
field(INPA, "$(P)$(R)Watchdog.VAL NPP")
field(CALC, "A-1")
field(OCAL, "A>0?1:0")
field(OOPT, "On Change")
field(DOPT, "Use OCAL")
field(OUT, "$(P)$(R)ServerRunning PP")
}
record(bi, "$(P)$(R)ServerRunning")
{
field(ZNAM, "Stopped")
field(ZSV, "MAJOR")
field(ONAM, "Running")
field(OSV, "NO_ALARM")
}
###############
# Sync to motor
###############
record(busy, "$(P)$(R)Sync")
{
field(ZNAM, "Done")
field(ONAM, "Sync")
}
####################
# Optics information
####################
record(stringout, "$(P)$(R)ScintillatorType")
{
field(VAL, "Unknown")
}
record(ao, "$(P)$(R)ScintillatorThickness")
{
field(PREC, "0")
}
record(ao, "$(P)$(R)ImagePixelSize")
{
field(PREC, "2")
field(EGU, "microns")
}
record(ao, "$(P)$(R)DetectorPixelSize")
{
field(PREC, "2")
field(EGU, "microns")
}
record(stringout, "$(P)$(R)CameraObjective")
{
field(VAL, "Unknown")
}
record(ao, "$(P)$(R)CameraTubeLength")
{
field(PREC, "0")
field(EGU, "mm")
}
############
# Lens names
############
record(stringout, "$(P)$(R)Lens0Name")
{
field(VAL, "Unknown")
}
record(stringout, "$(P)$(R)Lens1Name")
{
field(VAL, "Unknown")
}
record(stringout, "$(P)$(R)Lens2Name")
{
field(VAL, "Unknown")
}
##############
# Camera names
##############
record(stringout, "$(P)$(R)Camera0Name")
{
field(VAL, "Unknown")
}
record(stringout, "$(P)$(R)Camera1Name")
{
field(VAL, "Unknown")
}
####################
# Detectors cropping
####################
record(longout, "$(P)$(R)CutLeft")
{
}
record(longout, "$(P)$(R)CutRight")
{
}
record(longout, "$(P)$(R)CutTop")
{
}
record(longout, "$(P)$(R)CutBottom")
{
}
record(busy, "$(P)$(R)Cut")
{
field(ZNAM, "Done")
field(ONAM, "Cut")
}
record(ao, "$(P)$(R)SuggestedAngles")
{
field(PREC, "0")
field(VAL, 0)
}
record(ao, "$(P)$(R)SuggestedAngleStep")
{
field(PREC, "5")
field(VAL, 0)
}
##################
# Detector options
##################
record(mbbi, "$(P)$(R)Camera0Bit")
{
field(ZRVL, "0")
field(ZRST, "8-bit")
field(ONVL, "1")
field(ONST, "10-bit")
field(TWVL, "2")
field(TWST, "12-bit")
field(THVL, "3")
field(THST, "16-bit")
}
record(mbbi, "$(P)$(R)Camera1Bit")
{
field(ZRVL, "0")
field(ZRST, "8-bit")
field(ONVL, "1")
field(ONST, "10-bit")
field(TWVL, "2")
field(TWST, "12-bit")
field(THVL, "3")
field(THST, "16-bit")
}
###################
# Detectors binning
###################
record(mbbo, "$(P)$(R)CameraBinning")
{
field(ZRVL, "0")
field(ZRST, "1x")
field(ONVL, "1")
field(ONST, "2x")
field(TWVL, "2")
field(TWST, "4x")
}