The write method is changed

Change-Id: I5ffeecfeb43804d1f443e500808d9ff83c507d18
This commit is contained in:
Oksana Shliakhtun 2023-06-27 09:55:34 +02:00
parent a44d232dea
commit 6f6f07b0f9

View File

@ -54,7 +54,7 @@ class XY(HasIO, Readable):
time_const = {name: value for value, name in enumerate(
['10us', '20us', '50us', '100us', '200us', '500us', '1ms', '2ms', '5ms', '10ms',
'20ms', '50ms', '100ms', '200ms', '500ms', '1s', '2s', '5s', '10s', '20s', '50s',
'100s', '200s', '500s', '1ks', '10ks', '20ks', '50ks', '100ks']
'100s', '200s', '500s', '1ks', '2ks', '5ks', '10ks', '20ks', '50ks', '100ks']
)}
tc = Parameter('time const. value', FloatRange(0.00005, 100000), unit='s', readonly=False)
@ -146,12 +146,22 @@ class XY(HasIO, Readable):
reply = self.comm('SEN.') # range value
return float(reply)
def write_range(self):
curr_value = self.read_range()
new_value = self.value
c_ind = self.comparison(curr_value, new_value, self.sen_range)
self.read_irange()
return self.comm(f'SEN {c_ind}')
# def write_range(self, val):
# curr_val = self.read_range
# curr_idx = self.read_irange
#
# close_val = None
# min_diff = None
#
# for idx, value in self.sen_range.items():
# diff = abs(value - val)
# close_idx = self.comparison(curr_val, value, self.sen_range)
# if close_idx ?:
# close_val = value
# close_idx = close_idx
# min_diff = abs(curr_val - close_val)
#
# return self.comm(f'SEN {close_idx}')
def read_nm(self):
reply = self.comm('NOISEMODE')
@ -166,21 +176,24 @@ class XY(HasIO, Readable):
reply = self.comm('TC.')
return float(reply)
def write_tc(self):
pass
def read_itc(self):
return int(self.comm('TC'))
def write_itc(self, new_itc):
curr_value = self.read_itc()
def write_tc(self, new_tc):
curr_value = self.read_tc()
new_value = self.time_const[self.itc]
c_ind = self.comparison(curr_value, new_value, self.time_const)
if abs(curr_value - new_value) < c_ind:
if self.read_nm() == 1 and (5e-4 <= self.time_const[new_itc] <= 1e-2):
raise RangeError('not allowed with noisemode=1')
return self.comm(f'TC {new_itc}')
if self.read_nm() == 1 and (5e-4 <= self.time_const[new_tc] <= 1e-2):
raise RangeError('Not allowed with noisemode=1')
return self.comm(f'TC {new_tc}')
def read_itc(self):
return int(self.comm('TC'))
def write_itc(self, itc):
value = int(itc)
self.comm(f'TC {value}')
self.read_tc()
return value
# phase and autophase
def read_phase(self):