Esempio n. 1
0
int sgl_init_camera(CameraSgl *camera, CameraErrorCallback callback)
{
	IMAQdxCameraInformation info[CAMERA_INFO_NUM];
	unsigned int 	count;
	IMAQdxError 	error = 0;

	camera->error_callback = callback;
	error = IMAQdxEnumerateCameras (NULL, &count, 0);
	if (count <= 0) {
		goto ERROR_MSG;
	}
	else {
		IMAQdxEnumerateCameras (info, &count, 0);
		dump_camera_info(info, count);
	}

	camera->camera_count = count;
	memcpy(camera->info.camera_info, info, sizeof(info));

	return 0;

ERROR_MSG:
	sgl_camera_message_error(error, camera->error_callback);

	return -1;
}
Esempio n. 2
0
// static function for enumerating cameras
int Camera::EnumerateCameras() {
	uInt32 count = sizeof(camInfo) / sizeof(camInfo[0]);
	// last parameter is "connectedOnly". Why would we want to enumerate non-connected cameras?
	IMAQdxEnumerateCameras(camInfo, &count, true);
	cameraCount = count;
	printf("Cameras (%u):\n", (unsigned int) cameraCount);
	for (uInt32 i = 0; i != cameraCount; i++) {
		cameras[i] = new Camera(i);
		printf("  %s / %s / %s\n", camInfo[i].VendorName, camInfo[i].ModelName,
				camInfo[i].InterfaceName);
	}
	return cameraCount;
}