📄 pthread_ptzctrl.h
字号:
/* 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: pthread_ptzctrl.h
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 definition for ptz contol.
...............................................................................
*/
#ifndef __PTHREAD_PTZCTRL_H
#define __PTHREAD_PTZCTRL_H
/** ************************************************************************* **
** includes
** ************************************************************************* **/
#include "typedef.h"
/** ************************************************************************* **
** defines
** ************************************************************************* **/
#define PACKAGE "rs232"
#define VERSION "1.1"
#define MAX_CMD 4
#define CMD_OFF 0
#define CMD_ON 1
#define MAX_HEX_CODE 64
#define PTZ_LVCA720 "LG LPT-A100L" // LG ( Fully Tested in 2002.10.00 Nixon. updated 2003.4.3 kevin )
#define PTZ_LVCA720_ID 0
#define PTZ_DRX502A "DRX-502A(Dome)" // DongYang ( Fully Tested in 2002.11.00 Nixon )
#define PTZ_DRX502A_ID 1
#define PTZ_PelcoD "PELCO D-Protocol" // Pelco-D ( Fully Tested in 2003.3.1 Kevin, updated 2002.12.3 )
#define PTZ_PelcoD_ID 2
#define PTZ_NK97CHE "NK-97CHE" // NewBorn ( Fully Tested in 2002.10.00 Nixon )
#define PTZ_NK97CHE_ID 3
#define PTZ_SCC641 "Samsung SCC-641" // SAMSUNG, HIGH SPEED DOME CAMERA ( Not Tested after Update. 2003.03 Mhpark )
#define PTZ_SCC641_ID 4
#define PTZ_PelcoP "PELCO P-Protocol" // Pelco-P ( Fully Tested in. 2003.06.00 Mhpark )
#define PTZ_PelcoP_ID 5 // ; Not tested CamPower - OSDMenu )
#define PTZ_SJ2819RX "SJ2819RX" // SungJin ( Not Tested after Update. 2003.03 Mhpark )
#define PTZ_SJ2819RX_ID 6
#define PTZ_MRX1000 "Samsung MRX-1000" // MRX-1000 of Samsung Electronics ( Fully Tested Kevin )
#define PTZ_MRX1000_ID 7
#define PTZ_SPD1600 "Techwin SPD1600/2500" // Samsung Techwin ( Not Tested after Update. 2003.03 Mhpark )
#define PTZ_SPD1600_ID 8
#define PTZ_WPT101 "WonWoo Eng:SBO-201P1" // wonwoo Eng ( Fully Tested in 2003.07.09 Mhpark )
#define PTZ_WPT101_ID 9 // Protocol the WPT-101_ (V1.5) or the model name is the SBO-201P1_ (V2.0)
/** ************************************************************************* **
** typedefs
** ************************************************************************* **/
typedef enum {
PTZFSTOP = 0,
PTUP,
PTDOWN,
PTLEFT,
PTRIGHT,
ZIN,
ZOUT,
FIN,
FOUT,
SETPRESET,
GOTOPRESET,
CLEARPRESET,
IRISOPEN,
IRISCLOSE,
AUTOPAN,
UPLEFT,
UPRIGHT,
DOWNLEFT,
DOWNRIGHT,
OSDMENU,
MENUENTER,
MAX_PTZ_CMD
}PTZ_CMD_LIST;
typedef struct __PTZInfo__ {
UNS8 PTZModelName[50];
UNS16 bPreset;
UNS16 bIris;
UNS16 bCamPower;
UNS16 bCamLight;
UNS16 bCamWiper;
UNS16 bCamAutorun;
UNS16 bCamAux;
UNS16 bAutorunStart;
UNS16 bAutorunStop;
UNS16 bPresetSpeed;
UNS16 bPTZSpeed;
UNS16 bMenu;
UNS16 bMenuUp;
UNS16 bMenuDown;
UNS16 bMenuValueUp;
UNS16 bMenuValueDown;
UNS16 bMenuClear;
UNS16 bPatternSet;
UNS16 bPatternRun;
UNS16 bReset;
} PTZInfo;
typedef struct __PTZ_ISR_TABLE_STRUCT__
{
unsigned int (*isr_ptr)(void *args); /* Interrupt service routine */
} PTZ_ISR_TABLE_STRUCT;
typedef struct __PTZ_STATUS_STRUCT__ {
PTZ_ISR_TABLE_STRUCT isr_table[MAX_PTZ_CMD];
}PTZ_STATUS_STRUCT;
PTZ_STATUS_STRUCT ptz_status_struct;
typedef struct __PTZ_STR__ {
UNS8 iCamID;
UNS8 No;
UNS8 bEnable;
UNS8 NC_0;
UNS16 cmd;
UNS16 control_mode;
UNS16 iSpeed;
UNS16 cam_vendor;
UNS8 hex_code[MAX_HEX_CODE];
}PTZ_STR;
/** ************************************************************************* **
** function prototypes
** ************************************************************************* **/
void *pthread_setup(void *args);
void GetProtocol_ptz_server (void *args);
void ptz_set_defaults(UNS16 vendor);
void CSJ2819RX();
void CSCC641();
void CLVCA720();
void CDRX502A();
void CPelcoD();
void CNK97CHE();
void CPelcoP();
void CMRX1000();
void CSPD1600();
void CWPT101();
#endif /* __PTHREAD_PTZCTRL_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -