New file for firewireWinDCAM support
git-svn-id: https://subversion.xor.aps.anl.gov/synApps/areaDetector/trunk@8623 dc6c5ff5-0b8b-c028-a01f-ffb33f00fc8b
This commit is contained in:
@@ -0,0 +1,161 @@
|
||||
## firewireDCAM.db
|
||||
## Template database file to control the features of a firewire camera.
|
||||
## See the detailled description for information about macros and how features
|
||||
## can be controlled and read out:
|
||||
##
|
||||
|
||||
## Video Format
|
||||
record(mbbo, "$(P)$(R)FORMAT") {
|
||||
field(SCAN, "Passive")
|
||||
field(PINI, "NO")
|
||||
field(DTYP, "asynInt32")
|
||||
field(OUT, "@asyn($(PORT) 0)FDC_FORMAT")
|
||||
field(ZRST, "VGA")
|
||||
field(ONST, "Super VGA 1")
|
||||
field(TWST, "Super VGA 2")
|
||||
field(THST, "Still image")
|
||||
field(FRST, "User-defined")
|
||||
field(ZRVL, "0x0")
|
||||
field(ONVL, "0x1")
|
||||
field(TWVL, "0x2")
|
||||
field(THVL, "0x6")
|
||||
field(FRVL, "0x7")
|
||||
}
|
||||
|
||||
## Read back the framerate setting when not in ROI/format7 mode.
|
||||
record(mbbi, "$(P)$(R)FORMAT_RBV") {
|
||||
field(SCAN, "I/O Intr")
|
||||
field(PINI, "YES")
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT) 0)FDC_FORMAT")
|
||||
field(ZRST, "VGA")
|
||||
field(ONST, "Super VGA 1")
|
||||
field(TWST, "Super VGA 2")
|
||||
field(THST, "Still image")
|
||||
field(FRST, "User-defined")
|
||||
field(ZRVL, "0x0")
|
||||
field(ONVL, "0x1")
|
||||
field(TWVL, "0x2")
|
||||
field(THVL, "0x6")
|
||||
field(FRVL, "0x7")
|
||||
}
|
||||
|
||||
## VideoMode
|
||||
record(mbbo, "$(P)$(R)MODE") {
|
||||
field(SCAN, "Passive")
|
||||
field(PINI, "NO")
|
||||
field(DTYP, "asynInt32")
|
||||
field(OUT, "@asyn($(PORT) 0)FDC_MODE")
|
||||
field(ZRST, "0")
|
||||
field(ONST, "1")
|
||||
field(TWST, "2")
|
||||
field(THST, "3")
|
||||
field(FRST, "4")
|
||||
field(FVST, "5")
|
||||
field(SXST, "6")
|
||||
field(SVST, "7")
|
||||
field(ZRVL, "0x0")
|
||||
field(ONVL, "0x1")
|
||||
field(TWVL, "0x2")
|
||||
field(THVL, "0x3")
|
||||
field(FRVL, "0x4")
|
||||
field(FVVL, "0x5")
|
||||
field(SXVL, "0x6")
|
||||
field(SVVL, "0x7")
|
||||
}
|
||||
|
||||
## Read back the framerate setting when not in ROI/format7 mode.
|
||||
record(mbbi, "$(P)$(R)MODE_RBV") {
|
||||
field(SCAN, "I/O Intr")
|
||||
field(PINI, "YES")
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT) 0)FDC_MODE")
|
||||
field(ZRST, "0")
|
||||
field(ONST, "1")
|
||||
field(TWST, "2")
|
||||
field(THST, "3")
|
||||
field(FRST, "4")
|
||||
field(FVST, "5")
|
||||
field(SXST, "6")
|
||||
field(SVST, "7")
|
||||
field(ZRVL, "0x0")
|
||||
field(ONVL, "0x1")
|
||||
field(TWVL, "0x2")
|
||||
field(THVL, "0x3")
|
||||
field(FRVL, "0x4")
|
||||
field(FVVL, "0x5")
|
||||
field(SXVL, "0x6")
|
||||
field(SVVL, "0x7")
|
||||
}
|
||||
|
||||
## Change the framerate when the camera is not in the ROI/format7 mode
|
||||
record(mbbo, "$(P)$(R)FR") {
|
||||
field(SCAN, "Passive")
|
||||
field(PINI, "NO")
|
||||
field(DTYP, "asynInt32")
|
||||
field(OUT, "@asyn($(PORT) 0)FDC_FRAMERATE")
|
||||
field(ZRST, "1.875")
|
||||
field(ONST, "3.75")
|
||||
field(TWST, "7.5")
|
||||
field(THST, "15")
|
||||
field(FRST, "30")
|
||||
field(FVST, "60")
|
||||
field(SXST, "120")
|
||||
field(SVST, "240")
|
||||
field(ZRVL, "0x0")
|
||||
field(ONVL, "0x1")
|
||||
field(TWVL, "0x2")
|
||||
field(THVL, "0x3")
|
||||
field(FRVL, "0x4")
|
||||
field(FVVL, "0x5")
|
||||
field(SXVL, "0x6")
|
||||
field(SVVL, "0x7")
|
||||
}
|
||||
|
||||
## Read back the framerate setting when not in ROI/format7 mode.
|
||||
record(mbbi, "$(P)$(R)FR_RBV") {
|
||||
field(SCAN, "I/O Intr")
|
||||
field(PINI, "YES")
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT) 0)FDC_FRAMERATE")
|
||||
field(ZRST, "1.875")
|
||||
field(ONST, "3.75")
|
||||
field(TWST, "7.5")
|
||||
field(THST, "15")
|
||||
field(FRST, "30")
|
||||
field(FVST, "60")
|
||||
field(SXST, "120")
|
||||
field(SVST, "240")
|
||||
field(ZRVL, "0x0")
|
||||
field(ONVL, "0x1")
|
||||
field(TWVL, "0x2")
|
||||
field(THVL, "0x3")
|
||||
field(FRVL, "0x4")
|
||||
field(FVVL, "0x5")
|
||||
field(SXVL, "0x6")
|
||||
field(SVVL, "0x7")
|
||||
}
|
||||
|
||||
# Current format string
|
||||
record(stringin, "$(P)$(R)CURRENT_FORMAT") {
|
||||
field(PINI, "YES")
|
||||
field(DTYP, "asynOctetRead")
|
||||
field(INP, "@asyn($(PORT) 0)FDC_CURRENT_FORMAT")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
|
||||
# Current mode string
|
||||
record(stringin, "$(P)$(R)CURRENT_MODE") {
|
||||
field(PINI, "YES")
|
||||
field(DTYP, "asynOctetRead")
|
||||
field(INP, "@asyn($(PORT) 0)FDC_CURRENT_MODE")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
|
||||
# Current frame rate string
|
||||
record(stringin, "$(P)$(R)CURRENT_RATE") {
|
||||
field(PINI, "YES")
|
||||
field(DTYP, "asynOctetRead")
|
||||
field(INP, "@asyn($(PORT) 0)FDC_CURRENT_FRAMERATE")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
## firewireFeature.db
|
||||
|
||||
# Set the value (int32)
|
||||
record(ao, "$(P)$(R)$(FEATURE)") {
|
||||
field(DTYP, "asynInt32")
|
||||
field(DESC, "$(DESC)")
|
||||
field(OUT, "@asyn($(PORT) $(N))FDC_FEAT_VAL")
|
||||
}
|
||||
|
||||
# Read the value (int32)
|
||||
record(ai, "$(P)$(R)$(FEATURE)_RBV") {
|
||||
field(SCAN, "I/O Intr")
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT) $(N))FDC_FEAT_VAL")
|
||||
field(PINI, "YES")
|
||||
}
|
||||
|
||||
## Set the control mode (manual = user configured /auto = camera sets values)
|
||||
record(bo, "$(P)$(R)$(FEATURE)_CTRL") {
|
||||
field(DTYP, "asynInt32")
|
||||
field(OUT, "@asyn($(PORT) $(N))FDC_FEAT_MODE")
|
||||
field(ZNAM, "Manual")
|
||||
field(ONAM, "Auto")
|
||||
}
|
||||
|
||||
## Read back the control mode
|
||||
record(bi, "$(P)$(R)$(FEATURE)_CTRL_RBV") {
|
||||
field(SCAN, "I/O Intr")
|
||||
field(PINI, "YES")
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT) $(N))FDC_FEAT_MODE")
|
||||
field(ZNAM, "Manual")
|
||||
field(ONAM, "Auto")
|
||||
}
|
||||
|
||||
## Read whether the camera supports this feature
|
||||
record(bi, "$(P)$(R)$(FEATURE)_AVL") {
|
||||
field(SCAN, "I/O Intr")
|
||||
field(PINI, "YES")
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT) $(N))FDC_FEAT_AVAILABLE")
|
||||
field(ZNAM, "not available")
|
||||
field(ONAM, "available")
|
||||
}
|
||||
|
||||
# Read value boundaries
|
||||
record(ai, "$(P)$(R)$(FEATURE)_MIN") {
|
||||
field(SCAN, "I/O Intr")
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT) $(N))FDC_FEAT_VAL_MIN")
|
||||
field(PINI, "YES")
|
||||
field(FLNK, "$(P)$(R)$(FEATURE)_DRVL")
|
||||
}
|
||||
|
||||
# Set DRLV field of the value PV
|
||||
record(ao, "$(P)$(R)$(FEATURE)_DRVL") {
|
||||
field(DOL, "$(P)$(R)$(FEATURE)_MIN NPP NMS")
|
||||
field(OMSL, "closed_loop")
|
||||
field(OUT, "$(P)$(R)$(FEATURE).DRVL NPP NMS")
|
||||
field(FLNK, "$(P)$(R)$(FEATURE)_LOPR")
|
||||
}
|
||||
# Set LOPR field of the value PV
|
||||
record(ao, "$(P)$(R)$(FEATURE)_LOPR") {
|
||||
field(DOL, "$(P)$(R)$(FEATURE)_MIN NPP NMS")
|
||||
field(OMSL, "closed_loop")
|
||||
field(OUT, "$(P)$(R)$(FEATURE).LOPR NPP NMS")
|
||||
}
|
||||
record(ai, "$(P)$(R)$(FEATURE)_MAX") {
|
||||
field(SCAN, "I/O Intr")
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT) $(N))FDC_FEAT_VAL_MAX")
|
||||
field(PINI, "YES")
|
||||
field(FLNK, "$(P)$(R)$(FEATURE)_DRVH")
|
||||
}
|
||||
# Set DRLH field of the value PV
|
||||
record(ao, "$(P)$(R)$(FEATURE)_DRVH") {
|
||||
field(DOL, "$(P)$(R)$(FEATURE)_MAX NPP NMS")
|
||||
field(OMSL, "closed_loop")
|
||||
field(OUT, "$(P)$(R)$(FEATURE).DRVH NPP NMS")
|
||||
field(FLNK, "$(P)$(R)$(FEATURE)_HOPR")
|
||||
}
|
||||
# Set HOPR field of the value PV
|
||||
record(ao, "$(P)$(R)$(FEATURE)_HOPR") {
|
||||
field(DOL, "$(P)$(R)$(FEATURE)_MAX NPP NMS")
|
||||
field(OMSL, "closed_loop")
|
||||
field(OUT, "$(P)$(R)$(FEATURE).HOPR NPP NMS")
|
||||
}
|
||||
|
||||
## Read whether the camera supports absolute (floating point) control of this feature
|
||||
record(bi, "$(P)$(R)$(FEATURE)_ABS_AVL") {
|
||||
field(SCAN, "I/O Intr")
|
||||
field(PINI, "YES")
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT) $(N))FDC_FEAT_ABSOLUTE")
|
||||
field(ZNAM, "not available")
|
||||
field(ONAM, "available")
|
||||
}
|
||||
|
||||
# Set the feature absolute value (floating point)
|
||||
record(ao, "$(P)$(R)$(FEATURE)_ABS") {
|
||||
field(DTYP, "asynFloat64")
|
||||
field(OUT, "@asyn($(PORT) $(N))FDC_FEAT_VAL_ABS")
|
||||
field(PREC, "3")
|
||||
}
|
||||
|
||||
# Read the feature absolute value
|
||||
record(ai, "$(P)$(R)$(FEATURE)_ABS_RBV") {
|
||||
field(SCAN, "I/O Intr")
|
||||
field(DTYP, "asynFloat64")
|
||||
field(INP, "@asyn($(PORT) $(N))FDC_FEAT_VAL_ABS")
|
||||
field(PINI, "YES")
|
||||
field(PREC, "3")
|
||||
}
|
||||
|
||||
|
||||
# Read the feature absolute value max boundary
|
||||
record(ai, "$(P)$(R)$(FEATURE)_ABS_MAX") {
|
||||
field(SCAN, "I/O Intr")
|
||||
field(DTYP, "asynFloat64")
|
||||
field(INP, "@asyn($(PORT) $(N))FDC_FEAT_VAL_ABS_MAX")
|
||||
field(PINI, "YES")
|
||||
field(PREC, "3")
|
||||
field(FLNK, "$(P)$(R)$(FEATURE)_ABS_DRVH")
|
||||
}
|
||||
# Set DRLH field of the value PV
|
||||
record(ao, "$(P)$(R)$(FEATURE)_ABS_DRVH") {
|
||||
field(DOL, "$(P)$(R)$(FEATURE)_ABS_MAX NPP NMS")
|
||||
field(OMSL, "closed_loop")
|
||||
field(OUT, "$(P)$(R)$(FEATURE)_ABS.DRVH NPP NMS")
|
||||
field(FLNK, "$(P)$(R)$(FEATURE)_ABS_HOPR")
|
||||
}
|
||||
# Set HOPR field of the value PV
|
||||
record(ao, "$(P)$(R)$(FEATURE)_ABS_HOPR") {
|
||||
field(DOL, "$(P)$(R)$(FEATURE)_ABS_MAX NPP NMS")
|
||||
field(OMSL, "closed_loop")
|
||||
field(OUT, "$(P)$(R)$(FEATURE)_ABS.HOPR NPP NMS")
|
||||
}
|
||||
|
||||
# Read the feature absolute value min boundary
|
||||
record(ai, "$(P)$(R)$(FEATURE)_ABS_MIN") {
|
||||
field(SCAN, "I/O Intr")
|
||||
field(DTYP, "asynFloat64")
|
||||
field(INP, "@asyn($(PORT) $(N))FDC_FEAT_VAL_ABS_MIN")
|
||||
field(PINI, "YES")
|
||||
field(PREC, "3")
|
||||
field(FLNK, "$(P)$(R)$(FEATURE)_ABS_DRVL")
|
||||
}
|
||||
|
||||
# Set DRLV field of the value PV
|
||||
record(ao, "$(P)$(R)$(FEATURE)_ABS_DRVL") {
|
||||
field(DOL, "$(P)$(R)$(FEATURE)_ABS_MIN NPP NMS")
|
||||
field(OMSL, "closed_loop")
|
||||
field(OUT, "$(P)$(R)$(FEATURE)_ABS.DRVL NPP NMS")
|
||||
field(FLNK, "$(P)$(R)$(FEATURE)_ABS_LOPR")
|
||||
}
|
||||
# Set LOPR field of the value PV
|
||||
record(ao, "$(P)$(R)$(FEATURE)_ABS_LOPR") {
|
||||
field(DOL, "$(P)$(R)$(FEATURE)_ABS_MIN NPP NMS")
|
||||
field(OMSL, "closed_loop")
|
||||
field(OUT, "$(P)$(R)$(FEATURE)_ABS.LOPR NPP NMS")
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
## firewireVideoModes.db
|
||||
|
||||
# Valid format strings
|
||||
record(stringin, "$(P)$(R)VALID_FORMAT_$(N)") {
|
||||
field(PINI, "YES")
|
||||
field(DTYP, "asynOctetRead")
|
||||
field(INP, "@asyn($(PORT) $(N))FDC_VALID_FORMAT")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
|
||||
# Has format bi
|
||||
record(bi, "$(P)$(R)HAS_FORMAT_$(N)") {
|
||||
field(PINI, "YES")
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT) $(N))FDC_HAS_FORMAT")
|
||||
field(ZNAM, "No")
|
||||
field(ONAM, "Yes")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
|
||||
# Valid mode strings
|
||||
record(stringin, "$(P)$(R)VALID_MODE_$(N)") {
|
||||
field(PINI, "YES")
|
||||
field(DTYP, "asynOctetRead")
|
||||
field(INP, "@asyn($(PORT) $(N))FDC_VALID_MODE")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
#
|
||||
|
||||
# Has mode bi
|
||||
record(bi, "$(P)$(R)HAS_MODE_$(N)") {
|
||||
field(PINI, "YES")
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT) $(N))FDC_HAS_MODE")
|
||||
field(ZNAM, "No")
|
||||
field(ONAM, "Yes")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
|
||||
|
||||
# Valid frame rate strings
|
||||
record(stringin, "$(P)$(R)VALID_RATE_$(N)") {
|
||||
field(PINI, "YES")
|
||||
field(DTYP, "asynOctetRead")
|
||||
field(INP, "@asyn($(PORT) $(N))FDC_VALID_FRAMERATE")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
|
||||
# Has rate bi
|
||||
record(bi, "$(P)$(R)HAS_RATE_$(N)") {
|
||||
field(PINI, "YES")
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT) $(N))FDC_HAS_RATE")
|
||||
field(ZNAM, "No")
|
||||
field(ONAM, "Yes")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user