Example #1
0
    def test_return_string(self):
        value = ctypes.create_string_buffer(b"Hello", 20)
        value = (ctypes.c_char * 20)()
        ret = self.driver.lib.write_in_charp(value, len(value))
        value = value.value.decode('ascii')
        self.assertEqual((ret, value, type(value)), (1, '28G11AC10T32', str))

        ret, value = self.driver.lib.write_in_charp(RetStr(20), 20)
        self.assertEqual((ret, value, type(value)), (1, '28G11AC10T32', str))

        ret, value = self.driver.lib.write_in_charp(*RetStr(20))
        self.assertEqual((ret, value, type(value)), (1, '28G11AC10T32', str))
Example #2
0
 def _return_handler(self, func_name, ret_value):
     if ret_value < 0:
         msg = 'Cannot obtain error message'
         if not func_name == 'DAQmxGetExtendedErrorInfo':
             err, msg = self.lib.DAQmxGetExtendedErrorInfo(
                 *RetStr(default_buf_size * 100))
             if err < 0:
                 msg = 'Cannot obtain error message'
         raise InstrumentError('In {}: {} ({})'.format(
             func_name, msg, ret_value))
     return ret_value
Example #3
0
 def take_image(self):
     """Image acquisition.
     """
     self.queuebuffer(self.userbuffer, self.imagesizebytes)
     self.command("AcquisitionStart")
     self.waitbuffer(*RetStr(1))
     self.command("AcquisitionStop")
     self.flush()
     image = np.fromstring(self.userbuffer,
                           dtype=np.uint32,
                           count=self.length)
     image.shape = (self.height, self.width)
     return image
Example #4
0
 def take_image(self, numbuff, numframes):
     """Image acquisition with circular buffer.
     """
     imagesizebytes = self.getint("ImageSizeBytes")
     userbuffer = []
     for i in range(numbuff):
         userbuffer.append(ct.create_string_buffer(' ' * imagesizebytes))
     self.queuebuffer(userbuffer, imagesizebytes)
     self.command("AcquisitionStart")
     for i in range(numbuff):
         self.waitbuffer(*RetStr(1))
         self.queuebuffer(userbuffer[i], imagesizebytes)
     self.command("AcquisitionStop")
     self.flush()
     image = np.fromstring(userbuffer[0],
                           dtype=np.uint32,
                           count=self.length)
     image.shape = (self.height, self.width)
     return image
Example #5
0
 def device_names(self):
     """Indicates the names of all devices installed in the system.
     """
     err, buf = self.lib.DAQmxGetSysDevNames(*RetStr(default_buf_size))
     names = tuple(n.strip() for n in buf.split(',') if n.strip())
     return names