First working version of the MasterMACS EPICS driver
Also added some test code
This commit is contained in:
9
testpmacV3/db/asynRecord.db
Normal file
9
testpmacV3/db/asynRecord.db
Normal file
@ -0,0 +1,9 @@
|
||||
record(asyn,"$(P)$(R)")
|
||||
{
|
||||
field(DTYP,"asynRecordDevice")
|
||||
field(PORT,"$(PORT)")
|
||||
field(ADDR,"$(ADDR)")
|
||||
field(OMAX,"$(OMAX)")
|
||||
field(IMAX,"$(IMAX)")
|
||||
}
|
||||
|
22
testpmacV3/db/basic_asyn_motor.db
Normal file
22
testpmacV3/db/basic_asyn_motor.db
Normal file
@ -0,0 +1,22 @@
|
||||
record(motor,"$(P)$(M)")
|
||||
{
|
||||
field(DESC,"$(DESC)")
|
||||
field(DTYP,"$(DTYP)")
|
||||
field(DIR,"$(DIR)")
|
||||
field(VELO,"$(VELO)")
|
||||
field(VBAS,"$(VBAS)")
|
||||
field(ACCL,"$(ACCL)")
|
||||
field(BDST,"$(BDST)")
|
||||
field(BVEL,"$(BVEL)")
|
||||
field(BACC,"$(BACC)")
|
||||
field(OUT,"@asyn($(PORT),$(ADDR))")
|
||||
field(MRES,"$(MRES)")
|
||||
field(PREC,"$(PREC)")
|
||||
field(EGU,"$(EGU)")
|
||||
field(DHLM,"$(DHLM)")
|
||||
field(DLLM,"$(DLLM)")
|
||||
field(INIT,"$(INIT)")
|
||||
field(TWV,"1")
|
||||
field(RTRY,"0")
|
||||
}
|
||||
|
19544
testpmacV3/db/huber.dbd
Normal file
19544
testpmacV3/db/huber.dbd
Normal file
File diff suppressed because it is too large
Load Diff
9
testpmacV3/db/motorMessage.db
Normal file
9
testpmacV3/db/motorMessage.db
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
# The message text
|
||||
record(waveform, "$(P)$(M)-MsgTxt") {
|
||||
field(DTYP, "asynOctetRead")
|
||||
field(INP, "@asyn($(PORT),$(N),1) MOTOR_MESSAGE_TEXT")
|
||||
field(FTVL, "CHAR")
|
||||
field(NELM, "80")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
14
testpmacV3/db/pmacV3.db
Normal file
14
testpmacV3/db/pmacV3.db
Normal file
@ -0,0 +1,14 @@
|
||||
# enable axis
|
||||
record(longout, "$(P)$(M):Enable") {
|
||||
field(DTYP, "asynInt32")
|
||||
field(OUT, "@asyn($(PORT),$(N),1) ENABLE_AXIS")
|
||||
field(PINI, "YES")
|
||||
}
|
||||
|
||||
# enable axis
|
||||
record(longin, "$(P)$(M):Enable_RBV") {
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT),$(N),1) AXIS_ENABLED")
|
||||
field(PINI, "YES")
|
||||
field(SCAN, "1 second")
|
||||
}
|
27
testpmacV3/mcu.substitutions
Normal file
27
testpmacV3/mcu.substitutions
Normal file
@ -0,0 +1,27 @@
|
||||
file "$(TOP)/db/basic_asyn_motor.db"
|
||||
{
|
||||
pattern
|
||||
{P, N, M, DTYP, PORT, ADDR, DESC, EGU, DIR, VELO, VBAS, ACCL, BDST, BVEL, BACC, MRES, PREC, DHLM, DLLM, INIT}
|
||||
{SQ:TEST:mcu:, 2, "m$(N)", "asynMotor", mcu, 2, "m$(N)", degrees, Pos, 2.0, 0.1, .2, 0, 1, .2, .001, 3, 358., 2., ""}
|
||||
{SQ:TEST:mcu:, 6, "m$(N)", "asynMotor", mcu, 6, "m$(N)", degrees, Pos, 2.0, 0.1, .2, 0, 1, .2, .001, 3, 358., 2., ""}
|
||||
{SQ:TEST:mcu:,10, "m$(N)", "asynMotor", mcu,10, "m$(N)", degrees, Pos, 2.0, 0.1, .2, 0, 1, .2, .001, 3, 358., 2., ""}
|
||||
}
|
||||
|
||||
file "$(TOP)/db/motorMessage.db"
|
||||
{
|
||||
pattern
|
||||
{P,N, M,PORT}
|
||||
{SQ:TEST:mcu:, 2, "m$(N)", mcu}
|
||||
{SQ:TEST:mcu:, 6, "m$(N)", mcu}
|
||||
{SQ:TEST:mcu:,10, "m$(N)", mcu}
|
||||
}
|
||||
|
||||
file "$(TOP)/db/pmacV3.db"
|
||||
{
|
||||
pattern
|
||||
{P,N, M,PORT}
|
||||
{SQ:TEST:mcu:, 2, "m$(N)", mcu}
|
||||
{SQ:TEST:mcu:, 6, "m$(N)", mcu}
|
||||
{SQ:TEST:mcu:,10, "m$(N)", mcu}
|
||||
}
|
||||
|
25
testpmacV3/st.cmd
Executable file
25
testpmacV3/st.cmd
Executable file
@ -0,0 +1,25 @@
|
||||
#!/ioc/tools/iocsh
|
||||
|
||||
require sinq,brambilla_m
|
||||
#require sinq,koennecke
|
||||
|
||||
epicsEnvSet("TOP","/afs/psi.ch/project/sinqdev/sinqepicsapp/testpmacV3")
|
||||
|
||||
epicsEnvSet("EPICS_CA_ADDR_LIST","127.0.0.1")
|
||||
|
||||
epicsEnvSet("STREAM_PROTOCOL_PATH","$(TOP)/db")
|
||||
|
||||
|
||||
var streamDebug 3
|
||||
|
||||
# motors
|
||||
|
||||
pmacAsynIPConfigure("pmacV3", "129.129.138.234:1025")
|
||||
pmacV3CreateController("mcu","pmacV3",0,16,50,1000);
|
||||
pmacV3CreateAxis("mcu",2,0);
|
||||
pmacV3CreateAxis("mcu",6,0);
|
||||
pmacV3CreateAxis("mcu",10,0);
|
||||
dbLoadTemplate "$(TOP)/mcu.substitutions"
|
||||
dbLoadRecords("$(TOP)/db/asynRecord.db","P=SQ:TEST:,R=mcu,PORT=pmacV3,ADDR=0,OMAX=80,IMAX=80")
|
||||
|
||||
iocInit
|
Reference in New Issue
Block a user