From 93bc0783193266671b8b2e95c92f2271f3c98160 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20Sandstr=C3=B6m?= Date: Mon, 4 Mar 2024 11:38:32 +0100 Subject: [PATCH] WIP --- Db/ecmcPluginDAQ.template | 21 +++++++++ Db/ecmcPluginScope.template | 90 ------------------------------------- GNUmakefile | 23 ++-------- src/ecmcDAQDataArray.cpp | 2 +- 4 files changed, 25 insertions(+), 111 deletions(-) create mode 100644 Db/ecmcPluginDAQ.template delete mode 100644 Db/ecmcPluginScope.template diff --git a/Db/ecmcPluginDAQ.template b/Db/ecmcPluginDAQ.template new file mode 100644 index 0000000..bc5542c --- /dev/null +++ b/Db/ecmcPluginDAQ.template @@ -0,0 +1,21 @@ + +record(waveform,"$(P)DAQ-${Name}-Data-Act"){ + info(asyn:FIFO, "1000") + field(DESC, "Data") + field(PINI, "1") + field(DTYP, "${RESULT_DTYP}") + field(INP, "@asyn(${PORT},$(ADDR=0),$(TIMEOUT=1000))T_SMP_MS=$(T_SMP_MS=-1)/TYPE=asynFloat64ArrayIn/plugin.daq.${Name}.data?") + field(FTVL, "asynFloat64ArrayIn") + field(NELM, "${NELM}") + field(SCAN, "I/O Intr") + field(TSE, "0") +} + +record(bo,"$(P)DAQ-${Name}-Enable"){ + field(DESC, "Enable") + field(DTYP, "asynInt32") + field(OUT, "@asyn(${PORT},$(ADDR=0),$(TIMEOUT=1000))T_SMP_MS=$(T_SMP_MS=1000)/TYPE=asynInt32/plugin.daq.${Name}.enable=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + field(VAL, "0") +} diff --git a/Db/ecmcPluginScope.template b/Db/ecmcPluginScope.template deleted file mode 100644 index 096487e..0000000 --- a/Db/ecmcPluginScope.template +++ /dev/null @@ -1,90 +0,0 @@ -# Data source -record(waveform,"$(P)Plugin-Scope${INDEX}-DataSource"){ - field(DESC, "Data source name") - field(PINI, "1") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn(${PORT},$(ADDR=0),$(TIMEOUT=1000))T_SMP_MS=$(T_SMP_MS=1000)/TYPE=asynInt8ArrayIn/plugin.scope${INDEX}.source?") - field(FTVL, "CHAR") - field(NELM, "1024") - field(SCAN, "I/O Intr") - field(TSE, "0") -} - -record(waveform,"$(P)Plugin-Scope${INDEX}-TriggSource"){ - field(DESC, "Trigger source name") - field(PINI, "1") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn(${PORT},$(ADDR=0),$(TIMEOUT=1000))T_SMP_MS=$(T_SMP_MS=1000)/TYPE=asynInt8ArrayIn/plugin.scope${INDEX}.trigg?") - field(FTVL, "CHAR") - field(NELM, "1024") - field(SCAN, "I/O Intr") - field(TSE, "0") -} - -record(waveform,"$(P)Plugin-Scope${INDEX}-NextTimeSource"){ - field(DESC, "Trigger source name") - field(PINI, "1") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn(${PORT},$(ADDR=0),$(TIMEOUT=1000))T_SMP_MS=$(T_SMP_MS=1000)/TYPE=asynInt8ArrayIn/plugin.scope${INDEX}.nexttime?") - field(FTVL, "CHAR") - field(NELM, "1024") - field(SCAN, "I/O Intr") - field(TSE, "0") -} - -# result -record(waveform,"$(P)Plugin-Scope${INDEX}-Data-Act"){ - info(asyn:FIFO, "1000") - field(DESC, "Result data") - field(PINI, "1") - field(DTYP, "${RESULT_DTYP}") - field(INP, "@asyn(${PORT},$(ADDR=0),$(TIMEOUT=1000))T_SMP_MS=$(T_SMP_MS=-1)/TYPE=${RESULT_DTYP}/plugin.scope${INDEX}.resultdata?") - field(FTVL, "${RESULT_FTVL}") - field(NELM, "${RESULT_NELM}") - field(SCAN, "I/O Intr") - field(TSE, "0") -} - -record(bo,"$(P)Plugin-Scope${INDEX}-Enable"){ - field(DESC, "FFT Enable") - field(DTYP,"asynInt32") - field(OUT, "@asyn(${PORT},$(ADDR=0),$(TIMEOUT=1000))T_SMP_MS=$(T_SMP_MS=1000)/TYPE=asynInt32/plugin.scope${INDEX}.enable=") - field(ZNAM,"FALSE") - field(ONAM,"TRUE") - field(DOL, "0") - field(VAL, "0") -} - -record(ai,"$(P)Plugin-Scope${INDEX}-MissTriggCntAct"){ - field(PINI, "1") - field(DESC, "Missed trigger counter") - field(DTYP,"asynInt32") - field(INP, "@asyn(${PORT},$(ADDR=0),$(TIMEOUT=1000))T_SMP_MS=$(T_SMP_MS=1000)/TYPE=asynInt32/plugin.scope${INDEX}.missed?") - field(SCAN, "I/O Intr") -} - -record(ai,"$(P)Plugin-Scope${INDEX}-ScanToTriggSamples"){ - field(PINI, "1") - field(DESC, "Samples between now and trigger []") - field(DTYP,"asynFloat64") - field(INP, "@asyn(${PORT},$(ADDR=0),$(TIMEOUT=1000))T_SMP_MS=$(T_SMP_MS=1000)/TYPE=asynFloat64/plugin.scope${INDEX}.scantotrigg?") - field(SCAN, "I/O Intr") -} - -record(ai,"$(P)Plugin-Scope${INDEX}-TriggCntAct"){ - field(PINI, "1") - field(DESC, "Trigger counter") - field(DTYP,"asynInt32") - field(INP, "@asyn(${PORT},$(ADDR=0),$(TIMEOUT=1000))T_SMP_MS=$(T_SMP_MS=1000)/TYPE=asynInt32/plugin.scope${INDEX}.count?") - field(SCAN, "I/O Intr") -} - -#record(bo,"$(P)Plugin-Scope${INDEX}-Trigg"){ -# field(DESC, "FFT Trigg measurement") -# field(DTYP,"asynInt32") -# field(OUT, "@asyn(${PORT},$(ADDR=0),$(TIMEOUT=1000))T_SMP_MS=$(T_SMP_MS=1000)/TYPE=asynInt32/plugin.scope${INDEX}.trigg") -# field(ZNAM,"FALSE") -# field(ONAM,"TRUE") -# field(DOL, "0") -# field(VAL, "0") -#} diff --git a/GNUmakefile b/GNUmakefile index e062ae0..da417af 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -15,32 +15,15 @@ USR_CXXFLAGS += -std=c++17 OPT_CXXFLAGS_YES = -O3 # dependencies -ECmasterECMC_VERSION = v1.1.0 -# motorECMC_VERSION = 7.0.7-ESS -#ecmc_VERSION = v9.0.1_RC4 +#ECmasterECMC_VERSION = v1.1.0 ecmc_VERSION = 9.1.0 -################################################################################ -# THIS RELATES TO THE EtherCAT MASTER LIBRARY -# IT IS OF PARAMOUNT IMPORTANCE TO LOAD THE PROPER KERNEL MODULE -# ################################################################################ -#USR_LDFLAGS += -lethercat -# -#EC_MASTER_LIB = ${EPICS_MODULES}/ECmasterECMC/${ECmasterECMC_VERSION}/R${EPICSVERSION}/lib/${T_A} -#USR_LDFLAGS += -Wl,-rpath=${EC_MASTER_LIB} -#USR_LDFLAGS += -L ${EC_MASTER_LIB} -# BASE_DIR = . SRC_DIR = $(BASE_DIR)/src -#DB_DIR = $(BASE_DIR)/Db -# +DB_DIR = $(BASE_DIR)/Db SOURCES += $(SRC_DIR)/ecmcDAQDataArray.cpp SOURCES += $(SRC_DIR)/ecmcDAQDataChannel.cpp SOURCES += $(SRC_DIR)/ecmcDAQWrap.cpp -#DBDS += $(foreach d,${SRC_DIR}, $(wildcard $d/*.dbd)) -#SCRIPTS += $(BASE_DIR)/startup.cmd -#SCRIPTS += $(BASE_DIR)/scripts/addSS1Group.cmd -#SCRIPTS += $(BASE_DIR)/scripts/addAxisToSafetyGroup.cmd -#TEMPLATES += $(wildcard $(DB_DIR)/*.template) +TEMPLATES += $(wildcard $(DB_DIR)/*.template) diff --git a/src/ecmcDAQDataArray.cpp b/src/ecmcDAQDataArray.cpp index 0b47417..e63c980 100644 --- a/src/ecmcDAQDataArray.cpp +++ b/src/ecmcDAQDataArray.cpp @@ -16,7 +16,7 @@ #define ECMC_PLUGIN_ASYN_PREFIX "plugin.daq" #define ECMC_PLUGIN_ASYN_ENABLE "enable" -#define ECMC_PLUGIN_ASYN_RAWDATA "rawdata" +#define ECMC_PLUGIN_ASYN_RAWDATA "data" #include #include "ecmcDAQDataArray.h"