source: pacpusframework/branches/2.0-beta1/include/PacpusCityVIP/Video/sensor/C1394Camera/1394CameraControl.h@ 89

Last change on this file since 89 was 89, checked in by morasjul, 11 years ago

PACPUS 2.0 Beta deployed in new branch

Major changes:
-Add communication interface between components
-Add examples for communications interface (TestComponents)
-Move to Qt5 support

  • Property svn:executable set to *
File size: 3.2 KB
Line 
1// 1394CameraControl.h: interface for the C1394CameraControl class.
2//
3// Version 5.2
4//
5// Copyright 5/2000
6//
7// Iwan Ulrich
8// Robotics Institute
9// Carnegie Mellon University
10// Pittsburgh, PA
11//
12// Copyright 3/2002
13//
14// Christopher Baker
15// Robotics Institute
16// Carnegie Mellon University
17// Pittsburgh, PA
18//
19// This program is free software; you can redistribute it and/or
20// modify it under the terms of the GNU General Public License
21// as published by the Free Software Foundation; either version 2
22// of the License, or (at your option) any later version.
23//
24// This program is distributed in the hope that it will be useful,
25// but WITHOUT ANY WARRANTY; without even the implied warranty of
26// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27// GNU General Public License for more details.
28//
29// You should have received a copy of the GNU General Public License
30// along with this program; if not, write to the Free Software
31// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
32//
33//////////////////////////////////////////////////////////////////////
34
35#ifndef __1394CAMERACONTROL_H__
36#define __1394CAMERACONTROL_H__
37
38// register offsets
39
40// the root register offsets
41#define INQUIRY_INDEX 0x500
42#define STATUS_INDEX 0x800
43
44// the individual control offsets within the root offsets
45#define BRIGHTNESS_OFFSET 0x00
46#define AUTO_EXPOSURE_OFFSET 0x04
47#define SHARPNESS_OFFSET 0x08
48#define WHITE_BALANCE_OFFSET 0x0C
49#define HUE_OFFSET 0x10
50#define SATURATION_OFFSET 0x14
51#define GAMMA_OFFSET 0x18
52#define SHUTTER_OFFSET 0x1C
53#define GAIN_OFFSET 0x20
54#define IRIS_OFFSET 0x24
55#define FOCUS_OFFSET 0x28
56#define TEMPERATURE_OFFSET 0x2C
57#define TRIGGER_MODE_OFFSET 0x30
58// 0x34 - 0x7C is reserved for other FEATURE_LO
59#define ZOOM_OFFSET 0x80
60#define PAN_OFFSET 0x84
61#define TILT_OFFSET 0x88
62#define OPTICAL_FILTER_OFFSET 0x8C
63// 0x90 - 0xBC is reserved for other FEATURE_HI
64#define CAPTURE_SIZE_OFFSET 0xC0
65#define CAPTURE_QUALITY_OFFSET 0xC4
66// 0xC8 - 0xFC is reserved for other FEATURE_HI
67
68
69// prototype the Camera class so we can make our parent pointer to it.
70class C1394Camera;
71
72class CAMAPI C1394CameraControl
73{
74friend class C1394Camera;
75
76public:
77 int TurnOn(BOOL on);
78 int SetOnePush();
79 int SetAutoMode(BOOL on);
80 int SetValues();
81 unsigned long Status();
82 unsigned long Inquire();
83 int SetOffset(unsigned short offset);
84 C1394CameraControl();
85 ~C1394CameraControl();
86
87 C1394Camera* m_pCamera;
88
89 // feature inquiry flags
90 bool m_present;
91 bool m_onePush;
92 bool m_readout;
93 bool m_onoff;
94 bool m_auto;
95 bool m_manual;
96 // feature status flags
97 bool m_statusPresent;
98 bool m_statusOnePush;
99 bool m_statusOnOff;
100 bool m_statusAutoManual;
101
102 // min/max from inquiry register
103 unsigned short m_min;
104 unsigned short m_max;
105
106 // current values from status register
107 unsigned short m_value1; // bits 20 to 31
108 unsigned short m_value2; // bits 8 to 19
109
110private:
111
112 // current mode bits from status register
113 unsigned short m_mode;
114 // the control offset from 1394CameraControl.h
115 unsigned short m_offset;
116};
117
118#endif // __1394CAMERACONTROL_H__
Note: See TracBrowser for help on using the repository browser.