////////////////////////////////////////////////////////////////////////////////// // getFPSStep -------------------------------------------------------------------- ////////////////////////////////////////////////////////////////////////////////// double ofxUeye::getFPSStep() { double min, max, step; is_GetFrameTimeRange (m_hCam, &min, &max, &step); return step; }
INT UEyeCamDriver::setFrameRate(bool& auto_frame_rate, double& frame_rate_hz) { if (!isConnected()) return IS_INVALID_CAMERA_HANDLE; INT is_err = IS_SUCCESS; double pval1 = 0, pval2 = 0; double minFrameTime, maxFrameTime, intervalFrameTime, newFrameRate; // Make sure that auto shutter is enabled before enabling auto frame rate bool autoShutterOn = false; is_SetAutoParameter(cam_handle_, IS_GET_ENABLE_AUTO_SENSOR_SHUTTER, &pval1, &pval2); autoShutterOn |= (pval1 != 0); is_SetAutoParameter(cam_handle_, IS_GET_ENABLE_AUTO_SHUTTER, &pval1, &pval2); autoShutterOn |= (pval1 != 0); if (!autoShutterOn) { auto_frame_rate = false; } // Set frame rate / auto pval1 = auto_frame_rate; if ((is_err = is_SetAutoParameter(cam_handle_, IS_SET_ENABLE_AUTO_SENSOR_FRAMERATE, &pval1, &pval2)) != IS_SUCCESS) { if ((is_err = is_SetAutoParameter(cam_handle_, IS_SET_ENABLE_AUTO_FRAMERATE, &pval1, &pval2)) != IS_SUCCESS) { std::cerr << "Auto frame rate mode is not supported for UEye camera '" << cam_name_ << "' (" << err2str(is_err) << ")" << std::endl; auto_frame_rate = false; } } if (!auto_frame_rate) { // Make sure that user-requested frame rate is achievable if ((is_err = is_GetFrameTimeRange(cam_handle_, &minFrameTime, &maxFrameTime, &intervalFrameTime)) != IS_SUCCESS) { std::cerr << "Failed to query valid frame rate range from UEye camera '" << cam_name_ << "'" << std::endl; return is_err; } CAP(frame_rate_hz, 1.0 / maxFrameTime, 1.0 / minFrameTime); // Update frame rate if ((is_err = is_SetFrameRate(cam_handle_, frame_rate_hz, &newFrameRate)) != IS_SUCCESS) { std::cerr << "Failed to set frame rate to " << frame_rate_hz << " MHz for UEye camera '" << cam_name_ << "'" << std::endl; return is_err; } else if (frame_rate_hz != newFrameRate) { frame_rate_hz = newFrameRate; } } std::cout << "Updated frame rate: " << ((auto_frame_rate) ? "auto" : to_string(frame_rate_hz)) << " Hz" << std::endl; return is_err; }
////////////////////////////////////////////////////////////////////////////////// // getFPSMax --------------------------------------------------------------------- ////////////////////////////////////////////////////////////////////////////////// double ofxUeye::getFPSMax() { double min, max, step; is_GetFrameTimeRange (m_hCam, &min, &max, &step); return (1.0 / min); }