GrabBag/SDK/VzNLSDK/Inc/VZNL_SwingMotor.h

226 lines
6.8 KiB
C
Raw Normal View History

2025-07-23 01:35:14 +08:00
#ifndef __VIZUM_SWING_MOTOR_HEADER__
#define __VIZUM_SWING_MOTOR_HEADER__
#include "VZNL_Export.h"
#include "VZNL_Types.h"
/**
* @brief <EFBFBD>Ƿ<EFBFBD>֧<EFBFBD>ְڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] pnErrorCode <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return ֧<EFBFBD>ְڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VzTrue, <EFBFBD><EFBFBD><EFBFBD>򷵻<EFBFBD>VzFalse
*/
VZNLAPI VzBool VzNL_IsSupportSwingMotor(VZNLHANDLE hDevice, int* pnErrorCode);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] dNearDistance <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] dFarDistance Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI int VzNL_SetSwingMotorWorkRange(VZNLHANDLE hDevice, double dNearDistance, double dFarDistance);
VZNLAPI int VzNL_GetSwingMotorWorkRange(VZNLHANDLE hDevice, double* pdNearDistance, double* pdFarDistance);
/**
* @brief <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ðڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI int VzNL_EnableSwingMotor(VZNLHANDLE hDevice, VzBool bEnable);
VZNLAPI VzBool VzNL_IsEnableSwingMotor(VZNLHANDLE hDevice, int* pnErrorCode);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD>رռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] bEnable <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI int VzNL_EnableLaserLight(VZNLHANDLE hDevice, VzBool bEnable);
VZNLAPI VzBool VzNL_IsEnableLaserLight(VZNLHANDLE hDevice);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] bEnable <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI int VzNL_SetLaserLight(VZNLHANDLE hDevice, unsigned int nLight);
VZNLAPI unsigned int VzNL_GetLaserLight(VZNLHANDLE hDevice, int* pnErrorCode);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] bEnable <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI int VzNL_SetSwingAngleSpeed(VZNLHANDLE hDevice, float fAngleSpeed);
VZNLAPI int VzNL_GetSwingAngleSpeed(VZNLHANDLE hDevice, float* pfdAngleSpeed);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] bEnable <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI int VzNL_SetSwingMotorAngle(VZNLHANDLE hDevice, float nStartPos, float nEndPos);
VZNLAPI int VzNL_GetSwingMotorAngle(VZNLHANDLE hDevice, float* pnStartPos, float* pnEndPos);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ǰλ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ʼ/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI int VzNL_SetSwingCurPosToMotorStartPos(VZNLHANDLE hDevice);
VZNLAPI int VzNL_SetSwingCurPosToMotorEndPos(VZNLHANDLE hDevice);
/**
* @brief <EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] nAngle <EFBFBD>Ƕ<EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI int VzNL_RotateSwing(VZNLHANDLE hDevice, float fAngle);
/**
* @brief <EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼλ<EFBFBD><EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI int VzNL_RotateSwingToStartPos(VZNLHANDLE hDevice);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD>ģʽ
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] eScanMode ɨ<EFBFBD><EFBFBD>ģʽ
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI int VzNL_SetSwingScanMode(VZNLHANDLE hDevice, EVzSwingMotorScanMode eScanMode);
VZNLAPI EVzSwingMotorScanMode VzNL_GetSwingScanMode(VZNLHANDLE hDevice);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI int VzNL_GetSwingMotorInfo(VZNLHANDLE hDevice, SVzSwingMotorDevInfo* psSwingMotorInfo);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ǰ<EFBFBD>Ƕ<EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI float VzNL_GetSwingCurAngle(VZNLHANDLE hDevice, int* pnErrorCode);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] nMillionSecond ͣ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>Χ [500 ~ 32767]
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI int VzNL_SetSwingStopTime(VZNLHANDLE hDevice, unsigned int nMillionSecond);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI int VzNL_SwingMoveLeft(VZNLHANDLE hDevice);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI int VzNL_SwingMoveRight(VZNLHANDLE hDevice);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] eRotateDirect <EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[keSwingRotateDirect_Clockwise ˳ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD>, keSwingRotateDirect_Counterclockwise <EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD>]
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI int VzNL_SetSwingRotateDirect(VZNLHANDLE hDevice, EVzSwingRotateDirect eRotateDirect);
VZNLAPI int VzNL_GetSwingRotateDirect(VZNLHANDLE hDevice, EVzSwingRotateDirect* peRotateDirect);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI int VzNL_EnableSaveSwingParam(VZNLHANDLE hDevice, VzBool bEnable);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD>ذ<EFBFBD><EFBFBD>
*/
VZNLAPI unsigned int VzNL_GetSwingVersionCode(VZNLHANDLE hDevice);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣλ<EFBFBD><EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] fAngle ֹͣ<EFBFBD>Ƕ<EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI int VzNL_SetSwingStopAngle(VZNLHANDLE hDevice, float fAngle);
VZNLAPI float VzNL_GetSwingStopAngle(VZNLHANDLE hDevice, int* pnErrorCode);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD>ĽǶ<EFBFBD><EFBFBD><EFBFBD>ֵ
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] fAngle <EFBFBD>Ƕ<EFBFBD><EFBFBD><EFBFBD>ֵ
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI int VzNL_SetSwingEndAngleThres(VZNLHANDLE hDevice, float fAngle);
VZNLAPI float VzNL_GetSwingEndAngleThres(VZNLHANDLE hDevice, int* pnErrorCode);
/**
* @brief <EFBFBD>Ƿ<EFBFBD>֧<EFBFBD>־<EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>֪<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD>
* @param [in] hDevice <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
*/
VZNLAPI VzBool VzNL_IsSupportEndAngleThres(VZNLHANDLE hDevice, int* pnErrorCode);
#endif