diff --git a/pylonrecorder.h b/pylonrecorder.h index c8517db..8ebc214 100644 --- a/pylonrecorder.h +++ b/pylonrecorder.h @@ -76,7 +76,7 @@ private: void applyScaling(); void adjustScrollBar(QScrollBar *scrollBar, double factor); - int defaultBufferSize = 1000, defaultFrameRate = 30, movieCount = 0, defaultExposureTime = 3000, defaultGain=0; + int defaultBufferSize = 3000, defaultFrameRate = 30, movieCount = 0, defaultExposureTime = 6000, defaultGain=13; QImage image; QTimer *frameTimer, *preassureTimer, *labelTimer; QLabel *imageLabel, *writingLabel, *grabbingLabel, *cameraConnectedLabel, *fileLabel; diff --git a/pylonwrapper.cpp b/pylonwrapper.cpp index 1315c64..ef17782 100644 --- a/pylonwrapper.cpp +++ b/pylonwrapper.cpp @@ -73,8 +73,13 @@ double PylonWrapper::exposureTime() { bool PylonWrapper::exposureTime(double exposure_time) { if (valid) { GenApi::INodeMap& nodemap = camera->GetNodeMap(); - GenApi::CEnumerationPtr(nodemap.GetNode( "ExposureTimeMode" ))->FromString("Standard"); + double d = GenApi::CFloatPtr(nodemap.GetNode("ExposureTime"))->GetValue(); GenApi::INode* n = nodemap.GetNode( "ExposureTime" ); + try { + GenApi::CEnumerationPtr(nodemap.GetNode( "ExposureTimeMode" ))->FromString("Standard"); + } catch (...) { + // setting the exposure mode fails with certain cameras. + } Pylon::CFloatParameter exp_time( n ); exp_time.SetValue( exposure_time ); return true;