improve uvosled support
This commit is contained in:
parent
945d70b2ef
commit
27660bc842
2 changed files with 36 additions and 8 deletions
|
|
@ -8,7 +8,13 @@
|
|||
|
||||
Cameras::Cameras(uvosled* led): led_(led)
|
||||
{
|
||||
ledTimer.setSingleShot(true);
|
||||
connect(&ledTimer, &QTimer::timeout, this, &Cameras::lightOff);
|
||||
}
|
||||
|
||||
Cameras::~Cameras()
|
||||
{
|
||||
lightOff();
|
||||
}
|
||||
|
||||
bool Cameras::setCameras(const std::vector<cam::Camera::Description>& descriptions)
|
||||
|
|
@ -109,13 +115,30 @@ void Cameras::finishAddCamera(std::shared_ptr<Camera> camera)
|
|||
qDebug()<<"Using camera"<<camera->id();
|
||||
}
|
||||
|
||||
bool Cameras::lightFor(const LightingSetup& lighting, double time)
|
||||
{
|
||||
int ret = 0;
|
||||
if(led_)
|
||||
{
|
||||
ret = uvosled_set_current(led_, lighting.mask, lighting.brightness);
|
||||
ledTimer.start(time*1000);
|
||||
}
|
||||
return ret == 0;
|
||||
}
|
||||
|
||||
void Cameras::lightOff()
|
||||
{
|
||||
if(led_)
|
||||
uvosled_set_current(led_, 0xff, 0);
|
||||
ledTimer.stop();
|
||||
}
|
||||
|
||||
void Cameras::trigger()
|
||||
{
|
||||
lightFor(lighting_, exposrueTime_*1.5);
|
||||
|
||||
for(auto& camera : cameras_)
|
||||
camera->cam()->trigger();
|
||||
|
||||
/*if(led_ && !free_)
|
||||
uvosled_capture(led_, lighting_.mask, lighting_.brightness, exposrueTime_*1.5, exposrueTime_*0.25);*/
|
||||
}
|
||||
|
||||
bool Cameras::start()
|
||||
|
|
@ -127,8 +150,8 @@ bool Cameras::start()
|
|||
ret = false;
|
||||
}
|
||||
|
||||
/*if(free_ && led_)
|
||||
uvosled_set_current(led_, lighting_.mask, lighting_.brightness);*/
|
||||
if(free_)
|
||||
uvosled_set_current(led_, lighting_.mask, lighting_.brightness);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
@ -142,8 +165,7 @@ bool Cameras::stop()
|
|||
ret = false;
|
||||
}
|
||||
|
||||
if(led_)
|
||||
uvosled_set_current(led_, 0xFF, 0);
|
||||
lightOff();
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue