Commit Graph

43 Commits

Author SHA1 Message Date
Robin Müller 51087518b0
spi mutex handling refactoring 2022-05-14 11:32:51 +02:00
Robin Müller 16e55a98ce
important bugfix for TCP server 2022-05-09 10:57:23 +02:00
Robin Müller 28015c4735 it compiles and runs 2022-05-01 17:48:49 +02:00
Robin Müller 5b7ca8c13c
update CHANGELOG.md, apply afmt 2022-04-27 08:39:21 +02:00
Robin Müller ff98c42514 Merge branch 'development' into mueller/clock-addition 2022-04-25 14:54:22 +02:00
Robin Müller a02619e5a2
strongly simplified and streamlined IPC MQ Impl
- Generic code was duplicated across all OSALs.
  Is contained in generic base class now
- Remove duplicate documentation
2022-04-11 11:19:38 +02:00
Robin Müller fcb6437388 Merge branch 'development' into mueller/ipc-pass-arbitrary-args-to-mq 2022-03-31 14:42:15 +02:00
Steffen Gaisser a887f852c8 Merge branch 'development' into mueller/clock-addition 2022-03-28 15:45:58 +02:00
Ulrich Mohr 916ed3f56a added function to add component to a periodic task by pointer 2022-03-28 13:50:42 +02:00
Steffen Gaisser 665d8cd479 Applied clang format 2022-03-25 18:48:53 +01:00
Steffen Gaisser 10398855a9 Added more unittest coverage
Added Mutex for gmtime functions
Moved Statics used in ClockCommon to ClockCommon
2022-03-25 18:47:31 +01:00
Robin Müller a0dfdfab2c
Allow passing a MqArgs struct to the MQ creation
The struct contains context information (which can be extended)
and an arbitrary user argument in form of a void pointer.
This makes the API a lot more flexible
2022-03-22 17:49:22 +01:00
Steffen Gaisser 8b1af232c3 Added Tests for CCSDS Time, fixed LPM Test
Changed behaviour of Host and Linux Clock
2022-03-07 18:22:10 +01:00
Steffen Gaisser 68ca6fd122 Merge branch 'development' into gaisser_compiler_flags 2022-02-28 15:29:57 +01:00
Steffen Gaisser 09815f5cce Clang format 2022-02-23 18:24:07 +01:00
Steffen Gaisser f6357b4531 WIP compiler Flags and new unit tests for fixes 2022-02-23 18:23:22 +01:00
Steffen Gaisser d6d13eec95 Merge branch 'development' into gaisser_unit_test_internal_error 2022-02-23 12:37:55 +01:00
Steffen Gaisser 4862edfdb5 Clang format 2022-02-22 13:42:56 +01:00
Steffen Gaisser a50b52df51 Fixed an issue in host OSAL and added more coverage to IER 2022-02-22 13:37:28 +01:00
Robin Müller 90b8ad1e6d
apply clang format 2022-02-22 11:16:33 +01:00
Ulrich Mohr 9e958e752e applied clang format 2022-02-14 14:54:20 +01:00
Robin Müller ddcac2bbac
reapply clang format 2022-02-02 10:29:30 +01:00
Robin Müller 371ff931bf
Linux CommandExecutor
The CommandExecutor helper class can execute shell commands in blocking and non-blocking mode
This class is able to execute processes by using the Linux popen call. It also has the capability of writing
the read output of a process into a provided ring buffer.

The executor works by first loading the command which should be executed and specifying whether
it should be executed blocking or non-blocking. After that, execution can be started with the execute call.

Using non-blocking mode allows to execute commands which might take a longer time in the background,
and allowing the user thread to check completion status with the check function

Moved to HAL like requested in code review and unit tested with failing commands as well.
Also, Linux HAL components are compiled by default now unless explicitely disabled.
2022-01-26 12:11:52 +01:00
Robin Müller 1ddf9c0f11 Merge branch 'development' into mueller/tcp-keep-open-pr 2021-10-09 13:32:25 +02:00
Jakob Meier 9bcd701a50 tcp server also parses TCs when client closes connection 2021-10-09 13:31:51 +02:00
Jakob Meier 6ad7f51297 added bind call error string 2021-10-09 13:31:40 +02:00
Robin Müller 0a6a32a130
printout separation 2021-09-29 11:45:20 +02:00
Robin Müller b1a9c90087 this should work for both OSes 2021-09-28 17:39:07 +02:00
Robin Müller a619087fef
Merge remote-tracking branch 'upstream/mueller/tcp-windows-fixes' into mueller/tcp-keep-open-pr 2021-09-28 17:35:07 +02:00
Robin Müller 32b5060c62 all windows fixes 2021-09-28 17:28:54 +02:00
Robin Müller 1622e23f1c delay configurable 2021-09-28 15:33:31 +02:00
Robin Müller bbea5e33bc removed obsolete empty ctor 2021-09-28 15:12:55 +02:00
Robin Müller e536918804
wiretapping in runtime config now 2021-09-28 15:09:56 +02:00
Robin Müller 09299802f0
TCP refactoring
This refactoring keeps the TCP connection opened until the client closes
it. It also increased the robustness of the TCP reception.

Because TCP is stream based and usually applied to newline separated
data, a special way to handle binary space packets is required.

The new SpacePacketParser class takes care of this by taking TC packet
IDs as as optional start markers to parse for space packets in a given
buffer.

The refactored TCP server uses a ring buffer, a reception buffer and the
new parser to extract space packets from a stream in a safer way.
2021-09-28 15:01:01 +02:00
Steffen Gaisser 1b38f84edc Merge remote-tracking branch 'origin/development' into gaisser_countdown_timer 2021-09-27 21:06:20 +02:00
Robin Müller eecb69d230 getter function for UDP port 2021-08-09 18:22:51 +02:00
Robin Müller 14a30f30db More improvements for TCP/UDP port definition 2021-08-09 18:13:02 +02:00
Robin Müller ccaa0aa24f Cleaning up TCP and UDP code
Same port number used as before, but some inconsistencies fixed
2021-08-09 16:59:41 +02:00
Robin Müller 0e5cfcf28f
minor improvement for printout 2021-08-02 16:19:37 +02:00
Robin Müller b75c815361 Merge remote-tracking branch 'origin/development' into mueller/master 2021-07-27 13:12:00 +02:00
Robin Müller ab6c616cdb
added binary semaphore header stub 2021-07-19 18:40:35 +02:00
Robin Müller ee4449b74d
override is not a good idea 2021-07-19 18:36:55 +02:00
Robin Müller d47906e833
trying to fuse header / inc 2021-07-19 16:25:51 +02:00