From bf83e234755ea390c92f05c4b701cf8ee57c2526 Mon Sep 17 00:00:00 2001 From: Matthias Vogelgesang Date: Tue, 7 Jun 2011 15:45:06 +0200 Subject: Hotpixel correction and cam_state -> uca.h --- src/cameras/pco.c | 11 +++++++++++ src/uca-cam.h | 9 +++++++++ src/uca.c | 1 + src/uca.h | 11 +++++++++++ 4 files changed, 32 insertions(+) (limited to 'src') diff --git a/src/cameras/pco.c b/src/cameras/pco.c index c11ba24..e643ab0 100644 --- a/src/cameras/pco.c +++ b/src/cameras/pco.c @@ -90,6 +90,9 @@ static uint32_t uca_pco_set_property(struct uca_camera_priv *cam, enum uca_prope case UCA_PROP_TIMESTAMP_MODE: return pco_set_timestamp_mode(GET_PCO(cam), *((uint16_t *) data)); + case UCA_PROP_HOTPIXEL_CORRECTION: + return pco_set_hotpixel_correction(GET_PCO(cam), *(uint32_t *) data); + default: return err | UCA_ERR_INVALID; } @@ -219,6 +222,14 @@ static uint32_t uca_pco_get_property(struct uca_camera_priv *cam, enum uca_prope } break; + case UCA_PROP_HOTPIXEL_CORRECTION: + { + SC2_Hot_Pixel_Correction_Mode_Response response; + if (pco_read_property(pco, GET_HOT_PIXEL_CORRECTION_MODE, &response, sizeof(response)) == PCO_NOERROR) + uca_set_void(data, uint32_t, response.wMode); + } + break; + default: return UCA_ERR_CAMERA | UCA_ERR_PROP | UCA_ERR_INVALID; } diff --git a/src/uca-cam.h b/src/uca-cam.h index 8b6fc0d..a194054 100644 --- a/src/uca-cam.h +++ b/src/uca-cam.h @@ -19,6 +19,15 @@ extern "C" { enum uca_property_ids; +/** + * Describes the current state of the camera. + */ +enum uca_cam_state { + UCA_CAM_CONFIGURABLE, /**< Camera can be configured and is not recording */ + UCA_CAM_ARMED, /**< Camera is ready for recording */ + UCA_CAM_RECORDING, /**< Camera is currently recording */ +}; + /* * --- non-virtual methods ---------------------------------------------------- */ diff --git a/src/uca.c b/src/uca.c index 94aeca0..7a9d628 100644 --- a/src/uca.c +++ b/src/uca.c @@ -84,6 +84,7 @@ static struct uca_property property_map[UCA_PROP_LAST+1] = { { "Grabber.Synchronous", uca_bool, uca_uint32t, uca_readwrite }, { "Mode.Timestamp", uca_na, uca_uint32t, uca_readwrite }, { "Mode.Scan", uca_na, uca_uint32t, uca_readwrite }, + { "Mode.Hotpixel", uca_na, uca_uint32t, uca_readwrite }, { "Interlace.Samplerate", uca_na, uca_uint32t, uca_readwrite }, { "Interlace.Threshold.Pixel", uca_na, uca_uint32t, uca_readwrite }, { "Interlace.Threshold.Row", uca_na, uca_uint32t, uca_readwrite }, diff --git a/src/uca.h b/src/uca.h index bcab72f..9ca21db 100644 --- a/src/uca.h +++ b/src/uca.h @@ -112,6 +112,7 @@ enum uca_property_ids { /* pco.edge specific */ UCA_PROP_TIMESTAMP_MODE, UCA_PROP_SCAN_MODE, + UCA_PROP_HOTPIXEL_CORRECTION, /* IPE camera specific */ UCA_PROP_INTERLACE_SAMPLE_RATE, @@ -224,6 +225,16 @@ union uca_value { char *string; }; +/** + * Describes the current state of the camera. + */ +enum uca_cam_state { + UCA_CAM_CONFIGURABLE, /**< Camera can be configured and is not recording */ + UCA_CAM_ARMED, /**< Camera is ready for recording */ + UCA_CAM_RECORDING, /**< Camera is currently recording */ +}; + + /** * Grab callback. * -- cgit v1.2.3