Ejemplo n.º 1
0
    def _getCameraInfos(self):
        """
        Gets camera info of all attached cameras.

        :returns: list -- camera info for available cameras.
        """
        if self._cameraInfos is None:
            # args
            dummyCameraInfo = structs.VimbaCameraInfo()
            numFound = c_uint32(-1)

            # call once just to get the number of cameras
            # Vimba DLL will return an error code
            errorCode = VimbaDLL.camerasList(byref(dummyCameraInfo), 0,
                                             byref(numFound),
                                             sizeof(dummyCameraInfo))
            if errorCode != 0 and errorCode != -9:
                print errorCode
                raise VimbaException(errorCode)

            numCameras = numFound.value

            # args
            cameraInfoArray = (structs.VimbaCameraInfo * numCameras)()

            # call again to get the features
            # Vimba DLL will return an error code
            errorCode = VimbaDLL.camerasList(cameraInfoArray, numCameras,
                                             byref(numFound),
                                             sizeof(dummyCameraInfo))
            if errorCode != 0:
                raise VimbaException(errorCode)
            self._cameraInfos = list(camInfo for camInfo in cameraInfoArray)
        return self._cameraInfos
Ejemplo n.º 2
0
    def _getCameraInfos(self):
        """
        Gets camera info of all attached cameras.

        :returns: list -- camera info for available cameras.
        """
        # args
        dummyCameraInfo = structs.VimbaCameraInfo()
        numFound = c_uint32(-1)

        # call once just to get the number of cameras
        # Vimba DLL will return an error code
        errorCode = VimbaDLL.camerasList(byref(dummyCameraInfo),
                                         0,
                                         byref(numFound),
                                         sizeof(dummyCameraInfo))
        if errorCode != 0 and errorCode != -9:
            raise VimbaException(errorCode)

        numCameras = numFound.value

        # args
        cameraInfoArray = (structs.VimbaCameraInfo * numCameras)()

        # call again to get the features
        # Vimba DLL will return an error code
        errorCode = VimbaDLL.camerasList(cameraInfoArray,
                                         numCameras,
                                         byref(numFound),
                                         sizeof(dummyCameraInfo))
        if errorCode != 0:
            raise VimbaException(errorCode)
        return list(camInfo for camInfo in cameraInfoArray)