Robin Mueller
c2bf09d506
This PR introduces the generation of documentation based on this excellent blog post: https://devblogs.microsoft.com/cppblog/clear-functional-c-documentation-with-sphinx-breathe-doxygen-cmake/ It combines the tools Sphinx, Doxygen and Breathe to generate good looking HTML documentation conveniently which can be hosted easily. The helper scripts were unified and there is now one helper.py script which can be used to create, build and open both tests and documentation. "./helper.py -h" can be used to get the different options. This PR also contains some smaller fixes which were necessary for the docs to build
42 lines
2.0 KiB
ReStructuredText
42 lines
2.0 KiB
ReStructuredText
Configuring the FSFW
|
|
=====================
|
|
|
|
The FSFW can be configured via the ``fsfwconfig`` folder. A template folder has been provided in
|
|
``misc/defaultcfg`` to have a starting point for this. The folder should be added
|
|
to the include path. The primary configuration file is the ``FSFWConfig.h`` folder. Some
|
|
of the available options will be explained in more detail here.
|
|
|
|
Auto-Translation of Events
|
|
----------------------------
|
|
|
|
The FSFW allows the automatic translation of events, which allows developers to track triggered
|
|
events directly via console output. Using this feature requires:
|
|
|
|
1. ``FSFW_OBJ_EVENT_TRANSLATION`` set to 1 in the configuration file.
|
|
2. Special auto-generated translation files which translate event IDs and object IDs into
|
|
human readable strings. These files can be generated using the
|
|
`fsfwgen Python scripts <https://egit.irs.uni-stuttgart.de/fsfw/fsfw-gen>`_.
|
|
3. The generated translation files for the object IDs should be named ``translatesObjects.cpp``
|
|
and ``translateObjects.h`` and should be copied to the ``fsfwconfig/objects`` folder
|
|
4. The generated translation files for the event IDs should be named ``translateEvents.cpp`` and
|
|
``translateEvents.h`` and should be copied to the ``fsfwconfig/events`` folder
|
|
|
|
An example implementations of these translation file generators can be found as part
|
|
of the `SOURCE project here <https://git.ksat-stuttgart.de/source/sourceobsw/-/tree/develop/generators>`_
|
|
or the `FSFW example <https://egit.irs.uni-stuttgart.de/fsfw/fsfw-example-hosted/src/branch/master/generators>`_
|
|
|
|
Configuring the Event Manager
|
|
----------------------------------
|
|
|
|
The number of allowed subscriptions can be modified with the following
|
|
parameters:
|
|
|
|
.. code-block:: cpp
|
|
|
|
namespace fsfwconfig {
|
|
//! Configure the allocated pool sizes for the event manager.
|
|
static constexpr size_t FSFW_EVENTMGMR_MATCHTREE_NODES = 240;
|
|
static constexpr size_t FSFW_EVENTMGMT_EVENTIDMATCHERS = 120;
|
|
static constexpr size_t FSFW_EVENTMGMR_RANGEMATCHERS = 120;
|
|
}
|