No longer have to specify the Asyn Port Name
This commit is contained in:
@ -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
|
||||||
|
@ -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")
|
||||||
|
@ -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")
|
||||||
|
@ -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)")
|
||||||
|
@ -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()
|
||||||
|
@ -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)
|
||||||
|
Reference in New Issue
Block a user