From: Philipp Klaus Date: Tue, 30 Jun 2020 12:26:33 +0000 (+0200) Subject: DAQ_SETTINGS: use module autosave X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=1b7a0fe6dee62e1dd48882b72ce5a07b2e73d6b8;p=mvd_epics.git DAQ_SETTINGS: use module autosave --- diff --git a/DAQ_SETTINGS/DAQ_SETTINGSApp/src/Makefile b/DAQ_SETTINGS/DAQ_SETTINGSApp/src/Makefile index fa51397..6b1d78e 100644 --- a/DAQ_SETTINGS/DAQ_SETTINGSApp/src/Makefile +++ b/DAQ_SETTINGS/DAQ_SETTINGSApp/src/Makefile @@ -16,10 +16,10 @@ DBD += DAQ_SETTINGS.dbd DAQ_SETTINGS_DBD += base.dbd # Include dbd files from all support applications: -#DAQ_SETTINGS_DBD += xxx.dbd +DAQ_SETTINGS_DBD += asSupport.dbd # Add all the support libraries needed by this IOC -#DAQ_SETTINGS_LIBS += xxx +DAQ_SETTINGS_LIBS += autosave # DAQ_SETTINGS_registerRecordDeviceDriver.cpp derives from DAQ_SETTINGS.dbd DAQ_SETTINGS_SRCS += DAQ_SETTINGS_registerRecordDeviceDriver.cpp diff --git a/DAQ_SETTINGS/configure/RELEASE b/DAQ_SETTINGS/configure/RELEASE index b11d163..4db66d0 100644 --- a/DAQ_SETTINGS/configure/RELEASE +++ b/DAQ_SETTINGS/configure/RELEASE @@ -28,6 +28,8 @@ # If using the sequencer, point SNCSEQ at its top directory: #SNCSEQ = $(MODULES)/seq-ver +AUTOSAVE = $(EPICS_ROOT)/modules/autosave + EPICS_BASE = $(EPICS_ROOT)/base # EPICS_ROOT is an absolute path here. If you need a different one, you don't diff --git a/DAQ_SETTINGS/iocBoot/iocDAQ_SETTINGS/autosave_req/auto_settings.req b/DAQ_SETTINGS/iocBoot/iocDAQ_SETTINGS/autosave_req/auto_settings.req new file mode 100644 index 0000000..3a5dd7f --- /dev/null +++ b/DAQ_SETTINGS/iocBoot/iocDAQ_SETTINGS/autosave_req/auto_settings.req @@ -0,0 +1 @@ +file daq_settings.req P=$(P) diff --git a/DAQ_SETTINGS/iocBoot/iocDAQ_SETTINGS/autosave_req/daq_settings.req b/DAQ_SETTINGS/iocBoot/iocDAQ_SETTINGS/autosave_req/daq_settings.req new file mode 100644 index 0000000..0990747 --- /dev/null +++ b/DAQ_SETTINGS/iocBoot/iocDAQ_SETTINGS/autosave_req/daq_settings.req @@ -0,0 +1,77 @@ +$(P)SENSOR:B2:IVDREF1A +$(P)SENSOR:B2:IVDREF1B +$(P)SENSOR:B2:IVDREF1C +$(P)SENSOR:B2:IVDREF1D +$(P)SENSOR:B2:IVDREF2 +$(P)SENSOR:C8:IVDREF1A +$(P)SENSOR:C8:IVDREF1B +$(P)SENSOR:C8:IVDREF1C +$(P)SENSOR:C8:IVDREF1D +$(P)SENSOR:C8:IVDREF2 +$(P)SENSOR:F8:IVDREF1A +$(P)SENSOR:F8:IVDREF1B +$(P)SENSOR:F8:IVDREF1C +$(P)SENSOR:F8:IVDREF1D +$(P)SENSOR:F8:IVDREF2 +$(P)SENSOR:F3:IVDREF1A +$(P)SENSOR:F3:IVDREF1B +$(P)SENSOR:F3:IVDREF1C +$(P)SENSOR:F3:IVDREF1D +$(P)SENSOR:F3:IVDREF2 +$(P)SENSOR:F4:IVDREF1A +$(P)SENSOR:F4:IVDREF1B +$(P)SENSOR:F4:IVDREF1C +$(P)SENSOR:F4:IVDREF1D +$(P)SENSOR:F4:IVDREF2 +$(P)SENSOR:F5:IVDREF1A +$(P)SENSOR:F5:IVDREF1B +$(P)SENSOR:F5:IVDREF1C +$(P)SENSOR:F5:IVDREF1D +$(P)SENSOR:F5:IVDREF2 +$(P)SENSOR:C12:IVDREF1A +$(P)SENSOR:C12:IVDREF1B +$(P)SENSOR:C12:IVDREF1C +$(P)SENSOR:C12:IVDREF1D +$(P)SENSOR:C12:IVDREF2 +$(P)SENSOR:D1:IVDREF1A +$(P)SENSOR:D1:IVDREF1B +$(P)SENSOR:D1:IVDREF1C +$(P)SENSOR:D1:IVDREF1D +$(P)SENSOR:D1:IVDREF2 +$(P)SENSOR:D2:IVDREF1A +$(P)SENSOR:D2:IVDREF1B +$(P)SENSOR:D2:IVDREF1C +$(P)SENSOR:D2:IVDREF1D +$(P)SENSOR:D2:IVDREF2 +$(P)SENSOR:C3:IVDREF1A +$(P)SENSOR:C3:IVDREF1B +$(P)SENSOR:C3:IVDREF1C +$(P)SENSOR:C3:IVDREF1D +$(P)SENSOR:C3:IVDREF2 +$(P)SENSOR:G8:IVDREF1A +$(P)SENSOR:G8:IVDREF1B +$(P)SENSOR:G8:IVDREF1C +$(P)SENSOR:G8:IVDREF1D +$(P)SENSOR:G8:IVDREF2 +$(P)SENSOR:G5:IVDREF1A +$(P)SENSOR:G5:IVDREF1B +$(P)SENSOR:G5:IVDREF1C +$(P)SENSOR:G5:IVDREF1D +$(P)SENSOR:G5:IVDREF2 +$(P)SENSOR:C10:IVDREF1A +$(P)SENSOR:C10:IVDREF1B +$(P)SENSOR:C10:IVDREF1C +$(P)SENSOR:C10:IVDREF1D +$(P)SENSOR:C10:IVDREF2 +$(P)SENSOR:C6:IVDREF1A +$(P)SENSOR:C6:IVDREF1B +$(P)SENSOR:C6:IVDREF1C +$(P)SENSOR:C6:IVDREF1D +$(P)SENSOR:C6:IVDREF2 +$(P)SENSOR:C4:IVDREF1A +$(P)SENSOR:C4:IVDREF1B +$(P)SENSOR:C4:IVDREF1C +$(P)SENSOR:C4:IVDREF1D +$(P)SENSOR:C4:IVDREF2 +$(P)LAST_RUN:UNIX +$(P)LAST_RUN:ISO diff --git a/DAQ_SETTINGS/iocBoot/iocDAQ_SETTINGS/autosave_sav/.gitkeep b/DAQ_SETTINGS/iocBoot/iocDAQ_SETTINGS/autosave_sav/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/DAQ_SETTINGS/iocBoot/iocDAQ_SETTINGS/st.cmd b/DAQ_SETTINGS/iocBoot/iocDAQ_SETTINGS/st.cmd index 60dfcc4..eecfd31 100755 --- a/DAQ_SETTINGS/iocBoot/iocDAQ_SETTINGS/st.cmd +++ b/DAQ_SETTINGS/iocBoot/iocDAQ_SETTINGS/st.cmd @@ -11,6 +11,16 @@ cd "${TOP}" dbLoadDatabase "dbd/DAQ_SETTINGS.dbd" DAQ_SETTINGS_registerRecordDeviceDriver pdbbase +# autosave: configure request and save file search paths +# .req (request) file: list the records to be saved +# .sav save file: contains the previous saved state to be restored +set_requestfile_path("$(TOP)/iocBoot/$(IOC)", "autosave_req") +set_savefile_path("$(TOP)/iocBoot/$(IOC)", "./autosave_sav") + +# autosave: now restore the state from last time +set_pass0_restoreFile("auto_settings.sav") +set_pass1_restoreFile("auto_settings.sav") + ## Load record instances dbLoadRecords("db/PRESTO_SENSORS.db","sys=CBM,sub=MVD,daqsys=PRESTO") dbLoadRecords("db/CONTEXT.db","sys=CBM,sub=MVD,daqsys=PRESTO") @@ -18,5 +28,8 @@ dbLoadRecords("db/CONTEXT.db","sys=CBM,sub=MVD,daqsys=PRESTO") cd "${TOP}/iocBoot/${IOC}" iocInit +# autosave: start monitoring (and saving) the records +create_monitor_set("auto_settings.req", 15, "P=CBM:MVD:DAQ:PRESTO:") + ## Start any sequence programs #seq sncxxx,"user=pklaus"