New plugin concept

This commit is contained in:
2024-12-16 09:24:16 +01:00
parent 6d7f2ef37e
commit 5e10e7c929
34 changed files with 49 additions and 207 deletions
View File
+21
View File
@@ -0,0 +1,21 @@
record(ai,"$(P)CAN-Stat-ComErr"){
field(DESC, "Communication error")
field(PINI, "$(PINI=1)")
field(VAL, "0")
field(DTYP, "asynInt32")
field(INP, "@asyn($(PORT),$(ADDR=0),$(TIMEOUT=1))T_SMP_MS=$(T_SMP_MS=1000)/TYPE=asynInt32/plugin.can.com.error?")
field(SCAN, "I/O Intr")
}
record(bi,"$(P)CAN-Stat-Connected"){
field(DESC, "Connected")
field(PINI, "$(PINI=1)")
field(VAL, "0")
field(DTYP, "asynInt32")
field(INP, "@asyn($(PORT),$(ADDR=0),$(TIMEOUT=1))T_SMP_MS=$(T_SMP_MS=1000)/TYPE=asynInt32/plugin.can.com.connected?")
field(SCAN, "I/O Intr")
field(ZNAM, "Not connected")
field(ONAM, "Connected")
field(ZSV, "MAJOR")
field(OSV, "NO_ALARM")
}
+53
View File
@@ -0,0 +1,53 @@
# Device NMT state
#enum ecmc_nmt_state_act {
# NMT_NOT_VALID = 0,
# NMT_BOOT_UP = 1,
# NMT_STOPPED = 2,
# NMT_OP = 3,
# NMT_PREOP = 4
#};
# plugin.can.dev0.nmtstate
record(mbbi,"$(P)CAN${CH_ID}-Stat-NMT"){
field(DESC, "Device NMT state")
field(PINI, "$(PINI=1)")
field(VAL, "0")
field(DTYP, "asynUInt32Digital")
field(INP, "@asynMask($(PORT),$(ADDR=0),$(MASK=0xFFFFFFFF),$(TIMEOUT=1))T_SMP_MS=$(T_SMP_MS=1000)/TYPE=asynUInt32Digital/plugin.can.dev${DEV_ID}.nmtstate?")
field(SCAN, "I/O Intr")
field(TSE, "$(TSE=-2)")
field(ZRST,"NMT_NOT_VALID")
field(ONST,"NMT_BOOT_UP")
field(TWST,"NMT_STOPPED")
field(THST,"NMT_OP")
field(FRST,"NMT_PREOP")
field(FVST,"NMT_NOT_VALID")
field(SXST,"NMT_NOT_VALID")
field(SVST,"NMT_NOT_VALID")
field(EIST,"NMT_NOT_VALID")
field(NIST,"NMT_NOT_VALID")
field(TEST,"NMT_NOT_VALID")
field(ELST,"NMT_NOT_VALID")
field(TVST,"NMT_NOT_VALID")
field(TTST,"NMT_NOT_VALID")
field(FTST,"NMT_NOT_VALID")
field(FFST,"NMT_NOT_VALID")
field(ZRVL,"0x0")
field(ONVL,"0x1")
field(TWVL,"0x2")
field(THVL,"0x3")
field(FRVL,"0x4")
field(FVVL,"0x5")
field(SXVL,"0x6")
field(SVVL,"0x7")
field(EIVL,"0x8")
field(NIVL,"0x9")
field(TEVL,"0xA")
field(ELVL,"0xB")
field(TVVL,"0xC")
field(TTVL,"0xD")
field(FTVL,"0xE")
field(FFVL,"0xF")
}
@@ -0,0 +1,8 @@
record(ai,"$(P)CAN${CH_ID}-${suffix=}"){
field(DESC, "SDO error code")
field(PINI, "$(PINI=1)")
field(VAL, "0")
field(DTYP, "asynInt32")
field(INP, "@asyn($(PORT),$(ADDR=0),$(TIMEOUT=1))T_SMP_MS=$(T_SMP_MS=1000)/TYPE=asynInt32/plugin.can.dev${DEV_ID}.pdo.${source=value}.error?")
field(SCAN, "I/O Intr")
}
+12
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")
}
@@ -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=asynInt8ArrayOut}")
field(INP, "@asyn(${PORT},$(ADDR=0),$(TIMEOUT=1000))T_SMP_MS=$(T_SMP_MS=1000)/TYPE=${DTYP=asynInt8ArrayOut}/plugin.can.dev${DEV_ID}.pdo.${source=value}=")
field(FTVL, "${FTVL=CHAR}")
field(NELM, "${NELM=1024}")
field(SCAN, "Passive")
field(TSE, "0")
}
@@ -0,0 +1,8 @@
record(ai,"$(P)CAN${CH_ID}-${suffix=}"){
field(DESC, "SDO error code")
field(PINI, "$(PINI=1)")
field(VAL, "0")
field(DTYP, "asynInt32")
field(INP, "@asyn($(PORT),$(ADDR=0),$(TIMEOUT=1))T_SMP_MS=$(T_SMP_MS=1000)/TYPE=asynInt32/plugin.can.dev${DEV_ID}.sdo.${source=value}.error?")
field(SCAN, "I/O Intr")
}
+12
View File
@@ -0,0 +1,12 @@
# Data source: plugin.can.dev3.sdo.analogValues4
record(waveform,"$(P)CAN${CH_ID}-${suffix=}"){
info(asyn:READBACK,"1")
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}?")
field(FTVL, "${FTVL=CHAR}")
field(NELM, "${NELM=1024}")
field(SCAN, "I/O Intr")
field(TSE, "0")
}
@@ -0,0 +1,11 @@
# Data source: plugin.can.dev3.sdo.analogValues4
record(waveform,"$(P)CAN${CH_ID}-${suffix=}"){
info(asyn:READBACK,"1")
field(DESC, "SDO Data")
field(DTYP, "${DTYP=asynInt8ArrayOut}")
field(INP, "@asyn(${PORT},$(ADDR=0),$(TIMEOUT=1000))T_SMP_MS=$(T_SMP_MS=1000)/TYPE=${DTYP=asynInt8ArrayOut}/plugin.can.dev${DEV_ID}.sdo.${source=value}=")
field(FTVL, "${FTVL=CHAR}")
field(NELM, "${NELM=1024}")
field(SCAN, "Passive")
field(TSE, "0")
}
+13
View File
@@ -0,0 +1,13 @@
record(acalcout,"$(P)LeftMoveData_"){
field(DESC, "Move data from EL3702 to EL4732")
field(INAA, "$(P)ec$(MASTER_ID)-s$(SLAVE_AI)-EL3702_s$(NELM)-AI1-Array.VAL")
field(INPA, "$(P)LeftGain.VAL")
field(INPB, "$(P)LeftOffset.VAL")
field(INPC, "$(P)Volume.VAL")
field(CALC, "(C/200*A/100*AA+(B*3276.8))")
field(OUT, "$(P)ec$(MASTER_ID)-s$(SLAVE_AO)-EL4732_s$(NELM)-AO1-Array.VAL")
field(FLNK, "$(P)ec$(MASTER_ID)-s$(SLAVE_AO)-EL4732_s$(NELM)-AO1-Array.PROC")
field(NELM, "$(NELM)")
}