aboutsummaryrefslogtreecommitdiff
path: root/qolab/hardware/scope/sds800xhd.py
diff options
context:
space:
mode:
Diffstat (limited to 'qolab/hardware/scope/sds800xhd.py')
-rw-r--r--qolab/hardware/scope/sds800xhd.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/qolab/hardware/scope/sds800xhd.py b/qolab/hardware/scope/sds800xhd.py
index 350d53d..5fe42de 100644
--- a/qolab/hardware/scope/sds800xhd.py
+++ b/qolab/hardware/scope/sds800xhd.py
@@ -57,7 +57,12 @@ class SDS800XHD(SDS1104X):
return float(numberString)
def getRawWaveform(
- self, chNum, availableNpnts=None, maxRequiredPoints=None, decimate=True
+ self,
+ chNum,
+ availableNpnts=None,
+ maxRequiredPoints=None,
+ decimate=True,
+ fmath=False
):
"""
Get raw channel waveform in binary format.
@@ -131,7 +136,10 @@ class SDS800XHD(SDS1104X):
self.write(f":WAVeform:POINt {Npnts}") # transfer all points
trRaw = Trace(f"Ch{chNum}")
- self.write(f":WAVeform:SOURce C{chNum}")
+ if fmath:
+ self.write(f":WAVeform:SOURce F{chNum}")
+ else:
+ self.write(f":WAVeform:SOURce C{chNum}")
qstr = ":WAVeform:DATA?"
if self.resource.interface_type == InterfaceType.usb:
# Setting chunk size to 496 bytes, it seems that SDS sends data
@@ -226,7 +234,12 @@ class SDS800XHD(SDS1104X):
return preamble
def getWaveform(
- self, chNum, availableNpnts=None, maxRequiredPoints=None, decimate=True
+ self,
+ chNum,
+ availableNpnts=None,
+ maxRequiredPoints=None,
+ decimate=True,
+ fmath=False
):
"""
For decimate use see ``getRawWaveform``.
@@ -238,6 +251,7 @@ class SDS800XHD(SDS1104X):
availableNpnts=availableNpnts,
maxRequiredPoints=maxRequiredPoints,
decimate=decimate,
+ fmath=fmath
)
preamble = self.getParsedPreamble()
VoltageOffset = preamble["verticalOffset"]