def get_samples(self): # Checks data collection to finish the capture ready = ctypes.c_int16(0) check = ctypes.c_int16(0) while ready.value == check.value: # Note: we assume that the AUTOTRIGGER function is used here self.status["isReady"] = ps.ps3000aIsReady(self.chandle, ctypes.byref(ready)) # Handle = chandle # start index = 0 # noOfSamples = ctypes.byref(cmaxSamples) # DownSampleRatio = 0 # DownSampleRatioMode = 0 # SegmentIndex = 0 # Overflow = ctypes.byref(overflow) self.status["GetValues"] = ps.ps3000aGetValues( self.chandle, 0, ctypes.byref(self.cmaxSamples), 0, 0, 0, ctypes.byref(self.overflow)) assert_pico_ok(self.status["GetValues"]) # Finds the max ADC count # Handle = chandle # Value = ctype.byref(maxADC) maxADC = ctypes.c_int16() self.status["maximumValue"] = ps.ps3000aMaximumValue( self.chandle, ctypes.byref(maxADC)) assert_pico_ok(self.status["maximumValue"]) # Converts ADC from channel A to mV adc2mVChAMax = adc2mV(self.bufferAMax, self.chARange, maxADC) # Creates the time data #time = np.linspace(0, (self.cmaxSamples.value) * timeIntervalns.value, self.cmaxSamples.value) #print self.bufferAMax #return np.array(self.bufferAMax,dtype='int16') return np.array(adc2mVChAMax)
0, None, None) assert_pico_ok(status["runblock"]) # Creates a overflow location for data overflow = (ctypes.c_int16 * 10)() # Creates converted types totalSamples cTotalSamples = ctypes.c_int32(totalSamples) # Checks data collection to finish the capture ready = ctypes.c_int16(0) check = ctypes.c_int16(0) while ready.value == check.value: status["isReady"] = ps.ps3000aIsReady(chandle, ctypes.byref(ready)) # Handle = chandle # start index = 0 # noOfSamples = ctypes.byref(cTotalSamples) # DownSampleRatio = 1 # DownSampleRatioMode = 0 # SegmentIndex = 0 # Overflow = ctypes.byref(overflow) status["GetValues"] = ps.ps3000aGetValues(chandle, 0, ctypes.byref(cTotalSamples), 1, 0, 0, ctypes.byref(overflow)) assert_pico_ok(status["GetValues"]) print "Data collection complete." # Obtain binary for Digital Port 0