From 026919ba265a590a67e54944e33374f2a81485ce Mon Sep 17 00:00:00 2001 From: softioc Date: Tue, 12 Sep 2017 15:42:09 -0400 Subject: [PATCH] correct param 027, removed redundancy, updated RELEASE --- .gitignore | 0 Makefile | 0 PfeifferEDUApp/Db/Makefile | 0 PfeifferEDUApp/Db/O.linux-x86_64/Makefile | 0 PfeifferEDUApp/Db/PfeifferEDU_Acc.db | 13 +- PfeifferEDUApp/Db/PfeifferEDU_Base.db | 119 +++++++++-------- PfeifferEDUApp/Db/PfeifferEDU_Extra.db | 10 +- PfeifferEDUApp/Db/PfeifferEDU_TC110.db | 0 PfeifferEDUApp/Db/PfeifferEDU_TC400.db | 0 PfeifferEDUApp/Db/test.db | 0 PfeifferEDUApp/Makefile | 0 PfeifferEDUApp/src/Makefile | 0 PfeifferEDUApp/src/O.Common/PfeifferEDU.dbd | 21 +++ .../src/O.Common/PfeifferEDUInclude.dbd | 0 PfeifferEDUApp/src/O.linux-x86_64/Makefile | 0 PfeifferEDUApp/src/O.linux-x86_64/PfeifferEDU | Bin 72759 -> 73024 bytes .../src/O.linux-x86_64/PfeifferEDU.dbd.d | 122 +++++++++--------- .../src/O.linux-x86_64/PfeifferEDUMain.d | 0 .../src/O.linux-x86_64/PfeifferEDUMain.o | Bin ...PfeifferEDU_registerRecordDeviceDriver.cpp | 11 +- .../PfeifferEDU_registerRecordDeviceDriver.d | 36 +++--- .../PfeifferEDU_registerRecordDeviceDriver.o | Bin 71808 -> 72048 bytes PfeifferEDUApp/src/PfeifferEDUMain.cpp | 0 README.md | 0 configure/CONFIG | 0 configure/CONFIG_SITE | 0 configure/Makefile | 0 configure/O.linux-x86_64/Makefile | 0 configure/RELEASE | 52 +++----- configure/RULES | 0 configure/RULES.ioc | 0 configure/RULES_DIRS | 0 configure/RULES_TOP | 0 iocBoot/Makefile | 0 iocBoot/iocPfeifferEDU/Makefile | 0 iocBoot/iocPfeifferEDU/st.cmd | 46 ++++++- proto/pfeiffer.proto | 22 ++++ 37 files changed, 265 insertions(+), 187 deletions(-) mode change 100644 => 100755 .gitignore mode change 100644 => 100755 Makefile mode change 100644 => 100755 PfeifferEDUApp/Db/Makefile mode change 100644 => 100755 PfeifferEDUApp/Db/O.linux-x86_64/Makefile mode change 100644 => 100755 PfeifferEDUApp/Db/PfeifferEDU_Acc.db mode change 100644 => 100755 PfeifferEDUApp/Db/PfeifferEDU_Base.db mode change 100644 => 100755 PfeifferEDUApp/Db/PfeifferEDU_Extra.db mode change 100644 => 100755 PfeifferEDUApp/Db/PfeifferEDU_TC110.db mode change 100644 => 100755 PfeifferEDUApp/Db/PfeifferEDU_TC400.db mode change 100644 => 100755 PfeifferEDUApp/Db/test.db mode change 100644 => 100755 PfeifferEDUApp/Makefile mode change 100644 => 100755 PfeifferEDUApp/src/Makefile mode change 100644 => 100755 PfeifferEDUApp/src/O.Common/PfeifferEDUInclude.dbd mode change 100644 => 100755 PfeifferEDUApp/src/O.linux-x86_64/Makefile mode change 100644 => 100755 PfeifferEDUApp/src/O.linux-x86_64/PfeifferEDUMain.d mode change 100644 => 100755 PfeifferEDUApp/src/O.linux-x86_64/PfeifferEDUMain.o mode change 100644 => 100755 PfeifferEDUApp/src/O.linux-x86_64/PfeifferEDU_registerRecordDeviceDriver.d mode change 100644 => 100755 PfeifferEDUApp/src/PfeifferEDUMain.cpp mode change 100644 => 100755 README.md mode change 100644 => 100755 configure/CONFIG mode change 100644 => 100755 configure/CONFIG_SITE mode change 100644 => 100755 configure/Makefile mode change 100644 => 100755 configure/O.linux-x86_64/Makefile mode change 100644 => 100755 configure/RULES mode change 100644 => 100755 configure/RULES.ioc mode change 100644 => 100755 configure/RULES_DIRS mode change 100644 => 100755 configure/RULES_TOP mode change 100644 => 100755 iocBoot/Makefile mode change 100644 => 100755 iocBoot/iocPfeifferEDU/Makefile mode change 100644 => 100755 proto/pfeiffer.proto diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/Makefile b/Makefile old mode 100644 new mode 100755 diff --git a/PfeifferEDUApp/Db/Makefile b/PfeifferEDUApp/Db/Makefile old mode 100644 new mode 100755 diff --git a/PfeifferEDUApp/Db/O.linux-x86_64/Makefile b/PfeifferEDUApp/Db/O.linux-x86_64/Makefile old mode 100644 new mode 100755 diff --git a/PfeifferEDUApp/Db/PfeifferEDU_Acc.db b/PfeifferEDUApp/Db/PfeifferEDU_Acc.db old mode 100644 new mode 100755 index b787078..c932020 --- a/PfeifferEDUApp/Db/PfeifferEDU_Acc.db +++ b/PfeifferEDUApp/Db/PfeifferEDU_Acc.db @@ -14,7 +14,7 @@ record(mbbi, "$(Sys)$(Dev)Mode:A1-Sts"){ field(SXST, "Always 0") field(SVST, "Always 1") field(EIST, "Power Fail Vent Unit") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } record(mbbo, "$(Sys)$(Dev)Mode:A1-Sel"){ @@ -43,7 +43,7 @@ record(mbbi, "$(Sys)$(Dev)Mode:B1-Sts"){ field(SXST, "Always 0") field(SVST, "Always 1") field(EIST, "Power Fail Vent Unit") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } record(mbbo, "$(Sys)$(Dev)Mode:B1-Sel"){ @@ -72,7 +72,7 @@ record(mbbi, "$(Sys)$(Dev)Mode:A2-Sts"){ field(SXST, "Always 0") field(SVST, "Always 1") field(EIST, "Power Fail Vent Unit") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } record(mbbo, "$(Sys)$(Dev)Mode:A2-Sel"){ @@ -101,7 +101,7 @@ record(mbbi, "$(Sys)$(Dev)Mode:B2-Sts"){ field(SXST, "Always 0") field(SVST, "Always 1") field(EIST, "Power Fail Vent Unit") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } record(mbbo, "$(Sys)$(Dev)Mode:B2-Sel"){ @@ -128,7 +128,7 @@ record(mbbi, "$(Sys)$(Dev)Mode:DI1-Sts"){ field(FRST, "Run-up Control") field(FVST, "Rot. Speed Setting") field(SXST, "Motor") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } record(mbbo, "$(Sys)$(Dev)Mode:DI1-Sel"){ @@ -153,7 +153,7 @@ record(mbbi, "$(Sys)$(Dev)Mode:DI2-Sts"){ field(FRST, "Run-up Control") field(FVST, "Rot. Speed Setting") field(SXST, "Motor") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } record(mbbo, "$(Sys)$(Dev)Mode:DI2-Sel"){ @@ -170,3 +170,4 @@ record(mbbo, "$(Sys)$(Dev)Mode:DI2-Sel"){ } + diff --git a/PfeifferEDUApp/Db/PfeifferEDU_Base.db b/PfeifferEDUApp/Db/PfeifferEDU_Base.db old mode 100644 new mode 100755 index 507ca43..c363c0c --- a/PfeifferEDUApp/Db/PfeifferEDU_Base.db +++ b/PfeifferEDUApp/Db/PfeifferEDU_Base.db @@ -2,12 +2,19 @@ # Pump ON/OFF Commands # -record(bo, "$(Sys)$(Dev)Pwr-Sel"){ +record(bo, "$(Sys)$(Dev)Cmd:On-Cmd"){ field(DTYP, "stream") - field(OUT, "@pfeiffer.proto writeBoolParam($(ID),010) $(PORT)") - field(FLNK, "$(Sys)$(Dev)Pwr-Sts") - field(ZNAM, "OFF") - field(ONAM, "ON") + field(OUT, "@pfeiffer.proto writePumpOn($(ID)) $(PORT)") +} + +record(bo, "$(Sys)$(Dev)Cmd:Off-Cmd"){ + field(DTYP, "stream") + field(OUT, "@pfeiffer.proto writePumpOff($(ID)) $(PORT)") +} + +record(bo, "$(Sys)$(Dev)Cmd:OffVent-Cmd"){ + field(DTYP, "stream") + field(OUT, "@pfeiffer.proto writePumpOffVent($(ID)) $(PORT)") } record(bi, "$(Sys)$(Dev)Pwr-Sts__"){ @@ -162,7 +169,7 @@ record(mbbi, "$(Sys)$(Dev)Err-Sts_"){ record(longin, "$(Sys)$(Dev)Err-Sts"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readErrorCodeParam($(ID),303) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(SDIS, "$(Sys)$(Dev)Err-Sts_ PP MS") field(DISV, "256") } @@ -181,7 +188,7 @@ record(mbbi, "$(Sys)$(Dev)Err:1-Sts_"){ record(longin, "$(Sys)$(Dev)Err:1-Sts"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readErrorCodeParam($(ID),360) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(SDIS, "$(Sys)$(Dev)Err:1-Sts_ PP MS") field(DISV, "256") } @@ -200,7 +207,7 @@ record(mbbi, "$(Sys)$(Dev)Err:2-Sts_"){ record(longin, "$(Sys)$(Dev)Err:2-Sts"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readErrorCodeParam($(ID),361) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(SDIS, "$(Sys)$(Dev)Err:2-Sts_ PP MS") field(DISV, "256") } @@ -219,7 +226,7 @@ record(mbbi, "$(Sys)$(Dev)Err:3-Sts_"){ record(longin, "$(Sys)$(Dev)Err:3-Sts"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readErrorCodeParam($(ID),362) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(SDIS, "$(Sys)$(Dev)Err:3-Sts_ PP MS") field(DISV, "256") } @@ -238,7 +245,7 @@ record(mbbi, "$(Sys)$(Dev)Err:4-Sts_"){ record(longin, "$(Sys)$(Dev)Err:4-Sts"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readErrorCodeParam($(ID),363) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(SDIS, "$(Sys)$(Dev)Err:4-Sts_ PP MS") field(DISV, "256") } @@ -257,7 +264,7 @@ record(mbbi, "$(Sys)$(Dev)Err:5-Sts_"){ record(longin, "$(Sys)$(Dev)Err:5-Sts"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readErrorCodeParam($(ID),364) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(SDIS, "$(Sys)$(Dev)Err:5-Sts_ PP MS") field(DISV, "256") } @@ -276,7 +283,7 @@ record(mbbi, "$(Sys)$(Dev)Err:6-Sts_"){ record(longin, "$(Sys)$(Dev)Err:6-Sts"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readErrorCodeParam($(ID),365) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(SDIS, "$(Sys)$(Dev)Err:6-Sts_ PP MS") field(DISV, "256") } @@ -295,7 +302,7 @@ record(mbbi, "$(Sys)$(Dev)Err:7-Sts_"){ record(longin, "$(Sys)$(Dev)Err:7-Sts"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readErrorCodeParam($(ID),366) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(SDIS, "$(Sys)$(Dev)Err:7-Sts_ PP MS") field(DISV, "256") } @@ -314,7 +321,7 @@ record(mbbi, "$(Sys)$(Dev)Err:8-Sts_"){ record(longin, "$(Sys)$(Dev)Err:8-Sts"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readErrorCodeParam($(ID),367) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(SDIS, "$(Sys)$(Dev)Err:8-Sts_ PP MS") field(DISV, "256") } @@ -333,7 +340,7 @@ record(mbbi, "$(Sys)$(Dev)Err:9-Sts_"){ record(longin, "$(Sys)$(Dev)Err:9-Sts"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readErrorCodeParam($(ID),368) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(SDIS, "$(Sys)$(Dev)Err:9-Sts_ PP MS") field(DISV, "256") } @@ -352,7 +359,7 @@ record(mbbi, "$(Sys)$(Dev)Err:10-Sts_"){ record(longin, "$(Sys)$(Dev)Err:10-Sts"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readErrorCodeParam($(ID),369) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(SDIS, "$(Sys)$(Dev)Err:10-Sts_ PP MS") field(DISV, "256") } @@ -367,7 +374,7 @@ record(mbbi, "$(Sys)$(Dev)Mode:Vent-Sts"){ field(ZRST, "DELAYED VENTING") field(ONST, "NO VENTING") field(TWST, "DIRECT VENTING") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } record(mbbo, "$(Sys)$(Dev)Mode:Vent-Sel"){ @@ -379,15 +386,15 @@ record(mbbo, "$(Sys)$(Dev)Mode:Vent-Sel"){ field(FLNK, "$(Sys)$(Dev)Mode:Vent-Sts") } -record(bi, "$(Sys)$(Dev)Sw:Vent-Sts"){ +record(bi, "$(Sys)$(Dev)Enbl:Vent-Sts"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readBoolParam($(ID),012) $(PORT)") field(ZNAM, "DISABLED") field(ONAM, "ENABLED") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } -record(bo, "$(Sys)$(Dev)Sw:Vent-Sel"){ +record(bo, "$(Sys)$(Dev)Enbl:Vent-Sel"){ field(DTYP, "stream") field(OUT, "@pfeiffer.proto writeBoolParam($(ID),012) $(PORT)") field(ZNAM, "DISABLED") @@ -403,7 +410,7 @@ record(bi, "$(Sys)$(Dev)Mode:Rmt-Sts"){ field(INP, "@pfeiffer.proto readBoolParam($(ID),300) $(PORT)") field(ONAM, "ON") field(ZNAM, "OFF") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } record(bi, "$(Sys)$(Dev)T:EDU-Sts"){ @@ -411,7 +418,7 @@ record(bi, "$(Sys)$(Dev)T:EDU-Sts"){ field(INP, "@pfeiffer.proto readBoolParam($(ID),304) $(PORT)") field(ONAM, "OVER TEMP") field(ZNAM, "OK") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } record(bi, "$(Sys)$(Dev)T:Pump-Sts"){ @@ -419,7 +426,7 @@ record(bi, "$(Sys)$(Dev)T:Pump-Sts"){ field(INP, "@pfeiffer.proto readBoolParam($(ID),305) $(PORT)") field(ONAM, "OVER TEMP") field(ZNAM, "OK") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } record(bi, "$(Sys)$(Dev)S:SP-Sts"){ @@ -427,7 +434,7 @@ record(bi, "$(Sys)$(Dev)S:SP-Sts"){ field(INP, "@pfeiffer.proto readBoolParam($(ID),302) $(PORT)") field(ONAM, "AT SPEED") field(ZNAM, "NOT AT SPEED") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } record(bi, "$(Sys)$(Dev)S:Max-Sts"){ @@ -435,7 +442,7 @@ record(bi, "$(Sys)$(Dev)S:Max-Sts"){ field(INP, "@pfeiffer.proto readBoolParam($(ID),306) $(PORT)") field(ONAM, "AT SPEED") field(ZNAM, "NOT AT SPEED") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } # @@ -448,22 +455,7 @@ record(bi, "$(Sys)$(Dev)Sw:Heat-Sts"){ field(INP, "@pfeiffer.proto readBoolParam($(ID),001) $(PORT)") field(ONAM, "ON") field(ZNAM, "OFF") - field(SCAN, "10 second") -} - -record(bo, "$(Sys)$(Dev)Sw:Heat-Sel"){ - field(DTYP, "stream") - field(OUT, "@pfeiffer.proto writeBoolParam($(ID),001) $(PORT)") - field(ONAM, "ON") - field(ZNAM, "OFF") -} - -record(bi, "$(Sys)$(Dev)Sw:Heat-Sts"){ - field(DTYP, "stream") - field(INP, "@pfeiffer.proto readBoolParam($(ID),001) $(PORT)") - field(ONAM, "ON") - field(ZNAM, "OFF") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } record(bo, "$(Sys)$(Dev)Sw:Heat-Sel"){ @@ -472,13 +464,28 @@ record(bo, "$(Sys)$(Dev)Sw:Heat-Sel"){ field(ONAM, "ON") field(ZNAM, "OFF") } +# TODO delete these 2 records. REPEATS ABOVE +#record(bi, "$(Sys)$(Dev)Sw:Heat-Sts"){ +# field(DTYP, "stream") +# field(INP, "@pfeiffer.proto readBoolParam($(ID),001) $(PORT)") +# field(ONAM, "ON") +# field(ZNAM, "OFF") +# field(SCAN, "$(SCAN)") +#} +# +#record(bo, "$(Sys)$(Dev)Sw:Heat-Sel"){ +# field(DTYP, "stream") +# field(OUT, "@pfeiffer.proto writeBoolParam($(ID),001) $(PORT)") +# field(ONAM, "ON") +# field(ZNAM, "OFF") +#} record(bi, "$(Sys)$(Dev)Mode:RunCtl-Sts"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readBoolParam($(ID),003) $(PORT)") field(ONAM, "ON") field(ZNAM, "OFF") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } record(bo, "$(Sys)$(Dev)Mode:RunCtl-Sel"){ @@ -493,7 +500,7 @@ record(bi, "$(Sys)$(Dev)Mode:Stby-Sts"){ field(INP, "@pfeiffer.proto readBoolParam($(ID),002) $(PORT)") field(ONAM, "ON") field(ZNAM, "OFF") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } record(bo, "$(Sys)$(Dev)Mode:Stby-Sel"){ @@ -508,7 +515,7 @@ record(bi, "$(Sys)$(Dev)Mode:CfgSpdSw-Sts"){ field(INP, "@pfeiffer.proto readShortIntParam($(ID),017) $(PORT)") field(ONAM, "SWITCH 1+2") field(ZNAM, "SWICH 1") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } record(bo, "$(Sys)$(Dev)Mode:CfgSpdSw-Sel"){ @@ -523,7 +530,7 @@ record(bi, "$(Sys)$(Dev)Mode:SpdSet-Sts"){ field(INP, "@pfeiffer.proto readShortIntParam($(ID),026) $(PORT)") field(ONAM, "ON") field(ZNAM, "OFF") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } record(bo, "$(Sys)$(Dev)Mode:SpdSet-Sel"){ @@ -535,8 +542,8 @@ record(bo, "$(Sys)$(Dev)Mode:SpdSet-Sel"){ record(mbbi, "$(Sys)$(Dev)Mode:GasTyp-Sts"){ field(DTYP, "stream") - field(INP, "@pfeiffer.proto readShortIntParam($(ID),026) $(PORT)") - field(SCAN, "10 second") + field(INP, "@pfeiffer.proto readShortIntParam($(ID),027) $(PORT)") + field(SCAN, "$(SCAN)") field(ZRST, "HEAVY GAS") field(ONST, "LIGHT GAS") field(TWST, "HELIUM") @@ -544,7 +551,7 @@ record(mbbi, "$(Sys)$(Dev)Mode:GasTyp-Sts"){ record(mbbo, "$(Sys)$(Dev)Mode:GasTyp-Sel"){ field(DTYP, "stream") - field(OUT, "@pfeiffer.proto writeShortIntParam($(ID),026) $(PORT)") + field(OUT, "@pfeiffer.proto writeShortIntParam($(ID),027) $(PORT)") field(ZRST, "HEAVY GAS") field(ONST, "LIGHT GAS") field(TWST, "HELIUM") @@ -557,7 +564,7 @@ record(mbbo, "$(Sys)$(Dev)Mode:GasTyp-Sel"){ record(longin, "$(Sys)$(Dev)Time:RunUp-RB"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readIntParam($(ID),700) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(EGU, "min") } @@ -570,7 +577,7 @@ record(longout, "$(Sys)$(Dev)Time:RunUp-SP"){ record(longin, "$(Sys)$(Dev)S:SwPt1-RB"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readIntParam($(ID),701) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(EGU, "%") } @@ -583,7 +590,7 @@ record(longout, "$(Sys)$(Dev)S:SwPt1-SP"){ record(longin, "$(Sys)$(Dev)S:SwPt2-RB"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readIntParam($(ID),719) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(EGU, "%") } @@ -596,7 +603,7 @@ record(longout, "$(Sys)$(Dev)S:SwPt2-SP"){ record(longin, "$(Sys)$(Dev)S:Vent-RB"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readShortIntParam($(ID),720) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(EGU, "%") } @@ -609,7 +616,7 @@ record(longout, "$(Sys)$(Dev)S:Vent-SP"){ record(longin, "$(Sys)$(Dev)Time:Vent-RB"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readIntParam($(ID),721) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(EGU, "sec") } @@ -628,7 +635,7 @@ record(longout, "$(Sys)$(Dev)S:Nom-SP"){ record(longin, "$(Sys)$(Dev)S:Nom-RB"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readIntParam($(ID),777) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(EGU, "Hz") } @@ -642,7 +649,7 @@ record(ao, "$(Sys)$(Dev)S:Stby-SP"){ record(ai, "$(Sys)$(Dev)S:Stby-RB"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readIntParam($(ID),717) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(EGU, "%") field(ASLO, "0.01") } @@ -657,7 +664,7 @@ record(ao, "$(Sys)$(Dev)S:SSet-SP"){ record(ai, "$(Sys)$(Dev)S:SSet-RB"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readIntParam($(ID),707) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(EGU, "%") field(ASLO, "0.01") } diff --git a/PfeifferEDUApp/Db/PfeifferEDU_Extra.db b/PfeifferEDUApp/Db/PfeifferEDU_Extra.db old mode 100644 new mode 100755 index 6496e55..3d4cf63 --- a/PfeifferEDUApp/Db/PfeifferEDU_Extra.db +++ b/PfeifferEDUApp/Db/PfeifferEDU_Extra.db @@ -5,7 +5,7 @@ record(mbbi, "$(Sys)$(Dev)Out:Rly1-Sts"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readShortIntParam($(ID),045) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(ZRST, "Speed SP") field(ONST, "No Error") field(TWST, "Error") @@ -48,7 +48,7 @@ record(mbbo, "$(Sys)$(Dev)Out:Rly1-Sel"){ record(mbbi, "$(Sys)$(Dev)Out:Rly2-Sts"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readShortIntParam($(ID),046) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(ZRST, "Speed SP") field(ONST, "No Error") field(TWST, "Error") @@ -91,7 +91,7 @@ record(mbbo, "$(Sys)$(Dev)Out:Rly2-Sel"){ record(mbbi, "$(Sys)$(Dev)Out:Rly3-Sts"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readShortIntParam($(ID),047) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(ZRST, "Speed SP") field(ONST, "No Error") field(TWST, "Error") @@ -134,7 +134,7 @@ record(mbbo, "$(Sys)$(Dev)Out:Rly3-Sel"){ record(mbbi, "$(Sys)$(Dev)Mode:Rly-Sts"){ field(DTYP, "stream") field(INP, "@pfeiffer.proto readShortIntParam($(ID),028) $(PORT)") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") field(ZRST, "Standard") field(ONST, "Inverted") field(ZRVL, "0") @@ -173,5 +173,5 @@ record(mbbi, "$(Sys)$(Dev)Mode:DI3-Sts"){ field(FRST, "Run-up Control") field(FVST, "Rot. Speed Setting") field(SXST, "Motor") - field(SCAN, "10 second") + field(SCAN, "$(SCAN)") } diff --git a/PfeifferEDUApp/Db/PfeifferEDU_TC110.db b/PfeifferEDUApp/Db/PfeifferEDU_TC110.db old mode 100644 new mode 100755 diff --git a/PfeifferEDUApp/Db/PfeifferEDU_TC400.db b/PfeifferEDUApp/Db/PfeifferEDU_TC400.db old mode 100644 new mode 100755 diff --git a/PfeifferEDUApp/Db/test.db b/PfeifferEDUApp/Db/test.db old mode 100644 new mode 100755 diff --git a/PfeifferEDUApp/Makefile b/PfeifferEDUApp/Makefile old mode 100644 new mode 100755 diff --git a/PfeifferEDUApp/src/Makefile b/PfeifferEDUApp/src/Makefile old mode 100644 new mode 100755 diff --git a/PfeifferEDUApp/src/O.Common/PfeifferEDU.dbd b/PfeifferEDUApp/src/O.Common/PfeifferEDU.dbd index f105bed..39b3d68 100644 --- a/PfeifferEDUApp/src/O.Common/PfeifferEDU.dbd +++ b/PfeifferEDUApp/src/O.Common/PfeifferEDU.dbd @@ -268,6 +268,11 @@ menu(menuAlarmSevr) { choice(menuAlarmSevrMAJOR,"MAJOR") choice(menuAlarmSevrINVALID,"INVALID") } +menu(ipDRTO) { + choice(ipDRTO_unknown,"Unknown") + choice(ipDRTO_No,"No") + choice(ipDRTO_Yes,"Yes") +} menu(gpibUCMD) { choice(gpibUCMD_None,"None") choice(gpibUCMD_Device_Clear__DCL_,"Device Clear (DCL)") @@ -19852,6 +19857,21 @@ recordtype(asyn) { menu(serialIX) interest(2) } + field(HOSTINFO,DBF_STRING) { + prompt("host info") + initial("") + promptgroup(GUI_INPUTS) + special(100) + size(40) + interest(1) + } + field(DRTO,DBF_MENU) { + prompt("Disconnect on timeout") + promptgroup(GUI_INPUTS) + special(100) + menu(ipDRTO) + interest(2) + } field(UCMD,DBF_MENU) { prompt("Universal command") promptgroup(GUI_OUTPUT) @@ -20116,6 +20136,7 @@ device(waveform,INST_IO,asynWfOctetCmdResponse,"asynOctetCmdResponse") device(waveform,INST_IO,asynWfOctetWriteRead,"asynOctetWriteRead") device(waveform,INST_IO,asynWfOctetRead,"asynOctetRead") device(waveform,INST_IO,asynWfOctetWrite,"asynOctetWrite") +device(waveform,INST_IO,asynWfOctetWriteBinary,"asynOctetWriteBinary") device(waveform,INST_IO,asynInt8ArrayWfIn,"asynInt8ArrayIn") device(waveform,INST_IO,asynInt8ArrayWfOut,"asynInt8ArrayOut") device(waveform,INST_IO,asynInt16ArrayWfIn,"asynInt16ArrayIn") diff --git a/PfeifferEDUApp/src/O.Common/PfeifferEDUInclude.dbd b/PfeifferEDUApp/src/O.Common/PfeifferEDUInclude.dbd old mode 100644 new mode 100755 diff --git a/PfeifferEDUApp/src/O.linux-x86_64/Makefile b/PfeifferEDUApp/src/O.linux-x86_64/Makefile old mode 100644 new mode 100755 diff --git a/PfeifferEDUApp/src/O.linux-x86_64/PfeifferEDU b/PfeifferEDUApp/src/O.linux-x86_64/PfeifferEDU index 1e5266721ea2f22d96477938f3f2df1bc787fe1b..33cce3000ef515f73fb84ea475c894dbd1a37aac 100755 GIT binary patch literal 73024 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 z zq0yYkbU!^bPGfo$op7a^-Al;!XBZx$x=~h3d*MP}%h*|p&6hK?3m-VJn|Qp>@&{2D zK2#g9PGuj%%V@;H~ztf z{_{G2hVDqCSOEu}&LpN^br=ml&h&?AhUcr{Bs~2phG)`>S)t;VB`dEo4Ai}?svB{j zk>R~GDjzfbX^QtV{Tyvy$Cy5k^bV%i(WZ67(EHz7w>FxV1R5oC_&3tFl&N-Nf9+0& zf2WFMTvz$Y!WtOO*bnr+FrMiP=^RU$UPDWGF4I@grM`semnpx-&{h1WW_!_UmNb-R zaU;{;qE-4X)8C}+_5;2g_lXJV}YgL<{VIDB_pBHyJ^=m@60(t}VgJ40qFcV!fcX_@vFc96(|@iT z)~?Sc+O$@vWg6bdYBk^KzEy)7jyE5Ov81*h|3ZxpRhtnPO=9><+VbWxJ(u>{1x%M| zX;!P*X}C03GQ4_wQJR=1DSPOR!1(Vg#=pjBSHT`Nj2{%lXWQFl5i1hS|H#mw%?)(U MN)cC8yCO>d2aWgdy#N3J diff --git a/PfeifferEDUApp/src/PfeifferEDUMain.cpp b/PfeifferEDUApp/src/PfeifferEDUMain.cpp old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/configure/CONFIG b/configure/CONFIG old mode 100644 new mode 100755 diff --git a/configure/CONFIG_SITE b/configure/CONFIG_SITE old mode 100644 new mode 100755 diff --git a/configure/Makefile b/configure/Makefile old mode 100644 new mode 100755 diff --git a/configure/O.linux-x86_64/Makefile b/configure/O.linux-x86_64/Makefile old mode 100644 new mode 100755 diff --git a/configure/RELEASE b/configure/RELEASE index e4a5427..827ae7c 100644 --- a/configure/RELEASE +++ b/configure/RELEASE @@ -1,45 +1,31 @@ -# RELEASE - Location of external support modules -# -# IF YOU MAKE ANY CHANGES to this file you must subsequently -# do a "gnumake rebuild" in this application's top level -# directory. -# -# The build process does not check dependencies against files -# that are outside this application, thus you should do a -# "gnumake rebuild" in the top level directory after EPICS_BASE -# or any other external module pointed to below is rebuilt. -# -# Host- or target-specific settings can be given in files named -# RELEASE.$(EPICS_HOST_ARCH).Common -# RELEASE.Common.$(T_A) -# RELEASE.$(EPICS_HOST_ARCH).$(T_A) -# -# This file should ONLY define paths to other support modules, -# or include statements that pull in similar RELEASE files. -# Build settings that are NOT module paths should appear in a -# CONFIG_SITE file. +#FILENAME: RELEASE +#USAGE: Specify directory paths to synApps support modules +#Version: $Revision: 19158 $ +#Modified By: $Author: mooney $ +#Last Modified: $Date: 2015-03-19 15:44:13 -0500 (Thu, 19 Mar 2015) $ +#HeadURL: $URL: https://subversion.xray.aps.anl.gov/synApps/configure/tags/synApps_5_8/RELEASE $ -TEMPLATE_TOP=$(EPICS_BASE)/templates/makeBaseApp/top +#NOTES +# - To remove modules from the build, delete or comment out the +# module name. +# - Refer to the "MODULE_LIST" in /configure/Makefile +# for the inter-dependencies of the different modules. -# If using the sequencer, point SNCSEQ at its top directory: -#SNCSEQ=$(EPICS_BASE)/../modules/soft/seq - -# EPICS_BASE usually appears last so other apps can override stuff: -EPICS_BASE=/epics/xf/23id/apps/base-3.14.12.5 - -# Set RULES here if you want to take build rules from somewhere -# other than EPICS_BASE: -#RULES=/path/to/epics/support/module/rules/x-y SUPPORT=/epics/xf/23id/apps/synApps_5_8/support +-include $(TOP)/configure/SUPPORT.$(EPICS_HOST_ARCH) +EPICS_BASE=/epics/xf/23id/apps/base-3.14.12.5/ +-include $(TOP)/configure/EPICS_BASE +-include $(TOP)/configure/EPICS_BASE.$(EPICS_HOST_ARCH) +#/usr/local/iocapps/cvsroot/modules/bus/allenBradley #ALIVE=$(SUPPORT)/alive-1-0 #ALLEN_BRADLEY=$(SUPPORT)/allenBradley-2-3 #AREA_DETECTOR=$(SUPPORT)/areaDetector-R2-0 -AREA_DETECTOR=/epics/xf/23id/apps/areaDetector +#AREA_DETECTOR=/epics/xf/23id/apps/areaDetector #ADCORE=$(AREA_DETECTOR)/ADCore-R2-2 #ADBINARIES=$(AREA_DETECTOR)/ADBinaries-R2-2 #https://svn.aps.anl.gov/epics/asyn/ -ASYN=$(SUPPORT)/asyn-4-26 +ASYN=$(SUPPORT)/asyn-4-31 AUTOSAVE=$(SUPPORT)/autosave-5-6-1 BUSY=$(SUPPORT)/busy-1-6-1 CALC=$(SUPPORT)/calc-3-4-2-1 @@ -49,7 +35,7 @@ CAMAC=$(SUPPORT)/camac-2-7 #DELAYGEN=$(SUPPORT)/delaygen-1-1-1 #http://www.slac.stanford.edu/grp/cd/soft/epics/site/devIocStats/ DEVIOCSTATS=$(SUPPORT)/devIocStats-3-1-13 -DXP=$(SUPPORT)/dxp-3-4 +#DXP=$(SUPPORT)/dxp-3-4 #IP=$(SUPPORT)/ip-2-17 #IP330=$(SUPPORT)/ip330-2-8 #https://svn.aps.anl.gov/epics/ipac/ diff --git a/configure/RULES b/configure/RULES old mode 100644 new mode 100755 diff --git a/configure/RULES.ioc b/configure/RULES.ioc old mode 100644 new mode 100755 diff --git a/configure/RULES_DIRS b/configure/RULES_DIRS old mode 100644 new mode 100755 diff --git a/configure/RULES_TOP b/configure/RULES_TOP old mode 100644 new mode 100755 diff --git a/iocBoot/Makefile b/iocBoot/Makefile old mode 100644 new mode 100755 diff --git a/iocBoot/iocPfeifferEDU/Makefile b/iocBoot/iocPfeifferEDU/Makefile old mode 100644 new mode 100755 diff --git a/iocBoot/iocPfeifferEDU/st.cmd b/iocBoot/iocPfeifferEDU/st.cmd index 278e10d..e9632b3 100755 --- a/iocBoot/iocPfeifferEDU/st.cmd +++ b/iocBoot/iocPfeifferEDU/st.cmd @@ -24,13 +24,51 @@ drvAsynIPPortConfigure("PUMP3","10.23.2.65:4016",0,0,0) drvAsynIPPortConfigure("PUMP4","10.23.2.65:4015",0,0,0) #asynSetTraceMask("PUMP4", 0, 0x9) #asynSetTraceIOMask("PUMP4", 0, 0x2) +drvAsynIPPortConfigure("PUMP5","10.23.2.63:4014",0,0,0) +#asynSetTraceMask("PUMP5", 0, 0x9) +#asynSetTraceIOMask("PUMP5", 0, 0x2) +drvAsynIPPortConfigure("PUMP6","10.23.2.63:4013",0,0,0) +#asynSetTraceMask("PUMP6", 0, 0x9) +#asynSetTraceIOMask("PUMP6", 0, 0x2) +drvAsynIPPortConfigure("PUMP7","10.23.2.65:4014",0,0,0) +#asynSetTraceMask("PUMP7", 0, 0x9) +#asynSetTraceIOMask("PUMP7", 0, 0x2) +drvAsynIPPortConfigure("PUMP8","10.23.2.65:4013",0,0,0) +#asynSetTraceMask("PUMP8", 0, 0x9) +#asynSetTraceIOMask("PUMP8", 0, 0x2) +drvAsynIPPortConfigure("PUMP9","10.23.2.65:4012",0,0,0) +#asynSetTraceMask("PUMP9", 0, 0x9) +#asynSetTraceIOMask("PUMP9", 0, 0x2) +drvAsynIPPortConfigure("PUMP10","10.23.2.65:4011",0,0,0) +#asynSetTraceMask("PUMP10", 0, 0x9) +#asynSetTraceIOMask("PUMP10", 0, 0x2) +drvAsynIPPortConfigure("PUMP11","10.23.2.65:4010",0,0,0) +#asynSetTraceMask("PUMP11", 0, 0x9) +#asynSetTraceIOMask("PUMP11", 0, 0x2) +drvAsynIPPortConfigure("PUMP12","10.23.2.65:4009",0,0,0) +#asynSetTraceMask("PUMP12", 0, 0x9) +#asynSetTraceIOMask("PUMP12", 0, 0x2) ## Load record instances -dbLoadRecords("db/PfeifferEDU_TC110.db","Sys=XF:23ID1-VA,Dev={Dif:LoadLck-TMP:1},ID=001,PORT=PUMP1,SCAN=2 second") -dbLoadRecords("db/PfeifferEDU_TC400.db","Sys=XF:23ID1-VA,Dev={Dif-TMP:2},ID=001,PORT=PUMP2,SCAN=2 second") -dbLoadRecords("db/PfeifferEDU_TC110.db","Sys=XF:23ID2-VA,Dev={IOXAS:LoadLck-TMP:1},ID=001,PORT=PUMP3,SCAN=2 second") -dbLoadRecords("db/PfeifferEDU_TC110.db","Sys=XF:23ID2-VA,Dev={APPES:LoadLck-TMP:1},ID=001,PORT=PUMP4,SCAN=2 second") +dbLoadRecords("db/PfeifferEDU_TC110.db","Sys=XF:23ID1-VA,Dev={Dif:LoadLck-TMP:1},ID=001,PORT=PUMP1,SCAN=1 second") +dbLoadRecords("db/PfeifferEDU_TC400.db","Sys=XF:23ID1-VA,Dev={Dif-TMP:2},ID=001,PORT=PUMP2,SCAN=1 second") +dbLoadRecords("db/PfeifferEDU_TC110.db","Sys=XF:23ID2-VA,Dev={IOXAS:LoadLck-TMP:1},ID=001,PORT=PUMP3,SCAN=1 second") +dbLoadRecords("db/PfeifferEDU_TC110.db","Sys=XF:23ID2-VA,Dev={APPES:LoadLck-TMP:1},ID=001,PORT=PUMP4,SCAN=1 second") +dbLoadRecords("db/PfeifferEDU_TC110.db","Sys=XF:23ID1-VA,Dev={Dif:Seal-TMP:1},ID=001,PORT=PUMP5,SCAN=1 second") +dbLoadRecords("db/PfeifferEDU_TC110.db","Sys=XF:23ID1-VA,Dev={Dif:Wdw-TMP:1},ID=001,PORT=PUMP6,SCAN=1 second") +dbLoadRecords("db/PfeifferEDU_TC400.db","Sys=XF:23ID2-VA,Dev={APPES-TMP:4},ID=001,PORT=PUMP7,SCAN=1 second") +dbLoadRecords("db/PfeifferEDU_TC400.db","Sys=XF:23ID2-VA,Dev={APPES-TMP:1},ID=001,PORT=PUMP8,SCAN=1 second") +dbLoadRecords("db/PfeifferEDU_TC400.db","Sys=XF:23ID2-VA,Dev={APPES-TMP:2},ID=001,PORT=PUMP9,SCAN=1 second") +dbLoadRecords("db/PfeifferEDU_TC400.db","Sys=XF:23ID2-VA,Dev={APPES-TMP:3},ID=001,PORT=PUMP10,SCAN=1 second") +dbLoadRecords("db/PfeifferEDU_TC110.db","Sys=XF:23ID2-VA,Dev={APPES-TMP:5},ID=001,PORT=PUMP11,SCAN=1 second") +dbLoadRecords("db/PfeifferEDU_TC110.db","Sys=XF:23ID2-VA,Dev={APPES-TMP:6},ID=001,PORT=PUMP12,SCAN=1 second") + +asSetSubstitutions("WS=csxws1") +asSetFilename("/epics/xf/23id/xf23id.acf") + iocInit() +caPutLogInit("xf23id-ca.cs.nsls2.local:7004", 0) + dbl > $(TOP)/records.dbl system("cp $(TOP)/records.dbl /cf-update/xf23id1-ioc3.es-pfeiffer.dbl") diff --git a/proto/pfeiffer.proto b/proto/pfeiffer.proto old mode 100644 new mode 100755 index e3a10fd..b09fa8d --- a/proto/pfeiffer.proto +++ b/proto/pfeiffer.proto @@ -1,5 +1,27 @@ Terminator = CR; + +writePumpOn { + out "\$11001206000000%+"; + in "\$11001206000000%+"; + out "\$11001006111111%+"; + in "\$11001006111111%+"; +} + +writePumpOff { + out "\$11001206000000%+"; + in "\$11001206000000%+"; + out "\$11001006000000%+"; + in "\$11001006000000%+"; +} + +writePumpOffVent { + out "\$11001206111111%+"; + in "\$11001206111111%+"; + out "\$11001006000000%+"; + in "\$11001006000000%+"; +} + readBoolParam { out "\$100\$202=?%+"; in "\$110\$206%{000000|111111}%+";