ISIS Logo
PIXELMAN
EPICS plugin for Pixelman
pixelman.cmd

Plugin IOC startup file

##
## @file pixelman.cmd
##
## output from the running of this file is sent
## to pixelman_iocout.log and pixelman_iocerr.log
##
## Increase this if you get <<TRUNCATED>> or discarded messages warnings in your errlog output
errlogInit2(65536, 256)
< $(EPICSPIXELMAN)/../iocBoot/iocpixelman/envPaths
## correct TOP in case we have moved location
epicsEnvSet("TOP","$(EPICSPIXELMAN)/..")
epicsEnvSet("AUTOSAVEREQ","#")
## Register all support components
dbLoadDatabase "$(TOP)/dbd/pixelman.dbd"
pixelman_registerRecordDeviceDriver pdbbase
## ISIS common init
< $(IOCSTARTUP)/init.cmd
# The search path for database files
epicsEnvSet("EPICS_DB_INCLUDE_PATH", "$(ADCORE)/db")
asynSetMinTimerPeriod(0.001)
## "BeARQuT" is the real MCP detector, "dummy" is the simulation mode
## PIXDET variable normally set in the config_local.bat invoked by run_pixelman.bat to run pixelman.exe
#pixelmanConfigure("MCP", "BeARQuT")
#pixelmanConfigure("MCP", "dummy")
pixelmanConfigure("MCP", "$(PIXDET=dummy)")
## pixelman picks up variables to write to the FITS header from a file
## This configures the association between this file and the PVs
## defined in FitsParameters.db
## PIXELMANDIR is set in config_local.bat and then translated to EPIXELMANDIR
FileServerConfigure("fits", "${EPIXELMANDIR}/FitsHeaderParameters.txt")
## ISIS common init
< $(IOCSTARTUP)/dbload.cmd
## Load our record instances
## At ISIS the MYPVPREFIX environment variable is already set externally
## areaDetector
NDTransformConfigure("ADRawImage1", 3, 0, "MCP", 0, 0)
NDROIConfigure("ADROI1", 3, 0, "ADRawImage1", 0, 0)
NDStatsConfigure("ADStats1", 3, 0, "ADROI1", 0, 0)
NDStdArraysConfigure("ADImage1", 3, 0, "ADROI1", 0, 0)
NDPvaConfigure("ADPVA1", 3, 0, "ADROI1", 0, "$(MYPVPREFIX)PIXELMAN:AD:pva1:pvaData", 0)
## needs to fit in EPICS_CA_MAX_ARRAY_BYTES i.e. nx * ny * pixelsize
## also NELEMENTS needs to at least nx * ny
## 512 * 512 = 262144
## 512 * 512 * 4 = 1048576
epicsEnvSet("EPICS_CA_MAX_ARRAY_BYTES", "1100000")
## This waveform
## TYPE=Int8,FTVL=UCHAR for 8 bit integer
## TYPE=Int32,FTVL=LONG,DATATYPE=4 for 32 bit integer
## TYPE=Float32,FTVL=FLOAT,DATATYPE=6 for 32 bit float
dbLoadRecords("NDTransform.template", "P=$(MYPVPREFIX),R=PIXELMAN:AD:rawimage1:,PORT=ADRawImage1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=MCP,NDARRAY_ADDR=0,DATATYPE=4,ENABLED=1")
dbLoadRecords("NDROI.template", "P=$(MYPVPREFIX),R=PIXELMAN:AD:roi1:,PORT=ADROI1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ADRawImage1,NDARRAY_ADDR=0,DATATYPE=4,ENABLED=1")
dbLoadRecords("NDStats.template", "P=$(MYPVPREFIX),R=PIXELMAN:AD:stats1:,PORT=ADStats1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ADROI1,NDARRAY_ADDR=0,DATATYPE=4,ENABLED=1,NCHANS=1,XSIZE=1,YSIZE=1,HIST_SIZE=1")
dbLoadRecords("NDStdArrays.template", "P=$(MYPVPREFIX),R=PIXELMAN:AD:image1:,PORT=ADImage1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ADROI1,NDARRAY_ADDR=0,DATATYPE=4,ENABLED=1,TYPE=Int32,FTVL=LONG,NELEMENTS=265000")
dbLoadRecords("NDPva.template", "P=$(MYPVPREFIX),R=PIXELMAN:AD:pva1:,PORT=ADPVA1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ADROI1,NDARRAY_ADDR=0,DATATYPE=4,ENABLED=1")
dbLoadRecords("$(TOP)/db/ADpixelman.template","P=$(MYPVPREFIX),R=PIXELMAN:AD:,PORT=MCP,ADDR=0,TIMEOUT=1,DATATYPE=4")
dbLoadRecords("$(TOP)/db/pixelman.db", "P=$(MYPVPREFIX=),Q=PIXELMAN:")
dbLoadRecords("$(TOP)/db/FitsParameters.db", "P=$(MYPVPREFIX=),Q=PIXELMAN:")
set_requestfile_path(".", "")
## ISIS common init
< $(IOCSTARTUP)/preiocinit.cmd
## ISIS common post init
< $(IOCSTARTUP)/postiocinit.cmd
# Save motor positions every 5 seconds
#create_monitor_set("$(IOCNAME)_positions.req", 5, "P=$(MYPVPREFIX)$(Q)")
# Save motor settings every 30 seconds
#create_monitor_set("$(IOCNAME)_settings.req", 30, "P=$(MYPVPREFIX)$(Q)")
## Start any sequence programs
#seq sncxxx,"user=faa59Host"
dbpf $(MYPVPREFIX)PIXELMAN:AD:rawimage1:Type Rot270
startPVAServer
dbl
Copyright © 2013 Science and Technology Facilities Council | Generated by   doxygen 1.8.5