diff --git a/iocsh/ACS_MCB4B.iocsh b/iocsh/ACS_MCB4B.iocsh new file mode 100644 index 00000000..cc24ccce --- /dev/null +++ b/iocsh/ACS_MCB4B.iocsh @@ -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))) diff --git a/iocsh/EXAMPLE_motorSim.substitutions b/iocsh/EXAMPLE_motorSim.substitutions new file mode 100644 index 00000000..eeaf8871 --- /dev/null +++ b/iocsh/EXAMPLE_motorSim.substitutions @@ -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} +} diff --git a/iocsh/McClennan_PM304.iocsh b/iocsh/McClennan_PM304.iocsh new file mode 100644 index 00000000..ee98bd8c --- /dev/null +++ b/iocsh/McClennan_PM304.iocsh @@ -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", "#") diff --git a/iocsh/Newfocus_PMNC87xx.iocsh b/iocsh/Newfocus_PMNC87xx.iocsh new file mode 100644 index 00000000..f05693ff --- /dev/null +++ b/iocsh/Newfocus_PMNC87xx.iocsh @@ -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", "#") diff --git a/iocsh/Newport_ESP300.iocsh b/iocsh/Newport_ESP300.iocsh new file mode 100644 index 00000000..e681164a --- /dev/null +++ b/iocsh/Newport_ESP300.iocsh @@ -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", "#") diff --git a/iocsh/Newport_MM4000.iocsh b/iocsh/Newport_MM4000.iocsh new file mode 100644 index 00000000..5b33aadd --- /dev/null +++ b/iocsh/Newport_MM4000.iocsh @@ -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", "#") diff --git a/iocsh/Newport_PM500.iocsh b/iocsh/Newport_PM500.iocsh new file mode 100644 index 00000000..bf37a272 --- /dev/null +++ b/iocsh/Newport_PM500.iocsh @@ -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", "#") diff --git a/iocsh/PI_C630.iocsh b/iocsh/PI_C630.iocsh new file mode 100644 index 00000000..b9aab5b3 --- /dev/null +++ b/iocsh/PI_C630.iocsh @@ -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", "#") diff --git a/iocsh/PI_C867.iocsh b/iocsh/PI_C867.iocsh new file mode 100644 index 00000000..39b04a22 --- /dev/null +++ b/iocsh/PI_C867.iocsh @@ -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))) diff --git a/iocsh/PI_E710.iocsh b/iocsh/PI_E710.iocsh new file mode 100644 index 00000000..b4bc2138 --- /dev/null +++ b/iocsh/PI_E710.iocsh @@ -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", "#") diff --git a/iocsh/PI_E816.iocsh b/iocsh/PI_E816.iocsh new file mode 100644 index 00000000..3007338c --- /dev/null +++ b/iocsh/PI_E816.iocsh @@ -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", "#") diff --git a/iocsh/allstop.iocsh b/iocsh/allstop.iocsh new file mode 100644 index 00000000..e611b504 --- /dev/null +++ b/iocsh/allstop.iocsh @@ -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)')") diff --git a/iocsh/motorSim.iocsh b/iocsh/motorSim.iocsh new file mode 100644 index 00000000..9af654ba --- /dev/null +++ b/iocsh/motorSim.iocsh @@ -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=\"\"")