summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimo Dritschler <timo.dritschler@kit.edu>2015-03-02 15:57:23 +0100
committerTimo Dritschler <timo.dritschler@kit.edu>2015-03-09 11:12:26 +0100
commit453701eddba38052a466e91d614fd999b52bca4a (patch)
tree2b0c346ab845f1b47f8d18aad675411cedef4673
parent43a5d42eeaccb08b7703e01e326e397ed3cd4ac2 (diff)
downloaduca-453701eddba38052a466e91d614fd999b52bca4a.tar.gz
uca-453701eddba38052a466e91d614fd999b52bca4a.tar.bz2
uca-453701eddba38052a466e91d614fd999b52bca4a.tar.xz
uca-453701eddba38052a466e91d614fd999b52bca4a.zip
Added check for 'writable during acquisition' to all set_property calls
-rw-r--r--plugins/dexela/uca-dexela-camera.c8
-rw-r--r--plugins/file/uca-file-camera.c8
-rw-r--r--plugins/mock/uca-mock-camera.c19
-rw-r--r--plugins/pco/uca-pco-camera.c11
-rw-r--r--plugins/pf/uca-pf-camera.c9
-rw-r--r--plugins/pylon/uca-pylon-camera.c8
-rw-r--r--plugins/ufo/uca-ufo-camera.c8
7 files changed, 58 insertions, 13 deletions
diff --git a/plugins/dexela/uca-dexela-camera.c b/plugins/dexela/uca-dexela-camera.c
index 49f4635..81d9f74 100644
--- a/plugins/dexela/uca-dexela-camera.c
+++ b/plugins/dexela/uca-dexela-camera.c
@@ -264,7 +264,13 @@ static void uca_dexela_camera_get_property(GObject *object, guint property_id, G
static void uca_dexela_camera_set_property(GObject *object, guint property_id, const GValue *value, GParamSpec *pspec)
{
- UcaDexelaCameraPrivate *priv = UCA_DEXELA_CAMERA_GET_PRIVATE(object);
+ g_return_if_fail (UCA_IS_DEXELA_CAMERA (object));
+ UcaDexelaCameraPrivate *priv = UCA_DEXELA_CAMERA_GET_PRIVATE (object);
+
+ if (uca_camera_is_recording (UCA_CAMERA (object)) && !uca_camera_is_writable_during_acquisition (UCA_CAMERA (object), pspec->name)) {
+ g_warning ("Property '%s' cant be changed during acquisition", pspec->name);
+ return;
+ }
switch (property_id) {
case PROP_EXPOSURE_TIME:
diff --git a/plugins/file/uca-file-camera.c b/plugins/file/uca-file-camera.c
index 5c7b5cb..632b8e8 100644
--- a/plugins/file/uca-file-camera.c
+++ b/plugins/file/uca-file-camera.c
@@ -221,7 +221,13 @@ uca_file_camera_set_property (GObject *object, guint property_id, const GValue *
static void
uca_file_camera_get_property(GObject *object, guint property_id, GValue *value, GParamSpec *pspec)
{
- UcaFileCameraPrivate *priv = UCA_FILE_CAMERA_GET_PRIVATE(object);
+ g_return_if_fail (UCA_IS_FILE_CAMERA (object));
+ UcaFileCameraPrivate *priv = UCA_FILE_CAMERA_GET_PRIVATE (object);
+
+ if (uca_camera_is_recording(UCA_CAMERA(object)) && !uca_camera_is_writable_during_acquisition(UCA_CAMERA(object), pspec->name)) {
+ g_warning ("Property '%s' cant be changed during acquisition", pspec->name);
+ return;
+ }
switch (property_id) {
case PROP_NAME:
diff --git a/plugins/mock/uca-mock-camera.c b/plugins/mock/uca-mock-camera.c
index eb41fcf..a406f93 100644
--- a/plugins/mock/uca-mock-camera.c
+++ b/plugins/mock/uca-mock-camera.c
@@ -293,27 +293,32 @@ uca_mock_camera_grab (UcaCamera *camera, gpointer data, GError **error)
static void
uca_mock_camera_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec)
{
- g_return_if_fail(UCA_IS_MOCK_CAMERA(object));
- UcaMockCameraPrivate *priv = UCA_MOCK_CAMERA_GET_PRIVATE(object);
+ g_return_if_fail (UCA_IS_MOCK_CAMERA (object));
+ UcaMockCameraPrivate *priv = UCA_MOCK_CAMERA_GET_PRIVATE (object);
+
+ if (uca_camera_is_recording (UCA_CAMERA (object)) && !uca_camera_is_writable_during_acquisition (UCA_CAMERA (object), pspec->name)) {
+ g_warning ("Property '%s' cant be changed during acquisition", pspec->name);
+ return;
+ }
switch (property_id) {
case PROP_EXPOSURE_TIME:
priv->exposure_time = g_value_get_double (value);
break;
case PROP_ROI_X:
- priv->roi_x = g_value_get_uint(value);
+ priv->roi_x = g_value_get_uint (value);
break;
case PROP_ROI_Y:
- priv->roi_y = g_value_get_uint(value);
+ priv->roi_y = g_value_get_uint (value);
break;
case PROP_ROI_WIDTH:
- priv->roi_width = g_value_get_uint(value);
+ priv->roi_width = g_value_get_uint (value);
break;
case PROP_ROI_HEIGHT:
- priv->roi_height = g_value_get_uint(value);
+ priv->roi_height = g_value_get_uint (value);
break;
default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
return;
}
}
diff --git a/plugins/pco/uca-pco-camera.c b/plugins/pco/uca-pco-camera.c
index 52fded5..b10d815 100644
--- a/plugins/pco/uca-pco-camera.c
+++ b/plugins/pco/uca-pco-camera.c
@@ -687,9 +687,15 @@ uca_pco_camera_grab(UcaCamera *camera, gpointer data, GError **error)
static void
uca_pco_camera_set_property(GObject *object, guint property_id, const GValue *value, GParamSpec *pspec)
{
- UcaPcoCameraPrivate *priv = UCA_PCO_CAMERA_GET_PRIVATE(object);
+ g_return_if_fail (UCA_IS_PCO_CAMERA (object));
+ UcaPcoCameraPrivate *priv = UCA_PCO_CAMERA_GET_PRIVATE (object);
guint err = PCO_NOERROR;
+ if (uca_camera_is_recording (UCA_CAMERA (object)) && !uca_camera_is_writable_during_acquisition (UCA_CAMERA (object), pspec->name)) {
+ g_warning ("Property '%s' cant be changed during acquisition", pspec->name);
+ return;
+ }
+
switch (property_id) {
case PROP_SENSOR_EXTENDED:
{
@@ -1781,6 +1787,9 @@ uca_pco_camera_init (UcaPcoCamera *self)
uca_camera_register_unit (camera, "cooling-point-default", UCA_UNIT_DEGREE_CELSIUS);
uca_camera_register_unit (camera, "sensor-adcs", UCA_UNIT_COUNT);
uca_camera_register_unit (camera, "sensor-max-adcs", UCA_UNIT_COUNT);
+
+ uca_camera_set_writable (camera, "exposure-time");
+ uca_camera_set_writable (camera, "frames-per-second");
}
G_MODULE_EXPORT GType
diff --git a/plugins/pf/uca-pf-camera.c b/plugins/pf/uca-pf-camera.c
index 6515700..26f8d0d 100644
--- a/plugins/pf/uca-pf-camera.c
+++ b/plugins/pf/uca-pf-camera.c
@@ -208,9 +208,16 @@ uca_pf_camera_trigger(UcaCamera *camera, GError **error)
static void
uca_pf_camera_set_property(GObject *object, guint property_id, const GValue *value, GParamSpec *pspec)
{
+ g_return_if_fail (UCA_IS_PF_CAMERA (object));
+
+ if (uca_camera_is_recording (UCA_CAMERA (object)) && !uca_camera_is_writable_during_acquisition (UCA_CAMERA (object), pspec->name)) {
+ g_warning ("Property '%s' cant be changed during acquisition", pspec->name);
+ return;
+ }
+
switch (property_id) {
default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
return;
}
}
diff --git a/plugins/pylon/uca-pylon-camera.c b/plugins/pylon/uca-pylon-camera.c
index 4420d58..af6b8cf 100644
--- a/plugins/pylon/uca-pylon-camera.c
+++ b/plugins/pylon/uca-pylon-camera.c
@@ -135,9 +135,15 @@ static gboolean uca_pylon_camera_grab(UcaCamera *camera, gpointer data, GError *
static void uca_pylon_camera_set_property(GObject *object, guint property_id, const GValue *value, GParamSpec *pspec)
{
- UcaPylonCameraPrivate *priv = UCA_PYLON_CAMERA_GET_PRIVATE(object);
+ g_return_if_fail (UCA_IS_PYLON_CAMERA (object));
+ UcaPylonCameraPrivate *priv = UCA_PYLON_CAMERA_GET_PRIVATE (object);
GError* error = NULL;
+ if (uca_camera_is_recording (UCA_CAMERA (object)) && !uca_camera_is_writable_during_acquisition (UCA_CAMERA (object), pspec->name)) {
+ g_warning ("Property '%s' cant be changed during acquisition", pspec->name);
+ return;
+ }
+
switch (property_id) {
case PROP_SENSOR_HORIZONTAL_BINNING:
/* intentional fall-through*/
diff --git a/plugins/ufo/uca-ufo-camera.c b/plugins/ufo/uca-ufo-camera.c
index d718eb0..91b9b65 100644
--- a/plugins/ufo/uca-ufo-camera.c
+++ b/plugins/ufo/uca-ufo-camera.c
@@ -424,7 +424,13 @@ total_readout_time (UcaUfoCamera *camera)
static void
uca_ufo_camera_set_property(GObject *object, guint property_id, const GValue *value, GParamSpec *pspec)
{
- UcaUfoCameraPrivate *priv = UCA_UFO_CAMERA_GET_PRIVATE(object);
+ g_return_if_fail (UCA_IS_UFO_CAMERA (object));
+ UcaUfoCameraPrivate *priv = UCA_UFO_CAMERA_GET_PRIVATE (object);
+
+ if (uca_camera_is_recording (UCA_CAMERA (object)) && !uca_camera_is_writable_during_acquisition (UCA_CAMERA (object), pspec->name)) {
+ g_warning ("Property '%s' cant be changed during acquisition", pspec->name);
+ return;
+ }
switch (property_id) {
case PROP_EXPOSURE_TIME: