Top |
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.
ArvStream * arv_device_create_stream (ArvDevice *device
,ArvStreamCallback callback
,void *user_data
,GError **error
);
Creates a new ArvStream for video stream handling. See
ArvStreamCallback
for details regarding the callback function.
Since: 0.2.0
ArvChunkParser *
arv_device_create_chunk_parser (ArvDevice *device
);
Create a ArvChunkParser object, to be used for chunk data extraction from ArvBuffer.
Since: 0.4.0
gboolean arv_device_read_memory (ArvDevice *device
,guint64 address
,guint32 size
,void *buffer
,GError **error
);
Reads size
bytes from the device memory.
Since: 0.2.0
gboolean arv_device_write_memory (ArvDevice *device
,guint64 address
,guint32 size
,void *buffer
,GError **error
);
Writes size
bytes to the device memory.
Since: 0.2.0
gboolean arv_device_read_register (ArvDevice *device
,guint64 address
,guint32 *value
,GError **error
);
Reads the value of a device register.
Since: 0.2.0
gboolean arv_device_write_register (ArvDevice *device
,guint64 address
,guint32 value
,GError **error
);
Writes value
to a device register.
Since: 0.2.0
const char * arv_device_get_genicam_xml (ArvDevice *device
,size_t *size
);
Gets the Genicam XML data stored in the device memory.
Since: 0.2.0
ArvGc *
arv_device_get_genicam (ArvDevice *device
);
Retrieves the genicam interface of the given device.
Since: 0.2.0
ArvGcNode * arv_device_get_feature (ArvDevice *device
,const char *feature
);
Since: 0.2.0
gboolean arv_device_is_feature_available (ArvDevice *device
,const char *feature
,GError **error
);
Return: TRUE
if feature is available, FALSE
if not or on error.
Since: 0.8.0
void arv_device_execute_command (ArvDevice *device
,const char *feature
,GError **error
);
Execute a genicam command.
Since: 0.8.0
gboolean arv_device_get_boolean_feature_value (ArvDevice *device
,const char *feature
,GError **error
);
Since: 0.8.0
void arv_device_set_boolean_feature_value (ArvDevice *device
,const char *feature
,gboolean value
,GError **error
);
Set the value of a boolean feature.
Since: 0.8.0
void arv_device_set_string_feature_value (ArvDevice *device
,const char *feature
,const char *value
,GError **error
);
Set the string feature value.
Since: 0.8.0
const char * arv_device_get_string_feature_value (ArvDevice *device
,const char *feature
,GError **error
);
Since: 0.8.0
void arv_device_set_integer_feature_value (ArvDevice *device
,const char *feature
,gint64 value
,GError **error
);
Set the integer feature value.
Since: 0.8.0
gint64 arv_device_get_integer_feature_value (ArvDevice *device
,const char *feature
,GError **error
);
Since: 0.8.0
void arv_device_get_integer_feature_bounds (ArvDevice *device
,const char *feature
,gint64 *min
,gint64 *max
,GError **error
);
Retrieves feature bounds.
Since: 0.8.0
gint64 arv_device_get_integer_feature_increment (ArvDevice *device
,const char *feature
,GError **error
);
Not all integer features have evenly distributed allowed values, which means the returned increment may not reflect the allowed value set.
Since: 0.8.0
void arv_device_set_float_feature_value (ArvDevice *device
,const char *feature
,double value
,GError **error
);
Set the float feature value.
Since: 0.8.0
double arv_device_get_float_feature_value (ArvDevice *device
,const char *feature
,GError **error
);
Since: 0.8.0
void arv_device_get_float_feature_bounds (ArvDevice *device
,const char *feature
,double *min
,double *max
,GError **error
);
Retrieves feature bounds.
Since: 0.8.0
double arv_device_get_float_feature_increment (ArvDevice *device
,const char *feature
,GError **error
);
Not all float features have evenly distributed allowed values, which means the returned increment may not reflect the allowed value set.
Since: 0.8.16
gboolean arv_device_is_enumeration_entry_available (ArvDevice *device
,const char *feature
,const char *entry
,GError **error
);
Since: 0.8.17
gint64 * arv_device_dup_available_enumeration_feature_values (ArvDevice *device
,const char *feature
,guint *n_values
,GError **error
);
Get all the available values of feature
, as integers.
a newly created array of 64 bit integers, which must freed after use using g_free, or NULL on error.
[array length=n_values][transfer container]
Since: 0.8.0
const char ** arv_device_dup_available_enumeration_feature_values_as_strings (ArvDevice *device
,const char *feature
,guint *n_values
,GError **error
);
Get all the available values of feature
, as strings.
a newly created array of const strings, which must freed after use using g_free, or NULL on error.
[array length=n_values][transfer container]
Since: 0.8.0
const char ** arv_device_dup_available_enumeration_feature_values_as_display_names (ArvDevice *device
,const char *feature
,guint *n_values
,GError **error
);
Get display names of all the available entries of feature
.
a newly created array of const strings, to be freed after use using g_free, or
NULL
on error.
[array length=n_values][transfer container]
Since: 0.8.0
gboolean arv_device_set_features_from_string (ArvDevice *device
,const char *string
,GError **error
);
Set features from a string containing a list of space separated feature assignments or command names. For example:
1 |
arv_device_set_features_from_string (device, "Width=256 Height=256 PixelFormat='Mono8' TriggerStart", &error); |
Since: 0.8.0
void arv_device_set_range_check_policy (ArvDevice *device
,ArvRangeCheckPolicy policy
);
Sets the range check policy. When enabled, before being set, the value of all nodes with an ArvGcFloat or ArvGcInteger interface will be checked against their Min and Max properties.
Be aware that some camera may have wrong definition of Min and Max, as this check is defined as not mandatory in the Genicam specification. If this is the case, it will not possible to set the value of the features with faulty Min or Max definition. Range check is disabled by default.
Since: 0.8.6
void arv_device_set_register_cache_policy (ArvDevice *device
,ArvRegisterCachePolicy policy
);
Sets the register cache policy.
Be aware that some camera may have wrong Cachable properties defined in their Genicam metadata, which may lead to incorrect readouts. Using the debug cache policy, and activating genicam debug output (export ARV_DEBUG=genicam), can help you to check the cache validity. In this mode, every time the cache content is not in sync with the actual register value, a debug message is printed on the console.
Since: 0.8.0