New plugin concept
This commit is contained in:
@@ -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")
|
||||
}
|
||||
@@ -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")
|
||||
}
|
||||
@@ -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")
|
||||
}
|
||||
@@ -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")
|
||||
}
|
||||
@@ -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)")
|
||||
}
|
||||
Reference in New Issue
Block a user