record(dfanout, "$(P)$(R)$(HYB):ReadChipInfo") { field(DESC, "Read particular chip info") field(VAL, "0") field(OUTA, "$(P)$(R)$(HYB):ID-R.PROC 1") field(OUTB, "$(P)$(R)$(HYB):FwVersion-R.PROC 1") field(OUTC, "$(P)$(R)$(HYB):GeoPos-R.PROC 1") } record(stringin, "$(P)$(R)$(HYB):FwVersion-R") { field(DESC, "Hybrid $(HYB) Firmware version") field(DTYP, "asynOctetRead") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))HYB_$(HYB)_FW_VERSION") field(PINI, "YES") field(SCAN, "I/O Intr") } record(bo, "$(P)$(R)$(HYB):#Enable-S") { field(DESC, "Global enable PV forwarder") field(DOL, "$(P)$(Glob)Enable-S CP") field(OMSL, "closed_loop") field(OUT, "$(P)$(R)$(HYB):Enable-S CP") } record(bo, "$(P)$(R)$(HYB):Enable-S") { field(DESC, "Enable hybrid") field(DTYP, "asynInt32") field(ZNAM, "Disable") field(ONAM, "Enable") field(SDIS, "$(VMMPREFIX)IsAcquiring-R") field(PHAS, "1") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))HYB_$(HYB)_ENABLE") } record(bi, "$(P)$(R)$(HYB):Enable-R") { field(DESC, "Enable hybrid") field(DTYP, "asynInt32") field(ZNAM, "Disabled") field(ONAM, "Enabled") field(SCAN, "1 second") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))HYB_$(HYB)_ENABLE") } record(calc, "$(P)$(R)$(HYB):#CalcDISA") { field(DESC, "1 if (Enabled == 0) OR (LinkStatus !=4 )") field(INPA, "$(P)$(R)$(HYB):Enable-R CP") field(INPB, "$(P)$(R)$(HYB):LinkStatus-R CP") field(INPC, "$(VMMPREFIX)IsAcquiring-R CP") field(CALC, "( (A = 0)||(B # 4)||(C = 1) ) ? 1 : 0") } record(mbbo, "$(P)$(R)$(HYB):#Skew-S"){ field(DESC, "Global set Skew forwarder") field(DOL, "$(P)$(Glob)Skew-S CP") field(OMSL, "closed_loop") field(OUT, "$(P)$(R)$(HYB):Skew-S CP") field(ZRST, "0 ns") field(ZRVL, "0") field(ONST, "2.83921 ns") field(ONVL, "1") field(TWST, "5.67842 ns") field(TWVL, "2") field(THST, "8.51764 ns") field(THVL, "3") field(FRST, "11.3568 ns") field(FRVL, "4") field(FVST, "14.1961 ns") field(FVVL, "5") field(SXST, "17.0353 ns") field(SXVL, "6") field(SVST, "19.8545 ns") field(SVVL, "7") field(EIST, "22.7137 ns") field(EIVL, "8") field(NIST, "25.5529 ns") field(NIVL, "9") field(TEST, "28.3921 ns") field(TEVL, "10") field(ELST, "31.2313 ns") field(ELVL, "11") field(TVST, "34.0705 ns") field(TVVL, "12") field(TTST, "36.9098 ns") field(TTVL, "13") field(FTST, "39.749 ns") field(FTVL, "14") field(FFST, "42.5882 ns") field(FFVL, "15") } record(mbbo, "$(P)$(R)$(HYB):Skew-S"){ field(DESC, "Hybrid's #$(HYB) Skew") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))HYB_$(HYB)_SKEW") field(SDIS, "$(P)$(R)$(HYB):#CalcDISA CP") field(ZRST, "0 ns") field(ZRVL, "0") field(ONST, "2.83921 ns") field(ONVL, "1") field(TWST, "5.67842 ns") field(TWVL, "2") field(THST, "8.51764 ns") field(THVL, "3") field(FRST, "11.3568 ns") field(FRVL, "4") field(FVST, "14.1961 ns") field(FVVL, "5") field(SXST, "17.0353 ns") field(SXVL, "6") field(SVST, "19.8545 ns") field(SVVL, "7") field(EIST, "22.7137 ns") field(EIVL, "8") field(NIST, "25.5529 ns") field(NIVL, "9") field(TEST, "28.3921 ns") field(TEVL, "10") field(ELST, "31.2313 ns") field(ELVL, "11") field(TVST, "34.0705 ns") field(TVVL, "12") field(TTST, "36.9098 ns") field(TTVL, "13") field(FTST, "39.749 ns") field(FTVL, "14") field(FFST, "42.5882 ns") field(FFVL, "15") } record(mbbi, "$(P)$(R)$(HYB):Skew-RB"){ field(DESC, "Hybrid's #$(HYB) Skew") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))HYB_$(HYB)_SKEW") field(ZRST, "0 ns") field(ZRVL, "0") field(ONST, "2.83921 ns") field(ONVL, "1") field(TWST, "5.67842 ns") field(TWVL, "2") field(THST, "8.51764 ns") field(THVL, "3") field(FRST, "11.3568 ns") field(FRVL, "4") field(FVST, "14.1961 ns") field(FVVL, "5") field(SXST, "17.0353 ns") field(SXVL, "6") field(SVST, "19.8545 ns") field(SVVL, "7") field(EIST, "22.7137 ns") field(EIVL, "8") field(NIST, "25.5529 ns") field(NIVL, "9") field(TEST, "28.3921 ns") field(TEVL, "10") field(ELST, "31.2313 ns") field(ELVL, "11") field(TVST, "34.0705 ns") field(TVVL, "12") field(TTST, "36.9098 ns") field(TTVL, "13") field(FTST, "39.749 ns") field(FTVL, "14") field(FFST, "42.5882 ns") field(FFVL, "15") field(SCAN, "1 second") field(PINI, "YES") } record(mbbo, "$(P)$(R)$(HYB):#Width-S"){ field(DESC, "Global set width forwarder") field(DOL, "$(P)$(Glob)Width-S CP") field(OMSL, "closed_loop") field(OUT, "$(P)$(R)$(HYB):Width-S CP") field(ZRST, "128 x 22.7137") field(ZRVL, "0") field(ONST, "64 x 22.7137") field(ONVL, "1") field(TWST, "32 x 22.7137") field(TWVL, "2") field(THST, "16 x 22.7137") field(THVL, "3") field(FRST, "8 x 22.7137") field(FRVL, "4") field(FVST, "4 x 22.7137") field(FVVL, "5") field(SXST, "2 x 22.7137") field(SXVL, "6") field(SVST, "1 x 22.7137") field(SVVL, "7") } record(mbbo, "$(P)$(R)$(HYB):Width-S"){ field(DESC, "Hybrid's #$(HYB) Width") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))HYB_$(HYB)_WIDTH") field(SDIS, "$(P)$(R)$(HYB):#CalcDISA CP") field(ZRST, "128 x 22.7137") field(ZRVL, "0") field(ONST, "64 x 22.7137") field(ONVL, "1") field(TWST, "32 x 22.7137") field(TWVL, "2") field(THST, "16 x 22.7137") field(THVL, "3") field(FRST, "8 x 22.7137") field(FRVL, "4") field(FVST, "4 x 22.7137") field(FVVL, "5") field(SXST, "2 x 22.7137") field(SXVL, "6") field(SVST, "1 x 22.7137") field(SVVL, "7") } record(mbbi, "$(P)$(R)$(HYB):Width-RB"){ field(DESC, "Hybrid's #$(HYB) Width") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))HYB_$(HYB)_WIDTH") field(PINI, "YES") field(ZRST, "128 x 22.7137") field(ZRVL, "0") field(ONST, "64 x 22.7137") field(ONVL, "1") field(TWST, "32 x 22.7137") field(TWVL, "2") field(THST, "16 x 22.7137") field(THVL, "3") field(FRST, "8 x 22.7137") field(FRVL, "4") field(FVST, "4 x 22.7137") field(FVVL, "5") field(SXST, "2 x 22.7137") field(SXVL, "6") field(SVST, "1 x 22.7137") field(SVVL, "7") field(SCAN, "1 second") } record(bo, "$(P)$(R)$(HYB):#Pol-S") { field(DESC, "Global set polarity forwarder") field(DOL, "$(P)$(Glob)Pol-S CP") field(OMSL, "closed_loop") field(OUT, "$(P)$(R)$(HYB):Pol-S CP") field(ZNAM, "positive") field(ONAM, "negative") } record(bo, "$(P)$(R)$(HYB):Pol-S") { field(DESC, "Hybrid's #$(HYB) Polarity") field(SDIS, "$(P)$(R)$(HYB):#CalcDISA CP") field(DTYP, "asynInt32") field(VAL, "0") field(ZNAM, "positive") field(ONAM, "negative") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))HYB_$(HYB)_POLARITY") } record(bi, "$(P)$(R)$(HYB):Pol-RB") { field(DESC, "Hybrid's #$(HYB) Polarity") field(DTYP, "asynInt32") field(VAL, "0") field(ZNAM, "positive") field(ONAM, "negative") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))HYB_$(HYB)_POLARITY") field(SCAN, "1 second") field(PINI, "YES") } record(stringin, "$(P)$(R)$(HYB):ID-R") { field(DESC, "Hybrid $(HYB) ID") field(DTYP, "asynOctetRead") field(PINI, "YES") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))HYB_$(HYB)_ID") field(SCAN, "I/O Intr") } record(stringin, "$(P)$(R)$(HYB):GeoPos-R") { field(DESC, "Hybrid $(HYB) Geo Position") field(DTYP, "asynOctetRead") field(PINI, "YES") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))HYB_$(HYB)_GEOPOS") field(SCAN, "I/O Intr") } record(mbbi, "$(P)$(R)$(HYB):LinkStatus-R") { field(DESC, "Hybrid $(HYB) Link Status") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRST, "not connected") field(ZRVL, "0") field(ONST, "start alignment") field(ONVL, "1") field(TWST, "align") field(TWVL, "2") field(THST, "link") field(THVL, "3") field(FRST, "idle") field(FRVL, "4") field(FVST, "acq") field(FVVL, "5") field(SCAN, ".5 second") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))HYB_$(HYB)_LINK_STATUS") }