00001 #ifndef __KSJ_API_TRIGGER_MODE_H__
00002 #define __KSJ_API_TRIGGER_MODE_H__
00003
00004
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