OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [Documentation/] [video4linux/] [README.cpia] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
This is a driver for the CPiA PPC2 driven parallel connected
2
Camera. For example the Creative WebcamII is CPiA driven.
3
 
4
   ) [1]Peter Pregler, Linz 2000, published under the [2]GNU GPL
5
 
6
---------------------------------------------------------------------------
7
 
8
USAGE:
9
 
10
General:
11
========
12
 
13
1) Make sure you have created the video devices (/dev/video*):
14
 
15
- if you have a recent MAKEDEV do a 'cd /dev;./MAKEDEV video'
16
- otherwise do a:
17
 
18
cd /dev
19
mknod video0 c 81 0
20
ln -s video0 video
21
 
22
2) Compile the kernel (see below for the list of options to use),
23
   configure your parport and reboot.
24
 
25
3) If all worked well you should get messages similar
26
   to the following (your versions may be different) on the console:
27
 
28
V4L-Driver for Vision CPiA based cameras v0.7.4
29
parport0: read2 timeout.
30
parport0: Multimedia device, VLSI Vision Ltd PPC2
31
Parallel port driver for Vision CPiA based camera
32
  CPIA Version: 1.20 (2.0)
33
  CPIA PnP-ID: 0553:0002:0100
34
  VP-Version: 1.0 0100
35
  1 camera(s) found
36
 
37
 
38
As modules:
39
===========
40
 
41
Make sure you have selected the following kernel options (you can
42
select all stuff as modules):
43
 
44
The cpia-stuff is in the section 'Character devices -> Video For Linux'.
45
 
46
CONFIG_PARPORT=m
47
CONFIG_PARPORT_PC=m
48
CONFIG_PARPORT_PC_FIFO=y
49
CONFIG_PARPORT_1284=y
50
CONFIG_VIDEO_DEV=m
51
CONFIG_VIDEO_CPIA=m
52
CONFIG_VIDEO_CPIA_PP=m
53
 
54
For autoloading of all those modules you need to tell modutils some
55
stuff. Add the following line to your modutils config-file
56
(e.g. /etc/modules.conf or wherever your distribution does store that
57
stuff):
58
 
59
options parport_pc io=0x378 irq=7 dma=3
60
alias char-major-81 cpia_pp
61
 
62
The first line tells the dma/irq channels to use. Those _must_ match
63
the settings of your BIOS. Do NOT simply use the values above.  See
64
Documentation/parport.txt for more information about this. The second
65
line associates the video-device file with the driver. Of cause you
66
can also load the modules once upon boot (usually done in /etc/modules).
67
 
68
Linked into the kernel:
69
=======================
70
 
71
Make sure you have selected the following kernel options. Note that
72
you cannot compile the parport-stuff as modules and the cpia-driver
73
statically (the other way round is okay though).
74
 
75
The cpia-stuff is in the section 'Character devices -> Video For Linux'.
76
 
77
CONFIG_PARPORT=y
78
CONFIG_PARPORT_PC=y
79
CONFIG_PARPORT_PC_FIFO=y
80
CONFIG_PARPORT_1284=y
81
CONFIG_VIDEO_DEV=y
82
CONFIG_VIDEO_CPIA=y
83
CONFIG_VIDEO_CPIA_PP=y
84
 
85
To use DMA/irq you will need to tell the kernel upon boot time the
86
hardware configuration of the parport. You can give the boot-parameter
87
at the LILO-prompt or specify it in lilo.conf. I use the following
88
append-line in lilo.conf:
89
 
90
        append="parport=0x378,7,3"
91
 
92
See Documentation/parport.txt for more information about the
93
configuration of the parport and the values given above. Do not simply
94
use the values given above.
95
 
96
---------------------------------------------------------------------------
97
FEATURES:
98
 
99
- mmap/read v4l-interface (but no overlay)
100
- image formats: CIF/QCIF, SIF/QSIF, various others used by isabel;
101
  note: all sizes except CIF/QCIF are implemented by clipping, i.e.
102
  pixels are not uploaded from the camera
