summaryrefslogtreecommitdiff
path: root/src/camera/veyeimx287m.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/camera/veyeimx287m.h')
-rw-r--r--src/camera/veyeimx287m.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/camera/veyeimx287m.h b/src/camera/veyeimx287m.h
index b624fd2..bdc57d9 100644
--- a/src/camera/veyeimx287m.h
+++ b/src/camera/veyeimx287m.h
@@ -15,6 +15,8 @@
#include "constants.h"
#include "icamera.h"
#include "image.h"
+// TODO: remove this include
+#include "printerclient.h"
#include "utils/sem_queue.h"
namespace veye {
@@ -24,6 +26,7 @@ class i2c;
} // namespace veye
class HttpServer;
+class IStand;
/*
* start calibration
@@ -58,12 +61,17 @@ public:
VeyeIMX287m();
~VeyeIMX287m() override;
+public slots:
+ void onMoveFinished() override;
+
public:
static std::vector<std::shared_ptr<ICamera>> search();
public:
bool startStream() override;
+ void startCalibration(std::shared_ptr<IStand> stand, double zRangeMm) override;
+
bool dequeueImageBuffer(size_t &image);
std::shared_ptr<Image> getImage() override;
@@ -157,4 +165,13 @@ private:
std::shared_ptr<veye::imx287m::i2c> m_i2c;
std::shared_ptr<HttpServer> m_httpServer;
+
+ // calibration
+ // TODO: re-organize this logic
+ bool m_isCalibrating{false};
+ bool m_ignoreFrames{false};
+ std::vector<std::shared_ptr<Pixels>> m_calibrationPixels;
+ std::shared_ptr<IStand> m_stand;
+ double m_zRangeMm{std::numeric_limits<double>::quiet_NaN()};
+ bool m_isMoving{false};
};