.. include:: ./../macros.txt
.. include:: ./../units.txt

.. _REPOSITORY_STRUCTURE:

Repository Structure
********************

All directory names are abbreviated (e.g., ``conf`` for ``configuration``) to
ensure a compact repository structure and avoid long command lines during build
steps.

Repository root ``.``
=====================

The repository is generally structured as shown below:

.. csv-table:: Detailed description of the repository root
   :file: ./directories/_root.csv
   :header-rows: 1
   :delim: ;
   :widths: 14 20 66
   :name: introduction-repository-structure

Configuration directory ``conf``
================================

The ``conf`` directory is structured as shown below:

.. csv-table:: Detailed description of the ``conf`` directory
   :file: ./directories/conf.csv
   :header-rows: 1
   :delim: ;
   :widths: 14 20 66
   :name: introduction-repository-structure-conf-details

Documentation directory ``docs``
================================

This directory contains the sources of the general documentation generate by
Sphinx.
It further contains the configuration for the API documentation generated by
Doxygen.

Hardware directory ``hardware``
===============================

This directory contains information about the hardware schematics and layouts.

Source directory ``src``
========================

The ``src`` directory is structured as shown below:

.. csv-table:: Detailed description of the ``src`` directory
   :file: ./directories/src.csv
   :header-rows: 1
   :delim: ;
   :widths: 14 20 66
   :name: introduction-repository-structure-src-details

Tests directory ``tests``
=========================

The ``tests`` directory is structured as shown below:

.. csv-table:: Detailed description of the ``tests`` directory
   :file: ./directories/tests.csv
   :header-rows: 1
   :delim: ;
   :widths: 14 20 66
   :name: introduction-repository-structure-tests-details

Tools directory ``tools``
=========================

The ``tools`` directory is structured as shown below:

.. csv-table:: Detailed description of the ``tools`` directory
   :file: ./directories/tools.csv
   :header-rows: 1
   :delim: ;
   :widths: 14 20 66
   :name: introduction-repository-structure-tools-details