diff --git a/TEST/TEST-IOC-01App/Db/TEST-IOC-01.db b/TEST/TEST-IOC-01App/Db/TEST-IOC-01.db index 9af1864bb..52e8a6d0b 100644 --- a/TEST/TEST-IOC-01App/Db/TEST-IOC-01.db +++ b/TEST/TEST-IOC-01App/Db/TEST-IOC-01.db @@ -1,3 +1,34 @@ +record(lso,"$(P)LSOVAL:SP") +{ + field(DTYP, "stream") + field(OUT, "@test.proto writeString $(PORT)") + field(SIZV, "1024") + field(FLNK, "$(P)LSIVAL") +} + +record(lsi,"$(P)LSIVAL") +{ + field(DTYP, "stream") + field(INP, "@test.proto readString $(PORT)") + field(SIZV, "1024") +} + +record(waveform,"$(P)WFVAL:SP") +{ + field(NELM , "1024") + field(FTVL, "CHAR") + field(DTYP, "stream") + field(INP, "@test.proto writeString $(PORT)") + field(FLNK, "$(P)WFVAL") +} + +record(waveform,"$(P)WFVAL") +{ + field(NELM , "1024") + field(FTVL, "CHAR") + field(DTYP, "stream") + field(INP, "@test.proto readString $(PORT)") +} record(ai,"$(P)VAL") { diff --git a/TEST/TEST-IOC-01App/Makefile b/TEST/TEST-IOC-01App/Makefile index 10e0126aa..b260ceef1 100644 --- a/TEST/TEST-IOC-01App/Makefile +++ b/TEST/TEST-IOC-01App/Makefile @@ -4,5 +4,6 @@ DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *src*)) DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Src*)) DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *db*)) DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Db*)) +DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard protocol)) include $(TOP)/configure/RULES_DIRS diff --git a/TEST/TEST-IOC-01App/protocol/Makefile b/TEST/TEST-IOC-01App/protocol/Makefile new file mode 100644 index 000000000..ac6a859e1 --- /dev/null +++ b/TEST/TEST-IOC-01App/protocol/Makefile @@ -0,0 +1,6 @@ +TOP = ../.. +include $(TOP)/configure/CONFIG +DATA += test.proto + +include $(TOP)/configure/RULES + diff --git a/TEST/TEST-IOC-01App/protocol/test.proto b/TEST/TEST-IOC-01App/protocol/test.proto new file mode 100644 index 000000000..108186acc --- /dev/null +++ b/TEST/TEST-IOC-01App/protocol/test.proto @@ -0,0 +1,9 @@ +Terminator = LF; + +writeString { + out "%s"; +} + +readString { + in "%s"; +} diff --git a/TEST/TEST-IOC-01App/src/build.mak b/TEST/TEST-IOC-01App/src/build.mak index 65e014aca..fafb01502 100644 --- a/TEST/TEST-IOC-01App/src/build.mak +++ b/TEST/TEST-IOC-01App/src/build.mak @@ -25,18 +25,22 @@ $(APPNAME)_DBD += devIocStats.dbd $(APPNAME)_DBD += caPutLog.dbd $(APPNAME)_DBD += utilities.dbd ## add other dbd here ## +$(APPNAME)_DBD += calcSupport.dbd $(APPNAME)_DBD += randomSupport.dbd -$(APPNAME)_DBD += PVAServerRegister.dbd +$(APPNAME)_DBD += asyn.dbd +$(APPNAME)_DBD += drvAsynEcho.dbd +$(APPNAME)_DBD += stream.dbd # Add all the support libraries needed by this IOC ## ISIS standard libraries ## -$(APPNAME)_LIBS += seq pv +$(APPNAME)_LIBS += stream asyn asynEcho $(APPNAME)_LIBS += devIocStats $(APPNAME)_LIBS += pvdump $(MYSQLLIB) easySQLite sqlite $(APPNAME)_LIBS += caPutLog $(APPNAME)_LIBS += icpconfig pugixml -$(APPNAME)_LIBS += autosave +$(APPNAME)_LIBS += autosave calc sscan $(APPNAME)_LIBS += utilities pcre +$(APPNAME)_LIBS += seq pv ## Add other libraries here ## $(APPNAME)_LIBS += random ifdef EPICS_BASE_PVA_CORE_LIBS diff --git a/TEST/iocBoot/iocTEST-IOC-01/st.cmd b/TEST/iocBoot/iocTEST-IOC-01/st.cmd index 26de9194e..c5e0bc6db 100644 --- a/TEST/iocBoot/iocTEST-IOC-01/st.cmd +++ b/TEST/iocBoot/iocTEST-IOC-01/st.cmd @@ -11,6 +11,10 @@ cd ${TOP} dbLoadDatabase "dbd/TEST-IOC-01.dbd" TEST_IOC_01_registerRecordDeviceDriver pdbbase +epicsEnvSet ("STREAM_PROTOCOL_PATH", "$(TOP)/data") + +echoDriverInit("L0", 0.1, 0, 0) + ##ISIS## Run IOC initialisation < $(IOCSTARTUP)/init.cmd @@ -20,7 +24,7 @@ TEST_IOC_01_registerRecordDeviceDriver pdbbase < $(IOCSTARTUP)/dbload.cmd ## Load our record instances -dbLoadRecords("db/TEST-IOC-01.db","P=$(MYPVPREFIX)$(IOCNAME):, RANDDEV=Random Async, RANDSEED=324235") +dbLoadRecords("db/TEST-IOC-01.db","P=$(MYPVPREFIX)$(IOCNAME):,RANDDEV=Random Async,RANDSEED=324235,PORT=L0") ##ISIS## Stuff that needs to be done after all records are loaded but before iocInit is called < $(IOCSTARTUP)/preiocinit.cmd @@ -33,5 +37,3 @@ iocInit ##ISIS## Stuff that needs to be done after iocInit is called e.g. sequence programs < $(IOCSTARTUP)/postiocinit.cmd - -startPVAServer