예제 #1
0
    def run(self):

        for signum in (signal.SIGTERM, signal.SIGINT):
            signal.signal(signum, self._signal_handler)

        with uvclite.UVCContext() as context:
            self._cap_dev = context.find_device()
            self._cap_dev.open()
            self._cap_dev.set_callback(self._read_callback, 1234)
            # self._cap_dev.set_stream_format()
            self._cap_dev.start_streaming()
            while self._process_running:
                command = self._comm_pipe.recv()
                if command[0] == 100:
                    if not self._is_reading:
                        self._is_reading = True
                        #self._read_thread = threading.Thread(target=self._read)
                        #self._read_thread.start()
                        print("Start Streaming")
                elif command[0] == 200:
                    if self._is_reading:
                        self._is_reading = False
                        print("Stop Streaming")
                elif command[0] == 300:
                    print("Close Capture device")
                    self._is_reading = False
                    break
            print("Closing")
            self._comm_pipe.close()
            self._cap_dev.stop_streaming()
            self._cap_dev.close()
예제 #2
0
    def run(self):
        for signum in (signal.SIGTERM, signal.SIGINT):
            signal.signal(signum, self._signal_handler)

        with uvclite.UVCContext() as context:
            self._cap_dev = context.find_device()
            self._cap_dev.open()
            self._cap_dev.set_callback(self._read_callback, 1234)

            print("UVC Ready to Capture")
            while self._process_running:
                command = self._comm_pipe.recv()
                if command == 'START':
                    self._cap_dev.start_streaming()
                elif command == 'STOP':
                    self._cap_dev.stop_streaming()
                elif command == 'CLOSE':
                    print("Close Capture device")
                    self._process_running = False
                    break
            self._cap_dev.close()
            self._comm_pipe.close()
예제 #3
0
from __future__ import print_function
import uvclite

if __name__ == '__main__':
    with uvclite.UVCContext() as context:
        devlist = context.get_device_list()
        #dev = context.find_device()
        print(len(devlist))

        for dev in devlist:
            devdesc = dev.get_device_descriptor()
            print("Vendor ID: %d" % devdesc.idVendor)
            print("Product ID: %d" % devdesc.idProduct)
            print("UVC Standard: %d" % devdesc.bcdUVC)
            print("Serial Number: %s" % devdesc.serialNumber)
            print("Manufacturer: %s" % devdesc.manufacturer)
            print("Product Name %s" % devdesc.product)
            dev.free_device_descriptor()
            print("Freed descriptor")

        devlist = context.get_device_list()
        #dev = context.find_device()
        print(len(devlist))

        for dev in devlist:
            dev.open()
            dev.print_diagnostics()
            dev.close()