forked from epics_driver_modules/motorBase
Merge pull request #13 from waynelewis/newfocus874x
Add support for NewFocus 874x series of controllers
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
TOP = ../..
|
||||
include $(TOP)/configure/CONFIG
|
||||
ARCH = linux-x86_64
|
||||
TARGETS += envPaths
|
||||
include $(TOP)/configure/RULES.ioc
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
file "$(MOTOR)/db/basic_asyn_motor.db"
|
||||
{
|
||||
pattern
|
||||
{P, N, M, DTYP, PORT, ADDR, C, S, DESC, EGU, DIR, VELO, VBAS, ACCL, BDST, BVEL, BACC, MRES, PREC, DHLM, DLLM, INIT}
|
||||
{IOC:, 1, "X", "asynMotor", M0, 1, 0, 0, "X", counts, Pos, 100, 25, 1, 0, 0, 50, 1, 0, 0, 0, ""}
|
||||
{IOC:, 2, "Y", "asynMotor", M0, 2, 0, 0, "Y", counts, Pos, 100, 25, 1, 0, 0, 50, 1, 0, 0, 0, ""}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
#!../../bin/linux-x86_64/picoctl
|
||||
|
||||
## You may have to change picoctl to something else
|
||||
## everywhere it appears in this file
|
||||
|
||||
< envPaths
|
||||
|
||||
epicsEnvSet("EPICS_CA_AUTO_ADDR_LIST", "NO")
|
||||
epicsEnvSet("EPICS_CA_ADDR_LIST", "10.28.0.255")
|
||||
|
||||
epicsEnvSet("Sys", "Sys")
|
||||
epicsEnvSet("Port", "P0")
|
||||
epicsEnvSet("ControllerPort", "M0")
|
||||
epicsEnvSet("MC", "MC:10")
|
||||
epicsEnvSet("CT", "CT")
|
||||
epicsEnvSet("IOC_PREFIX", "$(CT){IOC:MC10}")
|
||||
epicsEnvSet("MC_PREFIX", "$(CT){$(MC)}")
|
||||
|
||||
cd ${TOP}
|
||||
|
||||
## Register all support components
|
||||
dbLoadDatabase "dbd/picoctl.dbd"
|
||||
picoctl_registerRecordDeviceDriver pdbbase
|
||||
|
||||
# Setup IP port for 8742
|
||||
drvAsynIPPortConfigure("$(Port)", "10.28.2.111:23")
|
||||
asynOctetSetInputEos("$(Port)",0,"\r\n")
|
||||
asynOctetSetOutputEos("$(Port)",0,"\r")
|
||||
|
||||
#db asyn debug traces
|
||||
asynSetTraceMask("$(Port)",-1,0x1)
|
||||
asynSetTraceIOMask("$(Port)",-1,0x1)
|
||||
|
||||
|
||||
# New Focus Picomotor Network Controller (model 87xx) configuration parameters:
|
||||
# (1) IP asyn port name (string)
|
||||
# (2) Controller asyn port name (string)
|
||||
# (3) Number of axes
|
||||
# (4) Moving poll period (ms)
|
||||
# (5) Idle poll period (ms)
|
||||
nf874xCreateController("$(ControllerPort)", "$(Port)", 4, 200, 1000)
|
||||
|
||||
## Load record instances
|
||||
dbLoadTemplate("iocBoot/iocNewFocus874x/newfocus8742.asyn.motor.substitutions")
|
||||
|
||||
dbLoadRecords("${ASYN}/db/asynRecord.db", "P=$(MC_PREFIX),R=Asyn,PORT=$(Port),ADDR=,OMAX=80,IMAX=80")
|
||||
|
||||
## autosave/restore machinery
|
||||
save_restoreSet_Debug(0)
|
||||
save_restoreSet_IncompleteSetsOk(1)
|
||||
save_restoreSet_DatedBackupFiles(1)
|
||||
|
||||
set_savefile_path("${TOP}/as","/save")
|
||||
set_requestfile_path("${TOP}/as","/req")
|
||||
|
||||
set_pass0_restoreFile("info_positions.sav")
|
||||
set_pass0_restoreFile("info_settings.sav")
|
||||
set_pass1_restoreFile("info_settings.sav")
|
||||
|
||||
iocInit()
|
||||
|
||||
## more autosave/restore machinery
|
||||
cd ${TOP}/as/req
|
||||
makeAutosaveFiles()
|
||||
create_monitor_set("info_positions.req", 5 , "")
|
||||
create_monitor_set("info_settings.req", 15 , "")
|
||||
|
||||
Reference in New Issue
Block a user