From 5ce0955086c2360d5f5346270759fb7d96cc4a70 Mon Sep 17 00:00:00 2001 From: Matthias Vogelgesang Date: Fri, 2 Mar 2012 17:29:30 +0100 Subject: Make available binnings mandatory --- src/uca-camera.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'src/uca-camera.c') diff --git a/src/uca-camera.c b/src/uca-camera.c index d8c1a25..85c4140 100644 --- a/src/uca-camera.c +++ b/src/uca-camera.c @@ -38,7 +38,11 @@ enum { PROP_SENSOR_HEIGHT, PROP_SENSOR_BITDEPTH, PROP_SENSOR_HORIZONTAL_BINNING, + PROP_SENSOR_HORIZONTAL_BINNINGS, PROP_SENSOR_VERTICAL_BINNING, + PROP_SENSOR_VERTICAL_BINNINGS, + PROP_HAS_STREAMING, + PROP_HAS_CAMRAM_RECORDING, N_PROPERTIES }; @@ -50,10 +54,12 @@ static GParamSpec *uca_camera_properties[N_PROPERTIES] = { NULL, }; static void uca_camera_set_property(GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } static void uca_camera_get_property(GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } static void uca_camera_class_init(UcaCameraClass *klass) @@ -94,6 +100,17 @@ static void uca_camera_class_init(UcaCameraClass *klass) 1, G_MAXUINT, 1, G_PARAM_READWRITE); + uca_camera_properties[PROP_SENSOR_HORIZONTAL_BINNINGS] = + g_param_spec_value_array("sensor-horizontal-binnings", + "Array of possible binnings", + "Array of possible binnings in horizontal direction", + g_param_spec_uint( + "sensor-horizontal-binning", + "Number of ADCs", + "Number of ADCs that make up one pixel", + 1, G_MAXUINT, 1, + G_PARAM_READABLE), G_PARAM_READABLE); + uca_camera_properties[PROP_SENSOR_VERTICAL_BINNING] = g_param_spec_uint("sensor-vertical-binning", "Vertical binning", @@ -101,6 +118,29 @@ static void uca_camera_class_init(UcaCameraClass *klass) 1, G_MAXUINT, 1, G_PARAM_READWRITE); + uca_camera_properties[PROP_SENSOR_VERTICAL_BINNINGS] = + g_param_spec_value_array("sensor-vertical-binnings", + "Array of possible binnings", + "Array of possible binnings in vertical direction", + g_param_spec_uint( + "sensor-vertical-binning", + "Number of ADCs", + "Number of ADCs that make up one pixel", + 1, G_MAXUINT, 1, + G_PARAM_READABLE), G_PARAM_READABLE); + + uca_camera_properties[PROP_HAS_STREAMING] = + g_param_spec_boolean("has-streaming", + "Streaming capability", + "Is the camera able to stream the data", + TRUE, G_PARAM_READABLE); + + uca_camera_properties[PROP_HAS_CAMRAM_RECORDING] = + g_param_spec_boolean("has-camram-recording", + "Cam-RAM capability", + "Is the camera able to record the data in-camera", + FALSE, G_PARAM_READABLE); + for (guint id = PROP_0 + 1; id < N_PROPERTIES; id++) g_object_class_install_property(gobject_class, id, uca_camera_properties[id]); -- cgit v1.2.3