diff options
Diffstat (limited to 'src/camera/veyeimx287m.h')
| -rw-r--r-- | src/camera/veyeimx287m.h | 9 |
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}; |
