% 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 format decoder -- libufdecode} \begin{verbatim} cmake . make make install \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 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 actual device id with the tool lspci). \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}