From 945d70b2ef45f5c69ce0afaa02f9d75dfc2e5f4f Mon Sep 17 00:00:00 2001 From: uvos Date: Mon, 28 Jun 2021 19:15:03 +0200 Subject: [PATCH] Improve photonfocus mitigation --- src/cameras.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/cameras.cpp b/src/cameras.cpp index 33d4ef8..647685b 100644 --- a/src/cameras.cpp +++ b/src/cameras.cpp @@ -72,9 +72,26 @@ bool Cameras::addCamera(const cam::Camera::Description& desc) std::shared_ptr camera = cameras_.back(); camera->cam()->setTriggerMode(cam::Camera::TRIGGER_FREE); camera->cam()->setAcquisitionMode(cam::Camera::MODE_FREE); - camera->cam()->setFrameRate(7); + camera->cam()->setFrameRate(10); camera->cam()->startAcquisition(); - QTimer::singleShot(10000, [camera, this](){finishAddCamera(camera);}); + struct timespec tv = {0, 200000000}; + nanosleep(&tv, nullptr); + camera->cam()->stopAcquisition(); + cameras_.pop_back(); + camera = nullptr; + cameras_.push_back(std::shared_ptr(new Camera(desc))); + if(!cameras_.back()->cam()->isOpen()) + { + cameras_.pop_back(); + return false; + } + camera = cameras_.back(); + cameraAdded(camera); + camera->cam()->setTriggerMode(cam::Camera::TRIGGER_FREE); + camera->cam()->setAcquisitionMode(cam::Camera::MODE_FREE); + camera->cam()->setFrameRate(10); + camera->cam()->startAcquisition(); + QTimer::singleShot(5000, [camera, this](){finishAddCamera(camera);}); } else { @@ -90,7 +107,6 @@ void Cameras::finishAddCamera(std::shared_ptr camera) setFree(free_); connect(camera.get(), &Camera::newImage, this, &Cameras::imageRecived); qDebug()<<"Using camera"<id(); - cameraAdded(camera); } void Cameras::trigger()