diff options
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: |
