Asynchronous ServiceInterfacePrinter #65

Merged
muellerr merged 5 commits from ritzmannc/fsfw:ritzmann/sif-async-print into main 2026-03-03 19:28:49 +01:00
Contributor

This makes the ServiceInterfacePrinter asynchronous, writing log messages into a buffer which are later printed by a dedicated print task.
This is needed in SOURCE as multiple tasks printing at the same time can interrupt each other leading to mangled log messages.

This makes the ServiceInterfacePrinter asynchronous, writing log messages into a buffer which are later printed by a dedicated print task. This is needed in SOURCE as multiple tasks printing at the same time can interrupt each other leading to mangled log messages.
ritzmannc added 2 commits 2026-01-23 13:11:37 +01:00
ritzmannc requested review from muellerr 2026-01-23 13:24:25 +01:00
muellerr reviewed 2026-02-13 13:30:02 +01:00
@@ -41,0 +70,4 @@
}
size_t len = 0;
// char *bufferPosition = printBuffers[bufferIdx];
Owner

can this be removed?

can this be removed?
ritzmannc marked this conversation as resolved
Owner

how was this tested? I'd like to especially avoid buffer overflow crashes/issues, adn there is a test suite in place.

how was this tested? I'd like to especially avoid buffer overflow crashes/issues, adn there is a test suite in place.
ritzmannc added 1 commit 2026-02-13 16:35:29 +01:00
Author
Contributor

how was this tested? I'd like to especially avoid buffer overflow crashes/issues, adn there is a test suite in place.

The code was tested by hand on both FlatSat and Hosted (Linux).
All the formatting concerned with user input utilizes bounds checking so there shouldn't be any possibility for an out of bounds write.
A proper test suite may be complicated with the current version of the code but can be done with a slight refactoring if desired.

> how was this tested? I'd like to especially avoid buffer overflow crashes/issues, adn there is a test suite in place. The code was tested by hand on both FlatSat and Hosted (Linux). All the formatting concerned with user input utilizes bounds checking so there shouldn't be any possibility for an out of bounds write. A proper test suite may be complicated with the current version of the code but can be done with a slight refactoring if desired.
ritzmannc added 1 commit 2026-02-17 16:40:44 +01:00
ritzmannc added 1 commit 2026-02-19 00:34:50 +01:00
muellerr merged commit 3668e61d5c into main 2026-03-03 19:28:49 +01:00
Sign in to join this conversation.