diff --git a/picoscope/picobase.py b/picoscope/picobase.py index e02d788..7174c4c 100644 --- a/picoscope/picobase.py +++ b/picoscope/picobase.py @@ -728,7 +728,7 @@ def getDataRaw(self, channel='A', numSamples=0, startIndex=0, segmentIndex) # necessary or else the next call to getValues will try to fill # this array unless it is a call trying to read the same channel. - self._lowLevelClearDataBuffer(channel, segmentIndex) + self._lowLevelClearDataBuffer(channel, downSampleMode, segmentIndex) # overflow is a bitwise mask overflow = bool(overflow & (1 << channel)) @@ -797,7 +797,7 @@ def getDataRawBulk(self, channel='A', numSamples=0, fromSegment=0, # don't leave the API thinking these can be written to later for i, segment in enumerate(range(fromSegment, toSegment + 1)): - self._lowLevelClearDataBuffer(channel, segment) + self._lowLevelClearDataBuffer(channel, downSampleMode, segment) return (data, numSamples, overflow) diff --git a/picoscope/ps2000.py b/picoscope/ps2000.py index 2b5993b..db14972 100644 --- a/picoscope/ps2000.py +++ b/picoscope/ps2000.py @@ -295,7 +295,7 @@ def _lowLevelSetDataBuffer(self, channel, data, downSampleMode, self.channelBuffersPtr[channel] = dataPtr self.channelBuffersLen[channel] = numSamples - def _lowLevelClearDataBuffer(self, channel, segmentIndex): + def _lowLevelClearDataBuffer(self, channel, downSampleMode, segmentIndex): self.channelBuffersPtr[channel] = c_void_p() self.channelBuffersLen[channel] = 0 diff --git a/picoscope/ps2000a.py b/picoscope/ps2000a.py index 4858aaa..5cefc44 100644 --- a/picoscope/ps2000a.py +++ b/picoscope/ps2000a.py @@ -379,11 +379,12 @@ def _lowLevelSetMultipleDataBuffers(self, channel, data, downSampleMode): downSampleMode, i) self.checkResult(m) - def _lowLevelClearDataBuffer(self, channel, segmentIndex): + def _lowLevelClearDataBuffer(self, channel, downSampleMode, segmentIndex): """Clear the data in the picoscope.""" m = self.lib.ps2000aSetDataBuffer( c_int16(self.handle), c_enum(channel), - c_void_p(), c_uint32(0), c_uint32(segmentIndex), c_enum(0)) + c_void_p(), c_uint32(0), + c_uint32(segmentIndex), c_enum(downSampleMode)) self.checkResult(m) def _lowLevelGetValues(self, numSamples, startIndex, downSampleRatio, diff --git a/picoscope/ps3000.py b/picoscope/ps3000.py index a3be722..1f860e2 100644 --- a/picoscope/ps3000.py +++ b/picoscope/ps3000.py @@ -282,7 +282,7 @@ def _lowLevelSetDataBuffer(self, channel, data, downSampleMode, self.channelBuffersPtr[channel] = dataPtr self.channelBuffersLen[channel] = numSamples - def _lowLevelClearDataBuffer(self, channel, segmentIndex): + def _lowLevelClearDataBuffer(self, channel, downSampleMode, segmentIndex): self.channelBuffersPtr[channel] = c_void_p() self.channelBuffersLen[channel] = 0 diff --git a/picoscope/ps3000a.py b/picoscope/ps3000a.py index cf48b66..d30bf05 100644 --- a/picoscope/ps3000a.py +++ b/picoscope/ps3000a.py @@ -406,12 +406,12 @@ def _lowLevelSetMultipleDataBuffers(self, channel, data, downSampleMode): downSampleMode, i) self.checkResult(m) - def _lowLevelClearDataBuffer(self, channel, segmentIndex): + def _lowLevelClearDataBuffer(self, channel, downSampleMode, segmentIndex): m = self.lib.ps3000aSetDataBuffer(c_int16(self.handle), c_enum(channel), c_void_p(), c_uint32(0), c_uint32(segmentIndex), - c_enum(0)) + c_enum(downSampleMode)) self.checkResult(m) def _lowLevelGetValues(self, numSamples, startIndex, downSampleRatio, diff --git a/picoscope/ps4000.py b/picoscope/ps4000.py index 4388f05..e0ebbb1 100644 --- a/picoscope/ps4000.py +++ b/picoscope/ps4000.py @@ -384,9 +384,9 @@ def _lowLevelSetDataBuffer(self, channel, data, downSampleMode, dataPtr, c_uint32(numSamples)) self.checkResult(m) - def _lowLevelClearDataBuffer(self, channel, segmentIndex): + def _lowLevelClearDataBuffer(self, channel, downSampleMode, segmentIndex): m = self.lib.ps4000SetDataBuffer(c_int16(self.handle), c_enum(channel), - c_void_p(), c_uint32(0), c_enum(0)) + c_void_p(), c_uint32(0)) self.checkResult(m) def _lowLevelGetValues(self, numSamples, startIndex, downSampleRatio, @@ -542,7 +542,7 @@ def _lowLevelSetDataBuffers(self, channel, bufferMax, bufferMin, c_uint32(bufferLth)) self.checkResult(m) - def _lowLevelClearDataBuffers(self, channel): + def _lowLevelClearDataBuffers(self, channel, downSampleRatioMode): m = self.lib.ps4000SetDataBuffers( c_int16(self.handle), c_enum(channel), diff --git a/picoscope/ps4000a.py b/picoscope/ps4000a.py index b24f8fe..cb3cb68 100644 --- a/picoscope/ps4000a.py +++ b/picoscope/ps4000a.py @@ -494,11 +494,12 @@ def _lowLevelSetDataBuffer(self, channel, data, downSampleMode, c_uint32(downSampleMode)) self.checkResult(m) - def _lowLevelClearDataBuffer(self, channel, segmentIndex): + def _lowLevelClearDataBuffer(self, channel, downSampleMode, segmentIndex): m = self.lib.ps4000aSetDataBuffer(c_int16(self.handle), c_enum(channel), - c_void_p(), c_uint32(0), c_uint32(0), - c_enum(0)) + c_void_p(), c_uint32(0), + c_uint32(segmentIndex), + c_enum(downSampleMode)) self.checkResult(m) def _lowLevelGetValues(self, numSamples, startIndex, downSampleRatio, @@ -673,7 +674,7 @@ def _lowLevelSetDataBuffers(self, channel, bufferMax, bufferMin, c_uint32(bufferLth)) self.checkResult(m) - def _lowLevelClearDataBuffers(self, channel): + def _lowLevelClearDataBuffers(self, channel, downSampleRatioMode): m = self.lib.ps4000aSetDataBuffers( c_int16(self.handle), c_enum(channel), diff --git a/picoscope/ps5000.py b/picoscope/ps5000.py index 9bc0d74..18c51e6 100644 --- a/picoscope/ps5000.py +++ b/picoscope/ps5000.py @@ -346,9 +346,10 @@ def _lowLevelSetDataBuffer(self, channel, data, downSampleMode, c_enum(downSampleMode)) self.checkResult(m) - def _lowLevelClearDataBuffer(self, channel, segmentIndex): + def _lowLevelClearDataBuffer(self, channel, downSampleMode, segmentIndex): m = self.lib.ps5000SetDataBuffer(c_int16(self.handle), c_enum(channel), - c_void_p(), c_uint32(0), c_enum(0)) + c_void_p(), c_uint32(0), + c_enum(downSampleMode)) self.checkResult(m) def _lowLevelGetValues(self, numSamples, startIndex, downSampleRatio, @@ -497,10 +498,10 @@ def _lowLevelSetDataBuffers(self, channel, bufferMax, bufferMin, c_enum(downSampleRatioMode)) self.checkResult(m) - def _lowLevelClearDataBuffers(self, channel): + def _lowLevelClearDataBuffers(self, channel, downSampleRatioMode): m = self.lib.ps5000SetDataBuffers( c_int16(self.handle), c_enum(channel), - c_void_p(), c_void_p(), c_uint32(0), c_enum(0)) + c_void_p(), c_void_p(), c_uint32(0), c_enum(downSampleRatioMode)) self.checkResult(m) # Bulk values. diff --git a/picoscope/ps5000a.py b/picoscope/ps5000a.py index b439df4..cee6284 100644 --- a/picoscope/ps5000a.py +++ b/picoscope/ps5000a.py @@ -450,12 +450,12 @@ def _lowLevelSetDataBufferBulk(self, channel, data, segmentIndex, downSampleMode, segmentIndex) - def _lowLevelClearDataBuffer(self, channel, segmentIndex): + def _lowLevelClearDataBuffer(self, channel, downSampleMode, segmentIndex): m = self.lib.ps5000aSetDataBuffer(c_int16(self.handle), c_enum(channel), c_void_p(), c_uint32(0), c_uint32(segmentIndex), - c_enum(0)) + c_enum(downSampleMode)) self.checkResult(m) def _lowLevelGetValues(self, numSamples, startIndex, downSampleRatio, diff --git a/picoscope/ps6000.py b/picoscope/ps6000.py index 06622c3..a626012 100644 --- a/picoscope/ps6000.py +++ b/picoscope/ps6000.py @@ -374,9 +374,10 @@ def _lowLevelSetDataBuffer(self, channel, data, downSampleMode, c_enum(downSampleMode)) self.checkResult(m) - def _lowLevelClearDataBuffer(self, channel, segmentIndex): + def _lowLevelClearDataBuffer(self, channel, downSampleMode, segmentIndex): m = self.lib.ps6000SetDataBuffer(c_int16(self.handle), c_enum(channel), - c_void_p(), c_uint32(0), c_enum(0)) + c_void_p(), c_uint32(0), + c_enum(downSampleMode)) self.checkResult(m) def _lowLevelGetValues(self, numSamples, startIndex, downSampleRatio, @@ -499,10 +500,10 @@ def _lowLevelSetDataBuffers(self, channel, bufferMax, bufferMin, c_enum(downSampleRatioMode)) self.checkResult(m) - def _lowLevelClearDataBuffers(self, channel): + def _lowLevelClearDataBuffers(self, downSampleRatioMode, channel): m = self.lib.ps6000SetDataBuffers( c_int16(self.handle), c_enum(channel), - c_void_p(), c_void_p(), c_uint32(0), c_enum(0)) + c_void_p(), c_void_p(), c_uint32(0), c_enum(downSampleRatioMode)) self.checkResult(m) # Bulk values. diff --git a/picoscope/ps6000a.py b/picoscope/ps6000a.py index a235044..ed572f5 100644 --- a/picoscope/ps6000a.py +++ b/picoscope/ps6000a.py @@ -543,8 +543,7 @@ def _lowLevelSetDataBuffer(self, channel, data, downSampleMode, self.ACTIONS['add']) self.checkResult(m) - def _lowLevelClearDataBuffer(self, channel, segmentIndex, - downSampleMode=0): + def _lowLevelClearDataBuffer(self, channel, downSampleMode, segmentIndex): """Clear the buffer for the chosen channel, segment, downSampleMode.""" if downSampleMode == 0: downSampleMode = self.RATIO_MODE['raw'] @@ -558,7 +557,8 @@ def _lowLevelClearDataBuffer(self, channel, segmentIndex, self.ACTIONS['clear_this']) self.checkResult(m) - def _lowLevelClearDataBufferAll(self, channel=1, segmentIndex=0): + def _lowLevelClearDataBufferAll(self, channel=1, downSampleMode=0, + segmentIndex=0): """Clear all the stored buffers for all channels.""" m = self.lib.ps6000aSetDataBuffer(c_int16(self.handle), c_enum(channel), @@ -566,7 +566,7 @@ def _lowLevelClearDataBufferAll(self, channel=1, segmentIndex=0): c_int32(0), self.DATA_TYPES['int16'], c_uint64(segmentIndex), - c_enum(0), + c_enum(downSampleMode), self.ACTIONS['clear_all']) self.checkResult(m) @@ -743,7 +743,7 @@ def _lowLevelSetDataBuffers(self, channel, bufferMax, bufferMin, c_enum(downSampleMode)) self.checkResult(m) - def _lowLevelClearDataBuffers(self, channel): + def _lowLevelClearDataBuffers(self, downSampleMode, channel): raise NotImplementedError() m = self.lib.ps6000aSetDataBuffers( c_int16(self.handle), c_enum(channel),