Skip to content
Snippets Groups Projects
Commit 122639a1 authored by Sander Snoo's avatar Sander Snoo
Browse files

Fixed digitizer configuring and get_channel_data after testing with mock

parent 42671083
No related branches found
No related tags found
No related merge requests found
......@@ -76,7 +76,7 @@ class M3202A_Uploader:
def get_num_samples(self, acquisition_channel, t_measure, sample_rate):
dig_ch = self.digitizer_channels[acquisition_channel]
digitizer = self.digitizers[dig_ch.module_name]
return digitizer.get_points_per_cycle(t_measure, sample_rate)
return digitizer.get_samples_per_measurement(t_measure, sample_rate)
def create_job(self, sequence, index, seq_id, n_rep, sample_rate, neutralize=True, alignment=None):
# TODO @@@ implement alignment
......@@ -174,7 +174,9 @@ class M3202A_Uploader:
dig.set_active_channels(channel_nums)
self.acq_description = AcqDescription(job.seq_id, job.index, channels,
job.acquisitions, enabled_channels)
job.acquisitions, enabled_channels,
job.n_rep,
job.acquisition_conf.average_repetitions)
def __get_job(self, seq_id, index):
......@@ -293,13 +295,17 @@ class M3202A_Uploader:
raw_ch = (raw_I + 1j * raw_Q) * np.exp(1j*channel.phase)
else:
# this can be complex valued output with LO modulation or phase shift in digitizer (FPGA)
raw_ch = dig_data[dig_name][channel.in_ch[0]]
raw_ch = dig_data[dig_name][in_ch[0]]
if not channel.iq_out:
raw_ch = raw_ch.real
result[channel_name] = raw_ch
if not acq_desc.average_repetitions:
for key,value in result.items():
result[key] = value.reshape((acq_desc.n_rep, -1))
return result
def release_memory(self, seq_id=None, index=None):
......@@ -344,7 +350,9 @@ class AcqDescription:
index: List[int]
channels: List[str]
acquisitions: Dict[str, List[str]]
enabled_channels : Dict[str, List[int]]
enabled_channels: Dict[str, List[int]]
n_rep: int
average_repetitions: bool
@dataclass
class AwgQueueItem:
......
......@@ -18,11 +18,11 @@ class MockM3102A(Instrument):
def slot_number(self):
return self._slot_number
def set_operation_mode(self, value):
def set_operating_mode(self, value):
pass
def set_active_channels(self, channel_list):
self.measure._active_channels = channel_list
self.measure._active_channels = set(channel_list)
@property
def active_channels(self):
......@@ -58,7 +58,7 @@ class ChannelProperties:
class ChannelData:
def __init__(self):
self._active_channels = set([1,2,3,4])
self._data = {i:[] for i in self._active_channels}
self._data = {i:None for i in self._active_channels}
self._ch_properties = {i:ChannelProperties() for i in self._active_channels}
def get_data(self):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment