Viewing file: avt.h (16.33 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* * 1394-Based Digital Camera Control Library * * Allied Vision Technologies (AVT) specific extensions * * Written by Pierre MOOS <pierre.moos@gmail.com> * * Copyright (C) 2005 Inria Sophia-Antipolis * * 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_AVT_H__ #define __DC1394_VENDOR_AVT_H__
#include <stdint.h> #include <dc1394/types.h> #include <dc1394/log.h>
/*! \file dc1394/vendor/avt.h \brief No docs yet
More details soon */ typedef struct __dc1394_avt_adv_feature_info_struct { uint32_t feature_id; dc1394bool_t features_requested; /************************************************************************/ dc1394bool_t MaxResolution; //ADV_INQ_1 0 dc1394bool_t TimeBase; //ADV_INQ_1 1 dc1394bool_t ExtdShutter; //ADV_INQ_1 2 dc1394bool_t TestImage; //ADV_INQ_1 3 dc1394bool_t FrameInfo; //ADV_INQ_1 4 dc1394bool_t Sequences; //ADV_INQ_1 5 dc1394bool_t VersionInfo; //ADV_INQ_1 6 //ADV_INQ_1 7 dc1394bool_t Lookup_Tables; //ADV_INQ_1 8 dc1394bool_t Shading; //ADV_INQ_1 9 dc1394bool_t DeferredTrans; //ADV_INQ_1 10 dc1394bool_t HDR_Mode; //ADV_INQ_1 11 dc1394bool_t DSNU; //ADV_INQ_1 12 dc1394bool_t BlemishCorrection; //ADV_INQ_1 13 dc1394bool_t TriggerDelay; //ADV_INQ_1 14 dc1394bool_t MirrorImage; //ADV_INQ_1 15 dc1394bool_t SoftReset; //ADV_INQ_1 16 dc1394bool_t HSNR; //ADV_INQ_1 17 dc1394bool_t ColorCorrection; //ADV_INQ_1 18 dc1394bool_t UserProfiles; //ADV_INQ_1 19 //ADV_INQ_1 20 dc1394bool_t UserSets; //ADV_INQ_1 21 dc1394bool_t TimeStamp; //ADV_INQ_1 22 dc1394bool_t FrmCntStamp; //ADV_INQ_1 23 dc1394bool_t TrgCntStamp; //ADV_INQ_1 24 //ADV_INQ_1 25-30 dc1394bool_t GP_Buffer; //ADV_INQ_1 31 /************************************************************************/ dc1394bool_t Input_1; //ADV_INQ_2 0 dc1394bool_t Input_2; //ADV_INQ_2 1 //ADV_INQ_2 2-7 dc1394bool_t Output_1; //ADV_INQ_2 8 dc1394bool_t Output_2; //ADV_INQ_2 9 dc1394bool_t Output_3; //ADV_INQ_2 10 dc1394bool_t Output_4; //ADV_INQ_2 11 //ADV_INQ_2 12-15 dc1394bool_t IntEnaDelay; //ADV_INQ_2 16 dc1394bool_t IncDecoder; //ADV_INQ_2 17 //ADV_INQ_2 18-31 /************************************************************************/ dc1394bool_t CameraStatus; //ADV_INQ_3 0 //ADV_INQ_3 1-3 dc1394bool_t AutoShutter; //ADV_INQ_3 4 dc1394bool_t AutoGain; //ADV_INQ_3 5 dc1394bool_t AutoFunctionAOI; //ADV_INQ_3 6 //ADV_INQ_3 7-31 /************************************************************************/ dc1394bool_t HDRPike; //ADV_INQ_4 0 //ADV_INQ_4 1-31
} dc1394_avt_adv_feature_info_t;
#ifdef __cplusplus extern "C" { #endif /** * Retrieve the firmware version, FPGA version and the camera ID */ dc1394error_t dc1394_avt_get_version(dc1394camera_t *camera, uint32_t *UCType, uint32_t *Version, uint32_t *Camera_ID, uint32_t *FPGA_Version);
/** * Retrieve the supported features */ dc1394error_t dc1394_avt_get_advanced_feature_inquiry(dc1394camera_t *camera, dc1394_avt_adv_feature_info_t *adv_feature);
/** * Print the supported features requested */ dc1394error_t dc1394_avt_print_advanced_feature(dc1394_avt_adv_feature_info_t *adv_feature);
/** * Retrieve if shading is on and the number of frames used to compute the shading reference frame */ dc1394error_t dc1394_avt_get_shading(dc1394camera_t *camera, dc1394bool_t *on_off, dc1394bool_t *compute, dc1394bool_t *show, uint32_t *frame_nb);
/** * Set the shading to on/off and the number of frames used to compute the shading reference frame */ dc1394error_t dc1394_avt_set_shading(dc1394camera_t *camera, dc1394bool_t on_off, dc1394bool_t compute, dc1394bool_t show, uint32_t frame_nb);
/** * Retrieve write and read access mode of the shading reference frame */ dc1394error_t dc1394_avt_get_shading_mem_ctrl(dc1394camera_t *camera, dc1394bool_t *en_write, dc1394bool_t *en_read, uint32_t *addroffset);
/** * Set write and read access mode of the shading reference frame */ dc1394error_t dc1394_avt_set_shading_mem_ctrl(dc1394camera_t *camera, dc1394bool_t en_write, dc1394bool_t en_read, uint32_t addroffset);
/** * Retrieve the max size of a shading image */ dc1394error_t dc1394_avt_get_shading_info(dc1394camera_t *camera, uint32_t *MaxImageSize);
/** * Retrieve if on/off, the nb of kneepoints used and the kneepoints values */ dc1394error_t dc1394_avt_get_multiple_slope(dc1394camera_t *camera, dc1394bool_t *on_off, uint32_t *points_nb, uint32_t *kneepoint1, uint32_t *kneepoint2, uint32_t *kneepoint3);
/** * Set on/off, the nb of kneepoints to use and the kneepoints values */ dc1394error_t dc1394_avt_set_multiple_slope(dc1394camera_t *camera, dc1394bool_t on_off, uint32_t points_nb, uint32_t kneepoint1, uint32_t kneepoint2, uint32_t kneepoint3);
/** * Get the timebase value with an Id. See Manual for correspondance */ dc1394error_t dc1394_avt_get_timebase(dc1394camera_t *camera, uint32_t *timebase_id);
/** * Set the timebase value with an Id. See Manual for correspondance */ dc1394error_t dc1394_avt_set_timebase(dc1394camera_t *camera, uint32_t timebase_id);
/** * Get the extented shutter value in us */ dc1394error_t dc1394_avt_get_extented_shutter(dc1394camera_t *camera, uint32_t *timebase_id);
/** * Set the extented shutter value in us */ dc1394error_t dc1394_avt_set_extented_shutter(dc1394camera_t *camera, uint32_t timebase_id);
/** * Get the Max reachable resolution */ dc1394error_t dc1394_avt_get_MaxResolution(dc1394camera_t *camera, uint32_t *MaxHeight, uint32_t *MaxWidth);
/** * Get min and max shutter values for autoshutter */ dc1394error_t dc1394_avt_get_auto_shutter(dc1394camera_t *camera, uint32_t *MinValue, uint32_t *MaxValue);
/** * Set min and max shutter values for autoshutter */ dc1394error_t dc1394_avt_set_auto_shutter(dc1394camera_t *camera, uint32_t MinValue, uint32_t MaxValue);
/** * Get min and max gain values for autogain */ dc1394error_t dc1394_avt_get_auto_gain(dc1394camera_t *camera, uint32_t *MinValue, uint32_t *MaxValue);
/** * Set min and max gain values for autogain */ dc1394error_t dc1394_avt_set_auto_gain(dc1394camera_t *camera, uint32_t MinValue, uint32_t MaxValue);
/** * Get if trigger delay on and the trigger delay */ dc1394error_t dc1394_avt_get_trigger_delay(dc1394camera_t *camera, dc1394bool_t *on_off, uint32_t *DelayTime);
/** * Set trigger delay on/off and the trigger delay value */ dc1394error_t dc1394_avt_set_trigger_delay(dc1394camera_t *camera, dc1394bool_t on_off, uint32_t DelayTime);
/** * Get mirror mode */ dc1394error_t dc1394_avt_get_mirror(dc1394camera_t *camera, dc1394bool_t *on_off);
/** * Set mirror mode */ dc1394error_t dc1394_avt_set_mirror(dc1394camera_t *camera, dc1394bool_t on_off);
/** * Get DSNU mode and num of frames used for computing dsnu correction */ dc1394error_t dc1394_avt_get_dsnu(dc1394camera_t *camera, dc1394bool_t *on_off, uint32_t *frame_nb);
/** * Set DSNU mode, number of frames used for computing and launch the the computation of the dsnu frame */ dc1394error_t dc1394_avt_set_dsnu(dc1394camera_t *camera, dc1394bool_t on_off, dc1394bool_t compute, uint32_t frame_nb);
/** * Get Blemish mode and num of frames used for computing the correction */ dc1394error_t dc1394_avt_get_blemish(dc1394camera_t *camera, dc1394bool_t *on_off, uint32_t *frame_nb);
/** * Set Blemish mode, num of frames used for computing and launch the the computation of the blemish correction */ dc1394error_t dc1394_avt_set_blemish(dc1394camera_t *camera, dc1394bool_t on_off, dc1394bool_t compute, uint32_t frame_nb);
/** * Get the polarity, the mode, the state of the IO */ dc1394error_t dc1394_avt_get_io(dc1394camera_t *camera, uint32_t IO, dc1394bool_t *polarity, uint32_t *mode, dc1394bool_t *pinstate);
/** * Set the polarity, the mode and the state of the IO */ dc1394error_t dc1394_avt_set_io(dc1394camera_t *camera,uint32_t IO, dc1394bool_t polarity, uint32_t mode, dc1394bool_t pinstate);
/** * Reset the bus and the fpga */ dc1394error_t dc1394_avt_reset(dc1394camera_t *camera);
/** * Get on/off and the num of the current lut loaded */ dc1394error_t dc1394_avt_get_lut(dc1394camera_t *camera, dc1394bool_t *on_off, uint32_t *lutnb );
/** * Set on/off and the num of the current lut to loa */ dc1394error_t dc1394_avt_set_lut(dc1394camera_t *camera, dc1394bool_t on_off, uint32_t lutnb);
/** * Get access mode of a lut */ dc1394error_t dc1394_avt_get_lut_mem_ctrl(dc1394camera_t *camera, dc1394bool_t *en_write, uint32_t * AccessLutNo, uint32_t *addroffset);
/** * Set access mode of a lut */ dc1394error_t dc1394_avt_set_lut_mem_ctrl(dc1394camera_t *camera, dc1394bool_t en_write, uint32_t AccessLutNo, uint32_t addroffset);
/** * Get num of luts present and the max size */ dc1394error_t dc1394_avt_get_lut_info(dc1394camera_t *camera, uint32_t *NumOfLuts, uint32_t *MaxLutSize);
/** * Get on/off and area */ dc1394error_t dc1394_avt_get_aoi(dc1394camera_t *camera, dc1394bool_t *on_off, int *left, int *top, int *width, int *height);
/** * Set on/off and area */ dc1394error_t dc1394_avt_set_aoi(dc1394camera_t *camera, dc1394bool_t on_off,int left, int top, int width, int height);
/** * Get current test image */ dc1394error_t dc1394_avt_get_test_images(dc1394camera_t *camera, uint32_t *image_no);
/** * Set num of test image */ dc1394error_t dc1394_avt_set_test_images(dc1394camera_t *camera, uint32_t image_no);
/** * Get the number of captured frames */ dc1394error_t dc1394_avt_get_frame_info(dc1394camera_t *camera, uint32_t *framecounter);
/** * Reset frame counter */ dc1394error_t dc1394_avt_reset_frame_info(dc1394camera_t *camera);
/** * Get the size of the buffer */ dc1394error_t dc1394_avt_get_gpdata_info(dc1394camera_t *camera, uint32_t *BufferSize);
/** * Get the fifo control mode */ dc1394error_t dc1394_avt_get_deferred_trans(dc1394camera_t *camera, dc1394bool_t *HoldImage, dc1394bool_t * FastCapture, uint32_t *FifoSize, uint32_t *NumOfImages );
/** * Set the fifo control mode */ dc1394error_t dc1394_avt_set_deferred_trans(dc1394camera_t *camera, dc1394bool_t HoldImage, dc1394bool_t FastCapture, uint32_t FifoSize, uint32_t NumOfImages, dc1394bool_t SendImage );
/** * Read size number of bytes from GPData buffe */ dc1394error_t dc1394_avt_read_gpdata(dc1394camera_t *camera, unsigned char *buf, uint32_t size);
/** * Write size number of bytes to GPData buffer */ dc1394error_t dc1394_avt_write_gpdata(dc1394camera_t *camera, unsigned char *buf, uint32_t size);
/** * Read shading image from camera into buffer */ dc1394error_t dc1394_avt_read_shading_img(dc1394camera_t *camera, unsigned char *buf, uint32_t size);
/** * Write shading image from buffer to camera */ dc1394error_t dc1394_avt_write_shading_img(dc1394camera_t *camera, unsigned char *buf, uint32_t size);
/** * Read channel adjust (AVT Pike) */ dc1394error_t dc1394_avt_get_channel_adjust(dc1394camera_t *camera, int16_t *channel_adjust);
/** * Write channel adjust (AVT Pike) */ dc1394error_t dc1394_avt_set_channel_adjust(dc1394camera_t *camera, int16_t channel_adjust);
/** * Set Color Correction + Coefficients */ dc1394error_t dc1394_avt_set_color_corr(dc1394camera_t *camera, dc1394bool_t on_off, dc1394bool_t reset, int32_t Crr, int32_t Cgr, int32_t Cbr, int32_t Crg, int32_t Cgg, int32_t Cbg, int32_t Crb, int32_t Cgb, int32_t Cbb);
/** * Get Color Correction + Coefficients */ dc1394error_t dc1394_avt_get_color_corr(dc1394camera_t *camera, dc1394bool_t *on_off, int32_t *Crr, int32_t *Cgr, int32_t *Cbr, int32_t *Crg, int32_t *Cgg, int32_t *Cbg, int32_t *Crb, int32_t *Cgb, int32_t *Cbb);
/** * Get HSNR */ dc1394error_t dc1394_avt_get_hsnr(dc1394camera_t *camera, dc1394bool_t *on_off, uint32_t *grabCount);
/** * Set HSNR */ dc1394error_t dc1394_avt_set_hsnr(dc1394camera_t *camera, dc1394bool_t on_off, uint32_t grabCount);
#ifdef __cplusplus } #endif
#endif
|