summaryrefslogtreecommitdiff
path: root/src/camera/veyeimx287m.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/camera/veyeimx287m.h')
-rw-r--r--src/camera/veyeimx287m.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/camera/veyeimx287m.h b/src/camera/veyeimx287m.h
index b875bb7..3a73cd2 100644
--- a/src/camera/veyeimx287m.h
+++ b/src/camera/veyeimx287m.h
@@ -25,6 +25,28 @@ class i2c;
class HttpServer;
+/*
+ * start calibration
+ * - send move zRange/16384 mm
+ * - wait StepDelay, ignore all pixels
+ * - collect 10 (64?) profiles
+ * - dump profiles
+ */
+
+/*!
+ * \brief The VeyeIMX287m class - control and receive data from VEYE IMX287
+ * camera
+ * \todo
+ * - implement `trgnum` - The number of image frames output by one trigger signal
+ * in trigger mode. Might be helpful in calibration mode
+ * - implement `trgfilter_enable` - for rising/falling edge support
+ * - implement `trgexp_delay` - Exposure delay, i.e. the time to turn on the
+ * Strobe signal in advance. The difference between trgexp_delay and trgdelay,
+ * see manual for details. (which manual?)
+ * - implement UDP streams, http is a bit slow even over 1GbE
+ * - implement roi
+ * - blcmode/blacklevel? (does it work in this camera?)
+ */
class VeyeIMX287m : public ICamera
{
constexpr static char videoDevice[] = "/dev/video0";
@@ -63,6 +85,9 @@ public:
bool set_gain(const float value) override;
std::optional<float> get_gain() override;
+ bool set_triggerExposureDelay(const std::chrono::microseconds us) override;
+ std::optional<const std::chrono::microseconds> get_triggerExposureDelay() override;
+
public:
/*!
* \brief processedCounter - count of images processed in current second.