Skip to content

Commit 02a8ce9

Browse files
committed
FEMB test: added room vs cryo test temperature flag
1 parent c2409cb commit 02a8ce9

File tree

4 files changed

+23
-6
lines changed

4 files changed

+23
-6
lines changed

femb_python/configuration/configs/wib_sbnd_v109_femb_protodune_v308.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ def __init__(self):
6363

6464
self.fembNum = 0
6565
self.useExtAdcClock = True
66+
self.isRoomTemp = True
6667

6768
#initialize FEMB UDP object
6869
self.femb = FEMB_UDP()
@@ -137,8 +138,12 @@ def initFemb(self):
137138
self.femb.write_reg_bits( self.REG_TP, 8,0xFF,0x00) #test pulse delay
138139

139140
#phase control
140-
self.femb.write_reg_bits(self.CLK_SELECT , 0, 0xFF, 0xDF ) #clock select
141-
self.femb.write_reg_bits(self.CLK_SELECT2 , 0, 0xFF, 0x20 ) #clock select 2
141+
if self.isRoomTemp == True:
142+
self.femb.write_reg_bits(self.CLK_SELECT , 0, 0xFF, 0xDF ) #clock select
143+
self.femb.write_reg_bits(self.CLK_SELECT2 , 0, 0xFF, 0x20 ) #clock select 2
144+
else:
145+
self.femb.write_reg_bits(self.CLK_SELECT , 0, 0xFF, 0x83 ) #clock select
146+
self.femb.write_reg_bits(self.CLK_SELECT2 , 0, 0xFF, 0xFF ) #clock select 2
142147
self.femb.write_reg_bits(self.REG_LATCHLOC_3_TO_0 , 0, 0xFFFFFFFF, 0x00000000 ) #datashift
143148
self.femb.write_reg_bits(self.REG_LATCHLOC_7_TO_4 , 0, 0xFFFFFFFF, 0x00000000 ) #datashift
144149

femb_python/test_measurements/fembTest/code/doFembTest_gainMeasurement.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ def __init__(self, datadir="data", outlabel="gainMeasurement",fembNum=0):
6060
self.acdc = 0
6161
self.useInternalPulser = False
6262
self.useExtAdcClock = True
63+
self.isRoomTemp = True
6364

6465
#json output, note module version number defined here
6566
self.jsondict = {'type':'fembTest_gain'}
@@ -162,6 +163,7 @@ def record_data(self):
162163
self.femb_config.acdcVal = self.acdc
163164
self.femb_config.feasicEnableTestInput = 0 #important
164165
self.femb_config.useExtAdcClock = self.useExtAdcClock
166+
self.femb_config.isRoomTemp = self.isRoomTemp
165167
self.femb_config.configFeAsic()
166168

167169
#disable pulser
@@ -300,6 +302,7 @@ def main():
300302
base = 1
301303
useInternalPulser = False
302304
useExtAdcClock = True
305+
isRoomTemp = True
303306

304307
#get parameters from input JSON file
305308
if len(sys.argv) == 2 :
@@ -318,6 +321,8 @@ def main():
318321
useInternalPulser = params['useInternalPulser']
319322
if 'useExtAdcClock' in params:
320323
useExtAdcClock = params['useExtAdcClock']
324+
if 'isRoomTemp' in params:
325+
isRoomTemp = params['isRoomTemp']
321326

322327
#do some sanity checks
323328
if len(wibslots) > 4 :
@@ -332,6 +337,7 @@ def main():
332337
femb_test.base = base
333338
femb_test.useInternalPulser = useInternalPulser
334339
femb_test.useExtAdcClock = useExtAdcClock
340+
femb_test.isRoomTemp = isRoomTemp
335341

336342
femb_test.check_setup()
337343
femb_test.record_data()

femb_python/test_measurements/fembTest/code/doFembTest_simpleMeasurement.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,14 @@ def __init__(self, datadir="data", outlabel="simpleMeasurement",fembNum=0):
4444
self.write_data = WRITE_DATA(datadir)
4545
#set appropriate packet size
4646
self.write_data.femb.MAX_PACKET_SIZE = 8000
47+
self.cppfr = CPP_FILE_RUNNER()
4748

4849
#set status variables
4950
self.status_check_setup = 0
5051
self.status_record_data = 0
5152
self.status_do_analysis = 0
5253
self.status_archive_results = 0
53-
self.cppfr = CPP_FILE_RUNNER()
54+
self.isRoomTemp = True
5455

5556
#json output, note module version number defined here
5657
self.jsondict = {'type':'fembTest_simple'}
@@ -88,6 +89,7 @@ def check_setup(self):
8889

8990
#initialize FEMB to known state
9091
print("Initializing board")
92+
self.femb_config.isRoomTemp = self.isRoomTemp
9193
self.femb_config.initFemb()
9294

9395
#check if data streaming is working
@@ -218,13 +220,16 @@ def main():
218220
#default parameters
219221
datadir = "data"
220222
wibslots = [1]
223+
isRoomTemp = True
221224

222225
if len(sys.argv) == 2 :
223226
params = json.loads(open(sys.argv[1]).read())
224227
if 'datadir' in params:
225228
datadir = params['datadir']
226229
if 'wibslots' in params:
227230
wibslots = params['wibslots']
231+
if 'isRoomTemp' in params:
232+
isRoomTemp = params['isRoomTemp']
228233

229234
#do some sanity checks
230235
if len(wibslots) > 4 :
@@ -234,6 +239,7 @@ def main():
234239
#actually run the test, one per FEMB slot
235240
for femb in wibslots:
236241
femb_test = FEMB_TEST_SIMPLE(datadir,"simpleMeasurement",femb)
242+
femb_test.isRoomTemp = isRoomTemp
237243
femb_test.check_setup()
238244
femb_test.record_data()
239245
femb_test.do_analysis()

femb_python/test_measurements/fembTest/gui.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,9 @@ def get_options(self):
117117

118118
variables = [operator,boxid,amid,fmid,self.ct_bool,wibslots_filled]
119119
if (self.ct_bool.get() == "1"):
120-
temp = "CT"
120+
isRoomTemp = False
121121
else:
122-
temp = "RT"
122+
isRoomTemp = True
123123

124124
for var in variables:
125125
if var == "" :
@@ -136,7 +136,7 @@ def get_options(self):
136136
"box_id": boxid,
137137
"fm_id": fmid,
138138
"am_id": amid,
139-
"testtemp": temp,
139+
"isRoomTemp": temp,
140140
"wibslots": wibslots_filled
141141
}
142142
print(inputOptions)

0 commit comments

Comments
 (0)