-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathread_data.py
More file actions
55 lines (45 loc) · 1.23 KB
/
read_data.py
File metadata and controls
55 lines (45 loc) · 1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import numpy
import nuphase
import time
from bf import *
import json
d=nuphase.Nuphase()
d.boardInit(True)
d.enablePhasedTrigger(True)
for i in range(15):
d.setBeamThresholds(19000, i)
time.sleep(15)
print d.readScalers()
print d.getDataManagerStatus()
d.enablePhasedTriggerToDataManager(True)
time.sleep(1)
print d.getDataManagerStatus()
for i in range(4):
d.setReadoutBuffer(i)
print i, d.getMetaData()
d.bufferClear(15)
cur_event = 0
NEVENTS=1000
all_metadata=[]
while(cur_event < NEVENTS):
time.sleep(0.1)
#d.softwareTrigger()
time.sleep(0.0001)
d.getDataManagerStatus(verbose=False)
if d.buffer_flags[0] == 0:
continue
flags = bf(d.buffer_flags[0])
for i in range(4):
if flags[i] == True:
d.setReadoutBuffer(i)
metadata = d.getMetaData()
all_metadata.append(metadata)
print cur_event,i,metadata
cur_event = cur_event + 1
d.bufferClear(1 << i)
if metadata['slave']['evt_count'] != metadata['master']['evt_count']:
print 'EVENT COUNT MISMATCH!!!!!'
print '....'
d.enablePhasedTriggerToDataManager(False)
with open('metadata.json', 'w') as f:
json.dump(all_metadata,f)