void ListCameras() { tPvCameraInfo cameraList[MAX_CAMERA_LIST]; unsigned long cameraNum = 0; unsigned long cameraRle; // first, get list of reachable cameras. cameraNum = PvCameraList(cameraList,MAX_CAMERA_LIST,NULL); // keep how many cameras listed are reachable cameraRle = cameraNum; // then we append the list of unreachable cameras. if (cameraNum < MAX_CAMERA_LIST) { cameraNum += PvCameraListUnreachable(&cameraList[cameraNum], MAX_CAMERA_LIST-cameraNum, NULL); } if(cameraNum) { // and display them for(unsigned int i=0;i<cameraNum;i++) { if(i < cameraRle) printf("%s - %7s - Unique ID = %lu\n",cameraList[i].SerialString, cameraList[i].DisplayName, cameraList[i].UniqueId); else printf("%s - %7s - Unique ID = %lu (*)\n",cameraList[i].SerialString, cameraList[i].DisplayName, cameraList[i].UniqueId); } if(cameraNum != cameraRle) printf("(*) camera is not reachable\n"); } else printf("sorry, no camera was detected. Is there any plugged?\n"); }
void ListCameras() { tPvCameraInfo cameraList[MAX_CAMERA_LIST]; unsigned long cameraNum = 0; unsigned long cameraRle; while(gStop == false) { printf("***********************************\n"); // first, get list of reachable cameras. cameraNum = PvCameraList(cameraList,MAX_CAMERA_LIST,NULL); // keep how many cameras listed are reachable cameraRle = cameraNum; // then we append the list of unreachable cameras. if (cameraNum < MAX_CAMERA_LIST) { cameraNum += PvCameraListUnreachable(&cameraList[cameraNum], MAX_CAMERA_LIST-cameraNum, NULL); } if(cameraNum) { struct in_addr addr; tPvIpSettings Conf; tPvErr lErr; // display info for(unsigned long i=0;i<cameraNum;i++) { if(i < cameraRle) { // get the camera's IP configuration if((lErr = PvCameraIpSettingsGet(cameraList[i].UniqueId,&Conf)) == ePvErrSuccess) { addr.s_addr = Conf.CurrentIpAddress; printf("%s - %8s - Unique ID = % 8lu IP@ = %15s [%s]\n",cameraList[i].SerialString, cameraList[i].DisplayName, cameraList[i].UniqueId, inet_ntoa(addr), cameraList[i].PermittedAccess & ePvAccessMaster ? "available" : "in use"); } else printf("%s - %8s - Unique ID = % 8lu (unavailable, %u)\n",cameraList[i].SerialString, cameraList[i].DisplayName, cameraList[i].UniqueId,lErr); } else printf("%s - %8s - Unique ID = % 8lu (*)\n",cameraList[i].SerialString, cameraList[i].DisplayName, cameraList[i].UniqueId); } if(cameraNum != cameraRle) printf("(*) camera is not reachable\n"); } else printf("No camera detected ...\n"); fflush(stdout); Sleep(1500); } printf("**************************************\n"); }