ENLIGHTEN
Cross-platform desktop GUI for Wasatch Photonics spectrometers
Loading...
Searching...
No Matches
device.h
Go to the documentation of this file.
1
22
23#ifndef DEVICE_H
24#define DEVICE_H
25
26#include <peak/peak.hpp>
27
28#include <memory>
29
30class Device
31{
32public:
33 explicit Device();
34
35 std::shared_ptr<peak::core::DataStream> DataSteam() const
36 {
37 return m_dataStream;
38 };
39 std::shared_ptr<peak::core::NodeMap> RemoteNodeMap() const
40 {
42 }
43
44 void FindAndOpen();
45 void OpenDataStream();
46 void StopAcquisition();
47 void LoadDefaults();
49
50 bool IsMono() const;
51 bool HasGain() const;
52 bool HasColorGain() const;
53
54 double Gain() const;
55 double Exposure() const;
56 double Framerate() const
57 {
58 return m_frameRate;
59 }
60
61 void SetGain(double value);
62 void SetExposure(double value);
63 void SetFrameRate(double value);
64
65 std::pair<double, double> GainRange() const;
66 std::pair<double, double> ExposureRange() const;
67 std::pair<double, double> FramerateRange() const;
68
69 void UpdateFramerate();
70
71private:
72 std::shared_ptr<peak::core::Device> m_device{};
73 std::shared_ptr<peak::core::DataStream> m_dataStream{};
74 std::shared_ptr<peak::core::NodeMap> m_nodemapRemoteDevice{};
75
76 bool m_hasGain{};
78 std::string m_gainType{};
79
80 double m_frameRate{};
81
82 void CheckGain();
83 void CheckColorGain();
84};
85
86#endif // DEVICE_H
std::shared_ptr< peak::core::Device > m_device
Definition device.h:72
bool HasGain() const
Definition device.cpp:258
void SetFrameRate(double value)
Definition device.cpp:424
std::shared_ptr< peak::core::DataStream > DataSteam() const
Definition device.h:35
bool m_hasGain
Definition device.h:76
void DisableAutoFeatures()
Definition device.cpp:195
bool IsMono() const
Definition device.cpp:250
double m_frameRate
Definition device.h:80
void CheckColorGain()
Definition device.cpp:309
Device()
Definition device.cpp:88
void UpdateFramerate()
Definition device.cpp:449
std::pair< double, double > GainRange() const
Definition device.cpp:395
std::shared_ptr< peak::core::NodeMap > m_nodemapRemoteDevice
Definition device.h:74
std::string m_gainType
Definition device.h:78
void StopAcquisition()
Definition device.cpp:227
bool m_hasColorGain
Definition device.h:77
void SetExposure(double value)
Definition device.cpp:383
void FindAndOpen()
Definition device.cpp:95
std::pair< double, double > FramerateRange() const
Definition device.cpp:436
double Framerate() const
Definition device.h:56
void CheckGain()
Definition device.cpp:268
void SetGain(double value)
Definition device.cpp:368
std::pair< double, double > ExposureRange() const
Definition device.cpp:411
bool HasColorGain() const
Definition device.cpp:263
std::shared_ptr< peak::core::DataStream > m_dataStream
Definition device.h:73
double Exposure() const
Definition device.cpp:356
std::shared_ptr< peak::core::NodeMap > RemoteNodeMap() const
Definition device.h:39
void OpenDataStream()
Definition device.cpp:130
double Gain() const
Definition device.cpp:341
void LoadDefaults()
Definition device.cpp:160