Compare commits
52 Commits
docker_d5
...
mohr/docum
Author | SHA1 | Date | |
---|---|---|---|
d964fa2107 | |||
7b5ae6a445 | |||
8e362a000c | |||
7877776e24 | |||
62f638a3d2 | |||
e6a877f048 | |||
ea8c557ee8 | |||
0bdd780f82 | |||
9ec397c8b7 | |||
30c03c110c | |||
69f1be263a | |||
c7b5309dcb | |||
775d5632de | |||
4f3361eb2b | |||
9e6c1d60e5 | |||
12d0c23c13 | |||
5c3bb13834 | |||
292fe3e5e4 | |||
33530f2819 | |||
c0000a8635 | |||
5488ee715f | |||
0fea22d031 | |||
3b8ca09299 | |||
9a2146fa2d | |||
bcbbc9763a | |||
8dea13742f | |||
0f027d29d2 | |||
131e3ff1e3 | |||
423a9540ed | |||
ce7146e468 | |||
a681a4a797 | |||
4002b74ea2 | |||
1a833e2d45 | |||
8df6d934d7 | |||
5363868120 | |||
6eea711d9f | |||
9a181aa6a8 | |||
655c944c0e | |||
2e310fca8d | |||
37390dfc74 | |||
9d626e0a5d | |||
0ce568ad26 | |||
6970068d56 | |||
af282c7d3e | |||
21a9d89fb3 | |||
3257935150 | |||
f34cf9095d | |||
24ecf125a3 | |||
6451a16888 | |||
fa5605c959 | |||
8e835be55f | |||
9bd600c488 |
26
CHANGELOG.md
26
CHANGELOG.md
@ -10,6 +10,15 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
|||||||
|
|
||||||
# [v6.0.0]
|
# [v6.0.0]
|
||||||
|
|
||||||
|
## Fixes
|
||||||
|
|
||||||
|
- Bugfix for Serial Buffer Stream: Setting `doActive` to false now
|
||||||
|
actually fully disables printing.
|
||||||
|
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/680
|
||||||
|
- `TcpTmTcServer.cpp`: The server was actually not able to handle
|
||||||
|
CCSDS packets which were clumped together. This has been fixed now.
|
||||||
|
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/673
|
||||||
|
|
||||||
## Added
|
## Added
|
||||||
|
|
||||||
- Add new `UnsignedByteField` class
|
- Add new `UnsignedByteField` class
|
||||||
@ -24,6 +33,23 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
|||||||
for other modules
|
for other modules
|
||||||
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/655
|
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/655
|
||||||
which also includes a migration guide
|
which also includes a migration guide
|
||||||
|
- Bump Catch2 dependency to regular version `v3.1.0`
|
||||||
|
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/678
|
||||||
|
- `SerialBufferAdapter`: Rename `setBuffer` to `setConstBuffer` and update
|
||||||
|
API to expect `const uint8_t*` accordingly.
|
||||||
|
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/677
|
||||||
|
- Remove the following user includes from `fsfw/events/Event.h` and
|
||||||
|
`fsfw/returnvalues/returnvalue.h`:
|
||||||
|
- `#include "events/subsystemIdRanges.h"`
|
||||||
|
- `#include "returnvalues/classIds.h"`
|
||||||
|
The user has to include those themselves now
|
||||||
|
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/675
|
||||||
|
- `DeviceHandlerBase`: Set command sender before calling `buildCommandFromCommand`.
|
||||||
|
This allows finishing action commands immediately inside the function.
|
||||||
|
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/672
|
||||||
|
- `DeviceHandlerBase`: New signature of `handleDeviceTm` which expects
|
||||||
|
a `const SerializeIF&` and additional helper variant which expects `const uint8_t*`
|
||||||
|
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/671
|
||||||
|
|
||||||
# [v5.0.0] 25.07.2022
|
# [v5.0.0] 25.07.2022
|
||||||
|
|
||||||
|
@ -326,7 +326,8 @@ if(FSFW_BUILD_TESTS)
|
|||||||
"/usr/local/include/*"
|
"/usr/local/include/*"
|
||||||
"*/fsfw_tests/*"
|
"*/fsfw_tests/*"
|
||||||
"*/catch2-src/*"
|
"*/catch2-src/*"
|
||||||
"*/fsfw_hal/*")
|
"*/fsfw_hal/*"
|
||||||
|
"unittests/*")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_options(${FSFW_TEST_TGT} PRIVATE -fprofile-arcs
|
target_link_options(${FSFW_TEST_TGT} PRIVATE -fprofile-arcs
|
||||||
@ -345,7 +346,8 @@ if(FSFW_BUILD_TESTS)
|
|||||||
else()
|
else()
|
||||||
setup_target_for_coverage_lcov(
|
setup_target_for_coverage_lcov(
|
||||||
NAME ${FSFW_TEST_TGT}_coverage EXECUTABLE ${FSFW_TEST_TGT}
|
NAME ${FSFW_TEST_TGT}_coverage EXECUTABLE ${FSFW_TEST_TGT}
|
||||||
DEPENDENCIES ${FSFW_TEST_TGT})
|
DEPENDENCIES ${FSFW_TEST_TGT}
|
||||||
|
GENHTML_ARGS --html-epilog ${CMAKE_SOURCE_DIR}/unittests/lcov_epilog.html)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
@ -175,7 +175,7 @@ cmake -DFSFW_BUILD_DOCS=ON -DFSFW_OSAL=host ..
|
|||||||
Then you can generate the documentation using
|
Then you can generate the documentation using
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
cmake --build . -j
|
cmake --build . -- Sphinx -j
|
||||||
```
|
```
|
||||||
|
|
||||||
You can find the generated documentation inside the `docs/sphinx` folder inside the build
|
You can find the generated documentation inside the `docs/sphinx` folder inside the build
|
||||||
|
@ -5,7 +5,7 @@ RUN apt-get --yes upgrade
|
|||||||
|
|
||||||
#tzdata is a dependency, won't install otherwise
|
#tzdata is a dependency, won't install otherwise
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
RUN apt-get --yes install gcc g++ cmake make lcov git valgrind nano iputils-ping python3 pip doxygen graphviz
|
RUN apt-get --yes install gcc g++ cmake make lcov git valgrind nano iputils-ping python3 pip doxygen graphviz rsync
|
||||||
|
|
||||||
RUN python3 -m pip install sphinx breathe
|
RUN python3 -m pip install sphinx breathe
|
||||||
|
|
||||||
@ -23,3 +23,7 @@ RUN git clone https://github.com/ETLCPP/etl.git && \
|
|||||||
|
|
||||||
#ssh needs a valid user to work
|
#ssh needs a valid user to work
|
||||||
RUN adduser --uid 114 jenkins
|
RUN adduser --uid 114 jenkins
|
||||||
|
|
||||||
|
#add documentation server to known hosts
|
||||||
|
RUN echo "|1|/LzCV4BuTmTb2wKnD146l9fTKgQ=|NJJtVjvWbtRt8OYqFgcYRnMQyVw= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNL8ssTonYtgiR/6RRlSIK9WU1ywOcJmxFTLcEblAwH7oifZzmYq3XRfwXrgfMpylEfMFYfCU8JRqtmi19xc21A=" >> /etc/ssh/ssh_known_hosts
|
||||||
|
RUN echo "|1|CcBvBc3EG03G+XM5rqRHs6gK/Gg=|oGeJQ+1I8NGI2THIkJsW92DpTzs= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNL8ssTonYtgiR/6RRlSIK9WU1ywOcJmxFTLcEblAwH7oifZzmYq3XRfwXrgfMpylEfMFYfCU8JRqtmi19xc21A=" >> /etc/ssh/ssh_known_hosts
|
21
automation/Jenkinsfile
vendored
21
automation/Jenkinsfile
vendored
@ -4,7 +4,10 @@ pipeline {
|
|||||||
DOCDDIR = 'cmake-build-documentation'
|
DOCDDIR = 'cmake-build-documentation'
|
||||||
}
|
}
|
||||||
agent {
|
agent {
|
||||||
docker { image 'fsfw-ci:d5'}
|
docker {
|
||||||
|
image 'fsfw-ci:d6'
|
||||||
|
args '--network host'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
stages {
|
stages {
|
||||||
stage('Clean') {
|
stage('Clean') {
|
||||||
@ -48,9 +51,13 @@ pipeline {
|
|||||||
dir(DOCDDIR) {
|
dir(DOCDDIR) {
|
||||||
sh 'cmake -DFSFW_BUILD_DOCS=ON -DFSFW_OSAL=host ..'
|
sh 'cmake -DFSFW_BUILD_DOCS=ON -DFSFW_OSAL=host ..'
|
||||||
sh 'make Sphinx'
|
sh 'make Sphinx'
|
||||||
sh 'cd docs/sphinx'
|
|
||||||
sshagent(credentials: ['documentation-buildfix']) {
|
sshagent(credentials: ['documentation-buildfix']) {
|
||||||
sh 'scp -r ./* buildfix@documents.intra.irs.uni-stuttgart.de:/mnt/data/www/html/fsfw/development'
|
sh 'rsync -r --delete docs/sphinx/* buildfix@documentation.irs.uni-stuttgart.de:/fsfw/development'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dir(BUILDDIR) {
|
||||||
|
sshagent(credentials: ['documentation-buildfix']) {
|
||||||
|
sh 'rsync -r --delete fsfw-tests_coverage/* buildfix@documentation.irs.uni-stuttgart.de:/fsfw/coverage/development'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -63,9 +70,13 @@ pipeline {
|
|||||||
dir(DOCDDIR) {
|
dir(DOCDDIR) {
|
||||||
sh 'cmake -DFSFW_BUILD_DOCS=ON -DFSFW_OSAL=host ..'
|
sh 'cmake -DFSFW_BUILD_DOCS=ON -DFSFW_OSAL=host ..'
|
||||||
sh 'make Sphinx'
|
sh 'make Sphinx'
|
||||||
sh 'cd docs/sphinx'
|
|
||||||
sshagent(credentials: ['documentation-buildfix']) {
|
sshagent(credentials: ['documentation-buildfix']) {
|
||||||
sh 'scp -r ./* buildfix@documents.intra.irs.uni-stuttgart.de:/mnt/data/www/html/fsfw/master'
|
sh 'rsync -r --delete docs/sphinx/* buildfix@documentation.irs.uni-stuttgart.de:/fsfw/master'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dir(BUILDDIR) {
|
||||||
|
sshagent(credentials: ['documentation-buildfix']) {
|
||||||
|
sh 'rsync -r --delete fsfw-tests_coverage/* buildfix@documentation.irs.uni-stuttgart.de:/fsfw/coverage/master'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -50,6 +50,11 @@ exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
|
|||||||
#
|
#
|
||||||
html_theme = 'alabaster'
|
html_theme = 'alabaster'
|
||||||
|
|
||||||
|
html_theme_options = {
|
||||||
|
"extra_nav_links": {"Impressum" : "https://www.uni-stuttgart.de/impressum", "Datenschutz": "https://info.irs.uni-stuttgart.de/datenschutz/datenschutzWebmit.html"}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Add any paths that contain custom static files (such as style sheets) here,
|
# Add any paths that contain custom static files (such as style sheets) here,
|
||||||
# relative to this directory. They are copied after the builtin static files,
|
# relative to this directory. They are copied after the builtin static files,
|
||||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||||
|
@ -7,12 +7,13 @@ Structure
|
|||||||
----------
|
----------
|
||||||
|
|
||||||
The general structure is driven by the usage of interfaces provided by objects.
|
The general structure is driven by the usage of interfaces provided by objects.
|
||||||
The FSFW uses C++11 as baseline. The intention behind this is that this C++ Standard should be
|
The FSFW uses C++17 as baseline. Most modern compilers like GCC should have support for this
|
||||||
widely available, even with older compilers.
|
standard, even for micocontrollers.
|
||||||
The FSFW uses dynamic allocation during the initialization but provides static containers during runtime.
|
|
||||||
This simplifies the instantiation of objects and allows the usage of some standard containers.
|
The FSFW might use dynamic allocation during program initialization but not during runtime.
|
||||||
Dynamic Allocation after initialization is discouraged and different solutions are provided in the
|
It offers pool objects, static containers and it also exposes the
|
||||||
FSFW to achieve that. The fsfw uses run-time type information but exceptions are not allowed.
|
`Embedded Template Library <https://www.etlcpp.com/>`_ to allow writing code which does not perform
|
||||||
|
allocation during runtime. The fsfw uses run-time type information but will not throw exceptions.
|
||||||
|
|
||||||
Failure Handling
|
Failure Handling
|
||||||
-----------------
|
-----------------
|
||||||
|
@ -48,12 +48,12 @@ LocalPoolObjectBase::LocalPoolObjectBase(object_id_t poolOwner, lp_id_t poolId,
|
|||||||
if (hkOwner == nullptr) {
|
if (hkOwner == nullptr) {
|
||||||
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
||||||
sif::error << "LocalPoolVariable: The supplied pool owner 0x" << std::hex << poolOwner
|
sif::error << "LocalPoolVariable: The supplied pool owner 0x" << std::hex << poolOwner
|
||||||
<< std::dec << " did not implement the correct interface "
|
<< std::dec << " does not exist or does not implement the correct interface "
|
||||||
<< "HasLocalDataPoolIF" << std::endl;
|
<< "HasLocalDataPoolIF" << std::endl;
|
||||||
#else
|
#else
|
||||||
sif::printError(
|
sif::printError(
|
||||||
"LocalPoolVariable: The supplied pool owner 0x%08x did not implement the correct "
|
"LocalPoolVariable: The supplied pool owner 0x%08x does not exist or does not implement "
|
||||||
"interface HasLocalDataPoolIF\n",
|
"the correct interface HasLocalDataPoolIF\n",
|
||||||
poolOwner);
|
poolOwner);
|
||||||
#endif
|
#endif
|
||||||
return;
|
return;
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
#ifndef FRAMEWORK_SERVICEINTERFACE_SERVICEINTERFACESTREAM_H_
|
#ifndef FRAMEWORK_SERVICEINTERFACE_SERVICEINTERFACESTREAM_H_
|
||||||
#define FRAMEWORK_SERVICEINTERFACE_SERVICEINTERFACESTREAM_H_
|
#define FRAMEWORK_SERVICEINTERFACE_SERVICEINTERFACESTREAM_H_
|
||||||
|
|
||||||
#include <FSFWConfig.h>
|
|
||||||
|
|
||||||
#include "ServiceInterfaceBuffer.h"
|
#include "ServiceInterfaceBuffer.h"
|
||||||
|
#include "fsfw/FSFW.h"
|
||||||
|
|
||||||
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
||||||
|
|
||||||
|
2
unittests/lcov_epilog.html
Normal file
2
unittests/lcov_epilog.html
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
<center><a href='https://www.uni-stuttgart.de/impressum'>Impressum</a> <a href='https://info.irs.uni-stuttgart.de/datenschutz/datenschutzWebmit.html'>Datenschutz</a></center>
|
||||||
|
</body>
|
Reference in New Issue
Block a user