⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ptz_nk97che.c

📁 1、基于韩国at2041芯片开发的Linux环境的DVR代码。 2、以原来代码进行了修改。 3、主要修改网络通讯出现异常问题处理 4、硬盘覆盖录像不起作用
💻 C
📖 第 1 页 / 共 2 页
字号:
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE1	= 0x5f;
	m_bCODE2	= 0x03;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL FocusNear ( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE1	= 0x5f;
	m_bCODE2	= 0x09;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL FocusFar ( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE1	= 0x5f;
	m_bCODE2	= 0x08;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL IrisOpen ( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE1	= 0x5f;
	m_bCODE2	= 0x42;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL IrisClose ( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE1	= 0x5f;
	m_bCODE2	= 0x43;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL CamPower		( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	if( str_params->bEnable )
		m_bCODE1	= 0x3a;
	else
		m_bCODE1	= 0x3e;

//	m_bADDR		= str_params->iCamID;

	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL AutoPan		( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	if( str_params->bEnable )
		m_bCODE1	= 0xb6;
	else
		m_bCODE1	= 0xb7;

	m_bCODE2		= 0x05;
//	m_bADDR			= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL CameraReset	( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE1	= 0x4f;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL OSDMenu	( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE1	= 0x5f;
	m_bCODE2	= 0x25;
	m_bCODE3	= 0x00;
	m_bCODE4	= 0x00;
	m_bCODE5	= 0x00;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL MenuUp		( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE2	= 0x4f;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL MenuDown		( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE2	= 0x50;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL MenuValueUp	( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE2	= 0x27;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL MenuValueDown		( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE2	= 0x28;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL SetPreset ( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE1	= 0xd5;
	m_bCODE2	= str_params->No;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL ClearPreset ( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE1	= 0xd6;
	m_bCODE2	= str_params->No;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL GotoPreset ( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE1	= 0xd7;
	m_bCODE2	= str_params->No;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL SetStart		( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
#if 1
	m_bCODE1	= 0xb5;
	m_bCODE2	= 0x00;
	m_bCODE3	= (UNS8)( str_params->iSpeed * 2.55 );
	m_bCODE4	= 0x00;
	m_bCODE5	= 0x00;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
#else
	return TRUE;
#endif
}
//////////////////////////////////////////////////////////////////////
static BOOL SetStop		( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
#if 1
	m_bCODE1	= 0xb5;
	m_bCODE2	= 0x00;
	m_bCODE3	= (UNS8)( str_params->iSpeed * 2.55 );
	m_bCODE4	= 0x00;
	m_bCODE5	= 0x00;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
#else
	return TRUE;
#endif
}
//////////////////////////////////////////////////////////////////////
static BOOL LimitL		( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE1	= 0xb5;
	m_bCODE2	= 0x00;
	m_bCODE3	= (UNS8)( str_params->iSpeed * 2.55 );
	m_bCODE4	= 0x00;
	m_bCODE5	= 0x00;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL LimitR		( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE1	= 0xb5;
	m_bCODE2	= 0x01;
	m_bCODE3	= (UNS8)( str_params->iSpeed * 2.55 );
	m_bCODE4	= 0x00;
	m_bCODE5	= 0x00;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}


void CNK97CHE()
{
	m_bPreset		= TRUE;
	m_bIris			= TRUE;
	m_bCamPower		= TRUE;
	m_bCamLight		= FALSE;
	m_bCamWiper		= FALSE;
	m_bCamAutorun	= TRUE;
	m_bCamAux		= FALSE;

	m_bAutorunStart	= TRUE;		// Left Limit
	m_bAutorunStop	= TRUE;		// Right Limit
	m_bPresetSpeed	= FALSE;
	m_bPTZSpeed		= TRUE;

	m_bMenu			= TRUE;
	m_bMenuUp		= TRUE;
	m_bMenuDown		= TRUE;
	m_bMenuValueUp	= TRUE;
	m_bMenuValueDown= TRUE;

	m_bPatternSet	= FALSE;
	m_bPatternRun	= FALSE;

	m_bReset		= TRUE;

	m_bSTX			= 0xaa;		// Synchronization	- Always 0xaa
	m_bCODE1		= 0x00;
	m_bCODE2		= 0x00;
	m_bCODE3		= 0x00;
	m_bCODE4		= 0x00;
	m_bCODE5		= 0x00;
	m_bADDR		= 0x01;		// Camera ID		- Base Camera ID 01

	m_bCHKSUM		= m_bSTX + m_bCODE1 + m_bCODE2 + m_bCODE3 + m_bCODE4 + m_bCODE5 + m_bADDR;
								// Check Sum( m_bSTX, Code1 ~ Data5 and ADDR )
								
	ptz_status_struct.isr_table[PTZFSTOP].isr_ptr = PTZStop;
	ptz_status_struct.isr_table[PTUP].isr_ptr = TiltUp;
	ptz_status_struct.isr_table[PTDOWN].isr_ptr = TiltDown;
	ptz_status_struct.isr_table[PTZFSTOP].isr_ptr = PTZStop;
	ptz_status_struct.isr_table[PTLEFT].isr_ptr = PanLeft;
	ptz_status_struct.isr_table[PTRIGHT].isr_ptr = PanRight;
	ptz_status_struct.isr_table[PTZFSTOP].isr_ptr = PTZStop;
	ptz_status_struct.isr_table[ZIN].isr_ptr = ZoomIn;
	ptz_status_struct.isr_table[ZOUT].isr_ptr = ZoomOut;
	ptz_status_struct.isr_table[PTZFSTOP].isr_ptr = PTZStop;
	ptz_status_struct.isr_table[FIN].isr_ptr = FocusNear;
	ptz_status_struct.isr_table[FOUT].isr_ptr = FocusFar;
	ptz_status_struct.isr_table[SETPRESET].isr_ptr = SetPreset;
	ptz_status_struct.isr_table[GOTOPRESET].isr_ptr = GotoPreset;
	ptz_status_struct.isr_table[CLEARPRESET].isr_ptr = ClearPreset;
	ptz_status_struct.isr_table[IRISOPEN].isr_ptr = IrisOpen;
	ptz_status_struct.isr_table[IRISCLOSE].isr_ptr = IrisClose;
	ptz_status_struct.isr_table[AUTOPAN].isr_ptr = AutoPan;
	ptz_status_struct.isr_table[UPLEFT].isr_ptr = UpLeft;
	ptz_status_struct.isr_table[UPRIGHT].isr_ptr = UpRight;
	ptz_status_struct.isr_table[DOWNLEFT].isr_ptr = DownLeft;
	ptz_status_struct.isr_table[DOWNRIGHT].isr_ptr = DownRight;
	ptz_status_struct.isr_table[OSDMENU].isr_ptr = OSDMenu;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -