.. _sec-caps-plugins: Data Acquisition and Manipulation by Plugins ============================================ While the :ref:`caps server ` serves data in basically any given format in real time and from archive, the data are fetched from external sources and provided to caps by acquisition plugins. The acquisition plugins generate or retrieve data and provide them to the :ref:`caps server ` for storage and further provision to other clients. Depending on the plugin itself the acquisition plugins allow to * Flexibly connect to many different sources and fetch data in many different formats * Manipulate data streams * Generate new data. In addition to the :ref:`plugins specifically provided by the cap-plugins package` all available :ref:`seedlink plugins` can be considered. CAPS also provides tools for :ref:`retrieval of data` from CAPS servers and delivery to :program:`seedlink` or to files. .. _fig-deployment-plugins: .. figure:: media/deployment.* :width: 12cm :align: center Possible data feeds by plugins into |appname|. .. _sec-caps-acqui-plugins: |appname| plugins ----------------- Since |appname| was brought to the market more and more plugins have been developed in addition to the :ref:`Seedlink plugins `. While many of these |appname| plugins are included in the *caps-plugins* package by |gempa|, other plugins can be provided upon request. We can also develop new customized plugins. `Contact us `_ and provide your specifications for new developments. .. note :: While the :ref:`Seedlink plugins ` are selected and configured in the bindings configuration of :program:`seedlink`, the CAPS plugins run independently. Therefore, they are enabled and started as daemon modules or executed on demand. These plugins are configured like a module by module configuration. Included plugins ~~~~~~~~~~~~~~~~ The following plugins ship with the *caps-plugins* package: .. csv-table:: :header: "Plugin name", "Description" :widths: 15,100 ":ref:`caps2caps`","Mirrors data between different :term:`CAPS` instances. All packet types are supported." ":ref:`crex2caps`","CREX CAPS plugin. Reads CREX data from file and pushes the data into the given CAPS server." ":ref:`gdi2caps`","Import data from Guralp GDI server." ":ref:`rtpd2caps`","Collects data from a RefTeK `RTPD server `_. The data is stored in the :ref:`sec-pt-raw` format." ":ref:`data2caps`","Send data to CAPS as :ref:`RAW format `. This simple tool can be easily extended to read custom formats and to send :ref:`miniSEED format `." ":ref:`rs2caps`","Collects data from a |scname| :term:`RecordStream`. The data is either stored in the :ref:`sec-pt-raw` or :ref:`sec-pt-miniseed` format." ":ref:`slink2caps`","Uses the available :term:`SeedLink` plugins to feed data from other sources into :term:`CAPS`. Data can be retrieved from any sources for which a :term:`SeedLink` plugins exists. The data will be converted into :ref:`sec-pt-miniseed` format." ":ref:`sproc2caps`","Real-time combination, renaming, filtering and manipulation of data from the recordstream interface." ":ref:`test2caps`","Send generic tests signals to a CAPS server" ":ref:`v4l2caps`","Video for Linux capture plugin" ":ref:`win2caps`","WIN CAPS plugin. Sends data read from socket or file to CAPS." Plugins provided upon request ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The following plugins are not included in the *caps-plugins* package. They can be provided upon request. .. csv-table:: :header: "Plugin name", "Description" :widths: 15,100 ":ref:`edas2caps`","Reads EDAS sensor data directly from station and pushes it into CAPS." ":ref:`jw2caps`","Provide support for Joy Warrior Mem sensors connected by USB." ":ref:`ngl2caps`","Reads GNSS data from file and sends it to CAPS." ":ref:`orb2caps`","Provides miniSEED data from an Antelope ORB. Operates on the Antelope system." ":ref:`tidetool2caps`","Reads TideTool decoded data from file and pushes it into CAPS." ":ref:`yet2caps`","Read GNSS YET packets from USB device or from file and push them into CAPS." .. _sec-seedlink-plugins: Integration of Seedlink plugins ------------------------------- |appname| supports all available `seedlink plugins `_. The plugins are configured with the seedlink bindings configuration. Once configured they are executed together with :ref:`slink2caps`. Procedure: #. In the module configuration of seedlink (:file:`seedlink.cfg`) set .. code-block:: sh plugins.chain.loadTimeTable = false #. Create and configure the seedlink bindings #. Update configuration .. code-block:: sh seiscomp update-config seedlink #. Start/restart :ref:`slink2caps`, do not start the configured seedlink instead at the same time. .. code-block:: sh seiscomp restart slink2caps .. _sec-caps-plugins-docu: Configuration of |appname| plugins ---------------------------------- .. toctree:: :maxdepth: 2 :glob: /apps/*2caps