summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2014-07-11 11:12:48 +0200
committerMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2014-07-11 11:12:48 +0200
commit4cb99ce7983215e4786015c60293305728d0c408 (patch)
tree383fc73a7831ea50825bdb1e975e938af6710178
parent32c8dc2140ef0e106df97c9103207fcf7680ed9b (diff)
downloadlibuca-4cb99ce7983215e4786015c60293305728d0c408.tar.gz
libuca-4cb99ce7983215e4786015c60293305728d0c408.tar.bz2
libuca-4cb99ce7983215e4786015c60293305728d0c408.tar.xz
libuca-4cb99ce7983215e4786015c60293305728d0c408.zip
Remove static property docs and Markdown manual
-rw-r--r--docs/base.html67
-rw-r--r--docs/manual.md643
-rw-r--r--docs/mock.html73
-rw-r--r--docs/pco.html130
-rw-r--r--docs/pf.html73
-rw-r--r--docs/ufo.html346
-rw-r--r--docs/webfonts.html1
7 files changed, 0 insertions, 1333 deletions
diff --git a/docs/base.html b/docs/base.html
deleted file mode 100644
index e86807f..0000000
--- a/docs/base.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<html><head><link rel="stylesheet" href="style.css" type="text/css" /><link href='http://fonts.googleapis.com/css?family=Droid+Sans:400,700|Droid+Serif:400,400italic|Inconsolata' rel='stylesheet' type='text/css'><title>Basic camera &mdash; properties</title></head><body><div id="header"><h1 class="title">Property documentation of Basic camera</h1><h2>Properties</h2><ul id="toc"><li><code><a href=#name>"name"</a></code></li><li><code><a href=#sensor-width>"sensor-width"</a></code></li><li><code><a href=#sensor-height>"sensor-height"</a></code></li><li><code><a href=#sensor-bitdepth>"sensor-bitdepth"</a></code></li><li><code><a href=#sensor-horizontal-binning>"sensor-horizontal-binning"</a></code></li><li><code><a href=#sensor-horizontal-binnings>"sensor-horizontal-binnings"</a></code></li><li><code><a href=#sensor-vertical-binning>"sensor-vertical-binning"</a></code></li><li><code><a href=#sensor-vertical-binnings>"sensor-vertical-binnings"</a></code></li><li><code><a href=#sensor-max-frame-rate>"sensor-max-frame-rate"</a></code></li><li><code><a href=#trigger-mode>"trigger-mode"</a></code></li><li><code><a href=#exposure-time>"exposure-time"</a></code></li><li><code><a href=#roi-x0>"roi-x0"</a></code></li><li><code><a href=#roi-y0>"roi-y0"</a></code></li><li><code><a href=#roi-width>"roi-width"</a></code></li><li><code><a href=#roi-height>"roi-height"</a></code></li><li><code><a href=#roi-width-multiplier>"roi-width-multiplier"</a></code></li><li><code><a href=#roi-height-multiplier>"roi-height-multiplier"</a></code></li><li><code><a href=#has-streaming>"has-streaming"</a></code></li><li><code><a href=#has-camram-recording>"has-camram-recording"</a></code></li><li><code><a href=#transfer-asynchronously>"transfer-asynchronously"</a></code></li><li><code><a href=#is-recording>"is-recording"</a></code></li><li><code><a href=#is-readout>"is-readout"</a></code></li></ul><h2>Details</h2><dl><dt id="name"><a href="#toc">name</a></dt>
-<dd><pre><code class="prop-type">"name" : gchararray : Read-only</code></pre>
-<p>Name of the camera</p>
-</dd><dt id="sensor-width"><a href="#toc">sensor-width</a></dt>
-<dd><pre><code class="prop-type">"sensor-width" : guint : Read-only</code></pre>
-<p>Width of the sensor in pixels</p>
-</dd><dt id="sensor-height"><a href="#toc">sensor-height</a></dt>
-<dd><pre><code class="prop-type">"sensor-height" : guint : Read-only</code></pre>
-<p>Height of the sensor in pixels</p>
-</dd><dt id="sensor-bitdepth"><a href="#toc">sensor-bitdepth</a></dt>
-<dd><pre><code class="prop-type">"sensor-bitdepth" : guint : Read-only</code></pre>
-<p>Number of bits per pixel</p>
-</dd><dt id="sensor-horizontal-binning"><a href="#toc">sensor-horizontal-binning</a></dt>
-<dd><pre><code class="prop-type">"sensor-horizontal-binning" : guint : Read / Write</code></pre>
-<p>Number of sensor ADCs that are combined to one pixel in horizontal direction</p>
-</dd><dt id="sensor-horizontal-binnings"><a href="#toc">sensor-horizontal-binnings</a></dt>
-<dd><pre><code class="prop-type">"sensor-horizontal-binnings" : GValueArray : Read-only</code></pre>
-<p>Array of possible binnings in horizontal direction</p>
-</dd><dt id="sensor-vertical-binning"><a href="#toc">sensor-vertical-binning</a></dt>
-<dd><pre><code class="prop-type">"sensor-vertical-binning" : guint : Read / Write</code></pre>
-<p>Number of sensor ADCs that are combined to one pixel in vertical direction</p>
-</dd><dt id="sensor-vertical-binnings"><a href="#toc">sensor-vertical-binnings</a></dt>
-<dd><pre><code class="prop-type">"sensor-vertical-binnings" : GValueArray : Read-only</code></pre>
-<p>Array of possible binnings in vertical direction</p>
-</dd><dt id="sensor-max-frame-rate"><a href="#toc">sensor-max-frame-rate</a></dt>
-<dd><pre><code class="prop-type">"sensor-max-frame-rate" : gfloat : Read-only</code></pre>
-<p>Maximum frame rate at full frame resolution</p>
-</dd><dt id="trigger-mode"><a href="#toc">trigger-mode</a></dt>
-<dd><pre><code class="prop-type">"trigger-mode" : UcaCameraTrigger : Read / Write</code></pre>
-<p>Trigger mode</p>
-</dd><dt id="exposure-time"><a href="#toc">exposure-time</a></dt>
-<dd><pre><code class="prop-type">"exposure-time" : gdouble : Read / Write</code></pre>
-<p>Exposure time in seconds</p>
-</dd><dt id="roi-x0"><a href="#toc">roi-x0</a></dt>
-<dd><pre><code class="prop-type">"roi-x0" : guint : Read / Write</code></pre>
-<p>Horizontal coordinate</p>
-</dd><dt id="roi-y0"><a href="#toc">roi-y0</a></dt>
-<dd><pre><code class="prop-type">"roi-y0" : guint : Read / Write</code></pre>
-<p>Vertical coordinate</p>
-</dd><dt id="roi-width"><a href="#toc">roi-width</a></dt>
-<dd><pre><code class="prop-type">"roi-width" : guint : Read / Write</code></pre>
-<p>Width of the region of interest</p>
-</dd><dt id="roi-height"><a href="#toc">roi-height</a></dt>
-<dd><pre><code class="prop-type">"roi-height" : guint : Read / Write</code></pre>
-<p>Height of the region of interest</p>
-</dd><dt id="roi-width-multiplier"><a href="#toc">roi-width-multiplier</a></dt>
-<dd><pre><code class="prop-type">"roi-width-multiplier" : guint : Read-only</code></pre>
-<p>Minimum possible step size of horizontal ROI</p>
-</dd><dt id="roi-height-multiplier"><a href="#toc">roi-height-multiplier</a></dt>
-<dd><pre><code class="prop-type">"roi-height-multiplier" : guint : Read-only</code></pre>
-<p>Minimum possible step size of vertical ROI</p>
-</dd><dt id="has-streaming"><a href="#toc">has-streaming</a></dt>
-<dd><pre><code class="prop-type">"has-streaming" : gboolean : Read-only</code></pre>
-<p>Is the camera able to stream the data</p>
-</dd><dt id="has-camram-recording"><a href="#toc">has-camram-recording</a></dt>
-<dd><pre><code class="prop-type">"has-camram-recording" : gboolean : Read-only</code></pre>
-<p>Is the camera able to record the data in-camera</p>
-</dd><dt id="transfer-asynchronously"><a href="#toc">transfer-asynchronously</a></dt>
-<dd><pre><code class="prop-type">"transfer-asynchronously" : gboolean : Read / Write</code></pre>
-<p>Specify whether data should be transfered asynchronously using a specified callback</p>
-</dd><dt id="is-recording"><a href="#toc">is-recording</a></dt>
-<dd><pre><code class="prop-type">"is-recording" : gboolean : Read-only</code></pre>
-<p>Is the camera currently recording</p>
-</dd><dt id="is-readout"><a href="#toc">is-readout</a></dt>
-<dd><pre><code class="prop-type">"is-readout" : gboolean : Read-only</code></pre>
-<p>Is camera in readout mode</p>
-</dd></dl></body></html>
diff --git a/docs/manual.md b/docs/manual.md
deleted file mode 100644
index 5755ba7..0000000
--- a/docs/manual.md
+++ /dev/null
@@ -1,643 +0,0 @@
-% libuca -- A Unified Camera Access Interface
-% Matthias Vogelgesang [matthias.vogelgesang@kit.edu]
-
-libuca is a light-weight camera abstraction library, focused on scientific
-cameras used at the ANKA synchrotron.
-
-# Quickstart
-
-## Installation
-
-Before installing `libuca` itself, you should install any drivers and SDKs
-needed to access the cameras you want to access through `libuca`. Now you have
-two options: install pre-built packages or build from source.
-
-### Installing packages
-
-Packages for the core library and all plugins are currently provided for
-openSUSE. To install them run `zypper`:
-
- sudo zypper in libuca-x.y.z-x86_64.rpm
- sudo zypper in uca-plugin-*.rpm
-
-To install development files such as headers, you have to install the
-`libuca-x.y.z-devel.rpm` package.
-
-### Building from source
-
-Building the library and installing from source is simple and straightforward.
-Make sure you have
-
-* CMake,
-* a C compiler,
-* GLib and GObject development libraries and
-* necessary camera SDKs
-
-installed.
-
-For the base system, install
-
- [Debian] sudo apt-get install libglib2.0 cmake gcc
- [openSUSE] sudo zypper in glib2-devel cmake gcc
-
-In case you want to use the graphical user interface you also need the Gtk+
-development libraries:
-
- [Debian] sudo apt-get install libgtk+2.0-dev
- [openSUSE] sudo zypper in gtk2-devel
-
-To generate bindings for third-party languages, you have to install
-
- [Debian] sudo apt-get install gobject-introspection
- [openSUSE] sudo zypper in gobject-introspection-devel
-
-
-#### Fetching the sources
-
-Untar the distribution
-
- untar xfz libuca-x.y.z.tar.gz
-
-or clone the repository
-
- git clone http://ufo.kit.edu/git/libuca
-
-and create a new, empty build directory inside:
-
- cd libuca/
- mkdir build
-
-
-#### Configuring and building
-
-Now you need to create the Makefile with CMake. Go into the build directory and
-point CMake to the `libuca` top-level directory:
-
- cd build/
- cmake ..
-
-As long as the last line reads "Build files have been written to", the
-configuration stage is successful. In this case you can build `libuca` with
-
- make
-
-and install with
-
- sudo make install
-
-If an _essential_ dependency could not be found, the configuration stage will stop
-and build files will not be written. If a _non-essential_ dependency (such as a
-certain camera SDK) is not found, the configuration stage will continue but that
-particular camera support not built.
-
-If you want to customize the build process you can pass several variables to
-CMake:
-
- cmake .. -DPREFIX=/usr -DLIBDIR=/usr/lib64
-
-The former tells CMake to install into `/usr` instead of `/usr/local` and the
-latter that we want to install the libraries and plugins into the `lib64` subdir
-instead of the default `lib` subdir as it is common on SUSE systems.
-
-#### Building this manual
-
-Make sure you have [Pandoc][] installed. With Debian/Ubuntu this can be achieved
-with
-
- sudo apt-get install pandoc
-
-Once done, go into `docs/` and type
-
- make [all|pdf|html]
-
-[Pandoc]: http://johnmacfarlane.net/pandoc/
-
-
-## First look at the API
-
-The API for accessing cameras is straightforward. First you need to include the
-necessary header files:
-
-~~~ {.c}
-#include <glib-object.h>
-#include <uca/uca-plugin-manager.h>
-#include <uca/uca-camera.h>
-~~~
-
-Then you need to setup the type system:
-
-~~~ {.c}
-int
-main (int argc, char *argv[])
-{
- UcaPluginManager *manager;
- UcaCamera *camera;
- GError *error = NULL; /* this _must_ be set to NULL */
-
- g_type_init ();
-~~~
-
-Now you can instantiate new camera _objects_. Each camera is identified by a
-human-readable string, in this case we want to access any pco camera that is
-supported by [libpco][]. To instantiate a camera we have to create a plugin
-manager first:
-
-~~~ {.c}
- manager = uca_plugin_manager_new ();
- camera = uca_plugin_manager_get_camera (manager, "pco", &error);
-~~~
-
-Errors are indicated with a returned value `NULL` and `error` set to a value
-other than `NULL`:
-
-~~~ {.c}
- if (camera == NULL) {
- g_error ("Initialization: %s", error->message);
- return 1;
- }
-~~~
-
-You should always remove the [reference][gobject-references] from the camera
-object when not using it in order to free all associated resources:
-
-~~~ {.c}
- g_object_unref (camera);
- return 0;
-}
-~~~
-
-Compile this program with
-
- cc `pkg-config --cflags --libs libuca glib-2.0` foo.c -o foo
-
-Now, run `foo` and verify that no errors occur.
-
-
-[libpco]: http://ufo.kit.edu/repos/libpco.git/
-[gobject-references]: http://developer.gnome.org/gobject/stable/gobject-memory.html#gobject-memory-refcount
-
-
-### Grabbing frames
-
-To synchronously grab frames, first start the camera:
-
-~~~ {.c}
- uca_camera_start_recording (camera, &error);
- g_assert_no_error (error);
-~~~
-
-Now, you have to allocate a suitably sized buffer and pass it to
-`uca_camera_grab`.
-
-~~~ {.c}
- gpointer buffer = g_malloc0 (640 * 480 * 2);
-
- uca_camera_grab (camera, buffer, &error);
-~~~
-
-You have to make sure that the buffer is large enough by querying the size of
-the region of interest and the number of bits that are transferred.
-
-
-### Getting and setting camera parameters
-
-Because camera parameters vary tremendously between different vendors and
-products, they are realized with so-called GObject _properties_, a mechanism
-that maps string keys to typed and access restricted values. To get a value, you
-use the `g_object_get` function and provide memory where the result is stored:
-
-~~~ {.c}
- guint roi_width;
- gdouble exposure_time;
-
- g_object_get (G_OBJECT(camera),
- "roi-width", &roi_width,
- "exposure-time", &exposure_time,
- /* The NULL marks the end! */
- NULL
- );
-
- g_print ("Width of the region of interest: %d\n", roi_width);
- g_print ("Exposure time: %3.5s\n", exposure_time);
-~~~
-
-In a similar way, properties are set with `g_object_set`:
-
-~~~ {.c}
- guint roi_width = 512;
- gdouble exposure_time = 0.001;
-
- g_object_set (G_OBJECT (camera),
- "roi-width", roi_width,
- "exposure-time", exposure_time,
- NULL);
-~~~
-
-Each property can be associated with a physical unit. To query for the unit call
-`uca_camera_get_unit` and pass a property name. The function will then return a
-value from the `UcaUnit` enum.
-
-Several essential camera parameters _must_ be implemented by all cameras. To get
-a list of them consult the API reference for [`UcaCamera`][ucacam-ref]. For
-camera specific parameters you need to consult the corresponding API reference
-for `UfoFooCamera`. The latest nightly built reference can be found
-[here][libuca-reference].
-
-[ucacam-ref]: http://ufo.kit.edu/extra/libuca/reference/UcaCamera.html#UcaCamera.properties
-[libuca-reference]: http://ufo.kit.edu/extra/libuca/reference/
-
-
-# Supported cameras
-
-The following cameras are supported:
-
-* pco.edge, pco.dimax, pco.4000 (all CameraLink) via [libpco][]. You need to
- have the SiliconSoftware frame grabber SDK with the `menable` kernel module
- installed.
-* PhotonFocus
-* Pylon
-* UFO Camera developed at KIT/IPE.
-
-## Property documentation
-
-* [mock][mock-doc]
-* [pco][pco-doc]
-* [PhotonFocus][pf-doc]
-* [Ufo Camera][ufo-doc]
-
-[mock-doc]: mock.html
-[pco-doc]: pco.html
-[pf-doc]: pf.html
-[ufo-doc]: ufo.html
-
-
-# More API
-
-In the [last section][], we had a quick glance over the basic API used to
-communicate with the camera. Now we will go into more detail.
-
-## Instantiating cameras
-
-We have already seen how to instantiate a camera object from a name. If you have
-more than one camera connected to a machine, you will most likely want the user
-decide which to use. To do so, you can enumerate all camera strings with
-`uca_plugin_manager_get_available_cameras`:
-
-~~~ {.c}
- GList *types;
-
- types = uca_camera_get_available_cameras (manager);
-
- for (GList *it = g_list_first; it != NULL; it = g_list_next (it))
- g_print ("%s\n", (gchar *) it->data);
-
- /* free the strings and the list */
- g_list_foreach (types, (GFunc) g_free, NULL);
- g_list_free (types);
-~~~
-
-[last section]: #first-look-at-the-api
-
-
-## Errors
-
-All public API functions take a location of a pointer to a `GError` structure as
-a last argument. You can pass in a `NULL` value, in which case you cannot be
-notified about exceptional behavior. On the other hand, if you pass in a
-pointer to a `GError`, it must be initialized with `NULL` so that you do not
-accidentally overwrite and miss an error occurred earlier.
-
-Read more about `GError`s in the official GLib
-[documentation][GError].
-
-[GError]: http://developer.gnome.org/glib/stable/glib-Error-Reporting.html
-
-
-## Recording
-
-Recording frames is independent of actually grabbing them and is started with
-`uca_camera_start_recording`. You should always stop the recording with
-`ufo_camera_stop_recording` when you finished. When the recording has started,
-you can grab frames synchronously as described earlier. In this mode, a block to
-`uca_camera_grab` blocks until a frame is read from the camera. Grabbing might
-block indefinitely, when the camera is not functioning correctly or it is not
-triggered automatically.
-
-
-## Triggering
-
-`libuca` supports three trigger modes through the "trigger-mode" property:
-
-1. `UCA_CAMERA_TRIGGER_AUTO`: Exposure is triggered by the camera itself.
-2. `UCA_CAMERA_TRIGGER_INTERNAL`: Exposure is triggered via software.
-3. `UCA_CAMERA_TRIGGER_EXTERNAL`: Exposure is triggered by an external hardware
- mechanism.
-
-With `UCA_CAMERA_TRIGGER_INTERNAL` you have to trigger with
-`uca_camera_trigger`:
-
-~~~ {.c}
- /* thread A */
- g_object_set (G_OBJECT (camera),
- "trigger-mode", UCA_CAMERA_TRIGGER_INTERNAL,
- NULL);
-
- uca_camera_start_recording (camera, NULL);
- uca_camera_grab (camera, &buffer, NULL);
- uca_camera_stop_recording (camera, NULL);
-
- /* thread B */
- uca_camera_trigger (camera, NULL);
-~~~
-
-
-## Grabbing frames asynchronously
-
-In some applications, it might make sense to setup asynchronous frame
-acquisition, for which you will not be blocked by a call to `libuca`:
-
-~~~ {.c}
-static void
-callback (gpointer buffer, gpointer user_data)
-{
- /*
- * Do something useful with the buffer and the string we have got.
- */
-}
-
-static void
-setup_async (UcaCamera *camera)
-{
- gchar *s = g_strdup ("lorem ipsum");
-
- g_object_set (G_OBJECT (camera),
- "transfer-asynchronously", TRUE,
- NULL);
-
- uca_camera_set_grab_func (camera, callback, s);
- uca_camera_start_recording (camera, NULL);
-
- /*
- * We will return here and `callback` will be called for each newo
- * new frame.
- */
-}
-~~~
-
-
-# Bindings
-
-Since version 1.1, libuca generates GObject introspection meta data if
-`g-ir-scanner` and `g-ir-compiler` can be found. When the XML description
-`Uca-x.y.gir` and the typelib `Uca-x.y.typelib` are installed, GI-aware
-languages can access libuca and create and modify cameras, for example in
-Python:
-
-~~~ {.python}
-from gi.repository import Uca
-
-pm = Uca.PluginManager()
-
-# List all cameras
-print(pm.get_available_cameras())
-
-# Load a camera
-cam = pm.get_camerav('pco', [])
-
-# You can read and write properties in two ways
-cam.set_properties(exposure_time=0.05)
-cam.props.roi_width = 1024
-~~~
-
-Note, that the naming of classes and properties depends on the GI implementation
-of the target language. For example with Python, the namespace prefix `uca_`
-becomes the module name `Uca` and dashes separating property names become
-underscores.
-
-Integration with Numpy is relatively straightforward. The most important thing
-is to get the data pointer from a Numpy array to pass it to `uca_camera_grab`:
-
-~~~ {.python}
-import numpy as np
-
-def create_array_from(camera):
- """Create a suitably sized Numpy array and return it together with the
- arrays data pointer"""
- bits = camera.props.sensor_bitdepth
- dtype = np.uint16 if bits > 8 else np.uint8
- a = np.zeros((cam.props.roi_height, cam.props.roi_width), dtype=dtype)
- return a, a.__array_interface__['data'][0]
-
-# Suppose 'camera' is a already available, you would get the camera data like
-# this:
-a, buf = create_array_from(camera)
-camera.start_recording()
-camera.grab(buf)
-
-# Now data is in 'a' and we can use Numpy functions on it
-print(np.mean(a))
-
-camera.stop_recording()
-~~~
-
-
-# Integrating new cameras
-
-A new camera is integrated by [sub-classing][] `UcaCamera` and implement all
-virtual methods. The simplest way is to take the `mock` camera and
-rename all occurences. Note, that if you class is going to be called `FooBar`,
-the upper case variant is `FOO_BAR` and the lower case variant is `foo_bar`.
-
-In order to fully implement a camera, you need to override at least the
-following virtual methods:
-
-* `start_recording`: Take suitable actions so that a subsequent call to
- `grab` delivers an image or blocks until one is exposed.
-* `stop_recording`: Stop recording so that subsequent calls to `grab`
- fail.
-* `grab`: Return an image from the camera or block until one is ready.
-
-## Asynchronous operation
-
-When the camera supports asynchronous acquisition and announces it with a true
-boolean value for `"transfer-asynchronously"`, a mechanism must be setup up
-during `start_recording` so that for each new frame the grab func callback is
-called.
-
-## Cameras with internal memory
-
-Cameras such as the pco.dimax record into their own on-board memory rather than
-streaming directly to the host PC. In this case, both `start_recording` and
-`stop_recording` initiate and end acquisition to the on-board memory. To
-initiate a data transfer, the host calls `start_readout` which must be suitably
-implemented. The actual data transfer happens either with `grab` or
-asynchronously.
-
-
-[sub-classing]: http://developer.gnome.org/gobject/stable/howto-gobject.html
-
-
-# Tools
-
-Several tools are available to ensure `libuca` works as expected. All of them
-are located in `build/test/` and some of them are installed with `make
-installed`.
-
-## `uca-grab` -- grabbing frames
-
-Grab with frames with
-
- $ uca-grab --num-frames=10 camera-model
-
-store them on disk as `frames.tif` if `libtiff` is installed, otherwise as
-`frame-00000.raw`, `frame-000001.raw`. The raw format is a memory dump of the
-frames, so you might want to use [ImageJ][] to view them. You can also specify
-the output filename or filename prefix with the ``-o/--output`` option:
-
- $ uca-grab -n 10 --output=foobar.tif camera-model
-
-Instead of reading exactly _n_ frames, you can also specify a duration in
-fractions of seconds:
-
- $ uca-grab --duration=0.25 camera-model
-
-[ImageJ]: http://rsbweb.nih.gov/ij/
-
-
-## `uca-camera-control` -- simple graphical user interface
-
-Shows the frames and displays them on screen. Moreover, you can change the
-camera properties in a side pane.
-
-## `uca-benchmark` -- check bandwidth
-
-Measure the memory bandwidth by taking subsequent frames and averaging the
-grabbing time:
-
- $ ./benchmark mock
- # --- General information ---
- # Sensor size: 640x480
- # ROI size: 640x480
- # Exposure time: 0.000010s
- # type n_frames n_runs frames/s MiB/s
- sync 100 3 29848.98 8744.82
- async 100 3 15739.43 4611.16
-
-
-# The GObject Tango device
-
-UcaDevice is a generic Tango Device that wraps `libuca` in order to make libuca controlled cameras available as Tango devices.
-
-## Architecture
-
-UcaDevice is derived from GObjectDevice and adds libuca specific features like start/stop recording etc.
-
-The most important feature is _acquisition control_. UcaDevice is responsible for controlling acquisition of images from libuca. The last aquired image can be accessed by reading attribute `SingleImage`.
-
-UcaDevice is most useful together with ImageDevice. If used together, UcaDevice sends each aquired image to ImageDevice, which in turn does configured post-processing like flipping, rotating or writing the image to disk.
-
-## Attributes
-
-Besides the dynamic attributes translated from libuca properties UcaDevice has the following attributes:
-
-* `NumberOfImages (Tango::DevLong)`: how many images should be acquired? A value of -1 means unlimited _(read/write)_
-* `ImageCounter (Tango::DevULong)`: current number of acquired images _(read-only)_
-* `CameraName (Tango::DevString)`: name of libuca object type _(read-only)_
-* `SingleImage (Tango::DevUChar)`: holds the last acquired image
-
-## Acquisition Control
-
-In UcaDevice acquisition control is mostly implemented by two `yat4tango::DeviceTasks`: _AcquisitionTask_ and _GrabTask_. _GrabTask_'s only responsibility is to call `grab` on `libuca` synchronously and post the data on to AcquisitionTask.
-
-_AcquisitionTask_ is responsible for starting and stopping GrabTask and for passing image data on to `ImageDevice` (if exisiting) and to `UcaDevice` for storage in attribute `SingleImage`. It counts how many images have been acquired and checks this number against the configured `NumberOfImages`. If the desired number is reached, it stops GrabTask, calls `stop_recording` on `libuca` and sets the Tango state to STANDBY.
-
-## Plugins
-
-As different cameras have different needs, plugins are used for special implementations. Plugins also makes UcaDevice and Tango Servers based on it more flexible and independent of libuca implementation.
-
-## Pco
-
-The Pco plugin implements additional checks when writing ROI values.
-
-## Pylon
-
-The Pylon plugin sets default values for `roi-width` and `roi-height` from libuca properties `roi-width-default` and `roi-height-default`.
-
-## Installation
-
-Detailed installation depends on the manifestation of UcaDevice. <br />
-All manifestations depend on the following libraries:
-
-* YAT
-* YAT4Tango
-* Tango
-* GObjectDevice
-* ImageDevice
-
-## Build
-
- export PKG_CONFIG_PATH=/usr/lib/pkgconfig
- export PYLON_ROOT=/usr/pylon
- export LD_LIBRARY_PATH=$PYLON_ROOT/lib64:$PYLON_ROOT/genicam/bin/Linux64_x64
- git clone git@iss-repo:UcaDevice.git
- cd UcaDevice
- mkdir build
- cd build
- cmake ..
- make
-
-
-## Setup in Tango Database / Jive
-
-Before `ds_UcaDevice` can be started, it has to be registered manually in the Tango database. With `Jive` the following steps are necessary:
-
-[1] Register Server <br />
-Menu _Tools_ &#8594; Server Wizard <br />
-Server name &#8594; ds_UcaDevice <br />
-Instance name &#8594; my_server _(name can be chosen freely)_ <br />
-Next <br />
-Cancel
-
-[2] Register Classes and Instances <br />
-In tab _Server_: context menu on ds_UcaDevice &#8594; my_server &#8594; Add Class <br />
-Class: UcaDevice <br />
-Devices: `iss/name1/name2` <br />
-Register server <br />
-same for class ImageDevice
-
-[3] Start server
-
- export TANGO_HOST=anka-tango:100xx
- export UCA_DEVICE_PLUGINS_DIR=/usr/lib(64)
- ds_UcaDevice pco my_server
-
-[4] Setup properties for UcaDevice <br />
-context menu on device &#8594; Device wizard <br />
-Property StorageDevice: _address of previously registered ImageDevice instance_
-
-[5] Setup properties for ImageDevice <br />
-context menu on device &#8594; Device wizard <br />
-PixelSize: how many bytes per pixel for the images of this camera? <br />
-GrabbingDevice: _address of previously registered UcaDevice instance_
-
-[6] Finish <br />
-restart ds_UcaDevice
-
-## FAQ
-
-_UcaDevice refuses to start up...?_ <br />
-Most likely there is no instance registered for class UcaDevice. Register an instance for this class and it should work.
-
-_Why does UcaDevice depend on ImageDevice?_ <br />
-UcaDevice pushes each new Frame to ImageDevice. Polling is not only less efficient but also prone to errors, e.g. missed/double frames and so on. Perhaps we could use the Tango-Event-System here!
-
-## Open Questions, Missing Features etc.
-
-_Why do we need to specify `Storage` for UcaDevice and `GrabbingDevice` for ImageDevice?_ <br />
-ImageDevice needs the Tango-Address of UcaDevice to mirror all Attributes and Commands and to forward them to it. UcaDevice needs the Tango-Address of ImageDevice to push a new frame on reception. A more convenient solution could be using conventions for the device names, e.g. of the form `$prefix/$instance_name/uca` and `$prefix/$instance_name/image`. That way we could get rid of the two Device-Properties and an easier installation without the process of registering the classes and instances in `Jive`.
-
-_Why does UcaDevice dynamically link to GObjectDevice?_ <br />
-There is no good reason for it. Packaging and installing would be easier if we linked statically to `GObjectDevice` because we would hide this dependency. Having a separate `GObjectDevice` is generally a nice feature to make `GObjects` available in Tango. However, there is currently no GObjectDevice in use other than in the context of UcaDevice.
-
-_Why must the plugin name be given as a command line parameter instead of a Device-Property?_ <br />
-There is no good reason for it. UcaDevice would be easier to use, if the plugin was configured in the Tango database as a Device-Property for the respective server instance.
diff --git a/docs/mock.html b/docs/mock.html
deleted file mode 100644
index a2db94d..0000000
--- a/docs/mock.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<html><head><link rel="stylesheet" href="style.css" type="text/css" /><link href='http://fonts.googleapis.com/css?family=Droid+Sans:400,700|Droid+Serif:400,400italic|Inconsolata' rel='stylesheet' type='text/css'><title>Basic camera &mdash; properties</title></head><body><div id="header"><h1 class="title">Property documentation of Basic camera</h1><h2>Properties</h2><ul id="toc"><li><code><a href=#name>"name"</a></code></li><li><code><a href=#sensor-width>"sensor-width"</a></code></li><li><code><a href=#sensor-height>"sensor-height"</a></code></li><li><code><a href=#sensor-bitdepth>"sensor-bitdepth"</a></code></li><li><code><a href=#sensor-horizontal-binning>"sensor-horizontal-binning"</a></code></li><li><code><a href=#sensor-horizontal-binnings>"sensor-horizontal-binnings"</a></code></li><li><code><a href=#sensor-vertical-binning>"sensor-vertical-binning"</a></code></li><li><code><a href=#sensor-vertical-binnings>"sensor-vertical-binnings"</a></code></li><li><code><a href=#sensor-max-frame-rate>"sensor-max-frame-rate"</a></code></li><li><code><a href=#trigger-mode>"trigger-mode"</a></code></li><li><code><a href=#exposure-time>"exposure-time"</a></code></li><li><code><a href=#frames-per-second>"frames-per-second"</a></code></li><li><code><a href=#roi-x0>"roi-x0"</a></code></li><li><code><a href=#roi-y0>"roi-y0"</a></code></li><li><code><a href=#roi-width>"roi-width"</a></code></li><li><code><a href=#roi-height>"roi-height"</a></code></li><li><code><a href=#roi-width-multiplier>"roi-width-multiplier"</a></code></li><li><code><a href=#roi-height-multiplier>"roi-height-multiplier"</a></code></li><li><code><a href=#has-streaming>"has-streaming"</a></code></li><li><code><a href=#has-camram-recording>"has-camram-recording"</a></code></li><li><code><a href=#recorded-frames>"recorded-frames"</a></code></li><li><code><a href=#transfer-asynchronously>"transfer-asynchronously"</a></code></li><li><code><a href=#is-recording>"is-recording"</a></code></li><li><code><a href=#is-readout>"is-readout"</a></code></li></ul><h2>Details</h2><dl><dt id="name"><a href="#toc">name</a></dt>
-<dd><pre><code class="prop-type">"name" : gchararray : Read-only</code></pre>
-<p>Name of the camera</p>
-</dd><dt id="sensor-width"><a href="#toc">sensor-width</a></dt>
-<dd><pre><code class="prop-type">"sensor-width" : guint : Read-only</code></pre>
-<p>Width of the sensor in pixels</p>
-<p>Possible values: 1 &#8804; <em>sensor-width</em> &#8804; -1</p><p>Default value: 1</p></dd><dt id="sensor-height"><a href="#toc">sensor-height</a></dt>
-<dd><pre><code class="prop-type">"sensor-height" : guint : Read-only</code></pre>
-<p>Height of the sensor in pixels</p>
-<p>Possible values: 1 &#8804; <em>sensor-height</em> &#8804; -1</p><p>Default value: 1</p></dd><dt id="sensor-bitdepth"><a href="#toc">sensor-bitdepth</a></dt>
-<dd><pre><code class="prop-type">"sensor-bitdepth" : guint : Read-only</code></pre>
-<p>Number of bits per pixel</p>
-<p>Possible values: 1 &#8804; <em>sensor-bitdepth</em> &#8804; 32</p><p>Default value: 1</p></dd><dt id="sensor-horizontal-binning"><a href="#toc">sensor-horizontal-binning</a></dt>
-<dd><pre><code class="prop-type">"sensor-horizontal-binning" : guint : Read / Write</code></pre>
-<p>Number of sensor ADCs that are combined to one pixel in horizontal direction</p>
-<p>Possible values: 1 &#8804; <em>sensor-horizontal-binning</em> &#8804; -1</p><p>Default value: 1</p></dd><dt id="sensor-horizontal-binnings"><a href="#toc">sensor-horizontal-binnings</a></dt>
-<dd><pre><code class="prop-type">"sensor-horizontal-binnings" : GValueArray : Read-only</code></pre>
-<p>Array of possible binnings in horizontal direction</p>
-</dd><dt id="sensor-vertical-binning"><a href="#toc">sensor-vertical-binning</a></dt>
-<dd><pre><code class="prop-type">"sensor-vertical-binning" : guint : Read / Write</code></pre>
-<p>Number of sensor ADCs that are combined to one pixel in vertical direction</p>
-<p>Possible values: 1 &#8804; <em>sensor-vertical-binning</em> &#8804; -1</p><p>Default value: 1</p></dd><dt id="sensor-vertical-binnings"><a href="#toc">sensor-vertical-binnings</a></dt>
-<dd><pre><code class="prop-type">"sensor-vertical-binnings" : GValueArray : Read-only</code></pre>
-<p>Array of possible binnings in vertical direction</p>
-</dd><dt id="sensor-max-frame-rate"><a href="#toc">sensor-max-frame-rate</a></dt>
-<dd><pre><code class="prop-type">"sensor-max-frame-rate" : gfloat : Read-only</code></pre>
-<p>Maximum frame rate at full frame resolution</p>
-<p>Possible values: 0.0e+00 &#8804; <em>sensor-max-frame-rate</em> &#8804; 3.4e+38</p><p>Default value: 1.0e+00</p></dd><dt id="trigger-mode"><a href="#toc">trigger-mode</a></dt>
-<dd><pre><code class="prop-type">"trigger-mode" : UcaCameraTrigger : Read / Write</code></pre>
-<p>Trigger mode</p>
-<p>Possible values: <table><tr><th>Enum name</th><th>Value</th><tr><td><code>UCA_CAMERA_TRIGGER_AUTO</code></td><td>0</td></tr><tr><td><code>UCA_CAMERA_TRIGGER_SOFTWARE</code></td><td>1</td></tr><tr><td><code>UCA_CAMERA_TRIGGER_EXTERNAL</code></td><td>2</td></tr></table></p></dd><dt id="exposure-time"><a href="#toc">exposure-time</a></dt>
-<dd><pre><code class="prop-type">"exposure-time" : gdouble : Read / Write</code></pre>
-<p>Exposure time in seconds</p>
-<p>Possible values: 0.0e+00 &#8804; <em>exposure-time</em> &#8804; 1.8e+308</p><p>Default value: 1.0e+00</p></dd><dt id="frames-per-second"><a href="#toc">frames-per-second</a></dt>
-<dd><pre><code class="prop-type">"frames-per-second" : gdouble : Read / Write</code></pre>
-<p>Frames per second</p>
-<p>Possible values: 0.0e+00 &#8804; <em>frames-per-second</em> &#8804; 1.8e+308</p><p>Default value: 1.0e+00</p></dd><dt id="roi-x0"><a href="#toc">roi-x0</a></dt>
-<dd><pre><code class="prop-type">"roi-x0" : guint : Read / Write</code></pre>
-<p>Horizontal coordinate</p>
-<p>Possible values: 0 &#8804; <em>roi-x0</em> &#8804; -1</p><p>Default value: 0</p></dd><dt id="roi-y0"><a href="#toc">roi-y0</a></dt>
-<dd><pre><code class="prop-type">"roi-y0" : guint : Read / Write</code></pre>
-<p>Vertical coordinate</p>
-<p>Possible values: 0 &#8804; <em>roi-y0</em> &#8804; -1</p><p>Default value: 0</p></dd><dt id="roi-width"><a href="#toc">roi-width</a></dt>
-<dd><pre><code class="prop-type">"roi-width" : guint : Read / Write</code></pre>
-<p>Width of the region of interest</p>
-<p>Possible values: 1 &#8804; <em>roi-width</em> &#8804; -1</p><p>Default value: 1</p></dd><dt id="roi-height"><a href="#toc">roi-height</a></dt>
-<dd><pre><code class="prop-type">"roi-height" : guint : Read / Write</code></pre>
-<p>Height of the region of interest</p>
-<p>Possible values: 1 &#8804; <em>roi-height</em> &#8804; -1</p><p>Default value: 1</p></dd><dt id="roi-width-multiplier"><a href="#toc">roi-width-multiplier</a></dt>
-<dd><pre><code class="prop-type">"roi-width-multiplier" : guint : Read-only</code></pre>
-<p>Minimum possible step size of horizontal ROI</p>
-<p>Possible values: 1 &#8804; <em>roi-width-multiplier</em> &#8804; -1</p><p>Default value: 1</p></dd><dt id="roi-height-multiplier"><a href="#toc">roi-height-multiplier</a></dt>
-<dd><pre><code class="prop-type">"roi-height-multiplier" : guint : Read-only</code></pre>
-<p>Minimum possible step size of vertical ROI</p>
-<p>Possible values: 1 &#8804; <em>roi-height-multiplier</em> &#8804; -1</p><p>Default value: 1</p></dd><dt id="has-streaming"><a href="#toc">has-streaming</a></dt>
-<dd><pre><code class="prop-type">"has-streaming" : gboolean : Read-only</code></pre>
-<p>Is the camera able to stream the data</p>
-<p>Default value: <code>TRUE</code></p></dd><dt id="has-camram-recording"><a href="#toc">has-camram-recording</a></dt>
-<dd><pre><code class="prop-type">"has-camram-recording" : gboolean : Read-only</code></pre>
-<p>Is the camera able to record the data in-camera</p>
-<p>Default value: <code>FALSE</code></p></dd><dt id="recorded-frames"><a href="#toc">recorded-frames</a></dt>
-<dd><pre><code class="prop-type">"recorded-frames" : guint : Read-only</code></pre>
-<p>Number of frames recorded into internal camera memory</p>
-<p>Possible values: 0 &#8804; <em>recorded-frames</em> &#8804; -1</p><p>Default value: 0</p></dd><dt id="transfer-asynchronously"><a href="#toc">transfer-asynchronously</a></dt>
-<dd><pre><code class="prop-type">"transfer-asynchronously" : gboolean : Read / Write</code></pre>
-<p>Specify whether data should be transfered asynchronously using a specified callback</p>
-<p>Default value: <code>FALSE</code></p></dd><dt id="is-recording"><a href="#toc">is-recording</a></dt>
-<dd><pre><code class="prop-type">"is-recording" : gboolean : Read-only</code></pre>
-<p>Is the camera currently recording</p>
-<p>Default value: <code>FALSE</code></p></dd><dt id="is-readout"><a href="#toc">is-readout</a></dt>
-<dd><pre><code class="prop-type">"is-readout" : gboolean : Read-only</code></pre>
-<p>Is camera in readout mode</p>
-<p>Default value: <code>FALSE</code></p></dd></dl></body></html>
diff --git a/docs/pco.html b/docs/pco.html
deleted file mode 100644
index 3f764e1..0000000
--- a/docs/pco.html
+++ /dev/null
@@ -1,130 +0,0 @@
-<html><head><link rel="stylesheet" href="style.css" type="text/css" /><link href='http://fonts.googleapis.com/css?family=Droid+Sans:400,700|Droid+Serif:400,400italic|Inconsolata' rel='stylesheet' type='text/css'><title>pco &mdash; properties</title></head><body><div id="header"><h1 class="title">Property documentation of pco</h1><h2>Properties</h2><ul id="toc"><li><code><a href=#name>"name"</a></code></li><li><code><a href=#sensor-width>"sensor-width"</a></code></li><li><code><a href=#sensor-height>"sensor-height"</a></code></li><li><code><a href=#sensor-bitdepth>"sensor-bitdepth"</a></code></li><li><code><a href=#sensor-horizontal-binning>"sensor-horizontal-binning"</a></code></li><li><code><a href=#sensor-horizontal-binnings>"sensor-horizontal-binnings"</a></code></li><li><code><a href=#sensor-vertical-binning>"sensor-vertical-binning"</a></code></li><li><code><a href=#sensor-vertical-binnings>"sensor-vertical-binnings"</a></code></li><li><code><a href=#sensor-max-frame-rate>"sensor-max-frame-rate"</a></code></li><li><code><a href=#trigger-mode>"trigger-mode"</a></code></li><li><code><a href=#exposure-time>"exposure-time"</a></code></li><li><code><a href=#frames-per-second>"frames-per-second"</a></code></li><li><code><a href=#roi-x0>"roi-x0"</a></code></li><li><code><a href=#roi-y0>"roi-y0"</a></code></li><li><code><a href=#roi-width>"roi-width"</a></code></li><li><code><a href=#roi-height>"roi-height"</a></code></li><li><code><a href=#roi-width-multiplier>"roi-width-multiplier"</a></code></li><li><code><a href=#roi-height-multiplier>"roi-height-multiplier"</a></code></li><li><code><a href=#has-streaming>"has-streaming"</a></code></li><li><code><a href=#has-camram-recording>"has-camram-recording"</a></code></li><li><code><a href=#transfer-asynchronously>"transfer-asynchronously"</a></code></li><li><code><a href=#is-recording>"is-recording"</a></code></li><li><code><a href=#is-readout>"is-readout"</a></code></li><li><code><a href=#sensor-extended>"sensor-extended"</a></code></li><li><code><a href=#sensor-width-extended>"sensor-width-extended"</a></code></li><li><code><a href=#sensor-height-extended>"sensor-height-extended"</a></code></li><li><code><a href=#sensor-temperature>"sensor-temperature"</a></code></li><li><code><a href=#sensor-pixelrates>"sensor-pixelrates"</a></code></li><li><code><a href=#sensor-pixelrate>"sensor-pixelrate"</a></code></li><li><code><a href=#sensor-adcs>"sensor-adcs"</a></code></li><li><code><a href=#sensor-max-adcs>"sensor-max-adcs"</a></code></li><li><code><a href=#delay-time>"delay-time"</a></code></li><li><code><a href=#has-double-image-mode>"has-double-image-mode"</a></code></li><li><code><a href=#double-image-mode>"double-image-mode"</a></code></li><li><code><a href=#offset-mode>"offset-mode"</a></code></li><li><code><a href=#record-mode>"record-mode"</a></code></li><li><code><a href=#acquire-mode>"acquire-mode"</a></code></li><li><code><a href=#cooling-point>"cooling-point"</a></code></li><li><code><a href=#cooling-point-min>"cooling-point-min"</a></code></li><li><code><a href=#cooling-point-max>"cooling-point-max"</a></code></li><li><code><a href=#cooling-point-default>"cooling-point-default"</a></code></li><li><code><a href=#noise-filter>"noise-filter"</a></code></li><li><code><a href=#timestamp-mode>"timestamp-mode"</a></code></li></ul><h2>Details</h2><dl><dt id="name"><a href="#toc">name</a></dt>
-<dd><pre><code class="prop-type">"name" : gchararray : Read-only</code></pre>
-<p>Name of the camera</p>
-</dd><dt id="sensor-width"><a href="#toc">sensor-width</a></dt>
-<dd><pre><code class="prop-type">"sensor-width" : guint : Read-only</code></pre>
-<p>Width of the sensor in pixels</p>
-</dd><dt id="sensor-height"><a href="#toc">sensor-height</a></dt>
-<dd><pre><code class="prop-type">"sensor-height" : guint : Read-only</code></pre>
-<p>Height of the sensor in pixels</p>
-</dd><dt id="sensor-bitdepth"><a href="#toc">sensor-bitdepth</a></dt>
-<dd><pre><code class="prop-type">"sensor-bitdepth" : guint : Read-only</code></pre>
-<p>Number of bits per pixel</p>
-</dd><dt id="sensor-horizontal-binning"><a href="#toc">sensor-horizontal-binning</a></dt>
-<dd><pre><code class="prop-type">"sensor-horizontal-binning" : guint : Read / Write</code></pre>
-<p>Number of sensor ADCs that are combined to one pixel in horizontal direction</p>
-</dd><dt id="sensor-horizontal-binnings"><a href="#toc">sensor-horizontal-binnings</a></dt>
-<dd><pre><code class="prop-type">"sensor-horizontal-binnings" : GValueArray : Read-only</code></pre>
-<p>Array of possible binnings in horizontal direction</p>
-</dd><dt id="sensor-vertical-binning"><a href="#toc">sensor-vertical-binning</a></dt>
-<dd><pre><code class="prop-type">"sensor-vertical-binning" : guint : Read / Write</code></pre>
-<p>Number of sensor ADCs that are combined to one pixel in vertical direction</p>
-</dd><dt id="sensor-vertical-binnings"><a href="#toc">sensor-vertical-binnings</a></dt>
-<dd><pre><code class="prop-type">"sensor-vertical-binnings" : GValueArray : Read-only</code></pre>
-<p>Array of possible binnings in vertical direction</p>
-</dd><dt id="sensor-max-frame-rate"><a href="#toc">sensor-max-frame-rate</a></dt>
-<dd><pre><code class="prop-type">"sensor-max-frame-rate" : gfloat : Read-only</code></pre>
-<p>Maximum frame rate at full frame resolution</p>
-</dd><dt id="trigger-mode"><a href="#toc">trigger-mode</a></dt>
-<dd><pre><code class="prop-type">"trigger-mode" : UcaCameraTrigger : Read / Write</code></pre>
-<p>Trigger mode</p>
-</dd><dt id="exposure-time"><a href="#toc">exposure-time</a></dt>
-<dd><pre><code class="prop-type">"exposure-time" : gdouble : Read / Write</code></pre>
-<p>Exposure time in seconds</p>
-</dd><dt id="frames-per-second"><a href="#toc">frames-per-second</a></dt>
-<dd><pre><code class="prop-type">"frames-per-second" : gdouble : Read / Write</code></pre>
-<p>Frames per second</p>
-</dd><dt id="roi-x0"><a href="#toc">roi-x0</a></dt>
-<dd><pre><code class="prop-type">"roi-x0" : guint : Read / Write</code></pre>
-<p>Horizontal coordinate</p>
-</dd><dt id="roi-y0"><a href="#toc">roi-y0</a></dt>
-<dd><pre><code class="prop-type">"roi-y0" : guint : Read / Write</code></pre>
-<p>Vertical coordinate</p>
-</dd><dt id="roi-width"><a href="#toc">roi-width</a></dt>
-<dd><pre><code class="prop-type">"roi-width" : guint : Read / Write</code></pre>
-<p>Width of the region of interest</p>
-</dd><dt id="roi-height"><a href="#toc">roi-height</a></dt>
-<dd><pre><code class="prop-type">"roi-height" : guint : Read / Write</code></pre>
-<p>Height of the region of interest</p>
-</dd><dt id="roi-width-multiplier"><a href="#toc">roi-width-multiplier</a></dt>
-<dd><pre><code class="prop-type">"roi-width-multiplier" : guint : Read-only</code></pre>
-<p>Minimum possible step size of horizontal ROI</p>
-</dd><dt id="roi-height-multiplier"><a href="#toc">roi-height-multiplier</a></dt>
-<dd><pre><code class="prop-type">"roi-height-multiplier" : guint : Read-only</code></pre>
-<p>Minimum possible step size of vertical ROI</p>
-</dd><dt id="has-streaming"><a href="#toc">has-streaming</a></dt>
-<dd><pre><code class="prop-type">"has-streaming" : gboolean : Read-only</code></pre>
-<p>Is the camera able to stream the data</p>
-</dd><dt id="has-camram-recording"><a href="#toc">has-camram-recording</a></dt>
-<dd><pre><code class="prop-type">"has-camram-recording" : gboolean : Read-only</code></pre>
-<p>Is the camera able to record the data in-camera</p>
-</dd><dt id="transfer-asynchronously"><a href="#toc">transfer-asynchronously</a></dt>
-<dd><pre><code class="prop-type">"transfer-asynchronously" : gboolean : Read / Write</code></pre>
-<p>Specify whether data should be transfered asynchronously using a specified callback</p>
-</dd><dt id="is-recording"><a href="#toc">is-recording</a></dt>
-<dd><pre><code class="prop-type">"is-recording" : gboolean : Read-only</code></pre>
-<p>Is the camera currently recording</p>
-</dd><dt id="is-readout"><a href="#toc">is-readout</a></dt>
-<dd><pre><code class="prop-type">"is-readout" : gboolean : Read-only</code></pre>
-<p>Is camera in readout mode</p>
-</dd><dt id="sensor-extended"><a href="#toc">sensor-extended</a></dt>
-<dd><pre><code class="prop-type">"sensor-extended" : gboolean : Read / Write</code></pre>
-<p>Use extended sensor format</p>
-</dd><dt id="sensor-width-extended"><a href="#toc">sensor-width-extended</a></dt>
-<dd><pre><code class="prop-type">"sensor-width-extended" : guint : Read-only</code></pre>
-<p>Width of the extended sensor in pixels</p>
-</dd><dt id="sensor-height-extended"><a href="#toc">sensor-height-extended</a></dt>
-<dd><pre><code class="prop-type">"sensor-height-extended" : guint : Read-only</code></pre>
-<p>Height of the extended sensor in pixels</p>
-</dd><dt id="sensor-temperature"><a href="#toc">sensor-temperature</a></dt>
-<dd><pre><code class="prop-type">"sensor-temperature" : gdouble : Read-only</code></pre>
-<p>Temperature of the sensor in degree Celsius</p>
-</dd><dt id="sensor-pixelrates"><a href="#toc">sensor-pixelrates</a></dt>
-<dd><pre><code class="prop-type">"sensor-pixelrates" : GValueArray : Read-only</code></pre>
-<p>Array of possible sensor pixel rates</p>
-</dd><dt id="sensor-pixelrate"><a href="#toc">sensor-pixelrate</a></dt>
-<dd><pre><code class="prop-type">"sensor-pixelrate" : guint : Read / Write</code></pre>
-<p>Pixel rate</p>
-</dd><dt id="sensor-adcs"><a href="#toc">sensor-adcs</a></dt>
-<dd><pre><code class="prop-type">"sensor-adcs" : guint : Read / Write</code></pre>
-<p>Number of ADCs to use</p>
-</dd><dt id="sensor-max-adcs"><a href="#toc">sensor-max-adcs</a></dt>
-<dd><pre><code class="prop-type">"sensor-max-adcs" : guint : Read-only</code></pre>
-<p>Maximum number of ADCs that can be set with "sensor-adcs"</p>
-</dd><dt id="delay-time"><a href="#toc">delay-time</a></dt>
-<dd><pre><code class="prop-type">"delay-time" : gdouble : Read / Write</code></pre>
-<p>Delay before starting actual exposure</p>
-</dd><dt id="has-double-image-mode"><a href="#toc">has-double-image-mode</a></dt>
-<dd><pre><code class="prop-type">"has-double-image-mode" : gboolean : Read-only</code></pre>
-<p>Is double image mode supported by this model</p>
-</dd><dt id="double-image-mode"><a href="#toc">double-image-mode</a></dt>
-<dd><pre><code class="prop-type">"double-image-mode" : gboolean : Read / Write</code></pre>
-<p>Use double image mode</p>
-</dd><dt id="offset-mode"><a href="#toc">offset-mode</a></dt>
-<dd><pre><code class="prop-type">"offset-mode" : gboolean : Read / Write</code></pre>
-<p>Use offset mode</p>
-</dd><dt id="record-mode"><a href="#toc">record-mode</a></dt>
-<dd><pre><code class="prop-type">"record-mode" : UcaPcoCameraRecordMode : Read / Write</code></pre>
-<p>Record mode</p>
-</dd><dt id="acquire-mode"><a href="#toc">acquire-mode</a></dt>
-<dd><pre><code class="prop-type">"acquire-mode" : UcaPcoCameraAcquireMode : Read / Write</code></pre>
-<p>Acquire mode</p>
-</dd><dt id="cooling-point"><a href="#toc">cooling-point</a></dt>
-<dd><pre><code class="prop-type">"cooling-point" : gint : Read / Write</code></pre>
-<p>Cooling point of the camera in degree celsius</p>
-</dd><dt id="cooling-point-min"><a href="#toc">cooling-point-min</a></dt>
-<dd><pre><code class="prop-type">"cooling-point-min" : gint : Read-only</code></pre>
-<p>Minimum cooling point in degree celsius</p>
-</dd><dt id="cooling-point-max"><a href="#toc">cooling-point-max</a></dt>
-<dd><pre><code class="prop-type">"cooling-point-max" : gint : Read-only</code></pre>
-<p>Maximum cooling point in degree celsius</p>
-</dd><dt id="cooling-point-default"><a href="#toc">cooling-point-default</a></dt>
-<dd><pre><code class="prop-type">"cooling-point-default" : gint : Read-only</code></pre>
-<p>Default cooling point in degree celsius</p>
-</dd><dt id="noise-filter"><a href="#toc">noise-filter</a></dt>
-<dd><pre><code class="prop-type">"noise-filter" : gboolean : Read / Write</code></pre>
-<p>Noise filter</p>
-</dd><dt id="timestamp-mode"><a href="#toc">timestamp-mode</a></dt>
-<dd><pre><code class="prop-type">"timestamp-mode" : UcaPcoCameraTimestamp : Read / Write</code></pre>
-<p>Timestamp mode</p>
-</dd></dl></body></html>
diff --git a/docs/pf.html b/docs/pf.html
deleted file mode 100644
index 8471c3f..0000000
--- a/docs/pf.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<html><head><link rel="stylesheet" href="style.css" type="text/css" /><link href='http://fonts.googleapis.com/css?family=Droid+Sans:400,700|Droid+Serif:400,400italic|Inconsolata' rel='stylesheet' type='text/css'><title>pf &mdash; properties</title></head><body><div id="header"><h1 class="title">Property documentation of pf</h1><h2>Properties</h2><ul id="toc"><li><code><a href=#name>"name"</a></code></li><li><code><a href=#sensor-width>"sensor-width"</a></code></li><li><code><a href=#sensor-height>"sensor-height"</a></code></li><li><code><a href=#sensor-bitdepth>"sensor-bitdepth"</a></code></li><li><code><a href=#sensor-horizontal-binning>"sensor-horizontal-binning"</a></code></li><li><code><a href=#sensor-horizontal-binnings>"sensor-horizontal-binnings"</a></code></li><li><code><a href=#sensor-vertical-binning>"sensor-vertical-binning"</a></code></li><li><code><a href=#sensor-vertical-binnings>"sensor-vertical-binnings"</a></code></li><li><code><a href=#sensor-max-frame-rate>"sensor-max-frame-rate"</a></code></li><li><code><a href=#trigger-mode>"trigger-mode"</a></code></li><li><code><a href=#exposure-time>"exposure-time"</a></code></li><li><code><a href=#frames-per-second>"frames-per-second"</a></code></li><li><code><a href=#roi-x0>"roi-x0"</a></code></li><li><code><a href=#roi-y0>"roi-y0"</a></code></li><li><code><a href=#roi-width>"roi-width"</a></code></li><li><code><a href=#roi-height>"roi-height"</a></code></li><li><code><a href=#roi-width-multiplier>"roi-width-multiplier"</a></code></li><li><code><a href=#roi-height-multiplier>"roi-height-multiplier"</a></code></li><li><code><a href=#has-streaming>"has-streaming"</a></code></li><li><code><a href=#has-camram-recording>"has-camram-recording"</a></code></li><li><code><a href=#recorded-frames>"recorded-frames"</a></code></li><li><code><a href=#transfer-asynchronously>"transfer-asynchronously"</a></code></li><li><code><a href=#is-recording>"is-recording"</a></code></li><li><code><a href=#is-readout>"is-readout"</a></code></li></ul><h2>Details</h2><dl><dt id="name"><a href="#toc">name</a></dt>
-<dd><pre><code class="prop-type">"name" : gchararray : Read-only</code></pre>
-<p>Name of the camera</p>
-</dd><dt id="sensor-width"><a href="#toc">sensor-width</a></dt>
-<dd><pre><code class="prop-type">"sensor-width" : guint : Read-only</code></pre>
-<p>Width of the sensor in pixels</p>
-</dd><dt id="sensor-height"><a href="#toc">sensor-height</a></dt>
-<dd><pre><code class="prop-type">"sensor-height" : guint : Read-only</code></pre>
-<p>Height of the sensor in pixels</p>
-</dd><dt id="sensor-bitdepth"><a href="#toc">sensor-bitdepth</a></dt>
-<dd><pre><code class="prop-type">"sensor-bitdepth" : guint : Read-only</code></pre>
-<p>Number of bits per pixel</p>
-</dd><dt id="sensor-horizontal-binning"><a href="#toc">sensor-horizontal-binning</a></dt>
-<dd><pre><code class="prop-type">"sensor-horizontal-binning" : guint : Read / Write</code></pre>
-<p>Number of sensor ADCs that are combined to one pixel in horizontal direction</p>
-</dd><dt id="sensor-horizontal-binnings"><a href="#toc">sensor-horizontal-binnings</a></dt>
-<dd><pre><code class="prop-type">"sensor-horizontal-binnings" : GValueArray : Read-only</code></pre>
-<p>Array of possible binnings in horizontal direction</p>
-</dd><dt id="sensor-vertical-binning"><a href="#toc">sensor-vertical-binning</a></dt>
-<dd><pre><code class="prop-type">"sensor-vertical-binning" : guint : Read / Write</code></pre>
-<p>Number of sensor ADCs that are combined to one pixel in vertical direction</p>
-</dd><dt id="sensor-vertical-binnings"><a href="#toc">sensor-vertical-binnings</a></dt>
-<dd><pre><code class="prop-type">"sensor-vertical-binnings" : GValueArray : Read-only</code></pre>
-<p>Array of possible binnings in vertical direction</p>
-</dd><dt id="sensor-max-frame-rate"><a href="#toc">sensor-max-frame-rate</a></dt>
-<dd><pre><code class="prop-type">"sensor-max-frame-rate" : gfloat : Read-only</code></pre>
-<p>Maximum frame rate at full frame resolution</p>
-</dd><dt id="trigger-mode"><a href="#toc">trigger-mode</a></dt>
-<dd><pre><code class="prop-type">"trigger-mode" : UcaCameraTrigger : Read / Write</code></pre>
-<p>Trigger mode</p>
-</dd><dt id="exposure-time"><a href="#toc">exposure-time</a></dt>
-<dd><pre><code class="prop-type">"exposure-time" : gdouble : Read / Write</code></pre>
-<p>Exposure time in seconds</p>
-</dd><dt id="frames-per-second"><a href="#toc">frames-per-second</a></dt>
-<dd><pre><code class="prop-type">"frames-per-second" : gdouble : Read / Write</code></pre>
-<p>Frames per second</p>
-</dd><dt id="roi-x0"><a href="#toc">roi-x0</a></dt>
-<dd><pre><code class="prop-type">"roi-x0" : guint : Read / Write</code></pre>
-<p>Horizontal coordinate</p>
-</dd><dt id="roi-y0"><a href="#toc">roi-y0</a></dt>
-<dd><pre><code class="prop-type">"roi-y0" : guint : Read / Write</code></pre>
-<p>Vertical coordinate</p>
-</dd><dt id="roi-width"><a href="#toc">roi-width</a></dt>
-<dd><pre><code class="prop-type">"roi-width" : guint : Read / Write</code></pre>
-<p>Width of the region of interest</p>
-</dd><dt id="roi-height"><a href="#toc">roi-height</a></dt>
-<dd><pre><code class="prop-type">"roi-height" : guint : Read / Write</code></pre>
-<p>Height of the region of interest</p>
-</dd><dt id="roi-width-multiplier"><a href="#toc">roi-width-multiplier</a></dt>
-<dd><pre><code class="prop-type">"roi-width-multiplier" : guint : Read-only</code></pre>
-<p>Minimum possible step size of horizontal ROI</p>
-</dd><dt id="roi-height-multiplier"><a href="#toc">roi-height-multiplier</a></dt>
-<dd><pre><code class="prop-type">"roi-height-multiplier" : guint : Read-only</code></pre>
-<p>Minimum possible step size of vertical ROI</p>
-</dd><dt id="has-streaming"><a href="#toc">has-streaming</a></dt>
-<dd><pre><code class="prop-type">"has-streaming" : gboolean : Read-only</code></pre>
-<p>Is the camera able to stream the data</p>
-</dd><dt id="has-camram-recording"><a href="#toc">has-camram-recording</a></dt>
-<dd><pre><code class="prop-type">"has-camram-recording" : gboolean : Read-only</code></pre>
-<p>Is the camera able to record the data in-camera</p>
-</dd><dt id="recorded-frames"><a href="#toc">recorded-frames</a></dt>
-<dd><pre><code class="prop-type">"recorded-frames" : guint : Read-only</code></pre>
-<p>Number of frames recorded into internal camera memory</p>
-</dd><dt id="transfer-asynchronously"><a href="#toc">transfer-asynchronously</a></dt>
-<dd><pre><code class="prop-type">"transfer-asynchronously" : gboolean : Read / Write</code></pre>
-<p>Specify whether data should be transfered asynchronously using a specified callback</p>
-</dd><dt id="is-recording"><a href="#toc">is-recording</a></dt>
-<dd><pre><code class="prop-type">"is-recording" : gboolean : Read-only</code></pre>
-<p>Is the camera currently recording</p>
-</dd><dt id="is-readout"><a href="#toc">is-readout</a></dt>
-<dd><pre><code class="prop-type">"is-readout" : gboolean : Read-only</code></pre>
-<p>Is camera in readout mode</p>
-</dd></dl></body></html>
diff --git a/docs/ufo.html b/docs/ufo.html
deleted file mode 100644
index f0bad02..0000000
--- a/docs/ufo.html
+++ /dev/null
@@ -1,346 +0,0 @@
-<html><head><link rel="stylesheet" href="style.css" type="text/css" /><link href='http://fonts.googleapis.com/css?family=Droid+Sans:400,700|Droid+Serif:400,400italic|Inconsolata' rel='stylesheet' type='text/css'><title>ufo &mdash; properties</title></head><body><div id="header"><h1 class="title">Property documentation of ufo</h1><h2>Properties</h2><ul id="toc"><li><code><a href=#name>"name"</a></code></li><li><code><a href=#sensor-width>"sensor-width"</a></code></li><li><code><a href=#sensor-height>"sensor-height"</a></code></li><li><code><a href=#sensor-bitdepth>"sensor-bitdepth"</a></code></li><li><code><a href=#sensor-horizontal-binning>"sensor-horizontal-binning"</a></code></li><li><code><a href=#sensor-horizontal-binnings>"sensor-horizontal-binnings"</a></code></li><li><code><a href=#sensor-vertical-binning>"sensor-vertical-binning"</a></code></li><li><code><a href=#sensor-vertical-binnings>"sensor-vertical-binnings"</a></code></li><li><code><a href=#sensor-max-frame-rate>"sensor-max-frame-rate"</a></code></li><li><code><a href=#trigger-mode>"trigger-mode"</a></code></li><li><code><a href=#exposure-time>"exposure-time"</a></code></li><li><code><a href=#frames-per-second>"frames-per-second"</a></code></li><li><code><a href=#roi-x0>"roi-x0"</a></code></li><li><code><a href=#roi-y0>"roi-y0"</a></code></li><li><code><a href=#roi-width>"roi-width"</a></code></li><li><code><a href=#roi-height>"roi-height"</a></code></li><li><code><a href=#roi-width-multiplier>"roi-width-multiplier"</a></code></li><li><code><a href=#roi-height-multiplier>"roi-height-multiplier"</a></code></li><li><code><a href=#has-streaming>"has-streaming"</a></code></li><li><code><a href=#has-camram-recording>"has-camram-recording"</a></code></li><li><code><a href=#recorded-frames>"recorded-frames"</a></code></li><li><code><a href=#transfer-asynchronously>"transfer-asynchronously"</a></code></li><li><code><a href=#is-recording>"is-recording"</a></code></li><li><code><a href=#is-readout>"is-readout"</a></code></li><li><code><a href=#sensor-temperature>"sensor-temperature"</a></code></li><li><code><a href=#fpga-temperature>"fpga-temperature"</a></code></li><li><code><a href=#ufo-cmosis-number-lines>"ufo-cmosis-number-lines"</a></code></li><li><code><a href=#ufo-cmosis-start1>"ufo-cmosis-start1"</a></code></li><li><code><a href=#ufo-cmosis-start2>"ufo-cmosis-start2"</a></code></li><li><code><a href=#ufo-cmosis-start3>"ufo-cmosis-start3"</a></code></li><li><code><a href=#ufo-cmosis-start4>"ufo-cmosis-start4"</a></code></li><li><code><a href=#ufo-cmosis-start5>"ufo-cmosis-start5"</a></code></li><li><code><a href=#ufo-cmosis-start6>"ufo-cmosis-start6"</a></code></li><li><code><a href=#ufo-cmosis-start7>"ufo-cmosis-start7"</a></code></li><li><code><a href=#ufo-cmosis-start8>"ufo-cmosis-start8"</a></code></li><li><code><a href=#ufo-cmosis-number-lines1>"ufo-cmosis-number-lines1"</a></code></li><li><code><a href=#ufo-cmosis-number-lines2>"ufo-cmosis-number-lines2"</a></code></li><li><code><a href=#ufo-cmosis-number-lines3>"ufo-cmosis-number-lines3"</a></code></li><li><code><a href=#ufo-cmosis-number-lines4>"ufo-cmosis-number-lines4"</a></code></li><li><code><a href=#ufo-cmosis-number-lines5>"ufo-cmosis-number-lines5"</a></code></li><li><code><a href=#ufo-cmosis-number-lines6>"ufo-cmosis-number-lines6"</a></code></li><li><code><a href=#ufo-cmosis-number-lines7>"ufo-cmosis-number-lines7"</a></code></li><li><code><a href=#ufo-cmosis-number-lines8>"ufo-cmosis-number-lines8"</a></code></li><li><code><a href=#ufo-cmosis-sub-s>"ufo-cmosis-sub-s"</a></code></li><li><code><a href=#ufo-cmosis-sub-a>"ufo-cmosis-sub-a"</a></code></li><li><code><a href=#ufo-cmosis-color>"ufo-cmosis-color"</a></code></li><li><code><a href=#ufo-cmosis-image-flipping>"ufo-cmosis-image-flipping"</a></code></li><li><code><a href=#ufo-cmosis-exp-flags>"ufo-cmosis-exp-flags"</a></code></li><li><code><a href=#ufo-cmosis-exp-time>"ufo-cmosis-exp-time"</a></code></li><li><code><a href=#ufo-cmosis-exp-step>"ufo-cmosis-exp-step"</a></code></li><li><code><a href=#ufo-cmosis-exp-kp1>"ufo-cmosis-exp-kp1"</a></code></li><li><code><a href=#ufo-cmosis-exp-kp2>"ufo-cmosis-exp-kp2"</a></code></li><li><code><a href=#ufo-cmosis-nr-slopes>"ufo-cmosis-nr-slopes"</a></code></li><li><code><a href=#ufo-cmosis-exp-seq>"ufo-cmosis-exp-seq"</a></code></li><li><code><a href=#ufo-cmosis-exp-time2>"ufo-cmosis-exp-time2"</a></code></li><li><code><a href=#ufo-cmosis-exp-step2>"ufo-cmosis-exp-step2"</a></code></li><li><code><a href=#ufo-cmosis-nr-slopes2>"ufo-cmosis-nr-slopes2"</a></code></li><li><code><a href=#ufo-cmosis-exp-seq2>"ufo-cmosis-exp-seq2"</a></code></li><li><code><a href=#ufo-cmosis-number-frames>"ufo-cmosis-number-frames"</a></code></li><li><code><a href=#ufo-cmosis-output-mode>"ufo-cmosis-output-mode"</a></code></li><li><code><a href=#ufo-cmosis-training-pattern>"ufo-cmosis-training-pattern"</a></code></li><li><code><a href=#ufo-cmosis-channel-en>"ufo-cmosis-channel-en"</a></code></li><li><code><a href=#ufo-cmosis-special-82>"ufo-cmosis-special-82"</a></code></li><li><code><a href=#ufo-cmosis-vlow2>"ufo-cmosis-vlow2"</a></code></li><li><code><a href=#ufo-cmosis-vlow3>"ufo-cmosis-vlow3"</a></code></li><li><code><a href=#ufo-cmosis-offset>"ufo-cmosis-offset"</a></code></li><li><code><a href=#ufo-cmosis-pga>"ufo-cmosis-pga"</a></code></li><li><code><a href=#ufo-cmosis-adc-gain>"ufo-cmosis-adc-gain"</a></code></li><li><code><a href=#ufo-cmosis-bit-mode>"ufo-cmosis-bit-mode"</a></code></li><li><code><a href=#ufo-cmosis-adc-resolution>"ufo-cmosis-adc-resolution"</a></code></li><li><code><a href=#ufo-cmosis-special-115>"ufo-cmosis-special-115"</a></code></li><li><code><a href=#ufo-spi-conf-input>"ufo-spi-conf-input"</a></code></li><li><code><a href=#ufo-spi-conf-output>"ufo-spi-conf-output"</a></code></li><li><code><a href=#ufo-spi-clk-speed>"ufo-spi-clk-speed"</a></code></li><li><code><a href=#ufo-firmware-info>"ufo-firmware-info"</a></code></li><li><code><a href=#ufo-firmware-version>"ufo-firmware-version"</a></code></li><li><code><a href=#ufo-firmware-bitmode>"ufo-firmware-bitmode"</a></code></li><li><code><a href=#ufo-adc-resolution>"ufo-adc-resolution"</a></code></li><li><code><a href=#ufo-output-mode>"ufo-output-mode"</a></code></li><li><code><a href=#ufo-control>"ufo-control"</a></code></li><li><code><a href=#ufo-status>"ufo-status"</a></code></li><li><code><a href=#ufo-status2>"ufo-status2"</a></code></li><li><code><a href=#ufo-status3>"ufo-status3"</a></code></li><li><code><a href=#ufo-fr-status>"ufo-fr-status"</a></code></li><li><code><a href=#ufo-start-address>"ufo-start-address"</a></code></li><li><code><a href=#ufo-end-address>"ufo-end-address"</a></code></li><li><code><a href=#ufo-rd-address>"ufo-rd-address"</a></code></li><li><code><a href=#ufo-fr-param1>"ufo-fr-param1"</a></code></li><li><code><a href=#ufo-fr-skip-lines>"ufo-fr-skip-lines"</a></code></li><li><code><a href=#ufo-fr-num-lines>"ufo-fr-num-lines"</a></code></li><li><code><a href=#ufo-fr-start-address>"ufo-fr-start-address"</a></code></li><li><code><a href=#ufo-fr-param2>"ufo-fr-param2"</a></code></li><li><code><a href=#ufo-fr-threshold-lines>"ufo-fr-threshold-lines"</a></code></li><li><code><a href=#ufo-skiped-lines>"ufo-skiped-lines"</a></code></li><li><code><a href=#ufo-rawdata-pkt-addr>"ufo-rawdata-pkt-addr"</a></code></li><li><code><a href=#ufo-temperature-info>"ufo-temperature-info"</a></code></li><li><code><a href=#ufo-sensor-temperature>"ufo-sensor-temperature"</a></code></li><li><code><a href=#ufo-sensor-temperature-alarms>"ufo-sensor-temperature-alarms"</a></code></li><li><code><a href=#ufo-fpga-temperature>"ufo-fpga-temperature"</a></code></li><li><code><a href=#ufo-fpga-temperature-alarms>"ufo-fpga-temperature-alarms"</a></code></li><li><code><a href=#ufo-num-lines>"ufo-num-lines"</a></code></li><li><code><a href=#ufo-start-line>"ufo-start-line"</a></code></li><li><code><a href=#ufo-exp-time>"ufo-exp-time"</a></code></li><li><code><a href=#ufo-motor>"ufo-motor"</a></code></li><li><code><a href=#ufo-motor-phi>"ufo-motor-phi"</a></code></li><li><code><a href=#ufo-motor-z>"ufo-motor-z"</a></code></li><li><code><a href=#ufo-motor-y>"ufo-motor-y"</a></code></li><li><code><a href=#ufo-motor-x>"ufo-motor-x"</a></code></li><li><code><a href=#ufo-adc-gain>"ufo-adc-gain"</a></code></li><li><code><a href=#ufo-write-status>"ufo-write-status"</a></code></li><li><code><a href=#ufo-num-triggers>"ufo-num-triggers"</a></code></li><li><code><a href=#ufo-trigger-period>"ufo-trigger-period"</a></code></li><li><code><a href=#ufo-temperature-sample-period>"ufo-temperature-sample-period"</a></code></li><li><code><a href=#ufo-ddr-max-frames>"ufo-ddr-max-frames"</a></code></li><li><code><a href=#ufo-ddr-num-frames>"ufo-ddr-num-frames"</a></code></li></ul><h2>Details</h2><dl><dt id="name"><a href="#toc">name</a></dt>
-<dd><pre><code class="prop-type">"name" : gchararray : Read-only</code></pre>
-<p>Name of the camera</p>
-</dd><dt id="sensor-width"><a href="#toc">sensor-width</a></dt>
-<dd><pre><code class="prop-type">"sensor-width" : guint : Read-only</code></pre>
-<p>Width of the sensor in pixels</p>
-</dd><dt id="sensor-height"><a href="#toc">sensor-height</a></dt>
-<dd><pre><code class="prop-type">"sensor-height" : guint : Read-only</code></pre>
-<p>Height of the sensor in pixels</p>
-</dd><dt id="sensor-bitdepth"><a href="#toc">sensor-bitdepth</a></dt>
-<dd><pre><code class="prop-type">"sensor-bitdepth" : guint : Read-only</code></pre>
-<p>Number of bits per pixel</p>
-</dd><dt id="sensor-horizontal-binning"><a href="#toc">sensor-horizontal-binning</a></dt>
-<dd><pre><code class="prop-type">"sensor-horizontal-binning" : guint : Read / Write</code></pre>
-<p>Number of sensor ADCs that are combined to one pixel in horizontal direction</p>
-</dd><dt id="sensor-horizontal-binnings"><a href="#toc">sensor-horizontal-binnings</a></dt>
-<dd><pre><code class="prop-type">"sensor-horizontal-binnings" : GValueArray : Read-only</code></pre>
-<p>Array of possible binnings in horizontal direction</p>
-</dd><dt id="sensor-vertical-binning"><a href="#toc">sensor-vertical-binning</a></dt>
-<dd><pre><code class="prop-type">"sensor-vertical-binning" : guint : Read / Write</code></pre>
-<p>Number of sensor ADCs that are combined to one pixel in vertical direction</p>
-</dd><dt id="sensor-vertical-binnings"><a href="#toc">sensor-vertical-binnings</a></dt>
-<dd><pre><code class="prop-type">"sensor-vertical-binnings" : GValueArray : Read-only</code></pre>
-<p>Array of possible binnings in vertical direction</p>
-</dd><dt id="sensor-max-frame-rate"><a href="#toc">sensor-max-frame-rate</a></dt>
-<dd><pre><code class="prop-type">"sensor-max-frame-rate" : gfloat : Read-only</code></pre>
-<p>Maximum frame rate at full frame resolution</p>
-</dd><dt id="trigger-mode"><a href="#toc">trigger-mode</a></dt>
-<dd><pre><code class="prop-type">"trigger-mode" : UcaCameraTrigger : Read / Write</code></pre>
-<p>Trigger mode</p>
-</dd><dt id="exposure-time"><a href="#toc">exposure-time</a></dt>
-<dd><pre><code class="prop-type">"exposure-time" : gdouble : Read / Write</code></pre>
-<p>Exposure time in seconds</p>
-</dd><dt id="frames-per-second"><a href="#toc">frames-per-second</a></dt>
-<dd><pre><code class="prop-type">"frames-per-second" : gdouble : Read / Write</code></pre>
-<p>Frames per second</p>
-</dd><dt id="roi-x0"><a href="#toc">roi-x0</a></dt>
-<dd><pre><code class="prop-type">"roi-x0" : guint : Read / Write</code></pre>
-<p>Horizontal coordinate</p>
-</dd><dt id="roi-y0"><a href="#toc">roi-y0</a></dt>
-<dd><pre><code class="prop-type">"roi-y0" : guint : Read / Write</code></pre>
-<p>Vertical coordinate</p>
-</dd><dt id="roi-width"><a href="#toc">roi-width</a></dt>
-<dd><pre><code class="prop-type">"roi-width" : guint : Read / Write</code></pre>
-<p>Width of the region of interest</p>
-</dd><dt id="roi-height"><a href="#toc">roi-height</a></dt>
-<dd><pre><code class="prop-type">"roi-height" : guint : Read / Write</code></pre>
-<p>Height of the region of interest</p>
-</dd><dt id="roi-width-multiplier"><a href="#toc">roi-width-multiplier</a></dt>
-<dd><pre><code class="prop-type">"roi-width-multiplier" : guint : Read-only</code></pre>
-<p>Minimum possible step size of horizontal ROI</p>
-</dd><dt id="roi-height-multiplier"><a href="#toc">roi-height-multiplier</a></dt>
-<dd><pre><code class="prop-type">"roi-height-multiplier" : guint : Read-only</code></pre>
-<p>Minimum possible step size of vertical ROI</p>
-</dd><dt id="has-streaming"><a href="#toc">has-streaming</a></dt>
-<dd><pre><code class="prop-type">"has-streaming" : gboolean : Read-only</code></pre>
-<p>Is the camera able to stream the data</p>
-</dd><dt id="has-camram-recording"><a href="#toc">has-camram-recording</a></dt>
-<dd><pre><code class="prop-type">"has-camram-recording" : gboolean : Read-only</code></pre>
-<p>Is the camera able to record the data in-camera</p>
-</dd><dt id="recorded-frames"><a href="#toc">recorded-frames</a></dt>
-<dd><pre><code class="prop-type">"recorded-frames" : guint : Read-only</code></pre>
-<p>Number of frames recorded into internal camera memory</p>
-</dd><dt id="transfer-asynchronously"><a href="#toc">transfer-asynchronously</a></dt>
-<dd><pre><code class="prop-type">"transfer-asynchronously" : gboolean : Read / Write</code></pre>
-<p>Specify whether data should be transfered asynchronously using a specified callback</p>
-</dd><dt id="is-recording"><a href="#toc">is-recording</a></dt>
-<dd><pre><code class="prop-type">"is-recording" : gboolean : Read-only</code></pre>
-<p>Is the camera currently recording</p>
-</dd><dt id="is-readout"><a href="#toc">is-readout</a></dt>
-<dd><pre><code class="prop-type">"is-readout" : gboolean : Read-only</code></pre>
-<p>Is camera in readout mode</p>
-</dd><dt id="sensor-temperature"><a href="#toc">sensor-temperature</a></dt>
-<dd><pre><code class="prop-type">"sensor-temperature" : gdouble : Read-only</code></pre>
-<p>Temperature of the sensor in degree Celsius</p>
-</dd><dt id="fpga-temperature"><a href="#toc">fpga-temperature</a></dt>
-<dd><pre><code class="prop-type">"fpga-temperature" : gdouble : Read-only</code></pre>
-<p>Temperature of the FPGA in degree Celsius</p>
-</dd><dt id="ufo-cmosis-number-lines"><a href="#toc">ufo-cmosis-number-lines</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-number-lines" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-start1"><a href="#toc">ufo-cmosis-start1</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-start1" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-start2"><a href="#toc">ufo-cmosis-start2</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-start2" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-start3"><a href="#toc">ufo-cmosis-start3</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-start3" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-start4"><a href="#toc">ufo-cmosis-start4</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-start4" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-start5"><a href="#toc">ufo-cmosis-start5</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-start5" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-start6"><a href="#toc">ufo-cmosis-start6</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-start6" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-start7"><a href="#toc">ufo-cmosis-start7</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-start7" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-start8"><a href="#toc">ufo-cmosis-start8</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-start8" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-number-lines1"><a href="#toc">ufo-cmosis-number-lines1</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-number-lines1" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-number-lines2"><a href="#toc">ufo-cmosis-number-lines2</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-number-lines2" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-number-lines3"><a href="#toc">ufo-cmosis-number-lines3</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-number-lines3" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-number-lines4"><a href="#toc">ufo-cmosis-number-lines4</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-number-lines4" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-number-lines5"><a href="#toc">ufo-cmosis-number-lines5</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-number-lines5" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-number-lines6"><a href="#toc">ufo-cmosis-number-lines6</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-number-lines6" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-number-lines7"><a href="#toc">ufo-cmosis-number-lines7</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-number-lines7" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-number-lines8"><a href="#toc">ufo-cmosis-number-lines8</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-number-lines8" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-sub-s"><a href="#toc">ufo-cmosis-sub-s</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-sub-s" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-sub-a"><a href="#toc">ufo-cmosis-sub-a</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-sub-a" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-color"><a href="#toc">ufo-cmosis-color</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-color" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-image-flipping"><a href="#toc">ufo-cmosis-image-flipping</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-image-flipping" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-exp-flags"><a href="#toc">ufo-cmosis-exp-flags</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-exp-flags" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-exp-time"><a href="#toc">ufo-cmosis-exp-time</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-exp-time" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-exp-step"><a href="#toc">ufo-cmosis-exp-step</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-exp-step" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-exp-kp1"><a href="#toc">ufo-cmosis-exp-kp1</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-exp-kp1" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-exp-kp2"><a href="#toc">ufo-cmosis-exp-kp2</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-exp-kp2" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-nr-slopes"><a href="#toc">ufo-cmosis-nr-slopes</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-nr-slopes" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-exp-seq"><a href="#toc">ufo-cmosis-exp-seq</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-exp-seq" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-exp-time2"><a href="#toc">ufo-cmosis-exp-time2</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-exp-time2" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-exp-step2"><a href="#toc">ufo-cmosis-exp-step2</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-exp-step2" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-nr-slopes2"><a href="#toc">ufo-cmosis-nr-slopes2</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-nr-slopes2" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-exp-seq2"><a href="#toc">ufo-cmosis-exp-seq2</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-exp-seq2" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-number-frames"><a href="#toc">ufo-cmosis-number-frames</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-number-frames" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-output-mode"><a href="#toc">ufo-cmosis-output-mode</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-output-mode" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-training-pattern"><a href="#toc">ufo-cmosis-training-pattern</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-training-pattern" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-channel-en"><a href="#toc">ufo-cmosis-channel-en</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-channel-en" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-special-82"><a href="#toc">ufo-cmosis-special-82</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-special-82" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-vlow2"><a href="#toc">ufo-cmosis-vlow2</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-vlow2" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-vlow3"><a href="#toc">ufo-cmosis-vlow3</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-vlow3" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-offset"><a href="#toc">ufo-cmosis-offset</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-offset" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-pga"><a href="#toc">ufo-cmosis-pga</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-pga" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-adc-gain"><a href="#toc">ufo-cmosis-adc-gain</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-adc-gain" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-bit-mode"><a href="#toc">ufo-cmosis-bit-mode</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-bit-mode" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-adc-resolution"><a href="#toc">ufo-cmosis-adc-resolution</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-adc-resolution" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-cmosis-special-115"><a href="#toc">ufo-cmosis-special-115</a></dt>
-<dd><pre><code class="prop-type">"ufo-cmosis-special-115" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-spi-conf-input"><a href="#toc">ufo-spi-conf-input</a></dt>
-<dd><pre><code class="prop-type">"ufo-spi-conf-input" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-spi-conf-output"><a href="#toc">ufo-spi-conf-output</a></dt>
-<dd><pre><code class="prop-type">"ufo-spi-conf-output" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-spi-clk-speed"><a href="#toc">ufo-spi-clk-speed</a></dt>
-<dd><pre><code class="prop-type">"ufo-spi-clk-speed" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-firmware-info"><a href="#toc">ufo-firmware-info</a></dt>
-<dd><pre><code class="prop-type">"ufo-firmware-info" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-firmware-version"><a href="#toc">ufo-firmware-version</a></dt>
-<dd><pre><code class="prop-type">"ufo-firmware-version" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-firmware-bitmode"><a href="#toc">ufo-firmware-bitmode</a></dt>
-<dd><pre><code class="prop-type">"ufo-firmware-bitmode" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-adc-resolution"><a href="#toc">ufo-adc-resolution</a></dt>
-<dd><pre><code class="prop-type">"ufo-adc-resolution" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-output-mode"><a href="#toc">ufo-output-mode</a></dt>
-<dd><pre><code class="prop-type">"ufo-output-mode" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-control"><a href="#toc">ufo-control</a></dt>
-<dd><pre><code class="prop-type">"ufo-control" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-status"><a href="#toc">ufo-status</a></dt>
-<dd><pre><code class="prop-type">"ufo-status" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-status2"><a href="#toc">ufo-status2</a></dt>
-<dd><pre><code class="prop-type">"ufo-status2" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-status3"><a href="#toc">ufo-status3</a></dt>
-<dd><pre><code class="prop-type">"ufo-status3" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-fr-status"><a href="#toc">ufo-fr-status</a></dt>
-<dd><pre><code class="prop-type">"ufo-fr-status" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-start-address"><a href="#toc">ufo-start-address</a></dt>
-<dd><pre><code class="prop-type">"ufo-start-address" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-end-address"><a href="#toc">ufo-end-address</a></dt>
-<dd><pre><code class="prop-type">"ufo-end-address" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-rd-address"><a href="#toc">ufo-rd-address</a></dt>
-<dd><pre><code class="prop-type">"ufo-rd-address" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-fr-param1"><a href="#toc">ufo-fr-param1</a></dt>
-<dd><pre><code class="prop-type">"ufo-fr-param1" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-fr-skip-lines"><a href="#toc">ufo-fr-skip-lines</a></dt>
-<dd><pre><code class="prop-type">"ufo-fr-skip-lines" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-fr-num-lines"><a href="#toc">ufo-fr-num-lines</a></dt>
-<dd><pre><code class="prop-type">"ufo-fr-num-lines" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-fr-start-address"><a href="#toc">ufo-fr-start-address</a></dt>
-<dd><pre><code class="prop-type">"ufo-fr-start-address" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-fr-param2"><a href="#toc">ufo-fr-param2</a></dt>
-<dd><pre><code class="prop-type">"ufo-fr-param2" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-fr-threshold-lines"><a href="#toc">ufo-fr-threshold-lines</a></dt>
-<dd><pre><code class="prop-type">"ufo-fr-threshold-lines" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-skiped-lines"><a href="#toc">ufo-skiped-lines</a></dt>
-<dd><pre><code class="prop-type">"ufo-skiped-lines" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-rawdata-pkt-addr"><a href="#toc">ufo-rawdata-pkt-addr</a></dt>
-<dd><pre><code class="prop-type">"ufo-rawdata-pkt-addr" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-temperature-info"><a href="#toc">ufo-temperature-info</a></dt>
-<dd><pre><code class="prop-type">"ufo-temperature-info" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-sensor-temperature"><a href="#toc">ufo-sensor-temperature</a></dt>
-<dd><pre><code class="prop-type">"ufo-sensor-temperature" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-sensor-temperature-alarms"><a href="#toc">ufo-sensor-temperature-alarms</a></dt>
-<dd><pre><code class="prop-type">"ufo-sensor-temperature-alarms" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-fpga-temperature"><a href="#toc">ufo-fpga-temperature</a></dt>
-<dd><pre><code class="prop-type">"ufo-fpga-temperature" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-fpga-temperature-alarms"><a href="#toc">ufo-fpga-temperature-alarms</a></dt>
-<dd><pre><code class="prop-type">"ufo-fpga-temperature-alarms" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-num-lines"><a href="#toc">ufo-num-lines</a></dt>
-<dd><pre><code class="prop-type">"ufo-num-lines" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-start-line"><a href="#toc">ufo-start-line</a></dt>
-<dd><pre><code class="prop-type">"ufo-start-line" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-exp-time"><a href="#toc">ufo-exp-time</a></dt>
-<dd><pre><code class="prop-type">"ufo-exp-time" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-motor"><a href="#toc">ufo-motor</a></dt>
-<dd><pre><code class="prop-type">"ufo-motor" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-motor-phi"><a href="#toc">ufo-motor-phi</a></dt>
-<dd><pre><code class="prop-type">"ufo-motor-phi" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-motor-z"><a href="#toc">ufo-motor-z</a></dt>
-<dd><pre><code class="prop-type">"ufo-motor-z" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-motor-y"><a href="#toc">ufo-motor-y</a></dt>
-<dd><pre><code class="prop-type">"ufo-motor-y" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-motor-x"><a href="#toc">ufo-motor-x</a></dt>
-<dd><pre><code class="prop-type">"ufo-motor-x" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-adc-gain"><a href="#toc">ufo-adc-gain</a></dt>
-<dd><pre><code class="prop-type">"ufo-adc-gain" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-write-status"><a href="#toc">ufo-write-status</a></dt>
-<dd><pre><code class="prop-type">"ufo-write-status" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-num-triggers"><a href="#toc">ufo-num-triggers</a></dt>
-<dd><pre><code class="prop-type">"ufo-num-triggers" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-trigger-period"><a href="#toc">ufo-trigger-period</a></dt>
-<dd><pre><code class="prop-type">"ufo-trigger-period" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-temperature-sample-period"><a href="#toc">ufo-temperature-sample-period</a></dt>
-<dd><pre><code class="prop-type">"ufo-temperature-sample-period" : guint : Read-only</code></pre>
-<p></p>
-</dd><dt id="ufo-ddr-max-frames"><a href="#toc">ufo-ddr-max-frames</a></dt>
-<dd><pre><code class="prop-type">"ufo-ddr-max-frames" : guint : Read / Write</code></pre>
-<p></p>
-</dd><dt id="ufo-ddr-num-frames"><a href="#toc">ufo-ddr-num-frames</a></dt>
-<dd><pre><code class="prop-type">"ufo-ddr-num-frames" : guint : Read-only</code></pre>
-<p></p>
-</dd></dl></body></html>
diff --git a/docs/webfonts.html b/docs/webfonts.html
deleted file mode 100644
index afe7d8a..0000000
--- a/docs/webfonts.html
+++ /dev/null
@@ -1 +0,0 @@
-<link href='http://fonts.googleapis.com/css?family=Droid+Sans:400,700|Droid+Serif:400,400italic|Inconsolata' rel='stylesheet' type='text/css'>