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

📄 ptz_nk97che.c

📁 1、基于韩国at2041芯片开发的Linux环境的DVR代码。 2、以原来代码进行了修改。 3、主要修改网络通讯出现异常问题处理 4、硬盘覆盖录像不起作用
💻 C
📖 第 1 页 / 共 2 页
字号:
/* set tabstop=4 */
/********************************************************************************
 *                                                                              *
 * Copyright(C) 2004  Penta-Micro                                               *
 *                                                                              *
 * ALL RIGHT RESERVED                                                           *
 *                                                                              *
 * This software is the property of Penta-Micro and is furnished under          *
 * license by Penta-Micro. This software may be used only in accordance         *	
 * with the terms of said license. This copyright notice may not be             *
 * removed, modified or obliterated without the prior written permission        *
 * of Penta-Micro.                                                              *
 *                                                                              *
 * This software may not be copyed, transmitted, provided to or otherwise       *
 * made available to any other person, company, corporation	or other entity     *
 * except as specified in the terms of said license.                            *
 *                                                                              *
 * No right, title, ownership or other interest in the software is hereby       *
 * granted or transferred.                                                      *
 *                                                                              *
 * The information contained herein is subject to change without notice and     *
 * should not be construed as a commitment by Penta-Micro.                      *
 *                                                                              *
 ********************************************************************************
 
  MODULE NAME:  ptz_nk97che.c
  
  REVISION HISTORY:
  
  Date       Ver Name                  Description
  ---------- --- --------------------- -----------------------------------------
  07/09/2003 1.0 Mhpark                Created   
  02/01/2005 1.1 JiGwanKang(xchannel)  Modify(arrangement) 
 ...............................................................................
 
  DESCRIPTION:
  
  This Module contains functions for "NK-97CHE" ptz model.
  
 ...............................................................................
*/  

/** ************************************************************************* ** 
 ** includes
 ** ************************************************************************* **/
#include <stdio.h>

#include "pthread_ptzctrl.h"

/** ************************************************************************* ** 
 ** defines
 ** ************************************************************************* **/
 
/** ************************************************************************* ** 
 ** typedefs
 ** ************************************************************************* **/
	 
/** ************************************************************************* ** 
 ** globals
 ** ************************************************************************* **/

/** ************************************************************************* ** 
 ** locals
 ** ************************************************************************* **/
BOOL	m_bPreset;
BOOL	m_bIris;
BOOL	m_bCamPower;
BOOL	m_bCamLight;
BOOL	m_bCamWiper;
BOOL	m_bCamAutorun;
BOOL	m_bCamAux;

BOOL	m_bAutorunStart;
BOOL	m_bAutorunStop;
BOOL	m_bPresetSpeed;
BOOL	m_bPTZSpeed;

BOOL	m_bMenu;
BOOL	m_bMenuUp;
BOOL	m_bMenuDown;
BOOL	m_bMenuValueUp;
BOOL	m_bMenuValueDown;

BOOL	m_bPatternSet;
BOOL	m_bPatternRun;

BOOL	m_bReset;

UNS8	m_bSTX;
UNS8	m_bCODE1;
UNS8	m_bCODE2;
UNS8	m_bCODE3;
UNS8	m_bCODE4;
UNS8	m_bCODE5;
UNS8	m_bADDR;
UNS8	m_bCHKSUM;

/** ************************************************************************* ** 
 ** forward declarations
 ** ************************************************************************* **/
 