103
- palettes: VIDEO_PALETTE_GRAY, VIDEO_PALETTE_RGB565, VIDEO_PALETTE_RGB555,
104
  VIDEO_PALETTE_RGB24, VIDEO_PALETTE_RGB32, VIDEO_PALETTE_YUYV,
105
  VIDEO_PALETTE_UYVY, VIDEO_PALETTE_YUV422
106
- state information (color balance, exposure, ...) is preserved between
107
  device opens
108
- complete control over camera via proc-interface (_all_ camera settings are
109
  supported), there is also a python-gtk application available for this [3]
110
- works under SMP (but the driver is completely serialized and synchronous)
111
  so you get no benefit from SMP, but at least it does not crash your box
112
- might work for non-Intel architecture, let us know about this
113
 
114
---------------------------------------------------------------------------
115
TESTED APPLICATIONS:
116
 
117
- a simple test application based on Xt is available at [3]
118
- another test-application based on gqcam-0.4 (uses GTK)
119
- gqcam-0.6 should work
120
- xawtv-3.x (also the webcam software)
121
- xawtv-2.46
122
- w3cam (cgi-interface and vidcat, e.g. you may try out 'vidcat  |xv
123
  -maxpect -root -quit +noresetroot -rmode 5 -')
124
- vic, the MBONE video conferencing tool (version 2.8ucl4-1)
125
- isabel 3R4beta (barely working, but AFAICT all the problems are on
126
  their side)
127
- camserv-0.40
128
 
129
See [3] for pointers to v4l-applications.
130
 
131
---------------------------------------------------------------------------
132
KNOWN PROBLEMS:
133
 
134
- some applications do not handle the image format correctly, you will
135
  see strange horizontal stripes instead of a nice picture -> make sure
136
  your application does use a supported image size or queries the driver
137
  for the actually used size (reason behind this: the camera cannot
138
  provide any image format, so if size NxM is requested the driver will
139
  use a format to the closest fitting N1xM1, the application should now
140
  query for this granted size, most applications do not).
141
- all the todo ;)
142
- if there is not enough light and the picture is too dark try to
143
  adjust the SetSensorFPS setting, automatic frame rate adjustment
144
  has its price
145
- do not try out isabel 3R4beta (built 135), you will be disappointed
146
 
147
---------------------------------------------------------------------------
148
TODO:
149
 
150
- multiple camera support (struct camera or something) - This should work,
151
  but hasn't been tested yet.
152
- architecture independence?
153
- SMP-safe asynchronous mmap interface
154
- nibble mode for old parport interfaces
155
- streaming capture, this should give a performance gain
156
 
157
---------------------------------------------------------------------------
158
IMPLEMENTATION NOTES:
159
 
160
The camera can act in two modes, streaming or grabbing. Right now a
161
polling grab-scheme is used. Maybe interrupt driven streaming will be
162
used for a asynchronous mmap interface in the next major release of the
163
driver. This might give a better frame rate.
164
 
165
---------------------------------------------------------------------------
166
THANKS (in no particular order):
167
 
168
- Scott J. Bertin  for cleanups, the proc-filesystem
169
  and much more
170
- Henry Bruce  for providing developers information about
171
  the CPiA chip, I wish all companies would treat Linux as seriously
172
- Karoly Erdei  and RISC-Linz for being
173
  my boss ;) resp. my employer and for providing me the hardware and
174
  allow me to devote some working time to this project
175
- Manuel J. Petit de Gabriel  for providing help
176
  with Isabel (http://isabel.dit.upm.es/)
177
- Bas Huisman  for writing the initial parport code
178
- Jarl Totland  for setting up the mailing list
179
  and maintaining the web-server[3]
180
- Chris Whiteford  for fixes related to the
181
  1.02 firmware
182
- special kudos to all the tester whose machines crashed and/or
183
  will crash. :)
184
 
185
---------------------------------------------------------------------------
186
REFERENCES
187
 
188
   1. http://www.risc.uni-linz.ac.at/people/ppregler
189
      mailto:Peter_Pregler@email.com
190
   2. see the file COPYING in the top directory of the kernel tree
191
   3. http://webcam.sourceforge.net/

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.