Merge pull request #2144 from nickdademo:pvapi_framestarttriggermode
This commit is contained in:
commit
ccbceb56c4
@ -389,9 +389,17 @@ enum { CAP_PROP_GSTREAMER_QUEUE_LENGTH = 200 // default is 1
|
|||||||
|
|
||||||
|
|
||||||
// PVAPI
|
// PVAPI
|
||||||
enum { CAP_PROP_PVAPI_MULTICASTIP = 300 // ip for anable multicast master mode. 0 for disable multicast
|
enum { CAP_PROP_PVAPI_MULTICASTIP = 300, // ip for anable multicast master mode. 0 for disable multicast
|
||||||
|
CAP_PROP_PVAPI_FRAMESTARTTRIGGERMODE = 301 // FrameStartTriggerMode: Determines how a frame is initiated
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// PVAPI: FrameStartTriggerMode
|
||||||
|
enum { CAP_PVAPI_FSTRIGMODE_FREERUN = 0, // Freerun
|
||||||
|
CAP_PVAPI_FSTRIGMODE_SYNCIN1 = 1, // SyncIn1
|
||||||
|
CAP_PVAPI_FSTRIGMODE_SYNCIN2 = 2, // SyncIn2
|
||||||
|
CAP_PVAPI_FSTRIGMODE_FIXEDRATE = 3, // FixedRate
|
||||||
|
CAP_PVAPI_FSTRIGMODE_SOFTWARE = 4 // Software
|
||||||
|
};
|
||||||
|
|
||||||
// Properties of cameras available through XIMEA SDK interface
|
// Properties of cameras available through XIMEA SDK interface
|
||||||
enum { CAP_PROP_XI_DOWNSAMPLING = 400, // Change image resolution by binning or skipping.
|
enum { CAP_PROP_XI_DOWNSAMPLING = 400, // Change image resolution by binning or skipping.
|
||||||
|
@ -426,7 +426,10 @@ enum
|
|||||||
|
|
||||||
// Properties of cameras available through GStreamer interface
|
// Properties of cameras available through GStreamer interface
|
||||||
CV_CAP_GSTREAMER_QUEUE_LENGTH = 200, // default is 1
|
CV_CAP_GSTREAMER_QUEUE_LENGTH = 200, // default is 1
|
||||||
|
|
||||||
|
// PVAPI
|
||||||
CV_CAP_PROP_PVAPI_MULTICASTIP = 300, // ip for anable multicast master mode. 0 for disable multicast
|
CV_CAP_PROP_PVAPI_MULTICASTIP = 300, // ip for anable multicast master mode. 0 for disable multicast
|
||||||
|
CV_CAP_PROP_PVAPI_FRAMESTARTTRIGGERMODE = 301, // FrameStartTriggerMode: Determines how a frame is initiated
|
||||||
|
|
||||||
// Properties of cameras available through XIMEA SDK interface
|
// Properties of cameras available through XIMEA SDK interface
|
||||||
CV_CAP_PROP_XI_DOWNSAMPLING = 400, // Change image resolution by binning or skipping.
|
CV_CAP_PROP_XI_DOWNSAMPLING = 400, // Change image resolution by binning or skipping.
|
||||||
|
@ -254,6 +254,11 @@ double CvCaptureCAM_PvAPI::getProperty( int property_id )
|
|||||||
case CV_CAP_PROP_FRAME_HEIGHT:
|
case CV_CAP_PROP_FRAME_HEIGHT:
|
||||||
PvAttrUint32Get(Camera.Handle, "Height", &nTemp);
|
PvAttrUint32Get(Camera.Handle, "Height", &nTemp);
|
||||||
return (double)nTemp;
|
return (double)nTemp;
|
||||||
|
case CV_CAP_PROP_MONOCROME:
|
||||||
|
if (monocrome)
|
||||||
|
return 1;
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
case CV_CAP_PROP_EXPOSURE:
|
case CV_CAP_PROP_EXPOSURE:
|
||||||
PvAttrUint32Get(Camera.Handle,"ExposureValue",&nTemp);
|
PvAttrUint32Get(Camera.Handle,"ExposureValue",&nTemp);
|
||||||
return (double)nTemp;
|
return (double)nTemp;
|
||||||
@ -280,6 +285,21 @@ double CvCaptureCAM_PvAPI::getProperty( int property_id )
|
|||||||
case CV_CAP_PROP_GAIN:
|
case CV_CAP_PROP_GAIN:
|
||||||
PvAttrUint32Get(Camera.Handle, "GainValue", &nTemp);
|
PvAttrUint32Get(Camera.Handle, "GainValue", &nTemp);
|
||||||
return (double)nTemp;
|
return (double)nTemp;
|
||||||
|
case CV_CAP_PROP_PVAPI_FRAMESTARTTRIGGERMODE:
|
||||||
|
char triggerMode[256];
|
||||||
|
PvAttrEnumGet(Camera.Handle, "FrameStartTriggerMode", triggerMode, 256, NULL);
|
||||||
|
if (strcmp(triggerMode, "Freerun")==0)
|
||||||
|
return 0.0;
|
||||||
|
else if (strcmp(triggerMode, "SyncIn1")==0)
|
||||||
|
return 1.0;
|
||||||
|
else if (strcmp(triggerMode, "SyncIn2")==0)
|
||||||
|
return 2.0;
|
||||||
|
else if (strcmp(triggerMode, "FixedRate")==0)
|
||||||
|
return 3.0;
|
||||||
|
else if (strcmp(triggerMode, "Software")==0)
|
||||||
|
return 4.0;
|
||||||
|
else
|
||||||
|
return -1.0;
|
||||||
}
|
}
|
||||||
return -1.0;
|
return -1.0;
|
||||||
}
|
}
|
||||||
@ -368,6 +388,24 @@ bool CvCaptureCAM_PvAPI::setProperty( int property_id, double value )
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case CV_CAP_PROP_PVAPI_FRAMESTARTTRIGGERMODE:
|
||||||
|
tPvErr error;
|
||||||
|
if (value==0)
|
||||||
|
error = PvAttrEnumSet(Camera.Handle, "FrameStartTriggerMode", "Freerun");
|
||||||
|
else if (value==1)
|
||||||
|
error = PvAttrEnumSet(Camera.Handle, "FrameStartTriggerMode", "SyncIn1");
|
||||||
|
else if (value==2)
|
||||||
|
error = PvAttrEnumSet(Camera.Handle, "FrameStartTriggerMode", "SyncIn2");
|
||||||
|
else if (value==3)
|
||||||
|
error = PvAttrEnumSet(Camera.Handle, "FrameStartTriggerMode", "FixedRate");
|
||||||
|
else if (value==4)
|
||||||
|
error = PvAttrEnumSet(Camera.Handle, "FrameStartTriggerMode", "Software");
|
||||||
|
else
|
||||||
|
error = ePvErrOutOfRange;
|
||||||
|
if(error==ePvErrSuccess)
|
||||||
|
break;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user