Merge pull request #39 from keenanlang/scripts

Callable iocsh scripts
This commit is contained in:
Kevin Peterson
2016-09-01 09:50:24 -05:00
committed by GitHub
13 changed files with 374 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
# ### ACS_MCB4B.iocsh ###
#- ###################################################
#- PORT - Serial port for communications
#- INSTANCE - Name of asyn port to create
#-
#- NUM_AXES - Optional: Number of axes to create for this controller
#- Default: 1
#-
#- MOVING_POLL - Optional: Moving poll rate (ms)
#- Default: POLL_RATE
#-
#- IDLE_POLL - Optional: Idle poll rate (ms)
#- Default: POLL_RATE
#-
#- POLL_RATE - Optional: Poll rate (ms)
#- Default: 100
#- ###################################################
# ACS MCB-4B serial connection settings
iocshLoad("$(IP)/iocsh/setSerialParams.iocsh", "PORT=$(PORT), BAUD=19200, BITS=8, STOP=1, PARITY=none")
asynOctetSetInputEos( "$(PORT)", -1, "\r")
asynOctetSetOutputEos("$(PORT)", -1, "\r")
MCB4BCreateController("$(INSTANCE)", "$(PORT)", $(NUM_AXES=1), $(MOVING_POLL=$(POLL_RATE=100)), $(IDLE_POLL=$(POLL_RATE=100)))
+7
View File
@@ -0,0 +1,7 @@
file "$(MOTOR)/db/asyn_motor.db"
{
pattern
{N, M, ADDR, DESC, EGU, DIR, VELO, VBAS, ACCL, BDST, BVEL, BACC, MRES, PREC}
{1, "m$(N)", 0, "motor $(N)", degrees, Pos, 1, .1, .2, 0, 1, .2, 0.01, 5}
#{2, "m$(N)", 1, "motor $(N)", degrees, Pos, 1, .1, .2, 0, 1, .2, 0.01, 5}
}
+31
View File
@@ -0,0 +1,31 @@
# ### McClennan_PM304.iocsh ###
#- ###################################################
#- PORT - Serial port for communications
#- CONTROLLER - Optional: Which controller is being configured
#- Default: 0
#-
#- NUM_AXES - Optional: Number of axes on this controller
#- Default: 1
#-
#- MAX_CONTROLLERS - Optional: Max number of controllers that will be configured
#- Default: 1
#-
#- POLL_RATE - Optional: Controller poll rate in hertz
#- Default: 10
#- ###################################################
#- McClennan PM304 driver setup parameters:
#- (1) maximum number of controllers in system
#- (2) motor task polling rate (min=1Hz, max=60Hz)
$(PM304_INIT_COMPLETE="") PM304Setup($(MAX_CONTROLLERS=1), $(POLL_RATE=10))
#- Insert serial port configuration settings here
#- McClennan PM304 driver configuration parameters:
#- (1) controller being configured
#- (2) MPF serial server name (string)
#- (3) Number of axes on this controller
PM304Config($(CONTROLLER=0), "$(PORT)", $(NUM_AXES=1))
epicsEnvSet("PM304_INIT_COMPLETE", "#")
+37
View File
@@ -0,0 +1,37 @@
# ### Newfocus_PMNC87xx.iocsh ###
#- ###################################################
#- PORT - Serial port for communications
#- CONTROLLER - Optional: Which controller is being configured
#- Default: 0
#-
#- NUM_AXES - Optional: Number of axes on this controller
#- Default: 1
#-
#- MAX_CONTROLLERS - Optional: Max number of controllers that will be configured
#- Default: 1
#-
#- MAX_DRIVES - Optional: Max number of drives per controller
#- Default: 1
#-
#- POLL_RATE - Optional: Controller poll rate in hertz
#- Default: 10
#- ###################################################
#- NewFocus Picomotor driver setup parameters:
#- (1) maximum number of controllers in system
#- (2) maximum drives per controller
#- (3) motor task polling rate (min=1Hz, max=60Hz)
$(PMNC87XX_INIT_COMPLETE="") PMNC87xxSetup($(MAX_CONTROLLERS=1), $(MAX_DRIVES=1), $(POLL_RATE=10))
#- Serial port configuration
iocshLoad("$(IP)/iocsh/setSerialParams.iocsh", "PORT=$(PORT), BAUD=19200, BITS=8, STOP=1, PARITY=none")
asynOctetSetInputEos( "$(PORT)", -1, "\r")
asynOctetSetOutputEos("$(PORT)", -1, "\r")
#- NewFocus Picomotor driver configuration parameters:
#- (1) controller being configured
#- (2) asyn port name (string)
PMNC87xxConfig($(CONTROLLER=0), "$(PORT)")
epicsEnvSet("PMNC87XX_INIT_COMPLETE", "#")
+30
View File
@@ -0,0 +1,30 @@
# ### Newport_ESP300.iocsh ###
#- ###################################################
#- PORT - Serial port for communications
#- CONTROLLER - Optional: Which controller is being configured
#- Default: 0
#-
#- MAX_CONTROLLERS - Optional: Max number of controllers that will be configured
#- Default: 1
#-
#- POLL_RATE - Optional: Polling increment in 1/60 sec
#- Default: 6
#- ###################################################
#- Newport ESP300 driver setup parameters:
#- (1) maximum number of controllers in system
#- (2) motor task polling rate (min=1Hz,max=60Hz)
$(ESP300_INIT_COMPLETE="") ESP300Setup($(MAX_CONTROLLERS=1), $(POLL_RATE=10))
# Newport ESP300 serial connection settings
iocshLoad("$(IP)/iocsh/setSerialParams.iocsh", "PORT=$(PORT), BAUD=9600, BITS=8, STOP=1, PARITY=none")
asynOctetSetInputEos( "$(PORT)", -1, "")
asynOctetSetOutputEos("$(PORT)", -1, "")
#- Newport ESP300 driver configuration parameters:
#- (1) controller# being configured
#- (2) ASYN port name
ESP300Config($(CONTROLLER=0), "$(PORT)")
epicsEnvSet("ESP300_INIT_COMPLETE", "#")
+32
View File
@@ -0,0 +1,32 @@
# ### Newport_NM4000.iocsh ###
#- ###################################################
#- PORT - Serial port for communications
#- CONTROLLER - Optional: Which controller is being configured
#- Default: 0
#-
#- MAX_CONTROLLERS - Optional: Max number of controllers that will be configured
#- Default: 1
#-
#- POLL_RATE - Optional: Controller poll rate in hertz
#- Default: 10
#- ###################################################
#- Newport MM4000 driver setup parameters:
#- (1) maximum # of controllers,
#- (2) motor task polling rate (min=1Hz, max=60Hz)
$(MM4000_INIT_COMPLETE="") MM4000Setup($(MAX_CONTROLLERS=1), $(POLL_RATE=10))
# Newport MM4000 serial connection settings
iocshLoad("$(IP)/iocsh/setSerialParams.iocsh", "PORT=$(PORT), BAUD=38400, BITS=8, STOP=1, PARITY=none")
asynOctetSetInputEos( "$(PORT)", -1, "\r")
asynOctetSetOutputEos("$(PORT)", -1, "\r")
# Newport MM4000 driver configuration parameters:
# (1) controller
# (2) asyn port name (e.g. serial0 or gpib1)
# (3) GPIB address (0 for serial)
MM4000Config($(CONTROLLER=0), "$(PORT)", 0)
epicsEnvSet("MM4000_INIT_COMPLETE", "#")
+30
View File
@@ -0,0 +1,30 @@
# ### Newport_PM500.iocsh ###
#- ###################################################
#- PORT - Serial port for communications
#- CONTROLLER - Optional: Which controller is being configured
#- Default: 0
#-
#- MAX_CONTROLLERS - Optional: Max number of controllers that will be configured
#- Default: 1
#-
#- POLL_RATE - Optional: Controller poll rate in hertz
#- Default: 10
#- ###################################################
#- Newport PM500 driver setup parameters:
#- (1) maximum number of controllers in system
#- (2) motor task polling rate (min=1Hz,max=60Hz)
$(PM500_INIT_COMPLETE="") PM500Setup($(MAX_CONTROLLERS=1), $(POLL_RATE=10))
#- Newport PM500 serial connection settings
iocshLoad("$(IP)/iocsh/setSerialParams.iocsh", "PORT=$(PORT), BAUD=9600, BITS=7, STOP=2, PARITY=even, HANDSHAKE=hardware")
asynOctetSetInputEos( "$(PORT)", -1, "\r")
asynOctetSetOutputEos("$(PORT)", -1, "\r")
#- Newport PM500 configuration parameters:
#- (1) controller
#- (2) asyn port name (e.g. serial0 or gpib1)
PM500Config($(CONTROLLER=0), "$(PORT)")
epicsEnvSet("PM500_INIT_COMPLETE", "#")
+49
View File
@@ -0,0 +1,49 @@
# ### PI_C630.iocsh ###
#- ###################################################
#- PORT - Serial port for communications
#- CONTROLLER - Optional: Which controller is being configured
#- Default: 0
#-
#- MAX_CONTROLLERS - Optional: Max number of controllers that will be configured
#- Default: 1
#-
#- NUM_AXES - Optional: Max number of axes per controller
#- Default: 1
#-
#- POLL_RATE - Optional: Controller poll rate in hertz
#- Default: 10
#-
#- CURR[1-9] - Optional: Current settings for axes 1 through 9
#- Current equals 100mA * setting, maximum 800mA.
#- Default: 0 (off)
#- ###################################################
#-################################################
#- PI C-630 driver setup parameters:
#- Load PIC630Setup once.
#- (1) max # of controller groups. Controller groups are per serial port.
#- (2) max # axes per controller group. Maximum 9. (addr 1-9)
#- (3) motor task polling rate (min=1Hz, max=60Hz, 10Hz works well)
#- Example:
#- PIC630Setup(1, 2, 10) 1 group. 2 axes (controllers) in the group. 10Hz poll.
$(PI_C630_INIT_COMPLETE="") PIC630Setup($(MAX_CONTROLLERS=1), $(NUM_AXES=1), $(POLL_RATE=10))
# PI C630 serial connection settings
iocshLoad("$(IP)/iocsh/setSerialParams.iocsh", "PORT=$(PORT), BAUD=19200, BITS=8, STOP=1, PARITY=none")
asynOctetSetInputEos( "$(PORT)", -1, "\r")
asynOctetSetOutputEos("$(PORT)", -1, "\r")
#- PIC630 driver configuration parameters:
#- Load one PIC630Config for each group of PI C-630 drivers.
#- (1) "Controller group" number
#- (2) MPF card
#- (3)-(11) Current setting per axis (1-9). Leave at 0 if unused.
#- Choices: 0=OFF, 1=100mA, 2=200mA, ... 8=800mA.
#- Example:
#- PIC630Config(0, "serial1, 5, 3, 0, 0, 0, 0, 0, 0, 0")
#- Group 0, asyn serial port 1, Axis1=.5A, Axis2=.3A, others OFF
PIC630Config($(CONTROLLER=0), "$(PORT)", $(CURR1=0), $(CURR2=0), $(CURR3=0), $(CURR4=0), $(CURR5=0), $(CURR6=0), $(CURR7=0), $(CURR8=0), $(CURR9=0))
epicsEnvSet("PI_C630_INIT_COMPLETE", "#")
+28
View File
@@ -0,0 +1,28 @@
# ### PI_C867.iocsh ###
#- ###################################################
#- PORT - Serial port for communications
#- CONTROLLER - Optional: Which controller is being configured
#- Controller port name will be PIC867$(CONTROLLER)
#- Default: 0
#-
#- NUM_AXES - Optional: Max number of axes per controller
#- Default: 1
#-
#- MOVING_POLL - Optional: Moving poll rate (in msec)
#- Default: POLL_RATE
#-
#- IDLE_POLL - Optional: Idle poll rate (in msec)
#- Default: POLL_RATE
#-
#- POLL_RATE - Optional: Poll rate in msec
#- Default: 100
#- ###################################################
# PI C867 serial connection settings
iocshLoad("$(IP)/iocsh/setSerialParams.iocsh", "PORT=$(PORT), BAUD=38400, BITS=8, STOP=1, PARITY=none")
asynOctetSetInputEos( "$(PORT)", -1, "\n\r")
asynOctetSetOutputEos("$(PORT)", -1, "\n")
PI_GCS2_CreateController("PIC867$(CONTROLLER)", "$(PORT)", $(NUM_AXES=0), 0, 0, $(MOVING_POLL=$(POLL_RATE=100)), $(IDLE_POLL=$(POLL_RATE=100)))
+31
View File
@@ -0,0 +1,31 @@
# ### PI_E710.iocsh ###
#- ###################################################
#- PORT - Serial port for communications
#- CONTROLLER - Optional: Which controller is being configured
#- Default: 0
#-
#- MAX_CONTROLLERS - Optional: Max number of controllers that will be configured
#- Default: 1
#-
#- POLL_RATE - Optional: Controller poll rate in hertz
#- Default: 10
#- ###################################################
#- PI E-710 driver setup parameters:
#- (1) maximum # of controllers,
#- (2) motor task polling rate (min=1Hz, max=60Hz)
$(E710_INIT_COMPLETE="") PIE710Setup($(MAX_CONTROLLERS=1), $(POLL_RATE=10))
# PI E710 serial connection settings
iocshLoad("$(IP)/iocsh/setSerialParams.iocsh", "PORT=$(PORT), BAUD=9600, BITS=8, STOP=1, PARITY=none")
asynOctetSetInputEos( "$(PORT)", -1, "\n")
asynOctetSetOutputEos("$(PORT)", -1, "\n")
#- PI E-710 driver configuration parameters:
#- (1) controller
#- (2) asyn port name (e.g. serial1 or gpib1)
#- (3) GPIB address (0 for serial)
PIE710Config($(CONTROLLER=0), "$(PORT)", 0)
epicsEnvSet("E710_INIT_COMPLETE", "#")
+30
View File
@@ -0,0 +1,30 @@
# ### PI_E816.iocsh ###
#- ###################################################
#- PORT - Serial port for communications
#- CONTROLLER - Optional: Which controller is being configured
#- Default: 0
#-
#- MAX_CONTROLLERS - Optional: Max number of controllers that will be configured
#- Default: 1
#-
#- POLL_RATE - Optional: Controller poll rate in hertz
#- Default: 10
#- ###################################################
#- PI E-816 driver setup parameters:
#- (1) maximum number of controllers in system
#- (2) motor task polling rate (min=1Hz,max=60Hz)
$(E816_INIT_COMPLETE="") PIE816Setup($(MAX_CONTROLLERS=1), $(POLL_RATE=10))
# PI E816 serial connection settings
iocshLoad("$(IP)/iocsh/setSerialParams.iocsh", "PORT=$(PORT), BAUD=38400, BITS=8, STOP=1, PARITY=none, HANDSHAKE=hardware")
asynOctetSetInputEos( "$(PORT)", -1, "\n")
asynOctetSetOutputEos("$(PORT)", -1, "\n")
# PI E-816 driver configuration parameters:
# (1) controller# being configured,
# (2) ASYN port name
PIE816Config($(CONTROLLER=0), "$(PORT)")
epicsEnvSet("E816_INIT_COMPLETE", "#")
+10
View File
@@ -0,0 +1,10 @@
# ### allstop.iocsh ###
#- ###################################################
#- PREFIX - IOC Prefix
#- MOTOR - Location of motor module
#- ###################################################
#- Allstop, alldone
dbLoadRecords("$(MOTOR)/db/motorUtil.db", "P=$(PREFIX)")
doAfterIocInit("motorUtilInit('$(PREFIX)')")
+34
View File
@@ -0,0 +1,34 @@
# ### motorSim.iocsh ###
#- ###################################################
#- PREFIX - IOC Prefix
#- INSTANCE - Instance name, used to create the low-level driver drvet name
#- Combined with the controller number to create the asyn port name
#-
#- SUB - Optional: Subsitutions file (asyn_motor.db), Macros P, DTYP, PORT,
#- DHLM, DLLM, and INIT will be predefined.
#- Default: $(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions
#-
#- CONTROLLER - Optional: Which controller is being configured
#- Default: 0
#-
#- NUM_AXES - Optional: Number of axes on this controller
#- Default: 1
#-
#- LOW_LIM - Optional: Low Limit
#- Default: -32000
#-
#- HIGH_LIM - Optional: High Limit
#- Default: 32000
#-
#- HOME - Optional: Home position
#- Default: 0
#- ###################################################
# Create simulated motors: ( start card , start axis , low limit, high limit, home posn, # cards, # axes to setup)
motorSimCreate($(CONTROLLER=0), 0, $(LOW_LIM=-32000), $(HIGH_LIM=32000), $(HOME=0), 1, $(NUM_AXES=1))
# Setup the Asyn layer (portname, low-level driver drvet name, card, number of axes on card)
drvAsynMotorConfigure("$(INSTANCE)$(CONTROLLER=0)", "$(INSTANCE)", $(CONTROLLER=0), $(NUM_AXES=1))
dbLoadTemplate("$(SUB=$(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions", "P=$(PREFIX), DTYP='asynMotor', PORT=$(INSTANCE)$(CONTROLLER=0), DHLM=$(HIGH_LIM=32000), DLLM$(LOW_LIM=32000), INIT=\"\"")