60 lines
1.1 KiB
C++
60 lines
1.1 KiB
C++
#ifndef DUALCAMGRABBER_H
|
|
#define DUALCAMGRABBER_H
|
|
|
|
#include <QObject>
|
|
#include <QThread>
|
|
#include "dualcamwrapper.h"
|
|
#include "imagebuffer.h"
|
|
|
|
class DualcamGrabber : public QThread
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
DualcamGrabber(DualcamWrapper *wrapper, ImageBuffer *buffer, int framerate, QObject *parent = nullptr) :
|
|
QThread(parent), wrapper(wrapper), buffer(buffer), framerate(framerate) {}
|
|
|
|
void run() override;
|
|
void stop();
|
|
int currentFramerate() {
|
|
return framerate;
|
|
}
|
|
|
|
double currentExposureTime() {
|
|
return exposure;
|
|
}
|
|
|
|
double currentGain() {
|
|
return gain;
|
|
}
|
|
|
|
private:
|
|
bool stop_request = false;
|
|
DualcamWrapper *wrapper;
|
|
ImageBuffer *buffer;
|
|
int framerate;
|
|
double exposure, gain;
|
|
|
|
public slots:
|
|
void requestStop() {
|
|
stop_request=true;
|
|
}
|
|
|
|
void setFrameRate(int newFramerate) {
|
|
framerate = newFramerate;
|
|
}
|
|
|
|
void setExposureTime(double newExposureTime) {
|
|
exposure = newExposureTime;
|
|
}
|
|
|
|
void setGain(double gain_db) {
|
|
gain = gain_db;
|
|
}
|
|
|
|
signals:
|
|
void terminated();
|
|
void delayed(int, int);
|
|
};
|
|
|
|
#endif // DUALCAMGRABBER_H
|