diff --git a/epics/README.md b/epics/README.md index 1abd8ff..95afe17 100644 --- a/epics/README.md +++ b/epics/README.md @@ -191,7 +191,6 @@ Process Variables in this IOC Server: |ISTTOK:central:TMPump2-Emergency | bi | 0 | |ISTTOK:central:TMPump2-Acceleration | bi | 1 | |ISTTOK:central:TMPump2-MotorOn | bo | 2 | -|ISTTOK:central:Buzzer| bo | 3 | |ISTTOK:central:Emergency-PhysButton| bi | 4 | |ISTTOK:central:TTSystem-tzero| bi | 7 | ---------- @@ -205,7 +204,6 @@ Process Variables in this IOC Server: |ISTTOK:central:RPump2-Motor (Not Used/Disabled)| bo | 2 | | |ISTTOK:central:RPump2-Valve (Not Used/Disabled| bo | 3 | | |ISTTOK:central:VVessel-Filament| bo | 4 | 1 / NO| -|ISTTOK:central:Clean-TorContactor| bo | 7 | | ---------- @@ -219,7 +217,6 @@ Process Variables in this IOC Server: | ISTTOK:central:TDA8444:32:DAC_CH3| longout | no | | ISTTOK:central:TDA8444:32:DAC_CH5| longout | no | | ISTTOK:central:TDA8444:32:DAC_CH6| longout | no | -| ISTTOK:central:Shot-TorPSCurrent| longout | no | ---------- * Connected to PCF8591 ADC / DAC register @ address 0x48=d72 @@ -251,6 +248,23 @@ SPDT Relay Address = 17 |ISTTOK:central:CapBank-Discharge| bo | 2 | NO | |ISTTOK:central:Clean-TorPneuBreaker| bo | 3 | NO | +* Connected to Seeeduino- 4-Channel SPDT Relay Address = 18 + +|PV Name | PV Type | Bit | Relay NO/NC| +|:----------|-------|---:| +|ISTTOK:central:Clean-PrimContactor| bo | 0 | Relay NO/NC| +|ISTTOK:central:Clean-TorContactor| bo | 1 | Relay NO/NC| +|ISTTOK:central:CapBank-Charge| bo | 2 | Relay NO/NC| +|ISTTOK:central:Buzzer| bo | 3 | Relay NO/NC| + + +* Connected to Seeeduino- 4-Channel SPDT Relay Address = 19 + +|PV Name | PV Type | Bit | Relay NO/NC| +|:----------|-------|---:| +| ISTTOK:central:Shot-TorPSDisable| bo | 0 | NO | +| ISTTOK:central:Lab-WarningLight| bo |1 | NO | + ### Vacuum Node (**Not used, backup server only**) - Vacuum Pfeiffer Sensors (RS485) diff --git a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKmachineControl.db b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKmachineControl.db index d705ea7..918b8ec 100644 --- a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKmachineControl.db +++ b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKmachineControl.db @@ -28,14 +28,16 @@ record(bo, "$(P)$(R)TMPump1-ControllerOn" ) { field(ONAM, "Pulse" ) field(HIGH, "2.5") # Disabled until further notice -# field(FLNK, "$(P)$(R)TMPump1-ControllerOnInv" ) + field(FLNK, "$(P)$(R)TMPump1-ControllerOnInv" ) field(VAL,"0") } record(calcout, "$(P)$(R)TMPump1-ControllerOnInv") { field(INPA, "$(P)$(R)TMPump1-ControllerOn NPP MS") - field(OUT, "$(P)$(R)PCF8574:56:REGISTER.B0 PP MS") +# Disabled until further notice +# field(OUT, "$(P)$(R)PCF8574:56:REGISTER.B0 PP MS") field(OOPT, "On Change") field(CALC, "A?0:1") + field(VAL,"1") } record(bo, "$(P)$(R)TMPump1-ControllerOff" ) { @@ -45,15 +47,17 @@ record(bo, "$(P)$(R)TMPump1-ControllerOff" ) { field(ONAM, "Pulse" ) field(HIGH, "2.5") # Disabled until further notice -# field(FLNK, "$(P)$(R)TMPump1-ControllerOffInv" ) + field(FLNK, "$(P)$(R)TMPump1-ControllerOffInv" ) field(VAL,"0") } record(calcout, "$(P)$(R)TMPump1-ControllerOffInv") { field(INPA, "$(P)$(R)TMPump1-ControllerOff NPP MS" ) - field(OUT, "$(P)$(R)PCF8574:56:REGISTER.B1 PP MS") +# Disabled until further notice +# field(OUT, "$(P)$(R)PCF8574:56:REGISTER.B1 PP MS") field(OOPT, "On Change") field(CALC, "A?0:1") + field(VAL,"1") } record(bo, "$(P)$(R)TMPump1-MotorOn" ) { @@ -176,24 +180,6 @@ record(bo, "$(P)$(R)TMPump2-Motor" ) { field( ONAM, "OFF") } -############################## -# BUZZER ON/OFF # -############################## -record(bo, "$(P)$(R)Buzzer" ) { - field(DESC," Lab Buzzer ") - field(ZNAM, "Off" ) - field(ONAM, "Pulse" ) - field(HIGH, "2.5") - field(FLNK, "$(P)$(R)BuzzerInv" ) - field(VAL, "0") -} -record(calcout, "$(P)$(R)BuzzerInv" ) { - field(INPA, "$(P)$(R)Buzzer NPP MS" ) - field(OUT, "$(P)$(R)PCF8574:57:REGISTER.B3 PP MS" ) - field(OOPT, "On Change" ) - field(CALC, "A?0:1" ) -} - ############################## # EMERGENCY MODE # ############################## @@ -289,48 +275,17 @@ record(bo, "$(P)$(R)VVessel-Filament" ) { field(PINI,"YES") } -############################## -# LIGHTS ON/OFF # -############################## -record(bo, "$(P)$(R)Lab-WarningLight" ) { - field(DESC," Luzes de sinalização, 220V ") -# record(bo, "$(P)$(R)LightsOnOff" ) { - field(OUT, "$(P)$(R)PCF8574:60:REGISTER.B5 PP" ) - field(ZNAM, "On" ) - field(ONAM, "Off" ) - field(VAL,"1") -} - ############ # NOT USED # ############ #$(P)$(R)PCF8574:60:REGISTER:READ.B6 -############################## -# TOR CLEAN CONTACTOR ON/OFF # -############################## -record(bo, "$(P)$(R)Clean-TorContactor" ) { -# field(DESC," Contactor 220V do transformador para a fonte de campo toroidal das descargas de limpeza (500 A) ") - field( OUT, "$(P)$(R)PCF8574:60:REGISTER.B7 PP" ) - field( ZNAM, "On" ) - field( ONAM, "Off" ) - field(VAL,"1") -} - ############### ############### # REGISTER 61 # ############### ############### -record(bo, "$(P)$(R)Shot-TorPSDisable" ) { -# field(DESC," É desligado na emergência e em qualquer estado que não seja Process ou Wait Shot.") - field( OUT, "$(P)$(R)PCF8574:61:REGISTER.B1 PP" ) - field( ZNAM, "Off" ) - field( ONAM, "On" ) - field(VAL,"1") -} - record(bo, "$(P)$(R)Shot-TorPSTrigger" ) { field(DESC," Trigger da FRAEP") field( ZNAM, "Off" ) @@ -348,31 +303,6 @@ record(calcout, "$(P)$(R)Shot-TorPSTriggerInv" ) { } ############################################################ -####################################### -# CAP BANK CHARGE ON/OFF # -####################################### -record(bo, "$(P)$(R)CapBank-Charge" ) { -## field(DESC," Contactor 220V do circuito de carga do banco de condensadores p/ SHOT (ELCO) ") -#record(bo, "$(P)$(R)CapBankChargeOnOff" ) { - field(OUT, "$(P)$(R)PCF8574:61:REGISTER.B3 PP" ) - field(ZNAM, "On" ) - field(ONAM, "Off" ) - field(VAL,"1") -} - -######################################## -# PRIMARY CLEAN CONTACTOR ON/OFF # -######################################## -record(bo, "$(P)$(R)Clean-PrimContactor" ) { -# field(DESC," Contactor 220V do para o primário das descargas de limpeza ") -# record(bo, "$(P)$(R)PrimaryCleanContactorOnOff" ) { - field(OUT, "$(P)$(R)PCF8574:61:REGISTER.B4 PP MS" ) - field(ZNAM, "On" ) - field(ONAM, "Off" ) - field(VAL,"1") -} - - ################################## # GIS VALVES ON/OFF # ################################## @@ -380,9 +310,9 @@ record(bo, "$(P)$(R)GasIS-Valves" ) { # field(DESC," 2 válvulas pneumáticas de corte do sistema de injecção de H/D/Ne/He no TOK, 24V out = deixa passar") # record(bo, "$(P)$(R)GISValvesOnOff" ) { field( OUT, "$(P)$(R)SEEED4RELAY:17:REGISTER.B0 PP" ) - field( ZNAM, "OFF" ) - field( ONAM, "ON" ) - field(VAL,"0") + field( ZNAM, "OFF" ) + field( ONAM, "ON" ) + field(VAL,"0") } @@ -412,7 +342,7 @@ record(bo, "$(P)$(R)TMPump1-ManualValve"){ field( ONAM, "Open") } -### SEEED 4 RELAY BOARD +### SEEED 4-RELAY I2C BOARDS ADDR 0x11 & 0x12 # # @@ -463,5 +393,102 @@ record(bo, "$(P)$(R)Clean-TorPneuBreaker" ) { field(VAL,"0") field(OSV,"MAJOR") } +###################################### +# PRIMARY CLEAN CONTACTOR ON/OFF # +###################################### +record(bo, "$(P)$(R)Clean-PrimContactor") { + field(DESC,"220V Contactor for Clean Primary") + field(OUT,"$(P)$(R)SEEED4RELAY:18:REGISTER.B0 PP") + field(ZNAM,"OFF") + field(ONAM, "ON") + field(VAL,"0") + field(OSV,"MINOR") +} +###################################### +# TOR CLEAN CONTACTOR ON/OFF # +###################################### +record(bo, "$(P)$(R)Clean-TorContactor" ) { + field(DESC,"220V Contactor for Clean Toroidal PS") +# field(DESC," Contactor 220V do transformador para a fonte de campo toroidal das descargas de limpeza (500 A) ") + field(OUT,"$(P)$(R)SEEED4RELAY:18:REGISTER.B1 PP") + field(ZNAM,"OFF") + field(ONAM, "ON") + field(VAL, "0") + field(OSV,"MINOR") +} +####################################### +# CAP BANK CHARGE ON/OFF # +####################################### +record(bo, "$(P)$(R)CapBank-Charge" ) { + field(DESC,"220V Contactor for ELCO Charger") +## field(DESC," Contactor 220V do circuito de carga do banco de condensadores p/ SHOT (ELCO) ") + field(OUT,"$(P)$(R)SEEED4RELAY:18:REGISTER.B2 PP") + field(ZNAM,"OFF") + field(ONAM, "ON") + field(VAL, "0") + field(OSV,"MINOR") +} + +############################## +# BUZZER ON/OFF # +############################## +record(bo, "$(P)$(R)Buzzer" ) { + field(DESC," Lab Buzzer ") + field(OUT,"$(P)$(R)SEEED4RELAY:18:REGISTER.B3 PP") + field(ZNAM,"OFF") + field(ONAM, "Pulse") + field(HIGH, "2.5") + field(VAL, "0") + field(OSV,"MINOR") +} + +###################################### +# Tor Power Supply Disable # +# É desligado na emergência e em qualquer estado que +# não seja Process ou Wait Shot. +###################################### +record(bo, "$(P)$(R)Shot-TorPSDisable" ) { + field(DESC,"Tor Power Supply Disable") + ####field( OUT, "$(P)$(R)PCF8574:61:REGISTER.B1 PP" ) + field(OUT,"$(P)$(R)SEEED4RELAY:19:REGISTER.B0 PP") + field( ZNAM, "Enabled" ) + field( ONAM, "Disabled" ) + field(VAL,"0") + field(OSV,"MINOR") +} +############################## +# LIGHTS ON/OFF # +############################## +record(bo, "$(P)$(R)Lab-WarningLight" ) { + field(DESC,"Luzes de sinalização, 220V ") +# ####field(OUT, "$(P)$(R)PCF8574:60:REGISTER.B5 PP" ) + field(OUT,"$(P)$(R)SEEED4RELAY:19:REGISTER.B1 PP") + field(ZNAM,"OFF") + field(ONAM, "ON") + field(VAL, "0") + field(OSV,"MINOR") +} +# field(ZNAM, "On" ) +# field(ONAM, "Off" ) +# field(VAL,"1") +#} + +# field( ZNAM, "Off" ) +# field( ONAM, "On" ) +# field(VAL,"1") +#} + +# field(ZNAM, "Off" ) +# field(ONAM, "Pulse" ) +# field(HIGH, "2.5") +# field(FLNK, "$(P)$(R)BuzzerInv" ) +# field(VAL, "0") +#} +#record(calcout, "$(P)$(R)BuzzerInv" ) { +# field(INPA, "$(P)$(R)Buzzer NPP MS" ) +# field(OUT, "$(P)$(R)PCF8574:57:REGISTER.B3 PP MS" ) +# field(OOPT, "On Change" ) +# field(CALC, "A?0:1" ) +#} diff --git a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKstates.db b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKstates.db index 1ce0a08..7ee84dc 100644 --- a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKstates.db +++ b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKstates.db @@ -13,7 +13,7 @@ # ## -record(mbbi, "$(P)$(R)OPSTATE") { +record(mbbo, "$(P)$(R)OPSTATE") { field(DESC, "Multiple Pulse Sequence State") field(ZRVL, "0") field(ONVL, "1") @@ -220,7 +220,7 @@ record(stringout, "$(P)$(R)LogMessage") { # field(VAL, "Trace mode ON") } -record(mbbi, "$(P)$(R)STARTINGSTATE") { +record(mbbo, "$(P)$(R)STARTINGSTATE") { field(DESC, "Starting State Sequence") field(ZRVL, "0") field(ONVL, "1") @@ -237,7 +237,7 @@ record(mbbi, "$(P)$(R)STARTINGSTATE") { field(VAL, "0") } -record(mbbi, "$(P)$(R)CLEANINGSTATE") { +record(mbbo, "$(P)$(R)CLEANINGSTATE") { field(DESC, "Cleaning State Sequence") field(ZRVL, "0") field(ONVL, "1") @@ -246,6 +246,7 @@ record(mbbi, "$(P)$(R)CLEANINGSTATE") { field(FRVL, "4") field(FVVL, "5") field(SXVL, "6") + field(SVVL, "7") field(ZRST, "NonCleaning") field(ONST, "Cleaning1") field(TWST, "Cleaning2") @@ -253,10 +254,11 @@ record(mbbi, "$(P)$(R)CLEANINGSTATE") { field(FRST, "Cleaning4") field(FVST, "Cleaning5") field(SXST, "Cleaning6") + field(SVST, "Manual") field(VAL, "0") } -record(mbbi, "$(P)$(R)WSHOTINGSTATE") { +record(mbbo, "$(P)$(R)WSHOTINGSTATE") { field(DESC, "Plasma Shot State Sequence") field(ZRVL, "0") field(ONVL, "1") @@ -289,7 +291,7 @@ record(mbbi, "$(P)$(R)WSHOTINGSTATE") { field(VAL, "0") } -record(mbbi, "$(P)$(R)STOPPINGSTATE") { +record(mbbo, "$(P)$(R)STOPPINGSTATE") { field(DESC, "Stopping State Sequence") field(ZRVL, "0") field(ONVL, "1") diff --git a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt index 0da37e1..49e6b1e 100644 --- a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt +++ b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt @@ -18,10 +18,18 @@ **/ //%% #include "errlog.h" -program IsttokSeqExec +program IsttokSeqExec ("output=logFile.txt") %{#include "errlog.h"}% +%%#include /* for exit() */ +%%#include /* for exit() */ +%%#include /* for exit() */ /* CONSTANT DECLARATION*/ -/*Relays and INPUT (Valleman Board) have negative Logic!*/ +/*Relays and INPUT PVs on Valleman Board have negative Logic!*/ +/*=================== declarations =========================*/ + +int fd; /* file descriptor for logging */ +char *pmac; /* used to access program macros */ + short PCF_RELAY_ON = 0; short PCF_RELAY_OFF= 1; short PCF_INPUT_ON = 0; @@ -29,6 +37,7 @@ short PCF_INPUT_OFF= 1; short PCF_PULSE_ON = 1; short SEEED_RELAY_OFF= 0; short SEEED_RELAY_ON = 1; +short SEEED_RELAY_PULSE = 1; short STRST_NonStarting = 0; short STRST_Starting1 = 1; @@ -43,6 +52,8 @@ short CLNST_Cleaning2 = 2; short CLNST_Cleaning3 = 3; short CLNST_Cleaning4 = 4; short CLNST_Cleaning5 = 5; +short CLNST_Cleaning6 = 6; +short CLNST_Manual = 7; short WSHTST_NonShoting = 0; short WSHTST_WaitTrg = 1; @@ -119,9 +130,9 @@ short CLEANINGSTATE; assign CLEANINGSTATE to "ISTTOK:central:CLEANINGSTATE"; monitor CLEANINGSTATE; -short CLEANINGMANMODE; -assign CLEANINGMANMODE to "ISTTOK:central:CLEANINGMANMODE"; -monitor CLEANINGMANMODE; +short CLEANING_AUTOMODE; +assign CLEANING_AUTOMODE to "ISTTOK:central:CLEANINGMANMODE"; +monitor CLEANING_AUTOMODE; short WSHOTINGSTATE; assign WSHOTINGSTATE to "ISTTOK:central:WSHOTINGSTATE"; @@ -141,12 +152,13 @@ assign IsttokRPump2_Motor to "ISTTOK:central:RPump2-Motor"; short IsttokRPump2_Valve; assign IsttokRPump2_Valve to "ISTTOK:central:RPump2-Valve"; - +/* No use for these, Controller does not respond short IsttokTMPump1_ControllerOff; assign IsttokTMPump1_ControllerOff to "ISTTOK:central:TMPump1-ControllerOff"; short IsttokTMPump1_ControllerOn; assign IsttokTMPump1_ControllerOn to "ISTTOK:central:TMPump1-ControllerOn"; +*/ short IsttokTMPump1_MotorOff; assign IsttokTMPump1_MotorOff to "ISTTOK:central:TMPump1-MotorOff"; @@ -179,6 +191,10 @@ assign IsttokTMPump2_Emergency to "ISTTOK:central:TMPump2-Emergency"; monitor IsttokTMPump2_Emergency; */ +float IsttokTMPump1_Pressure; +assign IsttokTMPump1_Pressure to "ISTTOK:central:TMPump1-PressureAdmission"; +monitor IsttokTMPump1_Pressure; + float IsttokRPump1_Pressure; /*assign IsttokRPump1_Pressure to "ISTTOK:vacuum:RPump1-Pressure";*/ assign IsttokRPump1_Pressure to "ISTTOK:central:RPump1-Pressure"; @@ -272,6 +288,23 @@ ss PulseSequence { /*********** State: init ****************** */ state init { entry { + fd = -1; + /* Use parameter to define logging file */ + + pmac = macValueGet("output"); + if (pmac == 0 || pmac[0] == 0) { + printf("No macro defined for \"output\"\n"); + fd = 1; + } + else { + fd = open(pmac, (O_CREAT | O_WRONLY), 0664); +/* if (fd == ERROR) { */ + if (fd == -1) { + printf("Can't open %s\n", pmac); + exit (-1); + } + } + dprintf(fd, "Starting program\n"); strcpy(msg, "INIT: Sequence Entry"); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n",msg); @@ -286,16 +319,16 @@ ss PulseSequence { // IsttokProcMode = OFF; // UPON POWER-DOWN OR FAILURE PREVENT TO ENTER WAITSHOT ON POWER-UP! // pvPut(IsttokProcMode); - IsttokClean_PrimContactor = PCF_RELAY_OFF; + IsttokClean_PrimContactor = SEEED_RELAY_OFF; pvPut(IsttokClean_PrimContactor); IsttokClean_PrimPneuBreaker = SEEED_RELAY_OFF; pvPut(IsttokClean_PrimPneuBreaker); - IsttokBuzzer = PCF_RELAY_OFF; + IsttokBuzzer = SEEED_RELAY_OFF; pvPut(IsttokBuzzer); - IsttokCapBank_Charge = PCF_RELAY_OFF; + IsttokCapBank_Charge = SEEED_RELAY_OFF; pvPut(IsttokCapBank_Charge); IsttokCapBank_Discharge = SEEED_RELAY_OFF; @@ -307,27 +340,27 @@ ss PulseSequence { IsttokGasIS_Valves = SEEED_RELAY_OFF; pvPut(IsttokGasIS_Valves); - IsttokLab_WarningLight = PCF_RELAY_OFF; + IsttokLab_WarningLight = SEEED_RELAY_OFF; pvPut(IsttokLab_WarningLight); IsttokClean_TorPneuBreaker = SEEED_RELAY_OFF; pvPut(IsttokClean_TorPneuBreaker); - IsttokClean_TorContactor = PCF_RELAY_OFF; + IsttokClean_TorContactor = SEEED_RELAY_OFF; pvPut(IsttokClean_TorContactor); - Isttok_TorPSDisable = PCF_RELAY_OFF; + Isttok_TorPSDisable = SEEED_RELAY_OFF; pvPut(Isttok_TorPSDisable); Isttok_TorPSTrigger= OFF; pvPut(Isttok_TorPSTrigger); - +/* IsttokTMPump1_ControllerOff = OFF; pvPut(IsttokTMPump1_ControllerOff); IsttokTMPump1_ControllerOn = OFF; pvPut(IsttokTMPump1_ControllerOn); - +*/ IsttokTMPump1_MotorOff = OFF; pvPut(IsttokTMPump1_MotorOff); @@ -431,7 +464,7 @@ ss PulseSequence { pvPut(IsttokOPSTATE); IsttokLastOPSTATE = POS_Idle; pvPut(IsttokLastOPSTATE); - Isttok_TorPSDisable = PCF_RELAY_OFF; + Isttok_TorPSDisable = SEEED_RELAY_OFF; pvPut(Isttok_TorPSDisable); IsttokProcReq = STOP; pvPut(IsttokProcReq); @@ -452,7 +485,6 @@ ss PulseSequence { } state Emergency when ( (pvStatus(IsttokRPump1_Pressure) != pvStatOK) || (pvStatus(IsttokTMPump1_Emergency) != pvStatOK) ) { - //when ( pvStatus(IsttokRPump1_Pressure) != pvStatOK || pvStatus(IsttokRPump2_Pressure) != pvStatOK || // pvStatus(IsttokTMPump1_Emergency) != pvStatOK || pvStatus(IsttokTMPump2_Emergency) != pvStatOK) { /* Vacuum emergency: Pulse state change to Stopping */ /*IsttokOPREQ = STOP; State should recover from */ @@ -461,7 +493,8 @@ ss PulseSequence { strcpy(msg, "State Idle to Stopping"); pvPut(msg); errlogSevPrintf(MINOR, "%s\n", msg); - sprintf(sendMail, "Rpump1 Pressure:%1.1e TMP1 Pressure:%d",IsttokRPump1_Pressure,IsttokTMPump1_Emergency); + sprintf(sendMail, "Vacuum Emergency while Idle, Rpump1 Pressure:%1.1e, TMP1 Adm. Pressure:%4.2e, TMP1 Emergency:%d", + IsttokRPump1_Pressure, IsttokTMPump1_Pressure, IsttokTMPump1_Emergency); pvPut(sendMail); } state Stopping @@ -498,7 +531,7 @@ ss PulseSequence { pvPut(IsttokOPSTATE); } when ((IsttokProcReq==STOP) && (CLEANINGSTATE == CLNST_NonCleaning)) { - strcpy(msg, "State to Idle From Clean"); + strcpy(msg, "State from Clean to Idle"); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n",msg); } state Idle @@ -541,7 +574,7 @@ ss PulseSequence { strcpy(msg, "Toroidal Shot Enable"); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n",msg); - Isttok_TorPSDisable = PCF_RELAY_ON; + Isttok_TorPSDisable = SEEED_RELAY_ON; pvPut(Isttok_TorPSDisable); IsttokOPSTATE = POS_WaitShot; pvPut(IsttokOPSTATE); @@ -591,10 +624,10 @@ ss PulseSequence { IsttokOPSTATE = POS_Stopping; pvPut(IsttokOPSTATE); /*Just to be sure */ - Isttok_TorPSDisable = PCF_RELAY_OFF; + Isttok_TorPSDisable = SEEED_RELAY_OFF; pvPut(Isttok_TorPSDisable); - IsttokCapBank_Charge = PCF_RELAY_OFF; + IsttokCapBank_Charge = SEEED_RELAY_OFF; pvPut(IsttokCapBank_Charge); IsttokCapBank_Discharge = SEEED_RELAY_OFF; @@ -635,13 +668,13 @@ ss PulseSequence { strcpy(msg, "Emergency Toroidal Shot Disable"); pvPut(msg); errlogSevPrintf(MAJOR, "%s\n",msg); - Isttok_TorPSDisable = PCF_RELAY_OFF; + Isttok_TorPSDisable = SEEED_RELAY_OFF; pvPut(Isttok_TorPSDisable); strcpy(msg, "EMERGENCY: CAPBANK Charge OFF"); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n",msg); - IsttokCapBank_Charge = PCF_RELAY_OFF; + IsttokCapBank_Charge = SEEED_RELAY_OFF; pvPut(IsttokCapBank_Charge); strcpy(msg, "EMERGENCY: CAPBANK CrowBar Close"); @@ -895,7 +928,7 @@ ss CleaningSequence{ strcpy(msg, "Primary_CT OFF"); pvPut(msg); - IsttokClean_PrimContactor = PCF_RELAY_OFF; + IsttokClean_PrimContactor = SEEED_RELAY_OFF; pvPut(IsttokClean_PrimContactor); strcpy(msg, "Toroidal_BK OPEN"); @@ -905,7 +938,7 @@ ss CleaningSequence{ strcpy(msg, "Toroidal_CT OFF"); pvPut(msg); - IsttokClean_TorContactor = PCF_RELAY_OFF; + IsttokClean_TorContactor = SEEED_RELAY_OFF; pvPut(IsttokClean_TorContactor); strcpy(msg, "Prim_Pneu_Breaker OFF"); @@ -917,9 +950,19 @@ ss CleaningSequence{ pvPut(CLEANINGSTATE); errlogSevPrintf(NO_ALARM, "%s\n",msg); + strcpy(msg, "Entry Cleanning State Mach"); + pvPut(msg); + errlogSevPrintf(NO_ALARM, "%s\n",msg); } - when(delay(1.0) && CLEANINGMANMODE == 1 && IsttokOPSTATE == POS_Clean){ + when(delay(1.0) && CLEANING_AUTOMODE == 0 && IsttokOPSTATE == POS_Clean){ + strcpy(msg, "Entry on Manual Cleaning..."); + + CLEANINGSTATE = CLNST_Manual; + pvPut(CLEANINGSTATE); + } state CleaningManual + + when(delay(1.0) && CLEANING_AUTOMODE == 1 && IsttokOPSTATE == POS_Clean){ strcpy(msg, "Initiating Auto Cleaning..."); pvPut(msg); strcpy(msg, "GIS Valves OPEN"); @@ -934,6 +977,10 @@ ss CleaningSequence{ pvPut(CLEANINGSTATE); } state Cleaning1 } + state CleaningManual { + when (IsttokProcReq==STOP) { + } state NonCleaning + } state Cleaning1 { when (delay(1.0) && IsttokProcReq==STOP) { // Reversing Cleaning @@ -946,14 +993,14 @@ ss CleaningSequence{ pvPut(IsttokGasIS_Valves); } state NonCleaning - when (delay(2.0) && CLEANINGMANMODE == 1 && IsttokOPSTATE == POS_Clean ) { + when (delay(2.0) && CLEANING_AUTOMODE == 1 && IsttokOPSTATE == POS_Clean ) { strcpy(msg, "Filament ON"); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n",msg); IsttokVVessel_Filament = PCF_RELAY_ON; pvPut(IsttokVVessel_Filament); - CLEANINGSTATE = CLNST_Cleaning2; - pvPut(CLEANINGSTATE); + CLEANINGSTATE = CLNST_Cleaning2; + pvPut(CLEANINGSTATE); } state Cleaning2 } state Cleaning2 { @@ -967,11 +1014,11 @@ ss CleaningSequence{ CLEANINGSTATE = CLNST_Cleaning1; pvPut(CLEANINGSTATE); } state Cleaning1 - when (delay(2.0) && CLEANINGMANMODE == 1 && IsttokOPSTATE == POS_Clean) { + when (delay(2.0) && CLEANING_AUTOMODE == 1 && IsttokOPSTATE == POS_Clean) { strcpy(msg, "Primary-CT ON"); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n",msg); - IsttokClean_PrimContactor = PCF_RELAY_ON; + IsttokClean_PrimContactor = SEEED_RELAY_ON; pvPut(IsttokClean_PrimContactor); CLEANINGSTATE = CLNST_Cleaning3; pvPut(CLEANINGSTATE); @@ -982,12 +1029,12 @@ ss CleaningSequence{ strcpy(msg, "Primary-CT OFF"); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n",msg); - IsttokClean_PrimContactor = PCF_RELAY_OFF; + IsttokClean_PrimContactor = SEEED_RELAY_OFF; pvPut(IsttokClean_PrimContactor); CLEANINGSTATE = CLNST_Cleaning2; pvPut(CLEANINGSTATE); } state Cleaning2 - when(delay(2.0) && CLEANINGMANMODE == 1 && IsttokOPSTATE == POS_Clean){ + when(delay(2.0) && CLEANING_AUTOMODE == 1 && IsttokOPSTATE == POS_Clean){ strcpy(msg, "Toroidal-BK CLOSE"); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n",msg); @@ -1008,11 +1055,11 @@ ss CleaningSequence{ CLEANINGSTATE = CLNST_Cleaning3; pvPut(CLEANINGSTATE); } state Cleaning3 - when (delay(2.0) && CLEANINGMANMODE == 1 && IsttokOPSTATE == POS_Clean){ + when (delay(2.0) && CLEANING_AUTOMODE == 1 && IsttokOPSTATE == POS_Clean){ strcpy(msg, "Toroidal-CT ON"); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n",msg); - IsttokClean_TorContactor = PCF_RELAY_ON; + IsttokClean_TorContactor = SEEED_RELAY_ON; pvPut(IsttokClean_TorContactor); CLEANINGSTATE = CLNST_Cleaning5; pvPut(CLEANINGSTATE); @@ -1026,7 +1073,7 @@ ss CleaningSequence{ strcpy(msg, "Toroidal-CT OFF"); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n",msg); - IsttokClean_TorContactor = PCF_RELAY_OFF; + IsttokClean_TorContactor = SEEED_RELAY_OFF; pvPut(IsttokClean_TorContactor); /* Close GIS to let Pressure down */ IsttokGasIS_Valves = SEEED_RELAY_OFF; @@ -1107,7 +1154,7 @@ ss ShotSequence { strcpy(msg, "Buzzer 1-Sound"); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n",msg); - IsttokBuzzer = 1; + IsttokBuzzer = SEEED_RELAY_PULSE; pvPut(IsttokBuzzer); strcpy(msg, "CAPBANK Crowbar Open"); pvPut(msg); @@ -1117,7 +1164,7 @@ ss ShotSequence { strcpy(msg, "Lights ON"); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n",msg); - IsttokLab_WarningLight = PCF_RELAY_ON; + IsttokLab_WarningLight = SEEED_RELAY_ON; pvPut(IsttokLab_WarningLight); WSHOTINGSTATE = WSHTST_Shooting3; pvPut(WSHOTINGSTATE); @@ -1164,7 +1211,7 @@ ss ShotSequence { strcpy(msg, "CAPBANK Charge ON" ); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n",msg); - IsttokCapBank_Charge = PCF_RELAY_ON; + IsttokCapBank_Charge = SEEED_RELAY_ON; pvPut(IsttokCapBank_Charge); WSHOTINGSTATE = WSHTST_Shooting6; pvPut(WSHOTINGSTATE); @@ -1182,7 +1229,7 @@ ss ShotSequence { strcpy(msg, "CAPBANK Charge OFF" ); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n", msg); - IsttokCapBank_Charge = PCF_RELAY_OFF; + IsttokCapBank_Charge = SEEED_RELAY_OFF; pvPut(IsttokCapBank_Charge); WSHOTINGSTATE = WSHTST_Shooting7; pvPut(WSHOTINGSTATE); @@ -1200,7 +1247,7 @@ ss ShotSequence { strcpy(msg, "Buzzer 2-Sound" ); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n", msg); - IsttokBuzzer = 1; + IsttokBuzzer = SEEED_RELAY_PULSE; pvPut(IsttokBuzzer); strcpy(msg, "Filament ON"); pvPut(msg); @@ -1299,7 +1346,7 @@ ss ShotSequence { strcpy(msg, "Lights OFF and Recovering..." ); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n", msg); - IsttokLab_WarningLight = PCF_RELAY_OFF; + IsttokLab_WarningLight = SEEED_RELAY_OFF; pvPut(IsttokLab_WarningLight); WSHOTINGSTATE = WSHTST_ShotEnd; pvPut(WSHOTINGSTATE); @@ -1388,6 +1435,14 @@ ss StoppingSequence { when (IsttokOPSTATE != POS_Stopping ) { } state NonStopping } } +/* Exit procedure - close the log file +exit { + printf("close fd=%d\n", fd); + if ((fd > 0) && (fd != ioGlobalStdGet(1)) ) + close(fd); + fd = -1; +} +*/ /**** END PROGRAM ***/ diff --git a/epics/iocs/ISTTOKrpi/bin/linux-arm/ISTTOKrpi b/epics/iocs/ISTTOKrpi/bin/linux-arm/ISTTOKrpi index 78da428..ba5af3e 100755 Binary files a/epics/iocs/ISTTOKrpi/bin/linux-arm/ISTTOKrpi and b/epics/iocs/ISTTOKrpi/bin/linux-arm/ISTTOKrpi differ diff --git a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/access_security.acf b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/access_security.acf index a94fc6e..655a5b7 100644 --- a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/access_security.acf +++ b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/access_security.acf @@ -1,6 +1,6 @@ #UAG(uag) {pi,root,opertok,codac-dev,pricardofc} -UAG(uag) {pi,root,opertok,codac-dev} -HAG(hag) {rpi-isttok,opertok-desktop,atca2} +UAG(uag) {pi,root,opertok,codac-dev,oper} +HAG(hag) {rpi-isttok,opertok-desktop,atca2,timings} ASG(DEFAULT) { RULE(1,READ) RULE(1,WRITE) { diff --git a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/envPaths b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/envPaths index 13171b5..1f6e65e 100644 --- a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/envPaths +++ b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/envPaths @@ -7,4 +7,4 @@ epicsEnvSet("ASYN","/home/pi/Apps/epics7/support/asyn") epicsEnvSet("STREAM","/home/pi/Apps/epics7/support/StreamDevice") epicsEnvSet("AUTOSAVE","/home/pi/Apps/epics7/support/autosave") epicsEnvSet("DRVASYNI2C","/home/pi/Apps/epics7/support/drvAsynI2C") -epicsEnvSet("SNCSEQ","/home/pi/Apps/epics7/support/seq-2-2") +epicsEnvSet("SNCSEQ","/home/pi/Apps/epics7/support/seq-2.2.9") diff --git a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/pvList.txt b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/pvList.txt index d05bc21..9196933 100644 --- a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/pvList.txt +++ b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/pvList.txt @@ -157,3 +157,165 @@ ISTTOK:central:STARTINGSTATE ISTTOK:central:CLEANINGSTATE ISTTOK:central:WSHOTINGSTATE ISTTOK:central:STOPPINGSTATE +ISTTOK:central:PCF8591:72:ADC_CH1 +ISTTOK:central:PCF8591:72:ADC_CH2 +ISTTOK:central:PCF8591:72:ADC_CH3 +ISTTOK:central:P001:M +ISTTOK:central:P001:E +ISTTOK:central:P002:M +ISTTOK:central:P002:E +ISTTOK:central:P003:M +ISTTOK:central:P003:E +ISTTOK:central:P004:M +ISTTOK:central:P004:E +ISTTOK:central:OPCALCSTATE +ISTTOK:central:STARTCALCSTATE +ISTTOK:central:STOPPINGCALCSTATE +ISTTOK:central:CLEANCALCSTATE +ISTTOK:central:WSHOTCALCSTATE +ISTTOK:central:PULSE-NUMBER +ISTTOK:central:COUNTDOWN +ISTTOK:central:COUNTER +ISTTOK:central:PCF8591:72:BYTE2_CH1 +ISTTOK:central:PCF8591:72:BYTE2_CH2 +ISTTOK:central:PCF8591:72:BYTE2_CH3 +ISTTOK:central:Emergency +ISTTOK:central:VVessel-Pressure +ISTTOK:central:RPump1-Pressure +ISTTOK:central:TMPump1-PressureAdmission +ISTTOK:central:RPump2-Pressure +ISTTOK:central:PCF8591:72:DAC +ISTTOK:central:TDA8444:32:DAC_CH0 +ISTTOK:central:TDA8444:32:DAC_CH1 +ISTTOK:central:TDA8444:32:DAC_CH2 +ISTTOK:central:TDA8444:32:DAC_CH3 +ISTTOK:central:TDA8444:32:DAC_CH4 +ISTTOK:central:TDA8444:32:DAC_CH5 +ISTTOK:central:TDA8444:32:DAC_CH6 +ISTTOK:central:Shot-TorPSCurrent +ISTTOK:SR_0_State +ISTTOK:SR_1_State +ISTTOK:SR_2_State +ISTTOK:SR_3_State +ISTTOK:SR_4_State +ISTTOK:SR_5_State +ISTTOK:SR_6_State +ISTTOK:SR_7_State +ISTTOK:SR_disableMaxSecs +ISTTOK:central:PCF8574:56:REGISTER:READ:FNOUT +ISTTOK:central:PCF8574:57:REGISTER:READ:FNOUT +ISTTOK:central:TraceMessage +ISTTOK:central:LogMessage +ISTTOK:central:RS485Debug +ISTTOK:central:sendmail +ISTTOK:SR_recentlyStr +ISTTOK:SR_rebootStatusStr +ISTTOK:SR_rebootTime +ISTTOK:SR_statusStr +ISTTOK:SR_0_Name +ISTTOK:SR_0_StatusStr +ISTTOK:SR_0_Time +ISTTOK:SR_1_Name +ISTTOK:SR_1_StatusStr +ISTTOK:SR_1_Time +ISTTOK:SR_2_Name +ISTTOK:SR_2_StatusStr +ISTTOK:SR_2_Time +ISTTOK:SR_3_Name +ISTTOK:SR_3_StatusStr +ISTTOK:SR_3_Time +ISTTOK:SR_4_Name +ISTTOK:SR_4_StatusStr +ISTTOK:SR_4_Time +ISTTOK:SR_5_Name +ISTTOK:SR_5_StatusStr +ISTTOK:SR_5_Time +ISTTOK:SR_6_Name +ISTTOK:SR_6_StatusStr +ISTTOK:SR_6_Time +ISTTOK:SR_7_Name +ISTTOK:SR_7_StatusStr +ISTTOK:SR_7_Time +ISTTOK:central:TMPump1-ControllerOnInv +ISTTOK:central:TMPump1-ControllerOffInv +ISTTOK:central:TMPump1-MotorOnInv +ISTTOK:central:TMPump1-MotorOffInv +ISTTOK:central:Shot-TorPSTriggerInv +ISTTOK:central:TMPump1-Power +ISTTOK:central:TMPump1-Emergency +ISTTOK:central:TMPump1-Acceleration +ISTTOK:central:TMPump1-NormalOperation +ISTTOK:central:TMPump2-Emergency +ISTTOK:central:TMPump2-Acceleration +ISTTOK:central:TTSystem-tzero +ISTTOK:central:Emergency-PhysButton +ISTTOK:central:LASTOPSTATE +ISTTOK:SR_rebootStatus +ISTTOK:SR_status +ISTTOK:SR_0_Status +ISTTOK:SR_1_Status +ISTTOK:SR_2_Status +ISTTOK:SR_3_Status +ISTTOK:SR_4_Status +ISTTOK:SR_5_Status +ISTTOK:SR_6_Status +ISTTOK:SR_7_Status +ISTTOK:central:PCF8574:56:REGISTER:READ +ISTTOK:central:PCF8574:57:REGISTER:READ +ISTTOK:central:PCF8574:60:REGISTER:READ +ISTTOK:central:PCF8574:61:REGISTER:READ +ISTTOK:central:SEEED4RELAY:17:REGISTER:READ +ISTTOK:central:SEEED4RELAY:18:REGISTER:READ +ISTTOK:central:SEEED4RELAY:19:REGISTER:READ +ISTTOK:central:CurrentTime +ISTTOK:central:TMPump2-Speed +ISTTOK:central:TMPump2-Current +ISTTOK:central:Shot-TorPSCurrentImage +ISTTOK:central:UPS-OnBattery +ISTTOK:central:UPS-Shutdown +ISTTOK:central:OPREQ +ISTTOK:central:CLEANINGMANMODE +ISTTOK:central:FSTriggerStart +ISTTOK:central:PROCESS-MODE +ISTTOK:central:PROCESS-REQ +ISTTOK:central:AUTHORISATION +ISTTOK:central:TMPump1-ControllerOn +ISTTOK:central:TMPump1-ControllerOff +ISTTOK:central:TMPump1-MotorOn +ISTTOK:central:TMPump1-MotorOff +ISTTOK:central:TMPump2-Motor +ISTTOK:central:Emergency-UserButton +ISTTOK:central:RPump1-Motor +ISTTOK:central:RPump1-Valve +ISTTOK:central:RPump2-Motor +ISTTOK:central:RPump2-Valve +ISTTOK:central:VVessel-Filament +ISTTOK:central:Lab-WarningLight +ISTTOK:central:Shot-TorPSDisable +ISTTOK:central:Shot-TorPSTrigger +ISTTOK:central:GasIS-Valves +ISTTOK:central:TMPump1-ManualValve +ISTTOK:central:Clean-PrimPneuBreaker +ISTTOK:central:CapBank-Discharge +ISTTOK:central:Clean-TorPneuBreaker +ISTTOK:central:Clean-PrimContactor +ISTTOK:central:Clean-TorContactor +ISTTOK:central:CapBank-Charge +ISTTOK:central:Buzzer +ISTTOK:SR_heartbeat +ISTTOK:SR_i_am_alive +ISTTOK:SR_deadIfZero +ISTTOK:SR_disable +ISTTOK:central:PCF8574:56:REGISTER +ISTTOK:central:PCF8574:57:REGISTER +ISTTOK:central:PCF8574:60:REGISTER +ISTTOK:central:PCF8574:61:REGISTER +ISTTOK:central:PCF8591:72:CTRLREGISTER +ISTTOK:central:SEEED4RELAY:17:REGISTER +ISTTOK:central:SEEED4RELAY:18:REGISTER +ISTTOK:central:SEEED4RELAY:19:REGISTER +ISTTOK:central:OPSTATE +ISTTOK:central:STARTINGSTATE +ISTTOK:central:CLEANINGSTATE +ISTTOK:central:WSHOTINGSTATE +ISTTOK:central:STOPPINGSTATE diff --git a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/save/iocISTTOKrpi.sav b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/save/iocISTTOKrpi.sav index 7768bb5..af51db7 100644 --- a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/save/iocISTTOKrpi.sav +++ b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/save/iocISTTOKrpi.sav @@ -1,5 +1,5 @@ -# autosave R5.3 Automatically generated - DO NOT MODIFY - 211215-181848 -ISTTOK:central:PULSE-NUMBER.VAL 49461 +# autosave R5.3 Automatically generated - DO NOT MODIFY - 220216-181851 +ISTTOK:central:PULSE-NUMBER.VAL 49468 ISTTOK:central:LogMessage.VAL ISTTOK:central:LASTOPSTATE.VAL 2 ISTTOK:central:OPREQ.VAL 1 diff --git a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/st.cmd b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/st.cmd index 036fd57..096618f 100755 --- a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/st.cmd +++ b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/st.cmd @@ -26,10 +26,13 @@ dbLoadRecords("db/ISTTOKtda8444.db","P=ISTTOK:,R=central:,BUS=I2C") dbLoadRecords("db/ISTTOKmachineControl.db","P=ISTTOK:,R=central:") ## SEEED RELAY BOARD dbLoadRecords("db/seeed4relay.db","P=ISTTOK:,R=central:,A=17") +dbLoadRecords("db/seeed4relay.db","P=ISTTOK:,R=central:,A=18") +dbLoadRecords("db/seeed4relay.db","P=ISTTOK:,R=central:,A=19") ## Load Serial drivers #drvAsynSerialPortConfigure("RS0","/dev/ttyAMA0") +#drvAsynSerialPortConfigure("RS0","/dev/ttyUSB0") drvAsynSerialPortConfigure("RS0","/dev/ttyUSB0") asynSetOption("RS0", 0, "baud", "9600") asynSetOption("RS0", 0, "bits", "8") @@ -80,4 +83,4 @@ asInit create_monitor_set("$(IOC).req", 30, "P=ISTTOK:,R=central:") ## Start any sequence programs , use safe mode -seq IsttokSeqExec "unit=ISTTOK" +seq IsttokSeqExec "unit=ISTTOK,node=central,output=logFile2" diff --git a/epics/iocs/RELEASE.local b/epics/iocs/RELEASE.local index 3bb333b..be97547 100644 --- a/epics/iocs/RELEASE.local +++ b/epics/iocs/RELEASE.local @@ -15,7 +15,8 @@ AUTOSAVE = $(SUPPORT)/autosave #in configure/RELEASE #STREAM_WORKAROUND = 1 DRVASYNI2C =$(SUPPORT)/drvAsynI2C -SNCSEQ=$(SUPPORT)/seq-2-2 +SNCSEQ=$(SUPPORT)/seq-2.2.9 +#SNCSEQ=$(SUPPORT)/seq-2-2 # # SEQ is required for testIPServer #SNCSEQ=$(SUPPORT)/seq-2-2-5