Closed prjemian closed 3 years ago
All of these after iocInit
. Also:
vm:m1Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: vm:m1Offset ao: init_record
vm:m1Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: vm:m1Resolution ao: init_record
vm:m2Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: vm:m2Offset ao: init_record
vm:m2Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: vm:m2Resolution ao: init_record
vm:m3Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: vm:m3Offset ao: init_record
vm:m3Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: vm:m3Resolution ao: init_record
...
This issue in the motor module appears to be related: https://github.com/epics-modules/motor/issues/166
The values are not initialized, nor is there a default value on which to fallback.
While this adds many lines to the startup, the IOC runs. Problems cited here are probably a root cause of problems reported while trying to resolve #23.
Waiting for resolution in epics-modules/motor#166
root@zap:.../synApps/support/motor-R7-2-2# git grep MOTOR_REC_DIRECTION
motorApp/Db/asyn_motor.db: field(OUT, "@asyn($(PORT),$(ADDR))MOTOR_REC_DIRECTION")
motorApp/Db/basic_asyn_motor.db: field(OUT, "@asyn($(PORT),$(ADDR))MOTOR_REC_DIRECTION")
motorApp/MotorSrc/asynMotorController.h:#define motorRecDirectionString "MOTOR_REC_DIRECTION"
root@zap:.../synApps/support/motor-R7-2-2# git grep MOTOR_REC_OFFSET
motorApp/Db/asyn_motor.db: field(OUT, "@asyn($(PORT),$(ADDR))MOTOR_REC_OFFSET")
motorApp/Db/basic_asyn_motor.db: field(OUT, "@asyn($(PORT),$(ADDR))MOTOR_REC_OFFSET")
motorApp/MotorSrc/asynMotorController.h:#define motorRecOffsetString "MOTOR_REC_OFFSET"
root@zap:.../synApps/support/motor-R7-2-2# git grep MOTOR_REC_RESOLUTION
motorApp/Db/asyn_motor.db: field(OUT, "@asyn($(PORT),$(ADDR))MOTOR_REC_RESOLUTION")
motorApp/Db/basic_asyn_motor.db: field(OUT, "@asyn($(PORT),$(ADDR))MOTOR_REC_RESOLUTION")
motorApp/MotorSrc/asynMotorController.h:#define motorRecResolutionString "MOTOR_REC_RESOLUTION"
The records involved with this docker image are defined in file motor-R7-2-2/db/asyn_motor.db
:
# These records make the motor resolution, offset and direction available to the driver
# which is needed for profile moves and other applications
# Motor direction for this axis
record(longout,"$(P)$(M)Direction") {
field(DESC, "$(M) direction")
field(DOL, "$(P)$(M).DIR CP MS")
field(OMSL, "closed_loop")
field(DTYP, "asynInt32")
field(OUT, "@asyn($(PORT),$(ADDR))MOTOR_REC_DIRECTION")
}
# Motor offset for this axis
record(ao,"$(P)$(M)Offset") {
field(DESC, "$(M) offset")
field(DOL, "$(P)$(M).OFF CP MS")
field(OMSL, "closed_loop")
field(DTYP, "asynFloat64")
field(OUT, "@asyn($(PORT),$(ADDR))MOTOR_REC_OFFSET")
field(PREC, "$(PREC)")
}
# Motor resolution for this axis
record(ao,"$(P)$(M)Resolution") {
field(DESC, "$(M) resolution")
field(DOL, "$(P)$(M).MRES CP MS")
field(OMSL, "closed_loop")
field(DTYP, "asynFloat64")
field(OUT, "@asyn($(PORT),$(ADDR))MOTOR_REC_RESOLUTION")
field(PREC, "$(PREC)")
}
The files involved are:
iocxxx/motors.iocsh
--> motor-R7-2-2/iocsh/motorSim.iocsh
--> motor-R7-2-2/iocsh/EXAMPLE_motorSim.substitutions
--> motor-R7-2-2/db/asyn_motor.db
Only the last file needs to be modified here. Probably best to make these changes by applying a differences patch.