ISIS Logo
PIXELMAN
EPICS plugin for Pixelman
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   doxygen 1.8.5