Fixed a bug in the OTFModule

This commit is contained in:
2025-07-23 11:42:30 +02:00
parent bfea1263ae
commit ff75c9ecbf
2 changed files with 27 additions and 9 deletions

View File

@@ -42,7 +42,8 @@ class ZVLNode(fc.Readable):
def acq(self):
self.status = ('BUSY', 'acquiring')
self.NA.set_freq_span(self.central_freq, self.freq_span)
self.value = self.NA.get_data()[1]
freq, vals = self.NA.get_data()
self.value = { 'frequencies': freq, 'magnitudes': vals }
self.status = ('IDLE', 'idle')
def write_calibration(self, f):

View File

@@ -76,7 +76,10 @@ class ProgrammedSequence(fc.Readable):
pollinterval = fc.Parameter(default=1)
# basic
title = fc.Parameter('title', fc.StringType(), default='Sequence', readonly=False)
sample = fc.Parameter('sample', fc.StringType(), default='', readonly=False)
comments = fc.Parameter('comments', fc.StringType(), default='', readonly=False)
nucleus = fc.Parameter('nucleus', fc.StringType(), default='', readonly=False)
sequence_data = fc.Parameter('sequence_config', fc.ArrayOf(fc.StructOf(pulse_width=fc.FloatRange(unit='usecs'),
pulse_height=fc.FloatRange(unit='%'),
delay_time=fc.FloatRange(unit='usecs'),
@@ -108,7 +111,7 @@ class ProgrammedSequence(fc.Readable):
self.ntnmr = te.TNMR()
self.inited = True
except Exception as e:
print(str(e), repr(e))
traceback.print_exc()
self.ntnmr = None
self.inited = False
return self.ntnmr
@@ -136,18 +139,29 @@ class ProgrammedSequence(fc.Readable):
def stop(self):
try:
self.tnmr().get_instance().Abort
self.tnmr().get_instance().Abort()
self.status = ('IDLE', 'ok - killed')
except:
traceback.print_exc()
pass
### READ/WRITE
def write_title(self, t):
self.title = t
def write_sample(self, t):
self.sample = t
self.status = ('IDLE', 'ok - uncompiled')
return self.read_title()
return self.read_sample()
def write_comments(self, t):
self.comments = t
self.status = ('IDLE', 'ok - uncompiled')
return self.read_comments()
def write_nucleus(self, t):
self.nucleus = t
self.status = ('IDLE', 'ok - uncompiled')
return self.read_nucleus()
def write_acquisition_time(self, t):
self.acquisition_time = t
self.status = ('IDLE', 'ok - uncompiled')
@@ -245,6 +259,9 @@ class ProgrammedSequence(fc.Readable):
self.compiled_parameters['acq_phase_cycle'] = self.acq_phase_cycle
self.compiled_parameters['num_scans'] = self.read_num_scans()
self.compiled_parameters['obs_freq'] = self.read_obs_freq()
self.compiled_parameters['comments'] = self.read_comments()
self.compiled_parameters['nucleus'] = self.read_nucleus()
self.compiled_parameters['sample'] = self.read_sample()
# then, load the thing into TNMR
self.tnmr().load_sequence(filename)