diff options
| author | Nikita Kostovsky <nikita@kostovsky.me> | 2025-11-14 21:05:12 +0100 |
|---|---|---|
| committer | Nikita Kostovsky <nikita@kostovsky.me> | 2025-11-14 21:05:12 +0100 |
| commit | 5df63c0bc7e3d6f1850d04f5bafbae2dd6fa619e (patch) | |
| tree | 7b98d59baec4aac62cab374e95795a2ce6b88d03 /src/camera/icamera.h | |
| parent | 36ef6a75e3418d88227e84ab175c0057e860c151 (diff) | |
organize things a bit, populate ICamera
Diffstat (limited to 'src/camera/icamera.h')
| -rw-r--r-- | src/camera/icamera.h | 39 |
1 files changed, 26 insertions, 13 deletions
diff --git a/src/camera/icamera.h b/src/camera/icamera.h index 39d358f..391ce55 100644 --- a/src/camera/icamera.h +++ b/src/camera/icamera.h @@ -20,14 +20,11 @@ #define slots slots_backup #endif -#include "image.h" +// cpp +#include <chrono> -// class ICamera -// { -// public: -// virtual bool setExposureTimeMs(int value) = 0; -// virtual bool setGain(int value) = 0; -// }; +// orpheus +#include "image.h" class ICamera { @@ -35,16 +32,32 @@ public: virtual ~ICamera() = default; public: - virtual bool setExposureTimeUs(int value) = 0; - virtual bool setGain(int value) = 0; + virtual bool set_autoExposure(const bool enable) = 0; + /*! + * \brief get_autoExposure - check if auto exposure is enabled + * \param ok - indicates successful read + * \return true if enabled, false otherwise + */ + + /*! + * \brief get_autoExposure - check if auto exposure is enabled + * \return non-empty value on success, empty value on failure + */ + virtual std::optional<bool> get_autoExposure() = 0; + + virtual bool set_exposureTime(const std::chrono::microseconds us) = 0; + virtual std::optional<const std::chrono::microseconds> get_exposureTime() = 0; + + virtual bool set_autoGain(const bool enable) = 0; + virtual std::optional<bool> get_autoGain() = 0; + + virtual bool set_gain(const float value) = 0; + virtual std::optional<float> get_gain() = 0; + virtual bool setLaserLevel(int value) = 0; - virtual bool setSomething(int value) = 0; public: - libcamera::Signal<std::shared_ptr<Pixels>> newPixels; - libcamera::Signal<std::shared_ptr<Image>> newImage; std::function<void(std::shared_ptr<Pixels>)> newPixelsCallback; - // std::function<void(std::shared_ptr<Image>)> newImageCallback; std::function<void(Image &)> newImageCallback; public: |
