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

📄 libvisca.h

📁 visca lib, for camera control
💻 H
📖 第 1 页 / 共 3 页
字号:
/* * VISCA(tm) Camera Control Library * Copyright (C) 2002 Damien Douxchamps  * * Written by Damien Douxchamps <douxchamps@ieee.org> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */#ifndef _LIBVISCA_H_#define _LIBVISCA_H_#if defined(_WIN32)||defined(WIN32)||defined(__WIN32__)#define WIN#endif#include <stdlib.h>#include <stdio.h>#include <string.h>#include <fcntl.h>#include <errno.h>#ifdef WIN#include "Windows.h"#else#include "config.h"#include <termios.h>#include <unistd.h>#include <sys/ioctl.h>#endiftypedef unsigned char       UInt8_t; typedef unsigned short int  UInt16_t; /**********************//* Message formatting *//**********************/#define VISCA_COMMAND                    0x01#define VISCA_INQUIRY                    0x09#define VISCA_TERMINATOR                 0xFF#define VISCA_CATEGORY_INTERFACE         0x00#define VISCA_CATEGORY_CAMERA1           0x04#define VISCA_CATEGORY_PAN_TILTER        0x06#define VISCA_CATEGORY_CAMERA2           0x07/* Known Vendor IDs */#define VISCA_VENDOR_SONY  0x20/* Known Model IDs. The manual can be taken from  * http://www.sony.net/Products/ISP/docu_soft/index.html */#define VISCA_MODEL_IX47x    0x0401          /* from FCB-IX47, FCB-IX470 instruction list */#define VISCA_MODEL_EX47xL   0x0402          /* from FCB-EX47L, FCB-EX470L instruction list */#define VISCA_MODEL_IX10     0x0404          /* FCB-IX10, FCB-IX10P instruction list */#define VISCA_MODEL_EX780    0x0411          /* from EX780S(P) tech-manual */#define VISCA_MODEL_EX480A   0x0412          /* from EX48A/EX480A tech-manual */#define VISCA_MODEL_EX480AP  0x0413#define VISCA_MODEL_EX48A    0x0414#define VISCA_MODEL_EX48AP   0x0414#define VISCA_MODEL_EX45M    0x041E#define VISCA_MODEL_EX45MCE  0x041F#define VISCA_MODEL_IX47A    0x0418          /* from IX47A tech-manual */#define VISCA_MODEL_IX47AP   0x0419#define VISCA_MODEL_IX45A    0x041A#define VISCA_MODEL_IX45AP   0x041B#define VISCA_MODEL_IX10A    0x041C          /* from IX10A tech-manual */#define VISCA_MODEL_IX10AP   0x041D#define VISCA_MODEL_EX780B   0x0420          /* from EX78/EX780 tech-manual */#define VISCA_MODEL_EX780BP  0x0421#define VISCA_MODEL_EX78B    0x0422#define VISCA_MODEL_EX78BP   0x0423#define VISCA_MODEL_EX480B   0x0424          /* from EX48/EX480 tech-manual */#define VISCA_MODEL_EX480BP  0x0425#define VISCA_MODEL_EX48B    0x0426#define VISCA_MODEL_EX48BP   0x0427/* Commands/inquiries codes */#define VISCA_POWER                      0x00#define VISCA_DEVICE_INFO                0x02#define VISCA_KEYLOCK                    0x17#define VISCA_ID                         0x22#define VISCA_ZOOM                       0x07#define   VISCA_ZOOM_STOP                  0x00#define   VISCA_ZOOM_TELE                  0x02#define   VISCA_ZOOM_WIDE                  0x03#define   VISCA_ZOOM_TELE_SPEED            0x20#define   VISCA_ZOOM_WIDE_SPEED            0x30#define VISCA_ZOOM_VALUE                 0x47#define VISCA_ZOOM_FOCUS_VALUE           0x47#define VISCA_DZOOM                      0x06#define VISCA_FOCUS                      0x08#define   VISCA_FOCUS_STOP                 0x00#define   VISCA_FOCUS_FAR                  0x02#define   VISCA_FOCUS_NEAR                 0x03#define   VISCA_FOCUS_FAR_SPEED            0x20#define   VISCA_FOCUS_NEAR_SPEED           0x30#define VISCA_FOCUS_VALUE                0x48#define VISCA_FOCUS_AUTO                 0x38#define   VISCA_FOCUS_AUTO_MAN             0x10#define VISCA_FOCUS_ONE_PUSH             0x18#define   VISCA_FOCUS_ONE_PUSH_TRIG        0x01#define   VISCA_FOCUS_ONE_PUSH_INF         0x02#define VISCA_FOCUS_AUTO_SENSE           0x58#define   VISCA_FOCUS_AUTO_SENSE_HIGH      0x02#define   VISCA_FOCUS_AUTO_SENSE_LOW       0x03#define VISCA_FOCUS_NEAR_LIMIT           0x28#define VISCA_WB                         0x35#define   VISCA_WB_AUTO                    0x00#define   VISCA_WB_INDOOR                  0x01#define   VISCA_WB_OUTDOOR                 0x02#define   VISCA_WB_ONE_PUSH                0x03#define   VISCA_WB_ATW                     0x04#define   VISCA_WB_MANUAL                  0x05#define   VISCA_WB_ONE_PUSH_TRIG           0x05#define VISCA_RGAIN                      0x03#define VISCA_RGAIN_VALUE                0x43#define VISCA_BGAIN                      0x04#define VISCA_BGAIN_VALUE                0x44#define VISCA_AUTO_EXP                   0x39#define   VISCA_AUTO_EXP_FULL_AUTO         0x00#define   VISCA_AUTO_EXP_MANUAL            0x03#define   VISCA_AUTO_EXP_SHUTTER_PRIORITY  0x0A#define   VISCA_AUTO_EXP_IRIS_PRIORITY     0x0B#define   VISCA_AUTO_EXP_GAIN_PRIORITY     0x0C#define   VISCA_AUTO_EXP_BRIGHT            0x0D#define   VISCA_AUTO_EXP_SHUTTER_AUTO      0x1A#define   VISCA_AUTO_EXP_IRIS_AUTO         0x1B#define   VISCA_AUTO_EXP_GAIN_AUTO         0x1C#define VISCA_SLOW_SHUTTER               0x5A#define   VISCA_SLOW_SHUTTER_AUTO          0x02#define   VISCA_SLOW_SHUTTER_MANUAL        0x03#define VISCA_SHUTTER                    0x0A#define VISCA_SHUTTER_VALUE              0x4A#define VISCA_IRIS                       0x0B#define VISCA_IRIS_VALUE                 0x4B#define VISCA_GAIN                       0x0C#define VISCA_GAIN_VALUE                 0x4C#define VISCA_BRIGHT                     0x0D#define VISCA_BRIGHT_VALUE               0x4D#define VISCA_EXP_COMP                   0x0E#define VISCA_EXP_COMP_POWER             0x3E#define VISCA_EXP_COMP_VALUE             0x4E#define VISCA_BACKLIGHT_COMP             0x33#define VISCA_APERTURE                   0x02#define VISCA_APERTURE_VALUE             0x42#define VISCA_ZERO_LUX                   0x01#define VISCA_IR_LED                     0x31#define VISCA_WIDE_MODE                  0x60#define   VISCA_WIDE_MODE_OFF              0x00#define   VISCA_WIDE_MODE_CINEMA           0x01#define   VISCA_WIDE_MODE_16_9             0x02#define VISCA_MIRROR                     0x61#define VISCA_FREEZE                     0x62#define VISCA_PICTURE_EFFECT             0x63#define   VISCA_PICTURE_EFFECT_OFF         0x00#define   VISCA_PICTURE_EFFECT_PASTEL      0x01#define   VISCA_PICTURE_EFFECT_NEGATIVE    0x02#define   VISCA_PICTURE_EFFECT_SEPIA       0x03#define   VISCA_PICTURE_EFFECT_BW          0x04#define   VISCA_PICTURE_EFFECT_SOLARIZE    0x05#define   VISCA_PICTURE_EFFECT_MOSAIC      0x06#define   VISCA_PICTURE_EFFECT_SLIM        0x07#define   VISCA_PICTURE_EFFECT_STRETCH     0x08#define VISCA_DIGITAL_EFFECT             0x64#define   VISCA_DIGITAL_EFFECT_OFF         0x00#define   VISCA_DIGITAL_EFFECT_STILL       0x01#define   VISCA_DIGITAL_EFFECT_FLASH       0x02#define   VISCA_DIGITAL_EFFECT_LUMI        0x03#define   VISCA_DIGITAL_EFFECT_TRAIL       0x04#define VISCA_DIGITAL_EFFECT_LEVEL       0x65#define VISCA_MEMORY                     0x3F#define   VISCA_MEMORY_RESET               0x00#define   VISCA_MEMORY_SET                 0x01#define   VISCA_MEMORY_RECALL              0x02#define VISCA_DISPLAY                    0x15#define   VISCA_DISPLAY_TOGGLE             0x10#define VISCA_DATE_TIME_SET              0x70#define VISCA_DATE_DISPLAY               0x71#define VISCA_TIME_DISPLAY               0x72#define VISCA_TITLE_DISPLAY              0x74#define   VISCA_TITLE_DISPLAY_CLEAR        0x00#define VISCA_TITLE_SET                  0x73#define   VISCA_TITLE_SET_PARAMS           0x00#define   VISCA_TITLE_SET_PART1            0x01#define   VISCA_TITLE_SET_PART2            0x02#define VISCA_IRRECEIVE                   0x08#define   VISCA_IRRECEIVE_ON              0x02#define   VISCA_IRRECEIVE_OFF             0x03#define   VISCA_IRRECEIVE_ONOFF           0x10#define VISCA_PT_DRIVE                     0x01#define   VISCA_PT_DRIVE_HORIZ_LEFT        0x01#define   VISCA_PT_DRIVE_HORIZ_RIGHT       0x02#define   VISCA_PT_DRIVE_HORIZ_STOP        0x03#define   VISCA_PT_DRIVE_VERT_UP           0x01#define   VISCA_PT_DRIVE_VERT_DOWN         0x02#define   VISCA_PT_DRIVE_VERT_STOP         0x03#define VISCA_PT_ABSOLUTE_POSITION         0x02#define VISCA_PT_RELATIVE_POSITION         0x03#define VISCA_PT_HOME                      0x04#define VISCA_PT_RESET                     0x05#define VISCA_PT_LIMITSET                  0x07#define   VISCA_PT_LIMITSET_SET            0x00#define   VISCA_PT_LIMITSET_CLEAR          0x01#define     VISCA_PT_LIMITSET_SET_UR       0x01#define     VISCA_PT_LIMITSET_SET_DL       0x00#define VISCA_PT_DATASCREEN                0x06#define   VISCA_PT_DATASCREEN_ON           0x02#define   VISCA_PT_DATASCREEN_OFF          0x03#define   VISCA_PT_DATASCREEN_ONOFF        0x10#define VISCA_PT_VIDEOSYSTEM_INQ           0x23#define VISCA_PT_MODE_INQ                  0x10#define VISCA_PT_MAXSPEED_INQ              0x11#define VISCA_PT_POSITION_INQ              0x12#define VISCA_PT_DATASCREEN_INQ            0x06/*****************//* D30/D31 CODES *//*****************/#define VISCA_WIDE_CON_LENS		   0x26#define   VISCA_WIDE_CON_LENS_SET          0x00#define VISCA_AT_MODE                      0x01#define   VISCA_AT_ONOFF                   0x10#define VISCA_AT_AE                        0x02#define VISCA_AT_AUTOZOOM                  0x03#define VISCA_ATMD_FRAMEDISPLAY            0x04#define VISCA_AT_FRAMEOFFSET               0x05#define VISCA_ATMD_STARTSTOP               0x06#define VISCA_AT_CHASE                     0x07#define   VISCA_AT_CHASE_NEXT              0x10#define VISCA_MD_MODE                      0x08#define   VISCA_MD_ONOFF                   0x10#define VISCA_MD_FRAME                     0x09#define VISCA_MD_DETECT                    0x0A#define VISCA_MD_ADJUST                    0x00#define   VISCA_MD_ADJUST_YLEVEL           0x0B#define   VISCA_MD_ADJUST_HUELEVEL         0x0C#define   VISCA_MD_ADJUST_SIZE             0x0D#define   VISCA_MD_ADJUST_DISPTIME         0x0F#define   VISCA_MD_ADJUST_REFTIME          0x0B#define   VISCA_MD_ADJUST_REFMODE          0x10#define VISCA_AT_ENTRY                     0x15#define VISCA_AT_LOSTINFO                  0x20#define VISCA_MD_LOSTINFO                  0x21#define VISCA_ATMD_LOSTINFO1               0x20#define VISCA_ATMD_LOSTINFO2               0x07#define VISCA_MD_MEASURE_MODE_1            0x27#define VISCA_MD_MEASURE_MODE_2            0x28#define VISCA_ATMD_MODE                    0x22#define VISCA_AT_MODE_QUERY                0x23#define VISCA_MD_MODE_QUERY                0x24#define VISCA_MD_REFTIME_QUERY             0x11#define VISCA_AT_POSITION                  0x20#define VISCA_MD_POSITION                  0x21/***************//* ERROR CODES *//***************//* these two are defined by me, not by the specs. */#define VISCA_SUCCESS                    0x00#define VISCA_FAILURE                    0xFF/* specs errors: */#define VISCA_ERROR_MESSAGE_LENGTH       0x01#define VISCA_ERROR_SYNTAX               0x02#define VISCA_ERROR_CMD_BUFFER_FULL      0x03#define VISCA_ERROR_CMD_CANCELLED        0x04#define VISCA_ERROR_NO_SOCKET            0x05#define VISCA_ERROR_CMD_NOT_EXECUTABLE   0x41/* Generic definitions */#define VISCA_ON                         0x02#define VISCA_OFF                        0x03#define VISCA_RESET                      0x00#define VISCA_UP                         0x02#define VISCA_DOWN                       0x03/* serial wait (us)*/#define SERIAL_WAIT                    100000 #define VISCA_INPUT_BUFFER_SIZE          1024/* response types */#define VISCA_RESPONSE_CLEAR             0x40#define VISCA_RESPONSE_ADDRESS           0x30#define VISCA_RESPONSE_ACK               0x40#define VISCA_RESPONSE_COMPLETED         0x50#define VISCA_RESPONSE_ERROR             0x60#ifdef __cplusplusextern "C" {#endif/* INTERFACE STRUCTURE */typedef struct _interface{

⌨️ 快捷键说明

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