00001 #ifndef __KSJ_API_TRIGGER_MODE_H__
00002 #define __KSJ_API_TRIGGER_MODE_H__
00003 
00004 // #pragma message("Include KSJApiTriggerMode.h") 
00005 
00006 #ifdef KSJAPI_EXPORTS
00007 #define KSJ_API __declspec(dllexport)
00008 #elif defined KSJAPI_STATIC
00009 #define KSJ_API
00010 #else
00011 #define KSJ_API __declspec(dllimport)
00012 #endif
00013 
00014 #ifdef __cplusplus
00015 extern "C"{
00016 #endif
00017 
00021     enum KSJ_TRIGGERMODE
00022     {
00023         KSJ_TRIGGER_INTERNAL,             
00024         KSJ_TRIGGER_EXTERNAL,             
00025         KSJ_TRIGGER_SOFTWARE,             
00026         KSJ_TRIGGER_FIXFRAMERATE,         
00027         KSJ_TRIGGER_HIGHLOWFIXFRAMERATE,  
00028         KSJ_TRIGGER_ENCODER               
00029     };
00030 
00041     KSJ_API  int __stdcall KSJ_TriggerModeSet(int nIndex, KSJ_TRIGGERMODE TriggerMode);
00042     
00053     KSJ_API  int __stdcall KSJ_TriggerModeGet(int nIndex, KSJ_TRIGGERMODE *pTriggerMode);
00054 
00056     enum KSJ_TRIGGERSTATUS
00057     {
00058         KSJ_NO,   
00059         KSJ_HAVE  
00060     };
00061 
00072     KSJ_API  int __stdcall KSJ_TriggerStatusGet(int nIndex, KSJ_TRIGGERSTATUS *pTriggerStatus);
00073 
00083     KSJ_API  int __stdcall KSJ_EmptyFrameBuffer(int nIndex);
00084 
00096     KSJ_API  int __stdcall KSJ_GetFixedFrameRateRang(int nIndex, float* pfRateMin, float* pfRateMax);
00097     
00108     KSJ_API  int __stdcall KSJ_SetFixedFrameRateEx(int nIndex, float fFrameRate);
00109     
00120     KSJ_API  int __stdcall KSJ_GetFixedFrameRateEx(int nIndex, float *pfFrameRate);
00121     
00123     enum KSJ_TRIGGERMETHOD
00124     {
00125         KSJ_TRIGGER_RISINGEDGE,     
00126         KSJ_TRIGGER_FALLINGEDGE,    
00127         KSJ_TRIGGER_HIGHLEVEL,      
00128         KSJ_TRIGGER_LOWLEVEL        
00129     };
00130 
00141     KSJ_API  int __stdcall KSJ_TriggerMethodSet(int nIndex, KSJ_TRIGGERMETHOD  TriggerMethod);
00142 
00153     KSJ_API  int __stdcall KSJ_TriggerMethodGet(int nIndex, KSJ_TRIGGERMETHOD *pTriggerMethod);
00154 
00155 
00157     enum KSJ_ENCODERDIRECTION
00158     {
00159         KSJ_ENCODER_FORWARD,     
00160         KSJ_ENCODER_BACKWARD,    
00161         KSJ_ENCODER_BOTH         
00162     };
00163 
00164 
00175     KSJ_API  int __stdcall KSJ_EncoderDirectionSet(int nIndex, KSJ_ENCODERDIRECTION  EncoderDirection);
00176 
00187     KSJ_API  int __stdcall KSJ_EncoderDirectionGet(int nIndex, KSJ_ENCODERDIRECTION *pEncoderDirection);
00188 
00199     KSJ_API  int __stdcall KSJ_EncoderReversalSet(int nIndex, unsigned long dwReversal);
00200 
00211     KSJ_API  int __stdcall KSJ_EncoderReversalGet(int nIndex, unsigned long *pdwReversal);
00212 
00213 
00225     KSJ_API  int __stdcall KSJ_TriggerDelayGetRange(int nIndex, unsigned short *wMin, unsigned short *wMax);
00226 
00237     KSJ_API  int __stdcall KSJ_TriggerDelaySet(int nIndex, unsigned short wDelay);
00238 
00249     KSJ_API  int __stdcall KSJ_TriggerDelayGet(int nIndex, unsigned short *pwDelay);
00250 
00261     KSJ_API  int __stdcall KSJ_CaptureSetTimeOut(int nIndex, unsigned long dwTimeOut);
00262 
00273     KSJ_API  int __stdcall KSJ_CaptureGetTimeOut(int nIndex, unsigned long *pdwTimeOut);
00274 
00286     KSJ_API  int __stdcall KSJ_TriggerSignalPeriodGetRange(int nIndex, float * fMin, float *fMax);
00287     
00299     KSJ_API  int __stdcall KSJ_TriggerSignalPeriodSet(int nIndex, float fPeriodCount);
00300     
00311     KSJ_API  int __stdcall KSJ_TriggerSignalPeriodGet(int nIndex, float* pfPeriodCount);
00312 
00314     enum KSJ_STARTENDMODE
00315     {
00316         KSJ_SEMODE_CONTINUE,    
00317         KSJ_SEMODE_RISINGEDGE,  
00318         KSJ_SEMODE_FALLINGEDGE, 
00319         KSJ_SEMODE_HIGHLEVEL,   
00320         KSJ_SEMODE_LOWLEVEL,    
00321         KSJ_SEMODE_SOFTWARE,    
00322     };
00323     
00334     KSJ_API  int __stdcall KSJ_StartEndModeSet(int nIndex, KSJ_STARTENDMODE SeMode);
00335     
00346     KSJ_API  int __stdcall KSJ_StartEndModeGet(int nIndex, KSJ_STARTENDMODE* pSeMode);
00347 
00359     KSJ_API  int __stdcall KSJ_CaptureStartDelayGetRange(int nIndex, unsigned short *wMin, unsigned short *wMax);
00360     
00371     KSJ_API  int __stdcall KSJ_CaptureStartDelaySet(int nIndex, unsigned short wDelay);
00372     
00383     KSJ_API  int __stdcall KSJ_CaptureStartDelayGet(int nIndex, unsigned short *pwDelay);
00384 
00396     KSJ_API  int __stdcall KSJ_CaptureStartFilterRange(int nIndex, unsigned short *wMin, unsigned short *wMax);
00397     
00408     KSJ_API  int __stdcall KSJ_CaptureStartFilterSet(int nIndex, unsigned short wFilter);
00409     
00420     KSJ_API  int __stdcall KSJ_CaptureStartFilterGet(int nIndex, unsigned short *pwFilter);
00421 
00433     KSJ_API  int __stdcall KSJ_CaptureMultiLineRange(int nIndex, unsigned short *wMin, unsigned short *wMax);
00434     
00445     KSJ_API  int __stdcall KSJ_CaptureMultiLineSet(int nIndex, unsigned short wMultiLine);
00446     
00457     KSJ_API  int __stdcall KSJ_CaptureMultiLineGet(int nIndex, unsigned short *pwMultiLine);
00458 
00469     KSJ_API  int __stdcall KSJ_CaptureSoftwareStart(int nIndex);
00471 #ifdef __cplusplus
00472 }
00473 #endif
00474 
00475 #endif