diff options
| author | Matthias Vogelgesang <matthias.vogelgesang@kit.edu> | 2012-07-13 15:38:28 +0200 | 
|---|---|---|
| committer | Matthias Vogelgesang <matthias.vogelgesang@gmail.com> | 2012-07-13 16:42:45 +0200 | 
| commit | daeca509cc60e977855187f81aea9ca2803527c1 (patch) | |
| tree | 16055876e8843a60d10755cb87d12db5731007fd /src | |
| parent | 4289804f6c89554e59b8be6823de9dab18172d6a (diff) | |
| download | uca-daeca509cc60e977855187f81aea9ca2803527c1.tar.gz uca-daeca509cc60e977855187f81aea9ca2803527c1.tar.bz2 uca-daeca509cc60e977855187f81aea9ca2803527c1.tar.xz uca-daeca509cc60e977855187f81aea9ca2803527c1.zip | |
Fix: saving the bits correctly
Diffstat (limited to 'src')
| -rw-r--r-- | src/cameras/uca-ufo-camera.c | 18 | 
1 files changed, 9 insertions, 9 deletions
| diff --git a/src/cameras/uca-ufo-camera.c b/src/cameras/uca-ufo-camera.c index 55439cc..1f1eca8 100644 --- a/src/cameras/uca-ufo-camera.c +++ b/src/cameras/uca-ufo-camera.c @@ -84,7 +84,6 @@ static gint base_overrideables[] = {  typedef struct _RegisterInfo {      gchar  *name;      guint   cached_value;  -    guint   n_bits;  } RegisterInfo;  static GParamSpec *ufo_properties[N_MAX_PROPERTIES] = { NULL, }; @@ -94,6 +93,7 @@ static GHashTable *ufo_property_table; /* maps from prop_id to RegisterInfo* */  struct _UcaUfoCameraPrivate {      pcilib_t *handle; +    guint     n_bits;  };  static void ignore_messages(const char *format, ...) @@ -101,11 +101,11 @@ static void ignore_messages(const char *format, ...)  }  static guint -read_register_value (UcaUfoCameraPrivate *priv, const gchar *name) +read_register_value (pcilib_t *handle, const gchar *name)  {      pcilib_register_value_t reg_value; -    pcilib_read_register(priv->handle, NULL, name, ®_value); +    pcilib_read_register(handle, NULL, name, ®_value);      return (guint) reg_value;  } @@ -145,9 +145,6 @@ UcaUfoCamera *uca_ufo_camera_new(GError **error)      pcilib_set_error_handler(&ignore_messages, &ignore_messages); -    bit_mode = read_register_value (priv, "bit_mode"); -    priv->n_bits = bit_mode == 2 ? 12 : 10; -      /* Generate properties from model description */      model_description = pcilib_get_model_description(handle);      ufo_property_table = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, g_free); @@ -194,6 +191,9 @@ UcaUfoCamera *uca_ufo_camera_new(GError **error)      UcaUfoCamera *camera = g_object_new(UCA_TYPE_UFO_CAMERA, NULL);      UcaUfoCameraPrivate *priv = UCA_UFO_CAMERA_GET_PRIVATE(camera); + +    bit_mode = read_register_value (handle, "bit_mode"); +    priv->n_bits = bit_mode == 2 ? 12 : 10;      priv->handle = handle;      return camera; @@ -325,7 +325,7 @@ uca_ufo_camera_get_property(GObject *object, guint property_id, GValue *value, G              g_value_set_uint(value, SENSOR_HEIGHT);              break;          case PROP_SENSOR_BITDEPTH: -            g_value_set_uing (value, priv->n_bits); +            g_value_set_uint (value, priv->n_bits);              break;          case PROP_SENSOR_HORIZONTAL_BINNING:              g_value_set_uint(value, 1); @@ -337,10 +337,10 @@ uca_ufo_camera_get_property(GObject *object, guint property_id, GValue *value, G              g_value_set_float(value, 340.0);              break;          case PROP_SENSOR_TEMPERATURE: -            g_value_set_double (value, 0.17537 * read_register_value (priv, "cmosis_temperature") - 198.03733); +            g_value_set_double (value, 0.17537 * read_register_value (priv->handle, "cmosis_temperature") - 198.03733);              break;          case PROP_EXPOSURE_TIME: -            g_value_set_double (value, read_register_value (priv, "exp_time") / EXPOSURE_TIME_SCALE); +            g_value_set_double (value, read_register_value (priv->handle, "exp_time") / EXPOSURE_TIME_SCALE);              break;          case PROP_HAS_STREAMING:              g_value_set_boolean(value, TRUE); | 
