No longer have to specify the Asyn Port Name

This commit is contained in:
2024-11-05 15:00:45 +01:00
parent 044a181ed0
commit fba7487f88
6 changed files with 15 additions and 16 deletions

View File

@ -17,7 +17,6 @@ Required Variables
|----------------------|-----------------------------------------| |----------------------|-----------------------------------------|
| PREFIX | Prefix of all device specific PVs | | PREFIX | Prefix of all device specific PVs |
| NAME | First field in all PVs after Prefix | | NAME | First field in all PVs after Prefix |
| ASYN\_PORT | Unique name for referencing Asyn device |
| CNTBOX\_IP | Network IP of device | | CNTBOX\_IP | Network IP of device |
| CNTBOX\_PORT | Network Port of device | | CNTBOX\_PORT | Network Port of device |
@ -38,7 +37,7 @@ A device can be configured using one of the startup scripts as follows
``` ```
epicsEnvSet("PREFIX", "SQ:INSTRUMENT") # can also be set in runScript call epicsEnvSet("PREFIX", "SQ:INSTRUMENT") # can also be set in runScript call
runScript "$(counterbox_DIR)counterbox_v2.cmd" "NAME=COUNTERBOX, ASYN_PORT=CBOXV2, CNTBOX_IP=TestInst-DAQ1, CNTBOX_PORT=2000" runScript "$(counterbox_DIR)counterbox_v2.cmd" "NAME=COUNTERBOX, CNTBOX_IP=TestInst-DAQ1, CNTBOX_PORT=2000"
``` ```
## PVs of Interest ## PVs of Interest
@ -65,7 +64,7 @@ runtime via the following
``` ```
epicsEnvSet("LOAD_TEST_PVS","") epicsEnvSet("LOAD_TEST_PVS","")
runScript "$(counterbox_DIR)counterbox_v2.cmd" "NAME=COUNTERBOX, ASYN_PORT=CBOXV2, CNTBOX_HOST=TestInst-DAQ1:2000" runScript "$(counterbox_DIR)counterbox_v2.cmd" "NAME=COUNTERBOX, CNTBOX_IP=TestInst-DAQ1, CNTBOX_PORT=2000"
``` ```
See the file [counterbox\_v2\_test.db](./db/counterbox_v2_test.db) See the file [counterbox\_v2\_test.db](./db/counterbox_v2_test.db)
@ -76,7 +75,7 @@ Simulation of the Hardware can be toggled on as follows:
``` ```
epicsEnvSet("SET_SIM_MODE","") # run counterbox simulation instead of connecting to actual box epicsEnvSet("SET_SIM_MODE","") # run counterbox simulation instead of connecting to actual box
runScript "$(counterbox_DIR)counterbox_v2.cmd" "ASYN_PORT=CBOXV2, CNTBOX_IP=localhost, CNTBOX_PORT=2000" runScript "$(counterbox_DIR)counterbox_v2.cmd" "NAME=CB_TEST, CNTBOX_IP=localhost, CNTBOX_PORT=2000"
``` ```
In such a case, the provided `CNTBOX_IP` is ignored, and a python program In such a case, the provided `CNTBOX_IP` is ignored, and a python program

View File

