From f5885c49b4eb5a3d2d5b7ff73f9834876ef8f5e1 Mon Sep 17 00:00:00 2001 From: Jasper-Harvey0 Date: Thu, 12 Mar 2026 08:48:08 +1100 Subject: [PATCH 1/4] Update release notes. --- docs/release-notes.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release-notes.rst b/docs/release-notes.rst index f67c605..b6fc892 100644 --- a/docs/release-notes.rst +++ b/docs/release-notes.rst @@ -25,6 +25,7 @@ Improvements - Created a new FixateError base class for all exceptions raised by fixate to use. It inherits from Exception instead of BaseExcepetion to improve error handling. - DSO Driver function 'waveform_values' now returns a single channels x and y data as two separate lists, without re-acquiring the signal. This function should now be called after performing signal acquisition. +- Invert channel funciton implemented in the DSO driver. ************* Version 0.6.4 From 5cfca5402fbda3ed992c874beb1d53f60ded7388 Mon Sep 17 00:00:00 2001 From: Jasper-Harvey0 Date: Thu, 12 Mar 2026 08:49:08 +1100 Subject: [PATCH 2/4] Add invert function. --- src/fixate/drivers/dso/agilent_mso_x.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/fixate/drivers/dso/agilent_mso_x.py b/src/fixate/drivers/dso/agilent_mso_x.py index 7de7d04..5472207 100644 --- a/src/fixate/drivers/dso/agilent_mso_x.py +++ b/src/fixate/drivers/dso/agilent_mso_x.py @@ -54,6 +54,10 @@ def __init__(self, instrument): ("ch2.offset", self.write, "CHAN2:OFFS {value}"), ("ch3.offset", self.write, "CHAN3:OFFS {value}"), ("ch4.offset", self.write, "CHAN4:OFFS {value}"), + ("ch1.invert", self.write, "CHAN1:INV {value:n}"), + ("ch2.invert", self.write, "CHAN2:INV {value:n}"), + ("ch3.invert", self.write, "CHAN3:INV {value:n}"), + ("ch4.invert", self.write, "CHAN4:INV {value:n}"), ("ch1.coupling.ac", self.write, "CHAN1:COUP AC"), ("ch2.coupling.ac", self.write, "CHAN2:COUP AC"), ("ch3.coupling.ac", self.write, "CHAN3:COUP AC"), From 41dddbe6181c4165a1e0a3dc6a986fc535a0acb2 Mon Sep 17 00:00:00 2001 From: Jasper-Harvey0 Date: Fri, 13 Mar 2026 08:47:28 +1100 Subject: [PATCH 3/4] Add invert function, and vtime function --- src/fixate/drivers/dso/agilent_mso_x.py | 5 +++++ src/fixate/drivers/dso/helper.py | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/fixate/drivers/dso/agilent_mso_x.py b/src/fixate/drivers/dso/agilent_mso_x.py index 5472207..36fce6f 100644 --- a/src/fixate/drivers/dso/agilent_mso_x.py +++ b/src/fixate/drivers/dso/agilent_mso_x.py @@ -128,6 +128,11 @@ def __init__(self, instrument): self.query_after_acquire, "MEAS:VRAT? DISP,{self._store[source1]},{self._store[source2]}", ), + ( + "measure.vtime", + self.query_after_acquire, + "MEAS:VTIM? {time}, CHAN{channel:n}", + ), # Ch1 Measure ("measure.counter.ch1", self.query_after_acquire, "MEAS:COUN? CHAN1"), ("measure.duty.ch1", self.query_after_acquire, "MEAS:DUTY? CHAN1"), diff --git a/src/fixate/drivers/dso/helper.py b/src/fixate/drivers/dso/helper.py index bda2fb7..b3dc928 100644 --- a/src/fixate/drivers/dso/helper.py +++ b/src/fixate/drivers/dso/helper.py @@ -704,6 +704,16 @@ def __init__(self): self.xmax = MeasureAllSources() self.xmin = MeasureAllSources() + def vtime(self, time: float, channel: int): + """ + Return the y value of a channel at the requested time. + """ + raise InstrumentFeatureUnavailable( + "{} not available on this device".format( + inspect.currentframe().f_code.co_name + ) + ) + class MultiSlopes(CallableNoArgs): def __init__(self): From 02dce6336e6c9df9b4a169c3c03740e63a0e238d Mon Sep 17 00:00:00 2001 From: Jasper-Harvey0 Date: Fri, 13 Mar 2026 08:49:34 +1100 Subject: [PATCH 4/4] Update release notes. --- docs/release-notes.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes.rst b/docs/release-notes.rst index b6fc892..2843ac9 100644 --- a/docs/release-notes.rst +++ b/docs/release-notes.rst @@ -25,7 +25,7 @@ Improvements - Created a new FixateError base class for all exceptions raised by fixate to use. It inherits from Exception instead of BaseExcepetion to improve error handling. - DSO Driver function 'waveform_values' now returns a single channels x and y data as two separate lists, without re-acquiring the signal. This function should now be called after performing signal acquisition. -- Invert channel funciton implemented in the DSO driver. +- Invert channel and vtime funcitons implemented in the DSO driver. ************* Version 0.6.4