summaryrefslogtreecommitdiff
path: root/src/camera/icamera.h
diff options
context:
space:
mode:
authorNikita Kostovsky <nikita@kostovsky.me>2025-11-14 21:05:12 +0100
committerNikita Kostovsky <nikita@kostovsky.me>2025-11-14 21:05:12 +0100
commit5df63c0bc7e3d6f1850d04f5bafbae2dd6fa619e (patch)
tree7b98d59baec4aac62cab374e95795a2ce6b88d03 /src/camera/icamera.h
parent36ef6a75e3418d88227e84ab175c0057e860c151 (diff)
organize things a bit, populate ICamera
Diffstat (limited to 'src/camera/icamera.h')
-rw-r--r--src/camera/icamera.h39
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: