MOON
Server: Apache
System: Linux tor1.bhservers.net 2.6.18-519.el5.lve0.8.91PAE #1 SMP Sun Feb 26 11:44:49 EST 2017 i686
User: jfdrouin (2262)
PHP: 5.4.45
Disabled: NONE
Upload Files
File: //usr/include/dc1394/dc1394_vendor_avt.h
/*
 * 1394-Based Digital Camera Control Library
 * Allied Vision Technologies (AVT) specific extensions
 * Copyright (C) 2005 Inria Sophia-Antipolis
 *
 * Written by Pierre MOOS <pierre.moos@gmail.com> 
 * Version : 16/02/2005 
 *
 * 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 <libraw1394/raw1394.h>
#include "dc1394_control.h"
#include "dc1394_register.h"
#include "config.h"

typedef struct __dc1394_avt_adv_feature_info_struct 
{
  uint_t feature_id;
  dc1394bool_t features_requested;
  dc1394bool_t MaxResolution;
  dc1394bool_t TimeBase;
  dc1394bool_t ExtdShutter;
  dc1394bool_t TestImage;
  dc1394bool_t FrameInfo;
  dc1394bool_t Sequences;
  dc1394bool_t VersionInfo;
  dc1394bool_t Lookup_Tables;
  dc1394bool_t Shading;
  dc1394bool_t DeferredTrans;
  dc1394bool_t HDR_Mode;
  dc1394bool_t DSNU;
  dc1394bool_t TriggerDelay;    
  dc1394bool_t GP_Buffer;
  dc1394bool_t Input_1;    
  dc1394bool_t Input_2;        
  dc1394bool_t Output_1;    
  dc1394bool_t Output_2;        
  dc1394bool_t IntEnaDelay;        
  
} dc1394_avt_adv_feature_info_t;


#ifdef __cplusplus
extern "C" {
#endif
/************************************************************************/
/* Get Version  	(Read Only)					*/
/*----------------------------------------------------------------------*/
/* Retrieve the firmware version, FPGA version and the camera ID	*/	 
/************************************************************************/
dc1394error_t dc1394_avt_get_version(dc1394camera_t *camera, 
				     uint_t *Version, uint_t *Camera_ID,
				     uint_t *FPGA_Version);



/************************************************************************/
/* Get Advanced feature inquiry						*/
/*----------------------------------------------------------------------*/
/* Retrieve the supported features					*/	 
/************************************************************************/
dc1394error_t dc1394_avt_get_advanced_feature_inquiry(dc1394camera_t *camera,
						      dc1394_avt_adv_feature_info_t *adv_feature);


/************************************************************************/
/* Print Advanced feature 						*/
/*----------------------------------------------------------------------*/
/* Print the supported features requested 				*/	 
/************************************************************************/
dc1394error_t dc1394_avt_print_advanced_feature(dc1394_avt_adv_feature_info_t *adv_feature);


/************************************************************************/
/* Get the shading mode							*/
/*----------------------------------------------------------------------*/
/* Retrieve if shading is on and the number of frames used to compute 	*/	 
/* The shading reference frame						*/
/************************************************************************/
int dc1394_avt_get_shading(dc1394camera_t *camera, 
			   dc1394bool_t *on_off, uint_t *frame_nb);


/************************************************************************/
/* Set the shading mode							*/
/*----------------------------------------------------------------------*/
/* Set the shading to on/off and the number of frames used to compute 	*/	 
/* The shading reference frame						*/
/************************************************************************/
int dc1394_avt_set_shading(dc1394camera_t *camera,
			   dc1394bool_t on_off, dc1394bool_t compute,
			   uint_t frame_nb);
		

		
/************************************************************************/
/* Get shading  mem ctrl						*/
/*----------------------------------------------------------------------*/
/* 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, 
					      uint_t *addroffset);


/************************************************************************/
/* Set shading mem ctrl							*/
/*----------------------------------------------------------------------*/
/* 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, 
					      uint_t addroffset);


/************************************************************************/
/* Get shading  info							*/
/*----------------------------------------------------------------------*/
/* Retrieve the max size of a shading image				*/
/************************************************************************/
dc1394error_t dc1394_avt_get_shading_info(dc1394camera_t *camera, 
					  uint_t *MaxImageSize);



/************************************************************************/
/* Get Multiple slope parameters					*/
/*----------------------------------------------------------------------*/
/* 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,
					    uint_t *points_nb, 
					    uint_t *kneepoint1,
					    uint_t *kneepoint2, 
					    uint_t *kneepoint3);


/************************************************************************/
/* Set Multiple slope parameters					*/
/*----------------------------------------------------------------------*/
/* 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,
					    uint_t points_nb, 
					    uint_t kneepoint1,
					    uint_t kneepoint2, 
					    uint_t kneepoint3);



/************************************************************************/
/* Get Shutter Timebase 						*/
/*----------------------------------------------------------------------*/
/* Get the timebase value with an Id. See Manual for correspondance	*/
/************************************************************************/
dc1394error_t dc1394_avt_get_timebase(dc1394camera_t *camera, 
				      uint_t *timebase_id);


/************************************************************************/
/* Set Shutter Timebase 						*/
/*----------------------------------------------------------------------*/
/* Set the timebase value with an Id. See Manual for correspondance	*/
/************************************************************************/
dc1394error_t dc1394_avt_set_timebase(dc1394camera_t *camera,
				      uint_t timebase_id);



/************************************************************************/
/* Get Extented Shutter  						*/
/*----------------------------------------------------------------------*/
/* Get the extented shutter value in us					*/
/************************************************************************/
dc1394error_t dc1394_avt_get_extented_shutter(dc1394camera_t *camera, 
					      uint_t *timebase_id);


/************************************************************************/
/* Set Extented shutter							*/
/*----------------------------------------------------------------------*/
/* Set the extented shutter value in us					*/
/************************************************************************/
dc1394error_t dc1394_avt_set_extented_shutter(dc1394camera_t *camera, 
					      uint_t timebase_id);



/************************************************************************/
/* Get MaxResolution  	(Read Only)					*/
/*----------------------------------------------------------------------*/
/* Get the Max reachable resolution 					*/
/************************************************************************/
dc1394error_t dc1394_avt_get_MaxResolution(dc1394camera_t *camera, 
					   uint_t *MaxHeight,
					   uint_t *MaxWidth);



/************************************************************************/
/* Get Auto Shutter  							*/
/*----------------------------------------------------------------------*/
/* Get min and max shutter values for autoshutter			*/
/************************************************************************/
dc1394error_t dc1394_avt_get_auto_shutter(dc1394camera_t *camera, 
					  uint_t *MinValue,
					  uint_t *MaxValue);


/************************************************************************/
/* Set Auto shutter							*/
/*----------------------------------------------------------------------*/
/* Set min and max shutter values for autoshutter			*/
/************************************************************************/
dc1394error_t dc1394_avt_set_auto_shutter(dc1394camera_t *camera,
					  uint_t MinValue,
					  uint_t MaxValue);



/************************************************************************/
/* Get Auto gain							*/
/*----------------------------------------------------------------------*/
/* Get min and max gain values for autogain				*/
/************************************************************************/
dc1394error_t dc1394_avt_get_auto_gain(dc1394camera_t *camera, 
				       uint_t *MinValue,
				       uint_t *MaxValue);


/************************************************************************/
/* Set Auto gain							*/
/*----------------------------------------------------------------------*/
/* Set min and max gain values for autogain				*/
/************************************************************************/
dc1394error_t dc1394_avt_set_auto_gain(dc1394camera_t *camera,
				       uint_t MinValue,
				       uint_t MaxValue);



/************************************************************************/
/* Get Trigger delay							*/
/*----------------------------------------------------------------------*/
/* Get if trigger delay on and the trigger delay			*/
/************************************************************************/
dc1394error_t dc1394_avt_get_trigger_delay(dc1394camera_t *camera, 
					   dc1394bool_t *on_off,
					   uint_t *DelayTime);
		

/************************************************************************/
/* Set Trigger delay							*/
/*----------------------------------------------------------------------*/
/* Set trigger delay on/off  and the trigger delay value		*/
/************************************************************************/
dc1394error_t dc1394_avt_set_trigger_delay(dc1394camera_t *camera,
					   dc1394bool_t on_off,
					   uint_t DelayTime);



/************************************************************************/		
/* Get Mirror 								*/
/*----------------------------------------------------------------------*/
/* Get mirror mode							*/
/************************************************************************/
dc1394error_t dc1394_avt_get_mirror(dc1394camera_t *camera, 
				    dc1394bool_t *on_off);


/************************************************************************/
/* Set Mirror								*/
/*----------------------------------------------------------------------*/
/* Set mirror mode							*/
/************************************************************************/
dc1394error_t dc1394_avt_set_mirror(dc1394camera_t *camera,
				    dc1394bool_t on_off);



/************************************************************************/
/* Get DSNU 								*/
/*----------------------------------------------------------------------*/
/* 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,
				  uint_t *frame_nb);


/************************************************************************/
/* Set DSNU								*/
/*----------------------------------------------------------------------*/
/* 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,
				  uint_t frame_nb);

		

/************************************************************************/
/* Get BLEMISH 								*/
/*----------------------------------------------------------------------*/
/* 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, uint_t *frame_nb);
		
		
/************************************************************************/
/* Set BLEMISH								*/
/*----------------------------------------------------------------------*/
/* 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,
				     uint_t frame_nb);



/************************************************************************/
/* Get IO	REG_CAMERA_IO_INP_CTRLx	or REG_CAMERA_IO_OUTP_CTRLx	*/
/*----------------------------------------------------------------------*/
/*  Get the polarity, the mode, the state of the IO			*/
/************************************************************************/
dc1394error_t dc1394_avt_get_io(dc1394camera_t *camera, uint_t IO,
				dc1394bool_t *polarity, uint_t *mode,
				dc1394bool_t *pinstate);


/************************************************************************/
/* Set IO	REG_CAMERA_IO_INP_CTRLx	or REG_CAMERA_IO_OUTP_CTRLx	*/
/*----------------------------------------------------------------------*/
/*  Set the polarity and the mode of the IO				*/
/************************************************************************/
dc1394error_t dc1394_avt_set_io(dc1394camera_t *camera,uint_t IO,
				dc1394bool_t polarity, uint_t mode);
		


/************************************************************************/
/* BusReset IEEE1394							*/
/*----------------------------------------------------------------------*/
/* Reset the bus and the fpga						*/
/************************************************************************/
dc1394error_t dc1394_avt_reset(dc1394camera_t *camera);



/************************************************************************/
/* Get Lookup Tables (LUT)						*/
/*----------------------------------------------------------------------*/
/* Get on/off and the num of the current lut loaded			*/
/************************************************************************/
dc1394error_t dc1394_avt_get_lut(dc1394camera_t *camera, 
				 dc1394bool_t *on_off, uint_t *lutnb  );
		

/************************************************************************/
/* Set Lookup Tables (LUT)						*/
/*----------------------------------------------------------------------*/
/* Set on/off and the num of the current lut to load			*/
/************************************************************************/
dc1394error_t dc1394_avt_set_lut(dc1394camera_t *camera,
				 dc1394bool_t on_off, uint_t lutnb);


/************************************************************************/
/* Get LUT ctrl								*/
/*----------------------------------------------------------------------*/
/* Get access mode of a lut						*/
/************************************************************************/
dc1394error_t dc1394_avt_get_lut_mem_ctrl(dc1394camera_t *camera, 
					  dc1394bool_t *en_write,
					  uint_t * AccessLutNo,
					  uint_t *addroffset);


/************************************************************************/
/* Set LUT ctrl								*/
/*----------------------------------------------------------------------*/
/* Set access mode of a lut						*/
/************************************************************************/

dc1394error_t dc1394_avt_set_lut_mem_ctrl(dc1394camera_t *camera,
					  dc1394bool_t en_write,
					  uint_t AccessLutNo, 
					  uint_t addroffset);
	
		
/************************************************************************/
/* Get LUT  info							*/
/*----------------------------------------------------------------------*/
/* Get num of luts present and the max size				*/
/************************************************************************/
dc1394error_t dc1394_avt_get_lut_info(dc1394camera_t *camera, 
				      uint_t *NumOfLuts, uint_t *MaxLutSize);


/************************************************************************/
/* Get Automatic white balance with Area Of Interest AOI		*/
/*----------------------------------------------------------------------*/
/* 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 Automatic white balance with Area Of Interest AOI		*/
/*----------------------------------------------------------------------*/
/* 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 test_images							*/
/*----------------------------------------------------------------------*/
/* Get current test image						*/
/************************************************************************/
dc1394error_t dc1394_avt_get_test_images(dc1394camera_t *camera, 
					 uint_t *image_no);


/************************************************************************/
/* Set test_images							*/
/*----------------------------------------------------------------------*/
/* Set num of test image						*/
/************************************************************************/
dc1394error_t dc1394_avt_set_test_images(dc1394camera_t *camera, 
					 uint_t image_no);



/************************************************************************/
/* Get frame info							*/
/*----------------------------------------------------------------------*/
/* Get the number of captured frames					*/
/************************************************************************/
dc1394error_t dc1394_avt_get_frame_info(dc1394camera_t *camera, 
					uint_t *framecounter);


/************************************************************************/
/* Reset frame info 							*/
/*----------------------------------------------------------------------*/
/* Reset frame counter							*/
/************************************************************************/
dc1394error_t dc1394_avt_reset_frame_info(dc1394camera_t *camera);
		


/************************************************************************/
/* Get GPData info							*/
/*----------------------------------------------------------------------*/
/* Get the size of the buffer						*/
/************************************************************************/
dc1394error_t dc1394_avt_get_gpdata_info(dc1394camera_t *camera, 
					 uint_t *BufferSize);		



/************************************************************************/
/* Get Deferred image transport						*/
/*----------------------------------------------------------------------*/
/* Get the fifo control mode						*/
/************************************************************************/
dc1394error_t dc1394_avt_get_deferred_trans(dc1394camera_t *camera, 
					    dc1394bool_t *HoldImage,
					    dc1394bool_t * FastCapture, 
					    uint_t *FifoSize,
					    uint_t *NumOfImages );
		
		
/************************************************************************/
/* Set Deferred image transport						*/
/*----------------------------------------------------------------------*/
/* Set the fifo control mode						*/
/************************************************************************/
dc1394error_t dc1394_avt_set_deferred_trans(dc1394camera_t *camera,
					    dc1394bool_t HoldImage,
					    dc1394bool_t  FastCapture, 
					    uint_t FifoSize,
					    uint_t NumOfImages, 
					    dc1394bool_t SendImage );



/************************************************************************/
/* Get pdata_buffer : DOESNT WORK					*/
/*----------------------------------------------------------------------*/
/* will Get the  buffer	...						*/
/************************************************************************/
dc1394error_t dc1394_avt_get_pdata_buffer(dc1394camera_t *camera, 
					  uint_t *buff);


/************************************************************************/
/* Set pdata_buffer : DOESNT WORK					*/
/*----------------------------------------------------------------------*/
/* will Set the  buffer	...						*/
/************************************************************************/
dc1394error_t dc1394_avt_set_pdata_buffer(dc1394camera_t *camera, 
					  unsigned long buff);


#ifdef __cplusplus
}
#endif

#endif