OXIESEC PANEL
- Current Dir:
/
/
usr
/
include
/
dc1394
/
vendor
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
10/28/2024 06:50:34 AM
rwxr-xr-x
📄
avt.h
16.33 KB
01/15/2017 01:35:22 PM
rw-r--r--
📄
basler.h
2.93 KB
01/15/2017 01:35:22 PM
rw-r--r--
📄
basler_sff.h
8.91 KB
01/15/2017 01:35:22 PM
rw-r--r--
📄
pixelink.h
5.83 KB
01/15/2017 01:35:22 PM
rw-r--r--
Editing: basler_sff.h
Close
/* * 1394-Based Digital Camera Control Library * * Basler Smart Feature Framework specific extensions * * Written by Mikael Olenfalk <mikael _DOT_ olenfalk _AT_ tobii _DOT_ com> * * 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_BASLER_SFF_H__ #define __DC1394_VENDOR_BASLER_SFF_H__ #include <stdint.h> /*! \file dc1394/vendor/basler_sff.h \brief No docs yet More details soon */ /** * \struct dc1394basler_sff_guid_t * Basler SFF Guid struct, this structure is used to identify chunks and to * request features from the camera, is basically just a normal GUID value */ typedef struct __dc1394basler_sff_guid_t { uint32_t d1; uint16_t d2, d3; uint8_t d4[8]; } dc1394basler_sff_guid_t; /** * \struct dc1394basler_sff_chunk_tail_t * SFF chunks are read from the end to the beginning (that is backwards), * each chunk ends in a chunk-tail, which contains information about the * size of the chunk as well as the GUID used to identify which chunk this * really is. */ typedef struct __dc1394basler_sff_chunk_tail_t { dc1394basler_sff_guid_t chunk_guid; /**< the chunk GUID, this is different from the CSR GUID used to request the feature */ uint32_t chunk_size; /**< the size of this chunk, including this struct */ uint32_t inverted_chunk_size; /**< the bitwise complement of the chunk size */ } dc1394basler_sff_chunk_tail_t; /** * SFF feature IDs */ typedef enum dc1394basler_sff_feature_t { DC1394_BASLER_SFF_FEATURE_MIN = 0, /** * SFF Extended data stream, this feature must be enabled * in order to use any other smart feature. * Please refer to struct dc1394basler_sff_extended_data_stream * for more information. */ DC1394_BASLER_SFF_EXTENDED_DATA_STREAM = 0, /** * The frame counter feature numbers images sequentially as they * are captured, the counter starts at 0 and wraps at 2^32-1. * The counter increments by one for each captured frame. * Whenever the camera is powered off, the counter resets to 0. * Please refer to struct dc1394basler_sff_frame_counter_t * for more information. */ DC1394_BASLER_SFF_FRAME_COUNTER, /** * The cycle time stamp feature adds a chunk to each image frame * containing the value of the IEEE1394 bus cycle timer. * These counters are sampled at the start of exposure of each image. * Please refer to struct dc1394basler_sff_cycle_time_stamp * for more information. */ DC1394_BASLER_SFF_CYCLE_TIME_STAMP, /** * The DCAM values smart features adds a chunk to each image * containing the current settings for some standard DCAM features. * The settings are sampled at the start of exposure of each image. * Please refer to struct dc1394basler_sff_dcam_values_t * for more information. */ DC1394_BASLER_SFF_DCAM_VALUES, /** * The CRC checksum feature adds a chunk to each image frame * containing a 16bit CRC checksum computed using the Z-modem * algorithm. The checksum is computed for all the image data * and all other SFF chunks except the CRC checksum chunk. * Please refer to the function dc1394_basler_validate_checksum() * for more information */ DC1394_BASLER_SFF_CRC_CHECKSUM, /** * The test images feature is used to check the camera's basic * functionality and its ability to transmit an image via * the video data cable. The test image can be used for * service purposes and for failure diagnostics. In test mode * the image is generated with a software program and the camera's * digital devices and does not use the optics the pixel array * or the ADCs. * * <b>This feature is not implemented</b> */ DC1394_BASLER_SFF_TEST_IMAGES, /** * Basler cameras include a register that contains version numbers * for the camera's internal software. For troubleshooting * purposes, Basler technical support may ask you to read * this register and to supply the results. * * <b>This feature is not implemented</b> */ DC1394_BASLER_SFF_EXTENDED_VERSION_INFO, /** * <b>This feature is not implemented</b> */ DC1394_BASLER_SFF_LOOKUP_TABLE, /** * <b>This feature is not implemented</b> */ DC1394_BASLER_SFF_TRIGGER_FLAG_AND_COUNTER, /** * <b>This feature is not implemented</b> */ DC1394_BASLER_SFF_OUTPUT_PORT_0_CONFIGURATION, /** * <b>This feature is not implemented</b> */ DC1394_BASLER_SFF_OUTPUT_PORT_1_CONFIGURATION, /** * <b>This feature is not implemented</b> */ DC1394_BASLER_SFF_OUTPUT_PORT_2_CONFIGURATION, /** * <b>This feature is not implemented</b> */ DC1394_BASLER_SFF_OUTPUT_PORT_3_CONFIGURATION, DC1394_BASLER_SFF_FEATURE_MAX } dc1394basler_sff_feature_t; /** * \struct dc1394basler_sff_t * Data type used by this API to define SFFs and also when iterating */ typedef struct __dc1394basler_sff_t { dc1394basler_sff_feature_t feature_id; /* the following members are used for iterating */ void* frame_buffer; uint32_t frame_size; void* current_iter; /* when iterating this member points to the beginning * to the data for this chunk, in order to use it should * be casted to a pointer of the type for this feature */ void* chunk_data; } dc1394basler_sff_t; /** * This structure is used to capture the SFF extended data stream chunk. * According to the Basler manuals the extended data stream chunk * also contains to members pixel_data and gap of variable size; * these members are ignored in this API because they can be obtained * from other sources. The pixel_data member which is the actual image frame * is all data from the beginning of the frame buffer until width*height*bytes_per_pixel * bytes. The gap is required on some cameras for technical reason but not used * otherwise. The size of the gap can be computed by computing * frame_size - sizeof all chunks - image_size. */ typedef struct dc1394basler_sff_extended_data_stream_t { /* pixel_data and gap members ignored, because they are not needed in this context */ uint32_t stride; uint8_t reserved3[3]; uint8_t data_depth; uint16_t top; uint16_t left; uint16_t height; uint16_t width; uint8_t reserved2[3]; uint8_t color_coding_id; uint8_t reserved1[3]; uint8_t color_filter_id; dc1394basler_sff_chunk_tail_t tail; } dc1394basler_sff_extended_data_stream_t; /** * No Docs */ typedef struct dc1394basler_sff_frame_counter_t { uint32_t counter; dc1394basler_sff_chunk_tail_t tail; } dc1394basler_sff_frame_counter_t; /** * No Docs */ typedef struct dc1394basler_sff_cycle_time_stamp_t { union { struct { uint32_t cycle_offset: 12; uint32_t cycle_count: 13; uint32_t second_count: 7; } structured; struct { uint32_t value; } unstructured; } cycle_time_stamp; } dc1394basler_sff_cycle_time_stamp_t; /** * No Docs */ typedef struct dc1394basler_dcam_csr_value_t { uint32_t value: 12; uint32_t reserved2: 12; uint32_t a_m_mode: 1; uint32_t on_off: 1; uint32_t one_push: 1; uint32_t reserved1: 2; uint32_t abs_control: 1; uint32_t presence_inq: 1; } dc1394basler_dcam_csr_value_t; /** * No Docs */ typedef struct dc1394basler_dcam_whitebalance_csr_value_t { uint32_t v_r_value: 12; uint32_t u_b_value: 12; uint32_t a_m_mode: 1; uint32_t on_off: 1; uint32_t one_push: 1; uint32_t reserved1: 2; uint32_t abs_control: 1; uint32_t presence_inq: 1; } dc1394basler_dcam_whitebalance_csr_value_t; /** * No Docs */ typedef struct dc1394basler_sff_dcam_values_t { /* gain */ dc1394basler_dcam_csr_value_t gain_csr; uint32_t gain_absolute_value; /* shutter */ dc1394basler_dcam_csr_value_t shutter_csr; uint32_t shutter_absolute_value; /* gamma */ dc1394basler_dcam_csr_value_t gamma_csr; uint32_t gamma_absolute_value; /* white balance */ dc1394basler_dcam_whitebalance_csr_value_t whitebalance_csr; uint32_t whitebalance_absolute_value; /* brightness */ dc1394basler_dcam_csr_value_t brightness_csr; uint32_t brightness_absolute_value; /* tail */ dc1394basler_sff_chunk_tail_t tail; } dc1394basler_sff_dcam_values_t; /** * No Docs */ typedef struct dc1394basler_sff_crc_checksum_t { uint8_t crc_checksum_low; uint8_t crc_checksum_high; uint8_t reserved1; uint8_t reserved2; } dc1394basler_sff_crc_checksum_t; #endif