|
Packit |
713213 |
/*
|
|
Packit |
713213 |
* 1394-Based Digital Camera Control Library
|
|
Packit |
713213 |
*
|
|
Packit |
713213 |
* Generic camera control functions
|
|
Packit |
713213 |
*
|
|
Packit |
713213 |
* Written by Damien Douxchamps <ddouxchamps@users.sf.net>
|
|
Packit |
713213 |
*
|
|
Packit |
713213 |
* This library is free software; you can redistribute it and/or
|
|
Packit |
713213 |
* modify it under the terms of the GNU Lesser General Public
|
|
Packit |
713213 |
* License as published by the Free Software Foundation; either
|
|
Packit |
713213 |
* version 2.1 of the License, or (at your option) any later version.
|
|
Packit |
713213 |
*
|
|
Packit |
713213 |
* This library is distributed in the hope that it will be useful,
|
|
Packit |
713213 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
713213 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
713213 |
* Lesser General Public License for more details.
|
|
Packit |
713213 |
*
|
|
Packit |
713213 |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
713213 |
* License along with this library; if not, write to the Free Software
|
|
Packit |
713213 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
|
|
Packit |
713213 |
#include <dc1394/log.h>
|
|
Packit |
713213 |
|
|
Packit |
713213 |
#ifndef __DC1394_CONTROL_H__
|
|
Packit |
713213 |
#define __DC1394_CONTROL_H__
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/*! \file dc1394/control.h
|
|
Packit |
713213 |
\brief Diverse controls of camera features
|
|
Packit |
713213 |
\author Gord Peters: main writer
|
|
Packit |
713213 |
\author Chris Urmson: some additions
|
|
Packit |
713213 |
\author Damien Douxchamps: some additions
|
|
Packit |
713213 |
\author Peter Antoniac: documentation maintainer
|
|
Packit |
713213 |
\author Rudolf Leitgeb: documentation writer
|
|
Packit |
713213 |
|
|
Packit |
713213 |
This is the main include file of the library. It lists most of the library
|
|
Packit |
713213 |
functions, enumerations and data structures.
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Enumeration of trigger modes
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
typedef enum {
|
|
Packit |
713213 |
DC1394_TRIGGER_MODE_0= 384,
|
|
Packit |
713213 |
DC1394_TRIGGER_MODE_1,
|
|
Packit |
713213 |
DC1394_TRIGGER_MODE_2,
|
|
Packit |
713213 |
DC1394_TRIGGER_MODE_3,
|
|
Packit |
713213 |
DC1394_TRIGGER_MODE_4,
|
|
Packit |
713213 |
DC1394_TRIGGER_MODE_5,
|
|
Packit |
713213 |
DC1394_TRIGGER_MODE_14,
|
|
Packit |
713213 |
DC1394_TRIGGER_MODE_15
|
|
Packit |
713213 |
} dc1394trigger_mode_t;
|
|
Packit |
713213 |
#define DC1394_TRIGGER_MODE_MIN DC1394_TRIGGER_MODE_0
|
|
Packit |
713213 |
#define DC1394_TRIGGER_MODE_MAX DC1394_TRIGGER_MODE_15
|
|
Packit |
713213 |
#define DC1394_TRIGGER_MODE_NUM (DC1394_TRIGGER_MODE_MAX - DC1394_TRIGGER_MODE_MIN + 1)
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Enumeration of camera features
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
typedef enum {
|
|
Packit |
713213 |
DC1394_FEATURE_BRIGHTNESS= 416,
|
|
Packit |
713213 |
DC1394_FEATURE_EXPOSURE,
|
|
Packit |
713213 |
DC1394_FEATURE_SHARPNESS,
|
|
Packit |
713213 |
DC1394_FEATURE_WHITE_BALANCE,
|
|
Packit |
713213 |
DC1394_FEATURE_HUE,
|
|
Packit |
713213 |
DC1394_FEATURE_SATURATION,
|
|
Packit |
713213 |
DC1394_FEATURE_GAMMA,
|
|
Packit |
713213 |
DC1394_FEATURE_SHUTTER,
|
|
Packit |
713213 |
DC1394_FEATURE_GAIN,
|
|
Packit |
713213 |
DC1394_FEATURE_IRIS,
|
|
Packit |
713213 |
DC1394_FEATURE_FOCUS,
|
|
Packit |
713213 |
DC1394_FEATURE_TEMPERATURE,
|
|
Packit |
713213 |
DC1394_FEATURE_TRIGGER,
|
|
Packit |
713213 |
DC1394_FEATURE_TRIGGER_DELAY,
|
|
Packit |
713213 |
DC1394_FEATURE_WHITE_SHADING,
|
|
Packit |
713213 |
DC1394_FEATURE_FRAME_RATE,
|
|
Packit |
713213 |
DC1394_FEATURE_ZOOM,
|
|
Packit |
713213 |
DC1394_FEATURE_PAN,
|
|
Packit |
713213 |
DC1394_FEATURE_TILT,
|
|
Packit |
713213 |
DC1394_FEATURE_OPTICAL_FILTER,
|
|
Packit |
713213 |
DC1394_FEATURE_CAPTURE_SIZE,
|
|
Packit |
713213 |
DC1394_FEATURE_CAPTURE_QUALITY
|
|
Packit |
713213 |
} dc1394feature_t;
|
|
Packit |
713213 |
#define DC1394_FEATURE_MIN DC1394_FEATURE_BRIGHTNESS
|
|
Packit |
713213 |
#define DC1394_FEATURE_MAX DC1394_FEATURE_CAPTURE_QUALITY
|
|
Packit |
713213 |
#define DC1394_FEATURE_NUM (DC1394_FEATURE_MAX - DC1394_FEATURE_MIN + 1)
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Enumeration of trigger sources
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
typedef enum {
|
|
Packit |
713213 |
DC1394_TRIGGER_SOURCE_0= 576,
|
|
Packit |
713213 |
DC1394_TRIGGER_SOURCE_1,
|
|
Packit |
713213 |
DC1394_TRIGGER_SOURCE_2,
|
|
Packit |
713213 |
DC1394_TRIGGER_SOURCE_3,
|
|
Packit |
713213 |
DC1394_TRIGGER_SOURCE_SOFTWARE
|
|
Packit |
713213 |
} dc1394trigger_source_t;
|
|
Packit |
713213 |
#define DC1394_TRIGGER_SOURCE_MIN DC1394_TRIGGER_SOURCE_0
|
|
Packit |
713213 |
#define DC1394_TRIGGER_SOURCE_MAX DC1394_TRIGGER_SOURCE_SOFTWARE
|
|
Packit |
713213 |
#define DC1394_TRIGGER_SOURCE_NUM (DC1394_TRIGGER_SOURCE_MAX - DC1394_TRIGGER_SOURCE_MIN + 1)
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* External trigger polarity
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
typedef enum {
|
|
Packit |
713213 |
DC1394_TRIGGER_ACTIVE_LOW= 704,
|
|
Packit |
713213 |
DC1394_TRIGGER_ACTIVE_HIGH
|
|
Packit |
713213 |
} dc1394trigger_polarity_t;
|
|
Packit |
713213 |
#define DC1394_TRIGGER_ACTIVE_MIN DC1394_TRIGGER_ACTIVE_LOW
|
|
Packit |
713213 |
#define DC1394_TRIGGER_ACTIVE_MAX DC1394_TRIGGER_ACTIVE_HIGH
|
|
Packit |
713213 |
#define DC1394_TRIGGER_ACTIVE_NUM (DC1394_TRIGGER_ACTIVE_MAX - DC1394_TRIGGER_ACTIVE_MIN + 1)
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Control modes for a feature (excl. absolute control)
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
typedef enum {
|
|
Packit |
713213 |
DC1394_FEATURE_MODE_MANUAL= 736,
|
|
Packit |
713213 |
DC1394_FEATURE_MODE_AUTO,
|
|
Packit |
713213 |
DC1394_FEATURE_MODE_ONE_PUSH_AUTO
|
|
Packit |
713213 |
} dc1394feature_mode_t;
|
|
Packit |
713213 |
#define DC1394_FEATURE_MODE_MIN DC1394_FEATURE_MODE_MANUAL
|
|
Packit |
713213 |
#define DC1394_FEATURE_MODE_MAX DC1394_FEATURE_MODE_ONE_PUSH_AUTO
|
|
Packit |
713213 |
#define DC1394_FEATURE_MODE_NUM (DC1394_FEATURE_MODE_MAX - DC1394_FEATURE_MODE_MIN + 1)
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* List of feature modes
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
typedef struct
|
|
Packit |
713213 |
{
|
|
Packit |
713213 |
uint32_t num;
|
|
Packit |
713213 |
dc1394feature_mode_t modes[DC1394_FEATURE_MODE_NUM];
|
|
Packit |
713213 |
} dc1394feature_modes_t;
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* List of trigger modes
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
typedef struct
|
|
Packit |
713213 |
{
|
|
Packit |
713213 |
uint32_t num;
|
|
Packit |
713213 |
dc1394trigger_mode_t modes[DC1394_TRIGGER_MODE_NUM];
|
|
Packit |
713213 |
} dc1394trigger_modes_t;
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* List of trigger sources
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
typedef struct
|
|
Packit |
713213 |
{
|
|
Packit |
713213 |
uint32_t num;
|
|
Packit |
713213 |
dc1394trigger_source_t sources[DC1394_TRIGGER_SOURCE_NUM];
|
|
Packit |
713213 |
} dc1394trigger_sources_t;
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* A structure containing all information about a feature.
|
|
Packit |
713213 |
*
|
|
Packit |
713213 |
* Some fields are only valid for some features (e.g. trigger, white balance,...)
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
typedef struct __dc1394feature_info_t_struct
|
|
Packit |
713213 |
{
|
|
Packit |
713213 |
dc1394feature_t id;
|
|
Packit |
713213 |
dc1394bool_t available;
|
|
Packit |
713213 |
dc1394bool_t absolute_capable;
|
|
Packit |
713213 |
dc1394bool_t readout_capable;
|
|
Packit |
713213 |
dc1394bool_t on_off_capable;
|
|
Packit |
713213 |
dc1394bool_t polarity_capable;
|
|
Packit |
713213 |
dc1394switch_t is_on;
|
|
Packit |
713213 |
dc1394feature_mode_t current_mode;
|
|
Packit |
713213 |
dc1394feature_modes_t modes;
|
|
Packit |
713213 |
dc1394trigger_modes_t trigger_modes;
|
|
Packit |
713213 |
dc1394trigger_mode_t trigger_mode;
|
|
Packit |
713213 |
dc1394trigger_polarity_t trigger_polarity;
|
|
Packit |
713213 |
dc1394trigger_sources_t trigger_sources;
|
|
Packit |
713213 |
dc1394trigger_source_t trigger_source;
|
|
Packit |
713213 |
uint32_t min;
|
|
Packit |
713213 |
uint32_t max;
|
|
Packit |
713213 |
uint32_t value;
|
|
Packit |
713213 |
uint32_t BU_value;
|
|
Packit |
713213 |
uint32_t RV_value;
|
|
Packit |
713213 |
uint32_t B_value;
|
|
Packit |
713213 |
uint32_t R_value;
|
|
Packit |
713213 |
uint32_t G_value;
|
|
Packit |
713213 |
uint32_t target_value;
|
|
Packit |
713213 |
|
|
Packit |
713213 |
dc1394switch_t abs_control;
|
|
Packit |
713213 |
float abs_value;
|
|
Packit |
713213 |
float abs_max;
|
|
Packit |
713213 |
float abs_min;
|
|
Packit |
713213 |
|
|
Packit |
713213 |
} dc1394feature_info_t;
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* The list of features
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
typedef struct __dc1394featureset_t
|
|
Packit |
713213 |
{
|
|
Packit |
713213 |
dc1394feature_info_t feature[DC1394_FEATURE_NUM];
|
|
Packit |
713213 |
} dc1394featureset_t;
|
|
Packit |
713213 |
|
|
Packit |
713213 |
#ifdef __cplusplus
|
|
Packit |
713213 |
extern "C" {
|
|
Packit |
713213 |
#endif
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/***************************************************************************
|
|
Packit |
713213 |
Features
|
|
Packit |
713213 |
***************************************************************************/
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Collects the available features for the camera described by node and stores them in features.
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_get_all(dc1394camera_t *camera, dc1394featureset_t *features);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Stores the bounds and options associated with the feature described by feature->feature_id
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_get(dc1394camera_t *camera, dc1394feature_info_t *feature);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Displays the bounds and options of the given feature
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_print(dc1394feature_info_t *feature, FILE *fd);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Displays the bounds and options of every feature supported by the camera
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_print_all(dc1394featureset_t *features, FILE *fd);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Gets the whitebalance values
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_whitebalance_get_value(dc1394camera_t *camera, uint32_t *u_b_value, uint32_t *v_r_value);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Sets the whitebalance values
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_whitebalance_set_value(dc1394camera_t *camera, uint32_t u_b_value, uint32_t v_r_value);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Gets the temperature values (target and current)
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_temperature_get_value(dc1394camera_t *camera, uint32_t *target_temperature, uint32_t *temperature);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Sets the temperature values (target only) FIXME: COULD BE DROPPED? already in the standard feature_set_value()?
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_temperature_set_value(dc1394camera_t *camera, uint32_t target_temperature);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Gets the white shading values
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_whiteshading_get_value(dc1394camera_t *camera, uint32_t *r_value, uint32_t *g_value, uint32_t *b_value);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Sets the white shading values
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_whiteshading_set_value(dc1394camera_t *camera, uint32_t r_value, uint32_t g_value, uint32_t b_value);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Gets the value of a feature
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_get_value(dc1394camera_t *camera, dc1394feature_t feature, uint32_t *value);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Sets the value of a feature
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_set_value(dc1394camera_t *camera, dc1394feature_t feature, uint32_t value);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Tells whether a feature is present or not
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_is_present(dc1394camera_t *camera, dc1394feature_t feature, dc1394bool_t *value);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Tells whether a feature is readable or not
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_is_readable(dc1394camera_t *camera, dc1394feature_t feature, dc1394bool_t *value);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Gets the boundaries of a feature
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_get_boundaries(dc1394camera_t *camera, dc1394feature_t feature, uint32_t *min, uint32_t *max);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Tells whether a feature is switcheable or not (ON/OFF)
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_is_switchable(dc1394camera_t *camera, dc1394feature_t feature, dc1394bool_t *value);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Gets the power status of a feature (ON or OFF)
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_get_power(dc1394camera_t *camera, dc1394feature_t feature, dc1394switch_t *pwr);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Sets the power status of a feature (ON or OFF)
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_set_power(dc1394camera_t *camera, dc1394feature_t feature, dc1394switch_t pwr);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Gets the list of control modes for a feature (manual, auto, etc...)
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_get_modes(dc1394camera_t *camera, dc1394feature_t feature, dc1394feature_modes_t *modes);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Gets the current control modes for a feature
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_get_mode(dc1394camera_t *camera, dc1394feature_t feature, dc1394feature_mode_t *mode);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Sets the current control modes for a feature
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_set_mode(dc1394camera_t *camera, dc1394feature_t feature, dc1394feature_mode_t mode);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Tells whether a feature can be controlled in absolute mode
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_has_absolute_control(dc1394camera_t *camera, dc1394feature_t feature, dc1394bool_t *value);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Gets the absolute boundaries of a feature
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_get_absolute_boundaries(dc1394camera_t *camera, dc1394feature_t feature, float *min, float *max);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Gets the absolute value of a feature
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_get_absolute_value(dc1394camera_t *camera, dc1394feature_t feature, float *value);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Sets the absolute value of a feature
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_set_absolute_value(dc1394camera_t *camera, dc1394feature_t feature, float value);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Gets the status of absolute control of a feature
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_get_absolute_control(dc1394camera_t *camera, dc1394feature_t feature, dc1394switch_t *pwr);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Sets the feature in absolute control mode (ON/OFF)
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_feature_set_absolute_control(dc1394camera_t *camera, dc1394feature_t feature, dc1394switch_t pwr);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/***************************************************************************
|
|
Packit |
713213 |
Trigger
|
|
Packit |
713213 |
***************************************************************************/
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Sets the polarity of the external trigger
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_external_trigger_set_polarity(dc1394camera_t *camera, dc1394trigger_polarity_t polarity);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Gets the polarity of the external trigger
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_external_trigger_get_polarity(dc1394camera_t *camera, dc1394trigger_polarity_t *polarity);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Tells whether the external trigger can change its polarity or not.
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_external_trigger_has_polarity(dc1394camera_t *camera, dc1394bool_t *polarity_capable);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Switch between internal and external trigger
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_external_trigger_set_power(dc1394camera_t *camera, dc1394switch_t pwr);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Gets the status of the external trigger
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_external_trigger_get_power(dc1394camera_t *camera, dc1394switch_t *pwr);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Sets the external trigger mode
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_external_trigger_set_mode(dc1394camera_t *camera, dc1394trigger_mode_t mode);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Gets the external trigger mode
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_external_trigger_get_mode(dc1394camera_t *camera, dc1394trigger_mode_t *mode);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Sets the external trigger source
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_external_trigger_set_source(dc1394camera_t *camera, dc1394trigger_source_t source);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Gets the external trigger source
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_external_trigger_get_source(dc1394camera_t *camera, dc1394trigger_source_t *source);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Gets the list of available external trigger source
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_external_trigger_get_supported_sources(dc1394camera_t *camera, dc1394trigger_sources_t *sources);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Turn software trigger on or off
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_software_trigger_set_power(dc1394camera_t *camera, dc1394switch_t pwr);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Gets the state of software trigger
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_software_trigger_get_power(dc1394camera_t *camera, dc1394switch_t *pwr);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/***************************************************************************
|
|
Packit |
713213 |
PIO, SIO and Strobe Functions
|
|
Packit |
713213 |
***************************************************************************/
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Sends a quadlet on the PIO (output)
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_pio_set(dc1394camera_t *camera, uint32_t value);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Gets the current quadlet at the PIO (input)
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_pio_get(dc1394camera_t *camera, uint32_t *value);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/***************************************************************************
|
|
Packit |
713213 |
Other functionalities
|
|
Packit |
713213 |
***************************************************************************/
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* reset a camera to factory default settings
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_camera_reset(dc1394camera_t *camera);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* turn a camera on or off
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_camera_set_power(dc1394camera_t *camera, dc1394switch_t pwr);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Download a camera setup from the memory.
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_memory_busy(dc1394camera_t *camera, dc1394bool_t *value);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Uploads a camera setup in the memory.
|
|
Packit |
713213 |
*
|
|
Packit |
713213 |
* Note that this operation can only be performed a certain number of
|
|
Packit |
713213 |
* times for a given camera, as it requires reprogramming of an EEPROM.
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_memory_save(dc1394camera_t *camera, uint32_t channel);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
/**
|
|
Packit |
713213 |
* Tells whether the writing of the camera setup in memory is finished or not.
|
|
Packit |
713213 |
*/
|
|
Packit |
713213 |
dc1394error_t dc1394_memory_load(dc1394camera_t *camera, uint32_t channel);
|
|
Packit |
713213 |
|
|
Packit |
713213 |
|
|
Packit |
713213 |
#ifdef __cplusplus
|
|
Packit |
713213 |
}
|
|
Packit |
713213 |
#endif
|
|
Packit |
713213 |
|
|
Packit |
713213 |
#endif /* __DC1394_CONTROL_H__ */
|