Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
X
xxx-R6-1
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Deploy
Releases
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Issue analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
synApps_6_1_Working
xxx-R6-1
Commits
ea24ae7f
Commit
ea24ae7f
authored
21 years ago
by
rivers
Browse files
Options
Downloads
Patches
Plain Diff
Lots of changes for Unix/Linux
parent
ea5b3709
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
iocBoot/iocUnix/st.cmd
+190
-297
190 additions, 297 deletions
iocBoot/iocUnix/st.cmd
with
190 additions
and
297 deletions
iocBoot/iocUnix/st.cmd
+
190
−
297
View file @
ea24ae7f
#
vxWorks
startup
script
#
vxWorks
startup
script
#
for
vxStats
#
Read
environment
variables
#putenv
"engineer=not me"
<
envPaths
#putenv
"location=Earth"
engineer
=
"not me"
location
=
"Earth"
cd
""
<
../nfsCommands
<
cdCommands
#<
MPFconfig
.cmd
################################################################################
################################################################################
cd
topbin
#
Tell
EPICS
all
about
the
record
types
,
device
-support
modules
,
drivers
,
#
etc
.
in
the
software
we
just
loaded
(
xxx
.munch
)
dbLoadDatabase
(
"../../dbd/xxx.dbd"
)
xxx_registerRecordDeviceDriver
(
pdbbase
)
#
If
the
VxWorks
kernel
was
built
using
the
project
facility
,
the
following
must
#
Increase
size
of
buffer
for
error
logging
from
default
1256
#
be
added
before
any
C
++
code
is
loaded
(
see
SPR
#28980
)
.
errlogInit
(
5000
)
sysCplusEnable
=
1
#
##
Load
custom
EPICS
software
from
user
tree
and
from
share
#
debug
sseq
record
ld
<
xxx
.munch
#var
sseqRecDebug
,
10
#
Note
that
you
need
an
MPF
router
not
only
for
IP
modules
,
but
also
for
#
the
AIM
MCA
support
and
other
MPF
servers
routerInit
routerInit
#
talk
to
local
IP
's
localMessageRouterStart
(
0
)
localMessageRouterStart
(
0
)
# talk to IP'
s
on
satellite
processor
#
(
must
agree
with
tcpMessageRouterServerStart
in
st_proc1
.cmd
)
#
for
IP
modules
on
stand
-alone
mpf
server
board
#tcpMessageRouterClientStart
(
1
,
9900
,
Remote_IP
,
1500
,
40
)
#
For
processor
with
IP
slots
or
that
runs
a
dumb
IP
carrier
#ld
<
ip
.munch
#ld
<
mpfgpibserver
.munch
#ld
<
mpfserialserver
.munch
#ld
<
dac128V
.munch
#ld
<
ip330
.munch
#ld
<
ip330Serv
.munch
#ld
<
ipUnidig
.munch
#ld
<
loveServer
.o
#ld
<
mpcServer
.o
#
This
IOC
configures
the
MPF
server
code
locally
#cd
startup
#<
st_mpfserver
.cmd
#cd
topbin
#
For
local
OR
remote
GPIB
server
.
Can
't use both (as of mpfGpib1.4)
#ld < GpibHideosLocal.o
#ld < GpibHideosRemote.o
#
Set
up
2
local
serial
ports
initTtyPort
(
"serial1"
,
"/dev/ttyS0"
,
38400
,
"N"
,
1
,
8
,
"N"
,
1000
)
#
For
MM4000
initTtyPort
(
"serial2"
,
"/dev/ttyS1"
,
19200
,
"N"
,
1
,
8
,
"N"
,
1000
)
#
For
Keithley
2000
initSerialServer
(
"serial1"
,
"serial1"
,
1000
,
20
,
""
)
initSerialServer
(
"serial2"
,
"serial2"
,
1000
,
20
,
""
)
#
Set
up
4
serial
ports
on
remote
Moxa
terminal
server
#initInetPort
(
"serial3"
,
"164.54.160.50"
,
4001
,
1000
)
#initInetPort
(
"serial4"
,
"164.54.160.50"
,
4002
,
1000
)
#initInetPort
(
"serial5"
,
"164.54.160.50"
,
4003
,
1000
)
#initInetPort
(
"serial6"
,
"164.54.160.50"
,
4004
,
1000
)
#initSerialServer
(
"serial3"
,
"serial3"
,
1000
,
20
,
""
)
#initSerialServer
(
"serial4"
,
"serial4"
,
1000
,
20
,
""
)
#initSerialServer
(
"serial5"
,
"serial5"
,
1000
,
20
,
""
)
#initSerialServer
(
"serial6"
,
"serial6"
,
1000
,
20
,
""
)
###
dbrestore
setup
###
dbrestore
setup
#
ok
to
restore
a
save
set
that
had
missing
values
(
no
CA
connection
to
PV
)?
#
ok
to
restore
a
save
set
that
had
missing
values
(
no
CA
connection
to
PV
)?
sr_restore_incomplete_sets_ok
=
1
#var
sr_restore_incomplete_sets_ok
,
1
#
dbrestore
saves
a
copy
of
the
save
file
it
restored
.
File
name
is
,
e
.g.
,
#
dbrestore
saves
a
copy
of
the
save
file
it
restored
.
File
name
is
,
e
.g.
,
#
auto_settings
.sav.bu
or
auto_settings
.savYYMMDD
-HHMMSS
if
#
auto_settings
.sav.bu
or
auto_settings
.savYYMMDD
-HHMMSS
if
#
reboot_restoreDatedBU
is
nonzero
.
#
reboot_restoreDatedBU
is
nonzero
.
reboot_restoreDatedBU
=
1
;
#var
reboot_restoreDatedBU
,
1
set_savefile_path(startup, "autosave")
#
set_savefile_path
(
startup
,
"autosave"
)
set_requestfile_path
(
startup
,
""
)
set_requestfile_path
(
startup
,
""
)
set_requestfile_path
(
startup
,
"autosave"
)
set_requestfile_path
(
startup
,
"autosave"
)
set_requestfile_path
(
autosave
,
"autosaveApp/Db"
)
set_requestfile_path
(
calc
,
"calcApp/Db"
)
set_requestfile_path
(
ccd
,
"ccdApp/Db"
)
set_requestfile_path
(
dxp
,
"dxpApp/Db"
)
set_requestfile_path
(
ip
,
"ipApp/Db"
)
set_requestfile_path
(
ip
,
"ipApp/Db"
)
set_requestfile_path(
ip330, "ip330
App/Db")
set_requestfile_path
(
love
,
"love
App/Db"
)
set_requestfile_path
(
mca
,
"mcaApp/Db"
)
set_requestfile_path
(
mca
,
"mcaApp/Db"
)
set_requestfile_path(ipunidig, "ipUnidigApp/Db")
set_requestfile_path(dac128v, "dac128VApp/Db")
set_requestfile_path
(
motor
,
"motorApp/Db"
)
set_requestfile_path
(
motor
,
"motorApp/Db"
)
set_requestfile_path
(
optics
,
"opticsApp/Db"
)
set_requestfile_path
(
sscan
,
"sscanApp/Db"
)
set_requestfile_path
(
std
,
"stdApp/Db"
)
set_requestfile_path
(
std
,
"stdApp/Db"
)
reboot_restoreDebug=0
#var
reboot_restoreDebug
,
0
#
specify
what
save
files
should
be
restored
.
Note
these
files
must
be
reachable
# override address, interrupt vector, etc. information in module_types.h
#
from
the
directory
current
at
the
time
iocInit
is
run
#module_types()
set_pass0_restoreFile
(
"auto_positions.sav"
)
set_pass0_restoreFile
(
"auto_settings.sav"
)
set_pass1_restoreFile
(
"auto_settings.sav"
)
#
need
more
entries
in
wait
/scan-record
channel
-access
queue
?
#
need
more
entries
in
wait
/scan-record
channel
-access
queue
?
recDynLinkQsize
=
1024
#var
recDynLinkQsize
,
1024
#
Specify
largest
array
CA
will
transport
#
Specify
largest
array
CA
will
transport
#
Note
for
N
sscanRecord
data
points
,
need
(
N
+
1
)*
8
bytes
,
else
MEDM
#
Note
for
N
sscanRecord
data
points
,
need
(
N
+
1
)*
8
bytes
,
else
MEDM
#
plot
doesn
't display
#
plot
doesn
't display
putenv
"EPICS_CA_MAX_ARRAY_BYTES=64008"
epicsEnvSet EPICS_CA_MAX_ARRAY_BYTES 64008
cd
startup
################################################################################
#
Tell
EPICS
all
about
the
record
types
,
device
-support
modules
,
drivers
,
#
etc
.
in
the
software
we
just
loaded
(
xxx
.munch
)
dbLoadDatabase
(
"../../dbd/iocxxxVX.dbd"
)
iocxxxVX_registerRecordDeviceDriver
(
pdbbase
)
# Love Controllers
# Love Controllers
#devLoveDebug
=
1
#
var
devLoveDebug
,
1
#loveServerDebug
=
1
#
var
loveServerDebug
,
1
#dbLoadRecords("$(IP)/ipApp/Db/love.db", "P=xxx:,Q=Love_0,C=0,PORT=PORT2,ADDR=1");
#dbLoadRecords("$(IP)/ipApp/Db/love.db", "P=xxx:,Q=Love_0,C=0,PORT=PORT2,ADDR=1");
# interpolation
# interpolation
dbLoadRecords
(
"$(
STD)/std
App/Db/interp.db"
,
"P=xxx:"
)
dbLoadRecords("$(
CALC)/calc
App/Db/interp.db", "P=xxx:")
# X-ray Instrumentation Associates Huber Slit Controller
# X-ray Instrumentation Associates Huber Slit Controller
# supported by a customized version of the SNL program written by Pete Jemian
# supported by a customized version of the SNL program written by Pete Jemian
#dbLoadRecords
(
"$(
STD)/std
App/Db/xia_slit.db"
,
"P=xxx:, HSC=hsc1:"
)
#dbLoadRecords("$(
OPTICS)/optics
App/Db/xia_slit.db", "P=xxx:, HSC=hsc1:")
#dbLoadRecords
(
"$(
STD)/std
App/Db/xia_slit.db"
,
"P=xxx:, HSC=hsc2:"
)
#dbLoadRecords("$(
OPTICS)/optics
App/Db/xia_slit.db", "P=xxx:, HSC=hsc2:")
#dbLoadRecords
(
"$(IP)/ipApp/Db/generic_serial.db"
,
"P=xxx:,C=0,
IPSLOT=a,CHAN=6,BAUD=9600,PRTY=None,DBIT=8,SBIT=1
"
)
#dbLoadRecords("$(IP)/ipApp/Db/generic_serial.db", "P=xxx:,C=0,
SERVER=serial7
")
##### Pico Motors (Ernest Williams MHATT-CAT)
##### Pico Motors (Ernest Williams MHATT-CAT)
##### Motors (see picMot.substitutions in same directory as this file) ####
##### Motors (see picMot.substitutions in same directory as this file) ####
...
@@ -111,46 +96,22 @@ dbLoadRecords("$(STD)/stdApp/Db/interp.db", "P=xxx:")
...
@@ -111,46 +96,22 @@ dbLoadRecords("$(STD)/stdApp/Db/interp.db", "P=xxx:")
# Insertion-device control
# Insertion-device control
dbLoadRecords("$(STD)/stdApp/Db/IDctrl.db","P=xxx:,xx=02us")
dbLoadRecords("$(STD)/stdApp/Db/IDctrl.db","P=xxx:,xx=02us")
#
test
generic
gpib
record
#dbLoadRecords
(
"$(STD)/stdApp/Db/gpib.db"
,
"P=xxx:"
)
#
test
generic
camac
record
#dbLoadRecords
(
"$(STD)/stdApp/Db/camac.db"
,
"P=xxx:"
)
###############################################################################
###############################################################################
##### Motors (see motors.substitutions in same directory as this file) ####
##### Motors (see motors.substitutions in same directory as this file) ####
#dbLoadTemplate
(
"basic_motor.substitutions"
)
dbLoadTemplate("motor.substitutions")
dbLoadTemplate("motor.substitutions")
#
OMS
VME
driver
setup
parameters
:
#
(
1
)
cards
,
(
2
)
axes
per
card
,
(
3
)
base
address
(
short
,
16
-byte
boundary
),
#
(
4
)
interrupt
vector
(
0
=
disable
or
64
-
255
),
(
5
)
interrupt
level
(
1
-
6
),
#
(
6
)
motor
task
polling
rate
(
min
=
1
Hz
,
max
=
60
Hz
)
omsSetup
(
2
,
8
,
0xFC00
,
180
,
5
,
10
)
#
OMS
VME58
driver
setup
parameters
:
#
(
1
)
cards
,
(
2
)
axes
per
card
,
(
3
)
base
address
(
short
,
4
k
boundary
),
#
(
4
)
interrupt
vector
(
0
=
disable
or
64
-
255
),
(
5
)
interrupt
level
(
1
-
6
),
#
(
6
)
motor
task
polling
rate
(
min
=
1
Hz
,
max
=
60
Hz
)
oms58Setup
(
3
,
8
,
0x3000
,
190
,
5
,
10
)
#
Highland
V544
driver
setup
parameters
:
#
(
1
)
cards
,
(
2
)
axes
per
card
,
(
3
)
base
address
(
short
,
4
k
boundary
),
#
(
4
)
interrupt
vector
(
0
=
disable
or
64
-
255
),
(
5
)
interrupt
level
(
1
-
6
),
#
(
6
)
motor
task
polling
rate
(
min
=
1
Hz
,
max
=
60
Hz
)
#v544Setup
(
0
,
4
,
0xDD00
,
0
,
5
,
10
)
# Newport MM4000 driver setup parameters:
# Newport MM4000 driver setup parameters:
# (1) max. controllers, (2)Unused, (3)polling rate (min=1Hz,max=60Hz)
# (1) max. controllers, (2)Unused, (3)polling rate (min=1Hz,max=60Hz)
#
MM4000Setup
(
3
,
0
,
10
)
MM4000Setup(3, 0, 10)
# Newport MM4000 driver configuration parameters:
# Newport MM4000 driver configuration parameters:
# (1)controller# being configured,
# (1)controller# being configured,
# (2)port type: 0-GPIB_PORT or 1-RS232_PORT,
# (2)port type: 0-GPIB_PORT or 1-RS232_PORT,
# (3)GPIB link or MPF server location
# (3)GPIB link or MPF server location
#
(
4
)
GPIB
address
or
hideos_task
name
# (4)
GPIB address
(int) or mpf serial server name (string)
#
MM4000Config
(
0
,
1
,
1
,
"
a-S
erial
[0]
"
)
MM4000Config(0, 1,
0
, "
s
erial
1
")
# Newport PM500 driver setup parameters:
# Newport PM500 driver setup parameters:
# (1) maximum number of controllers in system
# (1) maximum number of controllers in system
...
@@ -161,10 +122,33 @@ oms58Setup(3, 8, 0x3000, 190, 5, 10)
...
@@ -161,10 +122,33 @@ oms58Setup(3, 8, 0x3000, 190, 5, 10)
# Newport PM500 configuration parameters:
# Newport PM500 configuration parameters:
# (1) card being configured
# (1) card being configured
# (2) port type (0-GPIB_PORT, 1-RS232_PORT)
# (2) port type (0-GPIB_PORT, 1-RS232_PORT)
#
(
3
)
link
for
GPIB
or
hideos_card
for
RS
-
232
# (3) GPIB link or MPF server location
#
(
3
)
GPIB
link
or
MPF
server
location
# (4) GPIB address (int) or mpf serial server name (string)
# (4) GPIB address (int) or mpf serial server name (string)
#PM500Config
(
0
,
1
,
1
,
"a-Serial[4]"
)
#PM500Config(0, 1, 0, "serial3")
# McClennan PM304 driver setup parameters:
# (1) maximum number of controllers in system
# (2) maximum number of channels on any controller
# (3) motor task polling rate (min=1Hz, max=60Hz)
#PM304Setup(1, 1, 10)
# McClennan PM304 driver configuration parameters:
# (1) controller being configured
# (2) MPF server location
# (3) MPF serial server name (string)
#PM304Config(0, 0, "serial4")
# ACS MCB-4B driver setup parameters:
# (1) maximum number of controllers in system
# (2) maximum number of axes per controller
# (3) motor task polling rate (min=1Hz, max=60Hz)
#MCB4BSetup(1, 4, 10)
# ACS MCB-4B driver configuration parameters:
# (1) controller being configured
# (2) MPF server location
# (3) MPF server name (string)
#MCB4BConfig(0, 0, "serial2")
# A set of scan parameters for each positioner. This is a convenience
# A set of scan parameters for each positioner. This is a convenience
# for the user. It can contain an entry for each scannable thing in the
# for the user. It can contain an entry for each scannable thing in the
...
@@ -173,75 +157,57 @@ dbLoadTemplate("scanParms.substitutions")
...
@@ -173,75 +157,57 @@ dbLoadTemplate("scanParms.substitutions")
###############################################################################
###############################################################################
###
Scalers
:
Joerger
VSC8
/16
dbLoadRecords
(
"$(STD)/stdApp/Db/Jscaler.db"
,
"P=xxx:,S=scaler1,C=0"
)
#
Joerger
VSC
setup
parameters
:
#
(
1
)
cards
,
(
2
)
base
address
(
ext
,
256
-byte
boundary
),
#
(
3
)
interrupt
vector
(
0
=
disable
or
64
-
255
)
VSCSetup
(
1
,
0x90000000
,
200
)
### Allstop, alldone
### Allstop, alldone
# This database must agree with the motors and other positioners you'
ve
actually
loaded
.
# This database must agree with the motors and other positioners you'
ve
actually
loaded
.
#
Several
versions
(
e
.g.
,
all_com_32
.db
)
are
in
stdApp
/Db
#
Several
versions
(
e
.g.
,
all_com_32
.db
)
are
in
stdApp
/Db
dbLoadRecords("$(STD)/stdApp/Db/all_com_
16
.db","P=xxx:")
dbLoadRecords
(
"$(STD)/stdApp/Db/all_com_
8
.db"
,
"P=xxx:"
)
###
Scan
-support
software
###
Scan
-support
software
#
crate
-resident
scan
.
This
executes
1
D
,
2
D
,
3
D
,
and
4
D
scans
,
and
caches
#
crate
-resident
scan
.
This
executes
1
D
,
2
D
,
3
D
,
and
4
D
scans
,
and
caches
#
1
D
data
,
but
it
doesn
't store anything to disk. (See '
saveData
' below for that.)
#
1
D
data
,
but
it
doesn
't store anything to disk. (See '
saveData
' below for that.)
dbLoadRecords
(
"$(S
TD)/std
App/Db/scan.db"
,
"P=xxx:,MAXPTS1=4000,MAXPTS2=200,MAXPTS3=10,MAXPTS4=10,MAXPTSH=4000"
)
dbLoadRecords("$(S
SCAN)/sscan
App/Db/scan.db","P=xxx:,MAXPTS1=4000,MAXPTS2=200,MAXPTS3=10,MAXPTS4=10,MAXPTSH=4000")
# Slits
# Slits
dbLoadRecords
(
"$(STD)/stdApp/Db/2slit.db"
,
"P=xxx:,SLIT=Slit1V,mXp=m3,mXn=m4"
)
dbLoadRecords("$(OPTICS)/opticsApp/Db/2slit.db","P=xxx:,SLIT=Slit1V,mXp=m3,mXn=m4")
dbLoadRecords
(
"$(STD)/stdApp/Db/2slit.db"
,
"P=xxx:,SLIT=Slit1H,mXp=m5,mXn=m6"
)
dbLoadRecords("$(OPTICS)/opticsApp/Db/2slit.db","P=xxx:,SLIT=Slit1H,mXp=m5,mXn=m6")
#
under
development
...
#dbLoadRecords
(
"$(STD)/stdApp/Db/2slit_soft.db"
,
"P=xxx:,SLIT=Slit2V,mXp=m13,mXn=m14"
)
#dbLoadRecords
(
"$(STD)/stdApp/Db/2slit_soft.db"
,
"P=xxx:,SLIT=Slit2H,mXp=m15,mXn=m16"
)
# 2-post mirror
# 2-post mirror
#dbLoadRecords
(
"$(
STD)/std
App/Db/2postMirror.db"
,
"P=xxx:,Q=M1,mDn=m1
8
,mUp=m
17
,LENGTH=0.3"
)
#dbLoadRecords("$(
OPTICS)/optics
App/Db/2postMirror.db","P=xxx:,Q=M1,mDn=m1,mUp=m
2
,LENGTH=0.3")
# User filters
# User filters
#dbLoadRecords
(
"$(STD)/stdApp/Db/filterMotor.db"
,
"P=xxx:,Q=fltr1:,MOTOR=m1,LOCK=fltr_1_2:"
)
#dbLoadRecords("$(OPTICS)/opticsApp/Db/filterMotor.db","P=xxx:,Q=fltr1:,MOTOR=m1,LOCK=fltr_1_2:")
#dbLoadRecords
(
"$(STD)/stdApp/Db/filterMotor.db"
,
"P=xxx:,Q=fltr2:,MOTOR=m2,LOCK=fltr_1_2:"
)
#dbLoadRecords("$(OPTICS)/opticsApp/Db/filterMotor.db","P=xxx:,Q=fltr2:,MOTOR=m2,LOCK=fltr_1_2:")
#dbLoadRecords
(
"$(STD)/stdApp/Db/filterLock.db"
,
"P=xxx:,Q=fltr2:,LOCK=fltr_1_2:,LOCK_PV=xxx:DAC1_1.VAL"
)
# Optical tables
# Optical tables
#tableRecordDebug
=
1
#
var
tableRecordDebug
,
1
dbLoadRecords
(
"$(
STD)/std
App/Db/table.db"
,
"P=xxx:,Q=Table1,T=table1,M0X=m1,M0Y=m2,M1Y=m3,M2X=m4,M2Y=m5,M2Z=m6,GEOM=SRI"
)
dbLoadRecords("$(
OPTICS)/optics
App/Db/table.db","P=xxx:,Q=Table1,T=table1,M0X=m1,M0Y=m2,M1Y=m3,M2X=m4,M2Y=m5,M2Z=m6,GEOM=SRI")
### Monochromator support ###
### Monochromator support ###
# Kohzu and PSL monochromators: Bragg and theta/Y/Z motors
# Kohzu and PSL monochromators: Bragg and theta/Y/Z motors
# standard geometry (geometry 1)
# standard geometry (geometry 1)
dbLoadRecords
(
"$(
STD)/std
App/Db/kohzuSeq.db"
,
"P=xxx:,M_THETA=m
9
,M_Y=m
10
,M_Z=m
11
,yOffLo=17.4999,yOffHi=17.5001"
)
dbLoadRecords("$(
OPTICS)/optics
App/Db/kohzuSeq.db","P=xxx:,M_THETA=m
1
,M_Y=m
2
,M_Z=m
3
,yOffLo=17.4999,yOffHi=17.5001")
# modified geometry (geometry 2)
# modified geometry (geometry 2)
dbLoadRecords
(
"$(
STD)/std
App/Db/kohzuSeq.db"
,
"P=xxx:,M_THETA=m
9
,M_Y=m
10
,M_Z=m
11
,yOffLo=4,yOffHi=36"
)
dbLoadRecords("$(
OPTICS)/optics
App/Db/kohzuSeq.db","P=xxx:,M_THETA=m
1
,M_Y=m
2
,M_Z=m
3
,yOffLo=4,yOffHi=36")
# Heidenhain ND261 encoder (for PSL monochromator)
# Heidenhain ND261 encoder (for PSL monochromator)
#dbLoadRecords
(
"$(IP)/ipApp/Db/heidND261.db"
,
"P=xxx:,C=0,IPSLOT=a,CHAN=0"
)
#dbLoadRecords("$(IP)/ipApp/Db/heidND261.db", "P=xxx:,C=0,SERVER=serial1")
#
Heidenhain
IK320
VME
encoder
interpolator
#dbLoadRecords
(
"$(STD)/stdApp/Db/IK320card.db"
,
"P=xxx:,sw2=card0:,axis=1,switches=41344,irq=3"
)
#dbLoadRecords
(
"$(STD)/stdApp/Db/IK320card.db"
,
"P=xxx:,sw2=card0:,axis=2,switches=41344,irq=3"
)
#dbLoadRecords
(
"$(STD)/stdApp/Db/IK320group.db"
,
"P=xxx:,group=5"
)
#drvIK320RegErrStr
()
# Spherical grating monochromator
# Spherical grating monochromator
dbLoadRecords
(
"$(
STD)/std
App/Db/SGM.db"
,
"P=xxx:,N=1,M_x=m
7
,M_rIn=m
6
,M_rOut=m
8
,M_g=m
9
"
)
dbLoadRecords("$(
OPTICS)/optics
App/Db/SGM.db","P=xxx:,N=1,M_x=m
1
,M_rIn=m
2
,M_rOut=m
3
,M_g=m
4
")
# 4-bounce high-resolution monochromator
# 4-bounce high-resolution monochromator
dbLoadRecords
(
"$(
STD)/std
App/Db/hrSeq.db"
,
"P=xxx:,N=1,M_PHI1=m
9
,M_PHI2=m
10
"
)
dbLoadRecords("$(
OPTICS)/optics
App/Db/hrSeq.db","P=xxx:,N=1,M_PHI1=m
1
,M_PHI2=m
2
")
#dbLoadRecords
(
"$(
STD)/std
App/Db/hrSeq.db"
,
"P=xxx:,N=2,M_PHI1=m1
1
,M_PHI2=m
1
2"
)
#dbLoadRecords("$(
OPTICS)/optics
App/Db/hrSeq.db","P=xxx:,N=2,M_PHI1=m1,M_PHI2=m2")
### Canberra AIM Multichannel Analyzer ###
### Canberra AIM Multichannel Analyzer ###
#mcaRecordDebug
=
1
#
var
mcaRecordDebug
,
1
#devMcaMpfDebug
=
1
#
var
devMcaMpfDebug
,
1
#mcaAIMServerDebug
=
1
#
var
mcaAIMServerDebug
,
1
#aimDebug
=
1
#
var
aimDebug
,
1
#icbDebug
=
1
#
var
icbDebug
,
1
#icbServerDebug
=
1
#
var
icbServerDebug
,
1
#icbDspDebug
=
1
#
var
icbDspDebug
,
1
#icbTcaDebug
=
1
#
var
icbTcaDebug
,
1
# AIMConfig(char *serverName, int etherAddr, int port, int maxChans,
# AIMConfig(char *serverName, int etherAddr, int port, int maxChans,
# int maxSignals, int maxSequences, char *etherDev, int queueSize)
# int maxSignals, int maxSequences, char *etherDev, int queueSize)
...
@@ -255,23 +221,32 @@ dbLoadRecords("$(STD)/stdApp/Db/hrSeq.db","P=xxx:,N=1,M_PHI1=m9,M_PHI2=m10")
...
@@ -255,23 +221,32 @@ dbLoadRecords("$(STD)/stdApp/Db/hrSeq.db","P=xxx:,N=1,M_PHI1=m9,M_PHI2=m10")
# or MCS module is in use, this must agree with hardware setting.)
# or MCS module is in use, this must agree with hardware setting.)
# maxSequences: How many sequences (usually, a sequence is a "time slice")?
# maxSequences: How many sequences (usually, a sequence is a "time slice")?
# etherDev: vxWorks device used to communicate over the network to AIM.
# etherDev: vxWorks device used to communicate over the network to AIM.
#
Typically
"e
i
0"
f
or
mv16x
,
mv17x
;
"dc0"
for
Motorola
PowerPC
# Typically "e
th
0" or
"eth1"
# queueSize: size of MPF message queue for this server (100 should be plenty)
# queueSize: size of MPF message queue for this server (100 should be plenty)
#
#
# EXAMPLE:
# EXAMPLE:
#
AIMConfig
(
"AIM1/2"
,
0x
9AA
,
2
,
2048
,
1
,
1
,
"dc0"
,
100
)
# AIMConfig("AIM1/2", 0x
59E
, 2, 2048, 1, 1, "dc0", 100)
AIMConfig
(
"AIM1/2"
,
0x
9AA
,
2
,
4000
,
1
,
1
,
"
dc
0"
,
100
)
AIMConfig("AIM1/2", 0x
59E
, 2, 4000, 1, 1, "
eth
0", 100)
dbLoadRecords("$(MCA)/mcaApp/Db/mca.db","P=xxx:,M=mca1,INP=#C0 S0 @AIM1/2,DTYPE=MPF MCA,NCHAN=4000")
dbLoadRecords("$(MCA)/mcaApp/Db/mca.db","P=xxx:,M=mca1,INP=#C0 S0 @AIM1/2,DTYPE=MPF MCA,NCHAN=4000")
# Initialize ICB software, and create a new ICB server
# Initialize ICB software, and create a new ICB server
# icbSetup(const char *serverName, int maxModules, int queueSize)
# icbSetup(const char *serverName, int maxModules, int queueSize)
#
# serverName: defined here, must agree with icbConfig and dbLoadRecords commands
# maxModules: Maximum number of ICB modules that this server will control
# queueSize: size of MPF message queue for this server (100 should be plenty)
icbSetup("icb/1", 10, 100)
icbSetup("icb/1", 10, 100)
#
Configure
the
new
ICB
server
# Configure an ICB module on this server
#
icbConfig
(
const
char
*
serverName
,
int
module
,
int
enetAddress
,
int
icbAddress
)
# icbConfig(const char *serverName, int module, int etherAddr, int icbAddress)
icbConfig
(
"icb/1"
,
0
,
0x9AA
,
3
)
#
# serverName: defined in icbSetup above
# module: the index number for this module (0,1,2...)
# etherAddr: ethernet address of AIM module
# icbAddress: ICB address of this module (set with internal rotary switch, 0x0-0xF)
icbConfig("icb/1", 0, 0x59E, 5)
# In dbLoadRecords commands for ICB devices
# In dbLoadRecords commands for ICB devices
# CARD = (0,1) for (local/remote),
# CARD = (0,1) for (local/remote),
...
@@ -280,206 +255,138 @@ icbConfig("icb/1", 0, 0x9AA, 3)
...
@@ -280,206 +255,138 @@ icbConfig("icb/1", 0, 0x9AA, 3)
dbLoadRecords("$(MCA)/mcaApp/Db/icb_adc.db","P=xxx:,ADC=icbAdc1,CARD=0,SERVER=icb/1,ADDR=0")
dbLoadRecords("$(MCA)/mcaApp/Db/icb_adc.db","P=xxx:,ADC=icbAdc1,CARD=0,SERVER=icb/1,ADDR=0")
#
icbConfig
(
"icb/1"
,
2
,
0x
9AA
,
2
)
icbConfig("icb/1",
1
, 0x
59E
, 2)
#
dbLoadRecords
(
"$(MCA)/mcaApp/Db/icb_hvps.db"
,
"P=xxx:,HVPS=icbHvps1,CARD=0,SERVER=icb/1,ADDR=
2
"
)
dbLoadRecords("$(MCA)/mcaApp/Db/icb_hvps.db","P=xxx:,HVPS=icbHvps1,CARD=0,SERVER=icb/1,ADDR=
1,LIMIT=1000
")
#
icbConfig
(
"icb/1"
,
3
,
0x
9AA
,
4
)
icbConfig("icb/1",
2
, 0x
59E
,
3
)
#
dbLoadRecords
(
"$(MCA)/mcaApp/Db/icb_amp.db"
,
"P=xxx:,AMP=icbAmp1,CARD=0,SERVER=icb/1,ADDR=
4
"
)
dbLoadRecords("$(MCA)/mcaApp/Db/icb_amp.db","P=xxx:,AMP=icbAmp1,CARD=0,SERVER=icb/1,ADDR=
2
")
# icbTcaSetup(char *serverName, int maxModules, int queueSize)
# icbTcaSetup(char *serverName, int maxModules, int queueSize)
#
icbTcaConfig
(
char
*
serverName
,
int
module
,
int
enetAddress
,
int
icbAddress
)
#
# serverName: defined here, must agree with icbTcaConfig and dbLoadRecords commands
# maxModules: Maximum number of TCA modules that this server will control
# queueSize: size of MPF message queue for this server (100 should be plenty)
#
icbTcaSetup
(
"icbTca/1"
,
3
,
100
)
icbTcaSetup("icbTca/1", 3, 100)
#
icbTcaConfig
(
"icbTca/1"
,
0
,
0x9AA
,
1
)
#dbLoadRecords
(
"$(MCA)/mcaApp/Db/icb_tca.db"
,
"P=xxx:,TCA=icbTca1,MCA=mca1,CARD=0,SERVER=icbTca/1,ADDR=0"
)
#
Load
13
element
detector
software
# icbTcaConfig(char *serverName, int module, int etherAddr, int icbAddress)
#<
13
element
.cmd
#
# serverName: defined in icbTcaSetup above
# module: the index number for this module (0,1,2...)
# etherAddr: ethernet address of AIM module
# icbAddress: ICB address of this module (set with internal rotary switch, 0x0-0xF)
#
Load
3
element
detector
software
icbTcaConfig("icbTca/1", 0, 0x59E, 8)
#<
3
element
.cmd
dbLoadRecords("$(MCA)/mcaApp/Db/icb_tca.db","P=xxx:,TCA=icbTca1,MCA=mca1,CARD=0,SERVER=icbTca/1,ADDR=0")
###
Struck
7201
multichannel
scaler
(
same
as
SIS
3806
multichannel
scaler
)
# icbDspSetup(char *serverName, int maxModules, int queueSize)
#
# serverName: defined here, must agree with icbDspConfig and dbLoadRecords commands
# maxModules: Maximum number of DSP 9660 modules that this server will control
# queueSize: size of MPF message queue for this server (100 should be plenty)
#mcaRecordDebug
=
10
icbDspSetup("icbDsp/1", 3, 100)
#devSTR7201Debug
=
10
#drvSTR7201Debug
=
10
#
dbLoadRecords
(
"$(MCA)/mcaApp/Db/Struck8.db"
,
"P=xxx:mcs:"
)
#
icbDspConfig(char *serverName, int module, int etherAddr, int icbAddress
)
#
dbLoadRecords
(
"$(MCA)/mcaApp/Db/simple_mca.db"
,
"P=xxx:mcs:,M=mca1,DTYP=Struck STR7201 MCS,PREC=3,INP=#C0 S0 @,CHANS=1000"
)
#
#
dbLoadRecords
(
"$(MCA)/mcaApp/Db/simple_mca.db"
,
"P=xxx:mcs:,M=mca2,DTYP=Struck STR7201 MCS,PREC=3,INP=#C0 S1 @,CHANS=1000"
)
#
serverName: defined in icbDspSetup above
#
dbLoadRecords
(
"$(MCA)/mcaApp/Db/simple_mca.db"
,
"P=xxx:mcs:,M=mca3,DTYP=Struck STR7201 MCS,PREC=3,INP=#C0 S2 @,CHANS=1000"
)
#
module: the index number for this module (0,1,2...
)
#
dbLoadRecords
(
"$(MCA)/mcaApp/Db/simple_mca.db"
,
"P=xxx:mcs:,M=mca4,DTYP=Struck STR7201 MCS,PREC=3,INP=#C0 S3 @,CHANS=1000"
)
#
etherAddr: ethernet address of AIM module
#
dbLoadRecords
(
"$(MCA)/mcaApp/Db/simple_mca.db"
,
"P=xxx:mcs:,M=mca5,DTYP=Struck STR7201 MCS,PREC=3,INP=#C0 S4 @,CHANS=1000"
)
#
icbAddress: ICB address of this module (set with internal rotary switch, 0x0-0xF
)
#dbLoadRecords
(
"$(MCA)/mcaApp/Db/simple_mca.db"
,
"P=xxx:mcs:,M=mca6,DTYP=Struck STR7201 MCS,PREC=3,INP=#C0 S5 @,CHANS=1000"
)
#dbLoadRecords
(
"$(MCA)/mcaApp/Db/simple_mca.db"
,
"P=xxx:mcs:,M=mca7,DTYP=Struck STR7201 MCS,PREC=3,INP=#C0 S6 @,CHANS=1000"
)
icbDspConfig("icbDsp/1", 0, 0x59E, 6
)
#
dbLoadRecords
(
"$(MCA)/mcaApp/Db/
simple_mca
.db"
,
"P=xxx:
mcs:,M=mca8,DTYP=Struck STR7201 MCS,PREC=3,INP=#C0 S7 @,CHANS=100
0"
)
dbLoadRecords("$(MCA)/mcaApp/Db/
icbDsp
.db",
"P=xxx:
,DSP=dsp1,CARD=0,SERVER=icbDsp/1,ADDR=
0")
#
STR7201Setup
(
int
numCards
,
int
baseAddress
,
int
interruptVector
,
int
interruptLevel
)
# Load 13 element detector software
#STR7201Setup
(
2
,
0xA0000000
,
210
,
6
)
#< 13element.cmd
#
STR7201Config
(
int
card
,
int
maxSignals
,
int
maxChans
,
int
1
=
enable
internal
25
MHZ
clock
)
#STR7201Config
(
0
,
8
,
1000
,
0
)
#
##
Acromag
IP330
in
sweep
mode
###
#
Load 3 element detector software
#
dbLoadRecords
(
"$(MCA)/mcaApp/Db/mca.db"
,
"P=xxx:,M=mADC_1,DTYPE=ip330Sweep,NCHAN=2048,INP=#C0 S0 @d-Ip330Sweep"
)
#
< 3element.cmd
### Stuff for user programming ###
### Stuff for user programming ###
dbLoadRecords
(
"$(
STD)/std
App/Db/userCalcs10.db"
,
"P=xxx:"
)
dbLoadRecords("$(
CALC)/calc
App/Db/userCalcs10.db","P=xxx:")
dbLoadRecords
(
"$(
STD)/std
App/Db/userStringCalcs10.db"
,
"P=xxx:"
)
dbLoadRecords("$(
CALC)/calc
App/Db/userStringCalcs10.db","P=xxx:")
dbLoadRecords
(
"$(
STD)/std
App/Db/userTransforms10.db"
,
"P=xxx:"
)
dbLoadRecords("$(
CALC)/calc
App/Db/userTransforms10.db","P=xxx:")
# extra userCalcs (must also load userCalcs10.db for the enable switch)
# extra userCalcs (must also load userCalcs10.db for the enable switch)
dbLoadRecords
(
"$(
STD)/std
App/Db/userCalcN.db"
,
"P=xxx:,N=I_Detector"
)
dbLoadRecords("$(
CALC)/calc
App/Db/userCalcN.db","P=xxx:,N=I_Detector")
dbLoadRecords
(
"$(
STD)/std
App/Db/userAve10.db"
,
"P=xxx:"
)
#
dbLoadRecords("$(
CALC)/calc
App/Db/userAve10.db","P=xxx:")
# string sequence (sseq) record
# string sequence (sseq) record
dbLoadRecords("$(STD)/stdApp/Db/yySseq.db","P=xxx:,S=Sseq1")
dbLoadRecords("$(STD)/stdApp/Db/yySseq.db","P=xxx:,S=Sseq1")
dbLoadRecords("$(STD)/stdApp/Db/yySseq.db","P=xxx:,S=Sseq2")
dbLoadRecords("$(STD)/stdApp/Db/yySseq.db","P=xxx:,S=Sseq2")
dbLoadRecords("$(STD)/stdApp/Db/yySseq.db","P=xxx:,S=Sseq3")
dbLoadRecords("$(STD)/stdApp/Db/yySseq.db","P=xxx:,S=Sseq3")
# 4-step measurement
# 4-step measurement
dbLoadRecords
(
"$(STD)/stdApp/Db/4step.db"
,
"P=xxx:"
)
#
dbLoadRecords("$(STD)/stdApp/Db/4step.db", "P=xxx:")
### serial support ###
### serial support ###
# generic serial ports
# generic serial ports
#dbLoadRecords
(
"$(IP)/ipApp/Db/generic_serial.db"
,
"P=xxx:,C=0,IPSLOT=a,CHAN=0,BAUD=9600,PRTY=None,DBIT=8,SBIT=1"
)
dbLoadRecords("$(IP)/ipApp/Db/generic_serial.db", "P=xxx:,C=0,SERVER=serial1")
dbLoadRecords("$(IP)/ipApp/Db/generic_serial.db", "P=xxx:,C=0,SERVER=serial2")
# serial O/I block (generic serial record with format and parse string calcs)
# serial O/I block (generic serial record with format and parse string calcs)
# on epics/mpf processor
# on epics/mpf processor
#dbLoadRecords
(
"$(IP)/ipApp/Db/serial_OI_block.db"
,
"P=xxx:,N=0_1,C=0,
IPSLOT=a,CHAN=4
"
)
#dbLoadRecords("$(IP)/ipApp/Db/serial_OI_block.db","P=xxx:,N=0_1,C=0,
SERVER=serial5
")
# on stand-alone mpf processor
# on stand-alone mpf processor
#dbLoadRecords
(
"$(IP)/ipApp/Db/serial_OI_block.db"
,
"P=xxx:,N=1_1,C=0,
IPSLOT=a,CHAN=4
"
)
#dbLoadRecords("$(IP)/ipApp/Db/serial_OI_block.db","P=xxx:,N=1_1,C=0,
SERVER=serial5
")
# Stanford Research Systems SR570 Current Preamplifier
# Stanford Research Systems SR570 Current Preamplifier
#dbLoadRecords
(
"$(IP)/ipApp/Db/SR570.db"
,
"P=xxx:,A=A1,C=0,
IPSLOT=a,CHAN=0
"
)
#dbLoadRecords("$(IP)/ipApp/Db/SR570.db", "P=xxx:,A=A1,C=0,
SERVER=serial1
")
# Lakeshore DRC-93CA Temperature Controller
# Lakeshore DRC-93CA Temperature Controller
#dbLoadRecords
(
"$(IP)/ipApp/Db/LakeShoreDRC-93CA.db"
,
"P=xxx:,Q=TC1,C=0,
IPSLOT=a,CHAN=3
"
)
#dbLoadRecords("$(IP)/ipApp/Db/LakeShoreDRC-93CA.db", "P=xxx:,Q=TC1,C=0,
SERVER=serial4
")
# Huber DMC9200 DC Motor Controller
# Huber DMC9200 DC Motor Controller
#dbLoadRecords
(
"$(IP)/ipApp/Db/HuberDMC9200.db"
,
"P=xxx:,Q=DMC1:,C=0,
IPSLOT=a,CHAN=
5"
)
#dbLoadRecords("$(IP)/ipApp/Db/HuberDMC9200.db", "P=xxx:,Q=DMC1:,C=0,
SERVER=serial
5")
# Oriel 18011 Encoder Mike
# Oriel 18011 Encoder Mike
#dbLoadRecords
(
"$(IP)/ipApp/Db/eMike.db"
,
"P=xxx:,M=em1,C=0,
IPSLOT=a,CHAN=2
"
)
#dbLoadRecords("$(IP)/ipApp/Db/eMike.db", "P=xxx:,M=em1,C=0,
SERVER=serial3
")
# Keithley 2000 DMM
# Keithley 2000 DMM
#
dbLoadRecords
(
"$(IP)/ipApp/Db/Keithley2kDMM_mf.db"
,
"P=xxx:,Dmm=D1,C=
1,IPSLOT=a,CHAN=0
"
)
dbLoadRecords("$(IP)/ipApp/Db/Keithley2kDMM_mf.db","P=xxx:,Dmm=D1,C=
0,SERVER=serial2
")
# Oxford Cyberstar X1000 Scintillation detector and pulse processing unit
# Oxford Cyberstar X1000 Scintillation detector and pulse processing unit
#dbLoadRecords
(
"$(IP)/ipApp/Db/Oxford_X1k.db"
,
"P=xxx:,S=s1,C=0,
IPSLOT=a,CHAN=3
"
)
#dbLoadRecords("$(IP)/ipApp/Db/Oxford_X1k.db","P=xxx:,S=s1,C=0,
SERVER=serial4
")
# Oxford ILM202 Cryogen Level Meter (Serial)
# Oxford ILM202 Cryogen Level Meter (Serial)
#dbLoadRecords
(
"$(IP)/ipApp/Db/Oxford_ILM202.db"
,
"P=xxx:,S=s1,C=0,IPSLOT=c,CHAN=2"
)
#dbLoadRecords("$(IP)/ipApp/Db/Oxford_ILM202.db","P=xxx:,S=s1,C=0,SERVER=serial5")
###
GPIB
support
###
#
GPIB
O
/I
block
(
generic
gpib
record
with
format
and
parse
string
calcs
)
#
See
HiDEOSGpibLinkConfig
()
below
.
#dbLoadRecords
(
"$(IP)/ipApp/Db/GPIB_OI_block.db"
,
"P=xxx:,N=1,L=10"
)
#
Heidenhain
AWE1024
at
GPIB
address
$
(
A
)
#dbLoadRecords
(
"$(IP)/ipApp/Db/HeidAWE1024.db"
,
"P=xxx:,L=10,A=6"
)
#
Keithley
199
DMM
at
GPIB
address
$
(
A
)
#dbLoadRecords
(
"$(STD)/stdApp/Db/KeithleyDMM.db"
,
"P=xxx:,L=10,A=26"
)
###
Miscellaneous
###
#
Systran
DAC
database
#dbLoadRecords
(
"$(IP)/ipApp/Db/DAC.db"
,
"P=xxx:,D=1,C=1,N=1,S=0,IPSLOT=c"
)
#dbLoadRecords
(
"$(IP)/ipApp/Db/DAC.db"
,
"P=xxx:,D=1,C=1,N=2,S=1,IPSLOT=c"
)
#dbLoadRecords
(
"$(IP)/ipApp/Db/DAC.db"
,
"P=xxx:,D=1,C=1,N=3,S=2,IPSLOT=c"
)
#dbLoadRecords
(
"$(IP)/ipApp/Db/DAC.db"
,
"P=xxx:,D=1,C=1,N=4,S=3,IPSLOT=c"
)
#dbLoadRecords
(
"$(IP)/ipApp/Db/DAC.db"
,
"P=xxx:,D=1,C=1,N=5,S=4,IPSLOT=c"
)
#dbLoadRecords
(
"$(IP)/ipApp/Db/DAC.db"
,
"P=xxx:,D=1,C=1,N=6,S=5,IPSLOT=c"
)
#dbLoadRecords
(
"$(IP)/ipApp/Db/DAC.db"
,
"P=xxx:,D=1,C=1,N=7,S=6,IPSLOT=c"
)
#dbLoadRecords
(
"$(IP)/ipApp/Db/DAC.db"
,
"P=xxx:,D=1,C=1,N=8,S=7,IPSLOT=c"
)
#
vme
test
record
dbLoadRecords
(
"$(STD)/stdApp/Db/vme.db"
,
"P=xxx:,Q=vme1"
)
#
Hewlett
-Packard
10895
A
Laser
Axis
(
interferometer
)
#dbLoadRecords
(
"$(STD)/stdApp/Db/HPLaserAxis.db"
,
"P=xxx:,Q=HPLaser1, C=0"
)
#
hardware
configuration
#
example
:
devHP10895LaserAxisConfig
(
ncards
,
a16base
)
#devHPLaserAxisConfig
(
2
,
0x1000
)
#
Acromag
general
purpose
Digital
I
/O
#dbLoadRecords
(
"$(STD)/stdApp/Db/Acromag_16IO.db"
,
"P=xxx:, A=1"
)
#
Acromag
AVME9440
setup
parameters
:
#
devAvem9440Config
(
ncards
,
a16base
,
intvecbase
)
#devAvme9440Config
(
1
,
0x0400
,
0x78
)
# Miscellaneous PV'
s
,
such
as
burtResult
# Miscellaneous PV'
s
,
such
as
burtResult
dbLoadRecords
(
"$(STD)/stdApp/Db/misc.db"
,
"P=xxx:"
)
dbLoadRecords
(
"$(STD)/stdApp/Db/misc.db"
,
"P=xxx:"
)
#dbLoadRecords("$(STD)/stdApp/Db/VXstats.db","P=xxx:")
# vxStats
dbLoadTemplate("vxStats.substitutions")
#
Elcomat
autocollimator
#
Elcomat
autocollimator
#dbLoadRecords("$(IP)/ipApp/Db/Elcomat.db", "P=xxx:,C=0,IPSLOT=a,CHAN=7")
#dbLoadRecords
(
"$(IP)/ipApp/Db/Elcomat.db"
,
"P=xxx:,C=0,SERVER=serial8"
)
# Bunch-clock generator
#dbLoadRecords("$(STD)/stdApp/Db/BunchClkGen.db","P=xxx:")
#dbLoadRecords("$(STD)/stdApp/Db/BunchClkGenA.db", "UNIT=xxx", std)
# hardware configuration
# example: BunchClkGenConfigure(intCard, unsigned long CardAddress)
#BunchClkGenConfigure(0, 0x8c00)
###
Queensgate
piezo
driver
###
Queensgate
piezo
driver
#dbLoadRecords("$(
STD)/std
App/Db/pzt_3id.db","P=xxx:")
#dbLoadRecords
(
"$(
IP)/ip
App/Db/pzt_3id.db"
,
"P=xxx:"
)
#dbLoadRecords("$(
STD)/std
App/Db/pzt.db","P=xxx:")
#dbLoadRecords
(
"$(
IP)/ip
App/Db/pzt.db"
,
"P=xxx:"
)
### GP307 Vacuum Controller
#
Eurotherm
temp
controller
#dbLoadRecords("$(STD)/stdApp/Db/gp307.db","P=xxx:")
#dbLoadRecords
(
"$(IP)/ipApp/Db/Eurotherm.db"
,
"P=xxx:,C=0,SERVER=serial7"
)
#var
devAoEurothermDebug
,
20
### Queensgate Nano2k piezo controller
#
MKS
vacuum
gauges
#dbLoadRecords("$(STD)/stdApp/Db/Nano2k.db","P=xxx:,S=s1")
#dbLoadRecords
(
"$(IP)/ipApp/Db/MKS.db"
,
"P=xxx:,C=0,SERVER=serial2,CC1=cc1,CC2=cc3,PR1=pr1,PR2=pr3"
)
#
PI
Digitel
500
/1500
pump
#dbLoadRecords
(
"$(IP)/ipApp/Db/Digitel.db"
,
"xxx:,PUMP=ip1,C=0,SERVER=serial3"
)
#
PI
MPC
ion
pump
#dbLoadRecords
(
"$(IP)/ipApp/Db/MPC.db"
,
"P=xxx:,PUMP=ip2,C=0,SERVER=serial4,PA=0,PN=1"
)
#
PI
MPC
TSP
(
titanium
sublimation
pump
)
#dbLoadRecords
(
"$(IP)/ipApp/Db/TSP.db"
,
"P=xxx:,TSP=tsp1,C=0,SERVER=serial4,PA=0"
)
# Eurotherm temp controller
#
Slow
feedback
#dbLoadRecords("$(IP)/ipApp/Db/Eurotherm.db","P=xxx:,C=0,IPSLOT=a,CHAN=6")
#dbLoadTemplate
(
"pid_slow.substitutions"
)
#devAoEurothermDebug=20
# Analog I/O (Acromag IP330 ADC)
#dbLoadTemplate("ip330Scan.substitutions")
# Machine-status board (MRD 100)
#####################################################
# dev32VmeConfig(card,a32base,nreg,iVector,iLevel)
# card = card number
# a32base = base address of card
# nreg = number of A32 registers on this card
# iVector = interrupt vector (MRD100 Only
!!
)
# iLevel = interrupt level (MRD100 Only
!!
)
# For Example
# devA32VmeConfig(0, 0x80000000, 44, 0, 0)
#####################################################
# Configure the MSL MRD 100 module.....
#devA32VmeConfig(0, 0xa0000200, 30, 0xa0, 5)
# VVVVVVVVVVVVVVVVVVVVV This doesn'
t
look
right
(
tmm
)
#dbLoadRecords
(
"$(STD)/stdApp/Db/msl_mrd100.db"
,
"C=0,S=01,ID1=00,ID2=00us"
)
###
Bit
Bus
configuration
#
BBConfig
(
Link
,
LinkType
,
BaseAddr
,
IrqVector
,
IrqLevel
)
#
Link
:
?
#
LinkType
:
0
:hosed
;
1
:xycom
;
2
:pep
#BBConfig
(
3
,
1
,
0x2400
,
0xac
,
5
)
###############################################################################
###############################################################################
#
Set
shell
prompt
(
otherwise
it
is
left
at
mv167
or
mv162
)
shellPromptSet
"iocxxx> "
iocLogDisable
=
1
iocInit
iocInit
###
startup
State
Notation
Language
programs
###
startup
State
Notation
Language
programs
seq
&
kohzuCtl
,
"P=xxx:, M_THETA=m
9
, M_Y=m
10
, M_Z=m
11
, GEOM=1, logfile=kohzuCtl.log"
seq
&
kohzuCtl
,
"P=xxx:, M_THETA=m
1
, M_Y=m
2
, M_Z=m
3
, GEOM=1, logfile=kohzuCtl.log"
seq
&
hrCtl
,
"P=xxx:, N=1, M_PHI1=m
9
, M_PHI2=m
10
, logfile=hrCtl1.log"
seq
&
hrCtl
,
"P=xxx:, N=1, M_PHI1=m
1
, M_PHI2=m
2
, logfile=hrCtl1.log"
#
Keithley
2000
series
DMM
#
Keithley
2000
series
DMM
#
channels
:
10
,
20
,
or
22
;
model
:
2000
or
2700
#
channels
:
10
,
20
,
or
22
;
model
:
2000
or
2700
#seq
&
Keithley2kDMM
,(
"P=xxx:, Dmm=D1, channels=20, model=2000"
)
seq
&
Keithley2kDMM
,(
"P=xxx:, Dmm=D1, channels=10, model=2000"
)
#
Bunch
clock
generator
#seq
&
getFillPat
,
"unit=xxx"
#
X
-ray
Instrumentation
Associates
Huber
Slit
Controller
#
X
-ray
Instrumentation
Associates
Huber
Slit
Controller
#
supported
by
a
SNL
program
written
by
Pete
Jemian
and
modified
(
TMM
)
for
use
with
the
#
supported
by
a
SNL
program
written
by
Pete
Jemian
and
modified
(
TMM
)
for
use
with
the
...
@@ -498,17 +405,3 @@ create_monitor_set("auto_positions.req",5,"P=xxx:")
...
@@ -498,17 +405,3 @@ create_monitor_set("auto_positions.req",5,"P=xxx:")
# save other things every thirty seconds
# save other things every thirty seconds
create_monitor_set("auto_settings.req",30,"P=xxx:")
create_monitor_set("auto_settings.req",30,"P=xxx:")
### Start the saveData task.
# saveData_MessagePolicy
# 0: wait forever for space in message queue, then send message
# 1: send message only if queue is not full
# 2: send message only if queue is not full and specified time has passed (SetCptWait()
# sets this time.)
# 3: if specified time has passed, wait for space in queue, then send message
# else: don'
t
send
message
#debug_saveData
=
2
saveData_MessagePolicy
=
2
saveData_SetCptWait_ms
(
100
)
saveData_Init
(
"saveData.req"
,
"P=xxx:"
)
#saveData_PrintScanInfo
(
"xxx:scan1"
)
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment