summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Vogelgesang <matthias.vogelgesang@ipe.fzk.de>2011-02-24 09:39:13 +0100
committerMatthias Vogelgesang <matthias.vogelgesang@ipe.fzk.de>2011-02-24 09:39:13 +0100
commit7f2740af499405f31313941758818d8191b3578f (patch)
tree7037f2945b03dfb8541387df47b7ddf28a561631
parentf6b63f4957c55107310d092dbf8eecce1e3d12b4 (diff)
downloaduca-7f2740af499405f31313941758818d8191b3578f.tar.gz
uca-7f2740af499405f31313941758818d8191b3578f.tar.bz2
uca-7f2740af499405f31313941758818d8191b3578f.tar.xz
uca-7f2740af499405f31313941758818d8191b3578f.zip
Add more properties according to Andreas
-rw-r--r--src/uca.c4
-rw-r--r--src/uca.h46
2 files changed, 35 insertions, 15 deletions
diff --git a/src/uca.c b/src/uca.c
index ddf3e3d..c0f1459 100644
--- a/src/uca.c
+++ b/src/uca.c
@@ -67,6 +67,10 @@ static const char* property_map[] = {
"exposure",
"delay",
"frame-rate",
+ "trigger-mode",
+ "interlace-sample-rate",
+ "interlace-pixel-threshold",
+ "interlace-row-threshold",
NULL
};
diff --git a/src/uca.h b/src/uca.h
index 2c8a888..e74fb80 100644
--- a/src/uca.h
+++ b/src/uca.h
@@ -71,21 +71,37 @@ const char* uca_get_property_name(int32_t property_id);
#define UCA_ERR_INIT_NOT_FOUND 1 /**< camera probing or initialization failed */
#define UCA_ERR_PROP_INVALID 1 /**< the requested property is not supported by the camera */
-/* The property IDs must start with 0 and must be continuous */
-#define UCA_PROP_INVALID -1
-#define UCA_PROP_NAME 0
-#define UCA_PROP_WIDTH 1
-#define UCA_PROP_HEIGHT 2
-#define UCA_PROP_X_OFFSET 3
-#define UCA_PROP_Y_OFFSET 4
-#define UCA_PROP_MAX_WIDTH 5
-#define UCA_PROP_MAX_HEIGHT 6
-#define UCA_PROP_BITDEPTH 7
-#define UCA_PROP_EXPOSURE 8
-#define UCA_PROP_DELAY 9
-#define UCA_PROP_FRAMERATE 10
-
-#define UCA_PROP_INTERLACE -1
+/* The property IDs must start with 0 and must be continuous. Whenever this
+ * library is released, the IDs must not change to guarantee binary compatibility! */
+#define UCA_PROP_INVALID -1
+#define UCA_PROP_NAME 0
+#define UCA_PROP_WIDTH 1
+#define UCA_PROP_HEIGHT 2
+#define UCA_PROP_X_OFFSET 3
+#define UCA_PROP_Y_OFFSET 4
+#define UCA_PROP_MAX_WIDTH 5
+#define UCA_PROP_MAX_HEIGHT 6
+#define UCA_PROP_BITDEPTH 7
+#define UCA_PROP_EXPOSURE 8
+#define UCA_PROP_DELAY 9
+#define UCA_PROP_FRAMERATE 10
+#define UCA_PROP_TRIGGER_MODE 11
+
+#define UCA_PROP_INTERLACE_SAMPLE_RATE 12
+#define UCA_PROP_INTERLACE_PIXEL_THRESH 13
+#define UCA_PROP_INTERLACE_ROW_THRESH 14
+
+#define UCA_PROP_CORRECTION_MODE 15
+
+/* Trigger mode for UCA_PROP_TRIGGERMODE */
+#define UCA_TRIGGER_AUTO 1
+#define UCA_TRIGGER_INTERNAL 2
+#define UCA_TRIGGER_EXTERNAL 3
+
+/* Correction modes for UCA_PROP_CORRECTION_MODE */
+#define UCA_CORRECT_OFFSET 0x01
+#define UCA_CORRECT_HOTPIXEL 0x02
+#define UCA_CORRECT_GAIN 0x04
struct uca_t {
/* Function pointers to camera-specific methods */