Fix intervalometer flickering: implement proper ramping + IDS SDK exposure query

- Fixed instant exposure jumps causing visible flickering
- Implemented proper gradual ramping using ramp_step variable
- Added IDS uEye SDK integration for accurate exposure range query
- Added hcam property to idsueyesrc to expose camera handle
- Updated intervalometer to query on first frame when camera is ready
- Added comprehensive debug documentation with tuning guide

For dawn/dusk time-lapse, use:
  ramp-rate=vslow update-interval=1000
This commit is contained in:
yair
2025-11-17 13:48:02 +02:00
parent 448e9bc5b4
commit 9330477e16
5 changed files with 599 additions and 37 deletions

View File

@@ -24,6 +24,9 @@
#include <gst/base/gstbasetransform.h>
#include <gst/video/video.h>
#define _PURE_C
#include "../../sys/idsueye/include/ueye.h"
G_BEGIN_DECLS
#define GST_TYPE_INTERVALOMETER \
@@ -74,6 +77,7 @@ struct _GstIntervalometer
/* Internal state */
GstElement *camera_src; /* Reference to upstream camera element */
HIDS hCam; /* IDS uEye camera handle from idsueyesrc */
gdouble current_exposure; /* Current exposure setting */
gint current_gain; /* Current gain setting */
gdouble target_exposure; /* Target exposure for ramping */