# Database for EPICS PVS for txm optics control
# This database contains all of the PVs used by the txmoptics base class.
#############
# PV Prefixes
#############
record(stringout, "$(P)$(R)TomoscanPVPrefix")
{
field(VAL, "$(TOMOSCAN_PREFIX)")
}
############
# Scan Types
############
record(mbbo, "$(P)$(R)ScanType")
{
field(ZRVL, "0")
field(ZRST, "Single")
field(ONVL, "1")
field(ONST, "Vertical")
field(TWVL, "2")
field(TWST, "Horizontal")
field(THVL, "3")
field(THST, "Mosaic")
field(FRVL, "4")
field(FRST, "Scan File")
field(FVVL, "5")
field(FVST, "Energy")
field(SXVL, "6")
field(SXST, "Energy File")
field(SVVL, "7")
field(SVST, "Helical")
}
###################
# Vertical scan PVs
###################
record(ao, "$(P)$(R)VerticalStart")
{
field(PREC, "3")
field(EGU, "mm")
}
record(ao, "$(P)$(R)VerticalStepSize")
{
field(PREC, "3")
field(EGU, "mm")
}
record(ao, "$(P)$(R)VerticalSteps")
{
field(PREC, "3")
}
#####################
# Horizontal scan PVs
#####################
record(ao, "$(P)$(R)HorizontalStart")
{
field(PREC, "3")
field(EGU, "mm")
}
record(ao, "$(P)$(R)HorizontalStepSize")
{
field(PREC, "3")
field(EGU, "mm")
}
record(ao, "$(P)$(R)HorizontalSteps")
{
field(PREC, "3")
}
###########
# Scan file
###########
record(stringout, "$(P)$(R)ScanFileName")
{
field(VAL, "Unknown")
}
record(bo, "$(P)$(R)ScanFileOK")
{
field(ZNAM, "No")
field(ONAM, "Yes")
}
#################
# Energy scan PVs
#################
record(ao, "$(P)$(R)EnergyStart")
{
field(PREC, "3")
field(EGU, "keV")
}
record(ao, "$(P)$(R)EnergyStepSize")
{
field(PREC, "3")
field(EGU, "keV")
}
record(ao, "$(P)$(R)EnergySteps")
{
field(PREC, "3")
}
#############
# Energy file
#############
record(stringout, "$(P)$(R)EnergyFileName")
{
field(VAL, "Unknown")
}
record(bo, "$(P)$(R)EnergyFileOK")
{
field(ZNAM, "No")
field(ONAM, "Yes")
}
#######
# Sleep
#######
record(ao, "$(P)$(R)SleepTime")
{
field(PREC, "3")
field(EGU, "s")
}
record(ao, "$(P)$(R)SleepSteps")
{
field(PREC, "3")
field(EGU, "s")
}
record(mbbo, "$(P)$(R)SleepSelect") {
field(DTYP, "Raw Soft Channel")
field(NOBT, "3")
field(ZRVL, "0x0")
field(ONVL, "0x1")
field(ZRST, "Yes")
field(ONST, "No")
}
#################
# In-situ PV name
#################
record(stringout, "$(P)$(R)InsituPVName")
{
field(VAL, "$(INSITU_PV)")
}
##################
# In-situ scan PVs
##################
record(ao, "$(P)$(R)InsituStart")
{
field(PREC, "3")
field(EGU, "mm")
}
record(ao, "$(P)$(R)InsituStepSize")
{
field(PREC, "3")
field(EGU, "mm")
}
record(mbbo, "$(P)$(R)InsituSelect") {
field(DTYP, "Raw Soft Channel")
field(NOBT, "3")
field(ZRVL, "0x0")
field(ONVL, "0x1")
field(ZRST, "Yes")
field(ONST, "No")
}
##################
# Helical scan PVs
##################
record(ao, "$(P)$(R)PixelsYPer360Deg")
{
field(PREC, "3")
}
###########
# Other PVs
###########
record(mbbo, "$(P)$(R)TestingSelect") {
field(DTYP, "Raw Soft Channel")
field(NOBT, "3")
field(ZRVL, "0x0")
field(ONVL, "0x1")
field(ZRST, "Yes")
field(ONST, "No")
}
#################################
# Scan control via Channel Access
#################################
record(busy,"$(P)$(R)StartScan")
{
field(ZNAM,"Done")
field(ZSV, "NO_ALARM")
field(ONAM,"Acquire")
field(OSV, "MINOR")
field(VAL, "0")
}
record(bo,"$(P)$(R)AbortScan")
{
field(ZNAM,"No")
field(ONAM,"Yes")
}
################################
# Scan status via Channel Access
################################
record(waveform,"$(P)$(R)ScanLibStatus")
{
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")
}