@ -10,9 +10,9 @@ $(SET_SIM_MODE=#) $(SET_SIM_MODE) system "$(counterbox_DIR)counterbox_sim.py $(C
$(SET_SIM_MODE=#) $(SET_SIM_MODE) system 'sleep 3' $(SET_SIM_MODE=#) $(SET_SIM_MODE) system 'sleep 3'
epicsEnvSet("PROTO", "$(counterbox_DB)counterbox.proto") epicsEnvSet("PROTO", "$(counterbox_DB)counterbox.proto")
drvAsynIPPortConfigure("$(ASYN_PORT)", "$($(NAME)_CNTBOX_HOST)", 0, 0, 0) drvAsynIPPortConfigure("ASYN_$(NAME)", "$($(NAME)_CNTBOX_HOST)", 0, 0, 0)
dbLoadRecords("$(counterbox_DB)counterbox_common.db", "P=$(PREFIX), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=$(ASYN_PORT), CHANNELS=4") dbLoadRecords("$(counterbox_DB)counterbox_common.db", "P=$(PREFIX), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=ASYN_$(NAME), CHANNELS=4")
dbLoadRecords("$(counterbox_DB)counterbox_4ch.db", "P=$(PREFIX), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=$(ASYN_PORT)") dbLoadRecords("$(counterbox_DB)counterbox_4ch.db", "P=$(PREFIX), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=ASYN_$(NAME)")
# Could also use substitions instead. # Could also use substitions instead.
dbLoadRecords("$(counterbox_DB)channels.db", "P=$(PREFIX), NAME=$(NAME), CHANNEL=1") dbLoadRecords("$(counterbox_DB)channels.db", "P=$(PREFIX), NAME=$(NAME), CHANNEL=1")

View File

@ -10,9 +10,9 @@ $(SET_SIM_MODE=#) $(SET_SIM_MODE) system "$(counterbox_DIR)counterbox_sim.py $(C
$(SET_SIM_MODE=#) $(SET_SIM_MODE) system 'sleep 3' $(SET_SIM_MODE=#) $(SET_SIM_MODE) system 'sleep 3'
epicsEnvSet("PROTO", "$(counterbox_DB)counterbox.proto") epicsEnvSet("PROTO", "$(counterbox_DB)counterbox.proto")
drvAsynIPPortConfigure("$(ASYN_PORT)", "$($(NAME)_CNTBOX_HOST)", 0, 0, 0) drvAsynIPPortConfigure("ASYN_$(NAME)", "$($(NAME)_CNTBOX_HOST)", 0, 0, 0)
dbLoadRecords("$(counterbox_DB)counterbox_common.db", "P=$(PREFIX), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=$(ASYN_PORT), CHANNELS=8") dbLoadRecords("$(counterbox_DB)counterbox_common.db", "P=$(PREFIX), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=ASYN_$(NAME), CHANNELS=8")
dbLoadRecords("$(counterbox_DB)counterbox_8ch.db", "P=$(PREFIX), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=$(ASYN_PORT)") dbLoadRecords("$(counterbox_DB)counterbox_8ch.db", "P=$(PREFIX), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=ASYN_$(NAME)")
# Could also use substitions instead. # Could also use substitions instead.
dbLoadRecords("$(counterbox_DB)channels.db", "P=$(PREFIX), NAME=$(NAME), CHANNEL=1") dbLoadRecords("$(counterbox_DB)channels.db", "P=$(PREFIX), NAME=$(NAME), CHANNEL=1")

View File

@ -10,9 +10,9 @@ $(SET_SIM_MODE=#) $(SET_SIM_MODE) system "$(counterbox_DIR)counterbox_sim.py $(C
$(SET_SIM_MODE=#) $(SET_SIM_MODE) system 'sleep 5' $(SET_SIM_MODE=#) $(SET_SIM_MODE) system 'sleep 5'
epicsEnvSet("PROTO", "$(counterbox_DB)counterbox.proto") epicsEnvSet("PROTO", "$(counterbox_DB)counterbox.proto")
drvAsynIPPortConfigure("$(ASYN_PORT)", "$($(NAME)_CNTBOX_HOST)", 0, 0, 0) drvAsynIPPortConfigure("ASYN_$(NAME)", "$($(NAME)_CNTBOX_HOST)", 0, 0, 0)
dbLoadRecords("$(counterbox_DB)counterbox_common.db", "P=$(PREFIX), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=$(ASYN_PORT), CHANNELS=10") dbLoadRecords("$(counterbox_DB)counterbox_common.db", "P=$(PREFIX), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=ASYN_$(NAME), CHANNELS=10")
dbLoadRecords("$(counterbox_DB)counterbox_v2.db", "P=$(PREFIX), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=$(ASYN_PORT)") dbLoadRecords("$(counterbox_DB)counterbox_v2.db", "P=$(PREFIX), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=ASYN_$(NAME)")
# Could also use substitions instead. # Could also use substitions instead.
dbLoadRecords("$(counterbox_DB)channels.db", "P=$(PREFIX), NAME=$(NAME), CHANNEL=1") dbLoadRecords("$(counterbox_DB)channels.db", "P=$(PREFIX), NAME=$(NAME), CHANNEL=1")
@ -26,4 +26,4 @@ dbLoadRecords("$(counterbox_DB)channels.db", "P=$(PREFIX), NAME=$(NAME), CHANNEL
dbLoadRecords("$(counterbox_DB)channels.db", "P=$(PREFIX), NAME=$(NAME), CHANNEL=9") dbLoadRecords("$(counterbox_DB)channels.db", "P=$(PREFIX), NAME=$(NAME), CHANNEL=9")
dbLoadRecords("$(counterbox_DB)channels.db", "P=$(PREFIX), NAME=$(NAME), CHANNEL=10") dbLoadRecords("$(counterbox_DB)channels.db", "P=$(PREFIX), NAME=$(NAME), CHANNEL=10")
$(LOAD_TEST_PVS=#) $(LOAD_TEST_PVS) dbLoadRecords("$(counterbox_DB)counterbox_v2_test.db", "P=$(PREFIX), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=$(ASYN_PORT)") $(LOAD_TEST_PVS=#) $(LOAD_TEST_PVS) dbLoadRecords("$(counterbox_DB)counterbox_v2_test.db", "P=$(PREFIX), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=ASYN_$(NAME)")

View File

@ -9,6 +9,6 @@ epicsEnvSet("PREFIX","SQ:TEST")
epicsEnvSet("NAME","CB_TEST") epicsEnvSet("NAME","CB_TEST")
epicsEnvSet("SET_SIM_MODE","") # Run Counterbox Simulation Instead of Actual Box epicsEnvSet("SET_SIM_MODE","") # Run Counterbox Simulation Instead of Actual Box
runScript "$(counterbox_DIR)counterbox_v2.cmd" "ASYN_PORT=CBOXV2, CNTBOX_IP=localhost, CNTBOX_PORT=2000" runScript "$(counterbox_DIR)counterbox_v2.cmd" "CNTBOX_IP=localhost, CNTBOX_PORT=2000"
iocInit() iocInit()

View File

@ -96,7 +96,7 @@ def test(prefix, name):
line = stdqueue.get() line = stdqueue.get()
print(line) print(line)
if line == 'iocRun: All initialization complete': if 'iocRun: All initialization complete' in line:
break # IOC is now running break # IOC is now running
testCanCount(prefix, name) testCanCount(prefix, name)