ENLIGHTEN
Cross-platform desktop GUI for Wasatch Photonics spectrometers
Loading...
Searching...
No Matches
backend.h
Go to the documentation of this file.
1
23
24#ifndef BACKEND_H
25#define BACKEND_H
26
27#include <QObject>
28#include <QImage>
29#include <QString>
30#include <QThread>
31#include <cstdint>
32
33#include "acquisitionworker.h"
34#include <peak/peak.hpp>
35
36class BackEnd : public QObject
37{
38 Q_OBJECT
39
40public:
41 explicit BackEnd(QObject* parent = nullptr);
42 ~BackEnd() override;
43
44 Q_INVOKABLE bool start();
45
46 Q_INVOKABLE bool openDevice();
47 void closeDevice();
48
49 Q_INVOKABLE static QString Version() ;
50 Q_INVOKABLE static QString QtVersion() ;
51
52private:
53 std::shared_ptr<peak::core::Device> m_device;
54 std::shared_ptr<peak::core::DataStream> m_dataStream;
55 std::shared_ptr<peak::core::NodeMap> m_nodemapRemoteDevice;
56
58 QThread m_acquisitionThread;
59
60 QImage* m_image = new QImage;
61
62signals:
63 void imageReceived(QImage image, double chunkDataExposureTime_ms);
64 void counterChanged(unsigned int frameCounter, unsigned int errorCounter);
65 void messageBoxTrigger(QString messageTitle, QString messageText, bool critical);
66};
67
68#endif // BACKEND_H
The AcquisitionWorker class is used in a worker thread to capture images from the device continuously...
Definition acquisitionworker.h:41
Definition backend.h:38
Q_INVOKABLE bool openDevice()
Definition backend.cpp:81
void messageBoxTrigger(QString messageTitle, QString messageText, bool critical)
~BackEnd() override
QImage * m_image
Definition backend.h:60
std::shared_ptr< peak::core::Device > m_device
Definition backend.h:100
std::shared_ptr< peak::core::NodeMap > m_nodemapRemoteDevice
Definition backend.h:102
std::shared_ptr< peak::core::DataStream > m_dataStream
Definition backend.h:101
void counterChanged(unsigned int frameCounter, unsigned int errorCounter)
Q_INVOKABLE bool start()
Definition backend.cpp:68
AcquisitionWorker * m_acquisitionWorker
Definition backend.h:111
void imageReceived(QImage image, double chunkDataExposureTime_ms)
QThread m_acquisitionThread
Definition backend.h:112
BackEnd(QObject *parent=nullptr)
void closeDevice()
Definition backend.cpp:254
static Q_INVOKABLE QString QtVersion()
Definition backend.cpp:313
static Q_INVOKABLE QString Version()
Definition backend.cpp:308