diff options
Diffstat (limited to 'src/camera/ov9281.h')
| -rw-r--r-- | src/camera/ov9281.h | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/src/camera/ov9281.h b/src/camera/ov9281.h deleted file mode 100644 index e4b7417..0000000 --- a/src/camera/ov9281.h +++ /dev/null @@ -1,90 +0,0 @@ -#pragma once - -#include <map> -#include <memory> -#include <vector> - -#include <libcamera/formats.h> - -#include <QObject> - -#include "icamera.h" - -namespace libcamera { -class Camera; -class CameraConfiguration; -class CameraManager; -class FrameBufferAllocator; -class Request; -} // namespace libcamera - -class Image; -class Pixels; - -class OV9281 : public QObject, public ICamera -{ - // Q_OBJECT - -public: - ~OV9281(); - -public: - static std::vector<std::shared_ptr<OV9281>> search( - std::unique_ptr<libcamera::CameraManager> &manager); - - // public functions -public: - bool startStream() override; - void printControls(); - - bool setExposureTimeUs(int value) override - { - assert(false); - return false; - }; - bool setGain(int value) override - { - assert(false); - return false; - }; - bool setLaserLevel(int value) override - { - assert(false); - return false; - }; - - // signals -public: - // TODO: image->pixels in separate thread - // TODO: respect sender/receiver threads - // libcamera::Signal<std::shared_ptr<Pixels>> newPixels; - // libcamera::Signal<std::shared_ptr<Image>> newImage; - -private: - explicit OV9281(const std::shared_ptr<libcamera::Camera> &camera); - - // private functions -private: - bool init(); - bool validateConfig(); - bool applyConfig(); - - void onRequestCompleted(libcamera::Request *completed_request); - - // constants -private: - static inline constexpr auto pixelFormat{libcamera::formats::R8}; - static inline constexpr unsigned int bufferCount{2}; - static inline constexpr size_t desiredFPS{144}; - - // member variables -private: - std::shared_ptr<libcamera::Camera> m_camera{nullptr}; - std::unique_ptr<libcamera::CameraConfiguration> m_config{nullptr}; - std::map<int, std::pair<void *, unsigned int>> m_mappedBuffers; - std::vector<std::unique_ptr<libcamera::Request>> m_requests; - std::unique_ptr<libcamera::FrameBufferAllocator> m_allocator{nullptr}; - - // TODO: set exposureTime from outside - int32_t m_exposureTime{3000}; -}; |
