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.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/camera/veyeimx287m.h b/src/camera/veyeimx287m.h
index bdc57d9..d084788 100644
--- a/src/camera/veyeimx287m.h
+++ b/src/camera/veyeimx287m.h
@@ -136,6 +136,9 @@ private:
struct buffer
{
void *mem{nullptr};
+ using sequence_t = decltype(v4l2_buffer::sequence);
+ // TODO: think about optional/expected
+ sequence_t sequence{std::numeric_limits<sequence_t>::max()};
// std::shared_ptr<Image> image{std::make_shared<Image>()};
};
std::vector<buffer> m_rawBuffers;
@@ -159,7 +162,7 @@ private:
// std::jthread m_getThreads[4];
// TODO: sync all loops somehow to guarantee frames order
std::jthread m_rotateThreads[2];
- std::jthread m_calcPixelsThreads[2];
+ std::jthread m_calcPixelsThreads[1];
std::mutex m_lastImageMtx;
std::shared_ptr<Image> m_lastProcessedImage{};
@@ -170,7 +173,9 @@ private:
// TODO: re-organize this logic
bool m_isCalibrating{false};
bool m_ignoreFrames{false};
- std::vector<std::shared_ptr<Pixels>> m_calibrationPixels;
+ // std::vector<std::shared_ptr<Pixels>> m_calibrationPixels;
+ std::unordered_map<decltype(Counters::encoderPosition), 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};