debug macro, 128def command, 45, 68, 90–93Default count time, 140deg() function, 68, 119delete command, 68, 89Device names, <strong>spec</strong>ifying–204. See also HardwareconfigurationDiagnostic commands, 26Dial positions (angles), 8, 28listed in degrees, 30returning, 104setting, 105dial() function, 68, 104Diffractometerangle settings, 5configuration, maintaining, 202four-circlealignment, 166cut points, 174functions, 177geometry for operating, 31macros, 178–79modes–71orientation matrix for, 168–68reference manual for, 165–83sectors, 173<strong>spec</strong> support of, 22variables, 175–77geometry,31–32liquid surfacegeometry for operating, 31<strong>spec</strong> support of, 22operation, beginner’s guide to, 4–13two-circleoperated by angles alone, 31<strong>spec</strong> support of, 22z-axisgeometry for operating, 31<strong>spec</strong> support of, 22Directory, <strong>spec</strong>, 198–99/usr/lib/<strong>spec</strong>.d for auxiliary files, 58, 199/usr/local/lib/<strong>spec</strong>.d for auxiliary files, 4changing, 28, 69data,134distribution, 188, 197drivers for driver files, 193help,27macros for macro source files, 123, 175DISPLAY built-in variable, 57do macro, 26, 123, 130dofile() function, 25, 68, 83Drivers, installing, 193dscan macro, 12, 36, 146DSP 6001/6002 CAMAC crate controller, 193DSP PC004 IBM PC interface card, 193DSP RTC018 Real-Time Clock, wiring, 253Eed macro, 127edconf program (configuration editor)to maintain diffractometer configuration, 202to set dial and user settings, 30, 194else statement, 21energy.mac file, 123eprint command, 68, 83, 86eprintf() function, 68, 83, 86Escape sequences for string constants, 49Executor, 45exit statement, 63exp() function, 68, 118exp10() function, 68, 118Experiments, automating, 3Ffabs() function, 68, 118Fheader macro, 148, 149, 160File hierarchy, typical <strong>spec</strong>, 198–99File(s)ASCIIcommand file as, 25configuration file as, 203data file as, 22, 35, 162auxiliarydirectory for, 4command, 25for least-squares refinement of lattice parameters,180–83input, 45reading from, 83–84, 130startup, 5, 124configuration (config)baud rate for serial lines in, 97device numbers set in, 97installed hardware described in, 94modifying, 128, 203motor mnemonics in, 59permission levels for security of, 210purpose of, 199reading, 5–5, 99security through motor restrictions in, 210slot assignments in, 95, 204–105updating, 128, 197dataadding scan results to, 149ASCII, standard format for, 22, 162controlling output to, 17–18inserting comments in, 7270 INDEX INTERIM WORK-IN-PROGRESS (8/16/01) NOT FOR GENERAL DISTRIBUTION
opening, 6selecting, 6standard format for, 35–36, 162summary scan information from, 40width for columns, 157distribution, 188functions for opening and closing, 81hardware configuration. See File (configuration)help, 27, 70index for scans.4, 40, 41log, 17, 82macro source, 123news, 5reflections, 180settings,5preventing changes made in, 210reading, 99structure, 203updating, 55, 197state, user’s, 80, 197file.mac file, 123file_info() function, 68, 74Filers)help, 197Flabel macro, 148, 160Flow control, 20–22with break statement, 63with conditional statements, 62with continue statement, 63with exit statement, 63with for statement, 62with while statement, 62fmt_close() function, 68, 88fmt_read() function, 68, 88fmt_write() function, 68, 88for statement, 21, 62Four-circle diffractometer. See Diffractometer (fourcircle)fourc.src file, 123Fout macro, 148fprintf() function, 17, 68, 76, 77, 86freeze macro, 172, 178FRESH built-in variable, 57Ftail macro, 149Functionscalling user-added, 79–79, 195types ofbuilt-in, 68–119CAMAC, 68, 94–95command file, 68, 83–84conversion, 68, 119counting, 68, 101four-circle, 177GPIB, 68, 95Ghardware, 68, 94–97keyboard input and formatted output, 68, 81, 84miscellaneous, 68, 70–81number, 68, 118output control, 68, 81plotting and analysis, 68, 106serial, 68, 97–97string, 14–15, 68, 118system, 68, 69utility, 69–81G[]built-in variable, 59geometry parameters stored in, 162, 176, 196geo_fourc.c file, 175Geometryconfigurations, 143–44diffractometer, 31–32four circle, 162–83get_lim() function, 30, 68, 105getangles command, 29, 32–32, 126, 147, 159getcounts command, 58, 68, 100getenv() function, 68, 74gethelp() function, 27, 68, 70getline() function, 56, 68, 83, 84getval function, 126getval() function, 68, 78, 85global command, 18, 68, 89Global symbols, 18–20, 89GPIB (IEEE-488) interface, 3, 34driver for, 193hardware functions, 95gpib_cntl() function, 68, 96gpib_get() function, 56, 68, 96gpib_poll() function, 68, 96gpib_put() function, 34, 68, 96gpset macro, 125, 128Grammar rulesof keywords, operators, and commands, 64–68of parser, 45grep utilityfor file searching, 123to manipulate <strong>spec</strong> data files, 35GTERM built-in variable, 58Hh (help) macro, 27, 125, 128Hardware configuration, 3–5. See also File (configuration),edconfreconfiguring, 99selecting, 194Help facility, 27INTERIM WORK-IN-PROGRESS (8/16/01) NOT FOR GENERAL DISTRIBUTION INDEX 271
- Page 1 and 2:
spec X-Ray Diffraction SoftwareUSER
- Page 3 and 4:
specX-Ray Diffraction SoftwareCerti
- Page 5 and 6:
TABLE OF CONTENTSUSER MANUAL AND TU
- Page 7 and 8:
Reciprocal Space Macros ...........
- Page 9 and 10:
Preface For the Interim ManualWe ap
- Page 11 and 12:
USER MANUAL AND TUTORIALS
- Page 15 and 16:
files is then identified (/usr/loca
- Page 17 and 18:
denotes variable parameters you sup
- Page 19 and 20:
spec also keeps track of software m
- Page 21 and 22:
13.FOURC> mvr th 114.FOURC>will mov
- Page 23 and 24:
8 0.98 0 0 17603 38839 19 0.99 0 0
- Page 25 and 26:
4.FOURC> p date(1e9)Sat Sep 8 21:46
- Page 27 and 28:
Controlling Output Tothe Printer an
- Page 29 and 30:
By convention, global variables in
- Page 31 and 32:
16.FOURC> for (i = 0; i < MOTORS; i
- Page 33 and 34:
When a macro definition contains ar
- Page 35 and 36:
38.FOURC> undef com39.FOURC> prdef
- Page 37 and 38:
43.FOURC> lsdef *scanEscan (1448) a
- Page 39 and 40:
diffractometer. For example, they m
- Page 41 and 42:
set_lim(motor_number, low, high) an
- Page 43 and 44:
66.FOURC> getcounts; printf("%s = %
- Page 45 and 46:
the number of bytes is less than n
- Page 47 and 48:
PLOT-> fnscans.4 options scan-numbe
- Page 49 and 50:
#S number Starts a new scan. number
- Page 51 and 52:
ShowscansThe showscans program is a
- Page 53 and 54:
REFERENCE MANUAL
- Page 55 and 56:
IntroductionThe material contained
- Page 57 and 58:
ArraysArrays are formed using squar
- Page 59 and 60:
Numer ic ConstantsNumeric constants
- Page 61 and 62:
!! Redo the previous command.!14 Re
- Page 63 and 64:
In some installations, spec is inst
- Page 65 and 66:
ExitingA spec session is normally t
- Page 67 and 68:
DEBUG — is a user-assignable nume
- Page 69 and 70:
USER — is string valued and is se
- Page 71 and 72:
The concatenation operator comes in
- Page 73 and 74:
The second form of the for statemen
- Page 75 and 76:
These are the grammar rules:express
- Page 77 and 78:
local identifier-list [ ; ]syms pat
- Page 79 and 80:
Utility Functions and CommandsAll f
- Page 81 and 82:
.sp N — spaces N lines. Without a
- Page 83 and 84:
¢The formatting commands:.RB .BR .
- Page 85 and 86:
"ischr" or "−c" — Returns true
- Page 87 and 88:
polled devices, spec needs to perfo
- Page 89 and 90:
"show_prdef_files" — When this mo
- Page 91 and 92:
EOS sequence are read or until the
- Page 93 and 94:
¡with dlog or ends with .dlog . De
- Page 95 and 96:
10.FOURC> def change_it ’{11.quot
- Page 97 and 98:
tty_cntl(cmd) — Sends terminal-sp
- Page 99 and 100:
Commands For Var ia blesglobal name
- Page 101 and 102:
¤£ ¢prdef pattern ... — As abo
- Page 103 and 104:
at the end of the line.Within a mac
- Page 105 and 106:
config file. Built-in code for the
- Page 107 and 108:
RS-232 Serial InterfacesSerial func
- Page 109 and 110:
vme_put32(addr, data [, dmode ])
- Page 111 and 112:
In addition, device-dependent value
- Page 113 and 114:
correction. If val is given, then t
- Page 115 and 116:
¡and is set in the config file. Th
- Page 117 and 118:
¡data_grp(grp, npts, wid) — Conf
- Page 119 and 120:
"min" — Returns the minimum value
- Page 121 and 122:
"xlog" — Use a logarithmic x axis
- Page 123 and 124:
continued line, appropriate for sav
- Page 125 and 126:
LIBS= parameters. If the tools prov
- Page 127 and 128:
¡void set_return_data(double *x, i
- Page 129 and 130:
split(string, array) — Splits the
- Page 131 and 132:
STANDARD MACRO GUIDE
- Page 133 and 134:
IntroductionThe standard macros inc
- Page 135 and 136:
the argument is not a valid mnemoni
- Page 137 and 138:
Utility MacrosUNIX CommandsThese si
- Page 139 and 140:
# View (and modify), then reread co
- Page 141 and 142:
if ("$1" != ".") {DOFILE = "$1"if (
- Page 143 and 144:
Star t-up MacrosThese macros ask fo
- Page 145 and 146:
Motor Macrosmv motor posmvr motor p
- Page 147 and 148:
Change a motor limitdef set_lm ’i
- Page 149 and 150:
# Where - all motorsdef wa ’waitm
- Page 151 and 152:
# "count" is the basic macro to cou
- Page 153 and 154:
Reciprocal Space MacrosThe followin
- Page 155 and 156:
Scan MacrosThe following sections s
- Page 157 and 158:
Basic Reciprocal Space Scanshscan s
- Page 159 and 160:
def Pheader ’printf("\n Setpoint
- Page 161 and 162:
’}Here are examples of _settemp m
- Page 163 and 164:
Pr inter Initializa tion MacrosThes
- Page 165 and 166:
’X_L = motor_name(_m1)_sx = _s1 ;
- Page 167 and 168:
space scans, the limit check must l
- Page 169 and 170:
}}Pheaderprintf("\noffpprintf(" ")_
- Page 171 and 172:
# The loop macro, called by all the
- Page 173 and 174:
FOUR-CIRCLE REFERENCE
- Page 175 and 176:
IntroductionWhen invoked by the nam
- Page 177 and 178:
Once properly configured, diffracto
- Page 179 and 180:
Four-CircleModesAs noted above, bec
- Page 181 and 182:
asurface, keeping α small will kee
- Page 183 and 184:
¢¢¢¢Sector sSectors correspond
- Page 185 and 186:
Four-CircleFilesMost questions rega
- Page 187 and 188:
U[14] g_l0 or0, setor0 L of primary
- Page 189 and 190:
’gpset A[mA[1]] g_u01gpset A[mA[2
- Page 191 and 192:
global REFLEX # Variable for file n
- Page 193 and 194:
To calculate the new lattice parame
- Page 195 and 196:
ADMINISTRATOR’S GUIDE
- Page 197 and 198:
IntroductionThe first section of th
- Page 199 and 200:
The distribution will be in tar for
- Page 201 and 202:
¢KSC 3929 SCSI-CAMAC file location
- Page 203 and 204:
Installing Driver sIn the early his
- Page 205 and 206:
Fine Tuning the HardwareConfigurati
- Page 207 and 208:
...*gparam[3] = 1.54;...if (*gparam
- Page 209 and 210:
Makefile, and /usr/local/lib/spec.d
- Page 211 and 212:
Ena bling E/ISA I/O Por ts On HP 70
- Page 213 and 214:
ˆW Gain wizard access to set prote
- Page 215 and 216:
CA_LC2301CA_LC3512CA_LC3521CA_LC358
- Page 217 and 218:
MCU_O As above, but with old PROMsM
- Page 219 and 220:
config file that has the most motor
- Page 221 and 222:
the edconf program set-user id spec
- Page 223 and 224:
HARDWARE REFERENCE
- Page 225 and 226:
Introductionspec includes built-in
- Page 227 and 228:
DSP 6001/6002 CAMAC With No Driverc
- Page 229 and 230: Kinetic Systems CAMAC Softwareconfi
- Page 231 and 232: Any of the National Instruments boa
- Page 233 and 234: National Instruments SB-GPIB Ver 1.
- Page 235 and 236: modified version of the standard li
- Page 237 and 238: Bit 3 Model 616/617 PCI-VMEBit 3 Mo
- Page 239 and 240: Motor Controller sAdvanced Control
- Page 241 and 242: panel controls. Youshould consult t
- Page 243 and 244: Huber SMC 9000 (GPIB)config file:GP
- Page 245 and 246: motors on the board) and clears the
- Page 247 and 248: translation stages, the maximum val
- Page 249 and 250: MOTORS DEVICE ADDR MODE NUM TYPEYES
- Page 251 and 252: The driver is contained in the file
- Page 253 and 254: 30.FOURC> print motor_par(tth, "rea
- Page 255 and 256: free-axis-displacement commands "L+
- Page 257 and 258: PMC Corporation DCX-100 (Serial and
- Page 259 and 260: Motor ParametersThe steps per deg/m
- Page 261 and 262: Timer s and CountersAm9513-based Co
- Page 263 and 264: DSP RTC-018 Real Time Clock (CAMAC)
- Page 265 and 266: Kinetic Systems 3610 6-Channel 50 M
- Page 267 and 268: Or tec 974/994/995/997 NIM Timer s
- Page 269 and 270: Setting Operational ParametersThe c
- Page 271 and 272: mca_par("first_ch") — returns the
- Page 273 and 274: Oxford/Tennelec/Nucleus PCA Mutlipo
- Page 275 and 276: mca_par("preset") — in PHA mode,
- Page 277 and 278: ¢REFERENCESJournal articles descri
- Page 279: camac program, 199cat macro, 127cd
- Page 283 and 284: saving to output device, 132scan, 1
- Page 285 and 286: number,35, 37output, customizing, 1
- Page 287 and 288: wait() function, 33, 68, 77, 78, 99
- Page 289 and 290: ¡spec (1) (CSS Utilities) spec (1)