Add some test pvs for pdos and sdos

This commit is contained in:
Anders Sandstrom
2021-03-10 17:06:31 +01:00
parent 5e6ed01cd7
commit 1b88210a60
7 changed files with 44 additions and 23 deletions

View File

@@ -48,6 +48,7 @@ USR_INCLUDES += -I$(where_am_I)$(APPSRC)
TEMPLATES += $(wildcard $(APPDB)/*.db)
TEMPLATES += $(wildcard $(APPDB)/*.template)
TEMPLATES += $(wildcard $(APPDB)/*.substitutions)
SOURCES += $(APPSRC)/ecmcPluginSocketCAN.c
SOURCES += $(APPSRC)/ecmcSocketCAN.cpp
SOURCES += $(APPSRC)/ecmcSocketCANWrap.cpp

View File

@@ -48,6 +48,7 @@ USR_INCLUDES += -I$(where_am_I)$(APPSRC)
TEMPLATES += $(wildcard $(APPDB)/*.db)
TEMPLATES += $(wildcard $(APPDB)/*.template)
TEMPLATES += $(wildcard $(APPDB)/*.substitutions)
SOURCES += $(APPSRC)/ecmcPluginSocketCAN.c
SOURCES += $(APPSRC)/ecmcSocketCAN.cpp
SOURCES += $(APPSRC)/ecmcSocketCANWrap.cpp

View File

@@ -0,0 +1,12 @@
# Data source: plugin.can.dev3.pdo.testvalue
record(waveform,"$(P)CAN${CH_ID}-${suffix=}"){
info(asyn:READBACK,"1")
field(DESC, "PDO Data")
field(PINI, "1")
field(DTYP, "${DTYP=asynInt8ArrayIn}")
field(INP, "@asyn(${PORT},$(ADDR=0),$(TIMEOUT=1000))T_SMP_MS=$(T_SMP_MS=1000)/TYPE=${DTYP=asynInt8ArrayIn}/plugin.can.dev${DEV_ID}.pdo.${source=value}?")
field(FTVL, "${FTVL=CHAR}")
field(NELM, "${NELM=1024}")
field(SCAN, "I/O Intr")
field(TSE, "0")
}

View File

@@ -0,0 +1,8 @@
file "ecmcPluginSocketCAN_SDO.template"
{
pattern {CH_ID, DEV_ID, NELM, suffix, source, DTYP, FTVL }
{03, 3, 28, SDO01-Array, analogValues1, asynInt16ArrayIn, SHORT}
{03, 3, 28, SDO02-Array, analogValues2, asynInt16ArrayIn, SHORT}
{03, 3, 28, SDO03-Array, analogValues3, asynInt16ArrayIn, SHORT}
{03, 3, 28, SDO04-Array, analogValues4, asynInt16ArrayIn, SHORT}
}

View File

@@ -1,7 +1,7 @@
# Data source: plugin.can.dev3.sdo.analogValues4
record(waveform,"$(P)CAN${CH_ID}-${suffix=}"){
info(asyn:READBACK,"1")
field(DESC, "Data source name")
field(DESC, "SDO Data")
field(PINI, "1")
field(DTYP, "${DTYP=asynInt8ArrayIn}")
field(INP, "@asyn(${PORT},$(ADDR=0),$(TIMEOUT=1000))T_SMP_MS=$(T_SMP_MS=1000)/TYPE=${DTYP=asynInt8ArrayIn}/plugin.can.dev${DEV_ID}.sdo.${source=value}?")

View File

@@ -1,16 +1,17 @@
REQMOD:mcag-trgt-muts--24109:MODULES
REQMOD:mcag-trgt-muts--24109:VERSIONS
REQMOD:mcag-trgt-muts--24109:MOD_VER
IOC_TEST:CAN03-AI01-Array
IOC_TEST:CAN03-AI02-Array
IOC_TEST:CAN03-AI03-Array
IOC_TEST:CAN03-AI04-Array
REQMOD:mcag-trgt-muts--24109:exit
REQMOD:mcag-trgt-muts--24109:BaseVersion
REQMOD:mcag-trgt-muts--24109:require_VER
REQMOD:mcag-trgt-muts--24109:ecmccfg_VER
REQMOD:mcag-trgt-muts--24109:asyn_VER
REQMOD:mcag-trgt-muts--24109:exprtk_VER
REQMOD:mcag-trgt-muts--24109:motor_VER
REQMOD:mcag-trgt-muts--24109:ecmc_VER
REQMOD:mcag-trgt-muts--24109:ecmc_plugin_socketcan_VER
REQMOD:mcag-trgt-muts--29276:MODULES
REQMOD:mcag-trgt-muts--29276:VERSIONS
REQMOD:mcag-trgt-muts--29276:MOD_VER
IOC_TEST:CAN03-PDO01-Array
IOC_TEST:CAN03-SDO01-Array
IOC_TEST:CAN03-SDO02-Array
IOC_TEST:CAN03-SDO03-Array
IOC_TEST:CAN03-SDO04-Array
REQMOD:mcag-trgt-muts--29276:exit
REQMOD:mcag-trgt-muts--29276:BaseVersion
REQMOD:mcag-trgt-muts--29276:require_VER
REQMOD:mcag-trgt-muts--29276:ecmccfg_VER
REQMOD:mcag-trgt-muts--29276:asyn_VER
REQMOD:mcag-trgt-muts--29276:exprtk_VER
REQMOD:mcag-trgt-muts--29276:motor_VER
REQMOD:mcag-trgt-muts--29276:ecmc_VER
REQMOD:mcag-trgt-muts--29276:ecmc_plugin_socketcan_VER

View File

@@ -78,6 +78,7 @@ ecmcCANOpenAddDevice("testDevice",3)
# <readTimeoutMs> : Readtimeout in ms.
# <writeCycleMs> : Cycle time for write (if <= 0 then only write on change).
ecmcCANOpenAddPDO("status1",3,0x183,2,8,10000,0) # READ
dbLoadRecords(ecmcPluginSocketCAN_PDO.template, "P=${ECMC_PREFIX},PORT=${ECMC_ASYN_PORT},ADDR=0,TIMEOUT=1,T_SMP_MS=${ECMC_SAMPLE_RATE_MS},TSE=${ECMC_TSE},NELM=${NELM=1},CH_ID=03,DEV_ID=3,suffix=PDO01-Array,source=status1,NELM=8")
# ecmcCANOpenAddSDO -h
# Use ecmcCANOpenAddSDO(<name>, <node id>,.....)
@@ -92,14 +93,11 @@ ecmcCANOpenAddPDO("status1",3,0x183,2,8,10000,0) # READ
# <readTimeoutMs> : Readtimeout in ms.
#
ecmcCANOpenAddSDO("analogValues1",3,0x583,0x603,2,0x2640,0x0,56,7000) # READ
dbLoadRecords(ecmcPluginSocketCAN_SDO.template, "P=${ECMC_PREFIX},PORT=${ECMC_ASYN_PORT},ADDR=0,TIMEOUT=1,T_SMP_MS=${ECMC_SAMPLE_RATE_MS},TSE=${ECMC_TSE},NELM=${NELM=1},CH_ID=03,DEV_ID=3,suffix=AI01-Array,source=analogValues1,DTYP=asynInt16ArrayIn,FTVL=SHORT,NELM=28")
ecmcCANOpenAddSDO("analogValues2",3,0x583,0x603,2,0x2640,0x0,56,7000) # READ
dbLoadRecords(ecmcPluginSocketCAN_SDO.template, "P=${ECMC_PREFIX},PORT=${ECMC_ASYN_PORT},ADDR=0,TIMEOUT=1,T_SMP_MS=${ECMC_SAMPLE_RATE_MS},TSE=${ECMC_TSE},NELM=${NELM=1},CH_ID=03,DEV_ID=3,suffix=AI02-Array,source=analogValues2,DTYP=asynInt16ArrayIn,FTVL=SHORT,NELM=28")
ecmcCANOpenAddSDO("analogValues3",3,0x583,0x603,2,0x2640,0x0,56,7000) # READ
dbLoadRecords(ecmcPluginSocketCAN_SDO.template, "P=${ECMC_PREFIX},PORT=${ECMC_ASYN_PORT},ADDR=0,TIMEOUT=1,T_SMP_MS=${ECMC_SAMPLE_RATE_MS},TSE=${ECMC_TSE},NELM=${NELM=1},CH_ID=03,DEV_ID=3,suffix=AI03-Array,source=analogValues3,DTYP=asynInt16ArrayIn,FTVL=SHORT,NELM=28")
ecmcCANOpenAddSDO("analogValues4",3,0x583,0x603,2,0x2640,0x0,56,7000) # READ
dbLoadRecords(ecmcPluginSocketCAN_SDO.template, "P=${ECMC_PREFIX},PORT=${ECMC_ASYN_PORT},ADDR=0,TIMEOUT=1,T_SMP_MS=${ECMC_SAMPLE_RATE_MS},TSE=${ECMC_TSE},NELM=${NELM=1},CH_ID=03,DEV_ID=3,suffix=AI04-Array,source=analogValues4,DTYP=asynInt16ArrayIn,FTVL=SHORT,NELM=28")
dbLoadTemplate(ecmcPluginSocketCAN_SDO.substitutions, "P=${ECMC_PREFIX},PORT=${ECMC_ASYN_PORT},ADDR=0,TIMEOUT=1,T_SMP_MS=${ECMC_SAMPLE_RATE_MS},TSE=${ECMC_TSE}")
ecmcCANOpenAddSDO("basicConfig",3,0x583,0x603,1,0x2690,0x1,7,0) # WRITE
##############################################################################
@@ -109,4 +107,4 @@ ecmcConfigOrDie "Cfg.SetAppMode(1)"
iocInit
dbl > pvs.log
ecmcGrepParam *plugin.can.*
#ecmcGrepParam *plugin.can.*