version 1.1.1.1.2.4, 2011/03/17 08:36:14
|
version 1.4, 2013/05/30 09:20:16
|
Line 5
|
Line 5
|
* $Author$ |
* $Author$ |
* $Id$ |
* $Id$ |
* |
* |
*************************************************************************/ | ************************************************************************** |
| The ELWIX and AITNET software is distributed under the following |
| terms: |
| |
| All of the documentation and software included in the ELWIX and AITNET |
| Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
| |
| Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 |
| by Michael Pounov <misho@elwix.org>. All rights reserved. |
| |
| Redistribution and use in source and binary forms, with or without |
| modification, are permitted provided that the following conditions |
| are met: |
| 1. Redistributions of source code must retain the above copyright |
| notice, this list of conditions and the following disclaimer. |
| 2. Redistributions in binary form must reproduce the above copyright |
| notice, this list of conditions and the following disclaimer in the |
| documentation and/or other materials provided with the distribution. |
| 3. All advertising materials mentioning features or use of this software |
| must display the following acknowledgement: |
| This product includes software developed by Michael Pounov <misho@elwix.org> |
| ELWIX - Embedded LightWeight unIX and its contributors. |
| 4. Neither the name of AITNET nor the names of its contributors |
| may be used to endorse or promote products derived from this software |
| without specific prior written permission. |
| |
| THIS SOFTWARE IS PROVIDED BY AITNET AND CONTRIBUTORS ``AS IS'' AND |
| ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
| FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
| OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
| HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
| LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
| OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
| SUCH DAMAGE. |
| */ |
#ifndef __AITPELCO_H |
#ifndef __AITPELCO_H |
#define __AITPELCO_H |
#define __AITPELCO_H |
|
|
Line 110 typedef struct tagPelcoP {
|
Line 147 typedef struct tagPelcoP {
|
|
|
// ------------------------------------------------------- |
// ------------------------------------------------------- |
// pelco_GetErrno() Get error code of last operation |
// pelco_GetErrno() Get error code of last operation |
inline int pelco_GetErrno(); | int pelco_GetErrno(); |
// pelco_GetError() Get error text of last operation |
// pelco_GetError() Get error text of last operation |
inline const char *pelco_GetError(); | const char *pelco_GetError(); |
// ------------------------------------------------------- |
// ------------------------------------------------------- |
|
|
|
|
Line 122 inline const char *pelco_GetError();
|
Line 159 inline const char *pelco_GetError();
|
* @camNo = Packet for camera number address |
* @camNo = Packet for camera number address |
* return: NULL error, !=NULL ok, allocated memory for packet |
* return: NULL error, !=NULL ok, allocated memory for packet |
*/ |
*/ |
inline void *pelcoOpen(u_char pelcoVer, u_char camNo); | void *pelcoOpen(u_char pelcoVer, u_char camNo); |
|
|
/* |
/* |
* pelcoClose() Close packet record and free memory |
* pelcoClose() Close packet record and free memory |
* @p = Packet structure for close |
* @p = Packet structure for close |
*/ |
*/ |
inline void pelcoClose(void * __restrict p); | void pelcoClose(void * __restrict p); |
|
|
/* |
/* |
* pelcoLoad() Load packet from input buffer |
* pelcoLoad() Load packet from input buffer |
* @buffer = Pelco packet from input buffer |
* @buffer = Pelco packet from input buffer |
* return: NULL error, !=NULL ok, allocated memory for packet |
* return: NULL error, !=NULL ok, allocated memory for packet |
*/ |
*/ |
inline void *pelcoLoad(u_char *buffer); | void *pelcoLoad(u_char *buffer); |
|
|
|
|
/* |
/* |
Line 145 inline void *pelcoLoad(u_char *buffer);
|
Line 182 inline void *pelcoLoad(u_char *buffer);
|
* @data[2] = Input Data for commands 1 & 2 |
* @data[2] = Input Data for commands 1 & 2 |
* return: 0xFF - error, 0 - ok |
* return: 0xFF - error, 0 - ok |
*/ |
*/ |
inline u_char pelcoAddCmdData(void * __restrict p, u_char * __restrict cmd, u_char * __restrict data); | u_char pelcoAddCmdData(void * __restrict p, u_char * __restrict cmd, u_char * __restrict data); |
|
|
/* |
/* |
* pelcoGetCmdData() Get from packet commands and datas with verify packet |
* pelcoGetCmdData() Get from packet commands and datas with verify packet |
Line 154 inline u_char pelcoAddCmdData(void * __restrict p, u_c
|
Line 191 inline u_char pelcoAddCmdData(void * __restrict p, u_c
|
* @data[2] = Output Data for commands 1 & 2 |
* @data[2] = Output Data for commands 1 & 2 |
* return: 'd' - PelcoD, 'p' - PelcoP, 0 - unknown or bad packet |
* return: 'd' - PelcoD, 'p' - PelcoP, 0 - unknown or bad packet |
*/ |
*/ |
inline u_char pelcoGetCmdData(void * __restrict p, u_char * __restrict cmd, u_char * __restrict data); | u_char pelcoGetCmdData(void * __restrict p, u_char * __restrict cmd, u_char * __restrict data); |
|
|
/* |
/* |
* pelcoChkSum() Check ot Correct check sum in packet |
* pelcoChkSum() Check ot Correct check sum in packet |
Line 162 inline u_char pelcoGetCmdData(void * __restrict p, u_c
|
Line 199 inline u_char pelcoGetCmdData(void * __restrict p, u_c
|
* @correct = Calculate new check sum if incorrect !=0, if ==0 only check |
* @correct = Calculate new check sum if incorrect !=0, if ==0 only check |
* return: 0xFF - bad packet, invalid check sum, 0 check sum is correct. |
* return: 0xFF - bad packet, invalid check sum, 0 check sum is correct. |
*/ |
*/ |
inline u_char pelcoChkSum(void * __restrict p, u_char correct); | u_char pelcoChkSum(void * __restrict p, u_char correct); |
|
|
|
|
/* |
/* |
Line 170 inline u_char pelcoChkSum(void * __restrict p, u_char
|
Line 207 inline u_char pelcoChkSum(void * __restrict p, u_char
|
* @p = Packet structure |
* @p = Packet structure |
* return: 'd' - PelcoD, 'p' - PelcoP, 0 - unknown or bad packet |
* return: 'd' - PelcoD, 'p' - PelcoP, 0 - unknown or bad packet |
*/ |
*/ |
inline u_char pelco_GetVersion(void * __restrict p); | u_char pelco_GetVersion(void * __restrict p); |
|
|
/* |
/* |
* pelco_GetCamNo() Get Camera number and check for valid packet |
* pelco_GetCamNo() Get Camera number and check for valid packet |
Line 178 inline u_char pelco_GetVersion(void * __restrict p);
|
Line 215 inline u_char pelco_GetVersion(void * __restrict p);
|
* return: 0xFF and pelco_GetErrno() == ENOEXEC - error, |
* return: 0xFF and pelco_GetErrno() == ENOEXEC - error, |
any number is camera address |
any number is camera address |
*/ |
*/ |
inline u_char pelco_GetCamNo(void * __restrict p); | u_char pelco_GetCamNo(void * __restrict p); |
|
|
/* |
/* |
* pelco_GetCamCmdData() Get from Camera commands and datas with verify packet |
* pelco_GetCamCmdData() Get from Camera commands and datas with verify packet |
Line 188 inline u_char pelco_GetCamNo(void * __restrict p);
|
Line 225 inline u_char pelco_GetCamNo(void * __restrict p);
|
* @data[2] = Output Data for commands 1 & 2 |
* @data[2] = Output Data for commands 1 & 2 |
* return: 'd' - PelcoD, 'p' - PelcoP, 0 - unknown or bad packet |
* return: 'd' - PelcoD, 'p' - PelcoP, 0 - unknown or bad packet |
*/ |
*/ |
inline u_char pelco_GetCamCmdData(void * __restrict p, u_char * __restrict cam, | u_char pelco_GetCamCmdData(void * __restrict p, u_char * __restrict cam, |
u_char * __restrict cmd, u_char * __restrict data); |
u_char * __restrict cmd, u_char * __restrict data); |
|
|
/* |
/* |
Line 198 inline u_char pelco_GetCamCmdData(void * __restrict p,
|
Line 235 inline u_char pelco_GetCamCmdData(void * __restrict p,
|
* @cmd2 = Output typecasted commands 2 |
* @cmd2 = Output typecasted commands 2 |
* return: 0xFF - error, !=0 return number arguments |
* return: 0xFF - error, !=0 return number arguments |
*/ |
*/ |
inline u_char pelco_D_toCmd(u_char * __restrict cmd, | u_char pelco_D_toCmd(u_char * __restrict cmd, |
struct bitD_Cmd1 * __restrict cmd1, struct bitD_Cmd2 * __restrict cmd2); |
struct bitD_Cmd1 * __restrict cmd1, struct bitD_Cmd2 * __restrict cmd2); |
|
|
/* |
/* |
Line 208 inline u_char pelco_D_toCmd(u_char * __restrict cmd,
|
Line 245 inline u_char pelco_D_toCmd(u_char * __restrict cmd,
|
* @cmd2 = Output typecasted commands 2 |
* @cmd2 = Output typecasted commands 2 |
* return: 0xFF - error, !=0 return number arguments |
* return: 0xFF - error, !=0 return number arguments |
*/ |
*/ |
inline u_char pelco_P_toCmd(u_char * __restrict cmd, | u_char pelco_P_toCmd(u_char * __restrict cmd, |
struct bitP_Cmd1 * __restrict cmd1, struct bitP_Cmd2 * __restrict cmd2); |
struct bitP_Cmd1 * __restrict cmd1, struct bitP_Cmd2 * __restrict cmd2); |
|
|
/* |
/* |
Line 218 inline u_char pelco_P_toCmd(u_char * __restrict cmd,
|
Line 255 inline u_char pelco_P_toCmd(u_char * __restrict cmd,
|
* @cmd[2] = Output Commands 1 & 2 |
* @cmd[2] = Output Commands 1 & 2 |
* return: 0xFF - error, 0 - ok |
* return: 0xFF - error, 0 - ok |
*/ |
*/ |
inline u_char pelco_D_fromCmd(struct bitD_Cmd1 cmd1, struct bitD_Cmd2 cmd2, | u_char pelco_D_fromCmd(struct bitD_Cmd1 cmd1, struct bitD_Cmd2 cmd2, |
u_char * __restrict cmd); |
u_char * __restrict cmd); |
|
|
/* |
/* |
Line 228 inline u_char pelco_D_fromCmd(struct bitD_Cmd1 cmd1, s
|
Line 265 inline u_char pelco_D_fromCmd(struct bitD_Cmd1 cmd1, s
|
* @cmd[2] = Output Commands 1 & 2 |
* @cmd[2] = Output Commands 1 & 2 |
* return: 0xFF - error, 0 - ok |
* return: 0xFF - error, 0 - ok |
*/ |
*/ |
inline u_char pelco_P_fromCmd(struct bitP_Cmd1 cmd1, struct bitP_Cmd2 cmd2, | u_char pelco_P_fromCmd(struct bitP_Cmd1 cmd1, struct bitP_Cmd2 cmd2, |
u_char * __restrict cmd); |
u_char * __restrict cmd); |
|
|
/* |
/* |
Line 240 inline u_char pelco_P_fromCmd(struct bitP_Cmd1 cmd1, s
|
Line 277 inline u_char pelco_P_fromCmd(struct bitP_Cmd1 cmd1, s
|
* @p = Output Packet structure |
* @p = Output Packet structure |
* return: 0xFF - error, 0 - ok |
* return: 0xFF - error, 0 - ok |
*/ |
*/ |
inline u_char pelco_SetCamCmdData(u_char ver, u_char cam, | u_char pelco_SetCamCmdData(u_char ver, u_char cam, |
u_char * __restrict cmd, u_char * __restrict data, void * __restrict p); |
u_char * __restrict cmd, u_char * __restrict data, void * __restrict p); |
|
|
|
|