ArvDevice

ArvDevice — Abstract base class for device handling

Synopsis

                    ArvDevice;
ArvStream *         arv_device_create_stream            (ArvDevice *device,
                                                         ArvStreamCallback callback,
                                                         void *user_data);
gboolean            arv_device_read_memory              (ArvDevice *device,
                                                         guint32 address,
                                                         guint32 size,
                                                         void *buffer);
gboolean            arv_device_write_memory             (ArvDevice *device,
                                                         guint32 address,
                                                         guint32 size,
                                                         void *buffer);
gboolean            arv_device_read_register            (ArvDevice *device,
                                                         guint32 address,
                                                         guint32 *value);
gboolean            arv_device_write_register           (ArvDevice *device,
                                                         guint32 address,
                                                         guint32 value);
const char *        arv_device_get_genicam_xml          (ArvDevice *device,
                                                         size_t *size);
ArvGc *             arv_device_get_genicam              (ArvDevice *device);
void                arv_device_execute_command          (ArvDevice *device,
                                                         const char *feature);
ArvGcNode *         arv_device_get_feature              (ArvDevice *device,
                                                         const char *feature);
void                arv_device_set_string_feature_value (ArvDevice *device,
                                                         const char *feature,
                                                         const char *value);
const char *        arv_device_get_string_feature_value (ArvDevice *device,
                                                         const char *feature);
void                arv_device_set_integer_feature_value
                                                        (ArvDevice *device,
                                                         const char *feature,
                                                         gint64 value);
gint64              arv_device_get_integer_feature_value
                                                        (ArvDevice *device,
                                                         const char *feature);
void                arv_device_get_integer_feature_bounds
                                                        (ArvDevice *device,
                                                         const char *feature,
                                                         gint64 *min,
                                                         gint64 *max);
void                arv_device_set_float_feature_value  (ArvDevice *device,
                                                         const char *feature,
                                                         double value);
double              arv_device_get_float_feature_value  (ArvDevice *device,
                                                         const char *feature);
void                arv_device_get_float_feature_bounds (ArvDevice *device,
                                                         const char *feature,
                                                         double *min,
                                                         double *max);
void                arv_device_emit_control_lost_signal (ArvDevice *device);

Object Hierarchy

  GObject
   +----ArvDevice
         +----ArvFakeDevice
         +----ArvGvDevice

Signals

  "control-lost"                                   : Run Last

Description

ArvDevice is an abstract base class for the control of cameras. It provides an easy access to the camera settings, and to its genicam interface for more advanced uses.

Details

ArvDevice

typedef struct _ArvDevice ArvDevice;

arv_device_create_stream ()

ArvStream *         arv_device_create_stream            (ArvDevice *device,
                                                         ArvStreamCallback callback,
                                                         void *user_data);

Creates a new ArvStream for video stream handling. See ArvStreamCallback for details regarding the callback function.

device :

a ArvDevice

callback :

a frame processing callback. [scope call]

user_data :

(closure) user data for callback Return value: (transfer full): a new ArvStream.

arv_device_read_memory ()

gboolean            arv_device_read_memory              (ArvDevice *device,
                                                         guint32 address,
                                                         guint32 size,
                                                         void *buffer);

arv_device_write_memory ()

gboolean            arv_device_write_memory             (ArvDevice *device,
                                                         guint32 address,
                                                         guint32 size,
                                                         void *buffer);

arv_device_read_register ()

gboolean            arv_device_read_register            (ArvDevice *device,
                                                         guint32 address,
                                                         guint32 *value);

arv_device_write_register ()

gboolean            arv_device_write_register           (ArvDevice *device,
                                                         guint32 address,
                                                         guint32 value);

arv_device_get_genicam_xml ()

const char *        arv_device_get_genicam_xml          (ArvDevice *device,
                                                         size_t *size);

arv_device_get_genicam ()

ArvGc *             arv_device_get_genicam              (ArvDevice *device);

Retrieves the genicam interface of the given device.

device :

a device object Return value: (transfer none): the genicam interface.

arv_device_execute_command ()

void                arv_device_execute_command          (ArvDevice *device,
                                                         const char *feature);

arv_device_get_feature ()

ArvGcNode *         arv_device_get_feature              (ArvDevice *device,
                                                         const char *feature);

device :

a ArvDevice

feature :

a feature name

Returns :

the genicam node corresponding to the feature name, NULL if not found. [transfer none]

arv_device_set_string_feature_value ()

void                arv_device_set_string_feature_value (ArvDevice *device,
                                                         const char *feature,
                                                         const char *value);

arv_device_get_string_feature_value ()

const char *        arv_device_get_string_feature_value (ArvDevice *device,
                                                         const char *feature);

arv_device_set_integer_feature_value ()

void                arv_device_set_integer_feature_value
                                                        (ArvDevice *device,
                                                         const char *feature,
                                                         gint64 value);

arv_device_get_integer_feature_value ()

gint64              arv_device_get_integer_feature_value
                                                        (ArvDevice *device,
                                                         const char *feature);

arv_device_get_integer_feature_bounds ()

void                arv_device_get_integer_feature_bounds
                                                        (ArvDevice *device,
                                                         const char *feature,
                                                         gint64 *min,
                                                         gint64 *max);

arv_device_set_float_feature_value ()

void                arv_device_set_float_feature_value  (ArvDevice *device,
                                                         const char *feature,
                                                         double value);

arv_device_get_float_feature_value ()

double              arv_device_get_float_feature_value  (ArvDevice *device,
                                                         const char *feature);

arv_device_get_float_feature_bounds ()

void                arv_device_get_float_feature_bounds (ArvDevice *device,
                                                         const char *feature,
                                                         double *min,
                                                         double *max);

arv_device_emit_control_lost_signal ()

void                arv_device_emit_control_lost_signal (ArvDevice *device);

Signal Details

The "control-lost" signal

void                user_function                      (ArvDevice *device,
                                                        gpointer   user_data)      : Run Last

Signal that the control of the device is lost.

This signal may be emited from a thread different than the main one, so please take care to shared data access from the callback.

device :

a ArvDevice

user_data :

user data set when the signal handler was connected.