From a69567b9e65b4efa619a778e952489bf84ca19eb Mon Sep 17 00:00:00 2001 From: Axel Fischer Date: Mon, 26 Aug 2024 14:52:34 +0200 Subject: [PATCH] Agilent B29xx -> Pulse is triggered in phase 'measure', obsolete case-check (if self.pulse) removed. commented print() removed --- src/SMU-Agilent_B29xx/main.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/SMU-Agilent_B29xx/main.py b/src/SMU-Agilent_B29xx/main.py index f5bf6189..a09eeac7 100644 --- a/src/SMU-Agilent_B29xx/main.py +++ b/src/SMU-Agilent_B29xx/main.py @@ -95,7 +95,6 @@ def set_GUIparameter(self): return gui_parameter def get_GUIparameter(self, parameter={}): - #print(parameter) self.four_wire = parameter['4wire'] self.source = parameter['SweepMode'] @@ -425,14 +424,20 @@ def apply(self): if self.source.startswith("Voltage"): self.port.write(":SOUR%s:VOLT:STAR %s" % (self.channel, value)) self.port.write(":SOUR%s:VOLT:STOP %s" % (self.channel, value)) - - # releasing the pulse trigger - self.port.write(":INIT (@%s)" % self.channel) - + + # pulse is finally triggered in 'measure' phase + # in 'apply' the pulse is only setup + else: # set output to specified values self.port.write(":SOUR%s:%s %s" % (self.channel, self.commands[self.source], value)) + def measure(self): + + if self.pulse: + # releasing the pulse trigger, just at the moment when the measurement should be performed + self.port.write(":INIT (@%s)" % self.channel) + def call(self): if self.pulse: @@ -455,7 +460,6 @@ def call(self): opcounter += 1 time.sleep(0.5) - if self.pulse: self.port.write( ":FETC:ARR? (@%s)" % self.channel) # get measured values taken during pulse release out of the memory else: