1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
% UFO camera admin manual
%
\chapter{Administration manual}
The UFO camera consists of:
\begin{itemize}
\item Image sensor module
\item Camera controller board, including power supply, passive PCI backplane
\item PCI Express extender with client and host modules
\item Pci-tool package
\item Camera decoding package
\item High-speed storage library
\item Universal camera access library
\end{itemize}
\section{Prerequisites, Requirements}
Interface for lenses is C-mount.
Software packages
\section{Connecting the hardware, Power, Computer interface}
% TODO Describe the hardware setup
\section{Installation of the camera drivers and tools}
The software needs to be installed in the order libufodecode, fastwriter, pcitool and libuca. The major dependencies are:
\begin{itemize}
\item GNU C compiler with glibc and other mayor system libraries
\item The Linux kernel development files
\item XFS development files
\item glib2 library
\end{itemize}
\subsection{Camera format decoder -- libufdecode}
\begin{verbatim}
cmake .
make
make install
\end{verbatim}
In case of problems it is possible to disable SSE support, in this case cmake should be run with \verb/HAVE_SSE=OFF/ parameter
\begin{verbatim}
cmake -D "HAVE_SSE=OFF" .
\end{verbatim}
\subsection{Camera driver -- pcitool}
The building of pcitool consists of 3 steps. The pcitool userspace may be simply installed with cmake as other applications.
\begin{verbatim}
cmake .
make
make install
\end{verbatim}
To build the kernel module, change to the folder \verb/driver/ and adjust
\verb/PCIE_IPECAMERA_DEVICE_ID/ in the file pciDriver.h if required (you may
check the actual device id with the lspci tool).
\begin{verbatim}
make
make install
depmod -a
modprobe pciDriver
\end{verbatim}
To autoload driver, copy \verb|misc/50-pcidriver.rules| into the \verb|/etc/udev/rules.d| directory
\subsection{Universal camera layer -- libuca}
Libuca is an abbreviation for Unified Camera access. It is a library to access two-dimensional pixel detectors most commonly called cameras. It gives the user a general interface to a variety of different cameras and camera types. It is used to configure them via a property based
interface and acquire images.
Installation instruction from libuca/INSTALL.
\begin{verbatim}
Simple install procedure
========================
$ tar xfz libuca-0.x.tar.gz
$ cd libuca-0.x
$ mkdir build
$ cd build/
$ cmake ..
$ make
[ Become root if necessary ]
$ make install
Requirements
============
libuca requires CMake and pkg-config for building libraries and accompanying
tools. Information about CMake can be found at:
http://www.cmake.org
and pkg-config at:
http://www.freedesktop.org/software/pkgconfig
libuca depends on the GObject library for object oriented programming.
Information about this library can be found at:
http://developers.gnome.org/gobject/stable
Each specific camera needs a camera SDK and/or a driver:
- UFO camera: pcilib
- pco.edge, pco.4000, pco.dimax cameras: SiliconSoftware menable IV driver
and SDK as well as the libpco wrapper.
The control tools require Gtk+ GUI toolkit. Information is available at:
http://developer.gnome.org/platform-overview/
Building the Library
====================
On Linux, libuca uses the CMake build system and pkg-config for dependency
detection. The normal procedure to build this library is to create an empty
build directory:
$ mkdir build/ && cd build
configure the project using CMake:
$ cmake ../
and compiling the library with make:
$ make
$ make install
Options to the build process can be passed to the system when configuring:
$ cmake ../ -DCMAKE_INSTALL_PREFIX=/usr
or via configuration tools like `ccmake`.
\end{verbatim}
|