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( time_const = {name: value for value, name in enumerate(
['10us', '20us', '50us', '100us', '200us', '500us', '1ms', '2ms', '5ms', '10ms', ['10us', '20us', '50us', '100us', '200us', '500us', '1ms', '2ms', '5ms', '10ms',
'20ms', '50ms', '100ms', '200ms', '500ms', '1s', '2s', '5s', '10s', '20s', '50s', '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) 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 reply = self.comm('SEN.') # range value
return float(reply) return float(reply)
def write_range(self): # def write_range(self, val):
curr_value = self.read_range() # curr_val = self.read_range
new_value = self.value # curr_idx = self.read_irange
c_ind = self.comparison(curr_value, new_value, self.sen_range) #
self.read_irange() # close_val = None
return self.comm(f'SEN {c_ind}') # 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): def read_nm(self):
reply = self.comm('NOISEMODE') reply = self.comm('NOISEMODE')
@ -166,21 +176,24 @@ class XY(HasIO, Readable):
reply = self.comm('TC.') reply = self.comm('TC.')
return float(reply) return float(reply)
def write_tc(self): def write_tc(self, new_tc):
pass curr_value = self.read_tc()
def read_itc(self):
return int(self.comm('TC'))
def write_itc(self, new_itc):
curr_value = self.read_itc()
new_value = self.time_const[self.itc] new_value = self.time_const[self.itc]
c_ind = self.comparison(curr_value, new_value, self.time_const) c_ind = self.comparison(curr_value, new_value, self.time_const)
if abs(curr_value - new_value) < c_ind: if abs(curr_value - new_value) < c_ind:
if self.read_nm() == 1 and (5e-4 <= self.time_const[new_itc] <= 1e-2): if self.read_nm() == 1 and (5e-4 <= self.time_const[new_tc] <= 1e-2):
raise RangeError('not allowed with noisemode=1') raise RangeError('Not allowed with noisemode=1')
return self.comm(f'TC {new_itc}') 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 # phase and autophase
def read_phase(self): def read_phase(self):