static void GetModelInfo ( PTZInfo* pModelInfo )
{
	strcpy ( pModelInfo->PTZModelName, PTZ_NK97CHE );
	pModelInfo->bPreset		= m_bPreset;
	pModelInfo->bIris		= m_bIris;
	pModelInfo->bCamAux		= m_bCamAux;
	pModelInfo->bMenu		= m_bMenu;
	pModelInfo->bCamPower		= m_bCamPower;
	pModelInfo->bCamLight		= m_bCamLight;
	pModelInfo->bCamWiper		= m_bCamWiper;
	pModelInfo->bCamAutorun		= m_bCamAutorun;
	pModelInfo->bAutorunStart	= m_bAutorunStart;
	pModelInfo->bAutorunStop	= m_bAutorunStop;
	pModelInfo->bPresetSpeed	= m_bPresetSpeed;
	pModelInfo->bPTZSpeed		= m_bPTZSpeed;
	pModelInfo->bMenuUp		= m_bMenuUp;
	pModelInfo->bMenuDown		= m_bMenuDown;
	pModelInfo->bMenuValueUp	= m_bMenuValueUp;
	pModelInfo->bMenuValueDown	= m_bMenuValueDown;
	pModelInfo->bPatternSet		= m_bPatternSet;
	pModelInfo->bPatternRun		= m_bPatternRun;
	pModelInfo->bReset		= m_bReset;
}
//////////////////////////////////////////////////////////////////////
static void CalcCheckSumByte ()
{
	m_bCHKSUM	= m_bSTX + m_bCODE1 + m_bCODE2 + m_bCODE3 + m_bCODE4 + m_bCODE5 + m_bADDR;
}
//////////////////////////////////////////////////////////////////////
/*
static
void ConvertToBDCformat ()
{
	// Camera Number m_INFO0 -> BCD format
	if ( m_INFO0 < 10 )
		return;

	UNS8 val = m_INFO0 - 10;
	m_INFO0 = 0x10 | val;
}
*/
//////////////////////////////////////////////////////////////////////
static BOOL SendCommand ()
{
	UNS8 buff[9];

//	ConvertToBDCformat ();
	CalcCheckSumByte ();
			
	buff[0] = m_bSTX;
	buff[1] = m_bCODE1;
	buff[2] = m_bCODE2;
	buff[3] = m_bCODE3;
	buff[4] = m_bCODE4;
	buff[5] = m_bCODE5;
	buff[6] = m_bADDR;
	buff[7] = m_bCHKSUM;
	
	
	return SendComm(buff, 8, PTZ_NK97CHE_ID);	
}
//////////////////////////////////////////////////////////////////////
static BOOL PTZStop ( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
//	m_bADDR		= str_params->iCamID;
	m_bCODE1	= 0xe5;
	m_bCODE2	= 0x00;
	m_bCODE3	= 0x00;
	m_bCODE4	= 0x00;
	m_bCODE5	= 0x00;

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

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL TiltUp ( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args;
	
	m_bCODE1	= 0x9b;
	m_bCODE2	= (UNS8)( str_params->iSpeed * 2.55 );
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL TiltDown ( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE1	= 0x9d;
	m_bCODE2	= (UNS8)( str_params->iSpeed * 2.55 );
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL PanLeft  ( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE1	= 0x97;
	m_bCODE2	= (UNS8)( str_params->iSpeed * 2.55 );
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL PanRight ( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
		
	m_bCODE1	= 0x99;
	m_bCODE2	= (UNS8)( str_params->iSpeed * 2.55 );
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL UpLeft ( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	// Left
	PanLeft( (PTZ_STR *)str_params  );

	SendCommand ();
	usleep(50*1000);

	// Up
	TiltUp( (PTZ_STR *)str_params  );

	
	SendCommand ();
	usleep(50*1000);
	return PTZStop( (PTZ_STR *)str_params  );
}
//////////////////////////////////////////////////////////////////////
static BOOL DownLeft ( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	// Left
	PanLeft( (PTZ_STR *)str_params  );

	SendCommand ();
	usleep(50*1000);

	// Down
	TiltDown( (PTZ_STR *)str_params  );

	
	SendCommand ();
	usleep(50*1000);
	return PTZStop( (PTZ_STR *)str_params  );
}
//////////////////////////////////////////////////////////////////////
static BOOL UpRight ( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	// Right
	PanRight( (PTZ_STR *)str_params  );

	SendCommand ();
	usleep(50*1000);

	// Up
	TiltUp( (PTZ_STR *)str_params );

	
	SendCommand ();
	usleep(50*1000);
	return PTZStop( (PTZ_STR *)str_params );
}
//////////////////////////////////////////////////////////////////////
static BOOL DownRight	( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	// Right
	PanRight( (PTZ_STR *)str_params );

	SendCommand ();
	usleep(50*1000);

	// Down
	TiltDown( (PTZ_STR *)str_params );

	
	SendCommand ();
	usleep(50*1000);
	return PTZStop( (PTZ_STR *)str_params );
}
//////////////////////////////////////////////////////////////////////
static BOOL ZoomIn ( void *args )
{
	PTZ_STR *str_params = (PTZ_STR *)args ;
	
	m_bCODE1	= 0x5f;
	m_bCODE2	= 0x01;
//	m_bADDR		= str_params->iCamID;

	
	return SendCommand ();
}
//////////////////////////////////////////////////////////////////////
static BOOL ZoomOut ( void *args )

⌨️ 快捷键说明

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