def write_waveform_numpy(self, waveform):
'''write_waveform
Writes waveform to the driver
Args:
waveform (numpy array of float64): Waveform data.
'''
import numpy
if type(waveform) is not numpy.ndarray:
raise TypeError('waveform must be {0}, is {1}'.format(numpy.ndarray, type(waveform)))
if numpy.isfortran(waveform) is True:
raise TypeError('waveform must be in C-order')
if waveform.dtype is not numpy.dtype('float64'):
raise TypeError('waveform must be numpy.ndarray of dtype=float64, is ' + str(waveform.dtype))
vi_ctype = visatype.ViSession(self._vi) # case 1
number_of_samples_ctype = visatype.ViInt32(0 if waveform is None else len(waveform)) # case 6
waveform_ctype = numpy.ctypeslib.as_ctypes(waveform) # case 13.5
error_code = self._library.niFake_WriteWaveform(vi_ctype, number_of_samples_ctype, waveform_ctype)
errors.handle_error(self, error_code, ignore_warnings=False, is_error_handling=False)
return
评论列表
文章目录