/usr/include/dc1394/vendor/pixelink.h is in libdc1394-22-dev 2.2.4-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | /*
* 1394-Based Digital Camera Control Library
*
* Pixelink (PxL) specific extensions for Multi-camera control.
*
* Written by
* Aravind Sundaresan <a.sundaresan@gmail.com>
* James Sherman <shermanj@umd.edu>
*
* Copyright (C) 2006 Tobii Technology AB, Stockholm Sweden
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __DC1394_VENDOR_PIXELINK_H__
#define __DC1394_VENDOR_PIXELINK_H__
#include <dc1394/log.h>
#include <dc1394/types.h>
/*! \file dc1394/vendor/pixelink.h
\brief No docs yet
More details soon
*/
//#define PIXELINK_DEBUG_LOWEST_LEVEL
//#define PIXELINK_DEBUG_DISPLAY
/*
* The following deal with the Pixelink specific extensions for cameras
* PL-A74x. They have been tested on PL-A742 cameras.
*/
#define PxL_MAX_STRING_LENGTH 256
/*
* Any definition with PxL_ACR prefix refers to the Advanced Feature Control
* and Status Registers. They are actually offsets from the
* Advanced_Feature_Inq Value.
*/
/* Camera Info Registers */
#define PxL_ACR_SERIAL_NUM_OFFSET 0x0008U
#define PxL_ACR_SERIAL_NUM_LENGTH 0x000cU
#define PxL_ACR_FPGA_VERSION 0x0010U
#define PxL_ACR_FW_VERSION 0x0014U
#define PxL_ACR_CAMERA_DESC_OFFSET 0x0018U
#define PxL_ACR_CAMERA_DESC_LENGTH 0x001cU
/* Advanced Feature Inquiry Registers */
#define PxL_ACR_NAME_INQUIRY 0x0100U
#define PxL_ACR_NAME_OFFSET 0x0104U
#define PxL_ACR_NAME_LENGTH 0x0108U
/* Advanced Feature Inquiry Registers (GPIO) */
#define PxL_ACR_GPIO_INQ 0x0128U
#define PxL_ACR_GPIO_PARM1_ABS 0x012CU
#define PxL_ACR_GPIO_PARM2_ABS 0x0130U
#define PxL_ACR_GPIO_PARM3_ABS 0x0134U
#define PxL_ACR_GPIO_0_CFG 0x0300U
#define PxL_ACR_GPIO_1_CFG 0x0304U
#define PxL_ACR_GPIO_2_CFG 0x0308U
#define PxL_ACR_GPIO_3_CFG 0x030CU
/*
* The following are some of the constants that are register specific.
*/
#define PxL_GPO_CFG_ENABLE 0x80000000U
#define PxL_GPO_CFG_DISABLE 0x00000000U
#define PxL_GPO_CFG_POLARITY_HIGH 0x40000000U
#define PxL_GPO_CFG_POLARITY_LOW 0x00000000U
#define PxL_GPO_CFG_MODE_STROBE 0x00000000U
#define PxL_GPO_CFG_MODE_NORMAL 0x00000001U
#define PxL_GPO_CFG_MODE_PULSE 0x00000002U
#define PxL_GPO_CFG_MODE_BUSY 0x00000003U
#define PxL_GPO_CFG_MODE_FLASH 0x00000004U
/**
* No Docs
*/
typedef enum {
DC1394_PxL_GPIO_POLARITY_NONE=0,
DC1394_PxL_GPIO_POLARITY_HIGH,
DC1394_PxL_GPIO_POLARITY_LOW
} dc1394pxl_gpio_polarity_t;
/**
* No Docs
*/
typedef enum {
DC1394_PxL_GPIO_MODE_STROBE=0,
DC1394_PxL_GPIO_MODE_NORMAL,
DC1394_PxL_GPIO_MODE_PULSE,
DC1394_PxL_GPIO_MODE_BUSY,
DC1394_PxL_GPIO_MODE_FLASH
} dc1394pxl_gpio_mode_t;
/* IEEE 32 bit floating point type */
typedef float float32_t;
/**
* GPIO Information structure
*/
typedef struct __dc1394_pxl_gpio_info_struct {
uint32_t number;
dc1394bool_t presence;
dc1394bool_t polarity;
dc1394bool_t mode_strobe;
dc1394bool_t mode_normal;
dc1394bool_t mode_pulse;
dc1394bool_t mode_busy;
dc1394bool_t mode_flash;
} dc1394_pxl_gpio_info_t;
/**
* Camera information
*/
typedef struct __dc1394_pxl_camera_info_struct {
uint32_t fpga_version;
uint32_t fw_version;
char serial_number[PxL_MAX_STRING_LENGTH];
char description[PxL_MAX_STRING_LENGTH];
} dc1394_pxl_camera_info_t;
/**
* Advanced feature inquiry
*/
typedef struct __dc1394_pxl_adv_feature_info_struct {
dc1394bool_t name_presence;
uint32_t name_offset;
char name[PxL_MAX_STRING_LENGTH];
} dc1394_pxl_adv_feature_info_t;
#ifdef __cplusplus
extern "C" {
#endif
/**
* No Docs
*/
dc1394error_t
dc1394_pxl_convert_float32_to_quadlet(double , uint32_t *);
/**
* No Docs
*/
dc1394error_t
dc1394_pxl_convert_uint32_to_float32(uint32_t , double *);
/**
* No Docs
*/
dc1394error_t
dc1394_pxl_get_camera_name(dc1394camera_t *, char *, uint32_t);
/**
* No Docs
*/
dc1394error_t
dc1394_pxl_get_camera_info(dc1394camera_t *, dc1394_pxl_camera_info_t *);
/**
* No Docs
*/
dc1394error_t
dc1394_pxl_get_camera_serial_number(dc1394camera_t *, uint32_t *);
/**
* No Docs
*/
dc1394error_t
dc1394_pxl_get_gpo_param(dc1394camera_t *, uint32_t, uint32_t *, uint32_t *, uint32_t *);
/**
* No Docs
*/
dc1394error_t
dc1394_pxl_get_gpo_param_min_max(dc1394camera_t *, uint32_t, uint32_t *,
uint32_t *, uint32_t *, uint32_t *, uint32_t *, uint32_t *,
uint32_t *, uint32_t *, uint32_t *);
/**
* No Docs
*/
dc1394error_t
dc1394_pxl_get_gpo_config(dc1394camera_t *, uint32_t, uint32_t *);
/**
* No Docs
*/
dc1394error_t
dc1394_pxl_set_gpo_config(dc1394camera_t *, uint32_t, uint32_t);
/**
* No Docs
*/
dc1394error_t
dc1394_pxl_set_gpio_mode_param(dc1394camera_t *, uint32_t ,
dc1394pxl_gpio_polarity_t, dc1394pxl_gpio_mode_t, double, double, double);
/**
* No Docs
*/
dc1394error_t
dc1394_pxl_print_camera_info(dc1394camera_t *, FILE *fd);
#ifdef __cplusplus
}
#endif
#endif
|