PIXELMAN
EPICS plugin for Pixelman
Main Page
Related Pages
Classes
Files
Examples
File List
File Members
pixelmanApp
Db
pixelman.db
Go to the documentation of this file.
1
## @file pixelman.db EPICS db file
2
3
# % macro, P, device prefix
4
# % macro, Q, device sub-prefix
5
6
## Read pixelman device id.
7
record(longin,
"$(P)$(Q)DEVID"
)
8
{
9
field(DESC,
"Pixelman device Id"
)
10
field(DTYP,
"asynInt32"
)
11
field(INP,
"@asyn(MCP,0,0)DEVID"
)
12
field(SCAN,
"I/O Intr"
)
13
}
14
15
## Read acquisition type
16
record(mbbi,
"$(P)$(Q)ACQ:TYPE"
)
17
{
18
field(DESC,
"Acq type"
)
19
field(DTYP,
"asynInt32"
)
20
field(INP,
"@asyn(MCP,0,0)ACQTYPE"
)
21
field(SCAN,
"I/O Intr"
)
22
field(ZRST,
"Frame - memory"
)
23
field(ZRVL, 0)
24
field(ONST,
"Frame - file"
)
25
field(ONVL, 1)
26
field(TWST,
"Integral - memory"
)
27
field(TWVL, 2)
28
field(THST,
"Integral - file"
)
29
field(THVL, 3)
30
}
31
32
## Set acquisition type. values need to agree with #pixelmanDriver::PixelmanAcqType in pixelmanDriver.h
33
record(mbbo,
"$(P)$(Q)ACQ:TYPE:SP"
)
34
{
35
field(DESC,
"Acq type"
)
36
field(DTYP,
"asynInt32"
)
37
field(OUT,
"@asyn(MCP,0,0)ACQTYPEREQ"
)
38
field(ZRST,
"Unknown"
)
39
field(ZRVL, 0)
40
field(ONST,
"Frame"
)
41
field(ONVL, 1)
42
field(TWST,
"Integral"
)
43
field(TWVL, 2)
44
field(PINI,
"YES"
)
45
field(VAL, 2)
46
info(autosaveFields,
"VAL"
)
47
info(archive,
"VAL"
)
48
}
49
50
## Set pixel mode
51
record(mbbo,
"$(P)$(Q)ACQ:PIXEL:MODE:SP"
)
52
{
53
field(DESC,
"Pixel mode"
)
54
field(DTYP,
"asynInt32"
)
55
field(OUT,
"@asyn(MCP,0,0)SETPIXELMODE"
)
56
field(ZRST,
"Medipix"
)
57
field(ZRVL, 0)
58
field(ONST,
"TOT"
)
59
field(ONVL, 1)
60
field(TWST,
"Timepix 1-hit"
)
61
field(TWVL, 2)
62
field(THST,
"Timepix"
)
63
field(THVL, 3)
64
# field(PINI, "YES")
65
# info(autosaveFields, "VAL")
66
info(archive,
"VAL"
)
67
}
68
69
## Read number of frames etc that were requested.
70
record(longin,
"$(P)$(Q)ACQ:TOTCNT"
)
71
{
72
field(DESC,
"Acq total counts"
)
73
field(DTYP,
"asynInt32"
)
74
field(INP,
"@asyn(MCP,0,0)ACQTOTCNT"
)
75
field(SCAN,
"I/O Intr"
)
76
}
77
78
## Read zero based acquisition number.
79
record(longin,
"$(P)$(Q)ACQ:NUM"
)
80
{
81
field(DESC,
"Acq num"
)
82
field(DTYP,
"asynInt32"
)
83
field(INP,
"@asyn(MCP,0,0)ACQNUM"
)
84
field(SCAN,
"I/O Intr"
)
85
}
86
87
record(longin,
"$(P)$(Q)ACQ:FRAMEID"
)
88
{
89
field(DESC,
"Acq FrameID"
)
90
field(DTYP,
"asynInt32"
)
91
field(INP,
"@asyn(MCP,0,0)FRAMEID"
)
92
field(SCAN,
"I/O Intr"
)
93
}
94
95
## Read number of frames filled.
96
record(longin,
"$(P)$(Q)ACQ:FF"
)
97
{
98
field(DESC,
"Acq frame filled"
)
99
field(DTYP,
"asynInt32"
)
100
field(INP,
"@asyn(MCP,0,0)FRAMEFILLED"
)
101
field(SCAN,
"I/O Intr"
)
102
}
103
104
## Set number of frames etc for next acquisition.
105
record(longout,
"$(P)$(Q)ACQ:NUM:SP"
)
106
{
107
field(DESC,
"Request number of acquisitions"
)
108
field(DTYP,
"asynInt32"
)
109
field(OUT,
"@asyn(MCP,0,0)NUMACQ"
)
110
field(PINI,
"YES"
)
111
field(VAL, 1)
112
info(autosaveFields,
"VAL"
)
113
info(archive,
"VAL"
)
114
}
115
116
## set Hardware timer.
117
record(mbbo,
"$(P)$(Q)ACQ:HWTIMER:SP"
)
118
{
119
field(DESC,
"HW Timer"
)
120
field(DTYP,
"asynInt32"
)
121
field(OUT,
"@asyn(MCP,0,0)HWTIMER"
)
122
field(ZRST,
"ENABLE"
)
123
field(ZRVL, 0)
124
field(ONST,
"DISABLE"
)
125
field(ONVL, 1)
126
field(TWST,
"AUTO"
)
127
field(TWVL, 2)
128
field(PINI,
"YES"
)
129
field(VAL, 2)
130
info(autosaveFields,
"VAL"
)
131
info(archive,
"VAL"
)
132
}
133
134
## read Hardware timer.
135
record(mbbi,
"$(P)$(Q)ACQ:HWTIMER"
)
136
{
137
field(DESC,
"HW Timer"
)
138
field(DTYP,
"asynInt32"
)
139
field(INP,
"@asyn(MCP,0,0)HWTIMER"
)
140
field(SCAN,
"I/O Intr"
)
141
field(ZRST,
"ENABLE"
)
142
field(ZRVL, 0)
143
field(ONST,
"DISABLE"
)
144
field(ONVL, 1)
145
field(TWST,
"AUTO"
)
146
field(TWVL, 2)
147
info(archive,
"VAL"
)
148
}
149
150
## Set mode for next acquisition.
151
record(mbbo,
"$(P)$(Q)ACQ:MODE:SP"
)
152
{
153
field(DESC,
"Acquisition mode"
)
154
field(DTYP,
"asynInt32"
)
155
field(OUT,
"@asyn(MCP,0,0)ACQMODE"
)
156
field(ZRST,
"ACQSTART - TIMERSTOP"
)
157
field(ZRVL, 1)
158
field(ONST,
"ACQSTART - HWTRIGSTOP"
)
159
field(ONVL, 2)
160
field(TWST,
"ACQSTART - SWTRIGSTOP"
)
161
field(TWVL, 4)
162
field(THST,
"HWTRIGSTART - TIMERSTOP"
)
163
field(THVL, 16)
164
field(FRST,
"HWTRIGSTART - HWTRIGSTOP"
)
165
field(FRVL, 32)
166
field(FVST,
"SWTRIGSTART - TIMERSTOP"
)
167
field(FVVL, 64)
168
field(SXST,
"SWTRIGSTART - SWTRIGSTOP"
)
169
field(SXVL, 128)
170
field(PINI,
"YES"
)
171
field(VAL, 0)
172
info(autosaveFields,
"VAL"
)
173
info(archive,
"VAL"
)
174
}
175
176
## Read acquisition mode.
177
record(mbbi,
"$(P)$(Q)ACQ:MODE"
)
178
{
179
field(DESC,
"Acquisition mode"
)
180
field(DTYP,
"asynInt32"
)
181
field(INP,
"@asyn(MCP,0,0)ACQMODE"
)
182
field(SCAN,
"I/O Intr"
)
183
field(ZRST,
"ACQSTART - TIMERSTOP"
)
184
field(ZRVL, 1)
185
field(ONST,
"ACQSTART - HWTRIGSTOP"
)
186
field(ONVL, 2)
187
field(TWST,
"ACQSTART - SWTRIGSTOP"
)
188
field(TWVL, 4)
189
field(THST,
"HWTRIGSTART - TIMERSTOP"
)
190
field(THVL, 16)
191
field(FRST,
"HWTRIGSTART - HWTRIGSTOP"
)
192
field(FRVL, 32)
193
field(FVST,
"SWTRIGSTART - TIMERSTOP"
)
194
field(FVVL, 64)
195
field(SXST,
"SWTRIGSTART - SWTRIGSTOP"
)
196
field(SXVL, 128)
197
info(archive,
"VAL"
)
198
}
199
200
## Set burst mode.
201
record(bo,
"$(P)$(Q)ACQ:MODE:BURST:SP"
)
202
{
203
field(DESC,
"Acquisition burst mode"
)
204
field(DTYP,
"asynInt32"
)
205
field(OUT,
"@asyn(MCP,0,0)BURSTMODE"
)
206
field(PINI,
"YES"
)
207
field(VAL, 1)
208
field(ZNAM,
"DISABLED"
)
209
field(ONAM,
"ENABLED"
)
210
info(autosaveFields,
"VAL"
)
211
info(archive,
"VAL"
)
212
}
213
214
## Read burst mode.
215
record(bi,
"$(P)$(Q)ACQ:MODE:BURST"
)
216
{
217
field(DESC,
"Acquisition burst mode"
)
218
field(DTYP,
"asynInt32"
)
219
field(INP,
"@asyn(MCP,0,0)BURSTMODE"
)
220
field(SCAN,
"I/O Intr"
)
221
field(ZNAM,
"DISABLED"
)
222
field(ONAM,
"ENABLED"
)
223
info(archive,
"VAL"
)
224
}
225
226
## Set external shutter.
227
record(bo,
"$(P)$(Q)ACQ:MODE:EXTSHUT:SP"
)
228
{
229
field(DESC,
"Acquisition ext shutter mode"
)
230
field(DTYP,
"asynInt32"
)
231
field(OUT,
"@asyn(MCP,0,0)EXTSHUTMODE"
)
232
field(PINI,
"YES"
)
233
field(VAL, 1)
234
field(ZNAM,
"DISABLED"
)
235
field(ONAM,
"ENABLED"
)
236
info(autosaveFields,
"VAL"
)
237
info(archive,
"VAL"
)
238
}
239
240
## Read external shutter.
241
record(bi,
"$(P)$(Q)ACQ:MODE:EXTSHUT"
)
242
{
243
field(DESC,
"Acquisition ext shutter mode"
)
244
field(DTYP,
"asynInt32"
)
245
field(INP,
"@asyn(MCP,0,0)EXTSHUTMODE"
)
246
field(SCAN,
"I/O Intr"
)
247
field(ZNAM,
"DISABLED"
)
248
field(ONAM,
"ENABLED"
)
249
info(archive,
"VAL"
)
250
}
251
252
## Set acquisition time.
253
record(ao,
"$(P)$(Q)ACQ:TIME:SP"
)
254
{
255
field(DESC,
"Requested acquisition time"
)
256
field(DTYP,
"asynFloat64"
)
257
field(OUT,
"@asyn(MCP,0,0)ACQTIME"
)
258
field(PINI,
"YES"
)
259
field(VAL,
"0.1"
)
260
field(PREC, 3)
261
info(autosaveFields,
"VAL"
)
262
info(archive,
"VAL"
)
263
}
264
265
## Set file name.
266
record(waveform,
"$(P)$(Q)FILE:NAME:SP"
)
267
{
268
field(DESC,
"File name"
)
269
field(DTYP,
"asynOctetWrite"
)
270
field(NELM,
"512"
)
271
field(FTVL,
"CHAR"
)
272
field(INP,
"@asyn(MCP,0,0)DATAFILENAME"
)
273
# field(PINI, "YES")
274
# info(autosaveFields, "VAL")
275
info(archive,
"VAL"
)
276
}
277
278
## Read file name.
279
record(waveform,
"$(P)$(Q)FILE:NAME"
)
280
{
281
field(DESC,
"File name"
)
282
field(DTYP,
"asynOctetRead"
)
283
field(NELM,
"512"
)
284
field(FTVL,
"CHAR"
)
285
field(INP,
"@asyn(MCP,0,0)DATAFILENAME"
)
286
field(SCAN,
"I/O Intr"
)
287
info(archive,
"VAL"
)
288
}
289
290
## set file index
291
record(longout,
"$(P)$(Q)FILE:INDEX:SP"
)
292
{
293
field(DESC,
"File index"
)
294
field(DTYP,
"asynInt32"
)
295
field(OUT,
"@asyn(MCP,0,0)FILEINDEX"
)
296
# field(PINI, "YES")
297
# info(autosaveFields, "VAL")
298
info(archive,
"VAL"
)
299
}
300
301
## read file index
302
record(longin,
"$(P)$(Q)FILE:INDEX"
)
303
{
304
field(DESC,
"File index"
)
305
field(DTYP,
"asynInt32"
)
306
field(INP,
"@asyn(MCP,0,0)FILEINDEX"
)
307
field(SCAN,
"I/O Intr"
)
308
info(archive,
"VAL"
)
309
}
310
311
## set triggers per burst
312
record(longout,
"$(P)$(Q)ACQ:BURST:NSHUT:SP"
)
313
{
314
field(DESC,
"Shutters per burst"
)
315
field(DTYP,
"asynInt32"
)
316
field(OUT,
"@asyn(MCP,0,0)NSHUTTERSPERBURST"
)
317
# field(PINI, "YES")
318
# info(autosaveFields, "VAL")
319
info(archive,
"VAL"
)
320
}
321
322
## read shutters per burst
323
record(longin,
"$(P)$(Q)ACQ:BURST:NSHUT"
)
324
{
325
field(DESC,
"Shutters per burst"
)
326
field(DTYP,
"asynInt32"
)
327
field(INP,
"@asyn(MCP,0,0)NSHUTTERSPERBURST"
)
328
field(SCAN,
"I/O Intr"
)
329
info(archive,
"VAL"
)
330
}
331
332
## triggers before refresh
333
record(longout,
"$(P)$(Q)ACQ:BURST:NTRIGRF:SP"
)
334
{
335
field(DESC,
"Burst Trigs before refresh"
)
336
field(DTYP,
"asynInt32"
)
337
field(OUT,
"@asyn(MCP,0,0)NTRIGSBURSTREFRESH"
)
338
# field(PINI, "YES")
339
# info(autosaveFields, "VAL")
340
info(archive,
"VAL"
)
341
}
342
343
## triggers before refresh
344
record(longin,
"$(P)$(Q)ACQ:BURST:NTRIGRF"
)
345
{
346
field(DESC,
"Burst Trigs before refresh"
)
347
field(DTYP,
"asynInt32"
)
348
field(INP,
"@asyn(MCP,0,0)NTRIGSBURSTREFRESH"
)
349
field(SCAN,
"I/O Intr"
)
350
info(archive,
"VAL"
)
351
}
352
353
## N Trigs. before saving SubImg Spectra/Counts In CollimScan
354
record(longout,
"$(P)$(Q)ACQ:NTRIGSAVSUB:SP"
)
355
{
356
field(DESC,
"N Trigs. before saving SubImg"
)
357
field(DTYP,
"asynInt32"
)
358
field(OUT,
"@asyn(MCP,0,0)NTRIGSAVSUB"
)
359
# field(PINI, "YES")
360
# info(autosaveFields, "VAL")
361
info(archive,
"VAL"
)
362
}
363
364
## N Trigs. before saving SubImg Spectra/Counts In CollimScan
365
record(longin,
"$(P)$(Q)ACQ:NTRIGSAVSUB"
)
366
{
367
field(DESC,
"N Trigs. before saving SubImg"
)
368
field(DTYP,
"asynInt32"
)
369
field(INP,
"@asyn(MCP,0,0)NTRIGSAVSUB"
)
370
field(SCAN,
"I/O Intr"
)
371
info(archive,
"VAL"
)
372
}
373
374
## set TPXCUBEBIN
375
record(ao,
"$(P)$(Q)TPXCUBEBIN:SP"
)
376
{
377
field(DESC,
"set TPXCUBEBIN"
)
378
field(DTYP,
"asynFloat64"
)
379
field(OUT,
"@asyn(MCP,0,0)TPXCUBEBIN"
)
380
# field(PINI, "YES")
381
# field(VAL, "0.1")
382
field(PREC, 3)
383
# info(autosaveFields, "VAL")
384
info(archive,
"VAL"
)
385
}
386
387
## read TPXCUBEBIN
388
record(ai,
"$(P)$(Q)TPXCUBEBIN"
)
389
{
390
field(DESC,
"read TPXCUBEBIN"
)
391
field(DTYP,
"asynFloat64"
)
392
field(INP,
"@asyn(MCP,0,0)TPXCUBEBIN"
)
393
field(PREC, 3)
394
field(SCAN,
"I/O Intr"
)
395
info(archive,
"VAL"
)
396
}
397
398
## set SHTRCLKSHIFT
399
record(longout,
"$(P)$(Q)SHTRCLKSHIFT:SP"
)
400
{
401
field(DESC,
"set SHTRCLKSHIFT"
)
402
field(DTYP,
"asynInt32"
)
403
field(OUT,
"@asyn(MCP,0,0)SHTRCLKSHIFT"
)
404
# field(PINI, "YES")
405
# info(autosaveFields, "VAL")
406
info(archive,
"VAL"
)
407
}
408
409
## read SHTRCLKSHIFT
410
record(longin,
"$(P)$(Q)SHTRCLKSHIFT"
)
411
{
412
field(DESC,
"read SHTRCLKSHIFT"
)
413
field(DTYP,
"asynInt32"
)
414
field(INP,
"@asyn(MCP,0,0)SHTRCLKSHIFT"
)
415
field(SCAN,
"I/O Intr"
)
416
info(archive,
"VAL"
)
417
}
418
419
## Read DATAACQMODE
420
record(mbbi,
"$(P)$(Q)DATAACQMODE"
)
421
{
422
field(DESC,
"Read Acq mode"
)
423
field(DTYP,
"asynInt32"
)
424
field(INP,
"@asyn(MCP,0,0)DATAACQMODE"
)
425
field(SCAN,
"I/O Intr"
)
426
field(ZRST,
"Mpx"
)
427
field(ZRVL, 0)
428
field(ONST,
"TpxCube"
)
429
field(ONVL, 1)
430
field(TWST,
"Centrdg"
)
431
field(TWVL, 2)
432
field(THST,
"CollimScan"
)
433
field(THVL, 3)
434
field(FRST,
"StrbscCube"
)
435
field(FRVL, 4)
436
}
437
438
## Set DATAACQMODE 0-Mpx;1-TpxCube;2-Centrdg;3-CollimScan;4-StrbscCube
439
record(mbbo,
"$(P)$(Q)DATAACQMODE:SP"
)
440
{
441
field(DESC,
"Set Acq mode"
)
442
field(DTYP,
"asynInt32"
)
443
field(OUT,
"@asyn(MCP,0,0)DATAACQMODE"
)
444
field(ZRST,
"Mpx"
)
445
field(ZRVL, 0)
446
field(ONST,
"TpxCube"
)
447
field(ONVL, 1)
448
field(TWST,
"Centrdg"
)
449
field(TWVL, 2)
450
field(THST,
"CollimScan"
)
451
field(THVL, 3)
452
field(FRST,
"StrbscCube"
)
453
field(FRVL, 4)
454
# field(PINI, "YES")
455
# field(VAL, 1)
456
# info(autosaveFields, "VAL")
457
info(archive,
"VAL"
)
458
}
459
460
## Set SAVERAWDATA
461
record(bo,
"$(P)$(Q)SAVERAWDATA:SP"
)
462
{
463
field(DESC,
"Set SAVERAWDATA"
)
464
field(DTYP,
"asynInt32"
)
465
field(OUT,
"@asyn(MCP,0,0)SAVERAWDATA"
)
466
# field(PINI, "YES")
467
# field(VAL, 1)
468
field(ZNAM,
"NO"
)
469
field(ONAM,
"YES"
)
470
# info(autosaveFields, "VAL")
471
info(archive,
"VAL"
)
472
}
473
474
## SAVERAWDATA status
475
record(bi,
"$(P)$(Q)SAVERAWDATA"
)
476
{
477
field(DESC,
"SAVERAWDATA status"
)
478
field(DTYP,
"asynInt32"
)
479
field(INP,
"@asyn(MCP,0,0)SAVERAWDATA"
)
480
field(SCAN,
"I/O Intr"
)
481
field(ZNAM,
"NO"
)
482
field(ONAM,
"YES"
)
483
info(archive,
"VAL"
)
484
}
485
486
## save config to specified file
487
record(stringout,
"$(P)$(Q)SAVECONFIG:SP"
)
488
{
489
field(DESC,
"save config to file"
)
490
field(DTYP,
"asynOctetWrite"
)
491
field(OUT,
"@asyn(MCP,0,0)SAVECONFIG"
)
492
# field(PINI, "YES")
493
# info(autosaveFields, "VAL")
494
info(archive,
"VAL"
)
495
}
496
497
## load config from specified file
498
record(stringout,
"$(P)$(Q)LOADCONFIG:SP"
)
499
{
500
field(DESC,
"load config from file"
)
501
field(DTYP,
"asynOctetWrite"
)
502
field(OUT,
"@asyn(MCP,0,0)LOADCONFIG"
)
503
# field(PINI, "YES")
504
# info(autosaveFields, "VAL")
505
info(archive,
"VAL"
)
506
}
507
508
## save default config
509
record(bo,
"$(P)$(Q)SAVECONFIG:DEF:SP"
)
510
{
511
field(DESC,
"save default config"
)
512
field(DTYP,
"asynInt32"
)
513
field(OUT,
"@asyn(MCP,0,0)SAVEDEFCONFIG"
)
514
# field(PINI, "YES")
515
# field(VAL, 1)
516
field(ZNAM,
""
)
517
field(ONAM,
"SAVING"
)
518
# info(autosaveFields, "VAL")
519
info(archive,
"VAL"
)
520
field(FLNK,
"$(P)$(Q)SAVECONFIG:_DEF"
)
521
}
522
523
## @internal
524
## Reset save default config
525
record(bo,
"$(P)$(Q)SAVECONFIG:_DEF"
)
526
{
527
field(OUT,
"$(P)$(Q)SAVECONFIG:DEF:SP NPP"
)
528
field(VAL, 0)
529
}
530
531
## load default config
532
record(bo,
"$(P)$(Q)LOADCONFIG:DEF:SP"
)
533
{
534
field(DESC,
"Load default config"
)
535
field(DTYP,
"asynInt32"
)
536
field(OUT,
"@asyn(MCP,0,0)LOADDEFCONFIG"
)
537
# field(PINI, "YES")
538
# field(VAL, 1)
539
field(ZNAM,
""
)
540
field(ONAM,
"LOADING"
)
541
# info(autosaveFields, "VAL")
542
info(archive,
"VAL"
)
543
field(FLNK,
"$(P)$(Q)LOADCONFIG:_DEF"
)
544
}
545
546
## @internal
547
## Reset load default config
548
record(bo,
"$(P)$(Q)LOADCONFIG:_DEF"
)
549
{
550
field(OUT,
"$(P)$(Q)LOADCONFIG:DEF:SP NPP"
)
551
field(VAL, 0)
552
}
553
554
## Has acquisition hung.
555
record(bi,
"$(P)$(Q)ACQ:HANG"
)
556
{
557
field(DESC,
"Has Acquisition hung"
)
558
field(DTYP,
"asynInt32"
)
559
field(INP,
"@asyn(MCP,0,0)ACQHANG"
)
560
field(SCAN,
"I/O Intr"
)
561
field(ZNAM,
"FALSE"
)
562
field(ONAM,
"TRUE"
)
563
info(archive,
"VAL"
)
564
}
565
566
## Acquisition hang time.
567
record(ai,
"$(P)$(Q)ACQ:HANG:TIME"
)
568
{
569
field(DESC,
"Acquisition hang time"
)
570
field(DTYP,
"asynFloat64"
)
571
field(INP,
"@asyn(MCP,0,0)HANGTIME"
)
572
field(SCAN,
"I/O Intr"
)
573
field(PREC, 3)
574
field(EGU,
"s"
)
575
info(archive,
"VAL"
)
576
}
577
578
## enable or disable autorestart
579
record(bo,
"$(P)$(Q)AUTORESTART:SP"
)
580
{
581
field(DESC,
"Set Autorestart"
)
582
field(DTYP,
"asynInt32"
)
583
field(OUT,
"@asyn(MCP,0,0)AUTORESTART"
)
584
field(PINI,
"YES"
)
585
field(VAL, 0)
586
field(ZNAM,
"DISABLE"
)
587
field(ONAM,
"ENABLE"
)
588
info(autosaveFields,
"VAL"
)
589
info(archive,
"VAL"
)
590
}
591
592
## autorestart status
593
record(bi,
"$(P)$(Q)AUTORESTART"
)
594
{
595
field(DESC,
"Autorestart status"
)
596
field(DTYP,
"asynInt32"
)
597
field(INP,
"@asyn(MCP,0,0)AUTORESTART"
)
598
field(SCAN,
"I/O Intr"
)
599
field(ZNAM,
"DISABLED"
)
600
field(ONAM,
"ENABLED"
)
601
info(archive,
"VAL"
)
602
}
603
604
## set autorestart delay time.
605
record(ao,
"$(P)$(Q)AUTORESTART:DELAY:SP"
)
606
{
607
field(DESC,
"Autorestart delay"
)
608
field(DTYP,
"asynFloat64"
)
609
field(OUT,
"@asyn(MCP,0,0)AUTORESTARTDELAY"
)
610
field(PREC, 3)
611
field(EGU,
"s"
)
612
field(VAL, 120)
613
field(PINI,
"YES"
)
614
info(autosaveFields,
"VAL"
)
615
info(archive,
"VAL"
)
616
}
617
618
## read autorestart delay time.
619
record(ai,
"$(P)$(Q)AUTORESTART:DELAY"
)
620
{
621
field(DESC,
"Autorestart delay"
)
622
field(DTYP,
"asynFloat64"
)
623
field(INP,
"@asyn(MCP,0,0)AUTORESTARTDELAY"
)
624
field(PREC, 3)
625
field(EGU,
"s"
)
626
field(SCAN,
"I/O Intr"
)
627
info(archive,
"VAL"
)
628
}
629
630
## Set file flags.
631
## 0x0 means frames stored in memory, otherwise a | combination of:
632
## <PRE>
633
## FSAVE_BINARY 0x0001 save in binary format
634
## FSAVE_ASCII 0x0002 save in ASCII format
635
## FSAVE_APPEND 0x0004 append frame to existing file if exists (multiframe)
636
## FSAVE_I16 0x0010 save as 16bit integer
637
## FSAVE_U32 0x0020 save as unsigned 32bit integer
638
## FSAVE_DOUBLE 0x0040 save as double
639
## FSAVE_NODESCFILE 0x0100 do not save description file
640
## FSAVE_SPARSEXY 0x1000 save only nonzero position in [x y count] format
641
## FSAVE_SPARSEX 0x2000 save only nonzero position in [x count] format
642
## FSAVE_NOFILE 0x8000 frame will not be saved
643
## </PRE>
644
## flags FSAVE_BINARY/FSAVE_ASCII and flags FSAVE_I16/FSAVE_U32/FSAVE_DOUBLE are mutually exclusive
645
## if FSAVE_SPARSEX and FSAVE_SPARSEXY is not specified full matrix is saved
646
record(longout,
"$(P)$(Q)FILE:FLAGS:SP"
)
647
{
648
field(DESC,
"Set File flags"
)
649
field(DTYP,
"asynInt32"
)
650
field(OUT,
"@asyn(MCP,0,0)FILEFLAGS"
)
651
field(PINI,
"YES"
)
652
field(VAL, 0)
653
info(autosaveFields,
"VAL"
)
654
info(archive,
"VAL"
)
655
}
656
657
## @sa FILE:FLAGS:SP
658
record(longin,
"$(P)$(Q)FILE:FLAGS"
)
659
{
660
field(DESC,
"Read File flags"
)
661
field(DTYP,
"asynInt32"
)
662
field(INP,
"@asyn(MCP,0,0)FILEFLAGS"
)
663
field(SCAN,
"I/O Intr"
)
664
info(archive,
"VAL"
)
665
}
666
667
## Set software trigger start.
668
record(bo,
"$(P)$(Q)TRIG:START"
)
669
{
670
field(DESC,
"Trigger start acquisition"
)
671
field(DTYP,
"asynInt32"
)
672
field(OUT,
"@asyn(MCP,0,0)TRIGSTART"
)
673
field(ZNAM,
""
)
674
field(ONAM,
"STARTING"
)
675
field(FLNK,
"$(P)$(Q)_TRIGSTART"
)
676
}
677
678
## @internal
679
## reset TRIG:START PV
680
record(bo,
"$(P)$(Q)_TRIGSTART"
)
681
{
682
field(OUT,
"$(P)$(Q)TRIG:START NPP"
)
683
field(VAL, 0)
684
}
685
686
## Set software trigger stop.
687
record(bo,
"$(P)$(Q)TRIG:STOP"
)
688
{
689
field(DESC,
"Trigger stop acquisition"
)
690
field(DTYP,
"asynInt32"
)
691
field(OUT,
"@asyn(MCP,0,0)TRIGSTOP"
)
692
field(ZNAM,
""
)
693
field(ONAM,
"STOPPING"
)
694
field(FLNK,
"$(P)$(Q)_TRIGSTOP"
)
695
}
696
697
## @internal
698
## reset TRIG:STOP PV
699
record(bo,
"$(P)$(Q)_TRIGSTOP"
)
700
{
701
field(OUT,
"$(P)$(Q)TRIG:STOP NPP"
)
702
field(VAL, 0)
703
}
704
705
## Set abort
706
record(bo,
"$(P)$(Q)ABORT"
)
707
{
708
field(DESC,
"Abort acquisition"
)
709
field(DTYP,
"asynInt32"
)
710
field(OUT,
"@asyn(MCP,0,0)ABORT"
)
711
field(ZNAM,
""
)
712
field(ONAM,
"ABORTING"
)
713
field(FLNK,
"$(P)$(Q)_ABORT"
)
714
}
715
716
## @internal
717
## Reset ABORT PV
718
record(bo,
"$(P)$(Q)_ABORT"
)
719
{
720
field(OUT,
"$(P)$(Q)ABORT NPP"
)
721
field(VAL, 0)
722
}
723
724
## start acquisition.
725
record(bo,
"$(P)$(Q)START"
)
726
{
727
field(DESC,
"Start acquisition"
)
728
field(DTYP,
"asynInt32"
)
729
field(OUT,
"@asyn(MCP,0,0)START"
)
730
field(ZNAM,
""
)
731
field(ONAM,
"STARTING"
)
732
field(FLNK,
"$(P)$(Q)_START"
)
733
info(archive,
"VAL"
)
734
}
735
736
## @internal
737
## Reset START PV
738
record(bo,
"$(P)$(Q)_START"
)
739
{
740
field(OUT,
"$(P)$(Q)START NPP"
)
741
field(VAL, 0)
742
}
743
744
alias("$(P)$(Q)AD:Acquire","$(P)$(Q)Acquire")
745
alias("$(P)$(Q)AD:Acquire_RBV","$(P)$(Q)Acquire_RBV")
746
747
## is an acquisition series currently active
748
record(bi,
"$(P)$(Q)ACQ:ACTIVE"
)
749
{
750
field(DESC,
"Acq series currently active"
)
751
field(DTYP,
"asynInt32"
)
752
field(INP,
"@asyn(MCP,0,0)ACQACTIVE"
)
753
field(SCAN,
"I/O Intr"
)
754
field(ZNAM,
"NO"
)
755
field(ONAM,
"YES"
)
756
info(archive,
"VAL"
)
757
}
758
759
## is a single acquisition currently active
760
record(bi,
"$(P)$(Q)ACQ:SACTIVE"
)
761
{
762
field(DESC,
"Single Acq currently active"
)
763
field(DTYP,
"asynInt32"
)
764
field(INP,
"@asyn(MCP,0,0)ACQSACTIVE"
)
765
field(SCAN,
"I/O Intr"
)
766
field(ZNAM,
"NO"
)
767
field(ONAM,
"YES"
)
768
}
769
770
## Camera Status.
771
record(mbbi,
"$(P)$(Q)STATUS"
)
772
{
773
field(DESC,
"Camera Current Status"
)
774
field(DTYP,
"asynInt32"
)
775
field(INP,
"@asyn(MCP,0,0)CAMERASTATUS"
)
776
field(SCAN,
"I/O Intr"
)
777
field(ZRST,
"Idle"
)
778
field(ZRVL, 0)
779
field(ONST,
"Acquiring"
)
780
field(ONVL, 1)
781
field(TWST,
"Saving"
)
782
field(TWVL, 2)
783
info(archive,
"VAL"
)
784
}
785
786
## Set shutter file name.
787
## This copies given file to ShutterValues.txt
788
record(waveform,
"$(P)$(Q)SHUTTER:FNAME:SP"
)
789
{
790
field(DESC,
"File name"
)
791
field(DTYP,
"asynOctetWrite"
)
792
field(NELM,
"512"
)
793
field(FTVL,
"CHAR"
)
794
field(INP,
"@asyn(MCP,0,0)DATAFILENAME"
)
795
# field(PINI, "YES")
796
# info(autosaveFields, "VAL")
797
info(archive,
"VAL"
)
798
}
799
800
## Read file name.
801
## This is file that was copied to ShutterValues.txt
802
record(waveform,
"$(P)$(Q)SHUTTER:FNAME"
)
803
{
804
field(DESC,
"File name"
)
805
field(DTYP,
"asynOctetRead"
)
806
field(NELM,
"512"
)
807
field(FTVL,
"CHAR"
)
808
field(INP,
"@asyn(MCP,0,0)DATAFILENAME"
)
809
field(SCAN,
"I/O Intr"
)
810
info(archive,
"VAL"
)
811
}
812
813
record(waveform,
"$(P)$(Q)SHUTTER:WRFILE:SP"
)
814
{
815
field(DESC,
"File name"
)
816
field(DTYP,
"asynOctetWrite"
)
817
field(NELM,
"512"
)
818
field(FTVL,
"CHAR"
)
819
field(INP,
"@asyn(MCP,0,0)DATAFILENAME"
)
820
# field(PINI, "YES")
821
# info(autosaveFields, "VAL")
822
info(archive,
"VAL"
)
823
}
Copyright © 2013
Science and Technology Facilities Council
| Generated by
1.8.5