void set_property_value(fleaCamera* camera, fc2PropertyType type, float value) { fc2Property prop; prop.type = type; fc2GetProperty(camera->context, &prop); prop.absControl = TRUE; prop.absValue = value; fc2SetProperty(camera->context, &prop); return; }
void set_gain(fleaCamera* camera, int autoMode, int onOff, float absValue) { fc2Property prop; prop.type = FC2_GAIN; prop.onOff = onOff; prop.autoManualMode = autoMode; prop.absControl = TRUE; prop.absValue = absValue; fc2SetProperty(camera->context, &prop ); return; }
// // idlpgr_SetProperty // // Write property values to camera // // Reference: FlyCapture2Defs_C.h // void IDL_CDECL idlpgr_SetProperty(int argc, IDL_VPTR argv[]) { fc2Error error; fc2Context context; fc2Property property; char *sname; context = (fc2Context) IDL_ULong64Scalar(argv[0]); IDL_ENSURE_STRUCTURE(argv[1]); IDL_StructTagNameByIndex(argv[1]->value.s.sdef, 0, IDL_MSG_LONGJMP, &sname); if (strcmp(sname, "fc2Property")) IDL_MessageFromBlock(msgs, M_IDLPGR_ERROR, IDL_MSG_LONGJMP, "Argument is not of type fc2Property."); memcpy((char *) &property, (char *) argv[1]->value.s.arr->data, sizeof(fc2Property)); error = fc2SetProperty(context, &property); if (error) IDL_MessageFromBlock(msgs, M_IDLPGR_ERRORCODE, IDL_MSG_LONGJMP, "Could not set requested property", error); }