From 3fa8f19daf8b36b0703002d78a84e5bb7919849b Mon Sep 17 00:00:00 2001 From: Nikita Kostovsky Date: Thu, 23 Jan 2025 12:08:26 +0100 Subject: add support of inno-maker ov9281 --- src/camera/innomakerov9281.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/camera/innomakerov9281.h (limited to 'src/camera/innomakerov9281.h') diff --git a/src/camera/innomakerov9281.h b/src/camera/innomakerov9281.h new file mode 100644 index 0000000..bcafc12 --- /dev/null +++ b/src/camera/innomakerov9281.h @@ -0,0 +1,36 @@ +#pragma once + +#include + +#include "constants.h" +#include "image.h" + +class InnoMakerOV9281 +{ +public: + using buffer_t = std::array; + +public: + InnoMakerOV9281(); + ~InnoMakerOV9281(); + +public: + bool init(); + + bool setExposureTimeMs(int value); + bool setGain(int value); + + bool getImage(Image &image); + +private: + bool setCamParam(unsigned int v4l2controlId, int value); + bool openCam(); + bool selectCam(int camIdx = 0); + bool initCam(); + +private: + int m_cam_fd{-1}; + static constexpr uint8_t BUFFER_COUNT{3}; + uint8_t *video_buffer_ptr[BUFFER_COUNT]; + // buffer_t m_buf; +}; -- cgit v1.2.3-70-g09d2