Syntax
PXL_RETURN_CODE PxLSetFeature ( HANDLE hCamera, U32 featureId, U32 flags, U32 numParams, float const * pParams );
Description
This function sets the value and flags of the selected camera feature.
hCamera is the camera handle. This value is returned by PxLInitializeEx.
featureId is the feature ID. For a list of the possible values, see PixeLINKTypes.h or feature types.
flags are the properties to be set for the feature. Feature flags are defined in the file PixeLINKTypes.h.
Note : Exactly one of the following flags must be set when the function is called
FEATURE_FLAG_MANUAL—The application is controlling the feature by sending parameters to the camera.
FEATURE_FLAG_AUTO—Ask the camera to automatically control the feature continuously. No intervention by the user is possible.
FEATURE_FLAG_OFF—The feature is disabled. The exact effect of turning a feature OFF depends on the camera and the specific feature.
FEATURE_FLAG_ONEPUSH—The camera sets the feature only once and then returns to manual operation. This flag will be cleared by the camera when the operation is finished.
numParams is the number of parameters in the pParams array
pParams is the pointer to the array of values for the feature.
Usage
U32 flags = 0; U32 numParams = 1; float* params; PXL_RETURN_CODE rc; // Determine the number of parameters // So that we can read the current parameters and flags rc = PxLGetFeature(hCamera, FEATURE_SHUTTER, &flags, &numParams, NULL); params = (float *)malloc(sizeof(float)*numParams); // Read the current flags and parameter setting rc = PxLGetFeature(hCamera, FEATURE_SHUTTER, &flags, &numParams, params); // Select a new exposure value. params[0] = 0.0001; rc = PxLSetFeature(hCamera, FEATURE_SHUTTER, FEATURE_FLAG_MANUAL, numParams, params); if (!API_SUCCESS(rc)) { // Error handling here. }
dotNET Usage
float[] newExposure = new float[1]; newExposure[0] = 0.0034; ReturnCode rc = Api.SetFeature(hCamera, Feature.Shutter, FeatureFlags.Manual, 1, newExposure); if(!Api.IsSuccess(rc)) { //Error handling here }
Comments, Restrictions and Limitations
Features
Features are camera dependent. The PxLGetCameraFeatures function should be used to identify the presence and range of all features present in the camera.
When using this function, remember to review the error return codes. Setting a value out of range, setting an unsupported flag or accessing an unsupported feature will cause an error. See PxLGetErrorReport.
The following features can only be set if the stream state is turned off (STOP_STREAM) or paused (PAUSED_STREAM). See PxLSetStreamState.
FEATURE_LOOKUP_TABLE
FEATURE_FRAME_RATE
FEATURE_PIXEL_FORMAT
FEATURE_PIXEL_ADDRESSING
FEATURE_TRIGGER
FEATURE_ROI
FEATURE_IMAGER_CLK_DIVISOR
Using PxLSetFeature with descriptors
PxLSetFeature can change the settings of any custom descriptors that are in use. Custom descriptors are managed using the advanced functions.
Note that if all descriptors are in focus at once (rather than just a single descriptor), calling PxLSetFeature will set the properties in all descriptors simultaneously.