Handle missing channels in data

This commit is contained in:
2025-06-10 14:46:18 +02:00
parent 14d0db7fad
commit 14d37c3e67

View File

@ -21,9 +21,7 @@ class BSCAcquisition(Acquisition):
self.bscache.flush() self.bscache.flush()
data = [] data = []
for i in range(n_pulses): for i in range(n_pulses):
#print('Requested %i' % i)
data.append(next(self.bscache)) data.append(next(self.bscache))
#print('Received %i' % i)
# write out the data file # write out the data file
use_channels = self.use_channels or self.bscache.channels.keys() use_channels = self.use_channels or self.bscache.channels.keys()
@ -33,7 +31,12 @@ class BSCAcquisition(Acquisition):
pidname = 'pulse_id/group%d' % self.grp pidname = 'pulse_id/group%d' % self.grp
hid.create_dataset(pidname, data=singledata) hid.create_dataset(pidname, data=singledata)
for chn in use_channels: for chn in use_channels:
singledata = [ele[chn] for ele in data] singledata = []
for ele in data:
if chn in ele:
singledata.append(ele[chn])
else:
print('%s not in data!' % chn)
if not chn == 'pid': if not chn == 'pid':
dname = chn.replace(':','/')+'/data' dname = chn.replace(':','/')+'/data'
hid.create_dataset(dname, data=singledata) hid.create_dataset(dname, data=singledata)