Compare commits

..

4350 Commits
ploc ... master

Author SHA1 Message Date
e73b9ff72c Merge pull request 'v6.0.0' (#729) from development into master
Reviewed-on: fsfw/fsfw#729
2023-02-23 13:42:48 +01:00
dc7afc5415 Version bump, CHANGELOG update, format 2023-02-23 13:38:24 +01:00
9bf3ff95b7 Merge pull request 'Add Health Service Announce All Health Info' (#725) from eive/fsfw:add_health_service_announce_all into development
Reviewed-on: fsfw/fsfw#725
2023-02-23 13:13:56 +01:00
61562b18ab Merge branch 'development' into add_health_service_announce_all 2023-02-23 12:56:12 +01:00
d76d97a36b changed health table parameter to objectId 2023-02-23 12:44:42 +01:00
76b377c4c0 Merge pull request 'Mode Service: Add allowed subservice' (#739) from eive/fsfw:small_mode_service_fix into development
Reviewed-on: fsfw/fsfw#739
2023-02-20 13:40:53 +01:00
3562bf11b9 CHANGELOG update 2023-02-10 11:06:46 +01:00
fffb2b61e5 release check helper 2023-02-10 11:06:30 +01:00
94e5f62331 add allowed subservice 2023-02-09 18:30:08 +01:00
0a9c563bbc format 2023-02-09 15:58:48 +01:00
fa7675897d Merge pull request 'Mode Service Bugfixes' (#736) from eive/fsfw:mode_service_fixes into development
Reviewed-on: fsfw/fsfw#736
2023-02-09 15:56:26 +01:00
3a2393885f more style 2023-02-09 15:44:39 +01:00
c752b6d143 Merge pull request 'Generic TMTC Bridge Update' (#734) from eive/fsfw:tmtcbridge_tweaks into development
Reviewed-on: fsfw/fsfw#734
2023-02-09 15:37:35 +01:00
b676040c7c Merge pull request 'CMakeLists file updates' (#731) from eive/fsfw:cmakelists_update into development
Reviewed-on: fsfw/fsfw#731
2023-02-09 15:29:46 +01:00
010509efb4 removed unneeded find_package parameter for etl 2023-02-09 13:50:16 +01:00
dfb1633f00 Merge branch 'development' into mode_service_fixes 2023-02-09 13:46:19 +01:00
5f7172e130 Merge pull request 'TCP/IP TMTC bridge memory leak fixes' (#737) from eive/fsfw:possible_tcpip_bridge_fixes into development
Reviewed-on: fsfw/fsfw#737
2023-02-09 12:15:45 +01:00
0c6465cd95 Merge pull request 'time stamper empty ctor' (#730) from eive/fsfw:empty_cds_short_ctor into development
Reviewed-on: fsfw/fsfw#730
2023-02-09 11:45:49 +01:00
f94987c46d Merge pull request 'RM3100 important bugfix' (#733) from eive/fsfw:rm3100_fixes into development
Reviewed-on: fsfw/fsfw#733
2023-02-09 11:41:53 +01:00
1809ce359b Merge pull request 'comment tweak to event parser can read everything' (#732) from eive/fsfw:health_if_update into development
Reviewed-on: fsfw/fsfw#732
2023-02-09 11:39:53 +01:00
8c712441ab Making fetch Catch2 quiet as well. 2023-02-09 11:34:58 +01:00
f1b0ca7cff add PR link 2023-02-08 21:26:37 +01:00
000df85556 bump changelog 2023-02-08 21:24:00 +01:00
1fffcc2229 possiible leak fixes 2023-02-08 21:23:21 +01:00
a419806a05 Merge remote-tracking branch 'upstream/development' into mode_service_fixes 2023-02-08 09:33:13 +01:00
6445debfa1 bump changelog 2023-02-08 09:24:55 +01:00
8014e4adf9 mode service fixes 2023-02-08 09:23:48 +01:00
134d908f26 that stuff is not in upstream yet.. 2023-02-07 12:52:18 +01:00
40a9e12416 1000 is a bit much 2023-02-07 12:47:40 +01:00
f39054edd4 introduce warning switch 2023-02-07 12:45:29 +01:00
5adf89b911 changelog update 2023-02-07 12:41:42 +01:00
c2e6a22dec important bugfix for RM3100 2023-02-07 12:39:43 +01:00
c8e065a713 comment tweak to event parser can read everything 2023-02-07 12:36:42 +01:00
3ed49dbae3 Merge remote-tracking branch 'upstream/development' into empty_cds_short_ctor 2023-02-07 12:24:02 +01:00
4cf52d5dfe Merge pull request 'Time Service 9 update' (#726) from eive/fsfw:updates_fixes_pus_time_service into development
Reviewed-on: fsfw/fsfw#726
2023-02-07 12:19:45 +01:00
539d7aac9e suppress error if ETL is not found 2023-02-07 12:17:03 +01:00
0a23f2c85a correction for printout, add prefix 2023-02-07 12:15:44 +01:00
46230e6c6d Merge remote-tracking branch 'upstream/development' into updates_fixes_pus_time_service 2023-02-07 12:11:29 +01:00
b22d439300 bump changelog 2023-02-07 12:10:11 +01:00
7e7b3bbbc9 time stamper empty ctor 2023-02-07 12:07:41 +01:00
5b92247fbd Merge branch 'development' into add_health_service_announce_all 2023-02-06 16:31:05 +01:00
e2b66df72e Merge pull request 'various fixes related to linux Unittests and memory leaks' (#715) from eive/fsfw:unittest_fix_semaphore into development
Reviewed-on: fsfw/fsfw#715
2023-02-06 16:30:37 +01:00
d9da55fdab Merge branch 'development' into add_health_service_announce_all 2023-02-06 15:03:52 +01:00
7b828f233a Merge pull request 'I2C Linux: remove duplicate printout' (#718) from eive/fsfw:i2c_remove_duplicate_printout into development
Reviewed-on: fsfw/fsfw#718
2023-02-06 14:54:58 +01:00
c3d1000cd5 Merge branch 'development' into unittest_fix_semaphore 2023-02-06 14:46:45 +01:00
8e0e57714d Merge pull request 'allow using SO_REUSEADDR and SO_REUSEPORT on TCP server' (#722) from eive/fsfw:tcp_server_reuseaddr_reusesocket into development
Reviewed-on: fsfw/fsfw#722
2023-02-06 14:45:40 +01:00
066f7a6f9b remove unreachable code 2023-02-06 14:41:14 +01:00
cc9e54ea6b Merge pull request 'improve srv20 error messages' (#723) from eive/fsfw:srv20_error_msgs into development
Reviewed-on: fsfw/fsfw#723
2023-02-06 14:37:26 +01:00
31465a4e0f Merge pull request 'MGM: small tweak, gain factor was always them same' (#724) from eive/fsfw:mgm_handler_small_fix into development
Reviewed-on: fsfw/fsfw#724
2023-02-06 14:36:34 +01:00
c0e5d1eb99 Merge branch 'development' into tcp_server_reuseaddr_reusesocket 2023-02-06 14:34:52 +01:00
3bc5d4a2e0 Merge remote-tracking branch 'upstream/development' into mgm_handler_small_fix 2023-02-06 14:25:33 +01:00
b1e9dd9e4a Merge remote-tracking branch 'upstream/development' into updates_fixes_pus_time_service 2023-02-06 14:24:38 +01:00
ab86599db3 Merge pull request 'Bugfix DHB setNormalDatapoolEntriesInvalid' (#728) from eive/fsfw:bugfix_dhb_set_datapool_entries_invalid into development
Reviewed-on: fsfw/fsfw#728
2023-02-06 14:20:34 +01:00
034eb34c2e small tweak 2023-02-03 16:05:50 +01:00
4374c7c4f4 changelog 2023-02-03 16:01:56 +01:00
5343844be5 bugfix in setNormalDataPoolEntriesInvalid
Do not forget to call read and write to actually update the
validity state
2023-02-03 16:00:55 +01:00
e300490b93 Merge pull request 'Bugfix PUS packet creators Sequence flags' (#727) from eive/fsfw:bugfix_pus_packets_seq_flags into development
Reviewed-on: fsfw/fsfw#727
2023-02-02 17:22:29 +01:00
0f811777a7 changelog update 2023-02-01 20:49:53 +01:00
e93137939e set sequence flags for PUS TMTC to unsegmented 2023-02-01 20:48:26 +01:00
c1f42618db small but important bugfix for health service 2023-02-01 19:59:32 +01:00
1f88c006d9 update changelog 2023-02-01 18:42:09 +01:00
7e94baceef service 9 update
- fix time info event
- add time dump subservice
2023-02-01 18:39:23 +01:00
61df451dd8 update changelog 2023-02-01 17:41:47 +01:00
29ea89044e beatufil 2023-02-01 17:35:49 +01:00
e487f5be87 proper announce all impl 2023-02-01 17:35:32 +01:00
9b05e8f274 re-order fields in TcpConfig 2023-01-30 14:24:48 +01:00
eb223dae88 bump changelog 2023-01-30 14:20:28 +01:00
3656662d88 small tweak, gain factory was always them same 2023-01-30 14:18:03 +01:00
fe71978467 improve srv20 error messages 2023-01-30 14:15:37 +01:00
b646717a76 bump changelog 2023-01-30 14:11:00 +01:00
99d8c845f2 allow using SO_REUSEADDR and SO_REUSEPORT on TCP server 2023-01-30 14:07:41 +01:00
0e7c6b117f Merge pull request 'Service 11 TC Scheduler Robustness Improvements' (#720) from service_11_bugfixes into development
Reviewed-on: fsfw/fsfw#720
2023-01-13 13:33:19 +01:00
d16c5024dc small include improvement 2023-01-13 11:15:36 +01:00
a4531e4ced typo 2023-01-13 10:59:39 +01:00
97c629ad84 update changelog 2023-01-13 10:53:36 +01:00
bf12f284fa add size and crc check for contained TC 2023-01-13 10:53:04 +01:00
ba62c28b64 adding linux ci and fixing problems 2023-01-12 15:40:52 +01:00
7adb47aecb remove duplicate printout 2023-01-11 08:45:37 +01:00
8589f4d63a Merge pull request 'updates for source sequence counter' (#714) from eive/fsfw:source_seq_counter_update into development
Reviewed-on: fsfw/fsfw#714
2022-12-19 15:00:28 +01:00
ca80589233 make get const 2022-12-19 14:58:08 +01:00
f2ebaed092 Merge pull request 'vec getter, reset for content' (#716) from eive/fsfw:get_cmd_exec_read_buf into development
Reviewed-on: fsfw/fsfw#716
2022-12-19 14:56:11 +01:00
f0b89e98df Merge pull request 'printout handling improvements' (#717) from eive/fsfw:i2c_printout_improvements into development
Reviewed-on: fsfw/fsfw#717
2022-12-19 14:45:04 +01:00
5557d95994 Merge branch 'development' into i2c_printout_improvements 2022-12-05 14:20:58 +01:00
fc24c9b5d8 Merge branch 'development' into get_cmd_exec_read_buf 2022-12-05 14:20:52 +01:00
7ef69c839c Merge pull request 'small fix to allow teardown handling' (#713) from eive/fsfw:mueller/shutdown_for_failed_to_on_transition into development
Reviewed-on: fsfw/fsfw#713
2022-11-28 14:30:15 +01:00
9b798d798e Merge pull request 'DLE parser' (#711) from eive/fsfw:mueller/dle_parser into development
Reviewed-on: fsfw/fsfw#711
2022-11-28 14:13:18 +01:00
b13453f46b vec getter, reset for content 2022-11-28 08:43:54 +01:00
d0e322d7e2 printout handling improvements 2022-11-28 08:42:08 +01:00
ecde164f68 updates for source sequence counter 2022-11-28 08:30:45 +01:00
50930b41ba Merge remote-tracking branch 'upstream/development' into mueller/dle_parser 2022-11-28 08:27:24 +01:00
d6ee2ed400 Merge pull request 'AcceptsTelemetryIF tweaks' (#712) from eive/fsfw:mueller/accepts_tm_if_adaptions into development
Reviewed-on: fsfw/fsfw#712
2022-11-21 16:30:43 +01:00
f2150ff9c2 Merge pull request 'only delete table entry if not nullptr' (#710) from eive/fsfw:mueller/health_helper_bugfix into development
Reviewed-on: fsfw/fsfw#710
2022-11-21 16:24:13 +01:00
1b9c98f3fe Merge pull request 'uio able to resolve symlinks now' (#709) from eive/fsfw:mueller/uio_mapper_handle_symlinks into development
Reviewed-on: fsfw/fsfw#709
2022-11-21 16:14:36 +01:00
742152b28e Merge branch 'development' into mueller/accepts_tm_if_adaptions 2022-11-21 15:29:35 +01:00
bf4ca56658 Merge branch 'development' into mueller/shutdown_for_failed_to_on_transition 2022-11-21 15:29:11 +01:00
16ffa00155 Merge branch 'development' into mueller/dle_parser 2022-11-21 15:28:34 +01:00
14c681c93a Merge branch 'development' into mueller/uio_mapper_handle_symlinks 2022-11-21 15:27:06 +01:00
0958c3a00e Merge branch 'development' into mueller/health_helper_bugfix 2022-11-21 15:24:51 +01:00
d699d16307 Merge pull request 'SP reader getPacketData is const now' (#708) from eive/fsfw:mueller/sp_reader_const_get_data into development
Reviewed-on: fsfw/fsfw#708
2022-11-21 15:23:39 +01:00
3b0fed733f Merge branch 'development' into mueller/uio_mapper_handle_symlinks 2022-11-21 15:23:15 +01:00
23d3812fe3 this is actually important 2022-11-21 15:22:25 +01:00
dec7db3ae2 Merge remote-tracking branch 'upstream/development' into mueller/accepts_tm_if_adaptions 2022-11-21 15:00:06 +01:00
65a5abab49 move free call 2022-11-21 14:56:08 +01:00
0129783e34 Merge branch 'development' into mueller/sp_reader_const_get_data 2022-11-21 14:50:44 +01:00
cabe0868ec Merge pull request 'move container returnvalues to namespace' (#707) from eive/fsfw:mueller/update_containers_retval into development
Reviewed-on: fsfw/fsfw#707
2022-11-21 14:49:44 +01:00
f05295bada small fix to allow teardown handling 2022-11-17 15:16:29 +01:00
b85ca64690 update changelog 2022-11-15 11:48:28 +01:00
3bc3da5a8d update changelog 2022-11-15 11:47:26 +01:00
f8c07ec9cf update changelog 2022-11-15 11:46:43 +01:00
8199b8f359 bump changelog 2022-11-15 11:45:39 +01:00
cbc8dbcdd4 update changelog 2022-11-15 11:44:45 +01:00
d31a5306f0 fix mock 2022-11-15 11:41:03 +01:00
a236a5ec50 adaptions for AcceptsTelemetryIF 2022-11-15 11:40:26 +01:00
03620970e2 function to get queue is const now 2022-11-15 11:38:32 +01:00
8fe8d810e9 only delete table if not nullptr 2022-11-15 11:27:31 +01:00
9483c2809d DLE parser 2022-11-15 11:26:53 +01:00
fe3d6bd432 uio able to resolve symlinks now 2022-11-15 10:56:46 +01:00
2a842666d5 SP reader getPacketData is const now 2022-11-15 10:46:46 +01:00
c013fcc1f5 move container retvals to namespace 2022-11-15 10:01:37 +01:00
1b8fc2af19 Merge pull request 'CFDP Update' (#682) from mueller/cfdp-update-without-handlers into development
Reviewed-on: fsfw/fsfw#682
2022-11-14 15:04:43 +01:00
72d7c43445 updates for storage manager mock 2022-11-14 14:57:37 +01:00
ab9b6c8c89 Merge remote-tracking branch 'origin/development' into mueller/cfdp-update-without-handlers 2022-11-14 14:51:33 +01:00
69d338f9bb Merge pull request 'Local Pool Update Remove Add Data Ignore Fault Argument' (#701) from eive/fsfw:mueller/local-pool-update-remove-ignore-fault-arg into development
Reviewed-on: fsfw/fsfw#701
2022-11-14 14:49:34 +01:00
68223869d5 Merge branch 'development' into mueller/local-pool-update-remove-ignore-fault-arg 2022-11-14 14:47:07 +01:00
93fda71989 Merge pull request 'refactoring of serial drivers for linux' (#705) from eive/fsfw:mueller/refactor_serial_linux into development
Reviewed-on: fsfw/fsfw#705
2022-11-14 14:39:41 +01:00
7b0db08962 Merge branch 'development' into mueller/refactor_serial_linux 2022-11-14 14:36:31 +01:00
0956fbc740 Merge pull request 'fix compiler warning for fixed array list copy ctor' (#704) from eive/fsfw:mueller/fixed_array_list_copy_ctor into development
Reviewed-on: fsfw/fsfw#704
2022-11-14 14:28:46 +01:00
b48e0fdc0d Merge remote-tracking branch 'origin/development' into mueller/cfdp-update-without-handlers 2022-11-14 14:25:36 +01:00
1d084ee22f Merge branch 'development' into mueller/fixed_array_list_copy_ctor 2022-11-14 14:21:04 +01:00
1bea2344f6 remove using declaraction 2022-11-14 14:21:00 +01:00
d7e16a67a7 Merge pull request 'Windows Tweaks' (#691) from eive/fsfw:windows-tweaks-upstream into development
Reviewed-on: fsfw/fsfw#691
2022-11-14 14:18:47 +01:00
6021d897b8 Merge branch 'development' into windows-tweaks-upstream 2022-11-14 14:13:57 +01:00
83a6f0b5f8 reenable setup function call 2022-11-14 14:12:26 +01:00
a9c6c088f2 remove leftover debugging code 2022-11-14 14:08:38 +01:00
b6a3c206cc smaller include tweaks 2022-11-11 11:34:58 +01:00
5b352978c5 rename cookie class 2022-11-11 11:33:35 +01:00
819a298b19 refactoring of serial drivers for linux 2022-11-10 17:50:21 +01:00
16246d6ece replace other memcpy 2022-11-10 16:18:36 +01:00
5c84f12440 this not crash 2022-11-10 16:15:52 +01:00
83c2c4825c fix compiler error for fixed array list copy ctor 2022-11-10 15:54:03 +01:00
c913fe40bf tweaks 2022-11-09 17:54:08 +01:00
70ec08bf1d Merge pull request 'missing include' (#703) from KSat/fsfw:mueller/time_reader_include into development
Reviewed-on: fsfw/fsfw#703
2022-11-09 16:59:25 +01:00
ef23665d9c Merge branch 'development' into mueller/time_reader_include 2022-11-09 16:39:55 +01:00
eefc122292 Merge pull request 'defaultconfig did not build anymore' (#702) from mohr/fix_defaultconfig into development
Reviewed-on: fsfw/fsfw#702
2022-11-09 14:12:41 +01:00
bee33526a1 missing include 2022-11-09 13:49:40 +01:00
f715b65d6e Merge remote-tracking branch 'upstream/development' into mueller/local-pool-update-remove-ignore-fault-arg 2022-10-28 10:06:04 +02:00
c11af63015 Merge remote-tracking branch 'origin/development' into mueller/cfdp-update-without-handlers 2022-10-28 10:04:21 +02:00
11a22577be defaultconfig did not build anymore 2022-10-25 11:28:13 +02:00
dc1583c932 Merge branch 'development' into windows-tweaks-upstream 2022-10-24 17:10:44 +02:00
94f1f1f908 Merge pull request 'Refactor TM and TC acceptor interfaces' (#684) from mueller/refactor-accepts-tc-tm-if into development
Reviewed-on: fsfw/fsfw#684
2022-10-24 17:10:03 +02:00
81a7de2814 make dtor virtual 2022-10-24 16:39:32 +02:00
d26f230bee builds 2022-10-24 15:43:20 +02:00
4db124c680 ignore fault 2022-10-24 15:41:29 +02:00
955579c856 Merge branch 'development' into mueller/refactor-accepts-tc-tm-if 2022-10-24 14:57:38 +02:00
2df66c9304 Merge branch 'mueller/local-pool-update' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/local-pool-update 2022-10-24 14:39:11 +02:00
54ad6b3016 add some docs 2022-10-24 14:39:05 +02:00
73e313c35b Merge branch 'development' into mueller/local-pool-update 2022-10-24 14:35:24 +02:00
c6585c8645 Merge pull request 'important bugfix for linux i2c device com IF' (#700) from eive/fsfw:mueller/i2c-com-if-bugfix into development
Reviewed-on: fsfw/fsfw#700
2022-10-24 14:35:01 +02:00
dd2f42d22b Merge branch 'development' into mueller/local-pool-update 2022-10-24 14:34:56 +02:00
d8a4675842 bump changelog 2022-10-24 14:30:14 +02:00
1164c21ddd iter not a member anymore, more bugfixes 2022-10-24 14:23:43 +02:00
77b1a85b47 important bugfix for i2c device com IF 2022-10-20 14:24:40 +02:00
652c31a683 missing validity check 2022-10-17 17:25:27 +02:00
bfe120636c this should have the same effect 2022-10-17 15:08:46 +02:00
a8041f220f Merge branch 'development' into mueller/cfdp-update-without-handlers 2022-10-17 14:44:28 +02:00
dd636b186b size check bugfix 2022-10-17 14:30:27 +02:00
3349fc36f8 Merge branch 'development' into windows-tweaks-upstream 2022-10-17 14:20:48 +02:00
f3e9277e59 Merge branch 'development' into mueller/refactor-accepts-tc-tm-if 2022-10-10 15:45:05 +02:00
d592f1ecbc Merge pull request 'Minor API tweak' (#689) from eive/fsfw:mueller/smaller-tweaks into development
Reviewed-on: fsfw/fsfw#689
2022-10-10 15:10:57 +02:00
6ec18171a8 Merge pull request 'now that doc server is up, remove markdown files' (#688) from mueller/remove-markdown-docs into development
Reviewed-on: fsfw/fsfw#688
2022-10-10 15:04:11 +02:00
518dcdef4b Merge branch 'development' into mueller/smaller-tweaks 2022-10-10 15:03:04 +02:00
d9730032fd Merge pull request 'DHB Countdown Bug' (#693) from eive/fsfw:mueller/dhb-countdown-bug into development
Reviewed-on: fsfw/fsfw#693
2022-10-10 14:55:43 +02:00
b3ac72b7db Merge pull request 'missing retval conv' (#697) from mueller/missing-retval-conversion into development
Reviewed-on: fsfw/fsfw#697
2022-10-10 14:54:26 +02:00
cd0cb43412 Merge branch 'development' into mueller/missing-retval-conversion 2022-10-10 14:46:10 +02:00
32c12b3dbf Merge pull request 'small fix for helper' (#698) from mueller/small-helper-script-fix into development
Reviewed-on: fsfw/fsfw#698
2022-10-10 14:43:59 +02:00
3e9acf476e Merge branch 'development' into mueller/small-helper-script-fix 2022-10-10 14:25:49 +02:00
99101ce2bf Merge pull request 'hotfix' (#699) from eive/fsfw:mueller/dhb-some-more-fixes into development
Reviewed-on: fsfw/fsfw#699
2022-10-10 14:22:30 +02:00
6b991045f7 Merge branch 'development' into mueller/smaller-tweaks 2022-10-10 13:41:47 +02:00
df06064df0 Merge branch 'development' into windows-tweaks-upstream 2022-10-10 13:41:09 +02:00
337cb0d6c9 hotfix 2022-10-10 10:21:17 +02:00
c283e0c988 okay this is correct 2022-10-04 11:02:08 +02:00
448d20f3bd small fix for helper 2022-10-04 10:55:46 +02:00
2316728d74 Merge branch 'development' into mueller/dhb-countdown-bug 2022-10-04 10:53:26 +02:00
6f562e5f3e missing retval conv 2022-10-04 10:25:58 +02:00
176f243194 Merge pull request 'Switch to new documentation server' (#694) from mohr/documentation_ci into development
Reviewed-on: fsfw/fsfw#694
2022-09-30 15:05:16 +02:00
d964fa2107 Merge branch 'development' into mohr/documentation_ci 2022-09-30 14:50:20 +02:00
7b5ae6a445 done? 2022-09-30 14:40:59 +02:00
8e362a000c Revert "one last check"
This reverts commit 7877776e24.
2022-09-30 14:36:25 +02:00
7877776e24 one last check 2022-09-30 14:34:25 +02:00
3de0ae5a48 DHB bug 2022-09-29 17:22:44 +02:00
e0c780f21c better comment 2022-09-28 09:59:31 +02:00
876815b1c9 another small windows tweak 2022-09-28 09:59:22 +02:00
b0ecf87580 last windows tweak 2022-09-28 09:59:12 +02:00
68ce8b5b08 tweaks to make windows build again 2022-09-28 09:59:02 +02:00
fe03da6def Merge remote-tracking branch 'origin/development' into mueller/cfdp-update-without-handlers 2022-09-26 15:38:45 +02:00
95ac53c417 Merge branch 'development' into mueller/smaller-tweaks 2022-09-26 14:40:29 +02:00
62f638a3d2 Merge pull request 'doc corrections' (#687) from mueller/doc-corrections into development
Reviewed-on: fsfw/fsfw#687
2022-09-26 14:38:39 +02:00
bd64591f30 Merge branch 'development' into mueller/smaller-tweaks 2022-09-26 14:34:38 +02:00
e6a877f048 Merge branch 'development' into mueller/doc-corrections 2022-09-26 14:26:48 +02:00
ea8c557ee8 Merge pull request 'better error printout' (#686) from eive/fsfw:mueller/local-pool-obj-base-better-warning into development
Reviewed-on: fsfw/fsfw#686
2022-09-26 14:26:20 +02:00
0bdd780f82 Merge branch 'development' into mueller/doc-corrections 2022-09-26 14:17:24 +02:00
9ec397c8b7 Merge branch 'development' into mueller/local-pool-obj-base-better-warning 2022-09-26 14:17:19 +02:00
c54d9d7ba6 add some tests 2022-09-26 14:15:11 +02:00
30c03c110c Merge pull request 'include correction' (#683) from mueller/service-interface-include-correction into development
Reviewed-on: fsfw/fsfw#683
2022-09-26 14:14:57 +02:00
69f1be263a Merge branch 'development' into mueller/local-pool-obj-base-better-warning 2022-09-26 14:10:21 +02:00
c7b5309dcb Merge branch 'development' into mueller/service-interface-include-correction 2022-09-26 14:08:38 +02:00
775d5632de update to ssh connection to doc server 2022-09-23 20:26:45 +02:00
4f3361eb2b another ci check 2022-09-23 18:33:47 +02:00
9e6c1d60e5 another ci check 2022-09-23 17:54:41 +02:00
12d0c23c13 Revert "testing deployment of documentation"
This reverts commit 5488ee715f.
2022-09-23 17:31:17 +02:00
5c3bb13834 Revert "testing deployment of both development and master doc"
This reverts commit c0000a8635.
2022-09-23 17:31:07 +02:00
292fe3e5e4 forgot epilog file 2022-09-23 17:11:57 +02:00
33530f2819 adding Impressum and Datenschutz to lcov output 2022-09-23 17:04:35 +02:00
c0000a8635 testing deployment of both development and master doc 2022-09-23 14:14:10 +02:00
5488ee715f testing deployment of documentation 2022-09-23 14:07:12 +02:00
0fea22d031 switching to rsync and deploying to web documentation 2022-09-23 14:06:28 +02:00
3b8ca09299 prepared docker for documentation rsync 2022-09-23 13:46:03 +02:00
9a2146fa2d added impressum and datenschutz in sphinx documentation 2022-09-23 11:36:29 +02:00
558550ecb9 Merge branch 'development' into mueller/smaller-tweaks 2022-09-16 18:37:39 +02:00
72172a972b update changelog 2022-09-16 18:24:23 +02:00
b4b11ebd3b fixes and tweaks 2022-09-16 18:20:42 +02:00
6f8ccf83e7 use singular enum names 2022-09-15 18:41:15 +02:00
67f1cd0b5f Merge branch 'development' into mueller/cfdp-update-without-handlers 2022-09-15 18:35:22 +02:00
54762232a4 refactoring and condition code to strin converter 2022-09-15 16:46:09 +02:00
2fee2fdff5 unittest which would have caught this 2022-09-15 16:20:52 +02:00
954c749de0 additional docs 2022-09-15 16:02:46 +02:00
bcbbc9763a markdown update not required, will be removed 2022-09-15 14:00:01 +02:00
0042372cb6 now that doc server is up, remove markdown files 2022-09-15 13:58:13 +02:00
8dea13742f update rst file 2022-09-15 13:57:39 +02:00
0f027d29d2 doc corrections 2022-09-15 13:53:42 +02:00
131e3ff1e3 Revert "doc corrections"
This reverts commit 423a9540ed.
2022-09-15 13:52:28 +02:00
423a9540ed doc corrections 2022-09-15 13:51:59 +02:00
ce7146e468 printout tweak 2022-09-15 13:40:12 +02:00
a681a4a797 better error printout 2022-09-15 13:38:38 +02:00
e585c1d84a Merge remote-tracking branch 'origin/development' into mueller/cfdp-update-without-handlers 2022-09-15 11:02:04 +02:00
83b7b8707c Merge remote-tracking branch 'origin/development' into mueller/refactor-accepts-tc-tm-if 2022-09-15 11:01:19 +02:00
4002b74ea2 Merge branch 'development' into mueller/service-interface-include-correction 2022-09-15 11:01:06 +02:00
4f7f8310c9 Merge remote-tracking branch 'origin/development' into mueller/local-pool-update 2022-09-15 11:00:43 +02:00
1a833e2d45 another missing changelog entry 2022-09-15 10:59:10 +02:00
8df6d934d7 another missing changelog entry 2022-09-15 10:56:52 +02:00
5363868120 added another missing changelog entry 2022-09-15 10:54:45 +02:00
36cf59cc8e Merge branch 'mueller/refactor-accepts-tc-tm-if' into mueller/cfdp-update-without-handlers 2022-09-15 10:52:13 +02:00
97fec909f2 Merge branch 'mueller/local-pool-update' into mueller/cfdp-update-without-handlers 2022-09-15 10:50:35 +02:00
1db77753e3 Merge remote-tracking branch 'origin/development' into mueller/local-pool-update 2022-09-15 10:49:24 +02:00
8501477a78 Merge remote-tracking branch 'origin/development' into mueller/refactor-accepts-tc-tm-if 2022-09-15 10:48:42 +02:00
6eea711d9f Merge branch 'development' into mueller/service-interface-include-correction 2022-09-15 10:48:28 +02:00
9a181aa6a8 another missing changelog entry 2022-09-15 10:47:50 +02:00
655c944c0e another missing changelog entry 2022-09-15 10:45:35 +02:00
2e310fca8d add another missing changelog entry 2022-09-15 10:43:45 +02:00
37390dfc74 add missing changelog entry 2022-09-15 10:42:35 +02:00
75ddfdc65d Merge branch 'mueller/refactor-accepts-tc-tm-if' into mueller/cfdp-update-without-handlers 2022-09-15 10:41:16 +02:00
1efc0d2855 update changelog 2022-09-15 10:38:40 +02:00
e063b44899 add link to PR 2022-09-15 10:32:38 +02:00
b3c0e24611 bump changelog 2022-09-15 10:31:55 +02:00
ab7c3480f5 storage manager update 2022-09-15 10:30:22 +02:00
237e29cc59 all necessary modifications 2022-09-14 20:21:03 +02:00
0849c8a08d adding files manually 2022-09-14 20:10:41 +02:00
9d626e0a5d include correction 2022-09-14 19:59:02 +02:00
723f8749d4 bump changelog 2022-09-14 19:52:33 +02:00
2e27a85c95 finished renaming operation 2022-09-14 19:48:11 +02:00
73f1917c81 update changelog 2022-09-14 19:26:07 +02:00
3a52454949 removed handlers 2022-09-14 19:15:52 +02:00
ac7dc55fc1 fix unittest 2022-09-14 19:07:17 +02:00
389d804735 Merge remote-tracking branch 'origin/development' into mueller/cfdp-routers 2022-09-14 19:05:59 +02:00
44615c150b add printout capabilities 2022-09-14 14:00:20 +02:00
0ce568ad26 Merge pull request 'publish documentation for development and master branch' (#681) from mohr/documentation_ci into development
Reviewed-on: fsfw/fsfw#681
2022-09-14 11:22:35 +02:00
6970068d56 small fix in README 2022-09-13 18:19:35 +02:00
af282c7d3e reverting to only publish development 2022-09-13 18:17:56 +02:00
21a9d89fb3 pushing code coverage report to documentation server 2022-09-13 18:14:26 +02:00
3257935150 fixing scp yet again again 2022-09-13 18:06:16 +02:00
f34cf9095d fixing scp yet again 2022-09-13 18:02:38 +02:00
24ecf125a3 fixing scp command again 2022-09-13 17:55:12 +02:00
6451a16888 fixing scp command 2022-09-13 17:51:01 +02:00
4dadef34fd Merge remote-tracking branch 'origin/development' into mueller/cfdp-routers 2022-09-13 15:35:59 +02:00
382543fc59 important bugfix 2022-09-13 15:26:14 +02:00
fa5605c959 testing Jenkinsfile 2022-09-13 14:50:37 +02:00
a1ea671e2f header include update 2022-09-13 14:46:41 +02:00
8e835be55f testing Jenkinsfile 2022-09-13 14:46:12 +02:00
9bd600c488 testing Jenkinsfile 2022-09-13 14:32:10 +02:00
9c7248e78e typo in Dockerfile 2022-09-13 14:20:30 +02:00
ecf51b2913 testing Jenkinsfile 2022-09-13 14:09:08 +02:00
8bbde05413 add jenkins user in docker so that ssh will work 2022-09-13 14:08:04 +02:00
d79b5348d8 testing Jenkinsfile 2022-09-13 14:00:36 +02:00
92e3ab04f3 testing Jenkinsfile 2022-09-13 13:54:23 +02:00
003a6d00fa Documentation build tools in docker 2022-09-13 13:13:18 +02:00
26b3e5a013 fix misc def config 2022-09-12 15:14:42 +02:00
3e9b47d3a2 update docs release in conf.py 2022-09-12 15:12:26 +02:00
9ee1896553 Merge pull request 'Refactor Local Pool API' (#667) from mueller/refactor-local-pool-api into development
Reviewed-on: fsfw/fsfw#667
2022-09-12 14:32:08 +02:00
a5b5523111 Merge pull request 'Refactor TMTC Stack, improve test framework' (#655) from mueller/refactor-tmtc-stack into development
Reviewed-on: fsfw/fsfw#655
2022-09-12 14:31:22 +02:00
62cd39e573 Merge pull request 'SerialBufferAdapter refactoring' (#677) from mueller/refactor-serial-buffer-adapter into development
Reviewed-on: fsfw/fsfw#677
2022-09-12 14:30:51 +02:00
278ed36db8 Merge pull request 'bump catch2 version' (#678) from mueller/bump-catch2 into development
Reviewed-on: fsfw/fsfw#678
2022-09-12 14:24:28 +02:00
aed30d54ef Merge pull request 'remove bsp specific code' (#679) from mueller/remove-bsp-specific-code into development
Reviewed-on: fsfw/fsfw#679
2022-09-12 14:23:48 +02:00
1126db2c8a Merge pull request 'remove user includes' (#675) from mueller/remove-user-includes into development
Reviewed-on: fsfw/fsfw#675
2022-09-12 14:15:18 +02:00
a64a04d7fe Merge branch 'development' into mueller/refactor-tmtc-stack 2022-09-12 14:14:49 +02:00
80467bf097 Merge pull request 'sif::buffer: if disabeld do not print' (#680) from mohr/enableDisable into development
Reviewed-on: fsfw/fsfw#680
2022-09-12 14:12:13 +02:00
6a6aa7fdd6 Merge branch 'development' into mohr/enableDisable 2022-09-12 14:11:38 +02:00
7e379d2159 Merge pull request 'provide a weak print char impl' (#674) from mueller/provide-weak-print-char into development
Reviewed-on: fsfw/fsfw#674
2022-09-12 14:10:31 +02:00
6ae709acc3 Merge branch 'development' into mueller/remove-user-includes 2022-09-12 14:07:09 +02:00
34dd478848 helper class OneRemoteConfigProvider 2022-09-08 16:25:19 +02:00
b73754dfd6 implemented basic PDU forwarding 2022-09-08 12:07:16 +02:00
ec1e07b466 some more returncodes 2022-09-08 11:53:06 +02:00
d52f335455 sif::buffer: if disabeld do not print 2022-09-08 11:47:40 +02:00
c87667c03f some API improvements 2022-09-08 11:26:17 +02:00
683cf8a047 some additional tests 2022-09-08 11:08:40 +02:00
11a4b27642 allow deferred init 2022-09-07 18:20:38 +02:00
770463e618 remove old code 2022-09-07 18:04:46 +02:00
04b619a15c update header as well 2022-09-07 17:58:49 +02:00
282704e0fd remove bsp specific code 2022-09-07 17:54:04 +02:00
8971eb386e retval replacement 2022-09-07 17:40:22 +02:00
c54caf134a segmented file transfer working 2022-09-06 16:33:38 +02:00
aebd401d5b start segmentes file unittest 2022-09-06 16:14:39 +02:00
67439b4285 refactor away some duplication 2022-09-06 16:03:26 +02:00
07ef9a0ec3 bump catch2 version 2022-09-06 15:47:04 +02:00
af851165b4 continue basic small file transfer unittest 2022-09-06 15:45:51 +02:00
94c9800fae refactored out generic metadata part 2022-09-06 14:33:01 +02:00
ba046cebd9 empty file unittest complete 2022-09-06 14:06:22 +02:00
428da017ba empty file transfer unittest almost done 2022-09-06 13:45:43 +02:00
806ae9b41a check that indication was called 2022-09-06 13:16:00 +02:00
7b97c8a182 continue tests 2022-09-06 11:56:05 +02:00
2e4cdb7366 additional filesystem abstractions 2022-09-05 17:42:56 +02:00
5a3f05fa79 return struct ref instead of code 2022-09-05 17:20:29 +02:00
80464f2a81 Merge branch 'mueller/refactor-serial-buffer-adapter' into mueller/refactor-tmtc-stack 2022-09-05 16:38:58 +02:00
16688316a8 rename setBuffer to setConstBuffer 2022-09-05 16:31:56 +02:00
ead22c8bd6 Merge branch 'mueller/refactor-tmtc-stack' into mueller/cfdp-routers 2022-09-05 16:29:10 +02:00
3583e30ee6 rename const buf setter 2022-09-05 16:27:20 +02:00
61db018a74 Merge branch 'mueller/refactor-tmtc-stack' into mueller/cfdp-routers 2022-09-05 16:26:29 +02:00
1e395dc402 set buffer expects const pointer now 2022-09-05 16:25:02 +02:00
afc48726b9 comment out check 2022-09-05 16:23:13 +02:00
ece5ae59e4 compile fixes 2022-09-05 16:22:41 +02:00
a5d1c38b22 Merge branch 'mueller/refactor-tmtc-stack' into mueller/cfdp-routers 2022-09-05 16:19:34 +02:00
f5421e9abd refactor tm helper 2022-09-05 16:10:06 +02:00
4c3f9feb93 explicit include 2022-09-05 16:06:24 +02:00
b7ed8ff390 Merge branch 'mueller/refactor-tmtc-stack' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/refactor-tmtc-stack 2022-09-05 16:02:41 +02:00
75dc7a405d del data wrapper 2022-09-05 16:02:32 +02:00
b7a1f79d5b update FSFWCnfig.h 2022-09-05 15:36:12 +02:00
f0b7a103d4 refactor ctors 2022-09-05 15:30:53 +02:00
fb96250e36 Merge branch 'mueller/refactor-tmtc-stack' into mueller/cfdp-routers 2022-09-05 14:50:43 +02:00
ee93f4a4ca Merge branch 'development' into mueller/refactor-tmtc-stack 2022-09-05 14:46:51 +02:00
d64ad71529 Some improvements for time stamper API 2022-09-05 14:44:35 +02:00
5ce1e76723 init dest handler unittests 2022-09-05 14:20:01 +02:00
26bc80964e Merge branch 'development' into mueller/provide-weak-print-char 2022-09-05 14:14:06 +02:00
eb03bf52a6 Merge pull request 'better warning for missing include paths' (#676) from mueller/better-missing-inc-path-warning into development
Reviewed-on: fsfw/fsfw#676
2022-09-05 14:13:19 +02:00
52802f127b basic test stubs 2022-09-05 11:40:22 +02:00
d2c4d546c3 first dest handler unittests
- Add new mock class for event reporting proxies
- Add basic setup for unittesting the CFDP destination handler
2022-09-05 11:37:41 +02:00
0dd2b5ddd4 need an event reporter proxy 2022-09-05 11:19:23 +02:00
3dfc882226 impl finish PDU sending 2022-09-05 11:03:25 +02:00
b984128de5 stub for creating finished PDU 2022-09-05 10:30:55 +02:00
134d5a1411 basic impl which allows naked no closure file transfer 2022-09-05 10:26:35 +02:00
3147f67fbd basic dest handler framework almost complete 2022-09-02 18:03:52 +02:00
108e7737e2 continued dest handler 2022-09-02 17:54:25 +02:00
c90d1c8071 continue dest handler impl 2022-09-02 14:39:53 +02:00
eae75b29e7 start file data pdu processing 2022-09-02 11:58:16 +02:00
dc79b7ba00 delete metadata after processing 2022-09-02 11:38:46 +02:00
db84dcd3ce afmt 2022-09-02 11:12:16 +02:00
80355910ee better warning 2022-09-02 09:05:10 +02:00
04800df31e another user-level-include 2022-09-02 09:04:37 +02:00
1e85cdadfd remove user includes 2022-09-02 08:55:33 +02:00
ebc02673dd provide a weak print char impl 2022-09-02 08:50:39 +02:00
935f35a40d Merge branch 'mueller/refactor-tmtc-stack' into mueller/cfdp-routers 2022-09-01 17:52:17 +02:00
348af0124b Merge remote-tracking branch 'origin/development' into mueller/cfdp-routers 2022-09-01 17:52:11 +02:00
9202c6c17f Merge branch 'mueller/refactor-tmtc-stack' into mueller/refactor-local-pool-api 2022-09-01 17:51:50 +02:00
5f8c549993 Merge remote-tracking branch 'origin/development' into mueller/refactor-local-pool-api 2022-09-01 17:51:44 +02:00
04bff7a522 test fix 2022-09-01 17:51:09 +02:00
5c20cc804e Merge remote-tracking branch 'origin/development' into mueller/refactor-tmtc-stack 2022-09-01 17:48:40 +02:00
eb8e236cd4 Merge pull request 'Bugfix for Space Packet Parser' (#673) from eive/fsfw:mueller/fixes-tmtc-server-sp-parser into development
Reviewed-on: fsfw/fsfw#673
2022-09-01 14:12:16 +02:00
7dec45ccf2 Merge pull request 'Service 11 regression' (#670) from eive/fsfw:mueller/service-11-issues into development
Reviewed-on: fsfw/fsfw#670
2022-09-01 11:59:18 +02:00
2b01e86f9c one small additional precaution 2022-09-01 11:56:07 +02:00
60fd3d43c0 Merge pull request 'DHB TM handler alternative API raw buffer' (#671) from mueller/dhb-handle-device-tm-2 into development
Reviewed-on: fsfw/fsfw#671
2022-09-01 11:22:17 +02:00
67980cb592 Merge branch 'development' into mueller/fixes-tmtc-server-sp-parser 2022-09-01 11:21:02 +02:00
3010f2f925 Merge pull request 'DHB set action commander before buildCommandFromCommand' (#672) from eive/fsfw:mueller/dhb-set-action-commander-before-building-cmd into development
Reviewed-on: fsfw/fsfw#672
2022-09-01 11:18:32 +02:00
01651f0521 more simplfications 2022-09-01 10:52:48 +02:00
c7f300671f update header 2022-09-01 10:45:10 +02:00
7d3223d766 add comment blocks 2022-09-01 10:44:57 +02:00
7ae82a5cb4 do not cache previous recipient 2022-09-01 08:58:18 +02:00
28ecd0e5c6 bugfix for SP parser 2022-09-01 08:51:12 +02:00
7345c18b04 small fix which allows sending action reply immediately 2022-08-31 16:50:48 +02:00
0de7b66218 new retval for permission errors 2022-08-31 13:26:44 +02:00
158007fa7f const correct API 2022-08-31 00:02:25 +02:00
ab719a3e59 alternative solution 2022-08-30 23:38:55 +02:00
64a7fde301 this is annoying 2022-08-30 15:19:01 +02:00
9131ca688b make two helper functions protected 2022-08-30 15:01:10 +02:00
8e6cee7761 Merge branch 'mueller/data-wrapper' into mueller/refactor-tmtc-stack 2022-08-30 13:46:03 +02:00
c756297e5c data wrapper update 2022-08-30 13:39:44 +02:00
0f27c7e7e7 extend data wrapper 2022-08-30 13:24:29 +02:00
20d42add03 add new data wrapper helper type 2022-08-30 12:07:09 +02:00
a9277622ce move data wrapper 2022-08-30 12:04:15 +02:00
80e8511a43 Merge branch 'mueller/cfdp-routers' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/cfdp-routers 2022-08-30 11:21:12 +02:00
4a06f11582 Merge branch 'mueller/refactor-local-pool-api' into mueller/cfdp-routers 2022-08-30 11:12:59 +02:00
32c53b932d Merge branch 'mueller/refactor-tmtc-stack' into mueller/cfdp-routers 2022-08-30 11:12:53 +02:00
aea9db75cb better name 2022-08-30 11:12:06 +02:00
9fedd03ed8 use cfg struct for local pool API 2022-08-30 11:02:21 +02:00
10fc4dd89d Merge branch 'mueller/refactor-tmtc-stack' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/refactor-tmtc-stack 2022-08-30 10:58:06 +02:00
0cc8af5eb0 afmt 2022-08-30 10:57:17 +02:00
92d65aa3a5 use old lpm api 2022-08-30 10:57:02 +02:00
342a56410c delete commented function 2022-08-30 10:28:55 +02:00
2cab73d972 avoid duplicate code 2022-08-29 20:09:28 +02:00
9a9085b9e6 avoid duplicate code 2022-08-29 20:08:59 +02:00
cb23911ccd default initialization of CDS short struct 2022-08-29 15:30:45 +02:00
b499dedd76 remove TODO 2022-08-29 15:27:53 +02:00
1bb487373d Merge branch 'mueller/refactor-tmtc-stack' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/refactor-tmtc-stack 2022-08-29 15:20:51 +02:00
3bffb4f968 fix for static fw obj setter 2022-08-29 15:20:33 +02:00
6bcb208968 Merge branch 'development' into mueller/refactor-tmtc-stack 2022-08-29 15:11:50 +02:00
6c2b5ab39e Merge pull request 'improvements for auto-formatter script' (#665) from eive/fsfw:mueller/update-afmt-script into development
Reviewed-on: fsfw/fsfw#665
2022-08-29 15:06:56 +02:00
a7039bad41 Merge pull request 'PUS Service 11: Additional Safety Check' (#666) from eive/fsfw:mueller/service-11-tweak into development
Reviewed-on: fsfw/fsfw#666
2022-08-29 14:59:24 +02:00
6605ffb6b1 Fixing check in Srv 11 Filer 2022-08-29 14:55:50 +02:00
e2e0190cae Revert "additional safety check"
This reverts commit fd278e410b.
2022-08-29 14:51:14 +02:00
fd278e410b additional safety check 2022-08-29 13:18:54 +02:00
ff4cbea571 improvements for auto-formatter script 2022-08-24 17:44:55 +02:00
81a7c21cd1 continued router component 2022-08-24 17:31:26 +02:00
267466be9d pass const references to user handler now 2022-08-24 15:43:58 +02:00
2c730c8632 use const struct ref instead 2022-08-24 12:11:03 +02:00
eb29b79467 some more docs 2022-08-24 08:44:20 +02:00
26ea6606bf metadata recvd indication 2022-08-23 20:56:09 +02:00
b1bd631322 implemented metadata handler 2022-08-23 20:30:41 +02:00
9441b4a70e continue dest handler 2022-08-23 19:37:30 +02:00
95457b1760 Merge branch 'mueller/refactor-tmtc-stack' into mueller/cfdp-routers 2022-08-22 16:38:41 +02:00
a46d8c34d9 small changelog update 2022-08-22 16:37:53 +02:00
d12c59c8ac all retval replacements 2022-08-22 16:35:53 +02:00
9e5dddf79c Merge branch 'mueller/refactor-tmtc-stack' into mueller/cfdp-routers 2022-08-22 16:24:20 +02:00
ba5c6410d6 tests running again 2022-08-22 16:23:36 +02:00
52f8c5038b Merge branch 'mueller/refactor-tmtc-stack' into mueller/cfdp-routers 2022-08-22 16:21:41 +02:00
10f34e5a48 Merge remote-tracking branch 'origin/development' into mueller/refactor-tmtc-stack-with-retval-refactoring 2022-08-22 15:57:22 +02:00
dab1b1d067 apply auto-formatter 2022-08-22 15:02:53 +02:00
8c8d1cfa84 apply auto-formatter 2022-08-22 15:02:16 +02:00
2a4ab0af7b Merge branch 'mueller/refactor-tmtc-stack' into mueller/refactor-tmtc-stack-with-retval-refactoring 2022-08-22 14:17:24 +02:00
7c59df3f1c Merge pull request 'returnvalue namespace' (#659) from mueller/expand-retval-if into development
Reviewed-on: fsfw/fsfw#659
2022-08-22 14:14:06 +02:00
3b33b429e6 Merge branch 'mueller/refactor-tmtc-stack' into mueller/cfdp-routers 2022-08-18 11:21:16 +02:00
ff6de8e378 important bugfix for verif reporter 2022-08-18 11:20:27 +02:00
11a699c3ce a list should do the job 2022-08-17 18:49:51 +02:00
6930656d4e added some more basic tests 2022-08-17 17:09:39 +02:00
0bb82e0da2 add fs mock feed function 2022-08-17 16:47:46 +02:00
12c452e7ce finished host FS unittests 2022-08-17 16:10:52 +02:00
23f514039a host filesystem continued 2022-08-17 11:39:15 +02:00
2e52d7a31d Merge branch 'mueller/refactor-tmtc-stack' into mueller/cfdp-routers 2022-08-16 17:23:52 +02:00
239d053562 update changelog 2022-08-16 17:23:10 +02:00
875174c4ad better name for global object 2022-08-16 17:17:45 +02:00
8fd8a37f59 flip verif reporter ctor arguments 2022-08-16 17:10:48 +02:00
217276d50c renamed returnvalue header 2022-08-16 12:48:22 +02:00
d2ac3603a5 some more occurences 2022-08-16 12:29:53 +02:00
f63f3fa564 more occurences in comments 2022-08-16 12:12:21 +02:00
fc34d56239 cicd fix 2022-08-16 01:12:50 +02:00
1037102349 merge retval refactoring 2022-08-16 01:08:26 +02:00
221361eb9c Merge remote-tracking branch 'origin/development' into mueller/expand-retval-if 2022-08-15 20:32:38 +02:00
7f9269b387 fix for def cfg 2022-08-15 20:30:59 +02:00
4224c3d009 bump changelog 2022-08-15 20:29:23 +02:00
62fe75ee40 perform renaming 2022-08-15 20:28:16 +02:00
e76e109bdb Merge branch 'mueller/refactor-tmtc-stack' into mueller/cfdp-routers 2022-08-15 19:17:15 +02:00
9e064fe800 fix unittests 2022-08-15 19:16:31 +02:00
2339c48756 Merge branch 'mueller/refactor-tmtc-stack' into mueller/cfdp-routers 2022-08-15 19:07:22 +02:00
d7ec04bf4b Merge remote-tracking branch 'origin/development' into mueller/refactor-tmtc-stack 2022-08-15 19:05:50 +02:00
adcc375f25 Merge pull request 'New UnsignedByte Field class' (#660) from mueller/new-object-id-class into development
Reviewed-on: fsfw/fsfw#660
2022-08-15 15:22:30 +02:00
94a718ff19 Merge remote-tracking branch 'origin/development' into mueller/expand-retval-if 2022-08-15 15:15:51 +02:00
4a10f76784 Merge remote-tracking branch 'origin/development' into mueller/new-object-id-class 2022-08-15 15:15:00 +02:00
57ce5d1f34 Merge pull request 'Expand SerializeIF' (#656) from mueller/expand-serialize-if into development
Reviewed-on: fsfw/fsfw#656
2022-08-15 15:13:50 +02:00
90963b3940 Merge pull request 'group MGM data in local pool vectors' (#664) from eive/fsfw:mueller/group-mgm-data into development
Reviewed-on: fsfw/fsfw#664
2022-08-15 15:07:16 +02:00
71ed95b09a Merge branch 'development' into mueller/group-mgm-data 2022-08-15 15:03:35 +02:00
7ac4f1c64d Merge branch 'development' into mueller/new-object-id-class 2022-08-15 15:03:11 +02:00
9d64b96e9a update changelog 2022-08-15 15:02:39 +02:00
5de2c6af66 Merge branch 'mueller/new-object-id-class' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/new-object-id-class 2022-08-15 15:02:12 +02:00
ca2efb6021 remove object ID 2022-08-15 15:02:05 +02:00
3b000d924a Merge branch 'development' into mueller/expand-retval-if 2022-08-15 14:36:04 +02:00
deeeef553b remove implicit machine endianness variants 2022-08-15 14:34:04 +02:00
0e7ec79af9 Merge pull request 'Add Linux HAL options' (#663) from eive/fsfw:mueller/cmake-linux-hal-options into development
Reviewed-on: fsfw/fsfw#663
2022-08-15 13:58:09 +02:00
d3cabd8984 afmt 2022-08-15 11:26:29 +02:00
8efe85cb15 Merge branch 'development' into mueller/new-object-id-class 2022-08-15 11:25:51 +02:00
b28c26b288 group MGM data in local pool vectors 2022-08-15 10:49:00 +02:00
8b4253bc46 update cmakelists.txt 2022-08-12 13:02:30 +02:00
c12492df03 continued host FS test 2022-08-11 10:19:25 +02:00
8aaabc5d73 basic host FS unittests 2022-08-11 10:10:05 +02:00
e796e025b6 continue host fs unittests 2022-08-11 09:59:14 +02:00
20eee2c469 finished host FS impl 2022-08-11 09:32:18 +02:00
aca8b53a59 start host FS impl 2022-08-10 17:03:23 +02:00
3df1161560 this should do the job 2022-08-10 15:03:53 +02:00
ea6e5d9971 Merge branch 'mueller/cfdp-routers' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/cfdp-routers 2022-08-10 13:36:51 +02:00
46a4203d00 testLvs fix 2022-08-10 13:36:41 +02:00
c86adf8e10 Merge branch 'development' into mueller/cfdp-routers 2022-08-10 13:10:09 +02:00
a2e0646ed4 fix duplicate naming error 2022-08-10 13:05:07 +02:00
28c8248f26 add FS mock and improve HasFilesystemIF 2022-08-10 11:09:07 +02:00
3e1fd15613 completed all indication parameters 2022-08-10 10:34:02 +02:00
e45a99143c added const char* test 2022-08-10 09:45:24 +02:00
96dfe46e25 added string LV tests 2022-08-10 09:39:57 +02:00
507c6ddff1 added some param structs 2022-08-09 21:03:56 +02:00
0cb15e901e new cfdp mock folder, added additional cfdp mocks 2022-08-09 19:00:47 +02:00
d45108e3c2 add remote config table provider class 2022-08-09 18:51:44 +02:00
8c059f8f32 new filesystem module 2022-08-09 16:36:35 +02:00
5bea92d2a4 some doc updates 2022-08-09 16:26:37 +02:00
bba2d883b6 added some documentation 2022-08-09 16:18:45 +02:00
7a20412305 add user base documentation 2022-08-09 15:51:01 +02:00
dce1ebcf65 add CFDP user base 2022-08-09 15:46:42 +02:00
4ee01e395b finished fault handler unit tests 2022-08-09 15:29:22 +02:00
7f9401cf63 some bugfixes 2022-08-09 15:09:43 +02:00
dba3f9960e add CFDP fault handler mock 2022-08-09 14:55:08 +02:00
eccb629ba8 fnished fault handler base 2022-08-09 14:39:03 +02:00
7fb906a0ac add first fault handler base class 2022-08-09 14:05:43 +02:00
9796abfc7d Merge branch 'development' into mueller/refactor-tmtc-stack 2022-08-09 13:06:08 +02:00
0d26a0f54b fnish CFDP distributor unittests 2022-08-09 13:04:23 +02:00
192956c2c7 use new storage manager mock 2022-08-09 12:50:50 +02:00
22e1555f50 basic storage manager mock 2022-08-09 12:45:05 +02:00
bddf5bded1 move some storage manager impl to IF
- Add StorageManagerMock
2022-08-09 12:36:29 +02:00
1c0b778848 continue CFDP distrib unittests 2022-08-09 12:13:10 +02:00
c832bffdb0 clean up header test 2022-08-09 11:17:57 +02:00
2f8020baac move parsing steps into parse function 2022-08-09 11:03:22 +02:00
06bea2f621 test inNull and bool operator 2022-08-09 10:59:24 +02:00
4f1fe39182 fix unittests 2022-08-08 18:36:10 +02:00
904abfba28 clean up CFDP stack a bit 2022-08-08 18:29:32 +02:00
202d9341d8 add CFDP unit tests 2022-08-08 17:53:42 +02:00
37c60d1dd0 add source and dest test stubs 2022-08-08 12:41:05 +02:00
43fb6ef5cb some tag replacements 2022-08-08 12:35:58 +02:00
65a47c7c57 add distributor test stub 2022-08-08 12:34:54 +02:00
fdb0cc0e44 tweaks for CFDP distributor 2022-08-08 12:31:19 +02:00
e6957de166 Merge branch 'development' into mueller/expand-retval-if 2022-08-05 14:02:50 +02:00
cc56b00df3 Merge branch 'development' into mueller/expand-serialize-if 2022-08-05 14:02:31 +02:00
269a3052ca added stubs for source and dest handler 2022-08-03 18:18:01 +02:00
c6a7a0fec8 use distributor instead of router 2022-08-03 18:14:49 +02:00
acf5c2a56d better names 2022-08-03 16:00:48 +02:00
7fb9e14555 better names for CFDP components 2022-08-03 15:22:39 +02:00
b20e8a9679 continue new cfdp router 2022-08-03 15:12:29 +02:00
29bcaee196 some tests for new var len field 2022-08-03 13:34:49 +02:00
cc98512caf use tags properly 2022-08-03 13:23:49 +02:00
60ea9a9a7c clean up a few tests 2022-08-03 13:15:49 +02:00
df690b9628 some re-ordering 2022-08-03 11:36:56 +02:00
b0c479cab9 remove some shadowing warnings 2022-08-03 11:34:30 +02:00
a426aef7c7 add some more tests for CCSDS distributor 2022-08-03 11:33:10 +02:00
43048c852a Merge pull request 'Fixed cmake variable for tests in README.md' (#661) from gaisser/fsfw:gaisser_readme_fix into development
Reviewed-on: fsfw/fsfw#661
2022-08-01 20:55:26 +02:00
19817bd3a5 Update 'docs/getting_started.rst'
Actually, this version still uses old folder names
2022-08-01 20:47:53 +02:00
1db04cf20c Update 'docs/getting_started.rst'
Update for new recommended build folder and cmake define name
2022-08-01 20:45:39 +02:00
902a4bfa9c unittests for TC and CCSDS distributor 2022-08-01 17:16:37 +02:00
52ee50ba8c Fixed cmake variable for tests in README.md 2022-08-01 16:21:07 +02:00
bf540ebb49 use sanitized include file 2022-08-01 14:23:52 +02:00
aa978205d8 Merge branch 'mueller/cfdp-routers' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/cfdp-routers 2022-08-01 13:05:56 +02:00
4334106ad1 applied auto-formatter 2022-08-01 11:05:46 +02:00
458fe460eb TMTC Routing Refactoring
1. Make TcDistributor less powerful / more flexible and rename it to TcDistributorBase
2. Require AcceptsTelecommandsIF to have an abstract function returning the name
3. Allows the CCSDS distributor to remove the CCSDS header before rerouting. This is useful
for protocols like CFDP which are CCSDS agnostic.

WIP: Still need to implement the removal of the CCSDS header
2022-08-01 11:00:36 +02:00
83d71548ec CCSDS unpacker implementation 2022-07-29 16:32:50 +02:00
f4beef8c9f run auto-formatter 2022-07-29 15:54:17 +02:00
c7b4dc349a using uint32_t for getIdentifier of AcceptsTcIF 2022-07-29 15:53:39 +02:00
96f092ef75 type correction 2022-07-29 14:30:58 +02:00
f75379fceb Merge branch 'mueller/new-object-id-class' into mueller/cfdp-routers 2022-07-29 14:27:59 +02:00
4a4d23573d verify correct key behaviour 2022-07-29 14:24:16 +02:00
cd4d92b12c Merge branch 'mueller/new-object-id-class' into mueller/cfdp-routers 2022-07-29 14:22:52 +02:00
47e148af8f decoupling 2022-07-29 14:19:10 +02:00
c9bec03f00 Merge branch 'mueller/expand-serialize-if' into mueller/new-object-id-type 2022-07-29 14:16:22 +02:00
6c5c59cad8 Merge branch 'mueller/expand-serialize-if' into mueller/new-object-id-type 2022-07-29 14:15:14 +02:00
03e12a2388 new object ID type 2022-07-29 14:15:05 +02:00
6c5bbfa080 some renaming 2022-07-29 12:03:14 +02:00
da106fd96f do not use TC info for failed TC retrieval 2022-07-29 10:23:59 +02:00
fc3412fa35 set sec header flag and add unit test for it 2022-07-28 15:13:27 +02:00
8f6f0e1d45 some more fail tests 2022-07-28 13:42:34 +02:00
1b5fa2a8fa test no crc generation 2022-07-28 13:37:07 +02:00
cb118176a0 completed ZcWriter unittests 2022-07-28 13:24:50 +02:00
30ba9ab916 some more fixes 2022-07-28 13:00:53 +02:00
fb4ba487b5 Merge remote-tracking branch 'origin/mueller/expand-retval-if' into mueller/refactor-tmtc-stack 2022-07-28 12:55:42 +02:00
72bc5d4d60 add tm zc test 2022-07-28 12:52:20 +02:00
5355e63711 use result instead of retval 2022-07-27 21:43:32 +02:00
b11cdf6184 update unittests 2022-07-27 21:32:22 +02:00
dc31358d52 adaption for SerializeIF
- Returns serialized and deserialized size now
2022-07-27 21:31:09 +02:00
b485afea57 Simple SerializeIF adaptions
- Returns serialized or deserialized size
2022-07-27 21:29:05 +02:00
5bb7023ff3 improvements for creator API 2022-07-27 21:11:12 +02:00
85dbef20b0 update serialize IF 2022-07-27 21:07:34 +02:00
93acac02f5 tests running again 2022-07-27 21:06:23 +02:00
7e8afcc12f remove nullptr check 2022-07-27 20:37:21 +02:00
f03b7cd660 another bugfix in CSB 2022-07-27 20:10:15 +02:00
d641d63531 set queue of tm send helper 2022-07-27 19:56:11 +02:00
4e571e5082 some more minor fixes 2022-07-27 19:40:54 +02:00
356d778743 afmt 2022-07-27 18:03:17 +02:00
0a38d2e22d small bugfix 2022-07-27 17:56:16 +02:00
234ccdf764 send time stampers properly now 2022-07-27 17:48:59 +02:00
f591b9793c pass timeReader to Pus ZC writer 2022-07-27 17:33:39 +02:00
c5ad9b5fa9 switch off debugging switches 2022-07-27 17:13:42 +02:00
083d08ae2a various bugs and improvements 2022-07-27 17:00:43 +02:00
740644f2c8 updates for PusDistributor 2022-07-27 14:40:51 +02:00
059fb10558 add helper methods to disable crc calculation 2022-07-27 11:41:06 +02:00
86692e202d this gets rid of some warnings 2022-07-27 11:35:35 +02:00
064b195c75 some of the deprecation warnings run amok 2022-07-27 11:33:19 +02:00
18ee2ab903 example compiles again 2022-07-27 11:26:47 +02:00
9eb652e585 some printout fixes 2022-07-27 10:49:49 +02:00
e7d9979078 Merge branch 'development' into mueller/expand-serialize-if 2022-07-26 19:09:06 +02:00
681738dcc6 PSB unittests complete 2022-07-26 19:08:12 +02:00
152c01b2ec psb unittests almost complete 2022-07-26 18:58:36 +02:00
8bf0fb9885 test auto-initializers 2022-07-26 18:46:28 +02:00
1954ce0ea4 default PUS receiver set automatically now 2022-07-26 17:41:10 +02:00
d98b79cf5e adapt PSB so it can be unittested properly 2022-07-26 16:49:46 +02:00
f14c812aff removed some obsolete code 2022-07-26 14:14:00 +02:00
146a0e3828 created PSB mock 2022-07-26 14:10:24 +02:00
75c824ec80 add new VerificationReporterIF 2022-07-26 13:59:09 +02:00
332e9dbfd5 add new tests 2022-07-26 11:19:36 +02:00
f1c37203a4 some more API improvements and replacements 2022-07-26 11:14:40 +02:00
500a5602bd added additional TM store and send helper 2022-07-26 11:09:57 +02:00
4ed028000d Merge branch 'mueller/expand-retval-if' into mueller/refactor-tmtc-stack 2022-07-26 10:29:51 +02:00
88ebb67c8d fix deprecation warnings 2022-07-26 10:27:44 +02:00
b827bd8370 update HasReturnvaluesIF
1. Add new retval namespace which contains OK and FAIL returnvalue
2. Also contains makeCode constexpr function
3. Mark HasReturnvaluesIF::makeReturnCode deprecated

This prevents from having to implement an interface just to use a shorter
version of the general returnvalues. A namespace is better suited for this
I think
2022-07-26 10:22:05 +02:00
bdf71d4e66 add new HasReturnvaluesIF features 2022-07-26 10:21:16 +02:00
e48b6f1432 possible double delete 2022-07-25 22:36:53 +02:00
747243684d more leaks 2022-07-25 22:29:18 +02:00
db33f9cc7e maybe this teardown fixes the leak 2022-07-25 22:22:08 +02:00
c12669fe50 this should fix the mmeory leak 2022-07-25 22:10:20 +02:00
6d00fc65c0 fix memory leak 2022-07-25 21:08:04 +02:00
7d87274844 add old api but mark it deprecated 2022-07-25 20:53:18 +02:00
c83f75c515 some more tests using TM send helper 2022-07-25 20:41:01 +02:00
586993c081 completed send helper tests 2022-07-25 20:31:06 +02:00
a88f767cca all tests running again 2022-07-25 19:49:19 +02:00
935e135f1c normal queue sufficient 2022-07-25 19:42:05 +02:00
6d0fa36f8a cleaning up message queue mock and subscription API 2022-07-25 19:36:56 +02:00
8f07133e2c Merge branch 'development' into mueller/expand-serialize-if 2022-07-25 15:08:04 +02:00
f11433e50f Merge pull request 'Release v5.0.0' (#657) from development into master
Reviewed-on: fsfw/fsfw#657
2022-07-25 15:05:56 +02:00
5fd5d488ff Merge remote-tracking branch 'origin/development' into mueller/refactor-tmtc-stack 2022-07-25 14:57:28 +02:00
edc5a314b8 Merge pull request 'v5.0.0' (#654) from v5.0.0 into development
Reviewed-on: fsfw/fsfw#654
2022-07-25 14:53:35 +02:00
f80be9e9fa run afmt 2022-07-25 14:44:49 +02:00
f3af88ae40 add [[nodiscard]] and const specifiers 2022-07-25 14:44:19 +02:00
380f1d0206 remove obsolete returns 2022-07-25 14:40:10 +02:00
54fc35eae7 re-run afmt 2022-07-25 14:36:18 +02:00
05d4162f5b Merge branch 'development' into v5.0.0 2022-07-25 14:35:36 +02:00
e030878023 changelog 2022-07-25 14:33:10 +02:00
9ee6da47e9 improving mocks 2022-07-25 14:31:57 +02:00
1a7d7b172b set up new internal error reporter mock 2022-07-25 14:04:06 +02:00
36e3956efb finished tm store helper tests 2022-07-25 13:39:07 +02:00
180210dc38 Merge branch 'development' into mueller/expand-serialize-if 2022-07-25 11:39:19 +02:00
ca1e921b94 Merge branch 'mueller/expand-serialize-if' into mueller/refactor-tmtc-stack 2022-07-25 11:35:32 +02:00
2a34c831b1 use Be instead of Ne, which could be confused 2022-07-25 11:33:12 +02:00
e2ad37e3e6 more ref replacements 2022-07-25 11:26:45 +02:00
973d4ee8a5 some more ref replacements 2022-07-25 11:24:13 +02:00
899d021e00 using uint32_t as store_address requires explicit cast 2022-07-25 11:15:45 +02:00
4989bd0f02 fixes for Linux OSAL clock 2022-07-25 10:56:19 +02:00
832367fb30 replace some API components with references 2022-07-25 10:50:52 +02:00
63ee88af17 added base for tm store test 2022-07-25 10:38:44 +02:00
4921527022 replace c include 2022-07-25 10:31:49 +02:00
f0c8fd2688 some renaming 2022-07-25 10:24:43 +02:00
c96e304b68 Merge pull request 'Possible Ring Buffer Fix' (#586) from eive/fsfw:mueller/possible-ring-buffer-fix into development
Merged to avoid crashing bug until full functionality is fixed.

Reviewed-on: fsfw/fsfw#586
2022-07-25 10:12:39 +02:00
d474c4a7ee store helper 2022-07-23 11:43:48 +02:00
3708df2423 small fix 2022-07-23 11:15:55 +02:00
f629d60aaf Merge branch 'mueller/expand-serialize-if' into mueller/refactor-tmtc-stack 2022-07-23 11:15:20 +02:00
b809f90e72 added unittests for new helpers 2022-07-23 11:10:44 +02:00
f2bf4b463e expand serializeIF tests 2022-07-23 10:34:19 +02:00
b66fd63cb4 remove doubly defines 2022-07-23 10:29:19 +02:00
fd55de9e95 Merge branch 'mueller/expand-serialize-if' into mueller/refactor-tmtc-stack 2022-07-23 10:28:13 +02:00
8e05fc0417 added a few more methods 2022-07-23 10:28:01 +02:00
55a238d553 extended serialize if further 2022-07-23 10:24:56 +02:00
9ccd9fd775 Merge branch 'mueller/expand-serialize-if' into mueller/refactor-tmtc-stack 2022-07-23 10:07:10 +02:00
ddad97033d expand serialize IF further 2022-07-23 10:06:42 +02:00
99aaf7068d some tests 2022-07-23 10:05:57 +02:00
c9d37e8d62 Merge branch 'mueller/expand-serialize-if' into mueller/refactor-tmtc-stack 2022-07-23 10:05:14 +02:00
42a1d6cccd default implementation of simple serialize/deserialize 2022-07-23 10:03:42 +02:00
133894f4ba add basic CCSDS tests 2022-07-22 18:46:58 +02:00
cb05329dd9 completed baseline PUS TM unittests 2022-07-22 18:31:00 +02:00
b350018cad completed basic test set 2022-07-22 18:22:35 +02:00
2dfbce6174 start TM reader unittests 2022-07-22 17:11:55 +02:00
cecaec6007 PUS TM creator tests done 2022-07-22 17:09:44 +02:00
f28b9ea61b APID getter bugfix 2022-07-22 16:41:32 +02:00
9275ccb79b added some missing implementations 2022-07-22 16:09:18 +02:00
67776241de verify successfull TM serialization 2022-07-22 16:06:31 +02:00
bfee4fd90a add empty test files 2022-07-21 19:16:44 +02:00
0dfaba81f9 finished basic TC unittests 2022-07-21 19:10:15 +02:00
affde6bad5 rename namespace 2022-07-21 18:21:10 +02:00
0981ee6f7e minor changes, virtual dtors added 2022-07-21 18:17:37 +02:00
61bc867bed delete code which is not used anymore 2022-07-21 17:57:31 +02:00
5af3138e81 fnished PUS TC creator unittests 2022-07-21 17:48:11 +02:00
08e0b0f1a0 added sp reader unittests 2022-07-21 14:40:00 +02:00
23f264096c delete a few old classes 2022-07-21 14:05:31 +02:00
e5ee96259d some fixes 2022-07-21 13:48:58 +02:00
9bbe1dc716 Merge branch 'development' into mueller/possible-ring-buffer-fix 2022-07-21 13:23:44 +02:00
d8b6cb39ac various bugfixes and improvements 2022-07-21 11:34:11 +02:00
be35bd53a6 switched to new tmtc stack API 2022-07-20 22:21:15 +02:00
9860061fc6 create new TmSendHelper 2022-07-20 11:45:50 +02:00
d80941514f start refactoring PUS TM handling 2022-07-20 11:43:16 +02:00
6c636661b6 a lot of refactoring 2022-07-19 18:13:25 +02:00
5fffbd4a90 start PUS TC refactoring 2022-07-18 18:36:41 +02:00
95b476d4bd start ccsds reader unittests 2022-07-18 16:21:00 +02:00
3d2af203f2 finished creator unittests 2022-07-18 16:18:04 +02:00
74794bb71b apply auto-formatter 2022-07-18 16:08:06 +02:00
ddf38b65c3 apply auto-formatter 2022-07-18 16:07:26 +02:00
490a80e49f Merge remote-tracking branch 'origin/development' into mueller/refactor-tmtc-stack 2022-07-18 15:26:31 +02:00
6f751c2cf9 Merge branch 'development' into v5.0.0 2022-07-18 15:12:21 +02:00
9a2e68b37e Merge pull request 'Move HAL and Tests folder' (#653) from mueller/move-hal-tests-folder into development
Reviewed-on: fsfw/fsfw#653
2022-07-18 15:05:25 +02:00
91067cde98 typo 2022-07-18 15:00:40 +02:00
428018e4f1 update changelog 2022-07-18 14:59:25 +02:00
e4d7182d93 update changelog 2022-07-18 14:58:47 +02:00
8b6dd3f868 add date to changelog 2022-07-18 14:49:27 +02:00
f6ede7cd3e bump version 2022-07-18 14:46:36 +02:00
4da18172b3 Merge branch 'development' into mueller/possible-ring-buffer-fix 2022-07-18 14:37:56 +02:00
6e5239e9a0 update jenkinsfile 2022-07-18 14:36:40 +02:00
7e2fdc06cd hmm this is problematic 2022-07-18 14:05:43 +02:00
3c72a42ce1 added basic sp creator test 2022-07-18 13:51:02 +02:00
78b09ed0c9 fixes includes 2022-07-18 11:58:55 +02:00
fdf35232ee some fixes 2022-07-18 11:47:00 +02:00
8465670374 separate unittest folder 2022-07-18 11:42:51 +02:00
0c5f623780 additional ctor for space packet creator 2022-07-18 10:53:55 +02:00
d7a2eada94 add space packet creator class 2022-07-18 10:42:56 +02:00
546e173cef add new PUS TC IF 2022-07-18 10:29:39 +02:00
0a7f2c6646 refactored space packet interface 2022-07-18 10:20:26 +02:00
3b23fb77b4 add obsolete add_subdirectory calls 2022-07-18 09:01:45 +02:00
6f7be281ef move HAL and tests folder 2022-07-18 08:59:40 +02:00
3686bbc486 Merge pull request 'DHB Reply Timeout' (#637) from meier/dhbReplyTimeout into development
Reviewed-on: fsfw/fsfw#637
2022-07-14 09:17:18 +02:00
ecac08814e better naming for functions which reset states of replies 2022-07-14 09:15:13 +02:00
e8b8fff0b5 Merge branch 'development' into meier/dhbReplyTimeout 2022-07-14 09:01:28 +02:00
4d34f93cfc missing reset of timedOut value in loop of decrementDeviceReplyMap 2022-07-14 08:58:23 +02:00
adbf375f38 some small fixes to dhb countdown addition 2022-07-13 21:58:07 +02:00
2e42f53682 Merge pull request 'New PoolEntry constructor' (#651) from eive/fsfw:mueller/new-pool-entry-ctor into development
Reviewed-on: fsfw/fsfw#651
2022-07-13 17:43:56 +02:00
c519b70302 Merge pull request 'printout tweak' (#652) from mueller/printout-tweak-mq-linux-osal into development
Reviewed-on: fsfw/fsfw#652
2022-07-13 17:35:53 +02:00
45ee307bc4 Merge pull request 'remove duplicate CHANGELOG entries' (#649) from eive/fsfw:mueller/clean-changelog into development
Reviewed-on: fsfw/fsfw#649
2022-07-13 16:50:50 +02:00
8a2068aca6 Merge pull request 'clang-tidy changes for controller module' (#648) from clang-tidy-controllers into development
Reviewed-on: fsfw/fsfw#648
2022-07-13 16:49:15 +02:00
aa60484111 Merge pull request 'clang-tidy changes for actions module' (#647) from clang-tidy-actions into development
Reviewed-on: fsfw/fsfw#647
2022-07-13 16:42:39 +02:00
e99c7f3824 Merge pull request 'Install ETL library in CI/CD' (#645) from mueller/install-etl-cicd into development
Reviewed-on: fsfw/fsfw#645
2022-07-13 16:39:29 +02:00
2ee3ef1f1d Merge branch 'development' into mueller/install-etl-cicd 2022-07-13 16:38:30 +02:00
ce48827ee5 Merge branch 'development' into clang-tidy-actions 2022-07-13 16:00:50 +02:00
0d80fad685 Merge branch 'development' into clang-tidy-controllers 2022-07-13 16:00:42 +02:00
c6253bf0dd Merge branch 'development' into mueller/new-pool-entry-ctor 2022-07-13 15:41:47 +02:00
93933dee02 Merge pull request 'delete run configs' (#646) from mueller/del-cmake-run-cfgs into development
Reviewed-on: fsfw/fsfw#646
2022-07-13 15:37:55 +02:00
0e49640306 update CHANGELOG 2022-07-08 17:59:43 +02:00
32fea9838e add new pool entry constructor
- This constructor allows to simply specify the length.
  This is also the new default constructor for scalar values
  which are initially invalid
2022-07-08 17:56:44 +02:00
0519083894 remove duplicate entries 2022-07-08 17:48:06 +02:00
14bac9a418 clang-tidy changes for controller module 2022-07-04 11:48:36 +02:00
3bef73708f clang-tidy changes for actions module 2022-07-04 11:44:26 +02:00
fef6ddceff delete run configs 2022-07-04 11:16:13 +02:00
5a9db72814 test public linkage 2022-07-04 10:27:14 +02:00
5cccd5caba bump used container 2022-07-04 10:21:47 +02:00
7de56f189b install etl library in ci/cd 2022-07-04 10:13:48 +02:00
df97bbc691 run auto-formatter 2022-06-23 11:56:46 +02:00
2d2f65bf89 moved activation of periodic replies to updatePeriodicReply 2022-06-23 11:54:51 +02:00
3e9ae62b28 Merge branch 'development' into meier/dhbReplyTimeout 2022-06-21 10:49:06 +02:00
2ebefdffae Merge remote-tracking branch 'upstream/development' into mueller/possible-ring-buffer-fix 2022-06-21 10:49:03 +02:00
45792e86b9 Merge remote-tracking branch 'upstream/development' into mueller/possible-ring-buffer-fix 2022-06-21 10:48:04 +02:00
541f563683 Merge pull request 'Fix StorageAccessor move assignment' (#643) from gaisser/fsfw:gaisser_storage_accessor_fix into development
Reviewed-on: fsfw/fsfw#643
2022-06-21 10:31:36 +02:00
28ea71a077 Merge branch 'development' into gaisser_storage_accessor_fix 2022-06-20 17:56:58 +02:00
a044d7d724 Merge pull request 'new cmake options for CICD build' (#623) from mueller/new-cicd-cmake-opts into development
Reviewed-on: fsfw/fsfw#623
2022-06-20 17:56:29 +02:00
687700cee8 Merge branch 'development' into gaisser_storage_accessor_fix 2022-06-20 16:36:49 +02:00
732b615cb3 Merge branch 'development' into mueller/new-cicd-cmake-opts 2022-06-20 16:34:13 +02:00
394ce2ec3e Merge pull request 'LocalDataPoolManager Warning Text' (#642) from meier/debug-info into development
Reviewed-on: fsfw/fsfw#642
2022-06-20 16:15:30 +02:00
dde96ae220 Merge branch 'development' into gaisser_storage_accessor_fix 2022-06-20 16:15:05 +02:00
c3aaab4b93 Merge pull request 'Task IF refactoring' (#636) from mueller/task-if-refactoring into development
Reviewed-on: fsfw/fsfw#636
2022-06-20 16:08:03 +02:00
edf1d5ae8d Added more test cases 2022-06-20 16:02:35 +02:00
690991b4b5 include fix 2022-06-20 15:42:08 +02:00
1a294e6a13 include TestsConfig.h 2022-06-20 15:40:15 +02:00
8c4e34153b README updates 2022-06-20 15:36:48 +02:00
b60e4bcb90 Fix StorageAccessor move assignment
* Added Unittest for this
* Fixed missing include in test
2022-06-20 15:15:33 +02:00
b18410aa63 Merge remote-tracking branch 'refs/remotes/origin/mueller/task-if-refactoring' into mueller/task-if-refactoring 2022-06-20 15:02:38 +02:00
7f57a8784a Fixed deadline missed call on linux 2022-06-20 15:02:16 +02:00
4b33aa8262 bump ETL version 2022-06-20 14:25:39 +02:00
d47a908117 Merge branch 'development' into mueller/task-if-refactoring 2022-06-20 09:40:31 +02:00
fce95e04a8 Merge branch 'development' into mueller/new-cicd-cmake-opts 2022-06-20 09:39:58 +02:00
fc742e4270 Merge branch 'development' into meier/debug-info 2022-06-16 07:22:43 +02:00
b5183a19fc minor change in debug text 2022-06-16 07:03:58 +02:00
ca453a8f16 Merge pull request 'run auto formatters' (#641) from KSat/fsfw:mueller/reapply-fmt into development
Reviewed-on: fsfw/fsfw#641
2022-06-13 17:04:11 +02:00
b7c0c07141 Merge remote-tracking branch 'origin/development' into mueller/new-cicd-cmake-opts 2022-06-13 16:28:01 +02:00
0158102f11 Merge pull request 'apply afmt, basic CLion support' (#625) from mueller/apply-afmt into development
Reviewed-on: fsfw/fsfw#625
2022-06-13 16:27:02 +02:00
69859fdbc9 rerun afmt 2022-06-13 16:21:20 +02:00
90bccc744e Merge pull request 'Fix SPI ComIF shadowing warning' (#639) from KSat/fsfw:mueller/spi-com-if-shadowing into development
Reviewed-on: fsfw/fsfw#639
2022-06-13 14:35:46 +02:00
ab89108c55 Merge pull request 'some fixes for TC Map printout function' (#640) from KSat/fsfw:mueller/pus-11-printout-fixes into development
Reviewed-on: fsfw/fsfw#640
2022-06-13 14:29:36 +02:00
a682bbe400 remove static missed deadline 2022-06-13 14:23:56 +02:00
e67fc2ab0d some fixes for TC Map printout function 2022-06-13 10:56:37 +02:00
71ce966531 Merge branch 'mueller/spi-com-if-shadowing' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/spi-com-if-shadowing 2022-06-13 10:54:25 +02:00
6b0f4a159f Merge remote-tracking branch 'upstream/development' into mueller/spi-com-if-shadowing 2022-06-13 10:54:20 +02:00
4a06b558c1 Fix SPI ComIF shadowing warning 2022-06-13 10:53:04 +02:00
6d921f03fd Fix SPI ComIF shadowing warning 2022-06-13 10:50:49 +02:00
65bc8213fe Merge branch 'development' into mueller/new-cicd-cmake-opts 2022-06-13 09:43:32 +02:00
a0ee86ace8 use override instead of virtual as recommended 2022-06-08 17:36:20 +02:00
a07a368272 Merge branch 'development' into mueller/apply-afmt 2022-06-08 17:34:04 +02:00
cb8a4bbbec Merge remote-tracking branch 'origin/development' into mueller/task-if-refactoring 2022-06-08 17:33:12 +02:00
17f54006b8 Merge pull request 'rtems fixes' (#635) from mueller/rtems-fixes into development
Reviewed-on: fsfw/fsfw#635
2022-06-08 16:12:53 +02:00
395cf9cfa7 added clion base files 2022-06-08 12:12:33 +02:00
a3c0b441ec update changelog 2022-06-08 12:12:33 +02:00
b4132800ae apply afmt, update .gitignore 2022-06-08 12:12:33 +02:00
ad53b48fcb explicitely ignore returnvalue in linux OSAL 2022-06-08 12:12:09 +02:00
dee40f9079 fixed unittests 2022-06-08 12:12:09 +02:00
92ec24352f fix unit test 2022-06-08 12:12:09 +02:00
3f9e459f48 update changelog 2022-06-08 12:12:09 +02:00
e0c7f8d51d apply afmt 2022-06-08 12:12:09 +02:00
eb79386c92 new addSlot function taking executable pointer 2022-06-08 12:12:09 +02:00
4542f31c40 improved custom checker API
- More clang-tidy improvements
2022-06-08 12:12:09 +02:00
689fb378d8 a regular set should suffice here 2022-06-08 12:12:09 +02:00
98b711a872 update changelog 2022-06-08 12:12:09 +02:00
800aa131fa reverted some unrelated changes 2022-06-08 12:12:09 +02:00
6983980304 missing newline and clang-tidy improvement 2022-06-08 12:12:09 +02:00
7c0ba59993 remove include 2022-06-08 12:12:09 +02:00
28873fc87b refactores rtems task module 2022-06-08 12:12:09 +02:00
24e849ed9c avoid compiler warning 2022-06-08 12:12:09 +02:00
d8985c141e some clang tidy stuff and bugfixes 2022-06-08 12:12:09 +02:00
7602b15256 important bugfix 2022-06-08 12:12:09 +02:00
d1a82bceed rtems fixes 2022-06-08 12:12:09 +02:00
7292b02907 refactor freeRTOS task components 2022-06-08 12:12:09 +02:00
347714d53a refactored and tested hosted and linux task IF 2022-06-08 12:12:09 +02:00
f230fa1617 continued refactoring 2022-06-08 12:12:09 +02:00
93615b100c continued refactoring 2022-06-08 12:12:09 +02:00
e18d3d559e refactoring host osal 2022-06-08 12:12:09 +02:00
08ff061d07 minor bugfix 2022-06-08 12:12:09 +02:00
cc351c1066 new base class for periodic tasks 2022-06-08 12:12:09 +02:00
664a548c53 removed some changes which belong in separate PR 2022-06-08 12:12:09 +02:00
e9895559a3 vector as core container is ok 2022-06-08 12:12:09 +02:00
eda5b8f593 refactor task IF 2022-06-08 12:12:09 +02:00
e03f55604a rtems fixes 2022-06-08 12:11:26 +02:00
51d7df2dba Merge branch 'development' into mueller/new-cicd-cmake-opts 2022-06-08 11:13:13 +02:00
12046a2db6 Merge pull request 'bump etl to 20.28.0' (#634) from mueller/bump-etl into development
Reviewed-on: fsfw/fsfw#634
2022-06-08 11:09:42 +02:00
21eb386f3c changed reply timeouts 2022-06-06 12:34:57 +02:00
ade36e65c6 missed reply check in simple command nominal test case 2022-06-06 12:30:27 +02:00
103661facc deugging 2022-06-06 12:26:00 +02:00
ae2f7219fd run auto-formatter 2022-06-06 11:55:42 +02:00
4fba2704aa unit test for detection of missed reply when commanded externally 2022-06-06 10:53:08 +02:00
161dbde0d7 fixed merge conflicts 2022-06-06 10:30:17 +02:00
2fa4fd61d0 device fdir mock 2022-06-05 12:54:13 +02:00
bf673c56c6 unit test for dhb 2022-06-05 12:52:55 +02:00
c697d0f8ab bump etl to 20.28.0 2022-05-30 10:34:03 +02:00
c7cf8e710d Merge pull request 'return end iterator instead of crashing' (#633) from mueller/possible-fix-ccsds-distrib into development
Reviewed-on: fsfw/fsfw#633
2022-05-25 13:59:35 +02:00
7dddcdfd55 Merge branch 'development' into mueller/possible-fix-ccsds-distrib 2022-05-25 09:52:33 +02:00
261eea381e Merge pull request 'PUS11 TC sched update and bugfixes' (#632) from mueller/tc-11-tweaks into development
Reviewed-on: fsfw/fsfw#632
2022-05-24 17:48:06 +02:00
e59f1f26bf return end iterator instead of crashing 2022-05-24 14:33:18 +02:00
f7cde80088 added missing delete 2022-05-24 14:32:35 +02:00
e60a665de4 added 3 new subservices 2022-05-24 11:52:29 +02:00
34658ef7db afmt 2022-05-24 10:40:25 +02:00
940fd6f465 Merge branch 'development' into mueller/new-cicd-cmake-opts 2022-05-23 15:59:13 +02:00
f288d5120d Merge branch 'development' into mueller/tc-11-tweaks 2022-05-23 15:34:00 +02:00
5a425a1c58 Merge pull request 'cache the TCP client address now' (#630) from eive/fsfw:mueller/tcp-server-cache-client-addr into development
Reviewed-on: fsfw/fsfw#630
2022-05-23 14:42:12 +02:00
5e62258aa6 Merge branch 'development' into mueller/tcp-server-cache-client-addr 2022-05-23 14:38:05 +02:00
0b53b4873f bugfix for srv11 2022-05-20 11:20:31 +02:00
8e2597f609 clang-format 2022-05-20 11:09:03 +02:00
dac700b80a static STORE renamed 2022-05-20 08:59:06 +02:00
d0fc360697 apply afmt 2022-05-20 08:34:14 +02:00
576414438c Merge pull request 'Apply cmake-format and auto-format script on all CMakeLists.txt file' (#628) from eive/fsfw:mueller/apply-clang-format-on-all-files into development
Reviewed-on: fsfw/fsfw#628
2022-05-18 13:14:18 +02:00
13cda86d23 remove commented code 2022-05-18 13:13:24 +02:00
e1dd27b9dd cache the TCP client address now 2022-05-17 13:16:36 +02:00
8e9d4b451c better printout if ping test fails 2022-05-16 16:18:44 +02:00
d871f55a89 Merge remote-tracking branch 'upstream/development' into mueller/possible-ring-buffer-fix 2022-05-16 15:13:47 +02:00
816550b69c Merge remote-tracking branch 'upstream/development' into mueller/new-cicd-cmake-opts 2022-05-16 14:58:25 +02:00
7fee852dbd re-apply updated auto-formatter 2022-05-16 14:55:15 +02:00
1e7032f89c minor improvements for auto-formatter 2022-05-16 14:54:43 +02:00
f0debecbbc Merge pull request 'Extend version handling and class' (#601) from eive/fsfw:mueller/extend-version-class into development
Reviewed-on: fsfw/fsfw#601
2022-05-16 14:52:15 +02:00
ef9d7aa7d3 Merge branch 'development' into mueller/extend-version-class 2022-05-16 14:42:23 +02:00
b8fd2db434 Merge pull request 'Add PUS TC scheduler service' (#594) from KSat/fsfw:mueller/add-tc-scheduler-pus-11 into development
Reviewed-on: fsfw/fsfw#594
2022-05-16 14:32:19 +02:00
878e32cbe8 Merge branch 'development' into mueller/add-tc-scheduler-pus-11 2022-05-16 14:29:02 +02:00
4821706561 Merge branch 'development' into mueller/extend-version-class 2022-05-16 14:16:53 +02:00
1611a4e1f0 device handler unittest wip 2022-05-16 11:10:35 +02:00
eed6a64597 Merge pull request 'Power Switcher Component' (#596) from eive/fsfw:mueller/power-switcher-component-upstream into development
Reviewed-on: fsfw/fsfw#596
2022-05-13 22:42:23 +02:00
5736023ffa Merge branch 'development' into mueller/extend-version-class 2022-05-13 17:22:57 +02:00
8a12a5097e Merge branch 'mueller/apply-afmt' into mueller/new-cicd-cmake-opts 2022-05-13 13:50:41 +02:00
87e4a57ef7 added clion base files 2022-05-13 13:48:13 +02:00
0375ee1881 update changelog 2022-05-13 13:46:54 +02:00
c8e034d975 Merge branch 'development' into mueller/new-cicd-cmake-opts 2022-05-13 13:41:58 +02:00
e98aa005cb Merge branch 'development' into mueller/power-switcher-component-upstream 2022-05-13 13:25:13 +02:00
52310f7d32 Merge remote-tracking branch 'upstream/development' into mueller/add-tc-scheduler-pus-11 2022-05-13 13:24:26 +02:00
e3d1308205 Merge pull request 'preproc guards' (#612) from eive/fsfw:mueller/missing-preproc-defs into development
Reviewed-on: fsfw/fsfw#612
2022-05-13 13:22:38 +02:00
970f039e85 Merge remote-tracking branch 'origin/development' into mueller/extend-version-class 2022-05-13 13:21:01 +02:00
99c72fd00b Merge pull request 'Auto-Formatter Script Improvements' (#626) from mueller/amft-cmakelists into development
Reviewed-on: fsfw/fsfw#626
2022-05-13 12:01:40 +02:00
2708b71d77 Merge remote-tracking branch 'origin/development' into mueller/new-cicd-cmake-opts 2022-05-13 12:00:40 +02:00
5a4539def4 Merge branch 'mueller/add-tc-scheduler-pus-11' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/add-tc-scheduler-pus-11 2022-05-13 11:58:45 +02:00
13a34cd677 Merge remote-tracking branch 'upstream/development' into mueller/add-tc-scheduler-pus-11 2022-05-13 11:58:41 +02:00
811287aac8 delete old scripts 2022-05-13 11:57:22 +02:00
23fb06578b this is better 2022-05-13 11:56:37 +02:00
c86e99e6dc rename auto-formatter 2022-05-13 11:56:20 +02:00
4092de911c use variable for repeated section 2022-05-13 11:55:19 +02:00
00952e15b0 Merge branch 'development' into mueller/missing-preproc-defs 2022-05-13 11:50:24 +02:00
6366283ce2 Merge branch 'development' into mueller/apply-afmt 2022-05-13 11:50:03 +02:00
01ebf0f4d3 tab size 2022-05-13 11:49:01 +02:00
99fe6487c8 another small improvement 2022-05-13 11:48:18 +02:00
d4a6f987bc small fix 2022-05-13 11:46:59 +02:00
57bac4f262 Merge remote-tracking branch 'origin/development' into mueller/amft-cmakelists 2022-05-13 11:46:17 +02:00
cfa6843c8f check whether clang-format is installed 2022-05-13 11:46:04 +02:00
b6b3221b22 Merge pull request 'run auto-formatter over cmakelists.txt' (#619) from mueller/amft-cmakelists into development
Reviewed-on: fsfw/fsfw#619
2022-05-13 11:44:48 +02:00
8dc640c162 apply afmt, update .gitignore 2022-05-13 11:39:37 +02:00
deee4c43c0 finally this works 2022-05-13 11:37:58 +02:00
ad0b6f1ed1 another small fix 2022-05-13 11:35:59 +02:00
ec03a674bd Merge branch 'mueller/amft-cmakelists' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/amft-cmakelists 2022-05-13 11:35:28 +02:00
9e3d5b6a0c small fix 2022-05-13 11:35:18 +02:00
994c7299b9 add cmake-format command to shell script 2022-05-13 11:34:44 +02:00
57a830cb46 Merge branch 'development' into mueller/amft-cmakelists 2022-05-13 11:30:52 +02:00
ff40a71582 Merge remote-tracking branch 'upstream/development' into mueller/possible-ring-buffer-fix 2022-05-13 11:30:32 +02:00
271057ca6b Merge remote-tracking branch 'upstream/development' into mueller/extend-version-class 2022-05-13 11:28:54 +02:00
861335212e Merge remote-tracking branch 'upstream/development' into mueller/add-tc-scheduler-pus-11 2022-05-13 00:30:18 +02:00
038e47a46e better returncode handling 2022-05-13 00:30:01 +02:00
c215508a12 another missing preproc guard 2022-05-13 00:25:52 +02:00
ccadbb5942 Merge branch 'development' into mueller/missing-preproc-defs 2022-05-13 00:24:04 +02:00
171c48495c Merge remote-tracking branch 'upstream/development' into mueller/power-switcher-component-upstream 2022-05-12 19:07:12 +02:00
a83b86ccd2 Merge pull request 'refactor power module' (#590) from eive/fsfw:mueller/refactor-power-switch-if-etc into development
Reviewed-on: fsfw/fsfw#590
2022-05-12 18:37:45 +02:00
2e4b9bcd7c Merge remote-tracking branch 'origin/development' into mueller/new-cicd-cmake-opts 2022-05-12 17:42:49 +02:00
3046822e88 run cmake-format 2022-05-12 17:27:39 +02:00
6442dd0c38 Merge branch 'mueller/amft-cmakelists' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/amft-cmakelists 2022-05-12 17:16:15 +02:00
9b6fa646ed Merge remote-tracking branch 'origin/development' into mueller/amft-cmakelists 2022-05-12 17:16:10 +02:00
e77bde459b Merge remote-tracking branch 'upstream/development' into mueller/extend-version-class 2022-05-12 17:12:26 +02:00
2d9d83a1c5 Merge branch 'development' into mueller/missing-preproc-defs 2022-05-12 17:10:54 +02:00
c561271070 Merge branch 'development' into mueller/refactor-power-switch-if-etc 2022-05-12 17:09:27 +02:00
70d4fc1e0a Merge branch 'mueller/add-tc-scheduler-pus-11' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/add-tc-scheduler-pus-11 2022-05-12 17:06:12 +02:00
b8cfb36426 added additional explicit returnvalues 2022-05-12 17:05:58 +02:00
e5c140e0ae Merge branch 'development' into mueller/add-tc-scheduler-pus-11 2022-05-12 16:59:01 +02:00
b99160e850 Merge pull request 'Add LTO support' (#616) from mueller/add-lto-support into development
Reviewed-on: fsfw/fsfw#616
2022-05-12 16:56:54 +02:00
c4c340fde1 lot of refactoring 2022-05-12 16:56:06 +02:00
9a4c7589cc Merge remote-tracking branch 'upstream/development' into mueller/add-tc-scheduler-pus-11 2022-05-12 15:52:47 +02:00
d11f898f70 update dummy power switcher docs 2022-05-12 15:02:06 +02:00
e1604b292c Merge branch 'development' into mueller/possible-ring-buffer-fix 2022-05-11 11:34:32 +02:00
34e124f2db Merge branch 'development' into mueller/amft-cmakelists 2022-05-11 11:30:40 +02:00
e05c72b062 minor formatting fix 2022-05-10 13:08:14 +02:00
377c3325d2 update cmake-modules file 2022-05-10 12:16:38 +02:00
2ca8523215 Merge branch 'mueller/add-lto-support' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/add-lto-support 2022-05-10 11:57:01 +02:00
25775614de only check IPO support if enabled 2022-05-10 11:56:51 +02:00
efb3d982f3 added missing prefix 2022-05-10 11:52:40 +02:00
0410ecd9e3 Merge branch 'development' into mueller/add-lto-support 2022-05-10 11:51:39 +02:00
dd986fefd3 experimenting with PRE_BUILD command 2022-05-10 11:51:25 +02:00
b38329aa0e Merge branch 'development' into mueller/extend-version-class 2022-05-10 11:19:48 +02:00
0fe1b70bae keep LTO option off by default 2022-05-10 11:19:29 +02:00
c5b4499d98 Merge remote-tracking branch 'upstream/development' into mueller/refactor-power-switch-if-etc 2022-05-10 09:58:21 +02:00
458aa5c265 Merge branch 'development' into mueller/missing-preproc-defs 2022-05-10 09:56:29 +02:00
4499c9bf04 Merge pull request 'Added new functions to add sequences and tables' (#606) from eive/fsfw:mueller/new-ss-adder-functions into development
Reviewed-on: fsfw/fsfw#606
2022-05-10 09:35:16 +02:00
eb0223bc51 Merge branch 'development' into mueller/add-lto-support 2022-05-09 22:34:28 +02:00
be6a492022 Merge branch 'development' into mueller/extend-version-class 2022-05-09 22:34:09 +02:00
d8bd08dd8c Merge branch 'development' into mueller/amft-cmakelists 2022-05-09 17:22:40 +02:00
18c2847b08 Merge branch 'development' into mueller/missing-preproc-defs 2022-05-09 17:21:48 +02:00
d45cda93b2 Merge pull request 'important bugfix for TCP server' (#618) from mueller/tcp-server-bugfix into development
Reviewed-on: fsfw/fsfw#618
2022-05-09 16:59:54 +02:00
3448292e8a Merge branch 'development' into mueller/tcp-server-bugfix 2022-05-09 16:56:07 +02:00
d983305ea5 Merge branch 'development' into mueller/amft-cmakelists 2022-05-09 16:34:22 +02:00
c83cc492c0 Merge pull request 'Compile Time Size Check fixed' (#614) from gaisser/fsfw:gaisser_fix_compile_check into development
Reviewed-on: fsfw/fsfw#614
2022-05-09 16:14:44 +02:00
ece32f88f4 Merge remote-tracking branch 'origin/development' into mueller/tcp-server-bugfix 2022-05-09 16:14:17 +02:00
dd9e28fca1 Merge branch 'development' into mueller/add-lto-support 2022-05-09 16:09:31 +02:00
46cfe65321 Merge pull request 'Health Service Bugfix' (#617) from mueller/health-srv-bugfix into development
Reviewed-on: fsfw/fsfw#617
2022-05-09 16:08:28 +02:00
7b7f5d7e0a Merge branch 'mueller/add-lto-support' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/add-lto-support 2022-05-09 16:07:19 +02:00
fd112ed597 enable lto for test target 2022-05-09 16:07:05 +02:00
96eb8fc21f Merge branch 'development' into gaisser_fix_compile_check 2022-05-09 15:59:44 +02:00
88fa4f1d9d Merge remote-tracking branch 'origin/development' into mueller/tcp-server-bugfix 2022-05-09 15:55:07 +02:00
5989c88c88 indentation 2022-05-09 15:54:29 +02:00
da8a108cb7 Merge remote-tracking branch 'origin/development' into mueller/amft-cmakelists 2022-05-09 15:54:10 +02:00
75132c1e39 Merge branch 'development' into mueller/add-lto-support 2022-05-09 15:52:28 +02:00
eb494707af Merge remote-tracking branch 'upstream/development' into mueller/power-switcher-component-upstream 2022-05-09 15:51:28 +02:00
736f8d0238 order fix 2022-05-09 15:50:49 +02:00
f1acf8e18b Merge remote-tracking branch 'upstream/development' into mueller/extend-version-class 2022-05-09 15:48:04 +02:00
281f91ec5d Merge remote-tracking branch 'origin/development' into mueller/health-srv-bugfix 2022-05-09 15:41:10 +02:00
15352b539d Merge remote-tracking branch 'upstream/development' into mueller/refactor-power-switch-if-etc 2022-05-09 15:37:32 +02:00
4015e85506 Merge branch 'development' into mueller/missing-preproc-defs 2022-05-09 15:35:49 +02:00
aacaf52fd9 Merge branch 'development' into mueller/new-cicd-cmake-opts 2022-05-09 15:34:36 +02:00
118f1da8dd Merge pull request 'Bump C++ standard to C++17' (#622) from mueller/cpp17-update into development
Reviewed-on: fsfw/fsfw#622
2022-05-09 15:33:52 +02:00
89f83f4e3d update changelog 2022-05-09 15:33:03 +02:00
39b7976056 new cmake options for CICD build 2022-05-09 15:26:38 +02:00
8b0508d50a Merge branch 'development' into gaisser_fix_compile_check 2022-05-09 15:17:28 +02:00
8a40878eb5 Merge remote-tracking branch 'origin/development' into mueller/add-lto-support 2022-05-09 15:17:16 +02:00
220469a2dd Merge remote-tracking branch 'origin/development' into mueller/amft-cmakelists 2022-05-09 15:16:12 +02:00
83de5b4ec1 Merge branch 'development' into mueller/cpp17-update 2022-05-09 15:13:50 +02:00
fe1c51ae6d Merge pull request 'CMake move some directives up top' (#621) from mueller/cmake-fixes into development
Reviewed-on: fsfw/fsfw#621
2022-05-09 15:13:02 +02:00
10cc954d27 update changelog 2022-05-09 15:09:07 +02:00
73ff9b97db bump CMAKE_CXX_STANDARD to C++17 2022-05-09 15:07:46 +02:00
b0d71597f0 update changelog 2022-05-09 14:58:39 +02:00
226f28dc7b Move some directives up top 2022-05-09 14:53:52 +02:00
7afe30ea88 fixed merge conflict 2022-05-09 12:56:22 +02:00
6308427d03 run auto-formatter over cmakelists.txt 2022-05-09 11:18:56 +02:00
398d04dc50 fixed tests 2022-05-09 11:15:18 +02:00
80a5ed3c5b added back fsfw namespace 2022-05-09 11:06:45 +02:00
5d5a355110 Merge remote-tracking branch 'upstream/development' into mueller/extend-version-class 2022-05-09 11:04:15 +02:00
c78b7c432b Merge branch 'development' into mueller/refactor-power-switch-if-etc 2022-05-09 11:02:45 +02:00
6bfdace512 update changelog 2022-05-09 11:00:31 +02:00
16e55a98ce important bugfix for TCP server 2022-05-09 10:57:23 +02:00
79f17843d8 update changelog 2022-05-09 10:50:29 +02:00
e5e163bdbf mark unused function 2022-05-09 10:47:56 +02:00
4e4820af05 bugfix for prepareHealthSetReply function 2022-05-09 10:47:23 +02:00
637512ad77 changelog update 2022-05-09 10:34:14 +02:00
a4bd5a2aaa update changelog 2022-05-09 10:31:03 +02:00
a943e4eebb enable LTO where applicable 2022-05-09 02:23:20 +02:00
cb0c80d8dc add option and cmake module for lto support 2022-05-09 02:22:16 +02:00
3332f68ce7 Tested only std::numeric_limits in MSVC 2022-05-02 17:22:13 +02:00
2fbf847367 Merge branch 'development' into mueller/missing-preproc-defs 2022-05-02 16:16:33 +02:00
54feb77770 Proposed fix for gcc and clang 2022-05-02 16:14:23 +02:00
1a07864a5f Merge pull request 'CCSDS Time CUC Tests' (#593) from gaisser/fsfw:gaisser_cuc_tests into development
Reviewed-on: fsfw/fsfw#593
2022-05-02 15:29:48 +02:00
3e9d6bdbb9 Merge branch 'development' into gaisser_cuc_tests 2022-05-02 15:24:32 +02:00
c295539c79 Merge pull request 'Fixes to allow compilation on MacOS' (#611) from mueller/mac-os into development
Reviewed-on: fsfw/fsfw#611
2022-05-02 15:22:19 +02:00
57e6c46e72 Merge branch 'development' into mueller/missing-preproc-defs 2022-05-02 15:16:37 +02:00
cddf16f941 Merge branch 'development' into mueller/mac-os 2022-05-02 15:15:53 +02:00
a3dee05fe3 Merge pull request 'space packet bug fix' (#607) from meier/spacePacketBugFix into development
Reviewed-on: fsfw/fsfw#607
2022-05-02 15:15:28 +02:00
a3617cad11 preproc guards 2022-05-02 15:12:38 +02:00
8edf4c3c8d Merge branch 'development' into meier/spacePacketBugFix 2022-05-02 15:10:32 +02:00
7801c6effe Merge remote-tracking branch 'upstream/development' into mueller/new-ss-adder-functions 2022-05-02 15:09:09 +02:00
8cc94a55ab Merge pull request 'Bump Catch2 dependency & Catch2 pre-installed for CI/CD' (#605) from mueller/bump-catch2 into development
Reviewed-on: fsfw/fsfw#605
2022-05-02 15:03:08 +02:00
b62c19a364 Merge branch 'development' into mueller/extend-version-class 2022-05-02 14:48:23 +02:00
daffb6b666 Merge branch 'development' into gaisser_cuc_tests 2022-05-02 14:45:33 +02:00
7cfb1e6076 Merge branch 'development' into mueller/bump-catch2 2022-05-02 14:36:44 +02:00
cc36baff78 Merge pull request 'Hotfix CMake & ETL' (#604) from mueller/hotfix-etl into development
Reviewed-on: fsfw/fsfw#604
2022-05-02 14:36:29 +02:00
4c65109ac0 Merge branch 'development' into meier/spacePacketBugFix 2022-05-02 14:36:24 +02:00
861bd15eda Merge branch 'development' into mueller/hotfix-etl 2022-05-02 14:20:40 +02:00
7b979eadff Merge pull request 'fix compiler warnings and auto-formatting' (#598) from eive/fsfw:mueller/compiler-warning-fixes-upstream-2 into development
Reviewed-on: fsfw/fsfw#598
2022-05-02 14:17:00 +02:00
16714ceb40 Merge branch 'development' into gaisser_cuc_tests 2022-05-02 13:58:17 +02:00
fea301bcc9 Merge remote-tracking branch 'origin/mueller/hotfix-etl' into mueller/mac-os 2022-05-02 09:35:28 +02:00
77450eb4b7 removed flag which does not exist 2022-05-02 09:09:41 +02:00
28015c4735 it compiles and runs 2022-05-01 17:48:49 +02:00
7d61e67d20 more macos changes 2022-04-30 19:02:41 +02:00
afcbc8be0a changes for MacOS 2022-04-30 18:40:22 +02:00
7a2269262b Merge branch 'development' into meier/spacePacketBugFix 2022-04-29 08:45:10 +02:00
9731dc1e61 space packet bug fix 2022-04-29 07:47:23 +02:00
bf2e0f2d73 added option to change initial submode 2022-04-28 16:49:13 +02:00
e98857fab4 update changelog 2022-04-28 14:37:21 +02:00
29b0a352fc added new functions to add sequences and tables 2022-04-28 14:26:00 +02:00
8642b13fd1 Merge branch 'mueller/hotfix-etl' into mueller/bump-catch2 2022-04-27 21:55:45 +02:00
6aa72892ed clean usage of FetchContent_MakeAvailable 2022-04-27 21:53:57 +02:00
70f0a72f1b added explicit checkout of v3.0.0-preview5 2022-04-27 13:54:15 +02:00
b5d890eedd install Catch2 for docker_d2 and update Jenkinsfile 2022-04-27 13:43:49 +02:00
50b1b48678 link Catch2 issue 2022-04-27 13:36:26 +02:00
0e0dbc74aa Merge branch 'mueller/hotfix-etl' into mueller/bump-catch2 2022-04-27 09:45:42 +02:00
8c34051d8b bump Catch2 revision 2022-04-27 09:45:20 +02:00
b00d83cb1a bump ETL revision 2022-04-27 09:41:16 +02:00
17e609c3a5 some more var replacements 2022-04-27 09:37:11 +02:00
64f0166b64 hotfix for new ETL dependency 2022-04-27 09:16:52 +02:00
c80f06fbcb hotfix for ETL lib dep 2022-04-27 09:08:17 +02:00
70eb8325a0 Merge remote-tracking branch 'upstream/development' into mueller/compiler-warning-fixes-upstream-2 2022-04-27 08:47:45 +02:00
8e4ad10627 Merge remote-tracking branch 'upstream/development' into mueller/extend-version-class 2022-04-27 08:46:18 +02:00
496bc665d6 Merge remote-tracking branch 'upstream/development' into mueller/add-tc-scheduler-pus-11 2022-04-27 08:45:47 +02:00
2c8531ea48 Merge remote-tracking branch 'upstream/development' into mueller/refactor-power-switch-if-etc 2022-04-27 08:45:04 +02:00
d3e7037759 Merge branch 'development' into mueller/possible-ring-buffer-fix 2022-04-27 08:42:24 +02:00
e796f82203 Merge pull request 'gpio bug fix' (#602) from KSat/fsfw:hoffmann/gpioBugfix into development
Reviewed-on: fsfw/fsfw#602
2022-04-27 08:41:54 +02:00
5b7ca8c13c update CHANGELOG.md, apply afmt 2022-04-27 08:39:21 +02:00
0aee86442e typo in readme 2022-04-26 11:48:18 +02:00
951c077abc option to use Countdown object to time out replies 2022-04-26 10:03:04 +02:00
031739ef51 Merge branch 'development' into hoffmann/gpioBugfix 2022-04-25 15:45:21 +02:00
b94685e045 added missing PR cross-ref 2022-04-25 15:44:46 +02:00
572d602b72 improve changelog, add entry 2022-04-25 15:42:44 +02:00
88051c9302 Merge remote-tracking branch 'upstream/development' into mueller/refactor-power-switch-if-etc 2022-04-25 15:37:03 +02:00
80be937d9d Merge remote-tracking branch 'upstream/development' into mueller/compiler-warning-fixes-upstream-2 2022-04-25 15:24:17 +02:00
d62ee6a611 Merge remote-tracking branch 'upstream/development' into mueller/extend-version-class 2022-04-25 15:23:46 +02:00
91ef4ff30b Merge remote-tracking branch 'upstream/development' into mueller/add-tc-scheduler-pus-11 2022-04-25 15:23:15 +02:00
b8516b15cb Merge pull request 'Added an additional conversion function' (#584) from eive/fsfw:mueller/clock-addition into development
Reviewed-on: fsfw/fsfw#584
2022-04-25 15:22:07 +02:00
755dcf66a3 Merge remote-tracking branch 'upstream/development' into mueller/possible-ring-buffer-fix 2022-04-25 15:16:52 +02:00
4032228005 Merge remote-tracking branch 'upstream/development' into mueller/extend-version-class 2022-04-25 15:15:54 +02:00
50ce13d596 Merge branch 'development' into mueller/power-switcher-component-upstream 2022-04-25 15:14:38 +02:00
68302e7c5e Merge remote-tracking branch 'upstream/development' into mueller/add-tc-scheduler-pus-11 2022-04-25 15:14:13 +02:00
ac5a54b5da Merge branch 'development' into mueller/clock-addition 2022-04-25 15:12:24 +02:00
b7ffd2653b Merge remote-tracking branch 'upstream/development' into mueller/possible-ring-buffer-fix 2022-04-25 15:11:52 +02:00
29015b340b update changelog 2022-04-25 15:10:50 +02:00
64274acbeb Merge pull request 'Add ETL dependency' (#592) from KSat/fsfw:mueller/add-etl-dependency into development
Reviewed-on: fsfw/fsfw#592
2022-04-25 15:08:05 +02:00
ff98c42514 Merge branch 'development' into mueller/clock-addition 2022-04-25 14:54:22 +02:00
126ac52975 Merge pull request 'Allow passing a MqArgs struct to the MQ creation' (#583) from eive/fsfw:mueller/ipc-pass-arbitrary-args-to-mq into development
Reviewed-on: fsfw/fsfw#583
2022-04-25 14:43:52 +02:00
70d3197212 gpio init bug fix
Return values from configureGpios were not checked
2022-04-25 14:32:05 +02:00
dd90980520 push test 2022-04-25 14:19:03 +02:00
18f9958332 add git CST and sha info to version ctor 2022-04-22 15:39:44 +02:00
68231db9a1 changelog typo 2022-04-22 15:37:14 +02:00
85e849ca00 small remaining fix 2022-04-22 15:10:08 +02:00
617d41c7d5 maybe this fixed CI/CD issues 2022-04-22 15:08:16 +02:00
cccdced74d unique helper file name 2022-04-22 15:00:04 +02:00
750369b0a6 small addition and possible fix 2022-04-22 14:55:17 +02:00
539e01deee minor form change 2022-04-22 14:53:12 +02:00
4079edc80e update changelog 2022-04-22 14:52:55 +02:00
a569990ca2 fix tests 2022-04-22 14:50:50 +02:00
9c7eba4431 git version handler more robust now 2022-04-22 14:47:28 +02:00
513ae9dc10 prefixed git info variable 2022-04-22 14:38:32 +02:00
effecd4662 include cmake-modules manually instead
- Instead of using FetchContent
- Separate folder for easier update and for distintion
- LICENSE file included
2022-04-22 14:33:34 +02:00
b951cb736a add fsfw specific cmake message prefix 2022-04-22 14:08:26 +02:00
7e1aed6ad9 apply afmt 2022-04-22 14:04:30 +02:00
07155e2546 extend version handling with git describe 2022-04-22 14:04:18 +02:00
8c6c8ad3c0 exntend version class to allow add info 2022-04-22 11:58:44 +02:00
352ab43c1f Merge remote-tracking branch 'upstream/development' into mueller/add-etl-dependency 2022-04-12 17:11:41 +02:00
35f257800e Merge remote-tracking branch 'upstream/development' into mueller/add-tc-scheduler-pus-11 2022-04-12 17:10:55 +02:00
07f5dbb9ac Merge branch 'development' into mueller/compiler-warning-fixes-upstream-2 2022-04-12 17:08:56 +02:00
97e98eae24 Merge branch 'development' into mueller/ipc-pass-arbitrary-args-to-mq 2022-04-12 17:06:30 +02:00
5ac88f2b15 Merge pull request 'added missing empty implementation in STM32 SPI HAL' (#599) from mueller/small-stm32-hal-bugifx into development
Reviewed-on: fsfw/fsfw#599
2022-04-11 17:48:48 +02:00
7a5ce57bbc Merge branch 'development' into mueller/possible-ring-buffer-fix 2022-04-11 17:35:42 +02:00
b03a6684f9 Merge branch 'development' into mueller/small-stm32-hal-bugifx 2022-04-11 17:34:39 +02:00
afce942bf8 Merge branch 'development' into mueller/compiler-warning-fixes-upstream-2 2022-04-11 17:33:04 +02:00
7c2e50b665 added related PR in changelog 2022-04-11 17:32:01 +02:00
c04ca704d2 Merge pull request 'progagate reply returnvalue' (#597) from eive/fsfw:mueller/propagate-pool-manage-retval into development
Reviewed-on: fsfw/fsfw#597
2022-04-11 17:31:54 +02:00
6aa54fe1d4 added missing empty implementation 2022-04-11 17:30:27 +02:00
a1d7a56dfa small fix 2022-04-11 17:14:43 +02:00
cb78fefbb3 afmt 2022-04-11 17:14:04 +02:00
c55925959b Merge branch 'mueller/add-etl-dependency' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/add-etl-dependency 2022-04-11 16:44:30 +02:00
4f0669c574 doc update 2022-04-11 16:44:20 +02:00
f0d996ffd2 Merge branch 'development' into mueller/add-etl-dependency 2022-04-11 16:17:46 +02:00
d0b7c22afc Merge branch 'mueller/add-tc-scheduler-pus-11' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/add-tc-scheduler-pus-11 2022-04-11 16:17:05 +02:00
a18bc15cbb update changelog 2022-04-11 16:16:56 +02:00
f4d05c2c9c Merge branch 'mueller/ipc-pass-arbitrary-args-to-mq' of https://egit.irs.uni-stuttgart.de/eive/fsfw into mueller/ipc-pass-arbitrary-args-to-mq 2022-04-11 16:13:55 +02:00
d1151ca707 changelog update 2022-04-11 16:13:47 +02:00
82f46992f6 Merge branch 'development' into mueller/ipc-pass-arbitrary-args-to-mq 2022-04-11 16:11:57 +02:00
4ed9cc933f Merge branch 'development' into mueller/refactor-power-switch-if-etc 2022-04-11 16:11:27 +02:00
7af1c86f1c use default call 2022-04-11 16:10:17 +02:00
bd0b7aa230 Merge branch 'mueller/power-switcher-component-upstream' of https://egit.irs.uni-stuttgart.de/eive/fsfw into mueller/power-switcher-component-upstream 2022-04-11 16:09:32 +02:00
72e0938f9a use size instead of capacity on sanity check 2022-04-11 16:09:15 +02:00
dd1b0a9380 Merge branch 'development' into mueller/power-switcher-component-upstream 2022-04-11 16:08:27 +02:00
9947a648df fix compiler warnings 2022-04-11 16:06:13 +02:00
c0f80680ef Merge branch 'mueller/propagate-pool-manage-retval' of https://egit.irs.uni-stuttgart.de/eive/fsfw into mueller/propagate-pool-manage-retval 2022-04-11 14:35:28 +02:00
7761b66fe2 delete data from ipc store if reply fails 2022-04-11 14:35:16 +02:00
acc4c8d975 check serialize result as well 2022-04-11 14:33:28 +02:00
fe739aa81a Merge branch 'development' into mueller/propagate-pool-manage-retval 2022-04-11 14:26:34 +02:00
adfefdd93f printout tweak 2022-04-11 14:19:01 +02:00
afe006e234 Merge pull request 'Alternative reply ID activation' (#595) from meier/alternativeReply into development
Reviewed-on: fsfw/fsfw#595
2022-04-11 14:18:52 +02:00
95f018a0b0 update IF method 2022-04-11 14:07:02 +02:00
8c2105ae0a correct init value for object ID 2022-04-11 14:00:37 +02:00
ed2c2af4a0 take upstream impl of local data pool manager 2022-04-11 13:59:38 +02:00
17771c0497 progagate reply returnvalue 2022-04-11 13:57:18 +02:00
82df132e7d tests running again 2022-04-11 13:54:43 +02:00
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
a011e70665 Merge branch 'development' into mueller/ipc-pass-arbitrary-args-to-mq 2022-04-04 17:21:11 +02:00
c05184e1c4 Merge branch 'development' into meier/alternativeReply 2022-04-04 14:25:08 +02:00
4dee913d51 Merge branch 'development' into mueller/add-tc-scheduler-pus-11 2022-04-04 14:19:25 +02:00
b2252bdc0b Merge remote-tracking branch 'upstream/development' into mueller/add-etl-dependency 2022-04-04 14:18:30 +02:00
7e61ce1ed2 Merge pull request 'cmake lists update to suppress large warning' (#588) from eive/fsfw:mueller/catch2-find-package-quiet into development
Reviewed-on: fsfw/fsfw#588
2022-04-04 14:07:38 +02:00
b764194ed0 added more unit tests 2022-04-01 18:43:46 +02:00
2d0e4ba951 applied afmt 2022-04-01 18:38:54 +02:00
0d549b687d Merge branch 'mueller/refactor-power-switch-if-etc' of https://egit.irs.uni-stuttgart.de/eive/fsfw into mueller/refactor-power-switch-if-etc 2022-04-01 18:38:34 +02:00
738f572043 added unit tests, minor API change 2022-04-01 18:38:25 +02:00
cab508fd64 Merge branch 'development' into mueller/refactor-power-switch-if-etc 2022-04-01 17:28:14 +02:00
c7daf697a8 add new power switcher component 2022-04-01 17:27:53 +02:00
c20be13733 change switch type in header as well 2022-04-01 16:40:13 +02:00
fcb6437388 Merge branch 'development' into mueller/ipc-pass-arbitrary-args-to-mq 2022-03-31 14:42:15 +02:00
6c1db8473b get alternative reply from device command info 2022-03-31 14:36:45 +02:00
b42987059a make dummy power switcher a system object 2022-03-30 17:41:38 +02:00
82fc7f33a8 update afmt scripts to format *.tpp files 2022-03-29 15:11:41 +02:00
bfa77cf810 Add TC scheduler service
- Written by David Woodward as part of the SOURCE project
- Adaptions to make it more generic and compatible to FSFW
2022-03-29 15:07:29 +02:00
a3930dafc5 Moved unused constructors 2022-03-28 21:37:25 +02:00
4f9797af3b Updated CCSDS CuC Functions 2022-03-28 21:24:33 +02:00
1a530633ca small fix 2022-03-28 21:10:51 +02:00
8037e8074b more docs 2022-03-28 21:03:18 +02:00
d07e0e5576 trying something 2022-03-28 21:01:26 +02:00
5525466b52 update changelog 2022-03-28 20:57:30 +02:00
c2a89bf709 bugfix 2022-03-28 20:57:13 +02:00
8dd0b2608d cache version variables 2022-03-28 20:55:34 +02:00
05495077ec doc update 2022-03-28 20:53:39 +02:00
8ff9eadf30 update changelog, add basic instructions for etl 2022-03-28 20:43:36 +02:00
082c86ea18 link ETL lib as well 2022-03-28 20:18:49 +02:00
2800d6f28c add ETL dependency 2022-03-28 20:16:11 +02:00
b4effe7a46 Clang format 2022-03-28 18:33:24 +02:00
e6e71436c2 Added more tests 2022-03-28 18:32:51 +02:00
4be45adae6 Merge branch 'development' into mueller/catch2-find-package-quiet 2022-03-28 16:44:23 +02:00
a887f852c8 Merge branch 'development' into mueller/clock-addition 2022-03-28 15:45:58 +02:00
0d7d2203d2 Merge pull request 'Added function to add component to a periodic task by pointer' (#591) from mohr/task into development
Reviewed-on: fsfw/fsfw#591
2022-03-28 15:23:26 +02:00
cde184f428 Merge branch 'development' into mohr/task 2022-03-28 15:18:23 +02:00
0b3255e463 Fixed tests 2022-03-28 15:17:59 +02:00
df3794dfd8 Merge pull request 'delete code which is not required anymore' (#587) from eive/fsfw:mueller/small-mgmlis3-tweak into development
Reviewed-on: fsfw/fsfw#587
2022-03-28 15:08:22 +02:00
b7a316008a increase allowed read bytes 2022-03-28 15:07:46 +02:00
d02d5c351d Merge branch 'development' into mueller/small-mgmlis3-tweak 2022-03-28 15:05:24 +02:00
f598f7030f Merge remote-tracking branch 'upstream/development' into mueller/possible-ring-buffer-fix 2022-03-28 15:03:01 +02:00
631a531212 Merge branch 'development' into mueller/clock-addition 2022-03-28 14:51:23 +02:00
febecd4b30 Merge pull request 'small tweaks for local datapool code' (#582) from eive/fsfw:mueller/localpool-tweaks into development
Reviewed-on: fsfw/fsfw#582
2022-03-28 14:49:42 +02:00
964e311d8b Merge branch 'development' into mueller/localpool-tweaks 2022-03-28 14:48:34 +02:00
d43caa8296 Merge pull request 'Using enums to configure baudrate and bits per word in Linux HAL UART' (#585) from mohr/hal_uart into development
Reviewed-on: fsfw/fsfw#585
2022-03-28 14:47:04 +02:00
916ed3f56a added function to add component to a periodic task by pointer 2022-03-28 13:50:42 +02:00
23af170229 small tweaks 2022-03-28 12:59:03 +02:00
b32d1da421 this should compile 2022-03-28 12:57:11 +02:00
6f0362b956 refactor power module 2022-03-28 12:48:15 +02:00
665d8cd479 Applied clang format 2022-03-25 18:48:53 +01:00
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
70f575396d Added changelog 2022-03-25 15:27:22 +01:00
ad57e6713e Fixed Unittests 2022-03-25 15:20:06 +01:00
d0fec93dc3 argument order inversion 2022-03-25 13:42:49 +01:00
59ab54b2fb call corrections 2022-03-25 13:41:37 +01:00
7095999bd2 remove CCSDSTime function 2022-03-25 13:34:35 +01:00
7ffb4107d2 added missing docs 2022-03-25 13:34:08 +01:00
d9d9a28ef8 delete code which is not required anymore 2022-03-24 21:04:46 +01:00
23f8e5cb41 some more tests fail 2022-03-24 21:01:21 +01:00
879223f38f added nullptr check 2022-03-24 20:57:42 +01:00
d95582b81b cmake lists update to suppress large warning 2022-03-24 16:54:41 +01:00
8a44c498c5 add two additional tests for ring buffer 2022-03-24 16:50:59 +01:00
c60aa68d00 changed hal linux uart baudrate and bits per word to enums 2022-03-24 15:44:32 +01:00
a891769a02 ring buffer cfg error warning 2022-03-24 11:32:27 +01:00
df97c582d7 possibly important fix for ring buffer write 2022-03-23 16:48:17 +01:00
9ce59d3c75 added an additional conversion function
- timeval to TimeOfDay_t
2022-03-22 17:54:09 +01:00
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
3e17011087 small tweaks for local datapool code 2022-03-22 17:42:56 +01:00
f441505476 update changelog 2022-03-22 17:41:49 +01:00
7c64797f03 Add more baud rates 2022-03-22 17:38:47 +01:00
e08bdd3e35 Merge pull request 'Always define FSFW_DISABLE_PRINTOUT' (#576) from eive/fsfw:mueller/define-fsfw-disabled-printout-upstream into development
Reviewed-on: fsfw/fsfw#576
2022-03-14 15:20:40 +01:00
d2dd16aef3 Merge branch 'development' into mueller/define-fsfw-disabled-printout-upstream 2022-03-14 15:12:37 +01:00
b7a617dab3 Merge pull request 'minor event changes' (#578) from eive/fsfw:mueller/event-update into development
Reviewed-on: fsfw/fsfw#578
2022-03-14 15:12:21 +01:00
bc95e7c886 Merge branch 'mueller/event-update' of https://egit.irs.uni-stuttgart.de/eive/fsfw into mueller/event-update 2022-03-14 15:08:54 +01:00
fca43b3d34 run auto-formatter 2022-03-14 15:08:45 +01:00
48c5c3fbd5 Merge branch 'development' into mueller/event-update 2022-03-14 15:07:25 +01:00
b694aea100 Merge pull request 'call setTimeout in Countdown ctor' (#577) from eive/fsfw:mueller/countdown-improvement-upstream into development
Reviewed-on: fsfw/fsfw#577
2022-03-14 15:04:57 +01:00
6998626ad4 Merge branch 'development' into mueller/define-fsfw-disabled-printout-upstream 2022-03-14 15:02:07 +01:00
24ad858b64 Merge branch 'development' into mueller/countdown-improvement-upstream 2022-03-14 14:46:54 +01:00
288d453978 Merge pull request 'Version Getter Function' (#575) from eive/fsfw:mueller/version-getter-upstream into development
Reviewed-on: fsfw/fsfw#575
2022-03-14 14:44:37 +01:00
522cbc7f3d Merge remote-tracking branch 'upstream/development' into mueller/version-getter-upstream 2022-03-14 14:38:27 +01:00
ce5bcc5897 bugfix 2022-03-14 14:37:41 +01:00
97c93afeff Merge remote-tracking branch 'upstream/development' into mueller/version-getter-upstream 2022-03-14 14:24:43 +01:00
8704b9ab06 Merge pull request 'Fixed test issue with overflow of times' (#574) from gaisser/fsfw:gaisser_ccsds_time_tests into development
Reviewed-on: fsfw/fsfw#574
2022-03-14 14:23:35 +01:00
5a1585bd00 Merge pull request 'SPI HAL improvement' (#573) from eive/fsfw:mueller/spi-initialize-line-state into development
Reviewed-on: fsfw/fsfw#573
2022-03-14 14:18:03 +01:00
5d6de90859 Merge remote-tracking branch 'upstream/development' into mueller/spi-initialize-line-state 2022-03-14 14:15:13 +01:00
378c6c8006 Merge pull request 'HAL: Update for GPIO code' (#572) from eive/fsfw:mueller/gpio-update into development
Reviewed-on: fsfw/fsfw#572
2022-03-14 14:13:33 +01:00
f4922a8686 Merge pull request 'small test device handler fixes' (#571) from eive/fsfw:mueller/small-dh-test-foxes into development
Reviewed-on: fsfw/fsfw#571
2022-03-14 14:11:44 +01:00
0bdcb40609 minor event changes 2022-03-11 14:25:34 +01:00
e684680d60 avoid namespace pollution 2022-03-10 09:58:37 +01:00
aa5d1042f0 undef major and minor 2022-03-10 09:57:37 +01:00
14ac852b7e this tests even a bit more 2022-03-10 09:44:06 +01:00
6b1a81ee92 minor tweaks 2022-03-10 09:40:34 +01:00
3779b44813 added some more minor tests 2022-03-10 09:37:57 +01:00
949549178a update changelog 2022-03-10 09:36:36 +01:00
7daa9812ff added tests 2022-03-10 09:35:10 +01:00
ca508bfe61 getter not required anymore 2022-03-09 19:10:33 +01:00
345a799031 improved version.h 2022-03-09 19:08:17 +01:00
445d5dd6f0 Added Checks for CDSShort in unittests 2022-03-09 18:56:08 +01:00
238baa8597 call setTimeout 2022-03-08 11:54:20 +01:00
7932afc315 small form change 2022-03-08 10:13:11 +01:00
d1e3dc4d49 define FSFW_DISABLE_PRINTOUT in any case 2022-03-08 10:12:02 +01:00
77e5fba7fd update changelog 2022-03-08 10:08:53 +01:00
ca70c8c614 function to get fsfw version 2022-03-08 10:07:07 +01:00
14620fdd72 minor correction 2022-03-08 09:02:40 +01:00
89c1878622 add link to PR 2022-03-08 09:01:23 +01:00
d6856fc54a another minor changelog update 2022-03-08 09:00:14 +01:00
e5a9cab34e fix changelog 2022-03-08 08:57:18 +01:00
a4f97a7ba7 Fixed another issue of time checks 2022-03-07 18:33:24 +01:00
8b1af232c3 Added Tests for CCSDS Time, fixed LPM Test
Changed behaviour of Host and Linux Clock
2022-03-07 18:22:10 +01:00
983fa346b3 update CHANGELOG 2022-03-07 16:17:33 +01:00
32f420c4f0 SPI HAL improvement
- Initialize line state
2022-03-07 16:13:04 +01:00
41a82e923c update changelog 2022-03-07 16:09:18 +01:00
5ddac36314 GPIO update 2022-03-07 16:07:01 +01:00
d06eecf9b0 small test device handler fixes 2022-03-07 15:56:45 +01:00
5912ddd2a2 Merge pull request 'Activates new gcc compiler flags' (#568) from gaisser/fsfw:gaisser_compiler_flags into development
Reviewed-on: fsfw/fsfw#568
2022-03-07 14:44:09 +01:00
7db11588b4 Merge branch 'development' into gaisser_compiler_flags 2022-03-07 14:39:01 +01:00
c88b931ef1 Merge pull request 'HAL Devicehandlers: Periodic printouts are runtime configurable now' (#561) from eive/fsfw:mueller/dev-printout-runtime-configurable into development
Reviewed-on: fsfw/fsfw#561
2022-03-07 14:36:25 +01:00
10ffa2f44a Merge branch 'development' into mueller/dev-printout-runtime-configurable 2022-03-07 14:20:56 +01:00
dbe31dd339 Merge pull request 'some forgotten size_t' (#570) from eive/fsfw:mohr/sizes into development
Reviewed-on: fsfw/fsfw#570
2022-03-07 14:19:59 +01:00
14b44f8bb2 Merge branch 'development' into gaisser_compiler_flags 2022-03-07 13:09:21 +01:00
117747970d some forgotten size_t 2022-03-05 22:03:25 +01:00
c6540650e2 Merge pull request 'Changing build to -j4 from -j to lessen load on build server' (#569) from mohr/slowbuild into development
Reviewed-on: fsfw/fsfw#569
2022-03-04 15:16:25 +01:00
f659f13759 Changing build to -j4 from -j to lessen load on build server 2022-03-03 16:03:06 +01:00
95078e1103 Merge remote-tracking branch 'upstream/development' into mueller/dev-printout-runtime-configurable 2022-02-28 15:52:54 +01:00
8920255565 Merge pull request 'one shot flag not static anymore' (#560) from eive/fsfw:mueller/test-task-one-shot-flag-not-static into development
Reviewed-on: fsfw/fsfw#560
2022-02-28 15:50:06 +01:00
2d12618c96 Merge branch 'development' into mueller/test-task-one-shot-flag-not-static 2022-02-28 15:42:08 +01:00
68ca6fd122 Merge branch 'development' into gaisser_compiler_flags 2022-02-28 15:29:57 +01:00
33e9592659 Merge pull request 'Unit test for Internal Error Reporter' (#563) from gaisser/fsfw:gaisser_unit_test_internal_error into development
Reviewed-on: fsfw/fsfw#563
2022-02-28 15:26:00 +01:00
19d217e3b9 Merge remote-tracking branch 'upstream/development' into mueller/dev-printout-runtime-configurable 2022-02-28 15:23:54 +01:00
af286d3bc6 Merge remote-tracking branch 'upstream/development' into mueller/test-task-one-shot-flag-not-static 2022-02-28 15:23:21 +01:00
20928732ec Merge branch 'development' into gaisser_unit_test_internal_error 2022-02-28 15:19:44 +01:00
a8426750f2 Merge pull request 'display run commands in helper script' (#564) from eive/fsfw:mueller/update-helper-script into development
Reviewed-on: fsfw/fsfw#564
2022-02-28 15:13:39 +01:00
2635f39344 Merge branch 'development' into mueller/update-helper-script 2022-02-28 15:05:02 +01:00
89327463e3 Merge pull request 'HkSwitchHelper should not be needed anymore' (#557) from eive/fsfw:mueller/delete-obsolete-module into development
Reviewed-on: fsfw/fsfw#557
2022-02-28 15:03:09 +01:00
cf45eca100 Merge remote-tracking branch 'upstream/development' into mueller/dev-printout-runtime-configurable 2022-02-28 15:00:38 +01:00
c0fa365f8f Merge remote-tracking branch 'upstream/development' into mueller/delete-obsolete-module 2022-02-28 14:58:28 +01:00
9d9f19781d Merge remote-tracking branch 'upstream/development' into mueller/test-task-one-shot-flag-not-static 2022-02-28 14:57:38 +01:00
f4520ea346 Merge remote-tracking branch 'upstream/development' into mueller/test-task-one-shot-flag-not-static 2022-02-28 14:56:51 +01:00
bbacdc5cac Merge pull request 'Linux HAL: Add I2C wiretapping option' (#559) from eive/fsfw:mueller/hal-i2c-wiretapping into development
Reviewed-on: fsfw/fsfw#559
2022-02-28 14:55:21 +01:00
a6c0f3fef5 Merge remote-tracking branch 'upstream/development' into mueller/delete-obsolete-module 2022-02-28 14:17:09 +01:00
0e8328fca3 Fixed include based on Feedback 2022-02-24 11:22:51 +01:00
1ef3dae72e Fixed an missing include 2022-02-23 22:36:29 +01:00
32381a7872 Fixed an issue with wrong buffer size 2022-02-23 21:20:22 +01:00
09815f5cce Clang format 2022-02-23 18:24:07 +01:00
f6357b4531 WIP compiler Flags and new unit tests for fixes 2022-02-23 18:23:22 +01:00
a10e5c6ed4 Merge branch 'development' into mueller/update-helper-script 2022-02-23 15:38:25 +01:00
d6d13eec95 Merge branch 'development' into gaisser_unit_test_internal_error 2022-02-23 12:37:55 +01:00
457bc6609e Merge pull request 'apply clang format' (#558) from eive/fsfw:mueller/apply-clang-format into development
Reviewed-on: fsfw/fsfw#558
2022-02-23 12:36:24 +01:00
e75155c329 Merge branch 'development' into mueller/apply-clang-format 2022-02-23 12:30:40 +01:00
d4e48006f2 Merge branch 'development' into mueller/update-helper-script 2022-02-23 12:28:12 +01:00
d6508e23b6 Added more coverage and Documentation 2022-02-23 12:12:49 +01:00
2cb254a556 Removed unused code 2022-02-23 11:53:48 +01:00
f99f5ed730 Merge branch 'development' into mueller/dev-printout-runtime-configurable 2022-02-23 11:03:48 +01:00
5f7e384442 Merge branch 'development' into mueller/hal-i2c-wiretapping 2022-02-23 11:01:53 +01:00
56d0c8c616 Merge branch 'development' into mueller/test-task-one-shot-flag-not-static 2022-02-23 11:01:34 +01:00
5ff0f8ea10 Merge pull request 'README tweak' (#562) from eive/fsfw:mueller/readme-tweak into development
Reviewed-on: fsfw/fsfw#562
2022-02-23 10:08:49 +01:00
fdc8a3d4f7 display run commands in helper script 2022-02-22 14:02:03 +01:00
e5e85bcff9 still clang 2022-02-22 13:43:25 +01:00
4862edfdb5 Clang format 2022-02-22 13:42:56 +01:00
a50b52df51 Fixed an issue in host OSAL and added more coverage to IER 2022-02-22 13:37:28 +01:00
eac7e6db07 try readme tweak 2022-02-22 11:40:31 +01:00
0c4835bfb5 update changelog 2022-02-22 11:37:38 +01:00
aebd4817b8 periodic printouts are runtime configurable now 2022-02-22 11:33:41 +01:00
9c2ceb4a9f one shot flag not static anymore 2022-02-22 11:29:23 +01:00
68ace0b74a update changelog 2022-02-22 11:23:29 +01:00
d119479c0a update changelog 2022-02-22 11:22:20 +01:00
6739890d53 add i2c wiretapping option 2022-02-22 11:19:49 +01:00
90b8ad1e6d apply clang format 2022-02-22 11:16:33 +01:00
025f79fcb4 apply clang format 2022-02-22 11:16:14 +01:00
6fb64f9ada removed source from cmakelists.txt 2022-02-22 11:11:54 +01:00
2f1b923009 this module should not be needed anymore 2022-02-22 11:06:00 +01:00
45ea09291a Still test for InternalError Reporter 2022-02-18 19:57:36 +01:00
b7f3eff742 WIP unit tests 2022-02-18 19:08:06 +01:00
a274d6598e Merge pull request 'Release v4.0.0' (#554) from development into master
Reviewed-on: fsfw/fsfw#554
2022-02-14 16:49:15 +01:00
c3d78120ea preparing 4.0.0 2022-02-14 16:42:40 +01:00
f24de22e9b Merge pull request 'Some DHB docs' (#551) from eive/fsfw:mueller/dhb-docs into development
Reviewed-on: fsfw/fsfw#551
2022-02-14 16:35:10 +01:00
918783774f Merge branch 'development' into mueller/dhb-docs 2022-02-14 16:34:47 +01:00
6744a55b9b docs update 2022-02-14 16:31:13 +01:00
a612fb446c added two links 2022-02-14 16:23:21 +01:00
a5adeb333c Merge pull request 'Fixed valgrind python script' (#553) from gaisser/fsfw:gaisser_build_script into development
Reviewed-on: fsfw/fsfw#553
2022-02-14 15:27:04 +01:00
7788cada54 Merge branch 'development' into gaisser_build_script 2022-02-14 15:26:06 +01:00
074ef29b86 Fixed valgrind python script 2022-02-14 15:19:47 +01:00
d4f059d639 Merge pull request 'increase test limit' (#552) from eive/fsfw:mueller/increase-test-limit into development
Reviewed-on: fsfw/fsfw#552
2022-02-14 15:18:17 +01:00
22bc300902 increase other limits 2022-02-14 16:14:14 +01:00
0d38ac62d8 this should work an ALL systems 2022-02-14 16:12:48 +01:00
d81257a91c Merge branch 'mueller/increase-test-limit' of https://egit.irs.uni-stuttgart.de/eive/fsfw into mueller/increase-test-limit 2022-02-14 16:01:02 +01:00
d53c7e1190 increase test limit 2022-02-14 16:00:43 +01:00
e312cd094a Merge branch 'development' into mueller/increase-test-limit 2022-02-14 14:55:19 +01:00
9e958e752e applied clang format 2022-02-14 14:54:20 +01:00
3bcd71598d Merge branch 'development' into mueller/increase-test-limit 2022-02-14 14:51:35 +01:00
2602d4fed1 Merge branch 'development' into mueller/dhb-docs 2022-02-14 14:51:16 +01:00
805538ec6e Merge pull request 'meier/uioMapper' (#543) from meier/uioMapper into development
Reviewed-on: fsfw/fsfw#543
2022-02-14 14:50:52 +01:00
120750f22a removed one fclose 2022-02-14 08:51:53 +01:00
9897f51307 added flose and changed warning message to error message 2022-02-14 08:43:10 +01:00
4f87e24f60 increase test limit 2022-02-10 14:08:52 +01:00
2dcf896cca this sounds better 2022-02-10 14:04:23 +01:00
cdf2a90f90 fixed up cross-ref 2022-02-10 14:02:30 +01:00
b25555a533 started DHB docs 2022-02-10 13:53:59 +01:00
bc0100ee08 Merge pull request 'Update CHANGELOG' (#539) from mueller/update-changelog into development
Reviewed-on: fsfw/fsfw#539
2022-02-07 17:13:41 +01:00
c6d152a01d updated changelog 2022-02-07 17:11:04 +01:00
f4f1174849 Merge branch 'development' into mueller/update-changelog 2022-02-07 17:06:16 +01:00
9df8722c10 Merge pull request 'Switching to a static docker image' (#549) from mohr/static_docker into development
Reviewed-on: fsfw/fsfw#549
2022-02-07 17:02:00 +01:00
7208139630 Jenkinsfile another typo 2022-02-07 16:50:59 +01:00
54f3d7bd2d Jenkinsfile typo 2022-02-07 16:49:42 +01:00
7a83289b3d using prebuild, static docker image 2022-02-07 16:48:41 +01:00
136524424f Merge pull request 'Fix for Catch2 build regression' (#548) from mohr/catch2workaround into development
Reviewed-on: fsfw/fsfw#548
2022-02-07 16:45:47 +01:00
793b97f651 Merge branch 'development' into mohr/catch2workaround 2022-02-07 16:40:13 +01:00
2e4cd80556 workaround for build regression catch2-v3.0.0-preview4 2022-02-07 15:51:06 +01:00
a4f57a38fa Merge branch 'mueller/update-changelog' of egit.irs.uni-stuttgart.de:fsfw/fsfw into mueller/update-changelog 2022-02-07 15:42:00 +01:00
6dc34fc1f0 removed cmake warning as I have a workaround 2022-02-07 15:41:10 +01:00
9e6948a8d7 Merge pull request 'virtual function to print datasets' (#544) from meier/printDataSet into development
Reviewed-on: fsfw/fsfw#544
2022-02-07 14:42:17 +01:00
9b17b282c6 Merge pull request 'do send read hook' (#545) from meier/doSendReadHook into development
Reviewed-on: fsfw/fsfw#545
2022-02-07 14:42:05 +01:00
5f48d77c64 Merge branch 'development' into meier/printDataSet 2022-02-07 14:17:26 +01:00
8ab8c57f9c Merge branch 'development' into meier/doSendReadHook 2022-02-07 14:17:03 +01:00
c7b9df5e40 Merge branch 'development' into mueller/update-changelog 2022-02-07 14:16:52 +01:00
7b8019c621 Merge branch 'development' into meier/uioMapper 2022-02-07 14:09:13 +01:00
baddbf7340 Updated changelog for v4.0.0 2022-02-07 13:44:25 +01:00
80a610141a added v3.0.1 to changelog 2022-02-04 13:45:09 +01:00
f93c173715 Merge pull request 'Update development to master v3.0.1' (#546) from master into development
Reviewed-on: fsfw/fsfw#546
2022-02-04 13:29:59 +01:00
620841a9e5 Merge pull request 'bump version' (#542) from mueller/bump-version into master
Reviewed-on: fsfw/fsfw#542
2022-02-04 13:23:24 +01:00
bd29688307 bump revision 2022-02-04 13:11:27 +01:00
43b7a314b6 bump version 2022-02-04 13:11:27 +01:00
1b41153ee6 add uio subdirectory 2022-02-04 10:16:37 +01:00
f08d291e3e fix to remove compiler warning 2022-02-03 11:07:51 +01:00
06ffe27fcc do send read hook 2022-02-03 10:46:14 +01:00
e9b0951a95 virtual function to print datasets 2022-02-03 10:37:07 +01:00
348274c145 merged develop 2022-02-03 10:31:15 +01:00
40329a33b2 prepared for proper pr 2022-02-03 10:19:33 +01:00
2d52042ed6 add uio subdir 2022-02-03 10:16:06 +01:00
79936a3335 uio mapper 2022-02-03 10:14:47 +01:00
51add8a8ad Merge remote-tracking branch 'origin/development' into mueller/update-changelog 2022-02-02 10:40:25 +01:00
ad5bb4c694 update changelog.md 2022-02-02 10:40:00 +01:00
bf5a11cbd3 Merge pull request 'applied clang script' (#534) from mueller/apply-clang-script into development
Reviewed-on: fsfw/fsfw#534
2022-02-02 10:38:07 +01:00
ddcac2bbac reapply clang format 2022-02-02 10:29:30 +01:00
70b593df65 Merge pull request 'Added CFDP packet stack' (#528) from KSat/fsfw:mueller/cfdp-pdus into development
Reviewed-on: fsfw/fsfw#528
2022-02-02 10:27:39 +01:00
e5cc7069a6 Merge remote-tracking branch 'upstream/development' into mueller/cfdp-pdus 2022-02-02 10:19:31 +01:00
98dbaf03e0 Merge pull request 'Linux CommandExecutor' (#536) from eive/fsfw:mueller/cmd-executor into development
Reviewed-on: fsfw/fsfw#536
2022-02-02 10:17:52 +01:00
e0c50477cb it actually was an uninitialized array 2022-02-02 10:00:57 +01:00
30687f84c8 Merge branch 'mueller/cmd-executor' of https://egit.irs.uni-stuttgart.de/eive/fsfw into mueller/cmd-executor 2022-02-02 09:56:41 +01:00
fed39defd3 update helper script 2022-02-02 09:56:12 +01:00
acbc2cd749 valgrind why 2022-02-01 18:04:08 +01:00
368481f88b move strcmp outside of macro 2022-02-01 14:04:13 +01:00
d2b561ba2f test 2022-02-01 13:57:27 +01:00
990e8672a8 update dockerfile 2022-02-01 13:47:16 +01:00
9cde8c7f45 Merge branch 'mueller/cfdp-pdus' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/cfdp-pdus 2022-02-01 11:01:19 +01:00
751de7accc Merge remote-tracking branch 'upstream/development' into mueller/cfdp-pdus 2022-02-01 11:00:57 +01:00
74ae3f1371 Merge remote-tracking branch 'upstream/development' into mueller/cmd-executor 2022-02-01 10:49:14 +01:00
02ac92a6b3 Merge pull request 'CMake optimization' (#533) from mueller/cmake-optimization into development
Reviewed-on: fsfw/fsfw#533
2022-01-31 15:41:09 +01:00
b83b2e8f89 Merge pull request 'Catch 2 Update' (#538) from mueller/catch2-update into development
Reviewed-on: fsfw/fsfw#538
2022-01-31 15:18:42 +01:00
8a39971a1c oops, wrong language 2022-01-31 15:11:37 +01:00
1ead156c64 added --pull to the docker build 2022-01-31 15:08:52 +01:00
5b968f7e5a Can't use env variables in top leve agent section 2022-01-31 15:01:45 +01:00
b98127cea6 Updated CI Build
- Always clean and rebuild docker image.
- Use single docker container
2022-01-31 14:59:45 +01:00
eba9abfc9a Jenkinsfile syntax is weird, maybe this works... 2022-01-28 14:10:24 +01:00
bf7fabd7ba commented out when block 2022-01-28 13:46:05 +01:00
cf3d4d8de3 cleanDocker 2022-01-28 13:43:21 +01:00
8414c9d471 added steps 2022-01-28 13:36:43 +01:00
386843e3e7 update jenkinsfile 2022-01-28 13:33:06 +01:00
441b3b83c8 Changes to Dockerfile and Jenkinsfile
1. Install Catch2 from sources inside a Docker stage/layer
2. Some tweaks to Jenkinsfile
2022-01-27 11:30:33 +01:00
c453af5911 cleanCI 2022-01-26 15:30:01 +01:00
fe95c3337a changed builddir name in Jenkinsfile 2022-01-26 12:28:30 +01:00
bc5a6b4a51 bump catch2 version to v3.0.0-preview4 2022-01-26 12:23:12 +01:00
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
6c63d82f5c better comment 2022-01-18 18:47:29 +01:00
78ddce249c try an optimization 2022-01-18 18:29:54 +01:00
2a268e14d1 Merge pull request 'Release v3.0.0' (#532) from development into master
Reviewed-on: fsfw/fsfw#532
2022-01-10 14:52:31 +01:00
d93f2c5055 Merge branch 'development' into mueller/cfdp-pdus 2021-12-20 14:16:02 +01:00
bd64a43819 Merge pull request 'simplified test controller and added docs gitignore' (#530) from mueller/controller-update into development
Reviewed-on: fsfw/fsfw#530
2021-12-20 14:15:37 +01:00
d0c7878da4 simplified test controller and added docs gitignore 2021-12-14 17:50:23 +01:00
2bd1e6acbd Merge pull request 'Added formatting scripts' (#527) from KSat/fsfw:mueller/clang-shell-script into development
Reviewed-on: fsfw/fsfw#527
2021-12-13 14:26:22 +01:00
9697575f50 Merge branch 'development' into mueller/clang-shell-script 2021-12-13 14:25:11 +01:00
cec44ad44c Merge pull request 'improved win32 define' (#529) from KSat/fsfw:woodward/define-improvement into development
Reviewed-on: fsfw/fsfw#529
2021-12-13 14:20:50 +01:00
661b7b44e0 improved win32 define 2021-12-12 19:28:51 +01:00
d39e0c8bb6 renamed test folder 2021-12-07 14:08:26 +01:00
e952a82b65 small tweaks and fixes 2021-12-07 13:14:57 +01:00
7a84dff7d6 maybe this fixes the build error? 2021-12-06 16:23:09 +01:00
6a6f6011ba Merge branch 'mueller/cfdp-pdus' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/cfdp-pdus 2021-12-06 16:12:32 +01:00
602fa3a956 Merge remote-tracking branch 'upstream/development' into mueller/cfdp-pdus 2021-12-06 16:12:06 +01:00
c3a0aabfb8 Merge branch 'development' into mueller/cfdp-pdus 2021-12-06 15:07:51 +01:00
cbcfa8fe56 Merge remote-tracking branch 'upstream/development' into mueller/clang-shell-script 2021-12-06 15:06:05 +01:00
32ba4301e4 Merge pull request 'Introducing documentation with Sphinx' (#526) from mueller/sphinx-docs into development
Reviewed-on: fsfw/fsfw#526
2021-12-06 15:05:29 +01:00
4a5204d6f6 small fix for helper script 2021-12-06 14:46:31 +01:00
5907f8ee9d Added CFDP packet stack
This PR adds the packet stack for the CCSDS File Delivery Protocol.
It also refactors the existing TMTC infastructure to allow sending
of CFDP packets to the CCSDS handlers.

This includes the whole PDU (Protocol Data Unit) stack:

- File Data PDUs

and all file directive PDUs

- ACK PDU
- NAK PDU
- Metadata PDU
- Finished PDU
- Prompt PDU
- Keep Alive PDU
- EOF PDU

The PR includes a full set of unittests for the packet stack
with a coverage of 90+ %.

The refactoring of the existing TMTC infastructure includes non-ideal
solutions like diamond inheritance.
Avoiding this solution would require refactoring the packet stack.
This would be a good idea anyway because the existing stack is tightly
coupled to the FSFW, making reuse more difficult if only the stack is
planned to be used without the store functionalities etc.

The PDU implementation provided here is only weakly coupled to the FSFW,
only using components like returnvalues or the Serialization modules.
There are dedicated serializers and deserializers, which also helps in
creating small focused modules which are easy to test.

Some of the modules here were provied by Matthias Tompert.
2021-12-03 15:37:49 +01:00
df45f02c39 script fixes, odd behaviour 2021-12-03 14:55:00 +01:00
15dddd7fc4 small README section for formatting 2021-12-01 16:17:27 +01:00
fd7581f8ba Added formatting scripts
1. Added .clang-format file which contains information for the
   clang-format tool on how to format source files
2. Added shell helper script to apply all changes on HAL soures,
   test sources and primary sources

The shell script was not applied yet. This should be done shortly
before introducing the release. Also, it might be good idea to provide
instructions on how to set up the formatter for Eclipse
2021-12-01 16:11:57 +01:00
c2bf09d506 Introducing documentation with Sphinx
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
2021-12-01 11:17:28 +01:00
bf31248a50 Merge pull request 'Update SerializeAdapter' (#513) from KSat/fsfw:mueller/serializeif-update into development
Reviewed-on: fsfw/fsfw#513
2021-11-29 14:37:40 +01:00
9fadc9b830 Merge branch 'development' into mueller/serializeif-update 2021-11-29 14:36:25 +01:00
8c17c7e1a7 Merge pull request 'update unittest helper scripts' (#525) from eive/fsfw:mueller/update-scripts into development
Reviewed-on: fsfw/fsfw#525
2021-11-29 14:35:07 +01:00
9c5e3565c6 Merge branch 'development' into mueller/serializeif-update 2021-11-24 18:53:28 +01:00
ecc7f1d691 Merge branch 'development' into mueller/update-scripts 2021-11-24 13:13:26 +01:00
00dced31ee update unittest helper scripts
- Added functionality to open HTML report immediately
- Added another helper script to automatically generate unittest build
  folder
2021-11-19 13:50:46 +01:00
ab7117d81e Merge pull request 'Bugfix for Packet ID getters' (#524) from eive/fsfw:mueller/bugfix-improvements-packet-id-functions into development
Reviewed-on: fsfw/fsfw#524
2021-11-19 13:46:46 +01:00
05c4f4fadc Bugfix for Packet ID getters
- Also added related unittests
2021-11-18 19:56:24 +01:00
186b3565e0 Merge pull request 'Unittests for Op Divider and Bitutility' (#510) from KSat/fsfw:mueller/unittests-op-divider-bitutil into development
Reviewed-on: fsfw/fsfw#510
2021-11-15 14:24:15 +01:00
e688105073 Merge branch 'development' into mueller/unittests-op-divider-bitutil 2021-11-15 14:23:34 +01:00
f7c6ec329b Merge pull request 'Filesystem Base Interface: Use IF instead of void pointer' (#511) from KSat/fsfw:mueller/filesystem-api-update into development
Reviewed-on: fsfw/fsfw#511
2021-11-15 14:23:04 +01:00
30217aa42b updated SerializeAdapter.h
- Updates `SerializerAdapter` to also take simple pointer and simply assign the serialized and deSerialized size
- Added related unittests
2021-11-10 18:51:56 +01:00
0176c07886 use IF instead of void pointer 2021-11-10 18:49:29 +01:00
6d5eb5b387 Op Divider and bitutility updates
- Added unittests for `PeriodicOperationDivider` and the `bitutil` helpers
- Some API changes: Removed redundant bit part, because these functions are already in a namespace
- Some bugfixes for `PeriodicOperationDivider`
2021-11-10 18:48:02 +01:00
9a38106b57 Merge pull request 'STM32 SPI Updates' (#518) from mueller/stm32-spi-updates into development
Reviewed-on: fsfw/fsfw#518
2021-11-08 14:52:28 +01:00
75e16e0b7b Merge branch 'development' into mueller/stm32-spi-updates 2021-11-08 14:51:02 +01:00
87a15910fe Merge pull request 'CMakeLists fixes' (#517) from mueller/cmake-fixes into development
Reviewed-on: fsfw/fsfw#517

LGTM
2021-11-08 14:44:39 +01:00
9ad215c9a3 Merge branch 'development' into mueller/cmake-fixes 2021-10-28 09:20:02 +02:00
2ca7a84e86 Merge branch 'development' into mueller/stm32-spi-updates 2021-10-28 09:19:31 +02:00
fbeb578d1c Merge pull request 'introducing valgrind' (#521) from mohr_ci into development
Reviewed-on: fsfw/fsfw#521
2021-10-27 21:49:57 +02:00
58d4525e8a Merge branch 'development' into mohr_ci 2021-10-27 21:35:17 +02:00
8d004e9621 Merge pull request 'Out of bound reads and writes in unittests' (#519) from mohr_valgrind into development
Reviewed-on: fsfw/fsfw#519
2021-10-27 21:35:01 +02:00
a53992fdc9 introducing valgrind 2021-10-27 21:32:40 +02:00
c6bbc19b85 Merge pull request 'Adding code for CI with docker and jenkins' (#520) from mohr_ci into development
Reviewed-on: fsfw/fsfw#520
2021-10-27 20:52:57 +02:00
36aaf3d758 say hi to my new friend valgrind 2021-10-27 20:41:04 +02:00
7c855592d0 more cleaning up 2021-10-27 18:12:56 +02:00
cb7399b999 msp init improvements 2021-10-27 18:12:46 +02:00
d675621b73 grouping CS gpio definition 2021-10-27 17:32:21 +02:00
3448a8c01b SPI ComIF updates
1. Make setting a chip select pin optional
2. Make ComIF member functions public
2021-10-27 17:32:13 +02:00
42458725e8 more important fix 2021-10-27 17:10:37 +02:00
cc7250fcf5 second cmake fix 2021-10-27 17:08:59 +02:00
da42edcc0c Jenkinsfile: added stage to be more verbose 2021-10-26 20:58:34 +02:00
b02f737418 jenkins cosmetics 2021-10-26 20:53:08 +02:00
1923b339e9 I can not jenkins 2021-10-26 20:47:53 +02:00
3c41472649 tweaking Jenkinsfile 2021-10-26 20:30:22 +02:00
da19764232 Merge pull request 'Unittest and Integration test hotfix' (#516) from KSat/fsfw:mueller/unittest-hotfix into development
Reviewed-on: fsfw/fsfw#516
2021-10-26 17:36:40 +02:00
2126e6e375 simplified test task 2021-10-26 17:24:47 +02:00
5f8adc63b7 some more fixes for integration tests 2021-10-26 17:16:21 +02:00
81bae85825 hotfix for unittests 2021-10-26 17:10:54 +02:00
e263f2fbdc Merge pull request 'added integration test code' (#508) from mueller/example-code-as-test into development
Reviewed-on: fsfw/fsfw#508
2021-10-25 15:30:53 +02:00
8d34561137 Merge branch 'development' into mueller/example-code-as-test 2021-10-25 15:06:36 +02:00
19f9b0280c added jenkins integration 2021-10-25 14:59:16 +02:00
e86319707f Merge branch 'development' into mueller/example-code-as-test 2021-10-25 14:52:43 +02:00
0e653378c3 Merge pull request 'Arrayprinter format improvements' (#514) from KSat/fsfw:mueller/arrayprinter-improvements into development
Reviewed-on: fsfw/fsfw#514
2021-10-25 14:09:25 +02:00
a506b94d7e Merge branch 'development' into mueller/arrayprinter-improvements 2021-10-25 14:09:08 +02:00
7bff632042 Merge pull request 'updated function names' (#509) from eive/fsfw:mueller/constexpr-func-name into development
Reviewed-on: fsfw/fsfw#509
2021-10-25 14:05:14 +02:00
07a0dd5331 this is the correct file 2021-10-22 11:32:28 +02:00
f16dcebf6b Merge branch 'development' into mueller/arrayprinter-improvements 2021-10-22 11:31:57 +02:00
dc6ed40bfb arrayprinter format improvements 2021-10-22 11:30:00 +02:00
a5a306ff66 arrayprinter format improvements 2021-10-21 22:36:54 +02:00
7122c37511 updated function names 2021-10-18 18:26:03 +02:00
dacec0c1f6 Merge pull request 'Keep Open TCP Implementation' (#496) from eive/fsfw:mueller/tcp-keep-open-pr into development
Reviewed-on: fsfw/fsfw#496
2021-10-18 15:13:08 +02:00
84cd010a25 Merge branch 'mueller/tcp-keep-open-pr' of https://egit.irs.uni-stuttgart.de/eive/fsfw into mueller/tcp-keep-open-pr 2021-10-18 15:07:11 +02:00
a077a1b587 improved constexpr macros 2021-10-18 15:07:00 +02:00
b94baf838d Merge branch 'development' into mueller/tcp-keep-open-pr 2021-10-18 14:58:33 +02:00
084a3daec6 Merge pull request 'more printouts for rejected TC packets' (#505) from eive/fsfw:mueller/packet-check-printout into development
Reviewed-on: fsfw/fsfw#505
2021-10-18 14:44:40 +02:00
b23ed11c7e Merge branch 'development' into mueller/tcp-keep-open-pr 2021-10-18 14:44:26 +02:00
9d7d22510b Merge pull request 'Tests can now be built as part of FSFW and versioning moved to CMake' (#500) from KSat/fsfw:mueller/integrated-unittests into development
Reviewed-on: fsfw/fsfw#500
2021-10-18 14:42:52 +02:00
76d12e3db1 Merge branch 'development' into mueller/integrated-unittests 2021-10-18 14:36:01 +02:00
cee42f9b70 one } was on the wrong side of an #endif 2021-10-18 14:34:11 +02:00
afe8fe6605 assign correct init value 2021-10-18 13:58:18 +02:00
6e97bd4db4 added integration test code 2021-10-17 23:27:31 +02:00
7694decaaa Merge branch 'mueller/packet-check-printout' of https://egit.irs.uni-stuttgart.de/eive/fsfw into mueller/packet-check-printout 2021-10-17 22:56:28 +02:00
113c992f99 use char* instead 2021-10-17 22:56:00 +02:00
0738a0b6a4 Merge branch 'development' into mueller/packet-check-printout 2021-10-15 18:33:44 +02:00
4251ccacf9 Merge branch 'development' into mueller/integrated-unittests 2021-10-15 18:32:35 +02:00
5d31a54fba Merge pull request 'small bugfix for LIS3 handler' (#504) from eive/fsfw:mueller/lis3-small-bugfix into development
Reviewed-on: fsfw/fsfw#504
2021-10-15 17:20:55 +02:00
cadf97de88 Merge pull request 'Add feature to open GPIO by line name' (#506) from eive/fsfw:feature/open-gpio-by-line-name into development
Reviewed-on: fsfw/fsfw#506
2021-10-15 17:19:42 +02:00
01f5dfe6b4 Merge branch 'development' into mueller/integrated-unittests 2021-10-15 15:05:23 +02:00
cae3feb5da Add feature to open GPIO by line name
This features was provided by Jakob Meier as part of
eive/fsfw#19 .

It adds the feature to open GPIOs supplying their line names.
2021-10-11 19:55:37 +02:00
2180c47f4f more printouts for rejected packet 2021-10-11 19:47:41 +02:00
c46bde417e small bugfix for LIS3 handler 2021-10-11 19:37:23 +02:00
4924da1667 Merge remote-tracking branch 'upstream/development' into mueller/tcp-keep-open-pr 2021-10-11 18:52:52 +02:00
f8e9042943 Merge pull request 'Merge v2.0.1 into development' (#503) from master into development
Reviewed-on: fsfw/fsfw#503
2021-10-11 18:19:46 +02:00
e6a7108614 Merge pull request 'Increased TM stack robustness' (#501) from eive/fsfw:mueller/tm-stack-robustness-cherry-picked into master
Reviewed-on: fsfw/fsfw#501
Reviewed-by: Ulrich Mohr <mohr@irs.uni-stuttgart.de>
2021-10-11 18:00:45 +02:00
08926f9b70 Merge remote-tracking branch 'upstream/master' into mueller/tm-stack-robustness-cherry-picked 2021-10-11 17:57:33 +02:00
52f0c29e99 Merge pull request 'Using correct version number now for PUS C' (#502) from eive/fsfw:mueller/fix-for-pus-c-version-number-cherry-picked into master
Reviewed-on: fsfw/fsfw#502
Reviewed-by: Ulrich Mohr <mohr@irs.uni-stuttgart.de>
2021-10-11 17:51:58 +02:00
060b3a3b2c added missing leading * 2021-10-11 17:51:13 +02:00
348975ba5f additional coverage excludes 2021-10-11 17:31:04 +02:00
e8927d6aa8 moved testtemplate and removed user folder 2021-10-11 17:22:54 +02:00
b2b648c4aa removed obsolete comment 2021-10-11 17:14:30 +02:00
fc9101cd8f deleted unrequired files, common include deleted 2021-10-11 17:12:42 +02:00
d2371b3e71 removed unneeded static constexpr 2021-10-11 16:47:57 +02:00
ffa38a81b7 using pus version enum now 2021-10-11 16:47:37 +02:00
ae689408f3 using correct version number now 2021-10-11 16:47:28 +02:00
155432663b moved store failure to separate function 2021-10-11 16:37:14 +02:00
ecdbf98ca4 added printouts for PUS A 2021-10-11 16:37:04 +02:00
54a6c1b0aa bugfix for PUS A 2021-10-11 16:36:49 +02:00
9efe9e78d8 Increased TM stack robustness
1. More nullptr check
2. returnvalue for inititalize function which can fail
2021-10-11 16:36:28 +02:00
d4bb9397ee better handling for configure files 2021-10-11 16:32:19 +02:00
bf5590ce26 configure file correction 2021-10-11 16:25:01 +02:00
460941c225 tiny tweak 2021-10-11 16:16:49 +02:00
3d6f28c48d printouts disable by default 2021-10-11 16:14:30 +02:00
bb9ae86159 indentation fixes 2021-10-11 16:12:32 +02:00
306a4b647f more review corrections 2021-10-11 16:06:12 +02:00
19061c3d50 removed obsolete files 2021-10-11 16:04:43 +02:00
22dbabba38 removed copy and paste error 2021-10-11 16:01:58 +02:00
ac8df112b1 small correction 2021-10-11 16:01:14 +02:00
ad744fb593 README improvement 2021-10-11 15:56:04 +02:00
6c75b56054 README update 2021-10-11 15:51:27 +02:00
fb67df6d7f using testsconfig.h now 2021-10-11 15:45:37 +02:00
1b6fa9822b this should work 2021-10-11 15:40:29 +02:00
5798aa1e3a create project to suppress warning 2021-10-11 15:09:19 +02:00
b00f61445d works 2021-10-11 15:07:52 +02:00
ad117e07e0 FSFW_CONFIG_PATH update 2021-10-11 15:03:03 +02:00
c26c2a5a96 hardcoding config path 2021-10-11 14:56:42 +02:00
e02ac05097 fixed a bug for default cfg path 2021-10-11 13:57:00 +02:00
a827ec6a92 removed another include 2021-10-11 13:51:08 +02:00
12321a5d49 Merge branch 'mueller/integrated-unittests' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/integrated-unittests 2021-10-11 13:48:28 +02:00
ad3238aa19 removed problematic includes 2021-10-11 13:48:17 +02:00
f67868516c Merge branch 'development' into mueller/integrated-unittests 2021-10-11 13:40:09 +02:00
1ddf9c0f11 Merge branch 'development' into mueller/tcp-keep-open-pr 2021-10-09 13:32:25 +02:00
9bcd701a50 tcp server also parses TCs when client closes connection 2021-10-09 13:31:51 +02:00
6ad7f51297 added bind call error string 2021-10-09 13:31:40 +02:00
12983a7143 Merge pull request 'minor updates for PUS services' (#498) from KSat/fsfw:mueller/pus-tweaks into development
Reviewed-on: fsfw/fsfw#498
2021-10-08 12:59:04 +02:00
27a3598526 Merge pull request 'better naming for parameter' (#499) from KSat/fsfw:mueller/retval-better-naming into development
Reviewed-on: fsfw/fsfw#499
2021-10-08 12:58:43 +02:00
dd1631a456 updated CMakeLists.txt
- More information about FSFW build
2021-10-07 14:20:34 +02:00
cd6d616806 using .h.in version fle now 2021-10-07 13:26:31 +02:00
ade15ad16d tests can now be built as part of FSFW
This PR refactores the tests so they are built as part of the FSFW.
This is done by adding Catch2 with the FetchContent directive.

A future implementation might also use a system installation of Catch2
by first checking whether Catch2 can already be found as a package

The custom configuration folder testcfg was moved from the user folder
to the actual unittest folder.

The tests can be built by setting the CMake FSFW_BUILD_UNITTESTS option
to TRUE/ON. They are built with the static library and dropped inside
the build folders fsfw directory.
2021-10-07 13:24:46 +02:00
76416f523d better naming for parameter 2021-10-07 10:44:44 +02:00
5749e159e4 minor updates for PUS services 2021-10-07 10:39:16 +02:00
85a90a6ec5 Merge pull request 'FSFW.h.in more default values' (#491) from mueller/fsfw-default-value-pus-c-cfg into development
Reviewed-on: fsfw/fsfw#491
2021-10-05 18:27:13 +02:00
80b41e937b Merge branch 'development' into mueller/fsfw-default-value-pus-c-cfg 2021-10-05 18:26:34 +02:00
ab906fa534 Merge pull request 'Merge development into master for v2.0.0' (#493) from development into master
Reviewed-on: fsfw/fsfw#493
2021-10-04 14:49:43 +02:00
146e1e3282 bumped version to 2.0.0 for next release 2021-10-04 14:47:32 +02:00
857a1624c6 Merge branch 'development' into mueller/fsfw-default-value-pus-c-cfg 2021-10-04 14:45:13 +02:00
f11957d827 Merge pull request 'Updated Countdown and removed Timer' (#486) from gaisser_countdown_timer into development
Reviewed-on: fsfw/fsfw#486
2021-10-04 14:44:55 +02:00
a977302a53 Merge pull request 'out of bounds access in DLE encoder' (#492) from mueller/dle-possible-bugfix into development
Reviewed-on: fsfw/fsfw#492
2021-10-04 14:43:54 +02:00
198fdbba62 Merge remote-tracking branch 'upstream/development' into mueller/tcp-keep-open-pr 2021-10-04 14:41:51 +02:00
53400c8bfa Merge branch 'development' into mueller/dle-possible-bugfix 2021-10-04 14:40:47 +02:00
f2d0a0d9ee Merge branch 'mueller/dle-possible-bugfix' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/dle-possible-bugfix 2021-10-04 14:38:51 +02:00
9e12f59707 Merge pull request 'TMTC Bridge: Increase limit of packets stored' (#484) from eive/fsfw:mueller/increase-absolute-packet-stored-limit into development
Reviewed-on: fsfw/fsfw#484
2021-10-04 14:38:46 +02:00
2439613f21 preserve STX char 2021-10-04 14:38:46 +02:00
1c8f86364d Merge branch 'development' into mueller/increase-absolute-packet-stored-limit 2021-10-04 14:37:09 +02:00
4e1c52f465 Merge branch 'development' into gaisser_countdown_timer 2021-10-02 15:50:49 +02:00
c7c6d78f4b Merge branch 'development' into mueller/fsfw-default-value-pus-c-cfg 2021-10-02 15:44:46 +02:00
9f856761e2 Merge branch 'development' into mueller/dle-possible-bugfix 2021-10-02 12:24:38 +02:00
2f119f102d Merge pull request 'return meaningful error code for empty PST' (#485) from eive/fsfw:mueller/check-for-empty-pst into development
Reviewed-on: fsfw/fsfw#485
2021-10-02 12:24:03 +02:00
afb472996c refactoring, code more understandable 2021-09-30 16:51:07 +02:00
f76f462022 test added 2021-09-30 11:27:14 +02:00
0f90d50065 Merge remote-tracking branch 'origin/development' into mueller/dle-possible-bugfix 2021-09-30 11:27:07 +02:00
b0cbd40e64 possible bugfix for DLE encoder 2021-09-30 11:25:42 +02:00
1c1433e797 Merge branch 'development' into mueller/increase-absolute-packet-stored-limit 2021-09-29 16:17:22 +02:00
7671c93095 Merge branch 'development' into mueller/check-for-empty-pst 2021-09-29 16:16:57 +02:00
0df5491193 Merge branch 'development' into mueller/tcp-keep-open-pr 2021-09-29 16:16:26 +02:00
897d8b37ad Merge branch 'development' into mueller/fsfw-default-value-pus-c-cfg 2021-09-29 16:16:11 +02:00
ba4249d658 Merge branch 'development' into gaisser_countdown_timer 2021-09-29 14:27:48 +02:00
de7542c9c1 Merge pull request 'Minor fixes for device handler' (#489) from mueller/dev-handler-fixes into development
Reviewed-on: fsfw/fsfw#489
2021-09-29 14:27:48 +02:00
5a30dd969f Merge branch 'development' into mueller/dev-handler-fixes 2021-09-29 14:27:37 +02:00
05ed25d397 Merge branch 'development' into mueller/fsfw-default-value-pus-c-cfg 2021-09-29 14:27:20 +02:00
0a2c912f29 Merge pull request 'small fix for DLE unittest' (#490) from mueller/dle-encoder-test-fix into development
Reviewed-on: fsfw/fsfw#490
2021-09-29 14:27:10 +02:00
65f4433fad Merge remote-tracking branch 'origin/development' into mueller/fsfw-default-value-pus-c-cfg 2021-09-29 12:07:06 +02:00
febe3cc4d4 define fix 2021-09-29 12:05:24 +02:00
f388878b99 added more defines 2021-09-29 12:05:15 +02:00
faa7e1e24f default values for PUS c config 2021-09-29 12:00:59 +02:00
9002c12cf1 update FSFW.h.in 2021-09-29 11:55:20 +02:00
2b15f9e644 Merge branch 'development' into mueller/dle-encoder-test-fix 2021-09-29 11:51:05 +02:00
42b5f8a79d small fix for DLE unittest 2021-09-29 11:49:45 +02:00
0a6a32a130 printout separation 2021-09-29 11:45:20 +02:00
cffd77ed32 put functions in namespace 2021-09-28 17:42:29 +02:00
b1a9c90087 this should work for both OSes 2021-09-28 17:39:07 +02:00
a619087fef Merge remote-tracking branch 'upstream/mueller/tcp-windows-fixes' into mueller/tcp-keep-open-pr 2021-09-28 17:35:07 +02:00
32b5060c62 all windows fixes 2021-09-28 17:28:54 +02:00
936bac5abd class id renamed 2021-09-28 16:33:50 +02:00
bf02f14772 C++11 adaptions 2021-09-28 16:33:20 +02:00
358ee0fbf2 removed C++14 featue 2021-09-28 15:47:12 +02:00
4f08b2d342 removed include 2021-09-28 15:47:01 +02:00
1622e23f1c delay configurable 2021-09-28 15:33:31 +02:00
a4d6421510 documentation and bugfixes 2021-09-28 15:30:01 +02:00
f02852d8d2 cmake lists file update 2021-09-28 15:13:46 +02:00
bbea5e33bc removed obsolete empty ctor 2021-09-28 15:12:55 +02:00
e536918804 wiretapping in runtime config now 2021-09-28 15:09:56 +02:00
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
4b62c8aa81 Added tests 2021-09-27 21:53:27 +02:00
1b38f84edc Merge remote-tracking branch 'origin/development' into gaisser_countdown_timer 2021-09-27 21:06:20 +02:00
5064d44999 Removed Timer.cpp from CMakeLists 2021-09-27 20:45:44 +02:00
322c14d4bb Merge remote-tracking branch 'origin/development' into gaisser_countdown_timer 2021-09-27 20:01:01 +02:00
8ec35f158c Removed Timer and updated Countdown 2021-09-27 19:57:42 +02:00
9a25f08fef Merge remote-tracking branch 'upstream/development' into mueller/check-for-empty-pst 2021-09-27 15:37:49 +02:00
f3caa122ae Merge branch 'development' into mueller/increase-absolute-packet-stored-limit 2021-09-27 15:32:54 +02:00
6e88f8f400 Merge pull request 'Added missing devicehandlers' (#482) from eive/fsfw:mueller/added-missing-devicehandlers into development
Reviewed-on: fsfw/fsfw#482
2021-09-27 15:27:27 +02:00
01762ad222 Merge pull request 'SPI Updates for Linux' (#480) from eive/fsfw:mueller/spi-fix into development
Reviewed-on: fsfw/fsfw#480
2021-09-27 15:21:15 +02:00
71d66c406f Merge pull request 'GPIO code update' (#479) from eive/fsfw:mueller/gpio-update into development
Reviewed-on: fsfw/fsfw#479
2021-09-27 15:18:58 +02:00
42df77ff32 check for empty PST
and return appropriate returnvalue
2021-09-27 11:16:27 +02:00
85c04dee23 increase limit of packets stored 2021-09-27 11:12:38 +02:00
4c96db847d Merge branch 'development' into mueller/gpio-update 2021-09-27 09:54:10 +02:00
0246dccbe9 Merge remote-tracking branch 'upstream/development' into mueller/spi-fix 2021-09-27 09:52:49 +02:00
423f7c8281 missing include and printer compatbility fixes 2021-09-26 22:45:32 +02:00
59feaa4b5c moved class id and subsystem ID 2021-09-26 22:38:47 +02:00
a84e60a37a Added missing devicehandlers
These devicehandlers were missing from the last PR
2021-09-26 22:22:55 +02:00
061d79bb62 Merge pull request 'Devicehandler Package' (#481) from eive/fsfw:mueller/devicehandler-package into development
Reviewed-on: fsfw/fsfw#481
2021-09-25 16:49:53 +02:00
a37b6184fc fix dataset sizes 2021-09-25 16:40:22 +02:00
f6b03dee6a removed unused variable switchId from GyroL3GD20Handler class 2021-09-24 12:11:12 +02:00
a6bd7c0d6e added missing defines for debug output 2021-09-23 18:13:51 +02:00
f2bc374f0f Device handler updates 2021-09-23 18:12:59 +02:00
52b3d9473e Merge remote-tracking branch 'upstream/development' into mueller/spi-fix 2021-09-23 18:10:12 +02:00
fc9b85d5db update FSFW.h.in 2021-09-23 18:06:54 +02:00
bfae25ff2d Updates for SPI
1. Better names for functions
2. Reply size is set to 0
2021-09-23 18:06:04 +02:00
ea3812fbbd Merge branch 'development' into mueller/gpio-update 2021-09-23 18:00:31 +02:00
f40f783cb4 GPIO code update
Adds capability to define GPIO by label and by chip
for Linux systems
2021-09-23 17:58:44 +02:00
9429f6b868 Merge pull request 'Use better defines in internal unit tester' (#465) from mueller/int-unittest-osal-defines-update into development
Reviewed-on: fsfw/fsfw#465
2021-09-20 15:28:55 +02:00
39c909946b Merge pull request 'Some changes and improvements for DHB' (#474) from eive/fsfw:mueller/dhb-improvements into development
Reviewed-on: fsfw/fsfw#474
2021-09-20 15:23:24 +02:00
01c833f001 Merge pull request 'HAL Linux SPI: set transfer size to 0, better name' (#475) from eive/fsfw:mueller/hal-spi-improvement into development
Reviewed-on: fsfw/fsfw#475
2021-09-20 13:56:47 +02:00
7c21980ece Merge branch 'development' into mueller/hal-spi-improvement 2021-09-16 11:05:14 +02:00
599ff6b45a Merge pull request 'Service 1 packet doc was wrong' (#477) from eive/fsfw:mueller/srv1-packet-doc-fix into development
Reviewed-on: fsfw/fsfw#477
2021-09-16 10:55:05 +02:00
0ddce61175 Merge branch 'development' into mueller/srv1-packet-doc-fix 2021-09-16 10:50:46 +02:00
576a7293cb Merge pull request 'improvements for L3GD20H device handler' (#476) from eive/fsfw:hal/l3gd20h-improvements into development
Reviewed-on: fsfw/fsfw#476
2021-09-16 08:52:51 +02:00
1732359f72 doc was wrong 2021-09-15 17:23:26 +02:00
3e3c38e459 Merge branch 'development' into mueller/int-unittest-osal-defines-update 2021-09-15 17:20:08 +02:00
a6e4eb9ad4 improvements for L3GD20H device handler 2021-09-15 17:18:47 +02:00
e5db64cbb9 set transfer size to 0, better name 2021-09-15 17:15:18 +02:00
21b5eaa891 Some changes and improvements for DHB
1. Renamed getCommanderId to getCommanderQueueId.
2. Some indentation
3. Correct preprocessor define for warning printout used now
2021-09-15 17:09:42 +02:00
23c562bb67 Merge pull request 'DLE Encoder Improvements' (#467) from KSat/fsfw:mueller/dle-improvements into development
Reviewed-on: fsfw/fsfw#467
2021-09-13 15:25:01 +02:00
5193294d25 Merge branch 'development' into mueller/dle-improvements 2021-09-13 15:24:53 +02:00
a986b22345 Merge pull request 'queue nullptr check in action helper' (#458) from meier/ActionHelperQueueCheck into development
Reviewed-on: fsfw/fsfw#458
2021-09-13 15:24:35 +02:00
646b1139a6 Merge branch 'development' into mueller/dle-improvements 2021-09-13 15:18:22 +02:00
d9e2fd92fb Merge branch 'development' into meier/ActionHelperQueueCheck 2021-09-13 15:17:47 +02:00
ca65daab1a Merge branch 'development' into mueller/int-unittest-osal-defines-update 2021-09-13 15:10:11 +02:00
b3e0eeb14e Merge pull request 'printout fixes for UnixFileGuard' (#468) from eive/fsfw:mueller/unix-file-guard-fix into development
Reviewed-on: fsfw/fsfw#468
2021-09-13 15:09:59 +02:00
2837d6e0dd Merge branch 'development' into mueller/unix-file-guard-fix 2021-09-13 15:08:21 +02:00
cd82bebe78 Merge pull request 'cmakedefine for OSAL type' (#464) from mueller/conf-file-update into development
Reviewed-on: fsfw/fsfw#464
2021-09-13 15:06:32 +02:00
1148adb43d Merge branch 'development' into mueller/conf-file-update 2021-09-13 15:03:08 +02:00
ae27a4bb6c Merge pull request 'fsfw version update' (#463) from mueller/version-update into development
Reviewed-on: fsfw/fsfw#463
2021-09-13 15:01:50 +02:00
741d96d7ed Merge branch 'development' into mueller/version-update 2021-09-13 15:01:28 +02:00
596a056622 Merge pull request 'Cleaning up TCP and UDP code' (#459) from eive/fsfw:mueller/tcp-udp-tweaks into development
Reviewed-on: fsfw/fsfw#459
2021-09-13 14:57:07 +02:00
9c9b251322 Merge branch 'development' into mueller/tcp-udp-tweaks 2021-09-13 14:56:30 +02:00
0e0989db95 Merge branch 'development' into mueller/unix-file-guard-fix 2021-09-13 14:54:09 +02:00
ba7acac215 Merge branch 'development' into mueller/dle-improvements 2021-09-13 14:37:32 +02:00
af133a2928 Merge pull request 'Possible bugfix in DHB' (#469) from eive/fsfw:mueller/dhb-periodoc-reply-fix into development
Reviewed-on: fsfw/fsfw#469
2021-09-13 10:58:33 +02:00
abacfbf2d5 added setting of readLen according to review 2021-09-13 10:38:36 +02:00
dae27a8e10 indentation 2021-09-11 19:22:51 +02:00
d36d849e69 removed part which is now not necessary anymore 2021-09-11 19:21:21 +02:00
7c7a8a5df7 added improvements from code review 2021-09-11 19:18:18 +02:00
134deb3f43 renamed function 2021-09-11 17:43:58 +02:00
11a3c8c21f added option to disable it as well 2021-09-11 17:42:29 +02:00
c9bfc8464a added function to enable periodic reply 2021-09-11 17:39:42 +02:00
a88e97bc09 Merge branch 'development' into mueller/dhb-periodoc-reply-fix 2021-09-11 17:15:28 +02:00
ea573b0523 a few more tests with faulty source data 2021-09-09 11:12:42 +02:00
3d336c08f2 tests almost complete 2021-09-09 10:47:54 +02:00
d05eb23ea7 debugged and tested non-escaped encoder 2021-09-09 01:28:21 +02:00
35b53e9a17 continuing tests 2021-09-09 01:06:54 +02:00
b5063117f6 added check to avoid seg fault 2021-09-09 00:02:17 +02:00
29abef40a4 Merge remote-tracking branch 'upstream/development' into mueller/dle-improvements 2021-09-08 23:39:31 +02:00
dfc44fce07 added DLE encoder test files 2021-09-08 23:33:10 +02:00
38afa494ce Merge pull request 'UART bugfixes and improvements' (#471) from eive/fsfw:mueller/uart-improvements into development
Reviewed-on: fsfw/fsfw#471
2021-09-08 17:19:29 +02:00
c42eb59d2e UART bugfixes and improvements 2021-09-08 16:10:18 +02:00
0a56441510 Merge branch 'development' into mueller/dhb-periodoc-reply-fix 2021-09-06 18:51:58 +02:00
879d1f71c5 Merge branch 'development' into mueller/version-update 2021-09-06 18:50:26 +02:00
e226f19ca8 Merge pull request 'Make FSFW tests accessable from outside' (#461) from KSat/fsfw:mueller/tests-accessible-from-outside-squashed into development
Reviewed-on: fsfw/fsfw#461
2021-09-06 18:50:12 +02:00
6ccf4bee49 Merge remote-tracking branch 'origin/development' into meier/ActionHelperQueueCheck 2021-09-06 18:48:13 +02:00
7bf66dc401 Merge remote-tracking branch 'upstream/development' into mueller/dhb-periodoc-reply-fix 2021-09-06 12:10:12 +02:00
a6d744c9c8 Possible bugfix in DHB
The delayCycles variables needs to be initialized differently
for periodic replies.
It is initialized to the maxDelayCycles value now
2021-09-06 12:08:54 +02:00
98e3ed897c small tweak 2021-08-19 17:17:19 +02:00
b6aebb3061 format adapted 2021-08-19 17:08:35 +02:00
5dcf0e44b6 encoder functions split up 2021-08-18 13:33:31 +02:00
3cec9f5f80 Made two functions private, small tweak 2021-08-18 13:18:42 +02:00
845c00044e printout fixes for UnixFileGuard 2021-08-18 11:27:39 +02:00
8780c5ddcd comment typos 2021-08-17 16:02:54 +02:00
654b23869f several imporovements 2021-08-17 16:00:39 +02:00
28f2db2c11 some fixes 2021-08-17 15:40:51 +02:00
5fcac4d85b added proper non-escaped variant 2021-08-17 15:39:24 +02:00
ece7dce6f7 ctor and dtor public now 2021-08-17 15:13:58 +02:00
4b72e246c3 improved DLE encoder 2021-08-17 15:05:29 +02:00
92d3f0743b moved change to another PR 2021-08-16 15:26:28 +02:00
fa14ebbe1f additional check 2021-08-16 15:19:03 +02:00
db3284c2b8 subversion update 2021-08-16 14:52:11 +02:00
517d52f55d using better defines 2021-08-16 11:27:46 +02:00
6e9a0ddcf4 cmakedefine for OSAL type 2021-08-16 11:23:44 +02:00
cfb8bc5dfd fsfw version update 2021-08-16 11:20:15 +02:00
a18706ec53 Make FSFW tests accessible from outside
1. Further reduces the amount of code the user needs to copy and paste
2. Makes FSFW tests more accessible. This can be used to simplify moving mission unit tests
   to the FSFW
3. A lot of include improvements
2021-08-16 10:49:07 +02:00
eecb69d230 getter function for UDP port 2021-08-09 18:22:51 +02:00
14a30f30db More improvements for TCP/UDP port definition 2021-08-09 18:13:02 +02:00
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
d92a796705 Merge pull request 'FSFW Restructuring' (#445) from mueller/restructuring into development
Reviewed-on: fsfw/fsfw#445
2021-08-09 16:00:26 +02:00
1fa59c5cae Merge pull request 'Linux HAL updates' (#456) from mueller/hal-linux-spi-uart-update into mueller/restructuring
Reviewed-on: fsfw/fsfw#456
2021-08-09 15:39:18 +02:00
83b5ade6b7 Merge branch 'mueller/hal-linux-spi-uart-update' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/hal-linux-spi-uart-update 2021-08-09 15:38:07 +02:00
62873c3118 UartComIF check iter validity 2021-08-09 15:37:12 +02:00
1301988892 Merge branch 'mueller/restructuring' into mueller/hal-linux-spi-uart-update 2021-08-09 15:31:56 +02:00
1c3770ce96 Merge pull request 'Printer updates' (#453) from mueller/updated-serviceinterface into mueller/restructuring
Reviewed-on: fsfw/fsfw#453
2021-08-09 15:24:44 +02:00
20adc1c981 queue nullptr check in action helper 2021-08-07 14:28:12 +02:00
90a1571707 Linux HAL updates
1. The type correction was merged as part of
   eive/fsfw#7 in the
   EIVE project. Quotation of PR

definition of getSpiParameters is `void getSpiParameters(spi::SpiModes& spiMode, uint32_t& spiSpeed, UncommonParameters* parameters = nullptr) const;`.

Here, size_t spiSpeed is passed, which implicitely gets converted to a temporary, which can not be bound to uint32_t& and, at least in gcc 9.3.0, leads to a compiler error.

2. Allow flushing the UART buffers
2021-08-06 11:23:31 +02:00
2706b8fa24 Printer updates
1. Only prefix is colored now
2. Minor formatting change
2021-08-06 11:06:33 +02:00
8b39248a33 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/master 2021-08-03 18:46:59 +02:00
ec00a84b29 update README for moved logo 2021-08-03 18:46:50 +02:00
4d9c07a1ec wrong path for sgp4 include 2021-08-02 21:22:56 +02:00
c3fbe04fc6 all include corrections 2021-08-02 20:58:56 +02:00
466f1e000f Merge branch 'mueller/master' into mueller/restructuring 2021-08-02 20:55:28 +02:00
f1f167c2d1 using _ instead of - now 2021-08-02 20:55:03 +02:00
6f816b2592 Merge branch 'mueller/master' into mueller/restructuring 2021-08-02 20:48:57 +02:00
0e5cfcf28f minor improvement for printout 2021-08-02 16:19:37 +02:00
dee063e259 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/master 2021-08-02 15:47:49 +02:00
aabc729e77 include changes 2021-08-02 15:47:12 +02:00
c0591c3d24 renamed some folders 2021-08-02 15:31:13 +02:00
5bbe16081f added missing CMakeLists.txt 2021-07-30 14:38:20 +02:00
490ab440e5 smaller tweaks in CMakelists files 2021-07-30 14:21:37 +02:00
0b207b2b1a updated user folder 2021-07-30 14:18:47 +02:00
e1f92b3da4 various fixes and improvements 2021-07-30 13:47:29 +02:00
b75c815361 Merge remote-tracking branch 'origin/development' into mueller/master 2021-07-27 13:12:00 +02:00
a94725c423 Merge remote-tracking branch 'origin/development' into mueller/restructuring 2021-07-27 13:07:58 +02:00
2d667cfb95 Merge pull request 'Colored prefix option only if colored output is enabled' (#449) from meier/ColeredDebugOutput into development
Reviewed-on: fsfw/fsfw#449
2021-07-27 13:07:16 +02:00
3d80d5d036 added proposed changes 2021-07-27 12:59:21 +02:00
ebc9d99022 Merge branch 'meier/ColeredDebugOutput' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into meier/ColeredDebugOutput 2021-07-27 10:10:25 +02:00
2489276350 removed double include 2021-07-27 10:05:56 +02:00
3895806a2b Merge branch 'development' into meier/ColeredDebugOutput 2021-07-27 10:03:35 +02:00
7b500eb0ed Merge pull request 'EventManager printout fixes and tweaks' (#447) from KSat/fsfw:mueller/event-manager-tweaks-printf-fix into development
Reviewed-on: fsfw/fsfw#447
2021-07-26 15:25:54 +02:00
a918c672a5 fixed merge conflicts 2021-07-24 07:15:24 +02:00
1515d59432 EventManager fixes and tweaks
1. Using sif::info consistently now
2. Fix for printf support: Event translation is printed now as well
2021-07-21 09:45:36 +02:00
ab6c616cdb added binary semaphore header stub 2021-07-19 18:40:35 +02:00
ee4449b74d override is not a good idea 2021-07-19 18:36:55 +02:00
10e81fdfb8 update changelog 2021-07-19 18:35:16 +02:00
ce93b9220e command message cleaner include fix 2021-07-19 18:29:57 +02:00
d4f5c31881 optional module handling complete 2021-07-19 18:26:54 +02:00
d47906e833 trying to fuse header / inc 2021-07-19 16:25:51 +02:00
7849b8e391 mutex update 2021-07-19 15:07:56 +02:00
08364e2dca Merge branch 'mueller/restructuring' into mueller/master 2021-07-19 15:06:00 +02:00
4b03db38eb Merge remote-tracking branch 'origin/development' into mueller/restructuring 2021-07-19 15:04:28 +02:00
ac146339a2 Merge pull request 'QueueMapManager bugfix' (#444) from mueller/queuemapmanager-bugfix into development
Reviewed-on: fsfw/fsfw#444
2021-07-19 15:04:10 +02:00
cbdf92a775 update to origin 2021-07-19 15:04:08 +02:00
4c41cb1f71 update to upstream 2021-07-19 15:03:02 +02:00
16ed5e3270 update to bugfix 2021-07-19 15:01:43 +02:00
baf3d4da47 better form 2021-07-19 14:57:10 +02:00
e93230d0ef update init value 2021-07-19 14:47:33 +02:00
0b45e5c89a fix 2021-07-19 14:40:32 +02:00
6d2bfaeb3b Merge branch 'mueller/restructuring' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/restructuring 2021-07-19 14:35:21 +02:00
68498f6b74 Merge remote-tracking branch 'origin/development' into mueller/restructuring 2021-07-19 14:35:15 +02:00
291a8d4ea3 added semaphore factory 2021-07-16 12:33:19 +02:00
a65a184083 not an ideal solution but works for now 2021-07-16 12:22:14 +02:00
21ac5afd35 Merge branch 'mueller/master' into mueller/restructuring 2021-07-15 19:28:25 +02:00
aafccd191e correction in dma.cpp 2021-07-15 19:27:13 +02:00
1db5c950b8 stm32h7 include corrections 2021-07-15 19:23:12 +02:00
d11e54dc0a some more fixes 2021-07-15 19:06:40 +02:00
3c364604ac target name replaced 2021-07-15 18:59:47 +02:00
8db0ca861a Merge branch 'mueller/master' into mueller/restructuring 2021-07-15 18:55:52 +02:00
e2da68795b hal integration done 2021-07-15 18:53:59 +02:00
243cf42dc4 added hal subfolder 2021-07-15 18:43:16 +02:00
0b0e2e5f75 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/eive/fsfw into mueller/master 2021-07-15 18:25:21 +02:00
516e3c0f9f Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-07-15 17:54:41 +02:00
62e0465b3d Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/eive/fsfw into mueller/master 2021-07-15 01:24:30 +02:00
f19f3681ca Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-07-15 01:24:25 +02:00
a3e6b1018b deleted .mk file 2021-07-14 18:05:53 +02:00
fbdff5d0b4 updated change log 2021-07-14 11:14:25 +02:00
22693eee50 minor fixes for contrib 2021-07-14 11:05:14 +02:00
e5807c396c adding spg4 code option 2021-07-14 11:03:42 +02:00
704193eeaf include replacements host/windows/rtems 2021-07-14 10:50:44 +02:00
3c4289335e integrated queue map manager bugfixes 2021-07-14 10:39:02 +02:00
df1d5e5005 this is the correct implementation 2021-07-14 10:35:37 +02:00
5f0a3f3baa using current ID 2021-07-14 10:34:38 +02:00
f6d1b8981c additional safety by check against NO_QUEUE 2021-07-14 10:33:55 +02:00
8f1a54aa19 clarification 2021-07-14 10:27:33 +02:00
376617f9f9 missing interface includes 2021-07-14 10:24:38 +02:00
82299c7e3e new test folder 2021-07-14 10:22:58 +02:00
4803fb2cbd important bugfix for queue map manager 2021-07-14 01:27:15 +02:00
d5dfffda2d corrections for freertos osal 2021-07-14 00:54:39 +02:00
66a79cb86c done 2021-07-13 21:02:53 +02:00
a6de52e212 more include replacements 2021-07-13 20:58:45 +02:00
936d0e9f0c a lot of internal include replacements 2021-07-13 20:22:54 +02:00
ca297a7dcd added hal folder 2021-07-13 19:19:25 +02:00
3a9add82fe additonal warning 2021-07-13 18:58:31 +02:00
eee84f9318 some more corrections 2021-07-13 18:53:07 +02:00
f14d5edf42 added more cmakelists files 2021-07-13 18:52:19 +02:00
f15352bb2f moved memory helper to core 2021-07-13 18:46:09 +02:00
bdb8b0a757 restructure repository 2021-07-13 18:40:52 +02:00
5adb5cce95 restructuring fsfw 2021-07-13 16:35:57 +02:00
f427c87270 Merge pull request 'FreeRTOS OSAL update and minor tweaks' (#442) from mueller/freertos-updates-minor-tweaks into development
Reviewed-on: fsfw/fsfw#442
2021-07-13 14:18:02 +02:00
8189435b94 Merge branch 'master' into mueller/master 2021-07-13 08:59:40 +02:00
ff63a34384 include improvements 2021-07-12 23:32:24 +02:00
afebe15dc2 last replacement 2021-07-12 23:01:17 +02:00
8035af28b9 using include structure as used in kernel 2021-07-12 22:42:07 +02:00
c9156e1219 some cmake fixes for FreeRTOS 2021-07-12 22:34:59 +02:00
da8a447073 delete directory: recursive option 2021-07-12 17:39:15 +02:00
323577cdc6 file system API update
Added functions to create and remove folders
2021-07-12 17:23:03 +02:00
eef2fd3b7a minor tweaks 2021-07-08 12:22:25 +02:00
5e960f118f renamed freertos includes 2021-07-06 18:17:24 +02:00
c2b8507d29 small tweak 2021-07-05 12:09:14 +02:00
b00bfe4bda Merge pull request 'ASTP 1.1.0 Merge Development in Master' (#441) from development into master
Reviewed-on: fsfw/fsfw#441
2021-06-29 14:11:46 +02:00
38f2f69c78 Merge branch 'mueller/master' into eive/develop 2021-06-24 11:17:04 +02:00
2b2899e100 Merge pull request 'Missing function for TC Constructor' (#440) from KSat/fsfw:mueller/master into development
Reviewed-on: fsfw/fsfw#440
2021-06-22 14:36:05 +02:00
b52644dd2a tiny form fix 2021-06-21 14:50:19 +02:00
c0c4a3190f cleaned up some event descriptions 2021-06-21 12:46:32 +02:00
1015cdbe88 Merge remote-tracking branch 'upstream/development' into mueller/master 2021-06-20 17:16:35 +02:00
cae69d5400 Merge pull request 'added missing include' (#439) from mueller/missing-include into development
Reviewed-on: fsfw/fsfw#439
2021-06-17 12:35:20 +02:00
47af5260a2 added missing include 2021-06-17 12:04:39 +02:00
1e380fe562 Merge pull request 'NO_COMMANDER was not using NO_QUEUE in DHB' (#438) from gaisser/fsfw:gaisser_small_dhb_fix into development
Reviewed-on: fsfw/fsfw#438
2021-06-15 16:49:53 +02:00
bd7c13ff7e NO_COMMANDER was not using NO_QUEUE in DHB 2021-06-15 16:47:24 +02:00
2684e82c7f Merge pull request 'PUS C support for Telecommands and first FSFW.h file' (#432) from KSat/fsfw:mueller/update-package into development
Reviewed-on: fsfw/fsfw#432
2021-06-15 16:37:40 +02:00
66d1d14ae3 Merge branch 'development' into mueller/update-package 2021-06-15 16:33:26 +02:00
5f9a6bb155 Merge pull request 'Removed wrong static' (#437) from gaisser/fsfw:gaisser_clock_leap_seconds_move into development
Reviewed-on: fsfw/fsfw#437
2021-06-15 16:13:55 +02:00
8a5a3c0243 Merge branch 'development' into gaisser_clock_leap_seconds_move 2021-06-15 16:13:35 +02:00
2ccc0dbb00 Removed wrong static 2021-06-15 16:12:25 +02:00
cfbdb10a55 Merge pull request 'Moved leap second handling from OSALs to clock.h' (#436) from gaisser/fsfw:gaisser_clock_leap_seconds_move into development
Reviewed-on: fsfw/fsfw#436
2021-06-15 16:09:53 +02:00
ee89a2f00d Removed author tag 2021-06-15 16:05:12 +02:00
dbfcf8b271 Removed old check 2021-06-15 16:03:11 +02:00
717971f69c Fixed wrong namespace qualifier 2021-06-15 16:01:28 +02:00
b0a69d4c9d Merge remote-tracking branch 'my_fork/gaisser_clock_leap_seconds_move' into gaisser_clock_leap_seconds_move 2021-06-15 16:00:23 +02:00
ecb03b8a6d Moved Code to own cpp 2021-06-15 15:59:20 +02:00
b1f6252e30 Merge branch 'development' into gaisser_clock_leap_seconds_move 2021-06-15 15:53:16 +02:00
05edb7a00c Merge pull request 'Added some precautions in DHB::replyToReply' (#435) from gaisser/fsfw:gaisser_overflow_avoid_dhb into development
Reviewed-on: fsfw/fsfw#435
2021-06-15 15:53:05 +02:00
0cde65f5a1 Added some precautions in DHB::replyToReply 2021-06-15 15:33:52 +02:00
fbbc640f4d Merge pull request 'DHB tweak and class ID for GPIO HAL' (#434) from eive/fsfw:mueller/dhb-tweak into development
Reviewed-on: fsfw/fsfw#434
2021-06-15 15:23:23 +02:00
03e1a3e945 const correctness 2021-06-15 15:08:18 +02:00
cc5c8ca698 type 2021-06-15 15:04:40 +02:00
996fbf134e Merge branch 'mueller/dhb-tweak' of https://egit.irs.uni-stuttgart.de/eive/fsfw into mueller/dhb-tweak 2021-06-15 15:01:09 +02:00
1c7c532ef6 DHB update 2021-06-15 15:01:02 +02:00
41e3a6b54b Merge branch 'development' into mueller/dhb-tweak 2021-06-15 14:56:19 +02:00
aa1bfcbb96 DHB update 2021-06-15 14:52:56 +02:00
0f484abcaa Merge branch 'mueller/update-package' into mueller/master 2021-06-15 14:22:03 +02:00
c371cf4851 changelog update 2021-06-15 14:21:46 +02:00
ad191409f4 Merge remote-tracking branch 'upstream/development' into mueller/update-package 2021-06-15 14:20:03 +02:00
398250c959 Merge pull request 'added generic file system message' (#428) from KSat/fsfw:mueller/generic-filesyste-message into development
Reviewed-on: fsfw/fsfw#428
2021-06-15 14:08:24 +02:00
4b248740f3 added HAL gpio class ID 2021-06-15 13:32:11 +02:00
21d213f35f Merge branch 'development' into gaisser_clock_leap_seconds_move 2021-06-14 15:27:37 +02:00
105a498b93 added way to set source ID 2021-06-14 15:24:26 +02:00
0a0c5592f3 Merge branch 'mueller/update-package' into mueller/master 2021-06-14 15:15:23 +02:00
aa33ff2f48 max tm packet size now configurable 2021-06-14 15:14:57 +02:00
3076c423c0 Merge branch 'development' into mueller/generic-filesyste-message 2021-06-14 15:14:37 +02:00
5f27fe6392 indentation 2021-06-14 15:06:26 +02:00
af99303eac indentation 2021-06-14 15:05:40 +02:00
1d2dabb4b4 Merge remote-tracking branch 'upstream/development' into mueller/update-package 2021-06-14 14:52:52 +02:00
eead2a8a49 Moved leap second management 2021-06-14 14:40:40 +02:00
a7068acca7 updated generic file system message 2021-06-14 14:38:09 +02:00
99b007f37e added deletions 2021-06-14 14:37:38 +02:00
7cf4aa0d5a fixes for pus tc c 2021-06-14 11:44:39 +02:00
b1e3a1b2b5 const correctness 2021-06-14 11:16:56 +02:00
56d2af9d25 cleaned up a bit 2021-06-14 10:19:01 +02:00
dadba69272 Merge branch 'mueller/fsfw-pus-c-tc' into mueller/master 2021-06-13 18:00:13 +02:00
40a8c9a495 srv 20 fixes 2021-06-13 17:58:44 +02:00
8dc66784a8 tiny changes 2021-06-13 16:59:28 +02:00
d0f37b851b added pus c support for tc 2021-06-13 16:29:13 +02:00
1b6759020a added getter function 2021-06-13 12:38:24 +02:00
537a30a4de added pus a tc 2021-06-13 12:34:06 +02:00
a993872884 Merge pull request 'EIVE FSFW Update' (#430) from eive/fsfw:eive/develop into development
Reviewed-on: fsfw/fsfw#430
2021-06-12 15:44:31 +02:00
d700fb551c Merge remote-tracking branch 'upstream/development' into eive/develop 2021-06-12 15:24:08 +02:00
73bae057bd default color is magneta now for wanring 2021-06-12 15:03:18 +02:00
589e64fc46 void function now 2021-06-11 15:05:43 +02:00
1630682548 added function to set color 2021-06-11 14:52:09 +02:00
4b095eea89 Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-06-08 15:37:13 +02:00
fb7b059137 added clear message 2021-06-08 15:13:49 +02:00
bc151983b5 Merge branch 'development' into mueller/generic-filesyste-message 2021-06-08 15:05:41 +02:00
40b2979ce8 added generic file system message 2021-06-08 15:03:17 +02:00
7030d3e108 Merge pull request 'Make Object Manager a Singleton and Refactored Linux Error Printing' (#424) from KSat/fsfw:mueller/master into development
Reviewed-on: fsfw/fsfw#424
2021-06-08 15:01:00 +02:00
41cb8cb8ae Merge remote-tracking branch 'upstream/development' into mueller/master 2021-06-08 14:43:31 +02:00
75adf52d28 small update 2021-06-08 14:30:35 +02:00
0157681471 removed obsolete code 2021-06-08 14:27:21 +02:00
b6b144bcdb Merge pull request 'FreeRTOS Queue Map Manager' (#423) from KSat/fsfw:mueller/freertos-queue-map-manager into development
Reviewed-on: fsfw/fsfw#423
2021-06-08 14:03:45 +02:00
145dd33fb1 fixed merge conflict 2021-06-05 20:30:36 +02:00
50fac22f54 Merge remote-tracking branch 'ksat/mueller/master' into mueller/master 2021-06-05 20:10:17 +02:00
8b83541264 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master 2021-06-05 19:59:51 +02:00
57699cccb7 object manager is now a singleton 2021-06-05 19:52:38 +02:00
33e7c635c5 added hal class ids 2021-06-05 00:05:03 +02:00
070c3f3bbf added example usage 2021-06-04 14:39:21 +02:00
3891014340 linux error print handling improved 2021-06-03 12:29:06 +02:00
c3be4cdee6 Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-05-31 17:06:07 +02:00
6b9747ee0b Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-05-31 17:03:55 +02:00
ad820fbe99 important bugfix 2021-05-31 17:00:51 +02:00
722a7b3240 renamed variable 2021-05-31 16:46:32 +02:00
442b9370ae Merge remote-tracking branch 'upstream/mueller/master' into source/develop 2021-05-31 12:31:46 +02:00
54e60f4ddc cleaned up a bit 2021-05-31 12:30:54 +02:00
e961f3f038 better error handling for mq_receive() 2021-05-31 12:22:33 +02:00
c9836abf03 minor tweak 2021-05-31 11:36:32 +02:00
404c3821e6 corrected include 2021-05-31 11:12:52 +02:00
567699954c added missing event translation 2021-05-28 18:30:43 +02:00
43d4953e4a Merge remote-tracking branch 'ksat/mueller/master' into mueller/master 2021-05-27 14:10:12 +02:00
e6059812b5 Merge remote-tracking branch 'upstream/development' into mueller/master 2021-05-27 14:00:03 +02:00
f0a7b1cad2 indentation 2021-05-27 13:47:22 +02:00
e46615e830 Merge branch 'mueller/freertos-queue-map-manager' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/freertos-queue-map-manager 2021-05-27 13:46:14 +02:00
e7ac2c7009 maybe this works 2021-05-27 13:46:04 +02:00
95c6a24437 Merge branch 'development' into mueller/freertos-queue-map-manager 2021-05-27 13:44:35 +02:00
237ba8112b more unrelated changes removed 2021-05-27 13:43:48 +02:00
aab3fd828b removed unrelated changes 2021-05-27 13:43:13 +02:00
46cfe7452a for for ISR variant 2021-05-27 13:40:01 +02:00
e6868464bf queue map manager working 2021-05-27 13:38:40 +02:00
e15f03fb0a added FreeRTOS queue map manager 2021-05-27 13:12:34 +02:00
59e7f0caae added more messages 2021-05-27 12:50:48 +02:00
a2deac3441 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master 2021-05-27 12:47:14 +02:00
5eadcaf10d file system message update 2021-05-27 12:46:45 +02:00
2bf5a972e1 introduced std check 2021-05-27 11:56:52 +02:00
5d2c62e75d abstract function defined again 2021-05-26 14:15:48 +02:00
5ac68f731e Merge pull request 'Doc Update + PUS IDs' (#422) from mueller/another-update-package into development
Reviewed-on: fsfw/fsfw#422
2021-05-25 14:49:10 +02:00
7fa0443725 Merge branch 'development' into mueller/another-update-package 2021-05-25 14:48:58 +02:00
f4cb63c53c Merge pull request 'TCP Server Update' (#421) from KSat/fsfw:mueller/tcp-server into development
Reviewed-on: fsfw/fsfw#421
2021-05-25 14:13:49 +02:00
0cde6f317d Merge branch 'development' into mueller/tcp-server 2021-05-25 14:10:46 +02:00
2737bc390c Merge pull request 'Update Package' (#420) from KSat/fsfw:mueller/update-package into development
Reviewed-on: fsfw/fsfw#420
2021-05-25 14:10:33 +02:00
07ba05b209 Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-05-25 14:06:18 +02:00
f3d9fb645e Merge remote-tracking branch 'ksat/mueller/master' into mueller/master 2021-05-25 14:05:59 +02:00
e9adaf672f Merge branch 'mueller/master' into eive/develop 2021-05-18 16:18:47 +02:00
fc4e65b2fc Merge remote-tracking branch 'ksat/mueller/master' into mueller/master 2021-05-18 15:55:31 +02:00
36030ef87c typo 2021-05-18 15:37:05 +02:00
b7060a9c78 update README 2021-05-18 15:35:47 +02:00
e147d5a4f5 some more information 2021-05-18 15:34:31 +02:00
a8c0d96c39 some fixes 2021-05-18 15:32:52 +02:00
ed27d388d5 added tmtc chapter in doc 2021-05-18 15:31:04 +02:00
e2ae9756f3 updated documentation 2021-05-18 15:12:48 +02:00
c07672f9b4 changed class id file for refactored modgen 2021-05-18 14:57:54 +02:00
6db2efc20d copmment block for fw class ids 2021-05-18 11:36:36 +02:00
94062c67d3 added more pus services 2021-05-18 11:28:37 +02:00
9e0146f579 comment added 2021-05-18 11:16:54 +02:00
d3423b30b0 minot changes 2021-05-18 11:14:26 +02:00
58a532fc4d added health service to fsfw objects 2021-05-18 11:13:28 +02:00
ac027e3ff2 Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-05-17 16:00:41 +02:00
ff6b4134a5 Merge remote-tracking branch 'ksat/mueller/master' into mueller/master 2021-05-17 14:13:53 +02:00
5847081a24 tweaks and fixes for TCP 2021-05-13 22:17:21 +02:00
0bc124fd21 renamed tcpip tasks 2021-05-13 21:46:46 +02:00
1e9c789287 Merge remote-tracking branch 'upstream/mueller/tcp-server' into mueller/master 2021-05-13 21:11:59 +02:00
b06113993c Merge remote-tracking branch 'origin/development' into mueller/master 2021-05-12 18:38:10 +02:00
4fa56a2f1d moved string port argument 2021-05-12 18:37:52 +02:00
a320e3e1ef Merge branch 'mueller/update-package' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/update-package 2021-05-12 17:32:53 +02:00
4095be449a some more preprocessor replacements 2021-05-12 17:32:40 +02:00
d20f0c5da1 Merge branch 'development' into mueller/update-package 2021-05-12 17:25:37 +02:00
9496ed42e2 Merge pull request 'Implements Network Endianness' (#419) from gaisser/fsfw:gaisser_network_serialize into development
Reviewed-on: fsfw/fsfw#419
2021-05-12 17:25:13 +02:00
14027e449c Merge remote-tracking branch 'gaisser/gaisser_network_serialize' into mueller/merge-test 2021-05-12 17:18:12 +02:00
1626b266d7 platform header file 2021-05-12 16:47:53 +02:00
d27f49c968 added platform header file 2021-05-12 16:38:02 +02:00
a6dd2d5dcb event manager update 2021-05-12 16:37:12 +02:00
8293e6b0c7 more include fixes 2021-05-12 14:48:39 +02:00
d81c6f40fb define fixes 2021-05-12 14:43:08 +02:00
5b23b928cf added missing include 2021-05-12 14:28:37 +02:00
cd016c8281 event manager printout refactoring 2021-05-12 13:40:26 +02:00
e1c91f82b7 some fixes and tweaks 2021-05-12 10:54:10 +02:00
9d0155d9ae Added a returnvalue 2021-05-11 15:30:49 +02:00
d807998f4d Added Missing includes in Host Osal
Updated correct defaults for Host MessageQueues
2021-05-11 15:25:38 +02:00
8b17c40aa6 Added Network Byte Order 2021-05-11 15:02:04 +02:00
d7d24bd9aa Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-05-05 22:48:29 +02:00
c1d30aad13 TCP server implementation finished
A lot of smaller tweaks and smaller refactoring done
in UDP TMTC bridge as well
2021-05-05 15:59:41 +02:00
126def219b continued tmtc server and bridge 2021-05-05 12:59:42 +02:00
08b9e92d25 Merge pull request 'PUS C Telemetry implementation' (#414) from mueller/pus-c-support into development
Reviewed-on: fsfw/fsfw#414
2021-05-04 14:43:39 +02:00
86431c854b Merge remote-tracking branch 'origin/development' into mueller/pus-c-support 2021-05-04 14:07:56 +02:00
f3530d3c7e small format change for event to test 2021-04-30 23:59:45 +02:00
0a76c5b0b5 Merge pull request 'use timestamp size from FSFWConfig.h' (#418) from mueller/use-config-timestamp-size into development
Reviewed-on: fsfw/fsfw#418
2021-04-29 20:54:45 +02:00
6ede3f9ba2 Merge remote-tracking branch 'origin/development' into mueller/pus-c-support 2021-04-29 20:24:37 +02:00
097244bf8b use timestamp size from FSFWConfig.h 2021-04-29 19:51:38 +02:00
5c9b1769c1 Merge remote-tracking branch 'origin/development' into mueller/master 2021-04-28 22:18:08 +02:00
2f511523cb Merge pull request 'Apollo Sojus Test Project Version 1.0.0' (#408) from development into master
Reviewed-on: fsfw/fsfw#408
2021-04-27 14:20:06 +02:00
9f83739771 Merge pull request 'dhb multiple replies support' (#416) from eive/fsfw:meier/multipleRepliesDhb into development
Reviewed-on: fsfw/fsfw#416
2021-04-27 14:18:15 +02:00
054de9781b avoid duplicate printout 2021-04-27 14:17:27 +02:00
20e7fe6cb1 Merge branch 'development' into meier/multipleRepliesDhb 2021-04-26 16:19:57 +02:00
f8cd8e1e7d Merge pull request 'ParameterHelper: Returnvalue not checked' (#417) from KSat/fsfw:mueller/parameter-bugfix into development
Reviewed-on: fsfw/fsfw#417
2021-04-26 16:19:31 +02:00
818634755d checking returnvalue now 2021-04-26 15:47:49 +02:00
413ff0d1b9 parameter wrapper bugfix 2021-04-26 14:17:57 +02:00
87fee9bd0e dhb multiple replies support 2021-04-25 11:40:04 +02:00
5273ffa721 Merge remote-tracking branch 'origin/meier/dhbMultipleReplies' into mueller/master 2021-04-25 11:08:54 +02:00
e7c00b5633 Merge branch 'mueller/master' into meier/dhbMultipleReplies 2021-04-25 10:49:56 +02:00
f2ab07c782 Merge branch 'meier/dhbMultipleReplies' into mueller/master 2021-04-24 23:55:37 +02:00
ff33a1274d deleted old bridge 2021-04-24 23:54:13 +02:00
e7cfd324ae Merge branch 'mueller/master' into meier/dhbMultipleReplies 2021-04-24 23:43:53 +02:00
52b549b97c adapted object factory to fsfw changes 2021-04-24 22:54:18 +02:00
cac9a0eecd Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-04-24 22:48:43 +02:00
56d43f5b49 better output 2021-04-24 22:46:12 +02:00
10e7e42388 Merge branch 'development' into meier/dhbMultipleReplies 2021-04-24 18:05:00 +02:00
fc34e7fd75 Merge branch 'development' of https://egit.irs.uni-stuttgart.de/eive/fsfw into development 2021-04-24 18:04:43 +02:00
18a9729c75 added multiple reply support 2021-04-24 13:52:06 +02:00
763347f203 Merge remote-tracking branch 'upstream/development' into mueller/master 2021-04-22 19:55:02 +02:00
1ff52e43a0 Merge remote-tracking branch 'origin/development' into mueller/master 2021-04-22 19:52:44 +02:00
6a40b8244d Merge pull request 'Subsystems replaced Magic Numbers' (#415) from gaisser_fixes_subsystem into development
Reviewed-on: fsfw/fsfw#415
2021-04-22 19:52:08 +02:00
7f1cbaef23 updated default cmakelists 2021-04-22 18:09:23 +02:00
3356ccc9d4 tested new comment export string for retvals 2021-04-22 17:45:46 +02:00
4fd443f70b Merge remote-tracking branch 'origin/gaisser_fixes_subsystem' into gaisser_fixes_subsystem 2021-04-20 22:03:52 +02:00
06631d06a5 Added comments in AssemblyBase and SubsystemBase 2021-04-20 22:01:56 +02:00
9244a96e7b Merge branch 'development' into gaisser_fixes_subsystem 2021-04-20 21:07:31 +02:00
03ef63302b Replaced Magic Numbers 2021-04-20 20:45:15 +02:00
3f91803422 fixes from code review 2021-04-20 18:35:11 +02:00
5759c2cbe6 Merge remote-tracking branch 'origin/development' into mueller/pus-c-support 2021-04-20 18:03:49 +02:00
c50796b785 Merge pull request 'calling empty ctor now for SerializeElement (coverity)' (#413) from mueller/serialiize-element-coverity into development
Reviewed-on: fsfw/fsfw#413
2021-04-20 17:57:00 +02:00
a0caa92a8a Merge branch 'development' into mueller/serialiize-element-coverity 2021-04-20 17:52:01 +02:00
a91139be76 Merge pull request 'small fix for linux printf printout in TCP/IP code' (#411) from mueller/linuxtcpip-printout-fix into development
Reviewed-on: fsfw/fsfw#411
2021-04-20 17:51:48 +02:00
fee2ac0eb9 Merge branch 'development' into mueller/linuxtcpip-printout-fix 2021-04-20 17:50:10 +02:00
2878f21c93 Merge pull request 'Possible bugfix found by coverity in TimeMessage' (#412) from mueller/timemessage-override-fix into development
Reviewed-on: fsfw/fsfw#412
2021-04-20 17:49:44 +02:00
4caf906d96 Merge branch 'development' into mueller/timemessage-override-fix 2021-04-20 17:44:07 +02:00
b38e9ede0c Merge branch 'development' into mueller/linuxtcpip-printout-fix 2021-04-20 17:43:44 +02:00
17b3672330 Merge pull request 'heater tweaks + coverity fix' (#410) from mueller/heater-coverity into development
Reviewed-on: fsfw/fsfw#410
2021-04-20 17:43:19 +02:00
629814bc9b Just comments 2021-04-20 17:35:28 +02:00
4fb792447e Small rearragenment in Heater.cpp 2021-04-20 17:29:56 +02:00
40dae8c961 Merge branch 'development' into mueller/heater-coverity 2021-04-20 16:38:52 +02:00
9e1f3ee585 Merge pull request 'small coverity tweak for Health Device' (#409) from mueller/health-coverity-fix into development
Reviewed-on: fsfw/fsfw#409
2021-04-20 16:38:37 +02:00
e851d8a46c Merge branch 'development' into mueller/heater-coverity 2021-04-20 16:38:33 +02:00
0038c1dc53 Merge branch 'development' into mueller/health-coverity-fix 2021-04-20 16:38:16 +02:00
1a3bb5bada Merge branch 'development' into mueller/serialiize-element-coverity 2021-04-20 16:38:08 +02:00
e45b8bc739 Merge remote-tracking branch 'origin/development' into mueller/pus-c-support 2021-04-20 16:31:35 +02:00
dcd72d421e Merge branch 'mueller/master' into mueller/pus-c-support 2021-04-20 16:19:04 +02:00
cc8c3aef3d removed unused interface 2021-04-20 16:18:39 +02:00
0055d34d9a bugfix found by coverity 2021-04-20 16:17:37 +02:00
a2ba3181b9 small coverity tweak 2021-04-20 16:16:35 +02:00
864621ee37 small fix for linux printout 2021-04-20 16:15:30 +02:00
54ff8f9341 heater tweaks + coverity fix 2021-04-20 16:12:50 +02:00
e4efc01e34 Merge pull request 'thermal sensor update' (#402) from mueller/thermal-handler into development
Reviewed-on: fsfw/fsfw#402
2021-04-20 16:10:20 +02:00
c455fc1417 Merge branch 'development' into mueller/thermal-handler 2021-04-20 16:10:14 +02:00
d792679d49 calling empty ctor now (coverity) 2021-04-20 16:09:50 +02:00
9352e15405 Merge remote-tracking branch 'origin/development' into mueller/pus-c-support 2021-04-20 16:07:21 +02:00
38a5e7e618 ctor variable better name 2021-04-20 16:00:01 +02:00
1cceda8e63 Merge branch 'mueller/thermal-handler' into mueller/master 2021-04-20 15:59:44 +02:00
0c342ad7fc minor changes 2021-04-20 15:57:11 +02:00
524e50a6dd comment block corrected 2021-04-20 15:54:44 +02:00
8c4381eca6 Merge remote-tracking branch 'ksat/mueller/master' into mueller/master 2021-04-20 15:49:55 +02:00
29a05eb113 Merge remote-tracking branch 'ksat/mueller/master' into mueller/pus-c-support 2021-04-20 15:49:32 +02:00
17adb2cc3e Merge pull request 'small improvements for Linux' (#407) from mueller/linux-small-improvements into development
Reviewed-on: fsfw/fsfw#407
2021-04-20 15:46:34 +02:00
534b4850df Merge remote-tracking branch 'upstream/development' into mueller/master 2021-04-20 15:36:18 +02:00
7b29583f8f small improvements 2021-04-20 15:32:12 +02:00
a66fc53396 config define moved, better warning 2021-04-20 15:31:03 +02:00
5471030c32 Merge remote-tracking branch 'origin/development' into mueller/master 2021-04-20 15:13:28 +02:00
1af7870b15 Merge branch 'development' into mueller/thermal-handler 2021-04-20 15:11:19 +02:00
1cbeb54b8d Merge pull request 'Makes linux realtime optional' (#406) from gaisser/fsfw:gaisser_make_linux_realtime_optional into development
Reviewed-on: fsfw/fsfw#406
2021-04-20 15:10:44 +02:00
0ec83afa13 Merge remote-tracking branch 'my_fork/gaisser_make_linux_realtime_optional' into gaisser_make_linux_realtime_optional 2021-04-20 15:06:40 +02:00
153c44601b refixed spelling 2021-04-20 15:04:42 +02:00
e6a8371d4a temperature sensor update 2021-04-20 15:00:59 +02:00
64efb8ec7f temperature sensor update 2021-04-20 14:58:35 +02:00
c8b2b3a038 Merge branch 'mueller/thermal-handler' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/thermal-handler 2021-04-20 14:47:18 +02:00
6873d2b847 temp sensor update 2021-04-20 14:46:59 +02:00
91c3692f6d Merge branch 'development' into gaisser_make_linux_realtime_optional 2021-04-20 14:39:56 +02:00
69788e1279 Merge pull request 'Updating TC Distributor modules' (#403) from mueller/tmtcservices-update into development
Reviewed-on: fsfw/fsfw#403
2021-04-20 14:39:07 +02:00
ec69076652 Merge branch 'development' into mueller/tmtcservices-update 2021-04-20 14:38:59 +02:00
a62bda97a0 Merge pull request 'UDP and TCPIP smaller tweaks' (#400) from mueller/udp-ai-passive-opt into development
Reviewed-on: fsfw/fsfw#400
2021-04-20 14:38:16 +02:00
32f0131973 Merge branch 'development' into mueller/udp-ai-passive-opt 2021-04-20 14:38:01 +02:00
9784d5123b Merge branch 'development' into mueller/thermal-handler 2021-04-20 14:37:04 +02:00
ea8d887a6b Merge pull request 'proper MQ implementation' (#401) from mueller/host-osal-vector-mq into development
Reviewed-on: fsfw/fsfw#401
2021-04-20 14:36:47 +02:00
29cebab790 Merge remote-tracking branch 'origin/development' into mueller/udp-ai-passive-opt 2021-04-20 14:18:06 +02:00
03095776f1 Added a comment and corrected a mistake 2021-04-20 13:31:15 +02:00
bad9f67c39 Merge remote-tracking branch 'origin/development' into gaisser_make_linux_realtime_optional 2021-04-20 13:06:11 +02:00
98add88d14 Makes linux realtime optional
Adds new config variable FSFW_USE_REALTIME_FOR_LINUX
2021-04-20 13:01:24 +02:00
e1b595d620 Merge branch 'development' into mueller/tmtcservices-update 2021-04-20 11:38:42 +02:00
770356f8b6 fix for warning print 2021-04-19 14:38:56 +02:00
62e409a9f2 doc fix 2021-04-15 10:07:39 +02:00
39940823d1 Merge branch 'development' into mueller/thermal-handler 2021-04-13 14:44:43 +02:00
4479a2628d Merge branch 'development' into mueller/host-osal-vector-mq 2021-04-13 14:32:18 +02:00
b09119cd8d Merge pull request 'Small patch for CMakeLists file' (#397) from KSat/fsfw:mueller/cmake-lists-add-inc-paths into development
Reviewed-on: fsfw/fsfw#397
2021-04-13 14:31:20 +02:00
10bc568560 Merge branch 'development' into mueller/cmake-lists-add-inc-paths 2021-04-13 14:23:04 +02:00
6e09e29ec2 Merge pull request 'added all coverity fixes' (#398) from KSat/fsfw:mueller/coverity-fixes into development
Reviewed-on: fsfw/fsfw#398
2021-04-13 14:22:53 +02:00
43fb05ac5d Merge branch 'development' into mueller/thermal-handler 2021-04-13 14:02:24 +02:00
e832487081 Merge branch 'development' into mueller/coverity-fixes 2021-04-13 14:02:03 +02:00
01acbaa270 Merge branch 'development' into mueller/cmake-lists-add-inc-paths 2021-04-13 14:01:45 +02:00
cf8a9996a7 added new test stub 2021-04-13 10:42:49 +02:00
a8b5fec725 Merge branch 'development' into mueller/udp-ai-passive-opt 2021-04-13 10:01:14 +02:00
fc7e401ddc pus c working 2021-04-13 01:24:26 +02:00
ed186b04df finalized PUS C TM support 2021-04-13 00:19:09 +02:00
f906605097 addes pus packet c implementation 2021-04-12 23:55:33 +02:00
9a2fbefc9f refactoring continued 2021-04-12 22:24:11 +02:00
07f1216316 error found 2021-04-12 22:12:18 +02:00
4faa5b0685 fixes 2021-04-12 22:02:16 +02:00
ae1dab1fce sth broke 2021-04-12 21:53:08 +02:00
9a5f717169 refactoring to allow PUS c implementation 2021-04-12 21:17:53 +02:00
d7d52439d7 added new option 2021-04-12 20:40:41 +02:00
321de4e46b Merge pull request 'bumped version to 1.0.0' (#399) from KSat/fsfw:mueller/version-bump into development
Reviewed-on: fsfw/fsfw#399
2021-04-12 17:04:14 +02:00
2635ec3d56 Merge branch 'development' into mueller/cmake-lists-add-inc-paths 2021-04-12 16:10:03 +02:00
3f7915fe49 Merge branch 'development' into mueller/tmtcservices-update 2021-04-12 16:09:56 +02:00
f87a10891a Merge branch 'development' into mueller/udp-ai-passive-opt 2021-04-12 16:09:42 +02:00
f4ac5c3844 Merge branch 'development' into mueller/version-bump 2021-04-12 16:09:30 +02:00
922f145ffa Merge branch 'development' into mueller/coverity-fixes 2021-04-12 15:28:51 +02:00
9731127eaf Merge pull request 'typo fix' (#396) from KSat/fsfw:mueller/destination-invalid-typo into development
Reviewed-on: fsfw/fsfw#396
2021-04-12 15:28:38 +02:00
5124f314f4 updated distributor modules 2021-04-12 12:50:23 +02:00
4bb078c451 thermal sensor update 2021-04-12 12:40:59 +02:00
547538fbc5 proper MQ implementation 2021-04-12 12:38:56 +02:00
06d34efa74 UDP and TCPIP smaller tweaks
Using AI_PASSIVE now so the UDP server listens to all
addresses (0.0.0.0) instead of just localhost.
Also implemented address print function properly
2021-04-12 12:33:45 +02:00
b786b53c35 added all coverity fixes 2021-04-11 21:54:48 +02:00
e50d0738ab bumped version to 1.0.0 2021-04-11 21:22:58 +02:00
01d0bd6c64 Small patch for CMakeLists file
This adds the additional includes to the interface as well
so libraries linking again fsfw get the additional includes
as well.
2021-04-11 21:20:45 +02:00
5676969fe3 typo fix 2021-04-11 21:13:43 +02:00
5d93cf12f7 another coverity fix 2021-04-11 18:55:10 +02:00
438049bb80 another coverity fix 2021-04-11 18:50:48 +02:00
6e6fb62b3c last coverity fixes 2021-04-11 18:36:24 +02:00
7b8928ef47 Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-04-11 15:02:26 +02:00
924ea420a9 missing include for windows 2021-04-11 14:58:53 +02:00
fbe860c6a5 refactored addr print, using AI_PASSIVE now 2021-04-11 14:54:02 +02:00
8b266aa542 Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-04-11 11:52:09 +02:00
5144cbd789 additional inc path now in IF 2021-04-11 02:26:11 +02:00
720ce59680 Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-04-10 21:58:27 +02:00
f1ffa88e07 small bugfix 2021-04-10 14:29:00 +02:00
d4b26825af Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/master 2021-04-10 14:13:09 +02:00
7e249db15e Merge remote-tracking branch 'origin/mueller/host-osal-vector-mq' into mueller/master 2021-04-09 18:50:32 +02:00
83e7dbb1f0 Coveritx fixes 2021-04-09 16:17:21 +02:00
2e417c787d coverity 2021-04-09 16:14:14 +02:00
316310e993 coverity 2021-04-09 15:49:33 +02:00
6db0725aa4 coverity fix 2021-04-09 15:39:48 +02:00
e0d39b1feb coverity 2021-04-09 09:17:11 +02:00
d9a0a4f2ea coverity 2021-04-09 09:14:42 +02:00
b8c7a65709 coverity fix 2021-04-09 08:59:32 +02:00
d3c3a9147a bumped version number 2021-04-09 08:29:56 +02:00
40cc3c383b this should work 2021-04-09 00:45:04 +02:00
d92a20a669 coverity 2021-04-08 22:49:36 +02:00
c1f4ae08fb typo fix 2021-04-08 22:28:44 +02:00
2b84ab018c implemented mq properly 2021-04-08 20:53:54 +02:00
9e881b6a16 Merge remote-tracking branch 'origin/development' into mueller/master 2021-04-08 20:41:07 +02:00
905d525aa2 small fix DHB 2021-04-08 19:12:21 +02:00
e6a1a7cc2d coverity fix for event message 2021-04-08 19:10:49 +02:00
dd367bf083 coverity: initialize entry 2021-04-08 19:09:00 +02:00
8f4ab6d7ed coverity: initialize member 2021-04-08 19:07:51 +02:00
b30a3aaa38 coverity fix 2021-04-08 19:07:03 +02:00
efb7c8760a coverity action helper fix 2021-04-08 19:01:06 +02:00
bddd8720b2 another coverity fix 2021-04-08 18:59:48 +02:00
00d9a4f3ed more coverity fixes 2021-04-08 18:57:24 +02:00
f988271be4 coverity fixes 2021-04-08 18:53:22 +02:00
38d929c2a8 coverity fixes 2021-04-08 18:48:44 +02:00
b4594e6f43 Merge pull request 'bugfix for RTEMS' (#395) from rtems/hotfix-mq into development
Reviewed-on: fsfw/fsfw#395
2021-04-08 16:31:21 +02:00
6e12f08965 Merge branch 'development' into rtems/hotfix-mq 2021-04-08 16:31:13 +02:00
2dd2d8f133 Merge pull request 'Important bugfix for Linux MQ' (#394) from KSat/fsfw:linux/hotfix-mq into development
Reviewed-on: fsfw/fsfw#394
2021-04-08 16:31:02 +02:00
10c3483fe5 bugfix for RTEMS 2021-04-08 16:20:59 +02:00
e799e45198 bugfix for RTEMS 2021-04-08 16:20:24 +02:00
23e3f2f34f now fixed properly 2021-04-08 15:39:23 +02:00
9ee1bd15c4 now fixed properly 2021-04-08 15:38:36 +02:00
cbeb78f089 Merge branch 'development' into mueller/master 2021-04-08 15:32:38 +02:00
6983ddc3e0 super evil bugfix 2021-04-08 15:27:03 +02:00
80aab5f461 super evil bug 2021-04-08 15:25:22 +02:00
43ddb44573 fixed temperature sensor object 2021-04-07 22:12:01 +02:00
9f8a345e35 Merge remote-tracking branch 'upstream/development' into mueller/master 2021-04-07 21:53:11 +02:00
3ff5484415 disabled debugging mode 2021-04-07 13:44:03 +02:00
7322a7d0f5 improvements for ccsds distributor 2021-04-07 12:09:06 +02:00
0e76333d33 minor improvements for PUS distributor 2021-04-07 12:03:28 +02:00
c234da6f07 Merge pull request 'Linux Fix' (#393) from KSat/fsfw:mueller/linux-fix into development
Reviewed-on: fsfw/fsfw#393
2021-04-06 14:09:59 +02:00
8930be9f32 Merge branch 'development' into mueller/linux-fix 2021-04-06 14:09:24 +02:00
32996338a0 Merge pull request 'CMake update' (#392) from mueller/cmake-update into development
Reviewed-on: fsfw/fsfw#392
2021-04-06 14:09:14 +02:00
2736ebbd19 Merge branch 'development' into mueller/cmake-update 2021-04-06 14:08:06 +02:00
dea2205908 improved output 2021-04-01 15:20:53 +02:00
d1a256cbf6 added missing include 2021-03-31 19:53:58 +02:00
509945c323 Merge remote-tracking branch 'upstream/development' into mueller/master 2021-03-30 01:14:06 +02:00
435c6e6410 bugfix for linux/host 2021-03-30 00:37:10 +02:00
3429918f5e fixed cmakelists for linux 2021-03-30 00:25:22 +02:00
f2da31239c Merge remote-tracking branch 'upstream/mueller/master' into development 2021-03-29 14:36:53 +02:00
3a75be2683 this version is working 2021-03-27 21:51:04 +01:00
aa9d7b2226 Merge remote-tracking branch 'ksat/mueller/master' into mueller/master 2021-03-27 21:33:22 +01:00
eea482b438 added specific compile definitions 2021-03-27 21:27:46 +01:00
3a90578780 minor bridge improveements 2021-03-27 10:40:38 +01:00
42720e6f7d Merge branch 'development' of https://egit.irs.uni-stuttgart.de/eive/fsfw into development 2021-03-26 12:25:20 +01:00
1d818294e4 added option to remove unused code 2021-03-25 18:48:00 +01:00
581832e4f4 added unittest folder 2021-03-25 18:05:18 +01:00
9e559658a7 added way to add additional include paths and libraries 2021-03-25 15:35:05 +01:00
b1c532078e Merge pull request 'OSAL update' (#391) from mueller/update-osal-package into development
Reviewed-on: fsfw/fsfw#391
2021-03-23 15:01:39 +01:00
37ac579f51 Merge branch 'development' into mueller/update-osal-package 2021-03-23 15:01:11 +01:00
aaceac81af updated fixed timeslot task 2021-03-23 14:45:33 +01:00
d781c6fcec name storage abstraction available for linux as well 2021-03-23 14:40:30 +01:00
bdd9889718 pool read guard in scope 2021-03-23 14:28:01 +01:00
a5f44b8580 doc updatedoc updatedd 2021-03-23 14:25:50 +01:00
d1265a55b4 Merge pull request 'UDP Hotfix' (#390) from mueller/udp-hotfix into development
Reviewed-on: fsfw/fsfw#390
2021-03-23 14:21:43 +01:00
b542ed5c03 Merge branch 'development' into mueller/udp-hotfix 2021-03-23 14:20:14 +01:00
8b42132cbe Merge pull request 'Bugfix validity buffer' (#389) from mueller/unit-test-bugfixes into development
Reviewed-on: fsfw/fsfw#389
2021-03-23 14:20:03 +01:00
b1670decf7 Using C++ way of zero initializing struct 2021-03-23 11:35:23 +01:00
1d3d2be853 more doc 2021-03-23 11:33:40 +01:00
d4ab2c6cdb corrected doc 2021-03-23 11:32:35 +01:00
1c021651d7 missing include added 2021-03-23 11:26:44 +01:00
3175883346 oopsie 2021-03-22 15:28:36 +01:00
4d403b40c9 Merge remote-tracking branch 'upstream/mueller/master' into source/develop 2021-03-22 15:24:56 +01:00
f6afa36b1c small tweak 2021-03-22 15:24:25 +01:00
0c77ce4dcf important bugfix 2021-03-22 15:23:47 +01:00
4c11b2f660 Merge remote-tracking branch 'upstream/mueller/master' into source/develop 2021-03-22 15:19:44 +01:00
614d1ccb7c resorted functions 2021-03-21 16:29:04 +01:00
e3c44fd27f implemented deadlien missed print for host 2021-03-21 16:20:13 +01:00
078116c7be generic windows udp bridge working as well 2021-03-21 14:38:28 +01:00
b5a14bb9df deleted old linux code 2021-03-21 13:02:14 +01:00
86577f4b80 fixed for linux 2021-03-21 12:51:28 +01:00
d625642abc created common OSAL stuff to unify UDP code 2021-03-21 00:30:33 +01:00
83d0db8242 fixed udp bridge 2021-03-20 15:53:43 +01:00
533d164cac Merge remote-tracking branch 'upstream/mueller/udp-hotfix' into mueller/master 2021-03-20 14:59:43 +01:00
951eb40e96 relativ include 2021-03-20 13:14:30 +01:00
538dec7062 Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-03-20 12:59:27 +01:00
8f17d6623a removed duplicate include 2021-03-20 12:54:05 +01:00
0585ef9051 Merge remote-tracking branch 'upstream/development' into mueller/hosted-osal-fixes 2021-03-20 12:51:43 +01:00
0da95b75a2 fixed for hosted OSAL 2021-03-20 12:49:15 +01:00
e44f8bfea3 important bugfixes 2021-03-20 12:40:25 +01:00
fe2b3a01cf important bugfix 2021-03-20 12:38:51 +01:00
0e92fa4046 Merge remote-tracking branch 'upstream/development' into mueller/master 2021-03-19 15:41:58 +01:00
32b289cbec Merge pull request 'FSFW Update' (#4) from mueller/master into eive/develop
Reviewed-on: eive/fsfw#4
2021-03-19 15:40:15 +01:00
fa108f0a3b Merge branch 'development' of https://egit.irs.uni-stuttgart.de/eive/fsfw into development 2021-03-19 15:38:06 +01:00
aa849894c6 tiny form improvement 2021-03-18 20:09:19 +01:00
a4ca61d834 bugfix and printout improvement 2021-03-18 00:01:29 +01:00
b41eb518e7 improved internal error reporter 2021-03-17 23:28:01 +01:00
1b8878a81f more explicit 2021-03-17 15:46:17 +01:00
95096d83de fixed bug 2021-03-17 15:43:01 +01:00
2331188536 Merge pull request 'MSVC update' (#388) from mueller/msvc-update into development
Reviewed-on: fsfw/fsfw#388
2021-03-16 15:47:04 +01:00
b2937ae510 Merge remote-tracking branch 'origin/development' into mueller/msvc-update 2021-03-16 15:35:56 +01:00
3f8fae24dd smaller tweak 2021-03-16 15:34:13 +01:00
12f47fdd0d removed commented code 2021-03-16 15:32:58 +01:00
b757c5523c Merge pull request 'TCP/IP module updates for Linux and Windows' (#387) from mueller/tcpip-updates into development
Reviewed-on: fsfw/fsfw#387
2021-03-16 15:19:40 +01:00
5271375063 Merge branch 'development' into mueller/tcpip-updates 2021-03-16 15:19:30 +01:00
4955015f3f Merge pull request 'Local Pool Test Updates' (#386) from mueller/lpool-test-updates into development
Reviewed-on: fsfw/fsfw#386
2021-03-16 15:15:52 +01:00
898e06591b Merge remote-tracking branch 'origin/development' into mueller/lpool-test-updates 2021-03-16 15:10:04 +01:00
d62dea442d Merge pull request 'Hotfixes for Renaming Update' (#384) from mueller/mutex-fixes into development
Reviewed-on: fsfw/fsfw#384
2021-03-16 15:08:50 +01:00
66a09b94ac Merge remote-tracking branch 'origin/development' into mueller/mutex-fixes 2021-03-16 15:05:57 +01:00
125dffcf28 Merge pull request 'ExtendedController Base and MSVC updates' (#382) from mueller/fsfw-update-3 into development
Reviewed-on: fsfw/fsfw#382
2021-03-16 15:04:10 +01:00
8dec4c9311 updated pool data set base 2021-03-16 14:53:17 +01:00
26ce8d7185 msc stuff 2021-03-16 14:49:51 +01:00
1996f5949f separate windows handling 2021-03-16 14:46:05 +01:00
ca4a0b1bb8 wiretapping disabled again 2021-03-15 21:33:45 +01:00
588f9471d8 some stuff is buggy 2021-03-15 13:06:13 +01:00
703dfe9854 cleaned up a bit, removed unused fields 2021-03-12 18:30:36 +01:00
7bc04014e8 removed more unused fields 2021-03-12 18:21:50 +01:00
5eb6b277ba removed unused fields 2021-03-12 18:20:54 +01:00
2684b0c68e small doc improvement 2021-03-12 18:15:16 +01:00
76c571b969 made mutex properties changeable 2021-03-12 18:12:38 +01:00
c08e2f0bf7 removed commented code 2021-03-12 18:07:18 +01:00
bceca86da6 finsihed tcpip refactoring for linux udp 2021-03-12 18:06:24 +01:00
8ab2044c30 refactoring unix udp bridge 2021-03-12 17:15:53 +01:00
7173d2ecfc revaming linux UDP stuff 2021-03-12 16:47:55 +01:00
cf120e2d86 smaller improvementst 2021-03-12 14:08:58 +01:00
e92d3901f7 improved error handling 2021-03-12 02:15:21 +01:00
b071c850af commit with old way 2021-03-12 01:40:58 +01:00
df7434dae5 somethings wrong 2021-03-12 00:45:32 +01:00
6e5b032dbb trying new udp stuff 2021-03-12 00:34:30 +01:00
67b05fee2e newline removed 2021-03-11 15:04:20 +01:00
286a3649cf renamed tests 2021-03-11 14:51:29 +01:00
9eefd5b95d added back tcp stuff 2021-03-11 14:47:47 +01:00
36e524abe3 more tests 2021-03-11 14:46:22 +01:00
c527391b10 removed unfisnihed stuff from PR 2021-03-11 13:14:49 +01:00
9602a3ed6a bugfix and a few more tests 2021-03-11 13:02:10 +01:00
33823b445c some more tests added 2021-03-11 12:44:35 +01:00
e55f74a00e default auto clearance 2021-03-11 12:34:25 +01:00
8b83de6ca9 added way to automatically clear unhandled messages 2021-03-11 12:33:26 +01:00
3bacc8ec53 more tests and bugfixes 2021-03-11 12:04:54 +01:00
6f78c13dcf added addtional nullptr check 2021-03-11 11:06:23 +01:00
824f272432 no virtual inhertience for now 2021-03-11 01:04:39 +01:00
78b6a83285 issues with virtual inheritanc3 2021-03-11 00:18:17 +01:00
620b2ae79e weird bug 2021-03-10 23:16:47 +01:00
8d28bc4b6a added source file 2021-03-10 22:19:55 +01:00
dcde177fe3 added additional tests for more than 8 variables 2021-03-10 22:08:05 +01:00
4f89fc62ab continued tests 2021-03-10 21:38:13 +01:00
c59fa578c7 format improvements 2021-03-10 21:18:47 +01:00
6c0972b2d5 several bugfixes 2021-03-10 21:17:08 +01:00
7ad8763b14 added more nullptr checks 2021-03-10 19:18:52 +01:00
03936fc5c1 snapshot test added, bugfix 2021-03-10 19:15:05 +01:00
3789663db7 added some tests 2021-03-10 18:26:07 +01:00
b2e4438811 added some test, initial tick counter higher now 2021-03-10 18:03:39 +01:00
6501c16fd7 fixed preproc block 2021-03-10 17:51:53 +01:00
943495117b moved preproc block 2021-03-10 17:50:10 +01:00
30910034f0 tiny improvementst 2021-03-10 17:46:36 +01:00
596d3bc68a Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/master 2021-03-10 17:45:30 +01:00
1e73302ba2 corrected include 2021-03-10 17:45:22 +01:00
9ba7fabdea removed commented out code 2021-03-10 16:38:54 +01:00
676c9ffcf3 added header amalagation 2021-03-10 16:32:24 +01:00
5095fd206f Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/master 2021-03-10 13:31:43 +01:00
bb5b7bed40 made getter public 2021-03-09 23:18:53 +01:00
e5b3b6d75e fixed unit test 2021-03-09 22:21:27 +01:00
61affafecd and now some test broke.. 2021-03-09 21:58:29 +01:00
7525c88392 renamed mutex helper 2021-03-09 21:28:29 +01:00
3e9c19ee11 important replacements 2021-03-09 21:28:15 +01:00
a7bf9a6734 important replacements 2021-03-09 21:25:22 +01:00
82d7b7ed6f renamed mutex helper 2021-03-09 21:21:01 +01:00
7598eb6b56 Merge branch 'development' into mueller/master 2021-03-09 21:15:55 +01:00
7b3616c41f corrections 2021-03-09 21:09:01 +01:00
9737d4cf2a Merge remote-tracking branch 'upstream/development' into mueller/fsfw-update-3 2021-03-09 21:06:57 +01:00
c815905b5a Merge pull request 'Mutex Helper renamed' (#383) from KSat/fsfw:mueller/update-package-4 into development
Reviewed-on: fsfw/fsfw#383
2021-03-09 15:35:58 +01:00
59028ccc3f updated power component 2021-03-09 14:48:41 +01:00
372e8c66a8 Merge remote-tracking branch 'upstream/development' into mueller/update-package-4 2021-03-09 14:40:45 +01:00
f5ac4368d8 Merge branch 'development' into mueller/fsfw-update-3 2021-03-09 14:19:01 +01:00
6d0bc26624 Merge pull request 'Update package 2' (#380) from KSat/fsfw:mueller/update-package-2 into development
Reviewed-on: fsfw/fsfw#380
2021-03-09 14:18:53 +01:00
baafeadcf4 Merge branch 'development' into mueller/update-package-2 2021-03-09 14:16:28 +01:00
dbda6fee82 Merge pull request 'Update Package' (#378) from KSat/fsfw:mueller/update-pack into development
Reviewed-on: fsfw/fsfw#378
2021-03-09 14:16:13 +01:00
cad302730e mutex guard instead of helpe 2021-03-09 11:30:00 +01:00
da2f594a00 renamed mutex helper to mutex guard 2021-03-09 11:25:13 +01:00
d5a065eaa8 continued tcp server 2021-03-09 00:42:50 +01:00
b695242420 contiued tcp and improved udp task 2021-03-09 00:37:42 +01:00
494dd0db32 continued tcp server 2021-03-08 23:55:58 +01:00
8be4f45969 added generic error handler 2021-03-08 23:14:10 +01:00
4e5e6e145e added win sock 2021-03-08 23:02:06 +01:00
e67ff6a937 cleaner wiretapping handling 2021-03-08 23:00:53 +01:00
bdd66072d1 removed obsolete comment 2021-03-08 14:21:20 +01:00
1966b33613 typo 2021-03-08 14:08:31 +01:00
331bbd14e7 implemented explicit virt abstract propagation 2021-03-08 12:57:21 +01:00
9efc5dbd61 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/master 2021-03-08 12:08:53 +01:00
f82cc1bca4 Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-03-08 11:47:54 +01:00
e7cd7c8dc3 MSVC FSFW almost compiling 2021-03-07 01:35:55 +01:00
778ef4ef23 cleaned up a bit, no functional change 2021-03-06 20:36:54 +01:00
17b8d3fed0 printout for trans timeout 2021-03-06 18:12:41 +01:00
d57955ade7 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/eive/fsfw into mueller/master 2021-03-05 21:12:21 +01:00
18e40d6248 Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-03-05 19:22:46 +01:00
caa3cf538b formatting correction 2021-03-05 13:34:06 +01:00
b3ca7b8667 setCompletionReply ActionMessage
success flag is now third parameter
2021-03-05 09:51:08 +01:00
2d069896a5 properly implemented getDataAndTime 2021-03-04 23:24:57 +01:00
cb514e7493 small tweak to avoid warning 2021-03-04 20:43:08 +01:00
bc7d956899 tiny form stuff 2021-03-04 19:45:13 +01:00
41e30dcb6c Merge branch 'development' of https://egit.irs.uni-stuttgart.de/eive/fsfw into development 2021-03-04 19:14:12 +01:00
227074fd4d increaed exception safety 2021-03-04 18:45:32 +01:00
a56cf43897 another rwadme update 2021-03-04 18:22:32 +01:00
e501390d7b readme typo 2021-03-04 18:20:58 +01:00
e0d7363eed better entry text 2021-03-04 18:14:29 +01:00
69b428222a updated readme 2021-03-04 18:12:34 +01:00
6df1abf570 added graph 2021-03-04 18:11:10 +01:00
d84003d62a updated READMe 2021-03-04 18:07:10 +01:00
a7878aaf04 readme update 2021-03-04 18:06:11 +01:00
23873f6bc6 improved readme 2021-03-04 17:58:07 +01:00
8de33f1301 added local pool doc 2021-03-04 17:46:42 +01:00
35825a6561 new functions to set all vars read only 2021-03-04 17:27:03 +01:00
043d47e5e4 removing whitespaces 2021-03-04 16:48:21 +01:00
bd903b8447 changelog update 2021-03-04 16:46:39 +01:00
4250c7e022 updated changelog 2021-03-04 16:45:35 +01:00
d66e486f16 whitespaces instead of tabs 2021-03-04 16:44:17 +01:00
21a7fd621d renamed guard class 2021-03-04 16:38:35 +01:00
dae4a5fa74 small form stuff 2021-03-04 16:36:34 +01:00
d8d18c9333 fixed order 2021-03-03 23:49:27 +01:00
041461a066 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master 2021-03-03 22:45:57 +01:00
bff8d103ba form stuff and cleaning up 2021-03-03 22:45:44 +01:00
6580aa73bf updated clock module 2021-03-03 17:13:37 +01:00
9a3cd1d7fc success flag not explicitely expected for actions 2021-03-03 15:13:03 +01:00
e64de87af7 Merge pull request 'FollowUp request' (#375) from KSat/fsfw:mueller/followup-pullrequest into development
Reviewed-on: fsfw/fsfw#375
2021-03-02 15:03:34 +01:00
7ea4fedcea Merge branch 'mueller/followup-pullrequest' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/followup-pullrequest 2021-03-02 14:59:03 +01:00
1caa45118b makecommandid is constexpr now 2021-03-02 14:58:49 +01:00
6e43a70af5 Merge branch 'development' into mueller/followup-pullrequest 2021-03-02 14:50:42 +01:00
559c8d0637 Merge pull request 'Localpool Updates' (#374) from KSat/fsfw:mueller/localpool-updates into development
Reviewed-on: fsfw/fsfw#374
2021-03-02 14:48:24 +01:00
ef5c0d50f3 Merge branch 'development' into mueller/localpool-updates 2021-03-02 14:48:06 +01:00
3f47db9c18 reordered returnvalues 2021-03-02 12:36:13 +01:00
91db9c362e added additional returnvalues 2021-03-02 12:35:19 +01:00
1d3438bb7d updated HasFileSystemIF 2021-03-02 01:04:51 +01:00
cc84d542c8 added static function to create command id 2021-03-01 16:46:45 +01:00
9e9113912b minor formatting stuff 2021-03-01 12:36:18 +01:00
9f09c190bb formatting change 2021-03-01 12:32:54 +01:00
2b6ccbc17f renamed receivers list, functions protected 2021-03-01 12:26:16 +01:00
458d783211 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/master 2021-02-28 17:34:16 +01:00
5cf2197c06 minor formatting stuff 2021-02-28 17:33:54 +01:00
940bbf47e4 set deser test complete
new bitutility file
2021-02-28 16:34:11 +01:00
714f11f117 more tests and validity buffer bugfix 2021-02-28 16:17:07 +01:00
ffce336801 set tests continued 2021-02-28 15:44:05 +01:00
50ba377380 more set tests and new function to suppress commits 2021-02-28 15:34:04 +01:00
304773f7a7 added some failure test cases 2021-02-28 14:54:03 +01:00
16566a5690 nullptr check added 2021-02-28 14:45:09 +01:00
68415853b5 read commit IF functions protected again 2021-02-28 14:41:43 +01:00
fb5a1b93fc unneeded variable removed 2021-02-28 14:38:01 +01:00
828115a566 test bugfixes and new reset function 2021-02-28 14:35:10 +01:00
d79f0e1172 some more bugfixes for tests 2021-02-28 14:04:31 +01:00
35d8453b48 fixes for unit tests 2021-02-28 13:56:16 +01:00
36039266ee some small formatting stuff 2021-02-28 13:52:07 +01:00
a65211be51 new attorney for ReadCommitIF 2021-02-28 13:48:53 +01:00
fcff06c83f some more details 2021-02-27 14:09:44 +01:00
ea6ee7e79c added instructions on how to retrieve the interface 2021-02-27 14:08:30 +01:00
110159eea1 formatting 2021-02-27 13:57:58 +01:00
788dbe4eca removed plural 2021-02-27 13:56:48 +01:00
f45d19a961 better documentation 2021-02-27 13:06:55 +01:00
c5ee2260d1 renamed abstract function, removed plural 2021-02-27 12:59:37 +01:00
92f249dc62 zero size handling 2021-02-24 00:23:48 +01:00
f3cc664d4f small printout tweak 2021-02-23 22:07:32 +01:00
91f69aa34f Merge branch 'eive/develop' into mueller/master 2021-02-23 14:47:30 +01:00
8b561d073c Merge remote-tracking branch 'upstream/development' into eive/develop 2021-02-23 14:47:15 +01:00
242a146f61 Merge pull request 'Unterminated preprocessor define' (#373) from eive/fsfw:mueller/hotfix into development
Reviewed-on: fsfw/fsfw#373
2021-02-23 14:44:16 +01:00
c55cf8f279 Merge branch 'mueller/hotfix' into mueller/master 2021-02-23 14:41:50 +01:00
8eb25c02aa Merge remote-tracking branch 'upstream/development' into mueller/hotfix 2021-02-23 14:40:30 +01:00
94f9d1ee16 mutex helper update 2021-02-23 14:40:08 +01:00
6cded300ae Merge pull request 'mutex helper printf support and nullptr check' (#372) from eive/fsfw:mueller/mutex-update into development
Reviewed-on: fsfw/fsfw#372
2021-02-23 14:22:24 +01:00
1bec19bdd7 Merge branch 'development' into mueller/mutex-update 2021-02-23 14:19:15 +01:00
2fba1a6cfe Merge pull request 'No printout for missed deadline' (#371) from eive/fsfw:mueller/linux-no-deadline-missed-printout into development
Reviewed-on: fsfw/fsfw#371
2021-02-23 14:18:57 +01:00
c5b2c47af4 Merge branch 'mueller/mutex-update' into mueller/master 2021-02-23 14:14:40 +01:00
ce770a67b2 preprocessor define improved 2021-02-23 14:14:23 +01:00
f0178a8f73 preprocessor optimization 2021-02-23 14:13:55 +01:00
e1b57424f8 Merge branch 'mueller/mutex-update' into mueller/master 2021-02-23 14:12:04 +01:00
06eadb55ab small stuff 2021-02-23 14:11:53 +01:00
8d7d4c639a Merge branch 'mueller/mutex-update' into mueller/master 2021-02-23 14:11:16 +01:00
58e219981f updated mutex helper 2021-02-23 14:09:55 +01:00
671bab012e mutex helper printf support and nullptr check 2021-02-23 11:30:11 +01:00
a3d245f5a0 mutex helper print support and nullptr check 2021-02-23 11:28:12 +01:00
1ccfb74709 Merge branch 'mueller/linux-no-deadline-missed-printout' into eive/develop 2021-02-22 18:45:39 +01:00
1443758274 added new static function to print missed deadline 2021-02-22 18:43:09 +01:00
e013ae954f removed missed deadline printout 2021-02-22 18:00:23 +01:00
c28398257b Merge remote-tracking branch 'upstream/development' into mueller/master 2021-02-13 18:56:11 +01:00
4154c06825 Merge branch 'source/develop' into mueller/master 2021-02-09 15:48:55 +01:00
8a1f043b39 Merge pull request 'Additional Update for Local Data Pools' (#367) from mueller/fsfw-update-2 into development
Reviewed-on: fsfw/fsfw#367
2021-02-09 15:20:25 +01:00
2a1aea7c73 Merge branch 'mueller/master' into mueller/fsfw-update-2 2021-02-09 15:07:40 +01:00
8d748a4bbf Merge remote-tracking branch 'origin/development' into mueller/master 2021-02-09 15:07:14 +01:00
dc88424910 deleted commented code 2021-02-09 15:00:10 +01:00
03b2e1be3e Merge remote-tracking branch 'origin/development' into mueller/fsfw-update-2 2021-02-09 14:58:21 +01:00
10390de63b changelog update 2021-02-09 14:57:14 +01:00
0416aaf3fe Merge pull request 'FSFW Update - Parameter Service (PUS 20)' (#365) from mueller/fsfw-update into development
Reviewed-on: fsfw/fsfw#365
2021-02-09 14:55:54 +01:00
ee67e46a9f Merge remote-tracking branch 'origin/development' into mueller/fsfw-update-2 2021-02-09 14:44:19 +01:00
eb37a0ad2f Merge remote-tracking branch 'origin/development' into mueller/fsfw-update 2021-02-09 14:27:49 +01:00
b9cb0495a9 Merge pull request 'RTEMS and DHB update' (#362) from mueller/rtems-update into development
Reviewed-on: fsfw/fsfw#362
2021-02-09 14:25:49 +01:00
ac5d0cf58f Merge remote-tracking branch 'upstream/development' into mueller/rtems-update 2021-02-09 14:17:31 +01:00
48375a5221 Merge pull request 'RTEMS Updates and Bugfixes' (#363) from mueller/rtems-only into development
Reviewed-on: fsfw/fsfw#363
2021-02-09 14:14:36 +01:00
46e4816faf Merge branch 'development' into mueller/rtems-only 2021-02-09 14:13:38 +01:00
85b92af777 Merge pull request 'ActionHelper: Better diagnostic output' (#370) from KSat/fsfw:mueller/action-diag-output into development
Reviewed-on: fsfw/fsfw#370
2021-02-09 14:13:25 +01:00
5136d90659 Merge remote-tracking branch 'upstream/development' into mueller/rtems-update 2021-02-09 14:13:16 +01:00
cb2c66e256 Merge branch 'development' into mueller/action-diag-output 2021-02-09 14:10:45 +01:00
72ce47358e Merge remote-tracking branch 'upstream/development' into mueller/action-diag-output 2021-02-09 14:10:20 +01:00
36d1a36a74 Merge pull request 'CSB: Better diagnostic printout in case there are issues' (#369) from eive/fsfw:mueller/csb-diag-printout-request into development
Reviewed-on: fsfw/fsfw#369
2021-02-09 14:10:16 +01:00
ae5d880406 Merge branch 'development' into mueller/csb-diag-printout-request 2021-02-09 14:06:59 +01:00
bcd51c0725 Merge pull request 'replaced tabs by spaces for some folders with sed script' (#364) from mueller/first-tabs-to-spaces into development
Reviewed-on: fsfw/fsfw#364
2021-02-09 14:06:46 +01:00
5209a9bb89 Merge branch 'mueller/csb-diag-printout-request' into mueller/master 2021-02-09 12:42:52 +01:00
712ba5124c Merge remote-tracking branch 'upstream/development' into mueller/action-diag-output 2021-02-08 14:29:07 +01:00
16763202c1 taken over action folder 2021-02-08 14:22:34 +01:00
9998de086f added printouts for action helper 2021-02-08 14:20:36 +01:00
d4d3da60a9 format improvements 2021-02-08 13:47:20 +01:00
9b2772c126 better diagnostic printout if case there are issues 2021-02-08 13:42:44 +01:00
939fa16d1a Merge remote-tracking branch 'upstream/mueller/master' into development 2021-02-06 16:14:29 +01:00
d736e9c874 deleted ctors 2021-02-06 14:15:56 +01:00
257e79f8fc Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-02-05 11:17:26 +01:00
3bd7ba961e just form stuff 2021-02-04 15:04:52 +01:00
6be6d593a3 minor tweaks 2021-02-04 13:46:27 +01:00
1829d9cf0a lpid replaced by gpid 2021-02-04 01:31:46 +01:00
255d4a90a9 extended controller base 2021-02-03 22:23:31 +01:00
f7c1aae464 small tweak 2021-02-03 22:18:00 +01:00
cdb012fe5a important bugfix 2021-02-03 22:09:22 +01:00
2bca40c527 printout improvements 2021-02-03 18:04:55 +01:00
1446ce94bf small tweaks 2021-02-03 16:31:03 +01:00
8c5e261a0d Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-02-03 13:39:09 +01:00
5f197be2ff Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-02-03 13:36:45 +01:00
6e5252b69e some more small stuff 2021-02-03 13:35:10 +01:00
093eb05269 small formatting changes 2021-02-03 13:33:50 +01:00
c1cb93baa9 whitespace stuff 2021-02-03 13:32:25 +01:00
c0b490df65 indentation 2021-02-03 13:32:14 +01:00
e27d4fd060 small bugfix 2021-02-03 13:30:04 +01:00
a404bc881e removed hk switcher for now 2021-02-03 13:28:31 +01:00
5ac3762dc5 srv20 improvements and bugfixes 2021-01-31 20:53:25 +01:00
4522668066 some form stuff 2021-01-31 19:13:40 +01:00
8b90360b45 changed order 2021-01-31 18:27:21 +01:00
f067695353 printout, doc, bugfixes.. 2021-01-31 17:40:20 +01:00
503de9ba89 IMPORTant bugfix 2021-01-31 00:27:47 +01:00
cf945d4d34 added srv20 written by J. Gerhards 2021-01-30 20:29:23 +01:00
7f0db5b47c type and name change for HasParametersIF 2021-01-29 22:45:53 +01:00
e65990feff getParameters: uint16_t -> uint8_t for unique identfiier 2021-01-29 22:28:38 +01:00
484f9b6b37 some tweaks 2021-01-29 17:16:34 +01:00
bc722b5583 clock and dhb update 2021-01-29 02:35:08 +01:00
6b4bed8ca9 imrpoved windows includes 2021-01-29 00:12:40 +01:00
7f47a10cbd applied to cmakelists file 2021-01-28 11:58:18 +01:00
9266c874c1 applied on cmakelists as well 2021-01-28 11:57:38 +01:00
ac6e34fc65 replaced tabs by spaces with sed script 2021-01-28 11:50:33 +01:00
6127bb5ea4 tab replacements 2021-01-28 11:47:28 +01:00
98f89302c4 tabs replaced by spaces 2021-01-28 11:44:49 +01:00
76d81b5b49 replaced tab by spaces 2021-01-28 11:38:45 +01:00
17a1ae9d0e rtems bugfixes and updates only 2021-01-28 11:28:28 +01:00
dcb569a7c8 indentation 2021-01-28 00:15:13 +01:00
5b0758638b added missing function is fixed timeslot task 2021-01-28 00:00:26 +01:00
f85ab2b300 emitting warning now 2021-01-27 23:52:09 +01:00
3b7bebeb6f added init after task creation 2021-01-27 23:49:50 +01:00
2fce82db10 bugfix for clock 2021-01-27 22:51:50 +01:00
73dcb78a65 additional nullptr checks 2021-01-27 20:04:16 +01:00
a0e7b45d94 printf support 2021-01-27 18:15:54 +01:00
8b5abd1fd5 corrected cmakelists.txt file 2021-01-27 18:12:48 +01:00
8a0431c578 renaming and cleaning up stuff 2021-01-27 18:12:12 +01:00
942ecc89bd include updates 2021-01-27 18:03:56 +01:00
3036793814 fsfw update 2021-01-27 14:18:51 +01:00
f40cdcf472 DHB adaptiosn and improvements, Srv8 update
service 8 does not finish immediately for data replies now
2021-01-27 13:36:18 +01:00
686ae101ee added enum type specification 2021-01-27 11:51:39 +01:00
4136420685 additional common includes 2021-01-27 11:42:24 +01:00
de45e9b8a9 rtems multi object is now periodicTask 2021-01-27 00:59:34 +01:00
47698418fc some more warning fixes 2021-01-26 23:12:14 +01:00
d1cd180534 fixed warning for RTEMS 2021-01-26 23:09:08 +01:00
a93984869c added start and end marker for framework objects 2021-01-26 21:38:38 +01:00
a0dea39670 Merge branch 'deve' into mueller/master 2021-01-26 14:33:34 +01:00
35d75bae56 Merge pull request 'FSFW Update' (#361) from KSat/fsfw:mueller/fsfw-update into development
Reviewed-on: fsfw/fsfw#361
2021-01-26 14:29:20 +01:00
578664ad06 Merge remote-tracking branch 'upstream/development' into mueller/fsfw-update 2021-01-26 14:27:18 +01:00
86d0d5c4ee Merge pull request 'Arrayprinter, Event Manager update' (#355) from KSat/fsfw:mueller/comp_branch into development
Reviewed-on: fsfw/fsfw#355
2021-01-26 14:24:56 +01:00
7e0cc471c9 Merge branch 'mueller/master' into mueller/fsfw-update 2021-01-25 15:17:50 +01:00
194a9eef64 formatting 2021-01-25 15:11:19 +01:00
18fddf2755 tested subscription interface 2021-01-25 15:06:41 +01:00
31517604c9 indentation 2021-01-25 15:03:39 +01:00
38c7e050ab Merge branch 'development' into mueller/comp_branch 2021-01-25 14:44:06 +01:00
7310d2b5fe Merge pull request 'improved options' (#359) from eive/fsfw:eive/shadow-local-warning into development
Reviewed-on: fsfw/fsfw#359
2021-01-25 14:40:21 +01:00
d39c729a16 Merge branch 'development' into eive/shadow-local-warning 2021-01-25 14:40:06 +01:00
f11e7407d6 Merge pull request 'important bugfix' (#360) from KSat/fsfw:mueller/hk-bugfix into development
Reviewed-on: fsfw/fsfw#360
2021-01-25 14:39:48 +01:00
52c177479f some fixes, indentation with spaces now 2021-01-25 13:44:21 +01:00
0bb19c5ee5 Merge remote-tracking branch 'ksat/mueller/master' into mueller/master 2021-01-25 13:10:58 +01:00
4dbd5a58e3 local pool updates 2021-01-25 13:09:39 +01:00
df9f534d12 doxyfile update 2021-01-25 11:37:19 +01:00
ef93c70665 updated doxyfiles 2021-01-25 11:16:30 +01:00
47402055f9 added doxy folder 2021-01-25 11:07:02 +01:00
0495f390ef small stuff 2021-01-25 00:58:19 +01:00
d1c83159e5 added more unittests 2021-01-25 00:55:27 +01:00
5289c274f3 cmake lists update 2021-01-24 21:40:44 +01:00
094d237814 added more tests 2021-01-24 21:34:38 +01:00
e245f56a4f updated indentation 2021-01-24 21:18:22 +01:00
a85c94ea80 Merge branch 'development' into mueller/hk-bugfix 2021-01-24 17:06:48 +01:00
8850b770ee important bugfix 2021-01-24 17:03:03 +01:00
bdd1bdb080 bugfix 2021-01-24 16:53:58 +01:00
7b82a7c1a7 added stopwatch printf support 2021-01-22 12:21:45 +01:00
cc2e26443d Merge branch 'development' into mueller/master 2021-01-19 16:55:58 +01:00
50733e223a small fix 2021-01-19 16:42:18 +01:00
6a5f5af233 Merge branch 'eive/develop' into eive/shadow-local-warning 2021-01-19 16:39:23 +01:00
e0f8113eac added missing endif 2021-01-19 16:39:12 +01:00
8f83f7becd Merge remote-tracking branch 'upstream/development' into eive/develop 2021-01-19 16:34:45 +01:00
94d1b5acae Merge branch 'eive/shadow-local-warning' of https://egit.irs.uni-stuttgart.de/eive/fsfw into eive/shadow-local-warning 2021-01-19 16:33:20 +01:00
2e9a855181 updating cmakelists 2021-01-19 16:33:01 +01:00
fd5252bb57 Merge branch 'development' into eive/shadow-local-warning 2021-01-19 16:32:36 +01:00
55263fe4d8 Merge branch 'eive/shadow-local-warning' into eive/develop 2021-01-19 16:31:04 +01:00
b23309a5f4 improved options 2021-01-19 16:30:17 +01:00
2f64c16a8a Merge pull request 'Warning on local shadowing can be disabled optionally for GCC' (#357) from eive/fsfw:eive/shadow-local-warning into development
Reviewed-on: fsfw/fsfw#357
2021-01-19 16:28:56 +01:00
0d9bb5b35e Merge branch 'eive/shadow-local-warning' of https://egit.irs.uni-stuttgart.de/eive/fsfw into eive/shadow-local-warning 2021-01-19 16:18:18 +01:00
387bb0c434 Merge remote-tracking branch 'upstream/development' into eive/shadow-local-warning 2021-01-19 16:17:59 +01:00
97e86b19f0 Merge branch 'development' into eive/shadow-local-warning 2021-01-19 16:14:52 +01:00
ffb6208b24 cmake lists update 2021-01-19 16:13:10 +01:00
65f493b230 Merge remote-tracking branch 'upstream/development' into eive/develop 2021-01-19 16:03:50 +01:00
583d354fb5 removed include 2021-01-19 15:48:50 +01:00
d4ca1ddb20 Merge remote-tracking branch 'upstream/development' into mueller/comp_branch 2021-01-19 15:43:11 +01:00
543e0d4649 Merge pull request 'Local Pool Update' (#349) from KSat/fsfw:mueller/local-pool-update into development
Reviewed-on: fsfw/fsfw#349
2021-01-19 15:38:07 +01:00
8a7483fae4 Merge remote-tracking branch 'upstream/development' into mueller/local-pool-update 2021-01-19 15:09:21 +01:00
ca22ff5d8e more renaming 2021-01-19 15:06:21 +01:00
b6888a8185 better naming 2021-01-19 15:04:47 +01:00
aea258cf5a Merge pull request 'important bugfix HasActionIF' (#353) from KSat/fsfw:mueller/action-bugfix into development
Reviewed-on: fsfw/fsfw#353
2021-01-19 14:56:09 +01:00
2469da757e Merge branch 'development' into mueller/action-bugfix 2021-01-19 14:52:58 +01:00
d77e356ce5 Merge pull request 'Added Service 3 to CMake sources' (#352) from mueller/added-hkservie3-cmake into development
Reviewed-on: fsfw/fsfw#352
2021-01-19 14:52:42 +01:00
6f3e90c2f0 Merge branch 'development' into mueller/added-hkservie3-cmake 2021-01-19 14:52:35 +01:00
867fa577b6 Merge pull request 'updated defaultcfg' (#351) from KSat/fsfw:mueller/defaultcfg-update into development
Reviewed-on: fsfw/fsfw#351
2021-01-19 14:52:22 +01:00
ff2c05012e Merge branch 'development' into mueller/defaultcfg-update 2021-01-19 14:52:05 +01:00
6ef11678d0 Merge pull request 'pool entry update' (#350) from KSat/fsfw:mueller/pool-entry-update into development
Reviewed-on: fsfw/fsfw#350
2021-01-19 14:51:55 +01:00
8bb67cd919 Merge branch 'development' into mueller/pool-entry-update 2021-01-19 14:51:46 +01:00
fe09add0fe Merge pull request 'updated cmakelists' (#348) from KSat/fsfw:mueller/cmake-update into development
Reviewed-on: fsfw/fsfw#348
2021-01-19 14:51:12 +01:00
d7220b7350 Merge branch 'development' into mueller/cmake-update 2021-01-19 14:50:25 +01:00
9d179f90ad Merge pull request 'doc update' (#347) from KSat/fsfw:mueller/doc-update into development
Reviewed-on: fsfw/fsfw#347
2021-01-19 14:50:14 +01:00
f4a60a0323 less confusing code 2021-01-19 14:37:52 +01:00
f7b70984c1 updated doc 2021-01-18 20:20:01 +01:00
74def820c6 improved naming convention 2021-01-18 20:03:03 +01:00
6e6e1304bb Merge branch 'mueller/action-bugfix' into mueller/master 2021-01-18 19:50:17 +01:00
87fbb5ce75 imrpoved doc 2021-01-18 19:49:59 +01:00
d4b08459f4 smaller changes and documentation 2021-01-18 19:49:15 +01:00
113b4b5ffa important bugfix 2021-01-18 19:44:25 +01:00
2c21400aed important bugfix 2021-01-18 19:43:44 +01:00
aa7ea35b80 cyan instead of magenta for debug now 2021-01-16 14:24:59 +01:00
0514ab4d05 doc 2021-01-15 18:15:52 +01:00
a9135696a5 array printer tests complete 2021-01-15 18:07:32 +01:00
38dd230887 fixed syntax error 2021-01-15 17:28:31 +01:00
eae3175976 repaired internal unit test 2021-01-15 17:25:27 +01:00
79cf009049 updated internal unit tester 2021-01-15 17:06:05 +01:00
73b9d058e5 updated internal unit test 2021-01-15 16:56:36 +01:00
baba8fa5d7 added array printer test stubs 2021-01-15 16:34:05 +01:00
05508418a7 printf support for array printer 2021-01-15 16:32:25 +01:00
f69d6d49c7 replaced zu with lu 2021-01-15 15:21:13 +01:00
eb5548333e added missing include guards 2021-01-14 20:00:48 +01:00
fd11cae7be printer: helper macros 2021-01-14 19:32:18 +01:00
4cf15e9ec6 Merge remote-tracking branch 'upstream/mueller/master' into development 2021-01-14 12:22:38 +01:00
d6b0af3be7 moved read helper into correct folder 2021-01-14 12:21:40 +01:00
16f2468e60 Merge branch 'mueller/master' into mueller/local-pool-update 2021-01-14 12:18:24 +01:00
f6c88886b8 Merge remote-tracking branch 'upstream/mueller/master' into development 2021-01-14 12:16:51 +01:00
026621bb96 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/master 2021-01-14 12:15:51 +01:00
1996215bc7 small bugfix 2021-01-14 12:15:43 +01:00
d8423be98c Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-01-14 12:02:54 +01:00
549afaee1d initialized member 2021-01-14 12:02:20 +01:00
2c4cd756c6 updated to new internal interface 2021-01-14 11:58:50 +01:00
67ce8d2e24 improved internal interface 2021-01-14 11:50:33 +01:00
58c5b02113 Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-01-14 11:31:36 +01:00
a5e20657c6 resolved merge conflicts 2021-01-14 11:31:26 +01:00
5ea6769149 Merge branch 'mueller/added-hkservie3-cmake' into mueller/local-pool-update 2021-01-14 11:30:58 +01:00
6b1c7084ac added srv3 2021-01-14 11:29:38 +01:00
7bb570540b added hk service 2021-01-14 11:27:35 +01:00
f05af8f54a Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-01-14 11:25:14 +01:00
0cd457725e trying to suppress certain warnings 2021-01-13 21:35:17 +01:00
5710f3824a indentation consistent now 2021-01-13 13:06:57 +01:00
2e456cebb7 include fix 2021-01-13 13:06:30 +01:00
7ac59c6d18 include fix 2021-01-13 13:01:41 +01:00
cd3f19d0e4 updated defaultcfg 2021-01-13 12:56:55 +01:00
fa49def1cf indentation 2021-01-13 12:53:05 +01:00
3a4b89cc28 more changes 2021-01-13 12:43:53 +01:00
a4e0f15dac consistency changes 2021-01-13 12:41:24 +01:00
fdef8bc22b read commit if 2021-01-13 12:18:05 +01:00
8c00d4a4be Merge branch 'mueller/master' into mueller/local-pool-update 2021-01-13 12:14:40 +01:00
c3bca518e7 bugfixes and auto indentation 2021-01-13 12:12:08 +01:00
eb6a851935 pool entry update 2021-01-13 12:02:23 +01:00
e8cadd069e Squashed commit of the following:
commit 27e5254ecd
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 13 11:45:47 2021 +0100

    include fixes

commit eb5c56664f
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 21:03:09 2021 +0100

    relative include

commit af7e9194e5
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 21:01:55 2021 +0100

    more consistency renamings

commit 634a8f3469
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 20:59:15 2021 +0100

    renamed to pool manager for consistency

commit 0b08ac1004
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 20:56:53 2021 +0100

    updated template config files

commit b637f03389
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 20:54:52 2021 +0100

    updated defaultconfig

commit 59b4f50c1c
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 20:53:30 2021 +0100

    added FSFW verbose level

commit f9a8c3d35a
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 20:46:54 2021 +0100

    updated .mk support

commit b3e2e93f52
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 20:46:34 2021 +0100

    cleaned up a bit

commit 20bf7b6fc4
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 20:33:53 2021 +0100

    fixed annoying bug

commit fa636fded5
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 20:15:15 2021 +0100

    source files for attorney

commit 0643faf0e5
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 19:59:43 2021 +0100

    forward declaration correctness

commit 40ae81c4ff
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 19:58:29 2021 +0100

    unfortunate api change

    should improve include robustness

commit 71a12792a9
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 19:41:47 2021 +0100

    hopefully this fixes circular includes

commit 3242264a77
Merge: cafc8e4c 25a86e91
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 15:04:00 2021 +0100

    Merge remote-tracking branch 'upstream/mueller/master' into mueller/master

commit cafc8e4ccb
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 14:08:51 2021 +0100

    updated attorneys

commit 25a86e91de
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 13:23:24 2021 +0100

    fixed warning of static var

commit 7e394ea15f
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 13:18:18 2021 +0100

    replaced all fsfw:: by sif:: for printouts

commit 071ce21f09
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 13:12:44 2021 +0100

    renamed namepsace for printers

commit bb10c25909
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 12 00:13:49 2021 +0100

    introduced new accessor IF

commit 0109428d47
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 11 22:46:40 2021 +0100

    indentation

commit fa5580cb7f
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 11 22:45:04 2021 +0100

    indentation

commit 58d813c249
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 11 22:33:58 2021 +0100

    minor formatting stuff

commit 0be4c35b73
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 11 22:32:36 2021 +0100

    using 100 line width now

commit 44955db341
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 11 22:27:24 2021 +0100

    tab replacement

commit a8873e608c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 11 22:25:39 2021 +0100

    cleaning up

commit 065f79615a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 11 22:21:21 2021 +0100

    compiling again

commit 5bc46bae02
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 11 22:18:42 2021 +0100

    reverted some stuff

commit 037bd83af9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 11 21:31:03 2021 +0100

    trying new interface

commit 0bf0d8e743
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 11 20:20:39 2021 +0100

    stuff

commit 54e97f7bdc
Merge: ef9ad60b 217866c0
Author: NguSa1 <sa.nguyen@gmx.de>
Date:   Mon Jan 11 20:18:11 2021 +0100

    Merge branch 'sa/new-if' into mueller/master

commit 217866c042
Author: NguSa1 <sa.nguyen@gmx.de>
Date:   Mon Jan 11 19:44:07 2021 +0100

    SubscriptIF implementation started

commit ef9ad60ba8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 11 16:38:25 2021 +0100

    doc update

commit 5e251705f6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 11 16:33:02 2021 +0100

    getter function for object iD

commit af7def3368
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 11 16:26:46 2021 +0100

    some bugfixes

commit 6010246592
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 11 16:21:41 2021 +0100

    rearchitectured a little bit

commit 2d28f71eca
Merge: f083e83f e497c4ab
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 11 00:49:33 2021 +0100

    Merge remote-tracking branch 'upstream/mueller/master' into mueller/master

commit e497c4ab15
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 10 17:34:21 2021 +0100

    added new reamde file stubs

commit c956feafd6
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 10 17:30:31 2021 +0100

    added new readme which will be filled later

commit 1f901a14ff
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 10 17:28:13 2021 +0100

    updated osal readme

commit 368b42c7b0
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 10 17:26:48 2021 +0100

    formatting improvements

commit 6dde0ab8f6
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 10 17:25:51 2021 +0100

    readme update

commit 952438f252
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 10 17:25:19 2021 +0100

    README

commit 7a053b6f72
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 10 17:24:19 2021 +0100

    updated README

commit 4bfbeead00
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 10 15:04:47 2021 +0100

    additional doc

commit 63ce87acab
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 10 14:59:03 2021 +0100

    more indentation corrections

commit 15b65b78e7
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 10 14:57:56 2021 +0100

    ndentiation

commit 6993415873
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 10 14:54:05 2021 +0100

    more tests

commit 4fa9a1fe19
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 10 14:33:02 2021 +0100

    added more tests

commit 69e931c07b
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 10 14:27:57 2021 +0100

    important logic fix

commit 1af28dd457
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 10 13:59:40 2021 +0100

    updated user folder for unittests

commit b570da6467
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 10 13:58:33 2021 +0100

    more tests added

commit 918200e88c
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 10 12:53:01 2021 +0100

    added first unit tests for hk manager

commit f8abf3527d
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 10 11:51:33 2021 +0100

    fixed indentation

commit 13ffcfe801
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jan 9 16:20:35 2021 +0100

    prints added

commit 7129ea67bd
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jan 9 16:06:54 2021 +0100

    linux fixes

commit 36bc7609c5
Merge: dbe326e7 57829faa
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jan 9 13:52:57 2021 +0100

    Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/master

commit dbe326e787
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jan 9 13:52:47 2021 +0100

    minor tweak

commit f083e83f63
Merge: ffb7b41f 57829faa
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 21:09:29 2021 +0100

    Merge remote-tracking branch 'upstream/mueller/master' into mueller/master

commit 57829faa64
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 21:03:47 2021 +0100

    added cast

commit ffb7b41f0a
Merge: b59d6d32 12091ca6
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 20:56:23 2021 +0100

    Merge remote-tracking branch 'upstream/mueller/master' into mueller/master

commit 12091ca6ab
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 20:55:36 2021 +0100

    enum members renamed, global vars static now

commit b59d6d3244
Merge: f64e356d 7c47b1ce
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 20:46:49 2021 +0100

    Merge remote-tracking branch 'upstream/mueller/master' into mueller/master

commit 7c47b1ce34
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 20:44:05 2021 +0100

    100 percent test coverage for pool vector

commit 9f15cd697d
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 16:23:57 2021 +0100

    improved includes

commit a1c394143a
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 16:18:08 2021 +0100

    small formatting stuff

commit a9dba82661
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 16:16:17 2021 +0100

    bugfix

commit c0fd981360
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 16:14:11 2021 +0100

    improved DHB error handling

commit 541478e4d5
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 15:15:02 2021 +0100

    another small improvement

commit f2ecd6d740
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 15:10:33 2021 +0100

    revamed and imroved error handling

commit 5a8647d367
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 13:40:13 2021 +0100

    better returnvalues etc.

commit 3b39c6b6e2
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 02:07:37 2021 +0100

    defaultcfg update

commit 2ef3e0aa7b
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 02:06:27 2021 +0100

    added option to add CR for printf support

commit 4255176b5c
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 01:49:00 2021 +0100

    more tests, minor bugfix

commit 41d8cbda55
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 00:22:04 2021 +0100

    small form changes

commit 8e3f4c81a5
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 00:20:39 2021 +0100

    pool entry doc correction

commit c1c331e29e
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 8 00:10:10 2021 +0100

    fixed vector test

commit d3405ee340
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jan 7 20:30:52 2021 +0100

    whitespace

commit d3fbe4a3b9
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jan 7 20:29:38 2021 +0100

    local pool variable error handling improved

commit 44a5430555
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jan 7 20:28:03 2021 +0100

    pool vector improvements

commit 3be51762cc
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jan 7 20:23:23 2021 +0100

    improved error handling significantly

commit 007526c050
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jan 7 19:10:07 2021 +0100

    new f unctions for read error reporting, bugfix

commit 8aaf45049f
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 6 21:49:40 2021 +0100

    major bugfix in rtems osal

commit fcb33201a4
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 6 21:45:35 2021 +0100

    fixed linux osal

commit 2b287dfc3a
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 6 21:33:54 2021 +0100

    freertos and pool read helper fix

commit dacdfc62d3
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 6 21:14:23 2021 +0100

    a lot of bugfixes and important api change

commit 91cf5f1764
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 6 19:49:58 2021 +0100

    added way to completely disable printouts

commit db7d28f852
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 6 19:32:33 2021 +0100

    test update

commit 8807772d13
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 6 19:16:41 2021 +0100

    100 % line coverage reached

commit dc8dd770e7
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 6 19:07:35 2021 +0100

    added more tests

commit 16458f6a1e
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 6 18:20:38 2021 +0100

    continued tests

commit bd93392b59
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 6 16:26:08 2021 +0100

    local pool variabel tweaks and fixes

commit b241ef6aad
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 5 22:51:49 2021 +0100

    continued tests

commit a05cf8d4ab
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 5 22:46:17 2021 +0100

    updated tests

commit 85764ba94c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 5 17:30:15 2021 +0100

    added include

commit fbb063ceda
Merge: 8e3aef5d 3c041388
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 5 16:44:52 2021 +0100

    Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/master

commit 3c041388d6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 4 15:31:06 2021 +0100

    bugfix

commit cca5689a18
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 4 15:17:11 2021 +0100

    clock improvements for rtems

commit 8e3aef5df0
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 4 00:21:44 2021 +0100

    adding new tests for local pool variable

commit 49c6cd9473
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 3 23:27:49 2021 +0100

    added local pool owner base

commit e9a8313df7
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 3 23:18:10 2021 +0100

    repaired unit tests

commit e9da8e79f3
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 3 22:00:40 2021 +0100

    updated testcfg

commit f64e356de3
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 3 16:42:29 2021 +0100

    small include fix

commit fd44fb4781
Merge: 3486a047 c94a396f
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 3 16:00:09 2021 +0100

    Merge remote-tracking branch 'upstream/mueller/master' into mueller/master

commit 3486a04741
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Dec 25 00:37:24 2020 +0100

    renaming for name shadowing

commit ccbbef7778
Merge: 208ad7d4 52d9a55d
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 17:54:10 2020 +0100

    Merge branch 'development' into mueller/master

commit 208ad7d479
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 16:24:52 2020 +0100

    fixed timeslot task doc

commit e55df691ff
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 16:24:15 2020 +0100

    upstream subsystem taken over

commit 27d03dc17f
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 16:21:17 2020 +0100

    upstream cmakelists f iles taken over

commit f905a753e2
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 16:20:24 2020 +0100

    upstream unittest folder adapted

commit 41dc9ce6c6
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 16:19:30 2020 +0100

    cmake lists form upstream taken over

commit 707bb9dd5d
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 16:18:50 2020 +0100

    serviceinterface taken over

commit 2e1ad41da7
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 16:18:12 2020 +0100

    power and pus upstream taken over

commit f6e7e232f5
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 16:17:15 2020 +0100

    parameter upstream taken over

commit c174c9ecb8
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 16:15:18 2020 +0100

    osal taken over

commit e052a9694f
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 16:10:13 2020 +0100

    upstream stuff

commit c603bcc91c
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 16:08:24 2020 +0100

    some upstream stuff taken over

commit f21f43754b
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 16:06:46 2020 +0100

    taken over upstream defaultcfg

commit 7b98b0d5dd
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 16:04:39 2020 +0100

    txt is md now

commit df7a2322bf
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 16:03:56 2020 +0100

    timemanager update

commit 8f88032110
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 16:00:30 2020 +0100

    taken over upstream .mk file

commit a73cd37e52
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 15:59:46 2020 +0100

    taken over changelog

commit 75a0df4cd9
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 15:59:28 2020 +0100

    tm storage update

commit 7ba660a222
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 14:18:48 2020 +0100

    removed comment

commit 947dfd69e9
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 14:16:33 2020 +0100

    service types.h delted

commit 362578e982
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 14:12:35 2020 +0100

    transition delay abstract

commit 8896752927
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 13:22:10 2020 +0100

    updated readme

commit 632f319a2f
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 13:19:00 2020 +0100

    updated readme

commit 95a8dd418c
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 13:29:58 2020 +0100

    added cmake lists

commit ee05a34c9e
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 13:27:47 2020 +0100

    added gitmodules

commit 5e8aff0603
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 13:25:00 2020 +0100

    unittest update

commit e41aba719c
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 13:20:17 2020 +0100

    updated testcfg

commit b97b67d56e
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 13:19:07 2020 +0100

    updating unittest folder

commit 770336fff3
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 13:06:35 2020 +0100

    added ipc cmakelists

commit 81201d6fb7
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 00:39:51 2020 +0100

    typo

commit 38983407fd
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 00:22:35 2020 +0100

    added default implementation for setNormalDatapool

    entries invalid

commit 6abc560094
Author: Spacefish <robin.mueller.m@gmail.com>
Date:   Tue Dec 22 00:55:47 2020 +0100

    feed back include improvements

commit 8dd9d6ad91
Merge: c2619bf0 17a12b78
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 21 23:39:34 2020 +0100

    Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master

commit c2619bf070
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 21 23:39:24 2020 +0100

    transition delay not 0 anymore

commit 17a12b7807
Author: Spacefish <robin.mueller.m@gmail.com>
Date:   Mon Dec 21 14:05:44 2020 +0100

    clock update

commit a6e38afb98
Author: Spacefish <robin.mueller.m@gmail.com>
Date:   Mon Dec 21 14:04:04 2020 +0100

    buffer more explicit eof()

commit 30c9209c74
Author: Spacefish <robin.mueller.m@gmail.com>
Date:   Mon Dec 21 14:03:19 2020 +0100

    better win udp polling task error handling

commit e511dc61b4
Author: Spacefish <robin.mueller.m@gmail.com>
Date:   Mon Dec 21 14:02:41 2020 +0100

    upstream osal endiness adapted

commit de61d0c3ac
Author: Spacefish <robin.mueller.m@gmail.com>
Date:   Mon Dec 21 14:02:13 2020 +0100

    upstream timeval op

commit ca25714646
Author: Spacefish <robin.mueller.m@gmail.com>
Date:   Mon Dec 21 14:01:48 2020 +0100

    upstream coordinates taken over

commit 60d69c95c4
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Dec 17 17:10:27 2020 +0100

    address in use handling for socket

commit f8b34bcb53
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Dec 16 13:53:36 2020 +0100

    some readme improvements

commit 8706d663d5
Author: Spacefish <robin.mueller.m@gmail.com>
Date:   Tue Dec 15 22:57:14 2020 +0100

    upstream changes taken over

commit f99bf6d75c
Author: Spacefish <robin.mueller.m@gmail.com>
Date:   Tue Dec 15 22:51:30 2020 +0100

    taken over cmake list for storagemanager

commit 1f7938f610
Author: Spacefish <robin.mueller.m@gmail.com>
Date:   Tue Dec 15 22:46:55 2020 +0100

    deleted archive folder

commit 910e6817ef
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 15 15:48:06 2020 +0100

    default cfg update

commit 48aef06837
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 15 15:24:46 2020 +0100

    fsfwconfig update

commit ca52255d30
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 15 15:20:32 2020 +0100

    update

commit 3e41b202a1
Merge: 052e2ed1 0c3e87f1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 15 14:41:07 2020 +0100

    Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master

commit 052e2ed1e8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 15 14:40:49 2020 +0100

    type update, assert that type is not boolean

commit 0c3e87f1de
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 23:55:54 2020 +0100

    using new xTaskDelayUntil

commit b8f4d8690b
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 23:38:06 2020 +0100

    determination of freeRTOS features from version

commit 9170f466e8
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 23:21:07 2020 +0100

    freeRTOS version checks

commit 95b2191824
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 22:55:12 2020 +0100

    long name

commit 3ee25785a2
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 21:54:03 2020 +0100

    linux changes adapted

commit f2ba653833
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 21:47:42 2020 +0100

    ipc changes taken over

commit db42e79fd4
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 21:38:45 2020 +0100

    taken over cmakelists file

commit 1c79da0e75
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 21:34:29 2020 +0100

    tc distrib changed  taken over

commit 796f0e2e17
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 21:33:19 2020 +0100

    important changes adapted

commit 8c88255873
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 21:31:50 2020 +0100

    taken over some tweaks

commit d2f631a955
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 21:20:21 2020 +0100

    cast added

commit f604d621e8
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 21:19:12 2020 +0100

    removed interrupt class

commit 6911f91744
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 21:15:41 2020 +0100

    rtems fixes taken over

commit c1a156dde3
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 21:08:35 2020 +0100

    catch factory in objects folder again

commit 050770c184
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 21:07:58 2020 +0100

    catch factory fixes

commit 14a0573f3d
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 20:58:20 2020 +0100

    one define now

commit b14c1c43cc
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 20:50:56 2020 +0100

    small fix

commit 2100ae34f2
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 20:49:17 2020 +0100

    event folder taken over

commit a0e7584e84
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 20:19:23 2020 +0100

    tiny tweak

commit a547fafa33
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 11:49:01 2020 +0100

    minor tweaks

commit 3dd86039bb
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 11:43:32 2020 +0100

    changes taken over

commit d3239b9064
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 11:41:40 2020 +0100

    tiny format stuff

commit 89de4cc321
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 11:40:26 2020 +0100

    changes and tweaks taken over

commit 5c6916a078
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 11:23:23 2020 +0100

    small tweaks

commit 620c9c6ae1
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 11:19:05 2020 +0100

    taken over freeRTOS changes

commit 073cd4f5e1
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 11:09:53 2020 +0100

    small tweaks

commit 7ace117c42
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 11:06:09 2020 +0100

    added cmakelistst

commit 0ccd266f51
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 10:49:00 2020 +0100

    internal unittests fixed

commit f161a94113
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 14 10:44:48 2020 +0100

    taken over upstream fixes

commit 692aa087d8
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Dec 13 22:13:22 2020 +0100

    taken over cleaned up branch

commit 3f77fab2d9
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Dec 13 22:01:38 2020 +0100

    taken over cmake lists

commit 7c390c07ee
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Dec 13 21:58:54 2020 +0100

    taken over unnittest folder from upstream

commit 0b056720ba
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Dec 13 21:57:06 2020 +0100

    taken over master

commit d944e25d4a
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Dec 13 21:54:46 2020 +0100

    taken over upstream changes

commit f69113b4d5
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Dec 13 21:53:37 2020 +0100

    taken over upstream change in ipc

commit 0e42ba062d
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Dec 13 21:51:46 2020 +0100

    notice taken over

commit 62e16b13d3
Merge: b7dbdb07 b2d01a31
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Dec 13 21:51:09 2020 +0100

    Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master

commit b7dbdb072d
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Dec 13 21:50:33 2020 +0100

    taken over upstream changes

commit b2d01a31c2
Author: Spacefish <robin.mueller.m@gmail.com>
Date:   Thu Dec 10 16:58:18 2020 +0100

    removed some commented stuff

commit 5bad114205
Author: Spacefish <robin.mueller.m@gmail.com>
Date:   Thu Dec 10 16:39:31 2020 +0100

    thermal module set heating repaired

commit 9a540e97c5
Author: Spacefish <robin.mueller.m@gmail.com>
Date:   Thu Dec 10 16:36:44 2020 +0100

    taken over thermal module from thermal-update

commit df333e0cc8
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 8 16:01:23 2020 +0100

    tab replacement

commit e9a740f110
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 8 16:00:02 2020 +0100

    small tweak

commit beab942f07
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 8 15:57:30 2020 +0100

    fixes taken over from master

commit 322dd1253e
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 8 15:15:22 2020 +0100

    map packet extract update

commit d9cccdedf3
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 8 14:34:56 2020 +0100

    event update

commit 89e80beb62
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sat Dec 5 17:10:36 2020 +0100

    task if set now

commit 248ceebf81
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sat Dec 5 17:09:49 2020 +0100

    taken over host osal from upstream branch

commit c5c776e676
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Dec 3 18:57:50 2020 +0100

    rtems changes taken over from upstream

commit b7a29235f8
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Dec 3 13:28:56 2020 +0100

    deleted memory proxy file

commit 6d915b7dcf
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Dec 2 23:26:40 2020 +0100

    doc formatting

commit 21c3db4ffc
Merge: 586e8b03 4d76bf24
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Dec 2 23:22:40 2020 +0100

    Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master

commit 586e8b0347
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Dec 2 23:22:28 2020 +0100

    function more robust now

commit f4ed0ce502
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Dec 2 23:18:48 2020 +0100

    doc format improvements

commit 5e77058add
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Dec 2 23:15:30 2020 +0100

    added getter function for pending command

commit 4d76bf24b5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 1 19:16:19 2020 +0100

    fsfw compiles without datapoolglob folder

commit e3de5ce777
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 1 19:12:40 2020 +0100

    device handler changes complete

commit 74b2830d9b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 1 18:55:53 2020 +0100

    using new device handler thermal set

commit fff928a191
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 1 18:29:00 2020 +0100

    bugfixes and improvements

commit 3fb3039be5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 1 18:16:26 2020 +0100

    minus 1 replacement

commit 0116bb8663
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 1 18:15:09 2020 +0100

    replacing global pool with local pool DHB

commit 84ab5f8318
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 1 17:19:26 2020 +0100

    readme and logo update

commit 314dc577b5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 1 17:19:00 2020 +0100

    added changelog from upstream

commit e0f063f232
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 1 17:14:44 2020 +0100

    comment added

commit e323c69f20
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 1 13:36:30 2020 +0100

    better name for preproc define

commit f357de21c9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 1 13:23:51 2020 +0100

    updated testcfg

commit ef2e07b389
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 30 17:03:14 2020 +0100

    added explicit type conversion operator

commit d1beb96c60
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 30 16:30:20 2020 +0100

    some more replacements

commit f108ae883c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 30 16:28:16 2020 +0100

    local pool replacement

commit f581b37fcf
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 30 16:25:09 2020 +0100

    thermal module replacements

commit 4bb9dd816e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 30 16:06:59 2020 +0100

    compiling again

commit f70ee7696a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 30 15:30:56 2020 +0100

    it compiles again

commit e7a96d5ad8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 30 14:13:52 2020 +0100

    it doesnt work? comment it !

commit 25f08b8c1f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 30 13:59:54 2020 +0100

    started replacing local pool vars

commit b7945dfe60
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 30 13:45:08 2020 +0100

    added gp_id_t

commit fa4597782e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 30 13:09:56 2020 +0100

    some improvements taken over from master

commit f0ca4be71e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 30 13:09:03 2020 +0100

    fsfw version include removed

commit 952978f999
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Nov 29 13:04:38 2020 +0100

    moved perform hk op call

commit 279df93cdf
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Nov 29 13:01:37 2020 +0100

    form and doc comments

commit b7fb1b42e6
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Nov 29 12:43:19 2020 +0100

    added new cfg option

commit 03fad1cfcd
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Nov 19 00:10:59 2020 +0100

    better naming.. hopefully..

commit 0d79d4ab03
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Nov 18 21:15:48 2020 +0100

    replaced spaces with tab

commit cb5fa4a217
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Nov 18 21:15:14 2020 +0100

    monitoring changes

commit 434709ca96
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 10 11:16:56 2020 +0100

    parameter small stuff

commit 72f7a1b1b7
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 9 21:24:23 2020 +0100

    translation files removed

commit 225e65628d
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 9 00:12:39 2020 +0100

    include corrections

commit 319ae72478
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Nov 8 15:29:06 2020 +0100

    folder config renamed to fsfwconfig

commit aa45d34b4a
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Nov 8 15:20:51 2020 +0100

    include improvements /factory improvement

commit 1b2af5285d
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Nov 5 13:12:42 2020 +0100

    message queue depth configurable

commit 8d109b7cd0
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Nov 5 11:57:05 2020 +0100

    preproc define correction

commit 5efbc7496a
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 23:39:56 2020 +0100

    doc improved, some functions virtual now

commit cf7385d64e
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 23:32:34 2020 +0100

    include fixes

commit e99cf32bdd
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 23:29:03 2020 +0100

    amazing size checks

commit f72ee0b7ac
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 23:26:28 2020 +0100

    small bugfix

commit 65aecc3565
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 23:23:05 2020 +0100

    IT IS DONE

commit e9aecdac26
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 22:58:09 2020 +0100

    sth with eclipse indentiation

commit d87f78f5c3
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 22:25:14 2020 +0100

    timer stamper in fsfw now

commit c69681b402
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 22:22:26 2020 +0100

    time stamper

commit 5908f99f0b
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 17:09:33 2020 +0100

    size t changes

commit 30947d3901
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 17:08:40 2020 +0100

    size_t changes

commit d424d85f6d
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 17:07:48 2020 +0100

    sizet changes and indentation

commit 695b161934
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 16:54:56 2020 +0100

    some bugfixes

commit 9e97357b8c
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 16:46:43 2020 +0100

    taken over changes from master

commit f69f9bb31e
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 16:31:25 2020 +0100

    comments removed

commit 81f5783d37
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 16:06:30 2020 +0100

    clock update, definitions file

commit dcf36d4cee
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 15:54:27 2020 +0100

    cstdint include added

commit 83f0b4bffc
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 15:51:56 2020 +0100

    defaultcfg changes taken over

commit 633203eb54
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 15:50:55 2020 +0100

    upstream time stamper taken over

commit 38b5695a10
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 15:45:04 2020 +0100

    size check + include guard

commit b71ccf8dd8
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 3 15:28:55 2020 +0100

    some refactoring

commit cd71a9cc12
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 2 15:53:08 2020 +0100

    fsfw container taken over

commit 41bf5622f3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 2 15:50:14 2020 +0100

    master taken over

commit aed7f31f24
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 2 15:47:09 2020 +0100

    health changes taken over

commit e0a11f3a6e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 29 17:46:44 2020 +0100

    include guard update

commit 6edc2ef1d6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 29 17:42:05 2020 +0100

    class IDs moved

commit 641da2aa21
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 29 17:33:22 2020 +0100

    config make update

commit 777457482b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 29 17:21:51 2020 +0100

    fixes for internal unittest

commit 3fc2068011
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 29 17:09:16 2020 +0100

    fsfwconfig update

commit 0919d2c532
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 29 16:52:06 2020 +0100

    updates taken over

commit 3d2778fdf7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 29 16:45:47 2020 +0100

    doc update

commit 42e611899b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 29 16:43:03 2020 +0100

    added timestamp size

commit fb12045f23
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 29 15:25:03 2020 +0100

    changes from master taken over

commit 4b2af9eaa6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 29 15:15:08 2020 +0100

    static keyword removed

commit 172fbd7e48
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 29 15:13:03 2020 +0100

    some changes taken over

commit 7970043cb5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 29 15:12:36 2020 +0100

    deleted some sutff

commit 176ca56e35
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 29 15:12:05 2020 +0100

    core changes taken over

commit 565fd63d08
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 29 12:07:48 2020 +0100

    makefile moved

commit 29187fbc4b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 29 11:59:50 2020 +0100

    some config adaptions

commit a38c3e5005
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 29 11:47:03 2020 +0100

    config folder renamed

commit a9b4874904
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 28 22:49:19 2020 +0100

    new defines added

commit b860d8bce7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 28 22:34:41 2020 +0100

    include fixes

commit 6325eb7647
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 28 22:11:13 2020 +0100

    include fixes

commit 24cb83498a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 28 21:28:59 2020 +0100

    include fix

commit 82ccd14692
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 28 21:25:11 2020 +0100

    added new tests

commit ea04e7d4d6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 28 21:13:00 2020 +0100

    removed catch2

commit 3244487eae
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 28 20:18:58 2020 +0100

    slight improvements

commit dcb24360d8
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 28 20:17:50 2020 +0100

    form improvements taken over

commit d1a399a1a8
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 28 19:46:27 2020 +0100

    tm packet store update

commit 90bdb844e7
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 28 19:27:00 2020 +0100

    taken over some changes

commit e7210a34f9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 22 14:34:52 2020 +0200

    output tweaked

commit 742cc6eb76
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 21 18:19:51 2020 +0200

    no command added

commit b9f3c1ee84
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Oct 20 17:53:47 2020 +0200

    takne over defaultcfg

commit 057f3b859e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Oct 20 17:39:48 2020 +0200

    added readme and efaultcfg

commit 9309562716
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Oct 20 17:24:53 2020 +0200

    defaultcfg folder added

commit bb53c71f70
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Oct 20 17:21:20 2020 +0200

    fsfs config update

commit 7033328962
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Oct 20 17:12:56 2020 +0200

    unittest folder added

commit 95924dd55b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 19 15:38:22 2020 +0200

    some more bugfixes

commit 22e4e464c7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 19 00:43:10 2020 +0200

    doc improved, new returnvalue

commit 75e67ce5f8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 19 00:37:26 2020 +0200

    small form improvements

commit ad9ac7537e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 19 00:25:03 2020 +0200

    bool is mapped to uint8 now for pod type conversion

commit 8b8324f21c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Oct 18 23:50:02 2020 +0200

    some stuff renamed

commit 1bddfeb86b
Merge: 88a89d67 6baa8596
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Oct 18 22:41:37 2020 +0200

    Merge branch 'mueller/LocalPoolTests' into mueller/master

commit 88a89d6797
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Oct 18 17:32:10 2020 +0200

    added basic documentation

commit 8e49806057
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Oct 18 17:23:47 2020 +0200

    some adaptions

commit 3b0b474ab6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Oct 18 17:01:49 2020 +0200

    better naming

commit 02b7c51318
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Oct 18 16:54:55 2020 +0200

    HasParametersIF less confusing

commit 9a70f75a4b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Oct 16 01:45:07 2020 +0200

    returnvalues added

commit 6f955ed8ba
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Oct 16 00:42:49 2020 +0200

    another bugfix

commit 91cf33127a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Oct 16 00:41:50 2020 +0200

    bugfix

commit 6baa859628
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 15 13:42:35 2020 +0200

    fsfw config removed for now

commit ba02becfc9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 15 13:38:41 2020 +0200

    deleted old files

commit b6ae82ec2c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 15 13:21:46 2020 +0200

    bugfixes

commit 6e5f029a64
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 15 12:47:21 2020 +0200

    type usage improved, getFillCoutn implemented

commit 48ff5dea08
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 15 01:57:30 2020 +0200

    line break added

commit 56dc06e0ed
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 15 01:51:12 2020 +0200

    some little formatting stuff

commit e5000abbb7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 15 01:31:11 2020 +0200

    custom cmp operator

commit 364bce90dd
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 15 01:07:20 2020 +0200

    small fixes

commit 1ee01ffcdb
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 15 00:54:00 2020 +0200

    important bugfixes

commit 64bed475fe
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 15 00:43:23 2020 +0200

    important bugfix

commit d149836612
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 15 00:34:20 2020 +0200

    better  form

commit bdfea9ea38
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 14 23:53:50 2020 +0200

    includes reordered

commit b3e5946291
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 14 23:42:49 2020 +0200

    implementation added

commit 57c9775d7d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 14 23:41:16 2020 +0200

    add fill count func added

commit 7bd536e763
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 14 23:20:53 2020 +0200

    new templateless pool prototype

commit ab603abada
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 14 20:05:39 2020 +0200

    subscription mechanism almost complete

commit a9a31308ae
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 14 19:52:06 2020 +0200

    update notifications working

commit 5b96161331
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 14 16:46:00 2020 +0200

    optimization and printout improvements

commit 088bc35301
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 14 12:42:30 2020 +0200

    update handler continued

commit 45c0acec5f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 14 01:38:27 2020 +0200

    its all falling into places

commit 9ca086e026
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 14 01:25:15 2020 +0200

    base class extraction complete

commit 72ca2bfa43
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 14 00:50:24 2020 +0200

    added new messages

commit 9917f7126d
Merge: 3af79e57 d22c6a5f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 12 18:19:28 2020 +0200

    Merge branch 'mueller/DHB_separating_steps' into mueller/master

commit 3af79e572e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 12 18:19:11 2020 +0200

    default msg size for health device

commit afe5a62789
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 12 18:12:26 2020 +0200

    imrpoved form, removed comm msg for now

commit d22c6a5fe9
Merge: dbb394f7 736ce2d5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 12 17:44:58 2020 +0200

    Merge branch 'mueller/master' into mueller/DHB_separating_steps

commit 736ce2d5fd
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 12 17:42:30 2020 +0200

    some more form improvements

commit 06c7919daa
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 12 17:39:13 2020 +0200

    monitoring form improvements

commit e4c74ec060
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 12 16:57:37 2020 +0200

    added todos

commit 8c689751b4
Merge: b9ebd153 18671a0d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 12 16:55:57 2020 +0200

    Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master

commit b9ebd153a2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 12 16:55:40 2020 +0200

    added action helper function

commit 18671a0db7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 12 13:40:24 2020 +0200

    doc wrong

commit ed71a37004
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Oct 10 20:11:20 2020 +0200

    get command queue override

commit 3e79d2e73a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Oct 10 20:04:01 2020 +0200

    added extended controller base

commit 670e9bfa0f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Oct 10 18:12:22 2020 +0200

    CMD/REPLY prefixes added

commit b9c7d1bd3f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Oct 10 18:09:04 2020 +0200

    added health subservices

commit 01e7a98425
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Oct 10 17:55:38 2020 +0200

    added announce all subservice

commit bc0402faf7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Oct 10 17:49:50 2020 +0200

    health update

commit 837a18135e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Oct 10 17:41:51 2020 +0200

    subsystem folder update

commit 3aa666633e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Oct 10 17:14:52 2020 +0200

    include guard replacements

commit 94884c2402
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Oct 10 17:11:11 2020 +0200

    service 1 small improvements

commit e338b4662d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Oct 9 02:49:18 2020 +0200

    fix for c++11 comformity

commit 2364c4f9a4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 7 20:47:46 2020 +0200

    form improvements

commit 6e9db0d675
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 7 18:43:56 2020 +0200

    retval added

commit 9fb38e9b7c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Oct 6 19:58:29 2020 +0200

    better error output

commit df1a730cdf
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Oct 6 16:01:35 2020 +0200

    some form stuff

commit 6a077c583d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Oct 6 14:00:18 2020 +0200

    action helper some formatting stuff

commit 8c43c6993e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 5 22:47:32 2020 +0200

    CSB fifo depth configurable

commit c17d50bd1e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 5 19:46:25 2020 +0200

    file syste mmessage moved to mission code for now

commit 1431116417
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 5 12:11:11 2020 +0200

    NULL exception somewhere

commit a7fe23c300
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 5 00:12:52 2020 +0200

    small stuff

commit f955cd9eee
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Oct 4 23:37:22 2020 +0200

    made interface more generic

commit a8a6d448ec
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Oct 4 23:24:36 2020 +0200

    added subservices

commit 2b1029916b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Oct 4 15:55:39 2020 +0200

    using deletei nstead

commit 20c261514b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Oct 4 14:31:06 2020 +0200

    made message interface more readable (dec instead hex)

commit 0c1c61558b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Oct 3 03:45:29 2020 +0200

    very important bugfix

commit 55a4c0423d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 1 20:45:28 2020 +0200

    typo

commit af038d0a2f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 1 20:44:27 2020 +0200

    master taken over

commit f9e6b9faca
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 1 20:42:28 2020 +0200

    taken over master

commit 0b1b159582
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 1 20:40:45 2020 +0200

    taken over master

commit bf3276cbb2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 1 20:40:02 2020 +0200

    taken over master

commit 148bbb4be4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 1 20:36:43 2020 +0200

    master taken over

commit f2c07ee9c6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 1 20:35:56 2020 +0200

    removed tests

commit 5fbb8f8ef0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 1 20:35:13 2020 +0200

    taken over fixed array list from master

commit 1ecca4b3d8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 1 20:33:50 2020 +0200

    taken over array list

commit 0714dc6e06
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 1 20:31:30 2020 +0200

    taken over container

commit 26454356f8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 1 13:57:34 2020 +0200

    tpp extraction

commit 315777d265
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 1 13:21:23 2020 +0200

    tc distribution equalization

commit 32ebca48b8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 1 11:07:46 2020 +0200

    FIFO updates

commit 43b44c57b6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 1 11:07:20 2020 +0200

    placement fact update

commit aed2d7fc93
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Sep 30 23:42:18 2020 +0200

    slight formatting

commit d44428f49c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Sep 30 23:38:54 2020 +0200

    DH IF and DH message improved

commit d8392de058
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Sep 30 20:28:33 2020 +0200

    made define more generic

commit b59a4c5de6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 29 18:02:41 2020 +0200

    equalization complete

commit 3c814a5e61
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 29 18:01:55 2020 +0200

    include fixes

commit 4f3cfdcaaf
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 29 16:41:14 2020 +0200

    fixed map and array list implemented as non - members

commit 9013ac240f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 29 16:12:01 2020 +0200

    array list taken over

commit d85096d98b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 29 16:03:01 2020 +0200

    service 200 take over

commit e1eb1a3be1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 29 15:48:42 2020 +0200

    small tweaks

commit 1ea1c8c02f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 29 15:16:20 2020 +0200

    srv9 fix

commit 207d2cab9c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 29 15:15:29 2020 +0200

    service 1 changes taken over

commit bc23fd65a6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 29 15:13:51 2020 +0200

    master taken over

commit fd87a16661
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 29 14:51:25 2020 +0200

    changes taken over

commit 485e96f12f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 29 14:49:57 2020 +0200

    merged changes

commit 224248dfa1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 29 14:27:31 2020 +0200

    removed debug outpuzt for missed deadline

commit 1691d63169
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 29 13:54:08 2020 +0200

    include fix

commit 3663d7269c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 29 13:37:21 2020 +0200

    changes taken over

commit 7b1f72254f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 29 13:30:30 2020 +0200

    object id names improved

commit 53a6225790
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 29 12:50:36 2020 +0200

    doc & tweaks

commit 260fac43f7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Sep 28 23:38:37 2020 +0200

    bugfix

commit 1f70b1159d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Sep 28 23:21:21 2020 +0200

    another small bugfix

commit 7ff9c29b62
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Sep 28 22:51:02 2020 +0200

    added another command

commit 62ee1391bf
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Sep 28 22:48:10 2020 +0200

    added two new commands

commit 1d972fcbef
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Sep 28 22:46:18 2020 +0200

    hk messages are cleared properly now

commit 7e9d095ed1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Sep 28 22:38:36 2020 +0200

    important bugfixes

commit e48dbb8797
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Sep 28 22:17:18 2020 +0200

    small improvements

commit 786dcdf88d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Sep 28 22:13:17 2020 +0200

    removed clock include

commit ad2ca814b2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Sep 28 21:28:03 2020 +0200

    improved doc

commit bf574c12e4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Sep 28 21:09:56 2020 +0200

    bugfixes, owner ptr not const anymore

commit 88c4b2a539
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Sep 28 16:56:42 2020 +0200

    bugfixes for srv3

commit c12110cbf1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 26 22:23:17 2020 +0200

    has file system IF retvals

commit 6eaade2395
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 26 17:28:03 2020 +0200

    added new mode for local datapool manager

commit c3830da3d0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 26 17:24:06 2020 +0200

    bugfixes

commit 4a97596030
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 26 17:21:32 2020 +0200

    internal error reporter uses new local datapool now

commit e67b1fce9a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 26 16:38:07 2020 +0200

    added additional include

commit 52d8c4f3a8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 26 15:35:10 2020 +0200

    include guard fix

commit de08bd6c8a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 26 15:33:24 2020 +0200

    small include fix

commit 5062170407
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 26 15:32:16 2020 +0200

    correct function used now

commit 55bdd2c2f5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 26 15:28:28 2020 +0200

    include fix

commit 6fd39dfac3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 26 15:27:06 2020 +0200

    set struct reporting continued

commit 08d0e09493
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 26 15:16:13 2020 +0200

    power equalization

commit fab7eb8a5d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 26 15:03:04 2020 +0200

    controller base update

commit 9aca5cb6f2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 26 14:59:40 2020 +0200

    taken over convergence changes

commit cf28c9ff9d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 25 19:01:59 2020 +0200

    make event func changed

commit a65745d037
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 25 18:40:04 2020 +0200

    added explicit function to refresh task handle

commit 5ca1c7bca2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Sep 23 19:58:51 2020 +0200

    coutndown update

commit 43ab0ba270
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Sep 23 19:55:48 2020 +0200

    updated subsystemId ranged

commit 2f0b36de46
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Sep 23 19:54:22 2020 +0200

    updated framework object list

commit 9ff3a8537c
Merge: 320a5ac3 c7a6711e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Sep 23 17:44:41 2020 +0200

    Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master

commit 320a5ac355
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Sep 23 17:44:22 2020 +0200

    has health IF improvements

commit c7a6711eec
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 22 16:25:10 2020 +0200

    include fix

commit 4074ca1b89
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 22 14:22:14 2020 +0200

    error code improved

commit 5072c09bc0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 22 13:59:25 2020 +0200

    csb hotfix

commit e3cbc4dfd5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 22 02:12:02 2020 +0200

    shared ring buffer extended

commit f5d793a1cf
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Sep 20 13:38:53 2020 +0200

    file system message getter func

commit 763c52cfca
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 19 21:57:23 2020 +0200

    CSB FIFO first steps to make configurable

commit 40db85e73f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 19 21:36:12 2020 +0200

    separate messages for success/failure

commit cad08e1ea9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 19 20:54:27 2020 +0200

    error output for failed deletion

commit e140d39944
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 19 20:08:25 2020 +0200

    some  fixes for sd card handler

commit 9e9bde0395
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 19 19:50:02 2020 +0200

    srv23 taken over

commit 44989ada64
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 19 19:41:41 2020 +0200

    file system message taken over

commit 718502c04b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 19 17:15:33 2020 +0200

    added additional flag which casn be used to disable

    periodic handling

commit 02f778ea1d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 19 17:14:09 2020 +0200

    new error code added

commit 4ab7a08387
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 19 17:08:08 2020 +0200

    srv3 continued

commit 32c0140cc2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 19 15:58:34 2020 +0200

    hk stuff continued

commit 9ecbc8199e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 19 02:46:29 2020 +0200

    added periodic helper

commit ba56f48e8e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 19 01:17:43 2020 +0200

    huge progress on hk + testing

commit 757d2275ea
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 18 15:06:14 2020 +0200

    internal bugfix

commit 33e7cca23c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 18 15:01:35 2020 +0200

    several bugfixes amd improvements

commit 5e3f40a2c1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 18 13:40:48 2020 +0200

    changes taken over from pull request

commit 3a043b5773
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 18 13:31:51 2020 +0200

    object manager tweaks complete

commit f50a80fc3c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 18 13:29:42 2020 +0200

    minor tweaks

commit 4d4166071c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 18 13:28:20 2020 +0200

    added pus services to framework objects

commit 1b5c3786b6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 18 13:24:06 2020 +0200

    taken over serviceinterface folder

commit b429359864
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 18 13:14:01 2020 +0200

    renormalize files

commit 57c88059e5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 18 13:12:07 2020 +0200

    DHB small improvements

commit 7b0ddb3941
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 18 13:09:23 2020 +0200

    quick fix DHB

commit e70e9e3f1f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 18 12:57:30 2020 +0200

    added uptime seconds functions

commit 19632b8fb1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 18 12:36:36 2020 +0200

    linux fixes

commit e0b2e0b00a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 18 12:31:11 2020 +0200

    fxed linux message queues

commit 37f4cc4644
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 18 12:28:29 2020 +0200

    taken over stopwatch changes

commit 0c6514a682
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 17 22:31:28 2020 +0200

    clock uses getUptime again

commit 6ef5e3e550
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Sep 16 21:22:53 2020 +0200

    queue factory host OS fix

commit e5dac30e98
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 15 17:37:43 2020 +0200

    new include used now

commit 0d5724e3d4
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 15 17:34:07 2020 +0200

    include improvements taken over

commit 347d591def
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 15 17:33:21 2020 +0200

    uses new define and config file now

commit 7643af8607
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 15 17:15:22 2020 +0200

    include guard fix

commit b8ad17639c
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 15 17:02:31 2020 +0200

    include guard fix

commit 850a4a3e3d
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 15 16:44:48 2020 +0200

    header file renamed

commit 15891b3cf0
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 15 16:42:17 2020 +0200

    fixed some message queue includes

commit ad98a63e87
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 15 16:02:58 2020 +0200

    changes taken over from upstream master

commit e707c5e051
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 15 15:58:12 2020 +0200

    fixes taken over

commit e8de2fc47a
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Sep 14 18:29:19 2020 +0200

    added srv3

commit 2d2316a0c7
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Sep 14 18:01:48 2020 +0200

    hk message continued

commit f9612afe06
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 11 14:06:08 2020 +0200

    added report status toggler

commit 71125c075a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 10 21:05:50 2020 +0200

    added new setter function

commit 2d2d0de35c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 10 20:24:49 2020 +0200

    local data pool manager bugfixes

commit d7bbd4b652
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 10 19:51:17 2020 +0200

    severla bugfixes, new periodic op divider added

commit e4d95a4e09
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 10 16:07:09 2020 +0200

    subsystem changes taken over

commit e57d4a11ae
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 10 16:01:05 2020 +0200

    fixed ordered multi map changes integrated

commit d9dcee3692
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 10 15:55:56 2020 +0200

    array list changes taken over

commit f35efa3cbe
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 10 15:52:00 2020 +0200

    taken over CSB changes

commit 96e471add6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 10 15:51:11 2020 +0200

    merged fixed map changes

commit bbc73a6aaf
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 10 15:25:29 2020 +0200

    taken over serialize adapter changes

commit fd09774fc3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 10 15:18:45 2020 +0200

    serialize if update

commit f663de2418
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 10 15:17:38 2020 +0200

    taken over changes from master

commit 224ea3914a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 10 15:15:13 2020 +0200

    deleted file not needed anymore

commit db3e32655d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 10 15:05:26 2020 +0200

    changes taken over from master

commit 18e6de7d6b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 10 15:04:43 2020 +0200

    added compile time check

commit cefac2db0b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 10 15:03:28 2020 +0200

    assignment operator added

commit d43ef479b6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 10 15:02:58 2020 +0200

    assignment operator added

commit 26bb2de050
Merge: d99b100a e085deb2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 10 15:01:49 2020 +0200

    Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master

commit e085deb235
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Sep 7 15:23:27 2020 +0200

    fifo fix

commit d99b100ace
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Sep 6 18:46:56 2020 +0200

    debug output removed

commit 26cbcdbff0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Sep 6 15:21:02 2020 +0200

    removed comment

commit 673af26472
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Sep 6 14:57:05 2020 +0200

    rework/restructuring

commit 50ae50d286
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Sep 6 14:01:41 2020 +0200

    removed pool raw access helper

commit ac2f6c5ed4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Sep 6 12:59:59 2020 +0200

    minor improvements

commit efa41b29aa
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Sep 6 12:16:43 2020 +0200

    added informative comment

commit 8db9a4a191
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Sep 6 12:00:57 2020 +0200

    some minor tweaks

commit 7774434d7a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Sep 6 11:58:12 2020 +0200

    windows sockets working

commit 3e0819f954
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Sep 6 11:48:32 2020 +0200

    some bugfixes

commit b7c4f5ce05
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Sep 6 10:36:39 2020 +0200

    continued win sockets

commit 0c85b05aca
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Sep 6 09:54:22 2020 +0200

    continued win bridge

commit 08ffbfefae
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Sep 6 09:33:02 2020 +0200

    added windows udp bridge

commit f698275a0b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 5 21:59:17 2020 +0200

    removed seconds typedef, confusing

commit c7606b7b1e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 5 21:51:17 2020 +0200

    updating and cleaning pool files

commit cb970b1883
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 5 21:24:59 2020 +0200

    task IF is set now

commit 7a24f89915
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 5 21:19:15 2020 +0200

    removed comment

commit c43ae66205
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 5 21:18:30 2020 +0200

    some tweaks

commit 883103af2b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 5 21:13:07 2020 +0200

    queue map manager update

commit 80e60566d8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 5 21:11:27 2020 +0200

    compiling and working again

commit 39b675cf99
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 5 20:39:10 2020 +0200

    repairing host osal

commit 05814dc805
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Sep 5 15:58:53 2020 +0200

    added way to start DH immediately, bugfix in event manager

commit faeeca8707
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 4 16:07:54 2020 +0200

    seiralize folder converged

commit 1803030640
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 4 16:04:11 2020 +0200

    taken over serialize element changes

commit 721b981df2
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 4 16:01:18 2020 +0200

    changes taken over

commit 305d8ef840
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 4 15:56:52 2020 +0200

    taken over changes

commit f2f7a5de87
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 4 15:47:33 2020 +0200

    taken over convergence changes

commit 0d69e9beca
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 4 15:42:15 2020 +0200

    taken over serial uffer adapter from upstream

commit 37764f7ca7
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 4 15:39:17 2020 +0200

    include guard fixed

commit be89e7ebb7
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 4 15:36:53 2020 +0200

    taken over from upstream with little tweak

commit cfa952d982
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 4 15:33:36 2020 +0200

    hybrid iterator same to FSFW

commit fff0131c9b
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 4 15:20:07 2020 +0200

    taken over changes

commit 147ab94149
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 4 15:13:32 2020 +0200

    include guard improvements

commit f4a5067775
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 4 14:53:27 2020 +0200

    update fw class Ids

commit 94b45d7407
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 4 14:49:27 2020 +0200

    changed taken over

commit 9d1f292af0
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 4 14:32:32 2020 +0200

    changed taken over

commit 6980245c98
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 4 14:30:04 2020 +0200

    added line break

commit 31c16382fc
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Sep 4 14:28:43 2020 +0200

    took over changed for fixed slot sequence

commit 403d83f32c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 3 13:01:14 2020 +0200

    removed commented out code

commit dbb394f761
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 3 00:22:16 2020 +0200

    new member to store last step

commit 822a908353
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Sep 3 00:17:01 2020 +0200

    separated steps, everything seems to work

commit e8fa9816ce
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Sep 2 23:45:14 2020 +0200

    doc improved

commit 6069c64048
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Sep 2 23:36:54 2020 +0200

    doc improved

commit 631b2ca705
Merge: ae9bc39b 33039f8c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Sep 2 17:59:45 2020 +0200

    Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master

commit ae9bc39bda
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Sep 2 17:59:26 2020 +0200

    some bugfixes and improvements

commit 33039f8c60
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 1 12:57:56 2020 +0200

    include  guard correction

commit bec562ece0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 1 12:54:33 2020 +0200

    FIFO updates

commit a634875b4b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 1 12:50:17 2020 +0200

    dynamic fifo update

commit 7cf79c17a9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 1 12:48:51 2020 +0200

    fifo update

commit f7f134ac20
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 1 12:48:11 2020 +0200

    corrections

commit edde2ee58b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Sep 1 12:43:50 2020 +0200

    offsetr update

commit 15bb0aee98
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 29 19:08:10 2020 +0200

    handler ID cached, debug output improved

commit 6c02776975
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 29 00:16:40 2020 +0200

    added srv9

commit b0673c7fa6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 28 18:47:11 2020 +0200

    typo fixes

commit b6a19f911d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 28 18:45:19 2020 +0200

    include guards improved

commit 1b9c8446b7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 28 18:33:29 2020 +0200

    renormalized line endings

commit 9abd796e6f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 28 17:58:36 2020 +0200

    updated map packet extraction

commit 8596810fe2
Merge: 9f522466 b71cab39
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 28 17:58:31 2020 +0200

    Merge branch 'event/git-update' into mueller/master

commit b71cab3993
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 28 17:55:13 2020 +0200

    integrated all changes

commit 9f522466f0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 28 17:52:13 2020 +0200

    wrapped info output in additonal ifdef

commit e800aad979
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 28 17:44:10 2020 +0200

    event git update

commit d2ef2b2be4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 28 17:40:53 2020 +0200

    taken over datalinklayer form upstream

commit 5ce954672b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 28 17:40:21 2020 +0200

    taken over coordinates  from upstream

commit 2e23fc1201
Merge: 468ebfb8 8862f35a
Author: Robin Müller <robin.mueller.m@gmail.com>
Date:   Fri Aug 28 17:37:29 2020 +0200

    Merge pull request 'git is weird' (#15) from mueller/action-git-update into mueller/master

    Reviewed-on: #15

commit 8862f35ad1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 28 17:35:27 2020 +0200

    git is weird

commit 468ebfb809
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 28 17:18:11 2020 +0200

    include improvement

commit 5ca26a72ea
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 28 17:00:16 2020 +0200

    fixed some shadowing issues

commit 42dd665e26
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Aug 27 20:06:19 2020 +0200

    include improvement

commit ed70f38612
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Aug 27 20:04:17 2020 +0200

    some renaming

commit a6e99e443a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Aug 27 20:00:36 2020 +0200

    took over dHB failure isolation base fixes

commit 4d1b1ba506
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Aug 27 17:24:40 2020 +0200

    additonal doc for freeRTOS semaphores

commit b9314cffb9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Aug 27 17:13:52 2020 +0200

    small improvements

commit 5aa664648e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Aug 27 17:03:54 2020 +0200

    linux semaph update

commit fd42d8cd46
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Aug 27 16:14:42 2020 +0200

    periodic task taken over from master

commit 6d3fdab944
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Aug 27 15:52:55 2020 +0200

    adapted semaphore IF to mutex IF

commit 1dfdd65662
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Aug 27 14:42:10 2020 +0200

    new initializeSequence func

commit 790e0399b7
Merge: 67ab1f62 3aa6858c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Aug 27 14:23:14 2020 +0200

    Merge branch 'mueller/project/distribDatapool' into mueller/master

commit 67ab1f6240
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Aug 27 14:17:13 2020 +0200

    initialize after task crteation moved

commit 0f9930524b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Aug 26 15:54:13 2020 +0200

    some minor improvements

commit 83c9d4fc1c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Aug 26 14:55:27 2020 +0200

    improved tmtc bridge

commit 51b62fd9b1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Aug 26 03:21:26 2020 +0200

    debug output fix

commit c314792e86
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Aug 26 02:52:59 2020 +0200

    linebreak changed

commit da3b2b2500
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 25 18:09:05 2020 +0200

    form improvements

commit 6afbeb8423
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 25 13:42:11 2020 +0200

    removed linker forward decl

commit 92e18b91a3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 25 13:38:53 2020 +0200

    seriasl buffer update

commit b97128c12e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 25 13:29:10 2020 +0200

    deserialize improved

commit c8ba486538
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 25 13:17:57 2020 +0200

    serial buffer adapter

commit 3aa6858c93
Merge: 11ce3d02 6afbeb84
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 25 13:04:20 2020 +0200

    Merge branch 'mueller/master' into mueller/project/distribDatapool

commit 11ce3d025f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Aug 24 22:08:27 2020 +0200

    srv3 received reply now

commit 8e7f167a66
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Aug 24 14:48:22 2020 +0200

    small fix taken over

commit a5227115e5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Aug 23 23:24:48 2020 +0200

    first subscriptio nfunction written

commit a95bc6b293
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Aug 23 22:33:22 2020 +0200

    sid cached now

commit 687e124929
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Aug 23 21:52:44 2020 +0200

    doc added

commit 2b63f1b3f3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Aug 23 21:00:25 2020 +0200

    New reporting mode

commit 2f53a3fb1b
Merge: f39b8bdb cdaed452
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Aug 23 20:27:00 2020 +0200

    Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master

commit cdaed4523b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 21 16:15:40 2020 +0200

    tmtc bridge todo added

commit 0d47606229
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 21 15:49:06 2020 +0200

    tm/tc packet stored improvements

commit 15fd30b23f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Aug 20 22:31:58 2020 +0200

    assigned read len for decoding error

commit 9385f90241
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Aug 20 20:36:49 2020 +0200

    some bugfixes and improvements

commit adbf39166f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Aug 20 18:13:17 2020 +0200

    removed pus parser

commit f90bd01282
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Aug 19 17:00:50 2020 +0200

    added srv17 and srv201

commit 7b998268cb
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Aug 19 13:17:40 2020 +0200

    error message improvement

commit a1d94ec556
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 18 20:51:13 2020 +0200

    added aditional comment

commit 5af50cfbf7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 18 20:50:24 2020 +0200

    renamed .mk file

commit fbecda7549
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 18 13:09:15 2020 +0200

    include replacements

commit f39b8bdb41
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Aug 10 18:33:28 2020 +0200

    several simplifications

commit 87eb31b65a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Aug 9 20:06:29 2020 +0200

    local data pool manager uses new packet now

commit 9e7d92b387
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Aug 9 19:46:37 2020 +0200

    some renaming , hk packets finished

commit a181f19c02
Merge: b092850d 5d09ae32
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Aug 9 17:13:58 2020 +0200

    Merge branch 'mueller/master' into mueller/project/distribDatapool

commit 5d09ae3221
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 8 23:47:44 2020 +0200

    additional comment

commit f9ce1d9eb9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 8 23:46:21 2020 +0200

    more simplifications for shared ring buffer

commit 6484c1a276
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 8 23:45:18 2020 +0200

    shared ring buffer simplified

commit b092850dfc
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 8 21:32:15 2020 +0200

    internal housekeeping packet finished

commit b828d7c6d7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 8 19:56:42 2020 +0200

    continued with local datapool manager

commit e7d28d630c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 8 19:43:28 2020 +0200

    continued with implementation

commit 03cd5780f9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 8 13:29:38 2020 +0200

    null initializations in header

commit 121e94a385
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 8 13:20:02 2020 +0200

    local pool var update

commit 5c85d03c39
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 8 13:04:31 2020 +0200

    additional check for freeRTOS

commit fba8775f49
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 8 12:51:31 2020 +0200

    some renaming

commit f766398b20
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 8 12:49:20 2020 +0200

    some bugfixes

commit af11c8fcf9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 8 12:38:39 2020 +0200

    freeRTOS corrections

commit a6a1e65607
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 8 12:17:27 2020 +0200

    local data set fix

commit 4afb19be51
Merge: b7411591 03cd5780
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 8 12:04:52 2020 +0200

    Merge branch 'mueller/master' into mueller/project/distribDatapool

commit 979fea3400
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 7 22:15:03 2020 +0200

    mutex helper api change

commit 458e849f7d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 7 22:11:13 2020 +0200

    adapting mutex helper to new interface

commit 44b70b45e2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 7 22:06:20 2020 +0200

    little doc correction

commit e3d094b2de
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 7 22:02:23 2020 +0200

    linux: removed old static timeout values

commit 37f2539d89
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 7 20:44:40 2020 +0200

    empty line removed

commit bfecbfbd80
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 7 20:36:37 2020 +0200

    implemented new mutex interface

commit 1a118fe215
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Aug 7 19:21:47 2020 +0200

    added documentation to assembly base

commit 66039bd3fe
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 4 18:14:39 2020 +0200

    move group def down

commit c4ffb1acd5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 4 18:12:15 2020 +0200

    subservice number correction

commit 3f87537c61
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 4 15:25:24 2020 +0200

    minor corrections

commit 4d3f0875c1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 4 15:23:37 2020 +0200

    periodic task if adapted

commit 2177877625
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 4 15:16:09 2020 +0200

    updated framework subsystem ID ranges

commit 4dcfa5125e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 4 11:47:47 2020 +0200

    added additional calls

commit 6b475792a4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 4 02:25:10 2020 +0200

    shared ring buffer continued

commit 4e9e465360
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 4 02:00:00 2020 +0200

    shared ring buffer continued

commit 0ead44bea9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 4 01:07:59 2020 +0200

    getFreeElement implemented

commit f240827bbd
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Aug 4 00:59:19 2020 +0200

    added getFreeElement

commit ebf5d41a78
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 1 19:03:03 2020 +0200

    parameters IF doc and improvement

commit 7475e6a9b8
Merge: 76cc3e96 66eac57e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 1 17:06:12 2020 +0200

    Merge branch 'mueller/master' into source/master

commit 66eac57e3b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 1 16:54:54 2020 +0200

    csb update

commit 58a4f4f8a1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 1 16:39:17 2020 +0200

    command message bugfix, CSB improvement

    parameter helper diagnostic message

commit 76cc3e96e8
Merge: ffba6641 18899a4c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Aug 1 12:34:46 2020 +0200

    Merge branch 'mueller/master' into source/master

commit 18899a4c82
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jul 29 20:07:24 2020 +0200

    hotfix for deadline checking

commit 276c3b172e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jul 29 15:32:36 2020 +0200

    better diagnostic warning for DHB

commit c64aa9f7f5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jul 28 21:00:11 2020 +0200

    another important bugfix

commit 9fa9421ba5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jul 28 20:57:05 2020 +0200

    important bugfix

commit 9acf82cf51
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jul 28 18:12:10 2020 +0200

    doc improved

commit 69f9ff02f0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jul 28 17:00:51 2020 +0200

    better returnvalue for failed  comIF init

commit afc16ef2d7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jul 28 12:49:18 2020 +0200

    new servicei nterface buffer /stream

commit 6425c0dd4c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jul 26 03:12:04 2020 +0200

    better init error output

commit e179288c00
Author: Steffen Gaisser <gaisser@irs.uni-stuttgart.de>
Date:   Thu Jun 25 18:09:32 2020 +0200

    Fixed spelling mistake in HealthHelper

commit b7411591a1
Merge: a0b8f885 b4d6d970
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 16 12:42:02 2020 +0200

    Merge branch 'mueller/master' into mueller/project/distribDatapool

commit b4d6d970bc
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 16 12:41:05 2020 +0200

    removed HK manager virtual functions

commit aaafed7b28
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 16 12:38:21 2020 +0200

    health table init now mandatory, better

    diagnostic output for uninit health table or invalid health helper owner

commit 47b3a428c6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 16 12:33:03 2020 +0200

    removed device switch, not necessary anymore

commit a0b8f8855c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 16 11:45:23 2020 +0200

    cotinued distir datapool

commit e5ab7ada68
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jul 14 15:45:03 2020 +0200

    added new interfaces for datasets

commit e204bd77c6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jul 14 02:21:11 2020 +0200

    created tpp file for fixed ordered multimap

commit e7b6999c5e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jul 13 22:13:19 2020 +0200

    added back inttypes.h for cleaner code

commit 15052cb333
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jul 13 19:54:38 2020 +0200

    singly linked list update

commit 6d99ab3df3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jul 13 19:37:33 2020 +0200

    ncreased readability of DHB function

commit b4f292f3d7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jul 12 18:01:09 2020 +0200

    new generic freertos task interface

commit 99aef0cf28
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jul 12 01:16:32 2020 +0200

    C++ linkage for yield from ISR function

commit 7d794c7623
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jul 11 18:24:09 2020 +0200

    task management functions have freertos syntax now

commit 799846d89f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jul 11 14:29:30 2020 +0200

    little formatting changes

commit e4f795d209
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jul 11 13:38:14 2020 +0200

    stack high watermark in bytes now

commit ffba664144
Merge: 69946d52 35d4267b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jul 11 11:57:46 2020 +0200

    Merge branch 'mueller_framework' into front_branch

    changes for new freertos task monitor

commit 69946d5276
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jul 11 11:52:01 2020 +0200

    FIFO hotfix

commit 35d4267b40
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jul 11 02:36:04 2020 +0200

    dynamic fifo bug fixed

commit 6a6395313f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jul 11 01:06:01 2020 +0200

    added copy ctor and assignment for FIFObase

commit 444ee80f35
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jul 10 20:31:10 2020 +0200

    removed unnecessary case and added more size checks

commit 3145036210
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jul 10 19:34:18 2020 +0200

    getter functions for task handle

commit 36a7f2f9ee
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jul 10 14:32:25 2020 +0200

    removed file header comment

commit e29226c9bb
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jul 10 14:28:36 2020 +0200

    srv8 improved

commit 9716bcdd74
Merge: c8821ae7 a7d68f8c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jul 10 13:55:14 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit a7d68f8c52
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jul 10 13:31:45 2020 +0200

    deleted copy ctor

commit be8913efea
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jul 10 03:30:52 2020 +0200

    srv8 improvements

commit 9cbc1a18b8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jul 10 03:16:08 2020 +0200

    csrv200 improvements

commit bdc6e88198
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jul 10 03:09:32 2020 +0200

    reordered includes

commit 3551a767a7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jul 10 03:06:18 2020 +0200

    removed old code

commit f3739fd213
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jul 10 02:44:58 2020 +0200

    bugfix failure isolation base

commit 7a4cc1a6b6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jul 10 01:22:23 2020 +0200

    hk manager initialized now

commit 1fde3c2c99
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jul 10 00:19:25 2020 +0200

    added srv200, CSB doc

commit cdd877032f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 9 23:20:48 2020 +0200

    doc for system object IF improved

commit 57418eb877
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 9 20:04:49 2020 +0200

    distrinction between default settings

    and individual settings for service

commit ad049cc634
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 9 19:41:52 2020 +0200

    tmtc bridge formatting improvements

commit ceb6197904
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 9 17:01:12 2020 +0200

    some minor improvements

commit da30680d04
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 9 16:54:18 2020 +0200

    readability improvement

commit 0cdce6e327
Merge: a5d3d9ea ac9e6e13
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 9 16:47:39 2020 +0200

    Merge branch 'mueller_devel_distribDatapool' into mueller_framework

commit a5d3d9ea80
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 9 16:46:57 2020 +0200

    improved init function

commit 5a351474d2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 9 16:31:33 2020 +0200

    DHB ctor simplified

commit 32ef807341
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 9 15:49:52 2020 +0200

    newline

commit ecd740a101
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 9 15:47:50 2020 +0200

    ring buffer base calls made protected

commit 6f50356964
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 9 14:26:15 2020 +0200

    new shared ring buffer

commit ac9e6e1337
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 9 00:59:10 2020 +0200

    continued with local data pool manager

commit c8821ae74f
Merge: e48de981 64c290ff
Author: Robin Müller <robin.mueller.m@gmail.com>
Date:   Wed Jul 8 18:49:09 2020 +0200

    Merge pull request 'A lot of new features and tweaks' (#12) from mueller_framework into front_branch

commit 64c290ffe4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jul 8 18:38:58 2020 +0200

    include guard fix

commit dc27cc9aff
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jul 8 18:37:26 2020 +0200

    srv8 added to framework

commit 8046d005a4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jul 8 18:18:54 2020 +0200

    CSB static framework id setting

commit 236ad1b85b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jul 8 15:06:46 2020 +0200

    a lot of debug output added

commit 5ec78b065c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jul 8 13:29:57 2020 +0200

    error handling for invalid dest queues improved

commit b56aa94f99
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jul 8 12:54:40 2020 +0200

    additional doc

commit 01b1080376
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jul 8 12:53:46 2020 +0200

    readability increase

commit 94f9b1e1ef
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jul 8 12:41:15 2020 +0200

    dle encoder doc finished and hopefully correct

commit 264914e86a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jul 8 03:18:09 2020 +0200

    tmtcbridge tweaks.

    UDP bridge now working :-D

commit 2efcda735f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jul 8 02:20:38 2020 +0200

    message arriving.

    big clean up in tcdistribution folder

commit 399fc0e287
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jul 7 17:42:37 2020 +0200

    fifo replacements

commit dd48f7ccad
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jul 7 17:28:00 2020 +0200

    some form improvements

commit 06d389ed1e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jul 7 17:25:52 2020 +0200

    increased srv2 readability

commit 684b56ac88
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jul 7 17:21:47 2020 +0200

    srv2 tweak: CSB params now configurable

commit 7698f3f13e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jul 7 17:18:33 2020 +0200

    moved srv2 to framework

commit 359163886b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jul 7 17:06:30 2020 +0200

    pus srv5 and 1 moved to framework

commit 4f1f610ae0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jul 7 16:36:41 2020 +0200

    doc and improvements for DLE encoder

commit e48de981f5
Merge: 062ebabb cb691db8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jul 6 23:31:38 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit cb691db807
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jul 6 23:07:38 2020 +0200

    fifo tweaks, pus parser fixes

commit fd1e612ea5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jul 6 20:17:05 2020 +0200

    pus parser fixes

commit 8ba75fc3c2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jul 6 19:36:21 2020 +0200

    pus parser implemented

commit f442a5889e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jul 6 16:34:11 2020 +0200

    pus parser continued

commit 78283ddbee
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jul 6 14:09:33 2020 +0200

    queue map manager: not using std::atomic anymore

commit b61e1df8bc
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jul 6 13:43:41 2020 +0200

    fifo in namespace now

commit bb5de8f110
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jul 6 13:41:07 2020 +0200

    merged new changes

commit 2158208a2f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jul 6 00:33:55 2020 +0200

    new pus parser

commit ebec074655
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jul 5 23:53:13 2020 +0200

    Split up FIFO into StaticFIFO and normale FIFO

commit 2395e487ae
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jul 5 20:42:05 2020 +0200

    udp polling taks init

commit 327b1e9d2f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jul 5 19:11:21 2020 +0200

    file renamed

commit 724fee09ff
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jul 5 18:58:16 2020 +0200

    new task for tc unix polling

commit 26ab1983dc
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jul 5 18:22:39 2020 +0200

    new ports

commit 9e2fa16550
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jul 5 15:31:02 2020 +0200

    mq stack error improved

commit fcf3f04377
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jul 5 01:25:49 2020 +0200

    diag output for inits improved

commit 9dcf0c7118
Author: Ulrich Mohr <mohr@irs.uni-stuttgart.de>
Date:   Fri Jul 3 15:50:29 2020 +0200

    size_t for DataPoolAdmin

commit b86e5664c4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jul 5 00:33:03 2020 +0200

    include which was missing, pool raw access size_t replacements

commit 1a177d2efa
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jul 5 00:28:06 2020 +0200

    integrated pool raw access serialize changes

commit 24240b6c7d
Author: Ulrich Mohr <mohr@irs.uni-stuttgart.de>
Date:   Fri Jul 3 15:46:00 2020 +0200

    Documented EndianConverter and changed length to size_t

commit c160000027
Author: Ulrich Mohr <mohr@irs.uni-stuttgart.de>
Date:   Fri Jul 3 12:44:08 2020 +0200

    Corrected filename of EndianConverter.h

commit 5cee126841
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jul 5 00:06:30 2020 +0200

    formatting

commit 571da39108
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jul 4 23:52:44 2020 +0200

    continued new bridge

commit e0a3257f8b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jul 4 23:20:29 2020 +0200

    even better output for unset max msg size

commit 72768a6815
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jul 4 00:51:49 2020 +0200

    started unix udp bridge

commit 18173772af
Merge: 47b8ed23 099e6281
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 2 16:56:27 2020 +0200

    Merge branch 'mueller_framework' into mueller_merge_mohr_serialize

commit 099e6281ec
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 2 16:54:53 2020 +0200

    DataSetBase not bound to max size anymore

commit 3e069c34aa
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 2 16:29:29 2020 +0200

    datasetbase stays same f or now

commit 8011d49ebc
Merge: 837fecf8 68c41e23
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jul 2 16:07:16 2020 +0200

    Merge remote-tracking branch 'upstream/master' into mueller_framework

commit 47b8ed2321
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jul 1 14:34:16 2020 +0200

    split up long debug message

commit d7bff31a4c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jul 1 14:17:55 2020 +0200

    compiling again

commit 6802ff7d71
Merge: 837fecf8 6553450b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jul 1 13:15:58 2020 +0200

    Merge remote-tracking branch 'upstream/mohr_serialize' into mueller_merge_mohr_serialize

commit 837fecf859
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 30 21:22:26 2020 +0200

    added hk receiver obj id to dhb ctor

commit 062ebabb9a
Merge: 2de972bb 1820b5f9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 30 16:41:38 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit 1820b5f95c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 30 16:02:07 2020 +0200

    hotfix for copy ctor

commit 2de972bb8a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 30 15:51:19 2020 +0200

    const store accessor copy ctor fixx

commit 3a85001855
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 30 00:48:48 2020 +0200

    bit setter correction

commit 85cc936d5d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 29 16:50:45 2020 +0200

    added back clear CommandMessage function

commit e2a36efce3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 29 16:47:58 2020 +0200

    csb changes taken over

commit 48df3cbe83
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 29 16:43:02 2020 +0200

    csb comment improved

commit 691be0dcd4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 29 16:39:55 2020 +0200

    dhb doc improvements

commit 044aa259e6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 29 16:37:55 2020 +0200

    dhb cached pst interval now

commit ae6314d8cd
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 29 16:06:53 2020 +0200

    added task handle member

commit 003e70bf47
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 29 15:55:20 2020 +0200

    new initializeAfterTaskCreation()

commit d5d968a393
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 29 15:46:16 2020 +0200

    some more correctioons

commit b81b458ba6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 29 15:44:18 2020 +0200

    exec task if new init function, some corrections

commit 71f997888b
Merge: 61370d43 ba5b8bd6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 26 13:33:19 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit ba5b8bd682
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 26 13:28:58 2020 +0200

    hybrid iter update

commit 08f25370f3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 24 12:03:52 2020 +0200

    moved typedefs into namespace

commit 0c32a96452
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 24 11:54:41 2020 +0200

    some more singly linked list improvements

commit 8d633bf127
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 24 11:40:48 2020 +0200

    took over changed for singly linked list

commit 6f2bb4125d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 24 02:02:57 2020 +0200

    bugfix

commit 7f3607c3d9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 24 02:00:26 2020 +0200

    hk service fixed

commit 61370d43da
Merge: 65c775b8 bb9f606f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 24 01:29:11 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit bb9f606ffd
Merge: 16cbbb26 b2c352b0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 24 01:26:23 2020 +0200

    Merge remote-tracking branch 'upstream/master' into mueller_framework

commit 16cbbb2693
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 24 01:11:48 2020 +0200

    linux fixes

commit af24cc7d04
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 24 00:49:13 2020 +0200

    some bugfixes

commit c7c49b4239
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 24 00:30:32 2020 +0200

    deleted command messge base

commit 3bf29a7315
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 24 00:24:15 2020 +0200

    removed CommandMessageBase, changed interfaces

commit 905c1a92e3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 23 21:03:22 2020 +0200

    reverted some changes

commit 56455a5fa2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 23 14:11:53 2020 +0200

    added static function as alternative to macro

commit 67366c25a0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 23 13:49:25 2020 +0200

    typo fix

commit 5f16d30d82
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 23 13:47:38 2020 +0200

    all ones value for return failed now

commit 6f4682e1c8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 23 12:53:30 2020 +0200

    hasactionsIF include guard and doc

commit 2ecd7c4493
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 23 11:05:40 2020 +0200

    some minor improvements

commit 446e7d2f82
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 23 11:00:40 2020 +0200

    const storage accessor improvement

commit 45ffb7549a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 23 10:58:48 2020 +0200

    storage accessor const in own file now

commit e27310da40
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 23 10:47:31 2020 +0200

    updates for tmtcbridge

commit c0beef4463
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 23 10:27:44 2020 +0200

    some include guards, todo comments

commit 64a02c55ba
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 23 01:37:25 2020 +0200

    linux fixed, size checks added

commit f7d55a8a37
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 23 01:15:35 2020 +0200

    equal to pull request now

commit 847292ea30
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 23 01:10:19 2020 +0200

    added overflow checking for periodic task

commit a82dbcbd50
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 22 23:47:18 2020 +0200

    minor doc correction

commit 6a7f47e06d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 22 23:46:44 2020 +0200

    doc fix

commit dadc867d9e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 22 20:18:13 2020 +0200

    adapted MessageQueueSenderIF function calls

commit 5734a0a0e9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 22 19:22:52 2020 +0200

    some fixes necessary to perform size check

commit 3b2fa978e1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 22 19:06:10 2020 +0200

    replaced break with continue

commit 109fdad8b3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 22 15:34:35 2020 +0200

    size check for message queue

commit 65c775b83c
Merge: 555b7cc9 45a55044
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 19 20:48:35 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit 45a55044dd
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 19 20:47:36 2020 +0200

    using debug stream now

commit 95b646046b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 19 20:43:29 2020 +0200

    debug output working again

commit 3936fe9360
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 19 20:34:19 2020 +0200

    linux fix

commit 2c04b87418
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 19 20:18:00 2020 +0200

    corrected includes

commit 1b0e7c84c7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 19 20:15:58 2020 +0200

    linux periodic task improvements

commit 2de811e0af
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 19 20:14:56 2020 +0200

    moved timeslot files to task folder

    implmented setting task IF for regular periodic tasks

commit eb4ce980fe
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 19 14:32:04 2020 +0200

    small fixed

commit 60ae2d4565
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 19 14:25:03 2020 +0200

    continued with hk data pool

    added deadline missed check for fixed timeslot task,
    improved doc for both periodic task and fixed timeslot task

commit 84b8d733c0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 19 03:03:17 2020 +0200

    hk continued

commit 583efec3f8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 17 20:45:44 2020 +0200

    nullptr

commit ed26992d7f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 17 20:40:40 2020 +0200

    shoulddo added

commit bb16fd80b8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 17 20:37:45 2020 +0200

    singly linked list improvements

commit 259517ac9b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 17 20:22:09 2020 +0200

    single linked list improvement

commit d5ae74f860
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 17 20:21:49 2020 +0200

    bugfix hk message size

commit b68ad9e4f9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 17 19:50:26 2020 +0200

    new ctor for simple ring buffer which does not

    allocate

commit f8f10a1730
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 17 19:41:10 2020 +0200

    slight hybrid iter improvements

commit 38676308e3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 17 19:37:55 2020 +0200

    improved array list a bit

commit 813e82415a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 16 11:03:24 2020 +0200

    additional doc info

commit 555b7cc982
Merge: cd424d79 7871ee7c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 15 17:59:59 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit 7871ee7ca8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 15 17:39:52 2020 +0200

    mutex helper little formatting correction

commit e39d5689e5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 15 16:56:22 2020 +0200

    device com IF formattign

commit c9d8bd59f0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 15 11:11:42 2020 +0200

    ctor improved

commit 6ecf1cf534
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jun 14 19:03:28 2020 +0200

    hk message continued

commit 9f69191f23
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jun 14 17:59:14 2020 +0200

    optimized command messages a bit

commit cd424d79e7
Merge: 60aed39b 8c03f6a8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jun 14 17:13:52 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit 8c03f6a823
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 13 21:01:01 2020 +0200

    command message only passed IF now

commit 6b67f46c80
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 13 17:37:48 2020 +0200

    evil hidden bug found.

    CSB uses CommandMessageIF now

commit 7b538e9750
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 12 20:23:39 2020 +0200

    introduced command message base and

    command message IF

commit f578c3ea29
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jun 11 16:46:18 2020 +0200

    set buffer: const buffer is set too

commit 60aed39bc5
Merge: b6427d01 6838a9e7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jun 11 16:22:50 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit 6838a9e768
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jun 11 16:19:22 2020 +0200

    serial buffer adapter bugfix

commit 206235ed47
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jun 11 16:03:09 2020 +0200

    dataset base bugfixes

commit a9c7ad84c8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jun 11 02:03:18 2020 +0200

    added new interface to host and linux osal

commit c1fe326f67
Merge: b2ed0edc 3268806f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 10 23:42:09 2020 +0200

    Merge branch 'mueller_framework' into mueller_newCommandMessageTest

commit 3268806f75
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 10 22:51:54 2020 +0200

    split up huge function to be more readable

commit b2ed0edce0
Merge: 47aa9ddc 454524d2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 10 22:45:04 2020 +0200

    Merge remote-tracking branch 'upstream/master' into mueller_newCommandMessageTest

commit bb9a299e33
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 10 22:19:40 2020 +0200

    added back removed comments

commit 5007041bc8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 10 22:12:29 2020 +0200

    cleaned up includes and improved doc a bit

commit 659594bac7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 10 21:35:47 2020 +0200

    better include guard and doc form improvement

commit 606957dc24
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 10 21:26:45 2020 +0200

    PSB update

commit 8fbd414a86
Merge: 52c88792 454524d2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 10 20:57:04 2020 +0200

    Merge remote-tracking branch 'upstream/master' into mueller_framework

commit 52c887925f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 10 20:53:28 2020 +0200

    iomanip include

commit b6427d017b
Merge: b20ba1f9 20e3b3c0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 10 01:19:00 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit 20e3b3c0e2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 10 01:10:16 2020 +0200

    0 replaced by MQIF::NO_QUEUE

commit 3277d199ac
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 10 01:07:50 2020 +0200

    linux mq update

commit 47aa9ddcc3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 9 02:46:19 2020 +0200

    doc for mqm improved

commit 8ff6506ad9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 9 02:18:39 2020 +0200

    MessageQueue refactoring complete

commit b1f91439c6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 8 17:50:09 2020 +0200

    deleted copy ctor taskes const ref now

commit 07302e0d2a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 8 17:44:54 2020 +0200

    removed include

commit b20ba1f938
Merge: 3b4413a6 514ff4f4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 8 14:06:01 2020 +0200

    Merge remote-tracking branch 'upstream/master' into front_branch

commit 3cb79ebc86
Merge: 0ea249aa 514ff4f4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 8 14:05:40 2020 +0200

    Merge remote-tracking branch 'upstream/master' into mueller_framework

commit 0ea249aac4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 8 12:25:20 2020 +0200

    messagetype namespace im small letters now

commit 4c41456ddf
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jun 8 01:22:21 2020 +0200

    thoughts on message queuee message

    new interface. What if there are MQ messages with different sizes?
    -> generic interface

    furthermore, maybe command message should be refactored to operate
    on a mq message instead of implementing it

commit 2649fa1507
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jun 7 23:38:15 2020 +0200

    small small command message tweaks

commit e8bc2cec9f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jun 7 23:26:52 2020 +0200

    small comment in semaph factory

commit 4a90f41122
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jun 7 18:53:55 2020 +0200

    generate HK packet function continued

commit 3b4413a6ee
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jun 7 16:12:23 2020 +0200

    added queue lock for  receiveMessage

commit 98e6ca5f78
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jun 7 15:22:32 2020 +0200

    removed locks in lockless functions

commit 73932f0349
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jun 7 13:58:51 2020 +0200

    object maanager tweaks

commit fe5b50d885
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jun 7 02:22:18 2020 +0200

    improved documentation signigicantly

commit d0b218c18e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jun 7 01:40:48 2020 +0200

    renaming for host os

commit 3c80bdfefa
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jun 7 01:18:19 2020 +0200

    some linebreaks

commit 33cc8591dc
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jun 7 01:17:24 2020 +0200

    yaaay, hardcoded values

commit c81613690b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 23:41:54 2020 +0200

    no_queue value is 0xffffffff now

commit 65999ac6d6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 23:30:16 2020 +0200

    pool var no param is one now

commit 3d8993b0c5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 23:23:20 2020 +0200

    new typedef names

commit 9ed92e5e6f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 23:21:51 2020 +0200

    clock typedefs renamed

commit 70212d9f4e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 23:15:42 2020 +0200

    slight formatting

commit 8216b26fde
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 23:15:05 2020 +0200

    datapoollocal updates

commit ea548dea5b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 21:16:47 2020 +0200

    map lock init

commit d99be25529
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 20:52:28 2020 +0200

    cookie info iter was uninitialized

    leads to crash

commit 262d34174e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 18:56:54 2020 +0200

    using strncat now

commit b79efa6d6c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 16:25:06 2020 +0200

    variable for name len

commit 096fbec156
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 15:40:10 2020 +0200

    cleaned includesu p a bit

commit dc9ef41bec
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 15:31:45 2020 +0200

    added doc for linux

commit b0634ab0a2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 15:26:22 2020 +0200

    fixed bug (critical!)

commit ef01b78140
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 15:01:57 2020 +0200

    some issue with stack size ..

commit 212cd58f9a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 14:45:45 2020 +0200

    issues with fixed timeslo ttask on linux

commit 788f7a3745
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 13:59:00 2020 +0200

    better name for mq

commit 95bc5a871b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 13:56:35 2020 +0200

    improved diagnostic messages for linux

commit 04236859da
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 13:03:37 2020 +0200

    slight improvements to diagnostic ouput

commit 5289497ab5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 12:59:43 2020 +0200

    health helper optional, diagnostic output improved

commit d35524ecbc
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 12:41:17 2020 +0200

    decoupling from raw reciever, linux mq improvements

commit 8e7593d68a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 02:10:21 2020 +0200

    removed error handling in separate fnctn

commit b4561465ba
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 01:36:07 2020 +0200

    some little form improvements

commit d600d48816
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jun 6 01:31:08 2020 +0200

    added the decoupling of DHB from powerSwitcher

    + some first hk maanger changes, might comment them out

commit 87f64d99cd
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 23:18:00 2020 +0200

    implemented fixed timeslot task

commit d74f2c7560
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 21:40:06 2020 +0200

    housekeeping folder added to .mk file

commit 579115f904
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 21:36:50 2020 +0200

    adapting host osal

commit 2b646551e9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 20:40:22 2020 +0200

    mutex helper new output error

commit e9a9a543ce
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 20:38:59 2020 +0200

    fw message count one line further

commit 0d4d4123ab
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 20:37:46 2020 +0200

    added new message  type (hk)

commit 7247a1af7e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 20:36:25 2020 +0200

    new class ids

commit 9ec2283d13
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 20:35:08 2020 +0200

    hk folder update

commit 319fa9ddb6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 20:34:34 2020 +0200

    datapoollocal update

commit e04e6a6f15
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 20:33:57 2020 +0200

    datapoolglob update

commit 9fd5ef0194
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 20:28:06 2020 +0200

    updated datapool files

commit 8d3ac33b0e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 20:18:38 2020 +0200

    reordering init list for compiler

commit 872c350a92
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 18:36:22 2020 +0200

    another small bugfix (this-> was missing)

commit ef3e5c4582
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 18:20:21 2020 +0200

    very important bugfix for serial buffer adapter

commit dbeb04895b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 17:55:03 2020 +0200

    added hosted OSAL

commit 4ebd937fe0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 16:47:46 2020 +0200

    deleted old printer file

commit abcd818f2f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 16:44:31 2020 +0200

    printer renamed to arrayprinter

commit 2a632ae711
Merge: 405e1149 d7036edb
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 16:03:58 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit d7036edb94
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 15:53:20 2020 +0200

    hotfix

commit dd210e99af
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 13:45:18 2020 +0200

    additional include which was missing

commit 904721cc36
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jun 5 13:44:11 2020 +0200

    improved pool entry iF

commit dd193fd64d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jun 4 21:27:37 2020 +0200

    obj manager.cpp improvements

commit e4944a067c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jun 4 21:24:44 2020 +0200

    change made was wrong (pointers in map are not deleted!)

commit d423c00115
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jun 4 21:14:35 2020 +0200

    additional nullptr check

commit 569724843e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jun 4 21:11:49 2020 +0200

    object manager improvements

commit 849053b830
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jun 4 21:04:24 2020 +0200

    small fix for object manager.cpp

commit 71487d60ca
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jun 4 21:01:09 2020 +0200

    onj managerIF update

commit 3eca16ff78
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jun 4 20:59:52 2020 +0200

    removed exit clause

commit 405e1149e5
Merge: f0be1b1f 4d59ddc3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jun 4 20:41:30 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit 4d59ddc3db
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jun 4 19:50:26 2020 +0200

    some fixes, check for preamble size

commit 6ff1cf46c5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jun 4 19:40:43 2020 +0200

    new service interface stream

commit f2a9d29696
Merge: a115bf11 d75e4716
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jun 4 14:45:06 2020 +0200

    Merge remote-tracking branch 'upstream/master' into mueller_framework

commit a115bf1186
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jun 4 14:43:33 2020 +0200

    store access improvements

commit 925a54dec9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jun 4 01:06:03 2020 +0200

    more improvements for servicei nterface

commit 17ed9b7796
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 3 23:38:02 2020 +0200

    OS renamed to OS_FSFW (nameclash with system variable)

commit 5eb3d77bdb
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 3 23:29:00 2020 +0200

    clarfiying comment

commit 0a512abc33
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 3 23:26:27 2020 +0200

    additional clarification comment

commit 5b93799ea6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 3 23:10:04 2020 +0200

    added forward declarations for service interface streams

commit 1c0ca4c329
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 3 23:02:23 2020 +0200

    some changes to take care of activity

commit 3483dff2ab
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jun 3 22:56:03 2020 +0200

    some more interface improvements

commit 5036cdbef3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 2 23:54:24 2020 +0200

    queue factory first param uint32_t again

commit 6972e72fbf
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 2 23:52:31 2020 +0200

    fixed order

commit f0be1b1fff
Merge: c34c6238 54edeacb
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 2 22:27:57 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit 54edeacb2d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 2 22:25:28 2020 +0200

    changed names for linux

commit 986dc2047e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 2 22:19:48 2020 +0200

    replaced mutexIF and semaphoreIF name for timeouts

commit f0a25b5e2b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 2 22:10:34 2020 +0200

    new timeout values for MUtexIF and SemaphIF

commit de6ed5c085
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jun 2 15:57:04 2020 +0200

    improved include guard and removed old comment

commit 42f0687a6b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 31 23:28:51 2020 +0200

    self deletion nullptr

commit c8a36a79de
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 31 00:23:38 2020 +0200

    corrected doc for task factory interface

commit c34c6238c6
Merge: 66b75802 7a22d12d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 17:56:06 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit 7a22d12d0f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 17:48:24 2020 +0200

    removed extern "C", not needed

commit 914bf8b9fc
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 17:45:53 2020 +0200

    seconds_t is double now

commit 4d4ca2f3bd
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 17:43:37 2020 +0200

    doc fix for stopwatch

commit f13eff79c9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 16:51:09 2020 +0200

    another little include guard fix

commit 6b0558d6c7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 16:49:11 2020 +0200

    added author tag back

commit 3ef939aca8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 16:46:26 2020 +0200

    fixed inclue protection

commit 5cf9e938cc
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 16:45:03 2020 +0200

    added include protection

commit b90492562a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 16:40:57 2020 +0200

    added author tag back at class definition

commit f14bacba32
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 14:15:45 2020 +0200

    using nullptr now

    added new distinction between blocking (MAX_TIMEOUT) and polling
    (NO_TIMEOUT)

commit 6a3dc94108
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 13:18:27 2020 +0200

    removed extern "C" for freertos includes

commit d5352a9b87
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 13:15:37 2020 +0200

    actually extern "C" is not needed

    it is included by freeRTOS

commit e7ae35c659
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 13:09:47 2020 +0200

    improved structure a bit

commit 5169c09fd8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 13:07:35 2020 +0200

    improved includes

commit 78ae109a08
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 13:02:13 2020 +0200

    removed context switch request

    (shall be done at end of ISR, so must be performed by caller)

commit da403c01d0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 03:03:48 2020 +0200

    retval fix, unittest running again

commit 3d2935ac69
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 02:23:14 2020 +0200

    linux time lib improvements

    stop watch other function used (more precise for linux)

commit ccf79ab5b6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 01:55:20 2020 +0200

    output correction for linux

commit 671f298935
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 01:41:16 2020 +0200

    implemented counting semaph for linux

commit 56498e5bc1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 00:50:44 2020 +0200

    linux bin semaph unlocked

commit 8676fcd9a9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 29 00:47:54 2020 +0200

    yay, linux bin semaph finished

commit 60872f936c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 23:43:40 2020 +0200

    some output improvements

commit 08ffe89682
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 23:41:59 2020 +0200

    doc and api improvements

commit 7ce505fdf9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 23:29:06 2020 +0200

    some safety updates and fixes

commit 63dbf99592
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 22:12:52 2020 +0200

    counting semaph implementation finished

commit 95bf5c1071
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 21:33:34 2020 +0200

    improved const correctness

commit c4e60946d3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 21:30:20 2020 +0200

    improved bin semaph implementation

commit 88e3dc15b2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 21:27:31 2020 +0200

    replaced old semaph api

commit 7145982b4a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 19:59:59 2020 +0200

    improved documentation

commit eabee85ba9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 19:56:02 2020 +0200

    tweaked factory to have configurability

commit b4065c7764
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 19:46:56 2020 +0200

    seperation of semaph implementations finished

commit 8a1e0dab03
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 19:03:46 2020 +0200

    continued with task notifications

commit 2d33274c23
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 17:42:18 2020 +0200

    implementing new task notifications

commit 968d7fad81
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 17:07:35 2020 +0200

    replaced some timeout values

commit 66b75802b2
Merge: 9b5095e5 5b521e03
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 12:58:17 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit 5b521e039b
Merge: badcacad 18d19fbb
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 12:40:01 2020 +0200

    Merge branch 'mueller_fw_loc_globpool_distinction' into mueller_framework

commit 9b5095e5b8
Merge: a926312b badcacad
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 12:28:43 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit badcacad49
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 11:48:11 2020 +0200

    added new timeout values

commit f6ae0348cb
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 11:41:36 2020 +0200

    some linux mutex tweaks

commit be4ac0bc8f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 27 00:28:13 2020 +0200

    added semaph factory to linux

commit f7dd91891a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 26 16:05:03 2020 +0200

    removed comments

commit 1a623a6a52
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 26 11:05:49 2020 +0200

    added override

commit a19fa231f5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 26 01:21:48 2020 +0200

    comment improvements

commit 9f2d5b64e0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 26 01:03:26 2020 +0200

    comment improvements

commit a926312b25
Merge: 8ddccfe3 242ca355
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 26 00:08:00 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit 242ca355f5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 26 00:01:07 2020 +0200

    removed swappers for arraylist for now

commit 8ddccfe3bd
Merge: 219d85d7 3fd30635
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 25 23:54:39 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit 3fd306356a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 25 23:43:44 2020 +0200

    fix for dh returnvalues

commit 243ea9cd87
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 25 23:38:51 2020 +0200

    improved dhb IF returnvalues

commit eacda67f02
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 25 23:36:03 2020 +0200

    added some comments for returnvalues

commit 18d19fbb2c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 25 23:12:25 2020 +0200

    < removed

commit a37f01cd0e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 25 23:11:56 2020 +0200

    improved readability of mode explanations

commit 96462ba8dc
Merge: f6ec65d3 7a0cbfb2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 25 22:29:33 2020 +0200

    Merge branch 'mueller_framework' into mueller_fw_loc_globpool_distinction

commit 7a0cbfb2f5
Merge: d6af9da5 cb14ec15
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 25 22:21:13 2020 +0200

    Merge remote-tracking branch 'upstram/master' into mueller_framework

commit 219d85d700
Merge: 723e7150 5e91363d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 25 15:59:17 2020 +0200

    Merge remote-tracking branch 'upstram/master' into front_branch

commit d6af9da566
Merge: 723e7150 5e91363d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 25 15:58:57 2020 +0200

    Merge remote-tracking branch 'upstram/master' into mueller_framework

commit f6ec65d35d
Merge: 8eb13ec6 5e91363d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 25 14:49:22 2020 +0200

    Merge remote-tracking branch 'upstram/master' into mueller_fw_loc_globpool_distinction

commit 8eb13ec627
Merge: 2f16b1e7 723e7150
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 25 14:02:43 2020 +0200

    Merge branch 'mueller_framework' into mueller_fw_loc_globpool_distinction

commit 723e715022
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 25 14:01:35 2020 +0200

    consistency fix

commit 2f16b1e733
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 25 13:48:43 2020 +0200

    moved some files

commit d4abfacd27
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 22 01:15:02 2020 +0200

    found solution for circ dependency

    had to put store_address_t in own file though

commit d2d1ef9a85
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 22 00:58:30 2020 +0200

    better include guards

commit aea18c423e
Merge: 7c48274c f6b17d6e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu May 21 17:01:29 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit f6b17d6e2e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 20 12:50:56 2020 +0200

    deleted copyctor and copy assignment

commit 338651af2f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 19 23:07:28 2020 +0200

    binary printer added

commit 9b53e2b64f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 19 22:45:48 2020 +0200

    added informative comment for counting semaphore

commit 7afaa752f3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 19 20:25:54 2020 +0200

    form improvement

commit 1aef000eff
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 19 20:24:58 2020 +0200

    printer improvements and fixes

    tc packet stored getter function

commit e2418d61a6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 19 19:53:10 2020 +0200

    improved printer

commit f612b095c1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 19 19:39:19 2020 +0200

    updated tmtc packet base

commit 2790a40d6c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 19 18:55:13 2020 +0200

    some renamings

commit 3c7e2c7cff
Merge: b12bace3 066930b1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 18 20:46:50 2020 +0200

    Merge branch 'mueller_BinSempahInterface' into mueller_framework

commit 066930b110
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 18 20:39:48 2020 +0200

    improvements

commit 7227c3a866
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 18 20:35:13 2020 +0200

    implemented semaph factory

commit 067cd95731
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 18 19:42:45 2020 +0200

    removed file header

commit b1d9d55f50
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 18 19:42:05 2020 +0200

    improved documentation

commit 4dd6594845
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 18 19:38:02 2020 +0200

    integrated interface into bin semaphore

commit 9ba21b1e28
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 18 19:30:50 2020 +0200

    semaphore if continued

commit 87bf843bef
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 18 19:19:50 2020 +0200

    binary semaphore IF init

commit 45b0193ef3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 18 18:06:40 2020 +0200

    bin semaph todo

commit b237287315
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 18 17:48:16 2020 +0200

    bin semaph sif replacements

commit ec8538b442
Merge: 41c0ca6c fc4199c3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 18 17:46:04 2020 +0200

    Merge branch 'mueller_binSemaph' into mueller_FreeRTOS_improvements

commit 41c0ca6c52
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 18 17:39:10 2020 +0200

    added doc for switchSystemContext

commit f8614e23a8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 18 17:38:19 2020 +0200

    deleted copy ans assignment ctor

commit d1500a7868
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 18 17:31:05 2020 +0200

    mq doc improvements

commit 1d4d01d190
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 18 17:22:10 2020 +0200

    Added ISR calls for MQ and task mgmt

    The task management defines an external function which
    implements a context switch call from an ISR

commit b12bace385
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 18 16:40:11 2020 +0200

    changed order of input arguments (relevance)

    default argument for ACK

commit 7e04c055b3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 18 16:13:46 2020 +0200

    tc packet stored formatting

commit 355bc2b905
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 18 15:42:47 2020 +0200

    improvements

commit 767850e125
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 17 23:58:57 2020 +0200

    deleted poolvector

commit d1b315c7df
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 17 23:54:56 2020 +0200

    pool raw access adaptions

commit 1d28e1398e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 17 23:41:28 2020 +0200

    DataSetBase class finished

commit 71f1722b88
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 17 22:20:54 2020 +0200

    removed old poolVar file

commit 9da0b0b2b2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 17 22:16:25 2020 +0200

    glob pool vec implementation in tpp file

commit 8b1fef730d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 17 18:02:58 2020 +0200

    resolved conflict

commit 234fd8e300
Merge: e9a4056d 0467b6a1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 17 18:00:51 2020 +0200

    Merge branch 'mueller_framework' into mueller_fw_loc_globpool_distinction

commit 0467b6a1bf
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 17 17:53:18 2020 +0200

    slight DHB improvements

commit 7c48274c9b
Merge: ebcc4742 9597a012
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 17 17:27:04 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit 9597a0121b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 17 15:49:46 2020 +0200

    DHB update

commit da972e1b58
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 17 15:41:42 2020 +0200

    DHB improvements

commit e9a4056deb
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 17 15:19:24 2020 +0200

    added DHB cookie init

    (why was that never a problem beofre????) ¯\_(ツ)_/¯

commit 9056ad36ed
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 17 14:13:31 2020 +0200

    object manager better output

commit 5b8a6e35dc
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 17 13:37:50 2020 +0200

    renaming complete, pool in namespace

commit cbfa21d45a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 17 01:17:11 2020 +0200

    merging renaming into main branch

commit b673e13892
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat May 16 20:58:48 2020 +0200

    some refactoring

commit 7d57988979
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat May 16 13:09:50 2020 +0200

    added deadline check

commit 20900227f8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 15 22:53:01 2020 +0200

    periodic posix task ctor format

commit ebcc4742a9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 15 21:14:21 2020 +0200

    removed conflict markers

commit abdf04ce79
Merge: d44a06fa 0e243841
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 15 21:10:56 2020 +0200

    Merge branch 'mueller_framework' into front_branch

commit 0e2438416d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 15 20:00:43 2020 +0200

    added comment

commit 5b41f2a6bd
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 15 19:58:58 2020 +0200

    optimization

commit c77ec9e7fc
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 15 19:56:54 2020 +0200

    uint16_t correction

commit 3f71babfa9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 15 19:50:51 2020 +0200

    app data len uint16_t, full length size_t

commit 24bfbfbd33
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 15 18:56:06 2020 +0200

    removed StorageAccessoremoved StorageAccessorr

commit 80cee27429
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 15 18:53:54 2020 +0200

    printer fixes

commit d48fe8fb09
Merge: 6e1bb16d 1b093d96
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 15 18:51:58 2020 +0200

    Merge branch 'mueller_globalPrinter' into mueller_framework

commit 6e1bb16d4e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 15 18:46:58 2020 +0200

    printers continued,

    possible  bugfix in tc packet base

commit 237dd4a256
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 15 18:23:57 2020 +0200

    added additonal functions for tc packet base

commit 5ac32b14f0
Merge: 684da2b8 effac0e9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 15 18:23:45 2020 +0200

    Merge branch 'mueller_globalPrinter' into mueller_framework

commit 684da2b8d5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 15 15:30:29 2020 +0200

    set application data function added

commit 69237bc2e8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu May 14 21:26:04 2020 +0200

    freertos includes adapted

commit 49fa2fe32c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu May 14 16:12:01 2020 +0200

    changed void* cast to QueueHandle_t cast

commit 50a1b5170a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 13 18:03:09 2020 +0200

    formatting

commit 19e51575cf
Merge: 3122f62b 0e56a094
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 13 12:53:25 2020 +0200

    Merge remote-tracking branch 'origin/meier_framework' into mueller_framework

commit 3122f62b0a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 12 19:02:59 2020 +0200

    bugfixes for write() call

commit 291710f257
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 12 17:57:37 2020 +0200

    new ctor and bugfixes

commit d873fcbf8e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 12 16:47:47 2020 +0200

    added documentation for storage manager IF

commit 6c70abfe16
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 12 16:32:01 2020 +0200

    moved pool accessor fuctions to local pool

commit 5af0c15dfc
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 12 14:12:39 2020 +0200

    simplified storage accessor

commit 1946af64af
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 12 14:11:00 2020 +0200

    storage accessor mutex lock removed

commit e5c46c5ec1
Merge: 43d3ca7e 77565c74
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 11 19:25:45 2020 +0200

    Merge branch 'mueller_FixedSequenceImprovements' into mueller_framework

commit 43d3ca7e37
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 10 21:56:21 2020 +0200

    memory message: no retval

    CSB: retval

commit d44a06fafc
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 10 12:48:22 2020 +0200

    removed cfg include

commit 2f58c3a305
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 10 00:14:00 2020 +0200

    commented out storage accessor

commit 0f286461d0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat May 9 18:10:26 2020 +0200

    added new storage raw accessor

commit d35a6e6c14
Merge: c05b9cbd 6dc05e49
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 8 18:41:07 2020 +0200

    Merge remote-tracking branch 'upstream/master' into front_branch

commit 9489b7abc1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu May 7 19:23:56 2020 +0200

    modifyData override deleted

    is not really thread-safe anyway

commit fe9aa46cf8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu May 7 12:22:17 2020 +0200

    removed system object list include.

    makes it difficult for multiple configurations, because the wrong header
    might be included

commit b016f2995a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 6 16:34:43 2020 +0200

    added default vlaue for init function

commit e950051b4a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 6 14:35:30 2020 +0200

    some object managerIF security measures

    objectmanager get function checks whether global object manager was
    initialized now.
    New returnvalues, which are also used for local pool init

commit 6b205e166b
Merge: cc0469fe 77c21fc2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed May 6 13:54:18 2020 +0200

    Merge branch 'master' into mueller_framework

commit cc0469fef6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 5 20:09:42 2020 +0200

    return failed insteead of exiting

commit f09836a9eb
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 5 19:30:03 2020 +0200

    removed exit for empty psremoved exit for empty pstt

commit 4695e87cdc
Merge: 160a0979 df9e6683
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 5 19:08:46 2020 +0200

    Merge branch 'mueller_fifo_enhancement' into mueller_framework

commit 160a09790e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 5 18:53:25 2020 +0200

    removed c omment for now

commit bc17b5a907
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 5 18:43:28 2020 +0200

    resolved conflict

commit ad31a1b97d
Merge: 399e6b3a f1a0bb9d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 5 18:41:40 2020 +0200

    Merge branch 'luz_FixedTimeslotTask_ExistenceCheck' into mueller_framework

commit 399e6b3a09
Merge: 6817aa4d c05b9cbd
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 5 15:07:47 2020 +0200

    Merge branch 'front_branch' into mueller_framework

commit c05b9cbd01
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 5 14:07:27 2020 +0200

    reverted ResultIF. for now, keep using HasReturnvaluesIF

commit 1825924b7b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue May 5 10:16:16 2020 +0200

    abbreviation for resultIF

commit 6817aa4d03
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 4 16:57:08 2020 +0200

    pool manager refactoring

commit b947253ac3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 4 16:49:15 2020 +0200

    local pool neat

commit 4b65d6e847
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon May 4 12:33:57 2020 +0200

    local pool bugfix

commit 3e4263f068
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 3 12:27:18 2020 +0200

    freeRTOS task factory fix

commit 35594d4b71
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun May 3 00:48:18 2020 +0200

    goofed up, delay function back in task factory

commit 281da25bf9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 1 16:47:53 2020 +0200

    extended task management for freeRTOS

commit 15c03863c0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri May 1 14:49:52 2020 +0200

    additional docmentation for freeRTOS task factory

commit 03333c2af0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 30 21:37:02 2020 +0200

    pool raw acces printout

commit 431709a3ec
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 30 15:42:33 2020 +0200

    pool raw acces helper bugfix

commit e1aa285b6d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 29 13:46:30 2020 +0200

    linux osal output in namespace

commit 7ec6d2ceaa
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Apr 28 18:58:55 2020 +0200

    remove dspecial character messing with decoding

commit ecf3b4b535
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 23 22:05:12 2020 +0200

    stopwatch warning fix

commit a5d2cbd7db
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 23 21:59:24 2020 +0200

    some more sif replacements

commit 0ea692a5ea
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 23 20:04:48 2020 +0200

    some more sif changes

commit 01195093e3
Merge: 1415cd23 2c6b4465
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 23 19:21:12 2020 +0200

    Merge branch 'mueller_sifRenaming_soooMany' into mueller_framework

commit fc4199c3b1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 23 18:13:14 2020 +0200

    architecture dependant call delcared external

commit 328737d0ad
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 23 18:12:02 2020 +0200

    newer non-deprecated semaphore call used

commit 1415cd2339
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 23 17:54:41 2020 +0200

    using newer bin semaph create call.

    architecture dependant function call is external now and shall
    be implemented by developer

commit 44d4678089
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 23 14:06:48 2020 +0200

    fifo features and stopwatch enhancement

commit ee2ee745c7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 23 12:47:59 2020 +0200

    fifo renamed

commit d546317e6a
Merge: 40d952a3 3a3960ed
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 23 10:33:19 2020 +0200

    Merge branch 'mueller_TmTcBridge_cherryPicked' into mueller_framework

commit 40d952a349
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 23 10:24:34 2020 +0200

    minor form changes

commit e40c9f42c6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 23 10:22:25 2020 +0200

    info output commented out

commit c075e1bf23
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 23 10:20:19 2020 +0200

    adapting tmtc bridge

commit db535e25f2
Merge: 2c2ccf8a d0ce075e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 23 10:03:15 2020 +0200

    Merge branch 'mueller_TmTcBridge_cherryPicked' into mueller_framework

commit 2c2ccf8a8d
Merge: 9f7f8073 50265170
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 22 23:49:10 2020 +0200

    Merge branch 'mueller_TmTcBridge_cherryPicked' into mueller_framework

commit 0e6f8d3f82
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 22 19:53:06 2020 +0200

    comment adapted

commit 1b5127dc85
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 22 19:50:07 2020 +0200

    added task management implementation

commit 6eda5a0838
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 22 19:46:49 2020 +0200

    task management header added

commit e26f0d54b2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 22 19:44:03 2020 +0200

    binary semaphore init

commit 9f7f8073f1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 22 19:42:42 2020 +0200

    freertos includes in extern "C"

commit fb9a5678fc
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 22 10:24:00 2020 +0200

    removed comment belonging in egit

commit 4e76b8133e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 22 01:08:36 2020 +0200

    uninitialized variable

commit 326e5cf5fe
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 22 01:01:32 2020 +0200

    initialized uninitialized variables

commit 6553450b4b
Author: Uli <uli@vnks.de>
Date:   Tue Apr 21 22:28:43 2020 +0200

    Actually, not that horrible, thanks to sed

commit a42832ca01
Author: Uli <uli@vnks.de>
Date:   Tue Apr 21 21:34:03 2020 +0200

    working on updating SerializeIF, to quote Basti: This is going to be horrible

commit 7e3af7cf83
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Apr 19 21:36:10 2020 +0200

    replaced slotLengthMs with lengthMs

commit 36715e3f4c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Apr 19 12:06:28 2020 +0200

    test folder moved to separate test folder

    for fsfw for now

commit e77ca55b1d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Apr 18 17:12:26 2020 +0200

    serial fixed array list adapter doc fix

commit a7d3b4c4a0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Apr 18 15:05:51 2020 +0200

    added std:: before uint32_t typedef

commit 9580f51c30
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Apr 18 14:16:46 2020 +0200

    removed self-inclusion

commit e34a438e77
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Apr 18 13:38:05 2020 +0200

    using size_t

commit 4d8aca8417
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Apr 18 13:32:40 2020 +0200

    message queue adaptation for ISRs

commit a405357578
Merge: ea1d55b0 05c1330b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Apr 18 13:30:22 2020 +0200

    Merge remote-tracking branch 'upstream/master'
    into mueller_framework

commit ea1d55b033
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Apr 18 13:16:00 2020 +0200

    null replaced by nullptr.

    storeID initialization added, all nullptr/0 initializations in header

commit 5595b0f3ce
Merge: eb362dca f45a8cc1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 16 17:02:10 2020 +0200

    Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework

commit eb362dcad2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 16 17:02:04 2020 +0200

    some comment line break

commit f45a8cc171
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 16 13:17:26 2020 +0200

    fixed slot sequence safety check added

commit 21650b064d
Merge: 5582ca27 33b834ad
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 16 13:01:17 2020 +0200

    Merge branch 'mueller_framework'

commit 33b834ad91
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 16 10:43:50 2020 +0200

    null replaced by nullptr

commit 7c360be1e0
Merge: bd0b9cb8 9284fe81
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 16 09:30:26 2020 +0200

    Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework

commit bd0b9cb877
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 16 09:30:02 2020 +0200

    catch example informative comment

commit fc08754b98
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 15 23:28:45 2020 +0200

    some doc unclarities comment added

commit 9284fe81da
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 15 20:53:03 2020 +0200

    added override specifiers, some doc fixes

commit 906f941f32
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 15 15:53:46 2020 +0200

    ssize_t in deSerialize replaced by size_t

commit af27a2441a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Apr 14 16:19:13 2020 +0200

    added catch framework for basic testing

commit c5e5de1530
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Apr 14 12:24:26 2020 +0200

    deleted example values

commit 2cc4386b4c
Merge: b48a0a4a 03b0ae7b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Apr 14 11:18:24 2020 +0200

    Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework

commit 03b0ae7b68
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Apr 14 11:16:51 2020 +0200

    unit test fixes

commit b48a0a4a4c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Apr 13 22:45:23 2020 +0200

    unit test class continued. serialize adapter

    functions which are internal, extracted to separate class

commit fe45c7eb8b
Merge: 0d016e5a a0ee0109
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Apr 13 16:38:29 2020 +0200

    Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework

commit 0d016e5a2b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Apr 13 16:37:25 2020 +0200

    slight formatting

commit a0ee010926
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Apr 13 16:27:05 2020 +0200

    Added test folder.

commit eb2df3d88c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Apr 12 23:06:57 2020 +0200

    Using C++ to implement preamble. adding optional flag for carriage return

commit 69e9710bf1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Apr 10 17:06:06 2020 +0200

    added intial carriage return im preamble

commit 841b28b65d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 9 18:02:10 2020 +0200

    stopwatch ms now working

commit 8a8761ea88
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Apr 9 17:56:48 2020 +0200

    stopwatch bugfix

commit 5582ca278b
Merge: 94137896 640cc1dd
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 8 19:44:21 2020 +0200

    Merge branch 'mueller_framework'

commit 94137896cc
Merge: 35eff6df 2a72e94d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 8 19:44:10 2020 +0200

    Merge branch 'mueller_stopwatch'

commit 35eff6dfba
Merge: 826e2bdb c88c6c2a
Author: Robin Müller <robin.mueller.m@gmail.com>
Date:   Wed Apr 8 19:35:26 2020 +0200

    Merge branch 'ksat_master' of KSat/fsfw into master

commit 640cc1ddec
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 8 19:30:39 2020 +0200

    some more bugfixes

commit 5b0f80509f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 8 19:24:24 2020 +0200

    usec replaced by seconds

commit da9bb97b23
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 8 19:05:21 2020 +0200

    added precision for double output

commit 3dbf353385
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 8 18:33:38 2020 +0200

    some more refactoring for stopwatch

commit 3af241b9c4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 8 18:27:18 2020 +0200

    stopwatch more lightweight now

commit e0e1e64a09
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 8 18:08:14 2020 +0200

    various changes, stopwatch

    Semaphore: Some bugfixes, some constructors added
    Stopwatch: First implementation, can measure in ms(double) and
    ms(normal)

commit 30ed08005f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Apr 7 22:16:43 2020 +0200

    reverted some naming changes

commit c88c6c2a45
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Apr 6 19:51:45 2020 +0200

    binary semaphore info printout added

commit aaabbe8aef
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Apr 6 13:59:57 2020 +0200

    DHB fix

commit 78aad91aab
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Apr 6 12:38:39 2020 +0200

    PSB subservice passed to handleRequest

commit 3654c7bf81
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Apr 6 11:15:44 2020 +0200

    some form stuff

commit e791f44c41
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Apr 5 23:03:32 2020 +0200

    copy ctor and assgnment op forbidden

    for serial linked lists

commit 42838272a5
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Apr 5 22:42:48 2020 +0200

    replaced int32_t size by ssize_t (type trait trick)

commit 87852e5f2a
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Apr 5 21:54:11 2020 +0200

    replaced getSerializedSize returnvalue with size_t

commit 7079c9c56d
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Apr 5 17:58:39 2020 +0200

    replaced serializeIF serialize sizes with size_t

commit 06ae64d59c
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Apr 5 15:46:10 2020 +0200

    CSB: replaced some uint32 with size_t

commit a65a19f583
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Apr 5 15:33:24 2020 +0200

    deletd serial buffer adapter2

commit 4a35035b28
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Apr 5 15:30:31 2020 +0200

    serial buffer adapted improvements

commit 80b1d28bc8
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Apr 5 00:23:29 2020 +0200

    new dvice com IF return value

commit bd468a1b74
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 1 17:19:03 2020 +0200

    timeslot time 0 definitely leads to error

commit 335df7787a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 1 17:15:27 2020 +0200

    testing timeslot task 0

commit 8f39820ace
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 1 17:05:55 2020 +0200

    doc formatting

commit 996dbc9e4b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Apr 1 12:41:54 2020 +0200

    DHB/Cookie refactoring

commit 5218a0d84f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Mar 28 19:42:24 2020 +0100

    doc fix

commit 93678adc5a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Mar 28 00:09:15 2020 +0100

    replace std::set by std::multiset

    so there can be multiple entries with same pollignTime

commit 5d071a1cf1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Mar 26 19:53:05 2020 +0100

    new device comIF return value in DHB

    request receive message

commit 0e56a094d3
Author: jakob.meier <jakob.meier@outlook.de>
Date:   Thu Mar 26 19:43:38 2020 +0100

    merged FwMessageTypes

commit e252a5b795
Author: jakob.meier <jakob.meier@outlook.de>
Date:   Thu Mar 26 19:20:16 2020 +0100

    file system support

commit 093fef5d6f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Mar 26 15:20:17 2020 +0100

    moved address_t typedef to cookieImoved address_t typedef to cookieIFF

commit 163779622f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Mar 25 02:08:35 2020 +0100

    DHB: replyLen in replyMap now

commit b2b6b8ee23
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Mar 24 15:33:18 2020 +0100

    added initializeInterface for comIF/cookie

commit ea49d88c4b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Mar 24 14:21:57 2020 +0100

    moved all return values to DH IF

commit 7e8d92f956
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Mar 24 00:22:17 2020 +0100

    replaced std::list by std::set for fixedSlotSequen

commit f7b7e10d05
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Mar 23 19:14:36 2020 +0100

    date format changed

commit b6bf9d7147
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Mar 23 19:09:42 2020 +0100

    to avoid dynamic casting, introuced CookieIF

commit f7bd661e69
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Mar 23 18:08:24 2020 +0100

    small fixes

commit fa058ee602
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Mar 23 18:05:39 2020 +0100

    renamed rmap to com (more generic)

commit d3e2652078
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Mar 23 17:58:23 2020 +0100

    replaced DHB sizes by size_t, rework

    Cookie now passed to DHB, rework in progress

commit c50d9d90d6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Mar 23 13:14:23 2020 +0100

    replaced std::variant by two uint32 parameters

commit af6d18d60b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Mar 20 22:47:07 2020 +0100

    added additional parameter form open/reopen call

commit 52c05e2f3d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Mar 19 12:44:24 2020 +0100

    minor formatting for pull request

commit b7e3449b04
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Mar 19 12:38:11 2020 +0100

    some more doc for containers

commit a3903f80fb
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Mar 19 00:49:47 2020 +0100

    typedef address_t moved to deviceComIF

commit b5fe1fa530
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Mar 9 22:15:52 2020 +0100

    dhb virtual function moved to top

commit 6579200f55
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Mar 6 19:01:31 2020 +0100

    removed counter, will be implemented in childclass

commit 68cda479d6
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Mar 6 18:48:48 2020 +0100

    DHB: performOperation Hook + polling counter

    polling counter to specify how often communication opertions are
    performed, however this still needs to be changed..

commit 22e4dabd1b
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Mar 6 15:39:42 2020 +0100

    BinSemaphore reset function added

commit 43ac0ec04b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Mar 4 23:07:54 2020 +0100

    Communication Message continued

commit fb6172fdc5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Mar 4 00:37:58 2020 +0100

    communication message continued.

    Some fixed timeslot task improvements

commit dd4a5a45e3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Mar 3 21:20:08 2020 +0100

    communication message extended

commit 72963f5855
Merge: d0e8eb38 238892bd
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Mar 3 00:07:48 2020 +0100

    Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework

commit d0e8eb386c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Mar 2 01:00:17 2020 +0100

    renamed system context to call context

    to avoid conflicts with ISIS library, I don't want to fiddle with
    it if we don't have source code

commit 238892bd66
Merge: 6d6c78b2 fa38a376
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sat Feb 29 01:22:41 2020 +0100

    Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework

commit 6d6c78b255
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sat Feb 29 01:21:36 2020 +0100

    task management doc

commit fa38a37604
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Feb 28 22:55:25 2020 +0100

    all context switches calls to TaskManagement.h now

commit c93ee5c6cd
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Feb 27 19:00:51 2020 +0100

    message queue IF return values

commit abccd81fdf
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Feb 26 16:55:35 2020 +0100

    new file for freeRTOS task management functions

commit 083cc7c50a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Feb 25 17:04:21 2020 +0100

    sempahore wrapper extended

commit 685c18dc4e
Merge: 7a426ace bfc7a768
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Feb 25 12:55:20 2020 +0100

    Merge branch 'ksat_master' into mueller_framework

commit bfc7a768ce
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Feb 25 12:54:28 2020 +0100

    message queue adaptions for calls from ISR

    functions moved to top
    binary sempahore file init
    mutex return values

commit 7a426acece
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Feb 21 16:08:43 2020 +0100

    therm sensor doc correction

commit 54eeb71f02
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Feb 17 21:20:51 2020 +0100

    bugfix: added implementation

commit 6ab07aeb19
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Feb 16 21:04:17 2020 +0100

    valid mask bugfixes

commit 1001c1d48b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Feb 16 17:21:06 2020 +0100

    added new IF for thermal messages

commit 99b90e625d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Feb 16 16:14:29 2020 +0100

    refactored: limit type specified separately

commit ddae9ee80f
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Feb 16 14:59:45 2020 +0100

    adapted temp sensor to use °C limits, doc added

commit d8ed5bb1c1
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sat Feb 15 18:55:22 2020 +0100

    some comments for missing doc

commit e15839b3a6
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sat Feb 15 18:26:25 2020 +0100

    Thermal: Some formatting stuff, doc to do

    Need to find out how to use the thermal components

commit a7964c7200
Merge: b3faf1e4 413d6593
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sat Feb 15 15:34:53 2020 +0100

    Merge branch 'luz_FixedTimeslotTask_ExistenceCheck' into mueller_framework

commit b3faf1e4ad
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 31 23:42:11 2020 +0100

    old timestring used

commit 5190e4c16e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 31 00:54:34 2020 +0100

    Serial Buffer dapter changes reverted

    CCSDS time bugfixes in separate section (for C98)
    Serial buffer adapter 2 bugfixes

commit 09144b18c4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 29 01:03:20 2020 +0100

    ccsds time changes changed

commit 7dd4694d9d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 28 23:19:19 2020 +0100

    CCSDS time extra defined for avr lib

commit 8f17d5147e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 27 00:43:01 2020 +0100

    SerialFixedArrayList constructor bugfix

commit 85048cc9ee
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 26 22:13:56 2020 +0100

    Pool Raw Access change bugfix

commit d9fa13b6eb
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 26 18:31:17 2020 +0100

    ADDED old pool entry constructor

commit 6eedb3f097
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jan 23 15:45:21 2020 +0100

    New Pool List Initializer.

    Needs testing !!!

commit d330958abb
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 22 14:27:11 2020 +0100

    Array List endian swapper protected now

commit 1977942c4b
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 22 14:24:48 2020 +0100

    Array List Entry swapper function

    And respective SerialAdapter functions to use it

commit 3d2bdae14d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 20 23:29:36 2020 +0100

    CSB abstract functions moved to top

    So documentation of functions to implement is closer to the top

commit dba26baee6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 20 23:00:23 2020 +0100

    Restructured header file

    Abstract functions are closer to the top
    because they must be implemented and documentation
    should be near the top.
    Important virtual functions moved up too.
    Additional documentation added

commit 424c82ce16
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jan 18 23:07:43 2020 +0100

    Extracted one logic block

    To increase readability

commit 5cb591a063
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jan 18 18:01:37 2020 +0100

    Array List swapper for SerialFixedArrayList

commit 6fe0f45c27
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jan 18 16:48:33 2020 +0100

    SerialBufferAdapter new setBuffer function

    Serial Fixed Array List Adapter documentation adapted
    SinglyLinkedList setEnd() function added

commit c9e4c73bd2
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jan 18 15:03:22 2020 +0100

    Local pool public members/functions moved to top

commit 1f4391f56e
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 17 21:11:39 2020 +0100

    Endian Swapper buffer swapper changes reverted

commit 1d1bb88a6f
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jan 16 19:07:53 2020 +0100

    Merge request check

commit 9bdbc2c380
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jan 16 18:46:29 2020 +0100

    Endian swapper changes, Serial buffer adapter

    New Serial Buffer Adapter with complete template class for buffer type.
    Endian Swapper input now standard uint8_t * pointers instead of template
    type. Fixed Array List new ctor, but commented out for now

commit 1437f33027
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 15 17:30:23 2020 +0100

    Serial Fixed Array List template type clarifications

commit 9aa57f29b8
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 15 13:52:18 2020 +0100

    basic documentation thermal

commit 9ec0b80497
Merge: f16cce8b b0d88129
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 15 13:32:41 2020 +0100

    Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework

commit f16cce8be1
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 15 13:32:21 2020 +0100

    Basic doc for thermal modules started

commit b0d88129db
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 14 01:39:47 2020 +0100

    Pool Raw Access Helper bugfix

    debug output commented

commit c747952336
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Jan 14 00:49:09 2020 +0100

    fixed map full() function added.

    Pool raw access debugging

commit 01551b8fa5
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 13 01:21:53 2020 +0100

    Getter function in SerialBufferAdapter

    For const uint8_t *

commit 1369e792b4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Jan 13 00:14:14 2020 +0100

    CommandingServiceBase documentation

commit d2325e60b6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 12 15:51:59 2020 +0100

    Import bugfix in MessageQueue.cpp

    lastPartner is only assigned if receiveMessage is successful

commit a8247eb2f0
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 12 14:18:12 2020 +0100

    Some more debugging output switched on

commit 0ce67de8c8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 10 00:57:09 2020 +0100

    Changes to pool access classes

    1. PoolRawAccessHelper is more robust now and has better error handling
    2. PoolRawAccess: Removed an unneeded constructor value, moved serialize
    further to the top. Added new returnvalues and more precise error
    handling for read() call
    3. DataSet: Made MAX Number of data pool entries public so it can be
    used by pool raw access error handling

commit 59b25bee86
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jan 9 19:04:33 2020 +0100

    pool raw helper input buffer type changed to uint32_t

commit 0ddc44062d
Merge: a7450144 2ec486a8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jan 9 12:50:00 2020 +0100

    Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework

commit 2ec486a880
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Jan 5 18:20:57 2020 +0100

    max number of stored packets lowered

commit 827f185e20
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Jan 4 16:37:08 2020 +0100

    Some bugfixes(?) for PusServiceBase.
    Getter Function for Serial Buffer Adapter.

commit a7450144de
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Jan 3 15:39:32 2020 +0100

    doxygen group definitions moved to framework

commit 0a57103339
Merge: f6e88e83 e2f07cbc
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jan 2 21:12:42 2020 +0100

    Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework

commit f6e88e83db
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jan 2 21:12:21 2020 +0100

    debug output change

commit e2f07cbcd1
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Jan 2 14:01:21 2020 +0100

    connect and disconnect functions public

commit 831a01e79e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 1 17:31:17 2020 +0100

    recvBuffer and recvSize initialized

commit c73cb90c36
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Jan 1 16:54:05 2020 +0100

    receiveTc function adapted

commit a762c159fe
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 30 01:13:33 2019 +0100

    pool raw access helper info output commented out

commit 2425685e44
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Dec 29 01:59:02 2019 +0100

    Pool Raw Access Helper serialization of vectors implemented

commit 666341d03d
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Fri Dec 27 22:43:09 2019 +0100

    new bool datatype for possible pool entries

commit 79e7fee807
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Dec 26 22:15:19 2019 +0100

    comment deleted

commit a38a2f4b3a
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Dec 26 22:07:17 2019 +0100

    tmtc bridge bugfix: tm data deleted when overwriting old data

commit 33a7c033a2
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Dec 26 20:38:15 2019 +0100

    doc extended, instructions for sendTm and receiveTc

commit 19e257a90a
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Dec 26 20:35:11 2019 +0100

    tmtc bridge debug output corrected

commit 8397f5b2b1
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Dec 26 20:17:21 2019 +0100

    tmtc bridge bugfix

commit 0066a6b788
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Dec 26 19:47:46 2019 +0100

    Generic TMTC Bridge added

commit 29b4480fc4
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Dec 26 18:55:31 2019 +0100

    include adapted

commit e24f9b89e4
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Thu Dec 26 16:44:50 2019 +0100

    Pool Raw Access Helper tested, appesrs to work. SerializeAdapter doc
    changes, tm packet stored debug output if not enough
    storage available

commit 1f1831c4a1
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 24 22:15:39 2019 +0100

    pool raw access init

commit f6b9b23287
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 24 01:41:04 2019 +0100

    pool raw access init

commit 89f490ac36
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Dec 20 23:09:35 2019 +0100

    assembly constructor formatting

commit d17146d847
Author: Maximilian Luz <luzmaximilian@gmail.com>
Date:   Thu Dec 19 16:09:50 2019 +0100

    Check object existence before adding it to the PST

    Currently, adding new objects/components to the FixedSlotSequence PST is
    not being checked, meaning that it is possible to add NULL objects here
    without any warning. This causes NULL-pointer errors when non-existent
    components are added, which can be hard to debug.

    To solve this, add a check for the object existence before adding it to
    PST and emit an error message.

    Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>

commit fa6cbe7e0c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Dec 11 23:18:28 2019 +0100

    pool raw access changed reverted

commit 625f3dc79c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Dec 11 23:15:34 2019 +0100

    local pool modify data doc modifided

commit 9382eb03e6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Dec 11 22:50:08 2019 +0100

    function to serialize pool ID buffers into dataset created

commit 29a15e8154
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Dec 11 13:03:51 2019 +0100

    commented out functions which will propably not
    be needed and removed

commit 138cac98d1
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Wed Dec 11 01:57:36 2019 +0100

    experimenting with recursive constructor and dataset call

commit f7d8f0c161
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 10 23:26:48 2019 +0100

    Reverted changed  pool raw access commit

commit 6abb3cc525
Merge: f33949ba 356d1d35
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 10 14:54:32 2019 +0100

    Merge remote-tracking branch 'origin/feature_EndianSwapper_UINT32_BUFFER_PoolRawAccess_Modification_For_Vectors' into mueller_framework

commit f33949ba4b
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 10 14:54:17 2019 +0100

    doc adapted, merging

commit 356d1d35dc
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 10 13:29:16 2019 +0100

    experimenting with recursive constructor to enable
    automatic vector registering

commit e765f8c99b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Dec 9 12:27:14 2019 +0100

    pool raw access modified so vectors are properly serialized now
    Endian swapper can swap the entries of a uint16,uint32 buffers now.
    Some documentation for functions added. setter function for serial buffer
    adapter written but does not appear to compile, commented out

commit 8168885dd9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Dec 8 22:57:03 2019 +0100

    Serialization documentation update

commit 3159ccbc40
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Dec 8 22:26:42 2019 +0100

    fixed map and local pool doc

commit d99ed47150
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Sun Dec 8 19:04:53 2019 +0100

    fixed map bugfix (fist instead of first), new access functions for fixed maP
    (first(), second()), some documentation, raw pool access read() call public
    because call is necessary before using public serialize function.
    maybe integrate read() call into serialize function?

commit 950a48078c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Dec 5 12:21:06 2019 +0100

    some documentation, question about HasParametersIF,
    variable in ParameterHelper intialized (compiler warning)

commit 9c3a9323b7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Dec 3 19:30:37 2019 +0100

    some doc change proposals while
    writing hk service.
    Added Type.h in PoolRawAccess.h, compiler error
    when not doing that

commit 37a70df244
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Dec 1 17:48:05 2019 +0100

    SerialBufferAdapter can process uint32_t * buffers now

commit 10c24e39a3
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Nov 29 19:56:05 2019 +0100

    new returnvalue for scanForReply to ignore full packet

commit 2039aa5665
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 25 00:14:39 2019 +0100

    Service Interface Stream buffer size higher to print long buffers (like nav data)

commit 2f14fd5d4d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 11 22:45:53 2019 +0100

    Cant reach mode reason getter function added

commit 2b44e1c9c4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Nov 10 13:08:02 2019 +0100

    CCSDS sscanf function adapted for atmel stdio.c (see comments)

commit b8af3b5e3d
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Nov 9 18:15:45 2019 +0100

    debugInterface extended

commit 537e2ceb18
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Nov 9 13:29:12 2019 +0100

    Getter method for logicalAddress

commit ee765eafc7
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Nov 9 13:17:54 2019 +0100

    ioBoardAddress renamed to logicalAddress

commit 801bd4d7eb
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Nov 9 13:07:26 2019 +0100

    debug interface for dhb created.
    This is useful to track states or values
    in child handler. some documentation added.
    New doxygen group for interfaced added.

commit bf7bc342ff
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 5 19:30:02 2019 +0100

    Revert "documentation for DHB init function, ioBoard addres has default value 0 now, order in ctor changed (not used in source)"

    This reverts commit c6e34cada6.

commit af4e9db9e3
Merge: b594bc2a 8a93a873
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 5 19:25:27 2019 +0100

    Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework

commit b594bc2a97
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Nov 5 19:25:00 2019 +0100

    removed obsolete comment

commit 8a93a873a8
Merge: e7f7625a cb919ada
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 4 11:07:02 2019 +0100

    Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework

commit e7f7625adf
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 4 11:06:59 2019 +0100

    removed wrong include

commit cb919ada2a
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 4 01:55:40 2019 +0100

    assuming that a default value of 0 for expectedReplies is needed, I introduced a new variable into DeviceCommandInfo, which stores another number of replies expected. this value is assigned in enableReplyInReplyMap. That way, the initial value of 0 remains the same (if it was needed), and is only set to another desired value if a write was sent

commit 12f51575eb
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 4 00:53:05 2019 +0100

    removed a flag by accident, fixed now

commit 8eb1a5b13e
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Nov 4 00:47:46 2019 +0100

    proposal 1: expectedReplies parameter is set in insertInCommandAndReplyMap, default value stays one. overriding enableReplyInReplyMap is not necessary anymore.second proposal: the commander id is supplied in the interpretDeviceReply function, so we don't have to look for it in the DeviceCommandMap. was it removed at some point because it is listed in the documentation?

commit 46986f69e4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sat Nov 2 23:30:12 2019 +0100

    serialize tools more documentation

commit d47496db40
Merge: 16af33a7 3887cb8c
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Oct 29 19:31:20 2019 +0100

    Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework

commit 16af33a7bb
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Oct 29 19:31:18 2019 +0100

    doc for fifo, device com if..

commit 3887cb8ca1
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Oct 29 18:22:34 2019 +0100

    removed wrong include in dhb

commit 3f1d68542e
Merge: e8a16ac5 1ee445ce
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Oct 29 18:21:03 2019 +0100

    Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework

commit e8a16ac59c
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Oct 29 18:21:01 2019 +0100

    dummy com if sendMessage data const

commit 1ee445ce24
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Oct 29 11:17:07 2019 +0100

    fifo typo

commit b51536c772
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 28 12:48:41 2019 +0100

    CSB doc correction

commit d79f072851
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Oct 27 13:38:08 2019 +0100

    Additional documentation for DHB and CSB

commit 64f84d9d9f
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Sun Oct 27 03:21:38 2019 +0100

    doc for dhb, serializeIF and SerializeAdapter

commit 8f1517d276
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Oct 25 21:12:11 2019 +0200

    additional comments on endianness (I hope this is correct)

commit 1631e739b8
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 23 12:03:32 2019 +0200

    at91sam9g20 uses custom stdio.c, unsigned long cast in sprintf does not seem to work, casting (unsigned int) does, timestamp now visible in debug output

commit 07950b0c2b
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Wed Oct 23 00:31:45 2019 +0200

    documentation for object manager IF get function

commit cd1b26b04c
Merge: c6e34cad 4db655e4
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Oct 22 17:15:54 2019 +0200

    Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework

commit c6e34cada6
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Oct 22 17:15:29 2019 +0200

    documentation for DHB init function, ioBoard addres has default value 0 now, order in ctor changed (not used in source)

commit 4db655e489
Author: Robin Mueller <robin.mueller.m@gmail.com>
Date:   Tue Oct 22 14:01:17 2019 +0200

    task priority order comment

commit cbc8012198
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Tue Oct 22 00:06:11 2019 +0200

    ioBoardAddress protected instead of private to allow custom initialize

commit 907664cea9
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Mon Oct 21 11:38:13 2019 +0200

    added do performOperation where the comIF functions are called, some comments added in DeviceHandlerIF

commit 5e3b7c3625
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Fri Oct 18 13:37:09 2019 +0200

    explanation of cookie purpose added, device handler base indentation

commit 743d8abeaf
Author: Robin.Mueller <robin.mueller.m@gmail.com>
Date:   Thu Oct 17 00:23:46 2019 +0200

    first attempt to document and explain serialization tools for application developers
2021-01-13 11:53:34 +01:00
c52183f273 Merge branch 'mueller/cmake-update' into tmpbranch 2021-01-13 11:51:28 +01:00
c9913ea53a updated cmakelists 2021-01-13 11:47:04 +01:00
27e5254ecd include fixes 2021-01-13 11:45:47 +01:00
482f240995 doc update 2021-01-13 11:39:19 +01:00
eb5c56664f relative include 2021-01-12 21:03:09 +01:00
af7e9194e5 more consistency renamings 2021-01-12 21:01:55 +01:00
634a8f3469 renamed to pool manager for consistency 2021-01-12 20:59:15 +01:00
0b08ac1004 updated template config files 2021-01-12 20:56:53 +01:00
b637f03389 updated defaultconfig 2021-01-12 20:54:52 +01:00
59b4f50c1c added FSFW verbose level 2021-01-12 20:53:30 +01:00
f9a8c3d35a updated .mk support 2021-01-12 20:46:54 +01:00
b3e2e93f52 cleaned up a bit 2021-01-12 20:46:34 +01:00
20bf7b6fc4 fixed annoying bug 2021-01-12 20:33:53 +01:00
fa636fded5 source files for attorney 2021-01-12 20:15:15 +01:00
0643faf0e5 forward declaration correctness 2021-01-12 19:59:43 +01:00
40ae81c4ff unfortunate api change
should improve include robustness
2021-01-12 19:58:29 +01:00
71a12792a9 hopefully this fixes circular includes 2021-01-12 19:41:47 +01:00
5639273d9b Merge pull request 'C++ ostream made optional' (#342) from mueller/fsfw-printers into development
Reviewed-on: fsfw/fsfw#342
2021-01-12 15:27:14 +01:00
8332b348ee Merge branch 'development' into mueller/fsfw-printers 2021-01-12 15:25:52 +01:00
7a3ba06b01 Merge remote-tracking branch 'upstream/mueller/datapool-update' into mueller/fsfw-printers 2021-01-12 15:14:16 +01:00
b42535dd2d Merge pull request 'TM storage convergence' (#327) from KSat/fsfw:mueller/tmstorage into development
Reviewed-on: fsfw/fsfw#327
2021-01-12 15:09:14 +01:00
e30d020445 Merge branch 'development' into mueller/tmstorage 2021-01-12 15:09:00 +01:00
a89d9eab36 Merge branch 'development' into mueller/datapool-update 2021-01-12 15:07:06 +01:00
4d6d951ae6 Merge pull request 'rtems stm32 init' (#341) from mueller/rtems-update-stm32 into development
Reviewed-on: fsfw/fsfw#341
2021-01-12 15:06:46 +01:00
165710b43c service interface update 2021-01-12 15:06:25 +01:00
295852a45c Merge remote-tracking branch 'upstream/development' into mueller/fsfw-printers 2021-01-12 15:05:25 +01:00
3242264a77 Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-01-12 15:04:00 +01:00
fa66fafd2c Merge branch 'development' into mueller/rtems-update-stm32 2021-01-12 15:01:33 +01:00
f81d3e81dc Merge pull request 'Bugfix Device Handler Base' (#339) from mueller/devicehandler-bugfix into development
Reviewed-on: fsfw/fsfw#339
2021-01-12 14:45:11 +01:00
cafc8e4ccb updated attorneys 2021-01-12 14:08:51 +01:00
67879bf12f Merge branch 'development' into mueller/devicehandler-bugfix 2021-01-12 13:28:10 +01:00
d281b56ce2 Merge pull request 'moved includes' (#335) from mueller/bugfix/defaultcfg into development
Reviewed-on: fsfw/fsfw#335
2021-01-12 13:27:57 +01:00
ba9a604c93 Merge branch 'development' into mueller/bugfix/defaultcfg 2021-01-12 13:27:19 +01:00
72e9a9516f Merge pull request 'cmake lists updates' (#336) from mueller/cmake-updates into development
Reviewed-on: fsfw/fsfw#336
2021-01-12 13:26:39 +01:00
25a86e91de fixed warning of static var 2021-01-12 13:23:24 +01:00
7e394ea15f replaced all fsfw:: by sif:: for printouts 2021-01-12 13:18:18 +01:00
071ce21f09 renamed namepsace for printers 2021-01-12 13:12:44 +01:00
bb10c25909 introduced new accessor IF 2021-01-12 00:13:49 +01:00
0109428d47 indentation 2021-01-11 22:46:40 +01:00
fa5580cb7f indentation 2021-01-11 22:45:04 +01:00
58d813c249 minor formatting stuff 2021-01-11 22:33:58 +01:00
0be4c35b73 using 100 line width now 2021-01-11 22:32:36 +01:00
44955db341 tab replacement 2021-01-11 22:27:24 +01:00
a8873e608c cleaning up 2021-01-11 22:25:39 +01:00
065f79615a compiling again 2021-01-11 22:21:21 +01:00
5bc46bae02 reverted some stuff 2021-01-11 22:18:42 +01:00
037bd83af9 trying new interface 2021-01-11 21:31:03 +01:00
0bf0d8e743 stuff 2021-01-11 20:20:39 +01:00
54e97f7bdc Merge branch 'sa/new-if' into mueller/master 2021-01-11 20:18:11 +01:00
217866c042 SubscriptIF implementation started 2021-01-11 19:44:07 +01:00
ef9ad60ba8 doc update 2021-01-11 16:38:25 +01:00
5e251705f6 getter function for object iD 2021-01-11 16:33:02 +01:00
af7def3368 some bugfixes 2021-01-11 16:26:46 +01:00
6010246592 rearchitectured a little bit 2021-01-11 16:21:41 +01:00
2d28f71eca Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-01-11 00:49:33 +01:00
e497c4ab15 added new reamde file stubs 2021-01-10 17:34:21 +01:00
c956feafd6 added new readme which will be filled later 2021-01-10 17:30:31 +01:00
1f901a14ff updated osal readme 2021-01-10 17:28:13 +01:00
368b42c7b0 formatting improvements 2021-01-10 17:26:48 +01:00
6dde0ab8f6 readme update 2021-01-10 17:25:51 +01:00
952438f252 README 2021-01-10 17:25:19 +01:00
7a053b6f72 updated README 2021-01-10 17:24:19 +01:00
4bfbeead00 additional doc 2021-01-10 15:04:47 +01:00
63ce87acab more indentation corrections 2021-01-10 14:59:03 +01:00
15b65b78e7 ndentiation 2021-01-10 14:57:56 +01:00
6993415873 more tests 2021-01-10 14:54:05 +01:00
4fa9a1fe19 added more tests 2021-01-10 14:33:02 +01:00
69e931c07b important logic fix 2021-01-10 14:27:57 +01:00
1af28dd457 updated user folder for unittests 2021-01-10 13:59:40 +01:00
b570da6467 more tests added 2021-01-10 13:58:33 +01:00
918200e88c added first unit tests for hk manager 2021-01-10 12:53:01 +01:00
f8abf3527d fixed indentation 2021-01-10 11:51:33 +01:00
13ffcfe801 prints added 2021-01-09 16:20:35 +01:00
7129ea67bd linux fixes 2021-01-09 16:06:54 +01:00
36bc7609c5 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/master 2021-01-09 13:52:57 +01:00
dbe326e787 minor tweak 2021-01-09 13:52:47 +01:00
f083e83f63 Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-01-08 21:09:29 +01:00
57829faa64 added cast 2021-01-08 21:03:47 +01:00
ffb7b41f0a Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-01-08 20:56:23 +01:00
12091ca6ab enum members renamed, global vars static now 2021-01-08 20:55:36 +01:00
b59d6d3244 Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-01-08 20:46:49 +01:00
7c47b1ce34 100 percent test coverage for pool vector 2021-01-08 20:44:05 +01:00
9f15cd697d improved includes 2021-01-08 16:23:57 +01:00
a1c394143a small formatting stuff 2021-01-08 16:18:08 +01:00
a9dba82661 bugfix 2021-01-08 16:16:17 +01:00
c0fd981360 improved DHB error handling 2021-01-08 16:14:11 +01:00
541478e4d5 another small improvement 2021-01-08 15:15:02 +01:00
f2ecd6d740 revamed and imroved error handling 2021-01-08 15:10:33 +01:00
5a8647d367 better returnvalues etc. 2021-01-08 13:40:13 +01:00
3b39c6b6e2 defaultcfg update 2021-01-08 02:07:37 +01:00
2ef3e0aa7b added option to add CR for printf support 2021-01-08 02:06:27 +01:00
4255176b5c more tests, minor bugfix 2021-01-08 01:49:00 +01:00
41d8cbda55 small form changes 2021-01-08 00:22:04 +01:00
8e3f4c81a5 pool entry doc correction 2021-01-08 00:20:39 +01:00
c1c331e29e fixed vector test 2021-01-08 00:10:10 +01:00
bd5cc7ae3e Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-01-07 20:31:44 +01:00
d3405ee340 whitespace 2021-01-07 20:30:52 +01:00
d3fbe4a3b9 local pool variable error handling improved 2021-01-07 20:29:38 +01:00
44a5430555 pool vector improvements 2021-01-07 20:28:03 +01:00
3be51762cc improved error handling significantly 2021-01-07 20:23:23 +01:00
007526c050 new f unctions for read error reporting, bugfix 2021-01-07 19:10:07 +01:00
8aaf45049f major bugfix in rtems osal 2021-01-06 21:49:40 +01:00
fcb33201a4 fixed linux osal 2021-01-06 21:45:35 +01:00
2b287dfc3a freertos and pool read helper fix 2021-01-06 21:33:54 +01:00
dacdfc62d3 a lot of bugfixes and important api change 2021-01-06 21:14:23 +01:00
91cf5f1764 added way to completely disable printouts 2021-01-06 19:49:58 +01:00
db7d28f852 test update 2021-01-06 19:32:33 +01:00
8807772d13 100 % line coverage reached 2021-01-06 19:16:41 +01:00
dc8dd770e7 added more tests 2021-01-06 19:07:35 +01:00
16458f6a1e continued tests 2021-01-06 18:20:38 +01:00
bd93392b59 local pool variabel tweaks and fixes 2021-01-06 16:26:08 +01:00
b241ef6aad continued tests 2021-01-05 22:51:49 +01:00
a05cf8d4ab updated tests 2021-01-05 22:46:17 +01:00
85764ba94c added include 2021-01-05 17:30:15 +01:00
fbb063ceda Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/master 2021-01-05 16:44:52 +01:00
e64b2e0616 bugfix 2021-01-04 15:38:46 +01:00
63e80206bc rtems osal update 2021-01-04 15:34:08 +01:00
3c041388d6 bugfix 2021-01-04 15:31:06 +01:00
cca5689a18 clock improvements for rtems 2021-01-04 15:17:11 +01:00
8e3aef5df0 adding new tests for local pool variable 2021-01-04 00:21:44 +01:00
49c6cd9473 added local pool owner base 2021-01-03 23:27:49 +01:00
e9a8313df7 repaired unit tests 2021-01-03 23:18:10 +01:00
e9da8e79f3 updated testcfg 2021-01-03 22:00:40 +01:00
51cdf6cc76 missing include added 2021-01-03 16:48:18 +01:00
f64e356de3 small include fix 2021-01-03 16:42:29 +01:00
fd44fb4781 Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-01-03 16:00:09 +01:00
c94a396ffb changelog update 2021-01-03 15:31:44 +01:00
59d327f8b6 console init for printf on windows 2021-01-03 15:15:03 +01:00
8c8965177f new amalgated header 2021-01-03 15:04:37 +01:00
98af84c145 additional tweask 2021-01-03 14:41:54 +01:00
695a767164 some include fixes 2021-01-03 14:33:17 +01:00
2edf158312 correct preprocessor define now used 2021-01-03 14:16:52 +01:00
4515c0d3cd exlcuding ostream headers 2021-01-03 14:08:40 +01:00
afda3b2fa0 small tweak 2021-01-03 14:00:29 +01:00
c19e628d79 all cstdout uses wrapped in preprocessor defines 2021-01-03 13:58:18 +01:00
61fc6cac97 added change for windows 2021-01-03 13:25:42 +01:00
087482300d include order 2021-01-03 01:49:12 +01:00
717027792e minor improvements and docuemntation 2021-01-03 01:47:01 +01:00
e300207f48 removed comment 2021-01-03 01:40:35 +01:00
5c42888f10 whitespace 2021-01-03 01:39:06 +01:00
0e2875b22d added colored output for streams as well 2021-01-03 01:35:17 +01:00
b30405fee7 added stdio pinters 2021-01-03 01:02:07 +01:00
7759b19961 added new files 2021-01-02 23:22:50 +01:00
4c07ca21eb important include fix 2021-01-02 19:40:00 +01:00
e5b3f991ef added important rtems include 2021-01-02 19:39:02 +01:00
4de5fc44b4 rtems init 2021-01-01 21:19:42 +01:00
ced753b513 include guard 2021-01-01 18:06:33 +01:00
f223aa148e updated cmake lists 2021-01-01 18:05:02 +01:00
3ea763bf34 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/master 2021-01-01 18:03:40 +01:00
5be95fada7 bugfixes and RTEMS update for STM32 2021-01-01 17:18:37 +01:00
193881f784 Merge branch 'mueller/defaultcfg-update' into mueller/master 2020-12-30 22:59:20 +01:00
7b15a5a431 moved includes 2020-12-30 22:57:52 +01:00
c4fb1f49d8 updated defaultcfg 2020-12-30 22:56:46 +01:00
8920349ed0 Merge branch 'mueller/devicehandler-bugfix' into mueller/master 2020-12-30 22:37:02 +01:00
0a4d0b5937 bugfix 2020-12-30 22:34:40 +01:00
56eac46472 Revert "device handler base update"
This reverts commit 44dcd3104e.
2020-12-30 22:17:08 +01:00
44dcd3104e device handler base update 2020-12-30 22:01:11 +01:00
1ac2479b28 made warning flag optional 2020-12-29 18:06:25 +01:00
8ef6283bf4 added srv3 2020-12-29 14:10:38 +01:00
219c057fb9 added service 3 cmake support 2020-12-29 14:08:48 +01:00
c8af75f9c7 moved inlcudes 2020-12-28 18:06:34 +01:00
bc1513c649 cmake lists updates 2020-12-28 18:06:00 +01:00
5b9c0e013e Merge branch 'mueller/test-update' into mueller/bundled-update 2020-12-28 18:01:05 +01:00
b2c98f0ae4 Merge branch 'mueller/test-update' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/test-update 2020-12-28 18:00:07 +01:00
c5212226b8 Merge remote-tracking branch 'origin/mueller/test-update' into mueller/bundled-update 2020-12-28 17:58:50 +01:00
91cb061da9 datapool updates, fixes, pool read helper 2020-12-28 17:55:19 +01:00
bc475f0a9a bugfixes 2020-12-28 17:48:26 +01:00
d268c6d96c moved includes to allow c inclusion 2020-12-28 16:59:39 +01:00
b126149215 removed abi flags, are part of cross compile file now 2020-12-28 16:49:43 +01:00
f9bcc835d7 include updated 2020-12-28 01:17:03 +01:00
1538a39d5b Merge branch 'mueller/test-update' into mueller/master 2020-12-27 15:16:08 +01:00
254b1437e9 repaired windows unittests 2020-12-27 15:15:51 +01:00
978cbea341 Merge remote-tracking branch 'origin/mueller/test-update' into mueller/master 2020-12-27 15:04:24 +01:00
f60f02c5b8 updated readme 2020-12-27 14:53:37 +01:00
d8d2f207e1 cleaned up includes 2020-12-27 14:20:26 +01:00
37463b660b restructured test folder and enabled cmake v3 support 2020-12-27 14:14:38 +01:00
39887db8d2 removed newline 2020-12-27 12:59:25 +01:00
e24e50b5ee removed todo 2020-12-27 12:58:05 +01:00
d80ddcccac Merge branch 'mueller/raiiacctest' into mueller/master 2020-12-27 02:04:56 +01:00
ed473d0a1b bugfix 2020-12-27 02:04:45 +01:00
76403ce0ab renaming 2020-12-27 01:53:59 +01:00
f852c774f8 accessor test 2020-12-27 01:52:48 +01:00
535b51ef70 improvements and clarifications 2020-12-27 01:15:52 +01:00
639dbee8a3 form stuff 2020-12-27 00:21:39 +01:00
76696e34be its possible to protect every read/commit now 2020-12-26 23:57:23 +01:00
e35c2cd604 hk manager optional now 2020-12-26 23:16:33 +01:00
b469340ef4 bugfix 2020-12-26 18:06:56 +01:00
4157a4b638 Merge branch 'development' into mueller/master 2020-12-26 14:47:54 +01:00
9eec75df26 linking against thread lib 2020-12-25 01:49:44 +01:00
3486a04741 renaming for name shadowing 2020-12-25 00:37:24 +01:00
68fe923a01 renamed class enums 2020-12-24 02:03:33 +01:00
c5eae8c41b Merge branch 'development' into mueller/tmstorage 2020-12-23 23:51:54 +01:00
426514b9a2 Merge pull request 'Move static constants to DeviceHandlerIF' (#331) from eive/fsfw:mueller/no-raw-command-moved-to-if into development
Reviewed-on: fsfw/fsfw#331
2020-12-23 23:51:40 +01:00
e9b819e21e Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/master 2020-12-23 20:27:22 +01:00
159ad15b73 Merge branch 'development' into mueller/master 2020-12-23 20:27:14 +01:00
d7efa1b4d7 Merge branch 'development' into mueller/master 2020-12-23 20:19:34 +01:00
a00f3b9adc Merge remote-tracking branch 'upstream/development' into mueller/master 2020-12-23 20:19:23 +01:00
dcc111e4fa moved no comamnd and raw command to device handler IF 2020-12-23 20:17:10 +01:00
e94238762f Merge remote-tracking branch 'upstream/development' into development 2020-12-23 20:15:39 +01:00
ccbbef7778 Merge branch 'development' into mueller/master 2020-12-22 17:54:10 +01:00
bda9546f51 Merge branch 'development' into mueller/tmstorage 2020-12-22 17:35:26 +01:00
52d9a55d06 Merge pull request 'better error handling' (#329) from KSat/fsfw:mueller/osal-windows-tweak into development
Reviewed-on: fsfw/fsfw#329
2020-12-22 17:34:41 +01:00
c19b838657 Merge branch 'development' into mueller/osal-windows-tweak 2020-12-22 17:34:33 +01:00
f9e36d7268 Merge pull request 'include guards' (#330) from KSat/fsfw:mueller/tmtcpacket-tiny-tweak into development
Reviewed-on: fsfw/fsfw#330
2020-12-22 17:31:35 +01:00
0eff30e065 Merge branch 'development' into mueller/tmtcpacket-tiny-tweak 2020-12-22 17:31:25 +01:00
27fe235700 Merge branch 'development' into mueller/osal-windows-tweak 2020-12-22 17:30:42 +01:00
bc8c3da1b7 Merge branch 'development' into mueller/tmstorage 2020-12-22 17:30:27 +01:00
2706669011 Merge pull request 'time stamper ID added' (#328) from KSat/fsfw:mueller/fwObject-timestamper into development
Reviewed-on: fsfw/fsfw#328
2020-12-22 17:28:49 +01:00
ba1f8f7171 Merge branch 'development' into mueller/master 2020-12-22 16:38:41 +01:00
208ad7d479 fixed timeslot task doc 2020-12-22 16:24:52 +01:00
e55df691ff upstream subsystem taken over 2020-12-22 16:24:15 +01:00
f017e9c6d4 include guards 2020-12-22 16:22:11 +01:00
27d03dc17f upstream cmakelists f iles taken over 2020-12-22 16:21:17 +01:00
f905a753e2 upstream unittest folder adapted 2020-12-22 16:20:24 +01:00
41dc9ce6c6 cmake lists form upstream taken over 2020-12-22 16:19:30 +01:00
707bb9dd5d serviceinterface taken over 2020-12-22 16:18:50 +01:00
2e1ad41da7 power and pus upstream taken over 2020-12-22 16:18:12 +01:00
f6e7e232f5 parameter upstream taken over 2020-12-22 16:17:15 +01:00
e674b9248a better error handling 2020-12-22 16:15:40 +01:00
c174c9ecb8 osal taken over 2020-12-22 16:15:18 +01:00
571a64c42a time stamper ID added 2020-12-22 16:10:53 +01:00
e052a9694f upstream stuff 2020-12-22 16:10:13 +01:00
c603bcc91c some upstream stuff taken over 2020-12-22 16:08:24 +01:00
f21f43754b taken over upstream defaultcfg 2020-12-22 16:06:46 +01:00
7b98b0d5dd txt is md now 2020-12-22 16:04:39 +01:00
df7a2322bf timemanager update 2020-12-22 16:03:56 +01:00
8f88032110 taken over upstream .mk file 2020-12-22 16:00:30 +01:00
a73cd37e52 taken over changelog 2020-12-22 15:59:46 +01:00
75a0df4cd9 tm storage update 2020-12-22 15:59:28 +01:00
09161f22d0 updated tm storage 2020-12-22 15:58:52 +01:00
021b9b8c50 improvements 2020-12-22 15:57:43 +01:00
83458c851e Merge pull request 'timemanager update' (#315) from KSat/fsfw:mueller/timeman-update into development
Reviewed-on: fsfw/fsfw#315
2020-12-22 15:50:28 +01:00
48a89d59d6 Merge branch 'mueller/timeman-update' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/timeman-update 2020-12-22 15:49:39 +01:00
958db291e8 now it compiles 2020-12-22 15:49:31 +01:00
c8ca680d5f Merge branch 'development' into mueller/timeman-update 2020-12-22 15:40:14 +01:00
d2a9b769eb Merge pull request 'tmtcservices update' (#309) from KSat/fsfw:mueller/tmtcservices-update into development
Reviewed-on: fsfw/fsfw#309
2020-12-22 15:39:07 +01:00
329cd8862a Merge branch 'development' into mueller/tmtcservices-update 2020-12-22 15:37:22 +01:00
fe26fc4824 Merge branch 'development' into mueller/timeman-update 2020-12-22 15:36:48 +01:00
ddcdfb3403 Merge pull request 'Fixed file ending of devicehanlder remake' (#326) from gaisser/fsfw:development into development
Reviewed-on: fsfw/fsfw#326
2020-12-22 15:36:33 +01:00
822cc0306c Fixed file ending of devicehanlder remake 2020-12-22 15:35:23 +01:00
483cec191b Merge pull request 'updated docs, added new doc folder' (#325) from KSat/fsfw:mueller/doc-update into development
Reviewed-on: fsfw/fsfw#325
2020-12-22 15:31:50 +01:00
5a4f453aaa Merge branch 'mueller/timeman-update' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/timeman-update 2020-12-22 15:30:03 +01:00
ab9965cb81 clock corrected 2020-12-22 15:29:42 +01:00
afad130918 Merge branch 'development' into mueller/doc-update 2020-12-22 15:29:05 +01:00
7f3bdb6082 Merge pull request 'devicehandler updates' (#320) from KSat/fsfw:mueller/devicehandlers-update into development
Reviewed-on: fsfw/fsfw#320
2020-12-22 15:28:46 +01:00
117b29e413 Merge branch 'development' into mueller/devicehandlers-update 2020-12-22 15:28:38 +01:00
0e1eac4f14 Merge pull request 'HOST CMake Improvements' (#318) from mueller/host-cmake-improvements into development
Reviewed-on: fsfw/fsfw#318
2020-12-22 15:22:57 +01:00
041aaf01db Merge branch 'development' into mueller/host-cmake-improvements 2020-12-22 15:21:34 +01:00
6663c69ee9 Merge pull request 'cmake fixes' (#314) from mueller/cmake-fixes into development
Reviewed-on: fsfw/fsfw#314
2020-12-22 15:18:58 +01:00
cb7a22c370 Merge branch 'development' into mueller/cmake-fixes 2020-12-22 15:18:47 +01:00
5941bd710a Merge pull request 'clearing HK message included now' (#322) from KSat/fsfw:mueller/ipc-update into development
Reviewed-on: fsfw/fsfw#322
2020-12-22 15:13:51 +01:00
631bbf70c2 Merge branch 'development' into mueller/ipc-update 2020-12-22 15:13:20 +01:00
85d6e02291 Merge pull request 'nullptr check added' (#324) from KSat/fsfw:mueller/datapool-update into development
Reviewed-on: fsfw/fsfw#324
2020-12-22 15:12:03 +01:00
3b59a50e9a Merge branch 'development' into mueller/datapool-update 2020-12-22 15:11:37 +01:00
4a154140f3 Merge pull request 'unittest update' (#323) from KSat/fsfw:mueller/unittest-update into development
Reviewed-on: fsfw/fsfw#323
2020-12-22 15:11:27 +01:00
b0fcb404b3 Merge branch 'development' into mueller/unittest-update 2020-12-22 15:11:02 +01:00
422a0f1ee0 Merge pull request 'defaultcfg update' (#319) from KSat/fsfw:mueller/defaultcfg-update into development
Reviewed-on: fsfw/fsfw#319
2020-12-22 15:05:36 +01:00
d396bab455 Merge branch 'development' into mueller/defaultcfg-update 2020-12-22 15:05:16 +01:00
11778c706c Merge pull request 'deleted tpp files, replaced by source files' (#313) from mueller/deleted-storagman-tpp into development
Reviewed-on: fsfw/fsfw#313
2020-12-22 15:05:01 +01:00
cf954ac8d1 Merge branch 'development' into mueller/deleted-storagman-tpp 2020-12-22 14:46:19 +01:00
5e315ce083 Merge pull request 'LocalPoolVar: using long name now' (#312) from KSat/fsfw:mueller/datapoollocal-long-name into development
Reviewed-on: fsfw/fsfw#312
2020-12-22 14:45:56 +01:00
49aa937968 Merge branch 'development' into mueller/datapoollocal-long-name 2020-12-22 14:45:24 +01:00
eb310a72ef Merge pull request 'added hk service 3' (#311) from KSat/fsfw:mueller/hk-service3 into development
Reviewed-on: fsfw/fsfw#311
2020-12-22 14:44:05 +01:00
dca5e1b51c Merge branch 'development' into mueller/hk-service3 2020-12-22 14:43:26 +01:00
d8be07b4db Merge pull request 'Linux convergence' (#310) from KSat/fsfw:mueller/linux-update into development
Reviewed-on: fsfw/fsfw#310
2020-12-22 14:43:15 +01:00
1ad94bae7d Merge remote-tracking branch 'upstream/development' into mueller/timeman-update 2020-12-22 14:27:36 +01:00
8349e12e43 Merge branch 'development' into mueller/timeman-update 2020-12-22 15:14:08 +01:00
332a327777 Merge branch 'development' into mueller/timeman-update 2020-12-22 14:48:11 +01:00
9ac07368da changelog update 2020-12-22 14:26:42 +01:00
7934104cbb Merge branch 'mueller/tmtcservices-update' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/tmtcservices-update 2020-12-22 14:19:22 +01:00
7075952a8b Merge branch 'development' into mueller/tmtcservices-update 2020-12-22 15:17:12 +01:00
d607332f8d removed comment 2020-12-22 14:19:13 +01:00
7ba660a222 removed comment 2020-12-22 14:18:48 +01:00
947dfd69e9 service types.h delted 2020-12-22 14:16:33 +01:00
3b391d3380 deleted service types header 2020-12-22 14:15:21 +01:00
362578e982 transition delay abstract 2020-12-22 14:12:35 +01:00
9b22a2f3ac Merge branch 'mueller/devicehandlers-update' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/devicehandlers-update 2020-12-22 14:11:46 +01:00
6135c6b2df Merge branch 'development' into mueller/devicehandlers-update 2020-12-22 15:08:14 +01:00
9937842ded get transiition delay abstract 2020-12-22 14:11:36 +01:00
331d940852 Merge remote-tracking branch 'upstream/development' into mueller/tmtcservices-update 2020-12-22 14:07:33 +01:00
dda7b5ff6c Merge remote-tracking branch 'upstream/development' into mueller/tmtcservices-update 2020-12-22 14:06:13 +01:00
620ab01e38 Merge remote-tracking branch 'upstream/development' into mueller/ipc-update 2020-12-22 13:53:41 +01:00
0fec6172a1 Merge remote-tracking branch 'upstream/development' into mueller/unittest-update 2020-12-22 13:31:03 +01:00
4c41e36044 nullptr check added 2020-12-22 13:29:06 +01:00
6b1a8afe2b unittest update 2 2020-12-22 13:25:50 +01:00
820731de7b updated docs, added new doc folder 2020-12-22 13:23:19 +01:00
8896752927 updated readme 2020-12-22 13:22:10 +01:00
632f319a2f updated readme 2020-12-22 13:19:00 +01:00
95a8dd418c added cmake lists 2020-12-22 13:29:58 +01:00
ee05a34c9e added gitmodules 2020-12-22 13:27:47 +01:00
5e8aff0603 unittest update 2020-12-22 13:25:00 +01:00
e41aba719c updated testcfg 2020-12-22 13:20:17 +01:00
b97b67d56e updating unittest folder 2020-12-22 13:19:07 +01:00
770336fff3 added ipc cmakelists 2020-12-22 13:06:35 +01:00
6f756a721c clearing HK messagei ncluded now 2020-12-22 13:05:59 +01:00
d53645e6ea Merge branch 'mueller/devicehandlers-update' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/devicehandlers-update 2020-12-22 12:53:21 +01:00
9de2b054ef updated changelog 2020-12-22 12:53:03 +01:00
a53959affa Merge branch 'development' into mueller/devicehandlers-update 2020-12-22 12:49:49 +01:00
0a7aaffe6a Merge remote-tracking branch 'upstream/development' into mueller/defaultcfg-update 2020-12-22 12:47:33 +01:00
ca2d242adb defaultcfg update 2020-12-22 12:45:51 +01:00
b28bf35fc3 devicehandler updates 2020-12-22 12:44:55 +01:00
81201d6fb7 typo 2020-12-22 00:39:51 +01:00
38983407fd added default implementation for setNormalDatapool
entries invalid
2020-12-22 00:22:35 +01:00
6abc560094 feed back include improvements 2020-12-22 00:55:47 +01:00
8dd9d6ad91 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master 2020-12-21 23:39:34 +01:00
c2619bf070 transition delay not 0 anymore 2020-12-21 23:39:24 +01:00
31b82975c7 typo fix 2020-12-21 19:51:34 +01:00
04c92bcdfc Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/master 2020-12-21 17:27:17 +01:00
5317391f8a reverted change 2020-12-21 17:19:43 +01:00
71ee86a688 reverted sif buffer changes 2020-12-21 17:18:31 +01:00
59eab8866d using traits again 2020-12-21 17:16:44 +01:00
4100bb19ce Merge branch 'mueller/host-cmake-improvements' into mueller/master 2020-12-21 14:07:25 +01:00
1d080ba6cb clock update 2020-12-21 14:07:06 +01:00
17a12b7807 clock update 2020-12-21 14:05:44 +01:00
a6e38afb98 buffer more explicit eof() 2020-12-21 14:04:04 +01:00
30c9209c74 better win udp polling task error handling 2020-12-21 14:03:19 +01:00
e511dc61b4 upstream osal endiness adapted 2020-12-21 14:02:41 +01:00
de61d0c3ac upstream timeval op 2020-12-21 14:02:13 +01:00
ca25714646 upstream coordinates taken over 2020-12-21 14:01:48 +01:00
5c45b823ad include fix 2020-12-21 13:52:41 +01:00
fc4da433d5 using winsock2 now 2020-12-21 13:49:42 +01:00
de183e6c65 removed comment 2020-12-20 17:01:22 +01:00
d8e5000d47 msvc tests 2020-12-20 15:32:03 +01:00
3540adf022 added warning flags 2020-12-20 13:21:12 +01:00
a0d5b23311 small improvement 2020-12-20 02:09:08 +01:00
ebe7f02fc4 better error handling 2020-12-20 01:56:21 +01:00
c64a9654ea xcompile update 2020-12-19 22:51:10 +01:00
d186b70d2e comment added 2020-12-19 18:41:28 +01:00
8ede00fdf1 small bugfixes 2020-12-19 18:38:02 +01:00
b8e703ca83 linked against OS 2020-12-19 13:04:16 +01:00
be20978998 better path determination 2020-12-19 12:10:29 +01:00
e030d7ed97 correct interface and private includes 2020-12-19 02:29:22 +01:00
c0099481a1 added freertos cmakelists 2020-12-19 00:21:08 +01:00
62b5c19063 small fix 2020-12-17 20:18:16 +01:00
60d69c95c4 address in use handling for socket 2020-12-17 17:10:27 +01:00
ac40b1c966 cmake list formatting 2020-12-17 11:46:50 +01:00
74c49e1481 Merge branch 'development' into mueller/master 2020-12-16 14:05:29 +01:00
07814abf3a Merge branch 'development' into mueller/datapoollocal-long-name 2020-12-16 14:03:23 +01:00
f8b34bcb53 some readme improvements 2020-12-16 13:53:36 +01:00
086cbe1e39 Merge remote-tracking branch 'upstream/development' into development 2020-12-16 12:00:59 +01:00
f128a1dc3d made datalinklayer optional 2020-12-15 23:44:43 +01:00
c48f1c8ee6 Merge branch 'development' into mueller/cmake-fixes 2020-12-15 23:05:32 +01:00
ea289be29e Merge branch 'development' into mueller/timeman-update 2020-12-15 23:03:03 +01:00
c8ddfe598b timemanager update 2020-12-15 23:00:30 +01:00
8706d663d5 upstream changes taken over 2020-12-15 22:57:14 +01:00
a411df18db deleted tpp files, replaced by source files 2020-12-15 22:52:29 +01:00
f99bf6d75c taken over cmake list for storagemanager 2020-12-15 22:51:30 +01:00
cd1fb88313 Merge remote-tracking branch 'upstream/development' into mueller/linux-update 2020-12-15 22:49:18 +01:00
1f7938f610 deleted archive folder 2020-12-15 22:46:55 +01:00
4f33a1908a Merge branch 'development' into mueller/hk-service3 2020-12-15 22:44:24 +01:00
e39c4fe2a8 added hk service 3 2020-12-15 22:42:50 +01:00
e7da1e37c3 Merge branch 'development' into mueller/tmtcservices-update 2020-12-15 15:57:09 +01:00
356bd2717e Merge pull request 'event update' (#308) from KSat/fsfw:mueller/event-update into development
Reviewed-on: fsfw/fsfw#308
2020-12-15 15:56:47 +01:00
910e6817ef default cfg update 2020-12-15 15:48:06 +01:00
82a83a50ee change log update 2020-12-15 15:39:33 +01:00
72c54d59fa fsfw config 2020-12-15 15:32:56 +01:00
48aef06837 fsfwconfig update 2020-12-15 15:24:46 +01:00
ca52255d30 update 2020-12-15 15:20:32 +01:00
175db9e6fc Merge branch 'development' into mueller/event-update 2020-12-15 15:20:29 +01:00
5ba1932076 Merge pull request 'task convergence' (#307) from KSat/fsfw:mueller/tasks-update into development
Reviewed-on: fsfw/fsfw#307
2020-12-15 15:20:15 +01:00
703d2590ff update csb 2020-12-15 15:20:08 +01:00
9dabdf4b56 Merge branch 'development' into mueller/tasks-update 2020-12-15 15:19:38 +01:00
a343baa813 Merge pull request 'Subsystem Update' (#306) from KSat/fsfw:mueller/subsyste-update into development
Reviewed-on: fsfw/fsfw#306
2020-12-15 15:16:58 +01:00
eb5ac573a9 Merge branch 'mueller/tmtcservices-update' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/tmtcservices-update 2020-12-15 15:16:51 +01:00
fcce61aee0 Merge remote-tracking branch 'upstream/development' into mueller/tmtcservices-update 2020-12-15 15:16:45 +01:00
4e4ffeb608 Merge branch 'development' into mueller/tmtcservices-update 2020-12-15 15:16:29 +01:00
103d8b8c6a fixed timeslot task IF 2020-12-15 15:12:31 +01:00
4c152e9fd8 subsystem doc upodate 2020-12-15 15:07:41 +01:00
a57af5852d made check sequence 2020-12-15 15:04:07 +01:00
2c92fa64bc Merge branch 'development' into mueller/subsyste-update 2020-12-15 14:44:19 +01:00
d85686fd8d Merge pull request 'FreeRTOS update' (#305) from KSat/fsfw:mueller/FreeRTOS into development
Reviewed-on: fsfw/fsfw#305
2020-12-15 14:44:08 +01:00
534805957c Merge branch 'development' into mueller/FreeRTOS 2020-12-15 14:42:31 +01:00
4e6aa3128b Merge pull request 'type update' (#304) from KSat/fsfw:mueller/type into development
Reviewed-on: fsfw/fsfw#304
2020-12-15 14:42:16 +01:00
f733a85a9c type update 2020-12-15 14:41:33 +01:00
3e41b202a1 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master 2020-12-15 14:41:07 +01:00
052e2ed1e8 type update, assert that type is not boolean 2020-12-15 14:40:49 +01:00
335c75ba5b Merge branch 'development' into mueller/type 2020-12-15 14:31:27 +01:00
c53920f5ac Merge pull request 'RMAP folder convergence' (#302) from KSat/fsfw:mueller/rmap-convergence into development
Reviewed-on: fsfw/fsfw#302
2020-12-15 14:31:13 +01:00
a6a95b7719 Merge branch 'development' into mueller/rmap-convergence 2020-12-15 14:30:01 +01:00
7f7c4aea84 Merge pull request 'removed glob pool' (#300) from KSat/fsfw:mueller/removed-glob-pool into development
Reviewed-on: fsfw/fsfw#300
2020-12-15 14:29:49 +01:00
6deb0b565e Merge branch 'development' into mueller/removed-glob-pool 2020-12-15 14:28:54 +01:00
b9f50e8e42 Merge branch 'development' into mueller/rmap-convergence 2020-12-15 14:08:51 +01:00
9986203eff Merge branch 'mueller/FreeRTOS' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/FreeRTOS 2020-12-14 23:56:57 +01:00
3cc053a581 changes from mueller/master taken over 2020-12-14 23:56:44 +01:00
0c3e87f1de using new xTaskDelayUntil 2020-12-14 23:55:54 +01:00
b8f4d8690b determination of freeRTOS features from version 2020-12-14 23:38:06 +01:00
9170f466e8 freeRTOS version checks 2020-12-14 23:21:07 +01:00
93842bb913 using long name now 2020-12-14 22:56:30 +01:00
95b2191824 long name 2020-12-14 22:55:12 +01:00
b232a8a291 Merge remote-tracking branch 'upstream/development' into development 2020-12-14 21:57:42 +01:00
3ee25785a2 linux changes adapted 2020-12-14 21:54:03 +01:00
7f93c4a6aa Merge branch 'development' into mueller/FreeRTOS 2020-12-14 21:51:19 +01:00
efb4f0efbb Merge branch 'development' into mueller/type 2020-12-14 21:51:05 +01:00
4f2470b93f task factory 2020-12-14 21:48:12 +01:00
f2ba653833 ipc changes taken over 2020-12-14 21:47:42 +01:00
336b43572f linux update 2020-12-14 21:46:33 +01:00
db42e79fd4 taken over cmakelists file 2020-12-14 21:38:45 +01:00
1c79da0e75 tc distrib changed taken over 2020-12-14 21:34:29 +01:00
796f0e2e17 important changes adapted 2020-12-14 21:33:19 +01:00
8c88255873 taken over some tweaks 2020-12-14 21:31:50 +01:00
25db9bc9ed tmtcservices update 2020-12-14 21:30:39 +01:00
d2f631a955 cast added 2020-12-14 21:20:21 +01:00
f604d621e8 removed interrupt class 2020-12-14 21:19:12 +01:00
6911f91744 rtems fixes taken over 2020-12-14 21:15:41 +01:00
55a663beb2 unittest update 2020-12-14 21:14:38 +01:00
c1a156dde3 catch factory in objects folder again 2020-12-14 21:08:35 +01:00
050770c184 catch factory fixes 2020-12-14 21:07:58 +01:00
a3ebad46e7 small fix 2020-12-14 21:00:15 +01:00
d96d3d6c46 one define now 2020-12-14 20:58:47 +01:00
14a0573f3d one define now 2020-12-14 20:58:20 +01:00
b14c1c43cc small fix 2020-12-14 20:50:56 +01:00
2100ae34f2 event folder taken over 2020-12-14 20:49:17 +01:00
0f6d878d86 update 2020-12-14 20:48:41 +01:00
57853ba566 event update 2020-12-14 20:22:59 +01:00
a0e7584e84 tiny tweak 2020-12-14 20:19:23 +01:00
3bae575b5a Merge branch 'development' into mueller/subsyste-update 2020-12-14 13:16:44 +01:00
4d5186b6cd Merge branch 'development' into mueller/tasks-update 2020-12-14 13:16:36 +01:00
e06b15cb9c Merge pull request 'fixed includes' (#303) from KSat/fsfw:mueller/int-unittest-fixes into development
Reviewed-on: fsfw/fsfw#303
2020-12-14 13:16:27 +01:00
3f3c2481ad Merge branch 'development' into mueller/int-unittest-fixes 2020-12-14 13:16:09 +01:00
bd4ca743f5 Merge pull request 'Hotfixes for development branch' (#301) from hotfix/deviceHandlerThermalSet into development
Reviewed-on: fsfw/fsfw#301
2020-12-14 13:15:49 +01:00
81c00cd3dc Merge remote-tracking branch 'upstream/development' into development 2020-12-14 13:02:10 +01:00
d62e092be6 task convergence 2020-12-14 11:49:30 +01:00
a547fafa33 minor tweaks 2020-12-14 11:49:01 +01:00
3dd86039bb changes taken over 2020-12-14 11:43:32 +01:00
9d5ac16398 some more improvements 2020-12-14 11:43:08 +01:00
5eafd4f353 tiny format stuff 2020-12-14 11:42:02 +01:00
d3239b9064 tiny format stuff 2020-12-14 11:41:40 +01:00
89de4cc321 changes and tweaks taken over 2020-12-14 11:40:26 +01:00
e97787cceb some more tweaks 2020-12-14 11:39:19 +01:00
252bfa5c39 subsystem convergence 2020-12-14 11:35:45 +01:00
7eeba71619 subsystem update 2020-12-14 11:34:54 +01:00
5c6916a078 small tweaks 2020-12-14 11:23:23 +01:00
313d898aef small update 2020-12-14 11:22:44 +01:00
620c9c6ae1 taken over freeRTOS changes 2020-12-14 11:19:05 +01:00
94fa917202 some tweaks 2020-12-14 11:17:22 +01:00
dc72fa938d type update 2020-12-14 11:10:22 +01:00
073cd4f5e1 small tweaks 2020-12-14 11:09:53 +01:00
7ace117c42 added cmakelistst 2020-12-14 11:06:09 +01:00
0ccd266f51 internal unittests fixed 2020-12-14 10:49:00 +01:00
720e3baa90 fixed includes 2020-12-14 10:48:39 +01:00
f161a94113 taken over upstream fixes 2020-12-14 10:44:48 +01:00
692aa087d8 taken over cleaned up branch 2020-12-13 22:13:22 +01:00
715386e366 clened up a bit 2020-12-13 22:12:57 +01:00
3f77fab2d9 taken over cmake lists 2020-12-13 22:01:38 +01:00
7c390c07ee taken over unnittest folder from upstream 2020-12-13 21:58:54 +01:00
0b056720ba taken over master 2020-12-13 21:57:06 +01:00
d944e25d4a taken over upstream changes 2020-12-13 21:54:46 +01:00
f69113b4d5 taken over upstream change in ipc 2020-12-13 21:53:37 +01:00
0e42ba062d notice taken over 2020-12-13 21:51:46 +01:00
62e16b13d3 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master 2020-12-13 21:51:09 +01:00
b7dbdb072d taken over upstream changes 2020-12-13 21:50:33 +01:00
bc6936dddd indentation corrected (again) 2020-12-12 18:35:58 +01:00
5927d944de cmake fixes 2020-12-12 18:32:24 +01:00
d0d6247753 and now it compiles 2020-12-12 00:01:36 +01:00
101babd863 indentation consistent now 2020-12-11 23:53:29 +01:00
f9d5403204 added device handler thermalset 2020-12-11 23:50:00 +01:00
bb7ebf4b27 removed glob pool 2020-12-10 17:29:23 +01:00
3c316218f7 Merge pull request 'Enhanced Controller Base' (#276) from KSat/fsfw:mueller/enhanced-controller into development
Reviewed-on: fsfw/fsfw#276
2020-12-10 17:25:25 +01:00
d61c25f2d2 Merge branch 'development' into mueller/enhanced-controller 2020-12-10 17:25:10 +01:00
60ee66ec36 Merge pull request 'CMake Init' (#298) from mueller/cmake-init into development
Reviewed-on: fsfw/fsfw#298
2020-12-10 17:23:21 +01:00
03cc343527 Merge branch 'development' into mueller/cmake-init 2020-12-10 17:23:09 +01:00
0489c7a42d Merge remote-tracking branch 'upstream/development' into mueller/enhanced-controller 2020-12-10 17:23:07 +01:00
000129172a Merge pull request 'device handler uses local pools now' (#299) from KSat/fsfw:mueller/DeviceHandler-LocalPools into development
Reviewed-on: fsfw/fsfw#299
2020-12-10 17:22:55 +01:00
45b02083c9 Merge branch 'development' into mueller/DeviceHandler-LocalPools 2020-12-10 17:22:44 +01:00
5577eb893f Merge pull request 'Local Pool Refactoring' (#275) from KSat/fsfw:mueller/LocalPoolRefactoring into development
Reviewed-on: fsfw/fsfw#275
2020-12-10 17:21:26 +01:00
0cf9f334cc Merge branch 'mueller/DeviceHandler-LocalPools' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/DeviceHandler-LocalPools 2020-12-10 17:18:58 +01:00
7986584d17 updated comment 2020-12-10 17:18:46 +01:00
5cf4f4e839 Merge remote-tracking branch 'upstream/development' into mueller/enhanced-controller 2020-12-10 17:14:15 +01:00
9c59079e94 Merge remote-tracking branch 'upstream/development' into mueller/LocalPoolRefactoring 2020-12-10 17:12:01 +01:00
8ae13a189d Merge remote-tracking branch 'upstream/development' into mueller/enhanced-controller 2020-12-10 17:11:01 +01:00
b8f4cfe953 Merge branch 'development' into mueller/DeviceHandler-LocalPools 2020-12-10 17:10:45 +01:00
2c7936cecd Merge pull request 'Parameter Improvements' (#250) from KSat/fsfw:mueller/parameter-convergence into development
Reviewed-on: fsfw/fsfw#250
2020-12-10 17:09:55 +01:00
804155e951 Merge remote-tracking branch 'upstream/development' into mueller/LocalPoolRefactoring 2020-12-10 17:09:41 +01:00
a2823835dd explicit cast added 2020-12-10 17:05:41 +01:00
4964ba0246 Merge remote-tracking branch 'upstream/development' into mueller/parameter-convergence 2020-12-10 17:02:07 +01:00
2569080425 Merge remote-tracking branch 'upstream/development' into mueller/parameter-convergence 2020-12-10 17:01:07 +01:00
3fd18f9c58 Merge branch 'development' into mueller/DeviceHandler-LocalPools 2020-12-10 17:00:51 +01:00
c99ef61c77 Merge pull request 'added new interface for file systems' (#287) from KSat/fsfw:feature/has-file-system-if-init into development
Reviewed-on: fsfw/fsfw#287
2020-12-10 17:00:37 +01:00
616a073bb0 Merge branch 'development' into feature/has-file-system-if-init 2020-12-10 17:00:08 +01:00
18f90ef2fc Merge pull request 'power update' (#295) from KSat/fsfw:mueller/power-update into development
Reviewed-on: fsfw/fsfw#295
2020-12-10 16:59:52 +01:00
413e008d35 Merge remote-tracking branch 'upstream/development' into feature/has-file-system-if-init 2020-12-10 16:59:44 +01:00
9813e65dda Merge branch 'development' into mueller/power-update 2020-12-10 16:59:43 +01:00
b2d01a31c2 removed some commented stuff 2020-12-10 16:58:18 +01:00
50ad2c0380 resolved merge conflicts 2020-12-10 16:57:43 +01:00
f0380e4acc Merge branch 'development' into mueller/DeviceHandler-LocalPools 2020-12-10 16:57:24 +01:00
9fe2fc4cae Merge pull request 'new internal error reporter using local pools' (#292) from KSat/fsfw:mueller/internal-error-rprtr-update into development
Reviewed-on: fsfw/fsfw#292
2020-12-10 16:55:06 +01:00
67a8b031d0 Merge remote-tracking branch 'upstream/development' into mueller/LocalPoolRefactoring 2020-12-10 16:54:22 +01:00
0120ec29fd Merge branch 'development' into mueller/internal-error-rprtr-update 2020-12-10 16:53:45 +01:00
7d3641d42e Merge pull request 'thermal update' (#296) from KSat/fsfw:mueller/thermal-update into development
Reviewed-on: fsfw/fsfw#296
2020-12-10 16:53:30 +01:00
65f411ace2 Merge branch 'development' into mueller/thermal-update 2020-12-10 16:53:16 +01:00
cbdf56e62b Merge remote-tracking branch 'upstream/development' into mueller/enhanced-controller 2020-12-10 16:52:44 +01:00
5628d16197 Merge remote-tracking branch 'upstream/development' into feature/has-file-system-if-init 2020-12-10 16:51:42 +01:00
d7ca1df85b Merge remote-tracking branch 'upstream/development' into mueller/internal-error-rprtr-update 2020-12-10 16:50:14 +01:00
b1012b7cef Merge remote-tracking branch 'upstream/development' into mueller/power-update 2020-12-10 16:46:39 +01:00
03e4504815 Merge pull request 'some minor changes' (#291) from KSat/fsfw:mueller/datalinklayer-convergence into development
Reviewed-on: fsfw/fsfw#291
2020-12-10 16:45:21 +01:00
80531e73c9 Merge branch 'development' into mueller/datalinklayer-convergence 2020-12-10 16:45:14 +01:00
3dafdc9071 Merge pull request 'controller base update' (#290) from KSat/fsfw:mueller/controller-update into development
Reviewed-on: fsfw/fsfw#290
2020-12-10 16:42:45 +01:00
d412e4ff5d Merge branch 'development' into mueller/controller-update 2020-12-10 16:42:30 +01:00
be9913f262 themral module update 2020-12-10 16:40:22 +01:00
5bad114205 thermal module set heating repaired 2020-12-10 16:39:31 +01:00
9a540e97c5 taken over thermal module from thermal-update 2020-12-10 16:36:44 +01:00
f81c9d7ecc resolved merge conflicts 2020-12-10 16:36:09 +01:00
0a5099e293 deleted file which was renamed 2020-12-10 16:34:25 +01:00
ff62ab8427 removed core component 2020-12-10 16:32:52 +01:00
14e254141c Merge remote-tracking branch 'upstream/development' into mueller/thermal-update 2020-12-10 16:30:21 +01:00
14ecce084e Merge branch 'development' into mueller/parameter-convergence 2020-12-10 16:24:19 +01:00
4fbebcb019 Merge pull request 'monitoring update' (#294) from KSat/fsfw:mueller/monitoring-update into development
Reviewed-on: fsfw/fsfw#294
2020-12-10 16:24:00 +01:00
96a9ee9fc4 Merge branch 'development' into mueller/monitoring-update 2020-12-10 16:18:34 +01:00
a0a2752fd0 Merge branch 'development' into mueller/cmake-init 2020-12-09 10:07:22 +01:00
46596f9397 tab changed 2020-12-08 16:01:48 +01:00
df333e0cc8 tab replacement 2020-12-08 16:01:23 +01:00
e9a740f110 small tweak 2020-12-08 16:00:02 +01:00
5e2e18ac07 device handler uses local pools now 2020-12-08 15:59:30 +01:00
beab942f07 fixes taken over from master 2020-12-08 15:57:30 +01:00
1d6402a0c0 Merge remote-tracking branch 'upstream/development' into mueller/parameter-convergence 2020-12-08 15:55:49 +01:00
faedd40665 Merge pull request 'DHB additional step for performOperation' (#281) from KSat/fsfw:mueller/DHB-update into development
Reviewed-on: fsfw/fsfw#281
2020-12-08 15:53:05 +01:00
c126833dcf Merge remote-tracking branch 'upstream/development' into mueller/parameter-convergence 2020-12-08 15:51:31 +01:00
7f40566031 include removed 2020-12-08 15:50:21 +01:00
a612e19e94 ndentation 2020-12-08 15:49:46 +01:00
81988e77d9 Merge remote-tracking branch 'upstream/development' into mueller/internal-error-rprtr-update 2020-12-08 15:48:41 +01:00
9891086e65 Merge branch 'development' into mueller/datalinklayer-convergence 2020-12-08 15:46:49 +01:00
2514082af7 Merge remote-tracking branch 'upstream/development' into mueller/monitoring-update 2020-12-08 15:46:25 +01:00
012fb6f314 Merge remote-tracking branch 'upstream/development' into feature/has-file-system-if-init 2020-12-08 15:45:09 +01:00
ac5446b2b1 removed hk switcher helper member 2020-12-08 15:43:58 +01:00
b0053c3b77 Merge remote-tracking branch 'upstream/development' into mueller/controller-update 2020-12-08 15:42:51 +01:00
38819d796c Merge remote-tracking branch 'upstream/development' into mueller/enhanced-controller 2020-12-08 15:40:43 +01:00
eb781ecc7a Merge remote-tracking branch 'upstream/development' into mueller/DHB-update 2020-12-08 15:36:16 +01:00
42dd641924 Merge remote-tracking branch 'upstream/development' into mueller/DHB-update 2020-12-08 15:34:51 +01:00
7ff772d9d6 Merge pull request 'Local Data Pool Init' (#280) from KSat/fsfw:mueller/newLocalDataPools into development
Reviewed-on: fsfw/fsfw#280
2020-12-08 15:34:30 +01:00
bd1137d089 replaced hardcoded value with NO_COMMAND 2020-12-08 15:33:32 +01:00
2b8a2c4f29 Merge branch 'development' into mueller/newLocalDataPools 2020-12-08 15:18:48 +01:00
ba52d54244 Merge remote-tracking branch 'upstream/development' into mueller/internal-error-rprtr-update 2020-12-08 15:17:25 +01:00
6064984671 Merge remote-tracking branch 'upstream/development' into mueller/internal-error-rprtr-update 2020-12-08 15:16:29 +01:00
3b0e5daeed Merge branch 'mueller/datalinklayer-convergence' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/datalinklayer-convergence 2020-12-08 15:15:50 +01:00
8504bf3f42 Merge remote-tracking branch 'upstream/development' into mueller/datalinklayer-convergence 2020-12-08 15:15:42 +01:00
322dd1253e map packet extract update 2020-12-08 15:15:22 +01:00
4a46349286 minor imrpovements 2020-12-08 15:14:39 +01:00
34dac6f312 Merge branch 'development' into mueller/datalinklayer-convergence 2020-12-08 15:11:32 +01:00
5e132de712 Merge pull request 'makeEvent API improved' (#288) from KSat/fsfw:mueller/make-event-update into development
Reviewed-on: fsfw/fsfw#288
2020-12-08 15:10:55 +01:00
913914ce93 Merge branch 'mueller/make-event-update' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/make-event-update 2020-12-08 14:58:34 +01:00
6ee4ceeb65 deleted event.cpp source file 2020-12-08 14:58:24 +01:00
d7839b46a5 Merge branch 'development' into mueller/make-event-update 2020-12-08 14:53:09 +01:00
4084df6214 Merge branch 'development' into mueller/parameter-convergence 2020-12-08 14:52:22 +01:00
6bda443181 Merge branch 'development' into mueller/DHB-update 2020-12-08 14:51:38 +01:00
f0b13427e6 changelog update 2020-12-08 14:51:36 +01:00
de0fd94b7f Merge branch 'development' into mueller/enhanced-controller 2020-12-08 14:51:27 +01:00
31373e9605 Merge pull request 'Includes for unittest folder relative' (#285) from KSat/fsfw:mueller/unittest-fixes into development
Reviewed-on: fsfw/fsfw#285
2020-12-08 14:49:47 +01:00
1ecdf34df4 Merge branch 'development' into mueller/unittest-fixes 2020-12-08 14:49:20 +01:00
6f474daae0 Merge branch 'development' into mueller/controller-update 2020-12-08 14:46:18 +01:00
7d70cce4de namepsace fix 2020-12-08 14:45:43 +01:00
fdbe5408b7 renamed namespaces 2020-12-08 14:43:44 +01:00
0c5050ceac Merge branch 'development' into feature/has-file-system-if-init 2020-12-08 14:40:02 +01:00
d9cccdedf3 event update 2020-12-08 14:34:56 +01:00
7e9702c140 Merge branch 'mueller/make-event-update' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/make-event-update 2020-12-08 14:20:08 +01:00
2a025de321 changelog update 2020-12-08 14:19:53 +01:00
66e902d75d Merge branch 'development' into mueller/make-event-update 2020-12-08 14:17:56 +01:00
2e9e8331ea Merge pull request 'op divider additional features' (#286) from KSat/fsfw:mueller/op-divider-update into development
Reviewed-on: fsfw/fsfw#286
2020-12-08 14:15:34 +01:00
2df41cad88 Merge branch 'development' into mueller/op-divider-update 2020-12-08 14:13:44 +01:00
6e852c6c05 Merge pull request 'Fix for ActionHelper unittests' (#293) from mueller/action-unittest-fix into development
Reviewed-on: fsfw/fsfw#293
2020-12-08 14:13:23 +01:00
db5c54fcfe Merge branch 'development' into mueller/action-unittest-fix 2020-12-08 14:12:49 +01:00
aa3fe1e7f0 Merge pull request 'Host OSAL bugfixes' (#289) from mueller/host-osal-atomic into development
Reviewed-on: fsfw/fsfw#289
2020-12-08 14:10:31 +01:00
d93a8692e0 cmakelists update 2020-12-07 12:59:09 +01:00
489a2097b8 fix for host osal linux 2020-12-07 12:25:30 +01:00
c4ba243885 small bugfixes 2020-12-07 12:17:02 +01:00
33d4b57400 additional build option 2020-12-07 02:03:42 +01:00
5e234f1e23 cmake init, printChar tests 2020-12-07 01:40:10 +01:00
bb11bc5685 task if is set now 2020-12-05 17:11:34 +01:00
89e80beb62 task if set now 2020-12-05 17:10:36 +01:00
248ceebf81 taken over host osal from upstream branch 2020-12-05 17:09:49 +01:00
8b74fcff38 Merge branch 'development' into mueller/unittest-fixes 2020-12-05 11:51:54 +01:00
334815463b Merge branch 'development' into mueller/power-update 2020-12-05 11:51:14 +01:00
e6143eb0d8 Merge branch 'development' into mueller/monitoring-update 2020-12-05 11:51:04 +01:00
90f851f9b3 Merge branch 'development' into mueller/parameter-convergence 2020-12-05 11:49:47 +01:00
b6f0049535 Merge branch 'development' into feature/has-file-system-if-init 2020-12-05 11:47:01 +01:00
cb73e507b5 Merge branch 'development' into mueller/make-event-update 2020-12-05 11:46:39 +01:00
50a1ee5691 Merge branch 'development' into mueller/thermal-update 2020-12-05 11:46:06 +01:00
32eec9dfda Merge pull request 'OSAL MessageQueue Hotfix' (#297) from mueller/osal-mq-hotfix into development
Reviewed-on: fsfw/fsfw#297
2020-12-05 11:43:13 +01:00
c8f4bdd09a Merge branch 'development' into mueller/host-osal-atomic 2020-12-05 10:48:59 +01:00
6766abc0fa changelog update 2020-12-05 10:41:37 +01:00
c0e9c22f34 hotfix for message queue 2020-12-05 10:40:53 +01:00
983556b3b3 evil bug fixed 2020-12-05 01:21:04 +01:00
c5c776e676 rtems changes taken over from upstream 2020-12-03 18:57:50 +01:00
bd972ae356 Merge branch 'development' into mueller/thermal-update 2020-12-03 18:33:50 +01:00
64cf0d0a70 thermal update 2020-12-03 18:32:32 +01:00
c70ed5004e Merge branch 'development' into mueller/power-update 2020-12-03 18:30:27 +01:00
9ba8ef1ae2 power update 2020-12-03 18:29:28 +01:00
778f524714 Merge branch 'development' into mueller/monitoring-update 2020-12-03 18:26:23 +01:00
ec3c83bcc1 monitoring update 2020-12-03 18:24:51 +01:00
9781105ad0 moved catch factory again 2020-12-03 14:50:28 +01:00
03aacea4dd fixed unittest 2020-12-03 14:44:11 +01:00
b7a29235f8 deleted memory proxy file 2020-12-03 13:28:56 +01:00
ddcaee4aae Merge branch 'mueller/internal-error-rprtr-update' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/internal-error-rprtr-update 2020-12-03 13:27:00 +01:00
c6db9944fd changelog update 2020-12-03 13:26:50 +01:00
c94f8a8ddb Merge branch 'development' into mueller/internal-error-rprtr-update 2020-12-03 13:24:01 +01:00
f7f062570e new internal error reporter using local pools 2020-12-03 13:21:44 +01:00
98f9896911 Merge branch 'development' into mueller/datalinklayer-convergence 2020-12-03 13:19:43 +01:00
5e092778ed some minor changes 2020-12-03 13:17:28 +01:00
ffcbc11351 Merge branch 'development' into mueller/controller-update 2020-12-03 13:16:25 +01:00
795ff585f8 controller base update 2020-12-03 13:14:30 +01:00
3f9f062435 changelog update 2020-12-03 13:11:52 +01:00
74ba8b7664 changel og updated 2020-12-03 13:10:33 +01:00
0a80bf29b1 Merge branch 'development' into mueller/parameter-convergence 2020-12-03 13:05:12 +01:00
464988ca61 update 2020-12-03 13:00:04 +01:00
0cf65af506 Merge branch 'development' into mueller/newLocalDataPools 2020-12-03 12:58:30 +01:00
6d915b7dcf doc formatting 2020-12-02 23:26:40 +01:00
21c3db4ffc Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master 2020-12-02 23:22:40 +01:00
586e8b0347 function more robust now 2020-12-02 23:22:28 +01:00
f4ed0ce502 doc format improvements 2020-12-02 23:18:48 +01:00
5e77058add added getter function for pending command 2020-12-02 23:15:30 +01:00
2deb7037b0 todo added 2020-12-02 01:07:40 +01:00
558220643e small form improvements 2020-12-02 01:01:31 +01:00
7b742a2e67 warning removed from osal 2020-12-02 01:00:07 +01:00
8ad30d489a important bugfix for host osal 2020-12-02 00:58:13 +01:00
73d3defe9f error output improved 2020-12-02 00:32:07 +01:00
f5c384de14 some bugfixes 2020-12-02 00:27:53 +01:00
206d4b58b2 removed boolean var 2020-12-02 00:17:12 +01:00
a92f6c5d8e mutex bugfix for host 2020-12-02 00:05:54 +01:00
37196c8e3b atomic fix 2020-12-01 23:47:11 +01:00
4d76bf24b5 fsfw compiles without datapoolglob folder 2020-12-01 19:16:19 +01:00
e3de5ce777 device handler changes complete 2020-12-01 19:12:40 +01:00
74b2830d9b using new device handler thermal set 2020-12-01 18:55:53 +01:00
fff928a191 bugfixes and improvements 2020-12-01 18:29:00 +01:00
3fb3039be5 minus 1 replacement 2020-12-01 18:16:26 +01:00
0116bb8663 replacing global pool with local pool DHB 2020-12-01 18:15:09 +01:00
d3711e2dc2 Merge branch 'development' into mueller/make-event-update 2020-12-01 17:46:30 +01:00
94b108e03d changelog update 2020-12-01 17:45:23 +01:00
606aac687b make event api change 2020-12-01 17:44:36 +01:00
84ab5f8318 readme and logo update 2020-12-01 17:19:26 +01:00
314dc577b5 added changelog from upstream 2020-12-01 17:19:00 +01:00
114c1d9061 Merge branch 'feature/has-file-system-if-init' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into feature/has-file-system-if-init 2020-12-01 17:18:01 +01:00
f1c5f19213 changelog update 2020-12-01 17:17:53 +01:00
c41d5b44d4 Merge branch 'development' into feature/has-file-system-if-init 2020-12-01 17:16:54 +01:00
09caeffbc7 added new interface for file systems 2020-12-01 17:15:25 +01:00
e0f063f232 comment added 2020-12-01 17:14:44 +01:00
ede099bdc9 Merge branch 'development' into mueller/op-divider-update 2020-12-01 17:10:02 +01:00
29e701d14d op divider additional features 2020-12-01 17:08:46 +01:00
5eb2cbde0e some additional ionclude fixes 2020-12-01 17:08:03 +01:00
51b9e0074b Revert "testcfg update"
This reverts commit 36b76fa07c.
2020-12-01 17:06:05 +01:00
36b76fa07c testcfg update 2020-12-01 17:04:33 +01:00
a0689320d1 more include fixes 2020-12-01 16:55:24 +01:00
c741ef3945 using relative includes now 2020-12-01 16:50:02 +01:00
8cddf8f509 more relative includes 2020-12-01 16:24:38 +01:00
29eb720071 introducing relative includes 2020-12-01 16:22:59 +01:00
f0f7388c0d Merge pull request 'added 201 packet' (#284) from KSat/fsfw:mueller/service201-packets into development
Reviewed-on: fsfw/fsfw#284
2020-12-01 16:06:08 +01:00
b198a6c13c added packet 2020-12-01 16:04:40 +01:00
07246b8974 Merge remote-tracking branch 'upstream/development' into mueller/DHB-update 2020-12-01 15:39:20 +01:00
2f3ed2d587 Merge remote-tracking branch 'upstream/development' into mueller/enhanced-controller 2020-12-01 15:36:12 +01:00
8c14cdfbd8 changelog update 2020-12-01 15:34:56 +01:00
3149006603 Merge remote-tracking branch 'upstream/development' into mueller/LocalPoolRefactoring 2020-12-01 15:34:13 +01:00
9c64ebcaec Merge remote-tracking branch 'upstream/development' into mueller/LocalPoolRefactoring 2020-12-01 15:33:23 +01:00
a5134769ed Merge branch 'development' into mueller/newLocalDataPools 2020-12-01 15:27:41 +01:00
409f2d1779 Merge pull request 'PUS Improvements' (#283) from KSat/fsfw:mueller/pus-improvements into development
Reviewed-on: fsfw/fsfw#283
2020-12-01 15:27:05 +01:00
ea83261881 Merge branch 'mueller/pus-improvements' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/pus-improvements 2020-12-01 15:26:14 +01:00
0a016f391a changelog update 2020-12-01 15:26:06 +01:00
0b94ed9612 Merge branch 'development' into mueller/pus-improvements 2020-12-01 15:23:50 +01:00
6024c40334 Merge remote-tracking branch 'upstream/development' into mueller/DHB-update 2020-12-01 15:23:36 +01:00
c9bfc0bbfd change log update 2020-12-01 15:22:18 +01:00
052e6e86db Merge pull request 'Small tweaks' (#263) from fsfwexample/small-tweaks into development
Reviewed-on: fsfw/fsfw#263
2020-12-01 15:21:22 +01:00
c9adcc742b Merge remote-tracking branch 'upstream/development' into mueller/enhanced-controller 2020-12-01 15:17:33 +01:00
e097f1b5d6 Merge branch 'development' into fsfwexample/small-tweaks 2020-12-01 15:12:35 +01:00
70b4ca8753 Merge branch 'development' into fsfwexample/small-tweaks 2020-12-01 15:12:18 +01:00
221bf7e228 Merge remote-tracking branch 'upstream/development' into mueller/pus-improvements 2020-12-01 15:10:55 +01:00
0b32d3dac8 change log update 2020-12-01 15:10:23 +01:00
0217dda67b Merge pull request 'Added health service' (#282) from KSat/fsfw:mueller/healthservice into development
Reviewed-on: fsfw/fsfw#282
2020-12-01 15:09:56 +01:00
506f5ff48b Merge branch 'mueller/pus-improvements' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/pus-improvements 2020-12-01 15:07:19 +01:00
a5b1fb0803 Merge remote-tracking branch 'upstream/development' into mueller/pus-improvements 2020-12-01 15:07:13 +01:00
e80d799865 Merge branch 'master' into mueller/pus-improvements 2020-12-01 15:06:36 +01:00
c72ba92247 health service update 2020-12-01 15:05:54 +01:00
257e3e2db9 change log update 2020-12-01 15:03:49 +01:00
1cb8532687 Merge branch 'development' into mueller/healthservice 2020-12-01 15:00:51 +01:00
3e74c18d88 health servicd 2020-12-01 14:59:35 +01:00
fb217c266b Merge branch 'development' into mueller/DHB-update 2020-12-01 14:53:36 +01:00
406ad40da1 Merge branch 'development' into mueller/newLocalDataPools 2020-12-01 14:48:30 +01:00
708a47840b Merge pull request 'Defaultcfg folder update' (#274) from KSat/fsfw:mueller/defaultcfg-update into development
Reviewed-on: fsfw/fsfw#274
2020-12-01 14:46:36 +01:00
72fc313817 Merge branch 'master' into mueller/newLocalDataPools 2020-12-01 14:46:29 +01:00
45df446ab8 change log update 2020-12-01 14:44:03 +01:00
802e24e293 change log update 2020-12-01 14:43:36 +01:00
2f8bc046ad Merge branch 'development' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into development 2020-12-01 14:36:09 +01:00
ea8f73120d Merge pull request 'Merge current release of FSFW development' (#278) from master into development
Reviewed-on: fsfw/fsfw#278
2020-12-01 14:20:15 +01:00
30f4348bff Merge branch 'master' into mueller/DHB-update 2020-12-01 14:11:35 +01:00
a763893716 Merge branch 'master' into mueller/newLocalDataPools 2020-12-01 14:06:07 +01:00
84010db691 Merge branch 'development' into mueller/parameter-convergence 2020-12-01 14:01:32 +01:00
1f78496cd3 changelog update 2020-12-01 14:01:04 +01:00
4b83738241 Merge branch 'mueller/enhanced-controller' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/enhanced-controller 2020-12-01 14:00:10 +01:00
5757f9d7a2 Merge remote-tracking branch 'upstream/development' into mueller/enhanced-controller 2020-12-01 13:59:41 +01:00
74029a8483 Merge branch 'development' into mueller/enhanced-controller 2020-12-01 13:58:40 +01:00
244e2b5f13 Merge branch 'master' into mueller/enhanced-controller 2020-12-01 13:55:18 +01:00
24ba716ab2 Merge branch 'development' into mueller/LocalPoolRefactoring 2020-12-01 13:54:56 +01:00
2930b2dd5a changelog update 2020-12-01 13:52:40 +01:00
9ebf259a9e added back config 2020-12-01 13:50:33 +01:00
b8cc1ccf7e Merge remote-tracking branch 'ksat/mueller/defaultcfg-update' into development 2020-12-01 13:49:30 +01:00
98dae18430 update defaultcfg folder 2020-12-01 13:46:29 +01:00
e323c69f20 better name for preproc define 2020-12-01 13:36:30 +01:00
378cbab64d removed config includes 2020-12-01 13:25:00 +01:00
9086ee2ffe added new tests 2020-12-01 13:24:29 +01:00
f357de21c9 updated testcfg 2020-12-01 13:23:51 +01:00
2e51b90161 Merge remote-tracking branch 'upstream/development' into mueller/LocalPoolRefactoring 2020-12-01 13:22:39 +01:00
ef2e07b389 added explicit type conversion operator 2020-11-30 17:03:14 +01:00
d1beb96c60 some more replacements 2020-11-30 16:30:20 +01:00
f108ae883c local pool replacement 2020-11-30 16:28:16 +01:00
f581b37fcf thermal module replacements 2020-11-30 16:25:09 +01:00
4bb9dd816e compiling again 2020-11-30 16:06:59 +01:00
f70ee7696a it compiles again 2020-11-30 15:30:56 +01:00
e7a96d5ad8 it doesnt work? comment it ! 2020-11-30 14:13:52 +01:00
25f08b8c1f started replacing local pool vars 2020-11-30 13:59:54 +01:00
b7945dfe60 added gp_id_t 2020-11-30 13:45:08 +01:00
fa4597782e some improvements taken over from master 2020-11-30 13:09:56 +01:00
f0ca4be71e fsfw version include removed 2020-11-30 13:09:03 +01:00
e34ff44913 Merge branch 'master' into mueller/enhanced-controller 2020-11-30 12:39:25 +01:00
49479faa1a better solution 2020-11-30 12:37:22 +01:00
c182171b09 updated make file 2020-11-30 12:32:38 +01:00
9cec8e4c0d Merge branch 'development' into fsfwexample/small-tweaks 2020-11-30 12:29:31 +01:00
952978f999 moved perform hk op call 2020-11-29 13:04:38 +01:00
279df93cdf form and doc comments 2020-11-29 13:01:37 +01:00
b7fb1b42e6 added new cfg option 2020-11-29 12:43:19 +01:00
7fadb0d8c6 Merge branch 'master' into mueller/enhanced-controller 2020-11-26 16:28:25 +01:00
25e3d25b28 Merge branch 'master' into mueller/pus-improvements 2020-11-26 16:11:45 +01:00
eb08ef1c1f Merge remote-tracking branch 'upstream/development' into development 2020-11-24 13:46:56 +01:00
767f105762 added changelog 2020-11-24 13:45:34 +01:00
8c294729d0 extern c definition added 2020-11-22 12:34:16 +01:00
1cc0847bb5 small bugfix 2020-11-21 00:15:31 +01:00
ca34250e8d Merge branch 'development' of https://egit.irs.uni-stuttgart.de/eive/fsfw into development 2020-11-20 17:25:43 +01:00
03fad1cfcd better naming.. hopefully.. 2020-11-19 00:10:59 +01:00
0d79d4ab03 replaced spaces with tab 2020-11-18 21:15:48 +01:00
cb5fa4a217 monitoring changes 2020-11-18 21:15:14 +01:00
4fc29adab4 Merge branch 'development' into mueller/parameter-convergence 2020-11-10 11:20:13 +01:00
434709ca96 parameter small stuff 2020-11-10 11:16:56 +01:00
5865e56c54 indentation fixed 2020-11-10 11:15:42 +01:00
7c75c6e8cc parameter helper update 2020-11-10 11:14:07 +01:00
0304f61bde has parametersIF doc improved 2020-11-10 11:00:13 +01:00
6c22fab208 pus service improvements 2020-11-09 21:33:09 +01:00
72f7a1b1b7 translation files removed 2020-11-09 21:24:23 +01:00
225e65628d include corrections 2020-11-09 00:12:39 +01:00
319ae72478 folder config renamed to fsfwconfig 2020-11-08 15:29:06 +01:00
aa45d34b4a include improvements /factory improvement 2020-11-08 15:20:51 +01:00
7ffce219d5 hosted build fix 2020-11-07 14:32:28 +01:00
1b2af5285d message queue depth configurable 2020-11-05 13:12:42 +01:00
8d109b7cd0 preproc define correction 2020-11-05 11:57:05 +01:00
5efbc7496a doc improved, some functions virtual now 2020-11-03 23:39:56 +01:00
cf7385d64e include fixes 2020-11-03 23:32:34 +01:00
e99cf32bdd amazing size checks 2020-11-03 23:29:03 +01:00
f72ee0b7ac small bugfix 2020-11-03 23:26:28 +01:00
65aecc3565 IT IS DONE 2020-11-03 23:23:05 +01:00
e9aecdac26 sth with eclipse indentiation 2020-11-03 22:58:09 +01:00
d87f78f5c3 timer stamper in fsfw now 2020-11-03 22:25:14 +01:00
c69681b402 time stamper 2020-11-03 22:22:26 +01:00
5908f99f0b size t changes 2020-11-03 17:09:33 +01:00
30947d3901 size_t changes 2020-11-03 17:08:40 +01:00
d424d85f6d sizet changes and indentation 2020-11-03 17:07:48 +01:00
695b161934 some bugfixes 2020-11-03 16:54:56 +01:00
9e97357b8c taken over changes from master 2020-11-03 16:46:43 +01:00
f69f9bb31e comments removed 2020-11-03 16:31:25 +01:00
81f5783d37 clock update, definitions file 2020-11-03 16:06:30 +01:00
dcf36d4cee cstdint include added 2020-11-03 15:54:27 +01:00
83f0b4bffc defaultcfg changes taken over 2020-11-03 15:51:56 +01:00
633203eb54 upstream time stamper taken over 2020-11-03 15:50:55 +01:00
38b5695a10 size check + include guard 2020-11-03 15:45:04 +01:00
b71ccf8dd8 some refactoring 2020-11-03 15:28:55 +01:00
3920fd89bd Merge branch 'master' into mueller/enhanced-controller 2020-11-03 12:06:56 +01:00
71382032a1 Merge remote-tracking branch 'upstream/master' into mueller/parameter-convergence 2020-11-02 15:55:07 +01:00
cd71a9cc12 fsfw container taken over 2020-11-02 15:53:08 +01:00
41bf5622f3 master taken over 2020-11-02 15:50:14 +01:00
aed7f31f24 health changes taken over 2020-11-02 15:47:09 +01:00
319765ad1d Merge remote-tracking branch 'upstream/master' into mueller/newLocalDataPools 2020-11-02 15:41:48 +01:00
9180c76ca7 Merge remote-tracking branch 'upstream/master' into mueller/LocalPoolRefactoring 2020-11-02 15:38:08 +01:00
0ff092e8b9 Merge remote-tracking branch 'upstream/master' into mueller/LocalPoolRefactoring 2020-11-02 15:35:30 +01:00
d42a1e2abc Merge remote-tracking branch 'upstream/master' into mueller/newLocalDataPools 2020-11-02 14:46:16 +01:00
1f632b9331 Merge remote-tracking branch 'upstream/master' into mueller/newLocalDataPools 2020-11-02 14:41:47 +01:00
6ea9334923 parameter updates 2020-10-29 17:57:27 +01:00
e0a11f3a6e include guard update 2020-10-29 17:46:44 +01:00
6edc2ef1d6 class IDs moved 2020-10-29 17:42:05 +01:00
641da2aa21 config make update 2020-10-29 17:33:22 +01:00
777457482b fixes for internal unittest 2020-10-29 17:21:51 +01:00
3fc2068011 fsfwconfig update 2020-10-29 17:09:16 +01:00
0919d2c532 updates taken over 2020-10-29 16:52:06 +01:00
3d2778fdf7 doc update 2020-10-29 16:45:47 +01:00
42e611899b added timestamp size 2020-10-29 16:43:03 +01:00
fb12045f23 changes from master taken over 2020-10-29 15:25:03 +01:00
4b2af9eaa6 static keyword removed 2020-10-29 15:15:08 +01:00
172fbd7e48 some changes taken over 2020-10-29 15:13:03 +01:00
7970043cb5 deleted some sutff 2020-10-29 15:12:36 +01:00
176ca56e35 core changes taken over 2020-10-29 15:12:05 +01:00
565fd63d08 makefile moved 2020-10-29 12:07:48 +01:00
29187fbc4b some config adaptions 2020-10-29 11:59:50 +01:00
a38c3e5005 config folder renamed 2020-10-29 11:47:03 +01:00
a9b4874904 new defines added 2020-10-28 22:49:19 +01:00
b860d8bce7 include fixes 2020-10-28 22:34:41 +01:00
6325eb7647 include fixes 2020-10-28 22:11:13 +01:00
24cb83498a include fix 2020-10-28 21:28:59 +01:00
82ccd14692 added new tests 2020-10-28 21:25:11 +01:00
ea04e7d4d6 removed catch2 2020-10-28 21:13:00 +01:00
3244487eae slight improvements 2020-10-28 20:18:58 +01:00
dcb24360d8 form improvements taken over 2020-10-28 20:17:50 +01:00
d1a399a1a8 tm packet store update 2020-10-28 19:46:27 +01:00
90bdb844e7 taken over some changes 2020-10-28 19:27:00 +01:00
2eb1a5c1a0 Merge branch 'master' into mueller/enhanced-controller 2020-10-27 15:11:39 +01:00
b6456c7b69 Merge branch 'master' into mueller/DHB-update 2020-10-27 15:04:35 +01:00
e7210a34f9 output tweaked 2020-10-22 14:34:52 +02:00
742cc6eb76 no command added 2020-10-21 18:19:51 +02:00
c5da6c9464 Merge branch 'master' into mueller/LocalPoolRefactoring 2020-10-21 14:32:24 +02:00
b9f3c1ee84 takne over defaultcfg 2020-10-20 17:53:47 +02:00
057f3b859e added readme and efaultcfg 2020-10-20 17:39:48 +02:00
9309562716 defaultcfg folder added 2020-10-20 17:24:53 +02:00
bb53c71f70 fsfs config update 2020-10-20 17:21:20 +02:00
7033328962 unittest folder added 2020-10-20 17:12:56 +02:00
ef0122ab54 Merge branch 'master' into mueller/enhanced-controller 2020-10-20 16:34:36 +02:00
f7b84c4732 Merge branch 'master' into mueller/DHB-update 2020-10-20 14:56:45 +02:00
95924dd55b some more bugfixes 2020-10-19 15:38:22 +02:00
22e4e464c7 doc improved, new returnvalue 2020-10-19 00:43:10 +02:00
75e67ce5f8 small form improvements 2020-10-19 00:37:26 +02:00
ad9ac7537e bool is mapped to uint8 now for pod type conversion 2020-10-19 00:25:03 +02:00
8b8324f21c some stuff renamed 2020-10-18 23:50:02 +02:00
1bddfeb86b Merge branch 'mueller/LocalPoolTests' into mueller/master 2020-10-18 22:41:37 +02:00
88a89d6797 added basic documentation 2020-10-18 17:32:10 +02:00
8e49806057 some adaptions 2020-10-18 17:23:47 +02:00
3b0b474ab6 better naming 2020-10-18 17:01:49 +02:00
02b7c51318 HasParametersIF less confusing 2020-10-18 16:54:55 +02:00
9a70f75a4b returnvalues added 2020-10-16 01:45:07 +02:00
6f955ed8ba another bugfix 2020-10-16 00:42:49 +02:00
91cf33127a bugfix 2020-10-16 00:41:50 +02:00
bd2f8b3e8c packet matcher uses refactored pool now 2020-10-15 13:45:47 +02:00
7d358483dd added back config includes 2020-10-15 13:44:59 +02:00
67e33918e0 event manager uses refactored pool now 2020-10-15 13:44:09 +02:00
73215baf11 init commit 2020-10-15 13:43:23 +02:00
6baa859628 fsfw config removed for now 2020-10-15 13:42:35 +02:00
ba02becfc9 deleted old files 2020-10-15 13:38:41 +02:00
b6ae82ec2c bugfixes 2020-10-15 13:21:46 +02:00
6e5f029a64 type usage improved, getFillCoutn implemented 2020-10-15 12:47:21 +02:00
48ff5dea08 line break added 2020-10-15 01:57:30 +02:00
56dc06e0ed some little formatting stuff 2020-10-15 01:51:12 +02:00
e5000abbb7 custom cmp operator 2020-10-15 01:31:11 +02:00
364bce90dd small fixes 2020-10-15 01:07:20 +02:00
1ee01ffcdb important bugfixes 2020-10-15 00:54:00 +02:00
64bed475fe important bugfix 2020-10-15 00:43:23 +02:00
d149836612 better form 2020-10-15 00:34:20 +02:00
bdfea9ea38 includes reordered 2020-10-14 23:53:50 +02:00
b3e5946291 implementation added 2020-10-14 23:42:49 +02:00
57c9775d7d add fill count func added 2020-10-14 23:41:16 +02:00
7bd536e763 new templateless pool prototype 2020-10-14 23:20:53 +02:00
ab603abada subscription mechanism almost complete 2020-10-14 20:05:39 +02:00
a9a31308ae update notifications working 2020-10-14 19:52:06 +02:00
5b96161331 optimization and printout improvements 2020-10-14 16:46:00 +02:00
088bc35301 update handler continued 2020-10-14 12:42:30 +02:00
45c0acec5f its all falling into places 2020-10-14 01:38:27 +02:00
9ca086e026 base class extraction complete 2020-10-14 01:25:15 +02:00
72ca2bfa43 added new messages 2020-10-14 00:50:24 +02:00
dbcd06527e separate step for performOp now 2020-10-12 18:28:07 +02:00
9917f7126d Merge branch 'mueller/DHB_separating_steps' into mueller/master 2020-10-12 18:19:28 +02:00
3af79e572e default msg size for health device 2020-10-12 18:19:11 +02:00
140aa3ab42 form improvements DHB 2020-10-12 18:18:41 +02:00
afe5a62789 imrpoved form, removed comm msg for now 2020-10-12 18:12:26 +02:00
d22c6a5fe9 Merge branch 'mueller/master' into mueller/DHB_separating_steps 2020-10-12 17:44:58 +02:00
736ce2d5fd some more form improvements 2020-10-12 17:42:30 +02:00
06c7919daa monitoring form improvements 2020-10-12 17:39:13 +02:00
e4c74ec060 added todos 2020-10-12 16:57:37 +02:00
8c689751b4 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master 2020-10-12 16:55:57 +02:00
b9ebd153a2 added action helper function 2020-10-12 16:55:40 +02:00
b6a23727f2 added extended controller base 2020-10-12 15:40:27 +02:00
18671a0db7 doc wrong 2020-10-12 13:40:24 +02:00
ed71a37004 get command queue override 2020-10-10 20:11:20 +02:00
3e79d2e73a added extended controller base 2020-10-10 20:04:01 +02:00
670e9bfa0f CMD/REPLY prefixes added 2020-10-10 18:12:22 +02:00
b9c7d1bd3f added health subservices 2020-10-10 18:09:04 +02:00
01e7a98425 added announce all subservice 2020-10-10 17:55:38 +02:00
bc0402faf7 health update 2020-10-10 17:49:50 +02:00
837a18135e subsystem folder update 2020-10-10 17:41:51 +02:00
3aa666633e include guard replacements 2020-10-10 17:14:52 +02:00
94884c2402 service 1 small improvements 2020-10-10 17:11:11 +02:00
e338b4662d fix for c++11 comformity 2020-10-09 02:49:18 +02:00
2364c4f9a4 form improvements 2020-10-07 20:47:46 +02:00
6e9db0d675 retval added 2020-10-07 18:43:56 +02:00
9fb38e9b7c better error output 2020-10-06 19:58:29 +02:00
df1a730cdf some form stuff 2020-10-06 16:01:35 +02:00
6a077c583d action helper some formatting stuff 2020-10-06 14:00:18 +02:00
8c43c6993e CSB fifo depth configurable 2020-10-05 22:47:32 +02:00
c17d50bd1e file syste mmessage moved to mission code for now 2020-10-05 19:46:25 +02:00
1431116417 NULL exception somewhere 2020-10-05 12:11:11 +02:00
a7fe23c300 small stuff 2020-10-05 00:12:52 +02:00
f955cd9eee made interface more generic 2020-10-04 23:37:22 +02:00
a8a6d448ec added subservices 2020-10-04 23:24:36 +02:00
2b1029916b using deletei nstead 2020-10-04 15:55:39 +02:00
20c261514b made message interface more readable (dec instead hex) 2020-10-04 14:31:06 +02:00
0c1c61558b very important bugfix 2020-10-03 03:45:29 +02:00
55a4c0423d typo 2020-10-01 20:45:28 +02:00
af038d0a2f master taken over 2020-10-01 20:44:27 +02:00
f9e6b9faca taken over master 2020-10-01 20:42:28 +02:00
0b1b159582 taken over master 2020-10-01 20:40:45 +02:00
bf3276cbb2 taken over master 2020-10-01 20:40:02 +02:00
148bbb4be4 master taken over 2020-10-01 20:36:43 +02:00
f2c07ee9c6 removed tests 2020-10-01 20:35:56 +02:00
5fbb8f8ef0 taken over fixed array list from master 2020-10-01 20:35:13 +02:00
1ecca4b3d8 taken over array list 2020-10-01 20:33:50 +02:00
0714dc6e06 taken over container 2020-10-01 20:31:30 +02:00
26454356f8 tpp extraction 2020-10-01 13:57:34 +02:00
878796f546 Merge branch 'master' into mueller/newLocalDataPools 2020-10-01 13:31:00 +02:00
315777d265 tc distribution equalization 2020-10-01 13:21:23 +02:00
196cde4075 DHB update 2020-10-01 12:30:53 +02:00
322ff54f58 added new message types 2020-10-01 12:28:25 +02:00
a43e8ea603 added srv3 object ID 2020-10-01 12:27:28 +02:00
424d75ef1d Merge branch 'mueller/oldPoolRenaming' into mueller/newLocalDataPools 2020-10-01 12:06:55 +02:00
b313043e43 added new local data pool files 2020-10-01 12:05:24 +02:00
f979d603b4 Merge branch 'mueller/oldPoolRenaming' into mueller/newLocalDataPools 2020-10-01 12:04:33 +02:00
1d837a8570 Merge branch 'master' into mueller/oldPoolRenaming 2020-10-01 12:03:48 +02:00
32ebca48b8 FIFO updates 2020-10-01 11:07:46 +02:00
43b44c57b6 placement fact update 2020-10-01 11:07:20 +02:00
aed2d7fc93 slight formatting 2020-09-30 23:42:18 +02:00
d44428f49c DH IF and DH message improved 2020-09-30 23:38:54 +02:00
d8392de058 made define more generic 2020-09-30 20:28:33 +02:00
b59a4c5de6 equalization complete 2020-09-29 18:02:41 +02:00
3c814a5e61 include fixes 2020-09-29 18:01:55 +02:00
4f3cfdcaaf fixed map and array list implemented as non - members 2020-09-29 16:41:14 +02:00
9013ac240f array list taken over 2020-09-29 16:12:01 +02:00
d85096d98b service 200 take over 2020-09-29 16:03:01 +02:00
e1eb1a3be1 small tweaks 2020-09-29 15:48:42 +02:00
1ea1c8c02f srv9 fix 2020-09-29 15:16:20 +02:00
207d2cab9c service 1 changes taken over 2020-09-29 15:15:29 +02:00
bc23fd65a6 master taken over 2020-09-29 15:13:51 +02:00
0c3fd9c95f Merge branch 'master' into mueller/oldPoolRenaming 2020-09-29 14:58:21 +02:00
fd87a16661 changes taken over 2020-09-29 14:51:25 +02:00
485e96f12f merged changes 2020-09-29 14:49:57 +02:00
40fa8e5405 Merge branch 'master' into mueller/oldPoolRenaming 2020-09-29 14:31:27 +02:00
224248dfa1 removed debug outpuzt for missed deadline 2020-09-29 14:27:31 +02:00
1691d63169 include fix 2020-09-29 13:54:08 +02:00
3663d7269c changes taken over 2020-09-29 13:37:21 +02:00
7b1f72254f object id names improved 2020-09-29 13:30:30 +02:00
53a6225790 doc & tweaks 2020-09-29 12:50:36 +02:00
260fac43f7 bugfix 2020-09-28 23:38:37 +02:00
1f70b1159d another small bugfix 2020-09-28 23:21:21 +02:00
7ff9c29b62 added another command 2020-09-28 22:51:02 +02:00
62ee1391bf added two new commands 2020-09-28 22:48:10 +02:00
1d972fcbef hk messages are cleared properly now 2020-09-28 22:46:18 +02:00
7e9d095ed1 important bugfixes 2020-09-28 22:38:36 +02:00
e48dbb8797 small improvements 2020-09-28 22:17:18 +02:00
786dcdf88d removed clock include 2020-09-28 22:13:17 +02:00
ad2ca814b2 improved doc 2020-09-28 21:28:03 +02:00
bf574c12e4 bugfixes, owner ptr not const anymore 2020-09-28 21:09:56 +02:00
88c4b2a539 bugfixes for srv3 2020-09-28 16:56:42 +02:00
c12110cbf1 has file system IF retvals 2020-09-26 22:23:17 +02:00
6eaade2395 added new mode for local datapool manager 2020-09-26 17:28:03 +02:00
c3830da3d0 bugfixes 2020-09-26 17:24:06 +02:00
4a97596030 internal error reporter uses new local datapool now 2020-09-26 17:21:32 +02:00
e67b1fce9a added additional include 2020-09-26 16:38:07 +02:00
52d8c4f3a8 include guard fix 2020-09-26 15:35:10 +02:00
de08bd6c8a small include fix 2020-09-26 15:33:24 +02:00
5062170407 correct function used now 2020-09-26 15:32:16 +02:00
55bdd2c2f5 include fix 2020-09-26 15:28:28 +02:00
6fd39dfac3 set struct reporting continued 2020-09-26 15:27:06 +02:00
08d0e09493 power equalization 2020-09-26 15:16:13 +02:00
fab7eb8a5d controller base update 2020-09-26 15:03:04 +02:00
9aca5cb6f2 taken over convergence changes 2020-09-26 14:59:40 +02:00
4d1492f130 event cfg file loc not explicit anymore 2020-09-26 14:13:20 +02:00
c24c0ea575 Merge branch 'master' into mueller/oldPoolRenaming 2020-09-26 14:04:41 +02:00
cf28c9ff9d make event func changed 2020-09-25 19:01:59 +02:00
a65745d037 added explicit function to refresh task handle 2020-09-25 18:40:04 +02:00
5ca1c7bca2 coutndown update 2020-09-23 19:58:51 +02:00
43ab0ba270 updated subsystemId ranged 2020-09-23 19:55:48 +02:00
2f0b36de46 updated framework object list 2020-09-23 19:54:22 +02:00
9ff3a8537c Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master 2020-09-23 17:44:41 +02:00
320a5ac355 has health IF improvements 2020-09-23 17:44:22 +02:00
c7a6711eec include fix 2020-09-22 16:25:10 +02:00
d57b329630 Merge branch 'master' into mueller/oldPoolRenaming 2020-09-22 15:24:09 +02:00
4074ca1b89 error code improved 2020-09-22 14:22:14 +02:00
5072c09bc0 csb hotfix 2020-09-22 13:59:25 +02:00
e3cbc4dfd5 shared ring buffer extended 2020-09-22 02:12:02 +02:00
f5d793a1cf file system message getter func 2020-09-20 13:38:53 +02:00
763c52cfca CSB FIFO first steps to make configurable 2020-09-19 21:57:23 +02:00
40db85e73f separate messages for success/failure 2020-09-19 21:36:12 +02:00
cad08e1ea9 error output for failed deletion 2020-09-19 20:54:27 +02:00
e140d39944 some fixes for sd card handler 2020-09-19 20:08:25 +02:00
9e9bde0395 srv23 taken over 2020-09-19 19:50:02 +02:00
44989ada64 file system message taken over 2020-09-19 19:41:41 +02:00
718502c04b added additional flag which casn be used to disable
periodic handling
2020-09-19 17:15:33 +02:00
02f778ea1d new error code added 2020-09-19 17:14:09 +02:00
4ab7a08387 srv3 continued 2020-09-19 17:08:08 +02:00
32c0140cc2 hk stuff continued 2020-09-19 15:58:34 +02:00
9ecbc8199e added periodic helper 2020-09-19 02:46:29 +02:00
ba56f48e8e huge progress on hk + testing 2020-09-19 01:17:43 +02:00
757d2275ea internal bugfix 2020-09-18 15:06:14 +02:00
33e7cca23c several bugfixes amd improvements 2020-09-18 15:01:35 +02:00
5e3f40a2c1 changes taken over from pull request 2020-09-18 13:40:48 +02:00
3a043b5773 object manager tweaks complete 2020-09-18 13:31:51 +02:00
f50a80fc3c minor tweaks 2020-09-18 13:29:42 +02:00
4d4166071c added pus services to framework objects 2020-09-18 13:28:20 +02:00
1b5c3786b6 taken over serviceinterface folder 2020-09-18 13:24:06 +02:00
b429359864 renormalize files 2020-09-18 13:14:01 +02:00
57c88059e5 DHB small improvements 2020-09-18 13:12:07 +02:00
7b0ddb3941 quick fix DHB 2020-09-18 13:09:23 +02:00
e70e9e3f1f added uptime seconds functions 2020-09-18 12:57:30 +02:00
19632b8fb1 linux fixes 2020-09-18 12:36:36 +02:00
e0b2e0b00a fxed linux message queues 2020-09-18 12:31:11 +02:00
37f4cc4644 taken over stopwatch changes 2020-09-18 12:28:29 +02:00
0c6514a682 clock uses getUptime again 2020-09-17 22:31:28 +02:00
6ef5e3e550 queue factory host OS fix 2020-09-16 21:22:53 +02:00
e5dac30e98 new include used now 2020-09-15 17:37:43 +02:00
0d5724e3d4 include improvements taken over 2020-09-15 17:34:07 +02:00
347d591def uses new define and config file now 2020-09-15 17:33:21 +02:00
7643af8607 include guard fix 2020-09-15 17:15:22 +02:00
b8ad17639c include guard fix 2020-09-15 17:02:31 +02:00
850a4a3e3d header file renamed 2020-09-15 16:44:48 +02:00
15891b3cf0 fixed some message queue includes 2020-09-15 16:42:17 +02:00
ad98a63e87 changes taken over from upstream master 2020-09-15 16:02:58 +02:00
e707c5e051 fixes taken over 2020-09-15 15:58:12 +02:00
e8de2fc47a added srv3 2020-09-14 18:29:19 +02:00
2d2316a0c7 hk message continued 2020-09-14 18:01:48 +02:00
f9612afe06 added report status toggler 2020-09-11 14:06:08 +02:00
71125c075a added new setter function 2020-09-10 21:05:50 +02:00
2d2d0de35c local data pool manager bugfixes 2020-09-10 20:24:49 +02:00
d7bbd4b652 severla bugfixes, new periodic op divider added 2020-09-10 19:51:17 +02:00
058a036bac Merge branch 'master' into mueller/oldPoolRenaming 2020-09-10 16:47:21 +02:00
e4d95a4e09 subsystem changes taken over 2020-09-10 16:07:09 +02:00
e57d4a11ae fixed ordered multi map changes integrated 2020-09-10 16:01:05 +02:00
d9dcee3692 array list changes taken over 2020-09-10 15:55:56 +02:00
f35efa3cbe taken over CSB changes 2020-09-10 15:52:00 +02:00
96e471add6 merged fixed map changes 2020-09-10 15:51:11 +02:00
bbc73a6aaf taken over serialize adapter changes 2020-09-10 15:25:29 +02:00
fd09774fc3 serialize if update 2020-09-10 15:18:45 +02:00
f663de2418 taken over changes from master 2020-09-10 15:17:38 +02:00
224ea3914a deleted file not needed anymore 2020-09-10 15:15:13 +02:00
db3e32655d changes taken over from master 2020-09-10 15:05:26 +02:00
18e6de7d6b added compile time check 2020-09-10 15:04:43 +02:00
cefac2db0b assignment operator added 2020-09-10 15:03:28 +02:00
d43ef479b6 assignment operator added 2020-09-10 15:02:58 +02:00
26bb2de050 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master 2020-09-10 15:01:49 +02:00
e085deb235 fifo fix 2020-09-07 15:23:27 +02:00
d99b100ace debug output removed 2020-09-06 18:46:56 +02:00
f61056eeb7 adapted DHB to renaming 2020-09-06 15:30:56 +02:00
790d3f1465 taken over all changes 2020-09-06 15:25:56 +02:00
e9b86e51df init commit 2020-09-06 15:23:38 +02:00
26cbcdbff0 removed comment 2020-09-06 15:21:02 +02:00
673af26472 rework/restructuring 2020-09-06 14:57:05 +02:00
50ae50d286 removed pool raw access helper 2020-09-06 14:01:41 +02:00
ac2f6c5ed4 minor improvements 2020-09-06 12:59:59 +02:00
efa41b29aa added informative comment 2020-09-06 12:16:43 +02:00
8db9a4a191 some minor tweaks 2020-09-06 12:00:57 +02:00
7774434d7a windows sockets working 2020-09-06 11:58:12 +02:00
3e0819f954 some bugfixes 2020-09-06 11:48:32 +02:00
b7c4f5ce05 continued win sockets 2020-09-06 10:36:39 +02:00
0c85b05aca continued win bridge 2020-09-06 09:54:22 +02:00
08ffbfefae added windows udp bridge 2020-09-06 09:33:02 +02:00
f698275a0b removed seconds typedef, confusing 2020-09-05 21:59:17 +02:00
c7606b7b1e updating and cleaning pool files 2020-09-05 21:51:17 +02:00
cb970b1883 task IF is set now 2020-09-05 21:24:59 +02:00
7a24f89915 removed comment 2020-09-05 21:19:15 +02:00
c43ae66205 some tweaks 2020-09-05 21:18:30 +02:00
883103af2b queue map manager update 2020-09-05 21:13:07 +02:00
80e60566d8 compiling and working again 2020-09-05 21:11:27 +02:00
39b675cf99 repairing host osal 2020-09-05 20:39:10 +02:00
05814dc805 added way to start DH immediately, bugfix in event manager 2020-09-05 15:58:53 +02:00
faeeca8707 seiralize folder converged 2020-09-04 16:07:54 +02:00
1803030640 taken over serialize element changes 2020-09-04 16:04:11 +02:00
721b981df2 changes taken over 2020-09-04 16:01:18 +02:00
305d8ef840 taken over changes 2020-09-04 15:56:52 +02:00
f2f7a5de87 taken over convergence changes 2020-09-04 15:47:33 +02:00
0d69e9beca taken over serial uffer adapter from upstream 2020-09-04 15:42:15 +02:00
37764f7ca7 include guard fixed 2020-09-04 15:39:17 +02:00
be89e7ebb7 taken over from upstream with little tweak 2020-09-04 15:36:53 +02:00
cfa952d982 hybrid iterator same to FSFW 2020-09-04 15:33:36 +02:00
fff0131c9b taken over changes 2020-09-04 15:20:07 +02:00
147ab94149 include guard improvements 2020-09-04 15:13:32 +02:00
f4a5067775 update fw class Ids 2020-09-04 14:53:27 +02:00
94b45d7407 changed taken over 2020-09-04 14:49:27 +02:00
9d1f292af0 changed taken over 2020-09-04 14:32:32 +02:00
6980245c98 added line break 2020-09-04 14:30:04 +02:00
31c16382fc took over changed for fixed slot sequence 2020-09-04 14:28:43 +02:00
403d83f32c removed commented out code 2020-09-03 13:01:14 +02:00
dbb394f761 new member to store last step 2020-09-03 00:22:16 +02:00
822a908353 separated steps, everything seems to work 2020-09-03 00:17:01 +02:00
e8fa9816ce doc improved 2020-09-02 23:45:14 +02:00
6069c64048 doc improved 2020-09-02 23:36:54 +02:00
631b2ca705 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master 2020-09-02 17:59:45 +02:00
ae9bc39bda some bugfixes and improvements 2020-09-02 17:59:26 +02:00
33039f8c60 include guard correction 2020-09-01 12:57:56 +02:00
bec562ece0 FIFO updates 2020-09-01 12:54:33 +02:00
a634875b4b dynamic fifo update 2020-09-01 12:50:17 +02:00
7cf79c17a9 fifo update 2020-09-01 12:48:51 +02:00
f7f134ac20 corrections 2020-09-01 12:48:11 +02:00
edde2ee58b offsetr update 2020-09-01 12:43:50 +02:00
15bb0aee98 handler ID cached, debug output improved 2020-08-29 19:08:10 +02:00
6c02776975 added srv9 2020-08-29 00:16:40 +02:00
b0673c7fa6 typo fixes 2020-08-28 18:47:11 +02:00
b6a19f911d include guards improved 2020-08-28 18:45:19 +02:00
1b9c8446b7 renormalized line endings 2020-08-28 18:33:29 +02:00
9abd796e6f updated map packet extraction 2020-08-28 17:58:36 +02:00
8596810fe2 Merge branch 'event/git-update' into mueller/master 2020-08-28 17:58:31 +02:00
b71cab3993 integrated all changes 2020-08-28 17:55:13 +02:00
9f522466f0 wrapped info output in additonal ifdef 2020-08-28 17:52:13 +02:00
e800aad979 event git update 2020-08-28 17:44:10 +02:00
d2ef2b2be4 taken over datalinklayer form upstream 2020-08-28 17:40:53 +02:00
5ce954672b taken over coordinates from upstream 2020-08-28 17:40:21 +02:00
2e23fc1201 Merge pull request 'git is weird' (#15) from mueller/action-git-update into mueller/master
Reviewed-on: #15
2020-08-28 17:37:29 +02:00
8862f35ad1 git is weird 2020-08-28 17:35:27 +02:00
468ebfb809 include improvement 2020-08-28 17:18:11 +02:00
5ca26a72ea fixed some shadowing issues 2020-08-28 17:00:16 +02:00
42dd665e26 include improvement 2020-08-27 20:06:19 +02:00
ed70f38612 some renaming 2020-08-27 20:04:17 +02:00
a6e99e443a took over dHB failure isolation base fixes 2020-08-27 20:00:36 +02:00
4d1b1ba506 additonal doc for freeRTOS semaphores 2020-08-27 17:24:40 +02:00
b9314cffb9 small improvements 2020-08-27 17:13:52 +02:00
5aa664648e linux semaph update 2020-08-27 17:03:54 +02:00
fd42d8cd46 periodic task taken over from master 2020-08-27 16:14:42 +02:00
6d3fdab944 adapted semaphore IF to mutex IF 2020-08-27 15:52:55 +02:00
1dfdd65662 new initializeSequence func 2020-08-27 14:42:10 +02:00
790e0399b7 Merge branch 'mueller/project/distribDatapool' into mueller/master 2020-08-27 14:23:14 +02:00
67ab1f6240 initialize after task crteation moved 2020-08-27 14:17:13 +02:00
0f9930524b some minor improvements 2020-08-26 15:54:13 +02:00
83c9d4fc1c improved tmtc bridge 2020-08-26 14:55:27 +02:00
51b62fd9b1 debug output fix 2020-08-26 03:21:26 +02:00
c314792e86 linebreak changed 2020-08-26 02:52:59 +02:00
da3b2b2500 form improvements 2020-08-25 18:09:05 +02:00
6afbeb8423 removed linker forward decl 2020-08-25 13:42:11 +02:00
92e18b91a3 seriasl buffer update 2020-08-25 13:38:53 +02:00
b97128c12e deserialize improved 2020-08-25 13:29:10 +02:00
c8ba486538 serial buffer adapter 2020-08-25 13:17:57 +02:00
3aa6858c93 Merge branch 'mueller/master' into mueller/project/distribDatapool 2020-08-25 13:04:20 +02:00
11ce3d025f srv3 received reply now 2020-08-24 22:08:27 +02:00
8e7f167a66 small fix taken over 2020-08-24 14:48:22 +02:00
a5227115e5 first subscriptio nfunction written 2020-08-23 23:24:48 +02:00
a95bc6b293 sid cached now 2020-08-23 22:33:22 +02:00
687e124929 doc added 2020-08-23 21:52:44 +02:00
2b63f1b3f3 New reporting mode 2020-08-23 21:00:25 +02:00
2f53a3fb1b Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/master 2020-08-23 20:27:00 +02:00
cdaed4523b tmtc bridge todo added 2020-08-21 16:15:40 +02:00
0d47606229 tm/tc packet stored improvements 2020-08-21 15:49:06 +02:00
15fd30b23f assigned read len for decoding error 2020-08-20 22:31:58 +02:00
9385f90241 some bugfixes and improvements 2020-08-20 20:36:49 +02:00
adbf39166f removed pus parser 2020-08-20 18:13:17 +02:00
f90bd01282 added srv17 and srv201 2020-08-19 17:00:50 +02:00
7b998268cb error message improvement 2020-08-19 13:17:40 +02:00
a1d94ec556 added aditional comment 2020-08-18 20:51:13 +02:00
5af50cfbf7 renamed .mk file 2020-08-18 20:50:24 +02:00
fbecda7549 include replacements 2020-08-18 13:09:15 +02:00
f39b8bdb41 several simplifications 2020-08-10 18:33:28 +02:00
87eb31b65a local data pool manager uses new packet now 2020-08-09 20:06:29 +02:00
9e7d92b387 some renaming , hk packets finished 2020-08-09 19:46:37 +02:00
a181f19c02 Merge branch 'mueller/master' into mueller/project/distribDatapool 2020-08-09 17:13:58 +02:00
5d09ae3221 additional comment 2020-08-08 23:47:44 +02:00
f9ce1d9eb9 more simplifications for shared ring buffer 2020-08-08 23:46:21 +02:00
6484c1a276 shared ring buffer simplified 2020-08-08 23:45:18 +02:00
b092850dfc internal housekeeping packet finished 2020-08-08 21:32:15 +02:00
b828d7c6d7 continued with local datapool manager 2020-08-08 19:56:42 +02:00
e7d28d630c continued with implementation 2020-08-08 19:43:28 +02:00
03cd5780f9 null initializations in header 2020-08-08 13:29:38 +02:00
121e94a385 local pool var update 2020-08-08 13:20:02 +02:00
5c85d03c39 additional check for freeRTOS 2020-08-08 13:04:31 +02:00
fba8775f49 some renaming 2020-08-08 12:51:31 +02:00
f766398b20 some bugfixes 2020-08-08 12:49:20 +02:00
af11c8fcf9 freeRTOS corrections 2020-08-08 12:38:39 +02:00
a6a1e65607 local data set fix 2020-08-08 12:17:27 +02:00
4afb19be51 Merge branch 'mueller/master' into mueller/project/distribDatapool 2020-08-08 12:04:52 +02:00
979fea3400 mutex helper api change 2020-08-07 22:15:03 +02:00
458e849f7d adapting mutex helper to new interface 2020-08-07 22:11:13 +02:00
44b70b45e2 little doc correction 2020-08-07 22:06:20 +02:00
e3d094b2de linux: removed old static timeout values 2020-08-07 22:02:23 +02:00
37f2539d89 empty line removed 2020-08-07 20:44:40 +02:00
bfecbfbd80 implemented new mutex interface 2020-08-07 20:36:37 +02:00
1a118fe215 added documentation to assembly base 2020-08-07 19:21:47 +02:00
66039bd3fe move group def down 2020-08-04 18:14:39 +02:00
c4ffb1acd5 subservice number correction 2020-08-04 18:12:15 +02:00
3f87537c61 minor corrections 2020-08-04 15:25:24 +02:00
4d3f0875c1 periodic task if adapted 2020-08-04 15:23:37 +02:00
2177877625 updated framework subsystem ID ranges 2020-08-04 15:16:09 +02:00
4dcfa5125e added additional calls 2020-08-04 11:47:47 +02:00
6b475792a4 shared ring buffer continued 2020-08-04 02:25:10 +02:00
4e9e465360 shared ring buffer continued 2020-08-04 02:00:00 +02:00
0ead44bea9 getFreeElement implemented 2020-08-04 01:07:59 +02:00
f240827bbd added getFreeElement 2020-08-04 00:59:19 +02:00
ebf5d41a78 parameters IF doc and improvement 2020-08-01 19:03:03 +02:00
7475e6a9b8 Merge branch 'mueller/master' into source/master 2020-08-01 17:06:12 +02:00
66eac57e3b csb update 2020-08-01 16:54:54 +02:00
58a4f4f8a1 command message bugfix, CSB improvement
parameter helper diagnostic message
2020-08-01 16:39:17 +02:00
76cc3e96e8 Merge branch 'mueller/master' into source/master 2020-08-01 12:34:46 +02:00
18899a4c82 hotfix for deadline checking 2020-07-29 20:07:24 +02:00
276c3b172e better diagnostic warning for DHB 2020-07-29 15:32:36 +02:00
c64aa9f7f5 another important bugfix 2020-07-28 21:00:11 +02:00
9fa9421ba5 important bugfix 2020-07-28 20:57:05 +02:00
9acf82cf51 doc improved 2020-07-28 18:12:10 +02:00
69f9ff02f0 better returnvalue for failed comIF init 2020-07-28 17:00:51 +02:00
afc16ef2d7 new servicei nterface buffer /stream 2020-07-28 12:49:18 +02:00
6425c0dd4c better init error output 2020-07-26 03:12:04 +02:00
e179288c00 Fixed spelling mistake in HealthHelper 2020-07-16 13:30:04 +02:00
b7411591a1 Merge branch 'mueller/master' into mueller/project/distribDatapool 2020-07-16 12:42:02 +02:00
b4d6d970bc removed HK manager virtual functions 2020-07-16 12:41:05 +02:00
aaafed7b28 health table init now mandatory, better
diagnostic output for uninit health table or invalid health helper owner
2020-07-16 12:38:21 +02:00
47b3a428c6 removed device switch, not necessary anymore 2020-07-16 12:33:03 +02:00
a0b8f8855c cotinued distir datapool 2020-07-16 11:45:23 +02:00
e5ab7ada68 added new interfaces for datasets 2020-07-14 15:45:03 +02:00
e204bd77c6 created tpp file for fixed ordered multimap 2020-07-14 02:21:11 +02:00
e7b6999c5e added back inttypes.h for cleaner code 2020-07-13 22:13:19 +02:00
15052cb333 singly linked list update 2020-07-13 19:54:38 +02:00
6d99ab3df3 ncreased readability of DHB function 2020-07-13 19:37:33 +02:00
b4f292f3d7 new generic freertos task interface 2020-07-12 18:01:09 +02:00
99aef0cf28 C++ linkage for yield from ISR function 2020-07-12 01:16:32 +02:00
7d794c7623 task management functions have freertos syntax now 2020-07-11 18:24:09 +02:00
799846d89f little formatting changes 2020-07-11 14:29:30 +02:00
e4f795d209 stack high watermark in bytes now 2020-07-11 13:38:14 +02:00
ffba664144 Merge branch 'mueller_framework' into front_branch
changes for new freertos task monitor
2020-07-11 11:57:46 +02:00
69946d5276 FIFO hotfix 2020-07-11 11:52:01 +02:00
35d4267b40 dynamic fifo bug fixed 2020-07-11 02:36:04 +02:00
6a6395313f added copy ctor and assignment for FIFObase 2020-07-11 01:06:01 +02:00
444ee80f35 removed unnecessary case and added more size checks 2020-07-10 20:31:10 +02:00
3145036210 getter functions for task handle 2020-07-10 19:34:18 +02:00
36a7f2f9ee removed file header comment 2020-07-10 14:32:25 +02:00
e29226c9bb srv8 improved 2020-07-10 14:28:36 +02:00
9716bcdd74 Merge branch 'mueller_framework' into front_branch 2020-07-10 13:55:14 +02:00
a7d68f8c52 deleted copy ctor 2020-07-10 13:31:45 +02:00
be8913efea srv8 improvements 2020-07-10 03:30:52 +02:00
9cbc1a18b8 csrv200 improvements 2020-07-10 03:16:08 +02:00
bdc6e88198 reordered includes 2020-07-10 03:09:32 +02:00
3551a767a7 removed old code 2020-07-10 03:06:18 +02:00
f3739fd213 bugfix failure isolation base 2020-07-10 02:44:58 +02:00
7a4cc1a6b6 hk manager initialized now 2020-07-10 01:22:23 +02:00
1fde3c2c99 added srv200, CSB doc 2020-07-10 00:19:25 +02:00
cdd877032f doc for system object IF improved 2020-07-09 23:20:48 +02:00
57418eb877 distrinction between default settings
and individual settings for service
2020-07-09 20:04:49 +02:00
ad049cc634 tmtc bridge formatting improvements 2020-07-09 19:41:52 +02:00
ceb6197904 some minor improvements 2020-07-09 17:01:12 +02:00
da30680d04 readability improvement 2020-07-09 16:54:18 +02:00
0cdce6e327 Merge branch 'mueller_devel_distribDatapool' into mueller_framework 2020-07-09 16:47:39 +02:00
a5d3d9ea80 improved init function 2020-07-09 16:46:57 +02:00
5a351474d2 DHB ctor simplified 2020-07-09 16:31:33 +02:00
32ef807341 newline 2020-07-09 15:49:52 +02:00
ecd740a101 ring buffer base calls made protected 2020-07-09 15:47:50 +02:00
6f50356964 new shared ring buffer 2020-07-09 14:26:15 +02:00
ac9e6e1337 continued with local data pool manager 2020-07-09 00:59:10 +02:00
c8821ae74f Merge pull request 'A lot of new features and tweaks' (#12) from mueller_framework into front_branch 2020-07-08 18:49:09 +02:00
64c290ffe4 include guard fix 2020-07-08 18:38:58 +02:00
dc27cc9aff srv8 added to framework 2020-07-08 18:37:26 +02:00
8046d005a4 CSB static framework id setting 2020-07-08 18:18:54 +02:00
236ad1b85b a lot of debug output added 2020-07-08 15:06:46 +02:00
5ec78b065c error handling for invalid dest queues improved 2020-07-08 13:29:57 +02:00
b56aa94f99 additional doc 2020-07-08 12:54:40 +02:00
01b1080376 readability increase 2020-07-08 12:53:46 +02:00
94f9b1e1ef dle encoder doc finished and hopefully correct 2020-07-08 12:41:15 +02:00
264914e86a tmtcbridge tweaks.
UDP bridge now working :-D
2020-07-08 03:18:09 +02:00
2efcda735f message arriving.
big clean up in tcdistribution folder
2020-07-08 02:20:38 +02:00
399fc0e287 fifo replacements 2020-07-07 17:42:37 +02:00
dd48f7ccad some form improvements 2020-07-07 17:28:00 +02:00
06d389ed1e increased srv2 readability 2020-07-07 17:25:52 +02:00
684b56ac88 srv2 tweak: CSB params now configurable 2020-07-07 17:21:47 +02:00
7698f3f13e moved srv2 to framework 2020-07-07 17:18:33 +02:00
359163886b pus srv5 and 1 moved to framework 2020-07-07 17:06:30 +02:00
4f1f610ae0 doc and improvements for DLE encoder 2020-07-07 16:36:41 +02:00
e48de981f5 Merge branch 'mueller_framework' into front_branch 2020-07-06 23:31:38 +02:00
cb691db807 fifo tweaks, pus parser fixes 2020-07-06 23:07:38 +02:00
fd1e612ea5 pus parser fixes 2020-07-06 20:17:05 +02:00
8ba75fc3c2 pus parser implemented 2020-07-06 19:36:21 +02:00
f442a5889e pus parser continued 2020-07-06 16:34:11 +02:00
78283ddbee queue map manager: not using std::atomic anymore 2020-07-06 14:09:33 +02:00
b61e1df8bc fifo in namespace now 2020-07-06 13:43:41 +02:00
bb5de8f110 merged new changes 2020-07-06 13:41:07 +02:00
2158208a2f new pus parser 2020-07-06 00:33:55 +02:00
ebec074655 Split up FIFO into StaticFIFO and normale FIFO 2020-07-05 23:53:13 +02:00
2395e487ae udp polling taks init 2020-07-05 20:42:05 +02:00
327b1e9d2f file renamed 2020-07-05 19:11:21 +02:00
724fee09ff new task for tc unix polling 2020-07-05 18:58:16 +02:00
26ab1983dc new ports 2020-07-05 18:22:39 +02:00
9e2fa16550 mq stack error improved 2020-07-05 15:31:02 +02:00
fcf3f04377 diag output for inits improved 2020-07-05 01:25:49 +02:00
9dcf0c7118 size_t for DataPoolAdmin 2020-07-05 00:36:53 +02:00
b86e5664c4 include which was missing, pool raw access size_t replacements 2020-07-05 00:33:03 +02:00
1a177d2efa integrated pool raw access serialize changes 2020-07-05 00:28:06 +02:00
24240b6c7d Documented EndianConverter and changed length to size_t 2020-07-05 00:12:04 +02:00
c160000027 Corrected filename of EndianConverter.h 2020-07-05 00:10:04 +02:00
5cee126841 formatting 2020-07-05 00:06:30 +02:00
571da39108 continued new bridge 2020-07-04 23:52:44 +02:00
e0a3257f8b even better output for unset max msg size 2020-07-04 23:20:29 +02:00
72768a6815 started unix udp bridge 2020-07-04 00:51:49 +02:00
18173772af Merge branch 'mueller_framework' into mueller_merge_mohr_serialize 2020-07-02 16:56:27 +02:00
099e6281ec DataSetBase not bound to max size anymore 2020-07-02 16:54:53 +02:00
3e069c34aa datasetbase stays same f or now 2020-07-02 16:29:29 +02:00
8011d49ebc Merge remote-tracking branch 'upstream/master' into mueller_framework 2020-07-02 16:07:16 +02:00
47b8ed2321 split up long debug message 2020-07-01 14:34:16 +02:00
d7bff31a4c compiling again 2020-07-01 14:17:55 +02:00
6802ff7d71 Merge remote-tracking branch 'upstream/mohr_serialize' into mueller_merge_mohr_serialize 2020-07-01 13:15:58 +02:00
837fecf859 added hk receiver obj id to dhb ctor 2020-06-30 21:22:26 +02:00
062ebabb9a Merge branch 'mueller_framework' into front_branch 2020-06-30 16:41:38 +02:00
1820b5f95c hotfix for copy ctor 2020-06-30 16:02:07 +02:00
2de972bb8a const store accessor copy ctor fixx 2020-06-30 15:51:19 +02:00
3a85001855 bit setter correction 2020-06-30 00:48:48 +02:00
85cc936d5d added back clear CommandMessage function 2020-06-29 16:50:45 +02:00
e2a36efce3 csb changes taken over 2020-06-29 16:47:58 +02:00
48df3cbe83 csb comment improved 2020-06-29 16:43:02 +02:00
691be0dcd4 dhb doc improvements 2020-06-29 16:39:55 +02:00
044aa259e6 dhb cached pst interval now 2020-06-29 16:37:55 +02:00
ae6314d8cd added task handle member 2020-06-29 16:06:53 +02:00
003e70bf47 new initializeAfterTaskCreation() 2020-06-29 15:55:20 +02:00
d5d968a393 some more correctioons 2020-06-29 15:46:16 +02:00
b81b458ba6 exec task if new init function, some corrections 2020-06-29 15:44:18 +02:00
71f997888b Merge branch 'mueller_framework' into front_branch 2020-06-26 13:33:19 +02:00
ba5b8bd682 hybrid iter update 2020-06-26 13:28:58 +02:00
08f25370f3 moved typedefs into namespace 2020-06-24 12:03:52 +02:00
0c32a96452 some more singly linked list improvements 2020-06-24 11:54:41 +02:00
8d633bf127 took over changed for singly linked list 2020-06-24 11:40:48 +02:00
6f2bb4125d bugfix 2020-06-24 02:02:57 +02:00
7f3607c3d9 hk service fixed 2020-06-24 02:00:26 +02:00
61370d43da Merge branch 'mueller_framework' into front_branch 2020-06-24 01:29:11 +02:00
bb9f606ffd Merge remote-tracking branch 'upstream/master' into mueller_framework 2020-06-24 01:26:23 +02:00
16cbbb2693 linux fixes 2020-06-24 01:11:48 +02:00
af24cc7d04 some bugfixes 2020-06-24 00:49:13 +02:00
c7c49b4239 deleted command messge base 2020-06-24 00:30:32 +02:00
3bf29a7315 removed CommandMessageBase, changed interfaces 2020-06-24 00:24:15 +02:00
905c1a92e3 reverted some changes 2020-06-23 21:03:22 +02:00
56455a5fa2 added static function as alternative to macro 2020-06-23 14:11:53 +02:00
67366c25a0 typo fix 2020-06-23 13:49:25 +02:00
5f16d30d82 all ones value for return failed now 2020-06-23 13:47:38 +02:00
6f4682e1c8 hasactionsIF include guard and doc 2020-06-23 12:53:30 +02:00
2ecd7c4493 some minor improvements 2020-06-23 11:05:40 +02:00
446e7d2f82 const storage accessor improvement 2020-06-23 11:00:40 +02:00
45ffb7549a storage accessor const in own file now 2020-06-23 10:58:48 +02:00
e27310da40 updates for tmtcbridge 2020-06-23 10:47:31 +02:00
c0beef4463 some include guards, todo comments 2020-06-23 10:27:44 +02:00
64a02c55ba linux fixed, size checks added 2020-06-23 01:37:25 +02:00
f7d55a8a37 equal to pull request now 2020-06-23 01:15:35 +02:00
847292ea30 added overflow checking for periodic task 2020-06-23 01:10:19 +02:00
a82dbcbd50 minor doc correction 2020-06-22 23:47:18 +02:00
6a7f47e06d doc fix 2020-06-22 23:46:44 +02:00
dadc867d9e adapted MessageQueueSenderIF function calls 2020-06-22 20:18:13 +02:00
5734a0a0e9 some fixes necessary to perform size check 2020-06-22 19:22:52 +02:00
3b2fa978e1 replaced break with continue 2020-06-22 19:06:10 +02:00
109fdad8b3 size check for message queue 2020-06-22 15:34:35 +02:00
65c775b83c Merge branch 'mueller_framework' into front_branch 2020-06-19 20:48:35 +02:00
45a55044dd using debug stream now 2020-06-19 20:47:36 +02:00
95b646046b debug output working again 2020-06-19 20:43:29 +02:00
3936fe9360 linux fix 2020-06-19 20:34:19 +02:00
2c04b87418 corrected includes 2020-06-19 20:18:00 +02:00
1b0e7c84c7 linux periodic task improvements 2020-06-19 20:15:58 +02:00
2de811e0af moved timeslot files to task folder
implmented setting task IF for regular periodic tasks
2020-06-19 20:14:56 +02:00
eb4ce980fe small fixed 2020-06-19 14:32:04 +02:00
60ae2d4565 continued with hk data pool
added deadline missed check for fixed timeslot task,
improved doc for both periodic task and fixed timeslot task
2020-06-19 14:25:03 +02:00
84b8d733c0 hk continued 2020-06-19 03:03:17 +02:00
583efec3f8 nullptr 2020-06-17 20:45:44 +02:00
ed26992d7f shoulddo added 2020-06-17 20:40:40 +02:00
bb16fd80b8 singly linked list improvements 2020-06-17 20:37:45 +02:00
259517ac9b single linked list improvement 2020-06-17 20:22:09 +02:00
d5ae74f860 bugfix hk message size 2020-06-17 20:21:49 +02:00
b68ad9e4f9 new ctor for simple ring buffer which does not
allocate
2020-06-17 19:50:26 +02:00
f8f10a1730 slight hybrid iter improvements 2020-06-17 19:41:10 +02:00
38676308e3 improved array list a bit 2020-06-17 19:37:55 +02:00
813e82415a additional doc info 2020-06-16 11:03:24 +02:00
555b7cc982 Merge branch 'mueller_framework' into front_branch 2020-06-15 17:59:59 +02:00
7871ee7ca8 mutex helper little formatting correction 2020-06-15 17:39:52 +02:00
e39d5689e5 device com IF formattign 2020-06-15 16:56:22 +02:00
c9d8bd59f0 ctor improved 2020-06-15 11:11:42 +02:00
6ecf1cf534 hk message continued 2020-06-14 19:03:28 +02:00
9f69191f23 optimized command messages a bit 2020-06-14 17:59:14 +02:00
cd424d79e7 Merge branch 'mueller_framework' into front_branch 2020-06-14 17:13:52 +02:00
8c03f6a823 command message only passed IF now 2020-06-13 21:01:01 +02:00
6b67f46c80 evil hidden bug found.
CSB uses CommandMessageIF now
2020-06-13 17:37:48 +02:00
7b538e9750 introduced command message base and
command message IF
2020-06-12 20:23:39 +02:00
f578c3ea29 set buffer: const buffer is set too 2020-06-11 16:46:18 +02:00
60aed39bc5 Merge branch 'mueller_framework' into front_branch 2020-06-11 16:22:50 +02:00
6838a9e768 serial buffer adapter bugfix 2020-06-11 16:19:22 +02:00
206235ed47 dataset base bugfixes 2020-06-11 16:03:09 +02:00
a9c7ad84c8 added new interface to host and linux osal 2020-06-11 02:03:18 +02:00
c1fe326f67 Merge branch 'mueller_framework' into mueller_newCommandMessageTest 2020-06-10 23:42:09 +02:00
3268806f75 split up huge function to be more readable 2020-06-10 22:51:54 +02:00
b2ed0edce0 Merge remote-tracking branch 'upstream/master' into mueller_newCommandMessageTest 2020-06-10 22:45:04 +02:00
bb9a299e33 added back removed comments 2020-06-10 22:19:40 +02:00
5007041bc8 cleaned up includes and improved doc a bit 2020-06-10 22:12:29 +02:00
659594bac7 better include guard and doc form improvement 2020-06-10 21:35:47 +02:00
606957dc24 PSB update 2020-06-10 21:26:45 +02:00
8fbd414a86 Merge remote-tracking branch 'upstream/master' into mueller_framework 2020-06-10 20:57:04 +02:00
52c887925f iomanip include 2020-06-10 20:53:28 +02:00
b6427d017b Merge branch 'mueller_framework' into front_branch 2020-06-10 01:19:00 +02:00
20e3b3c0e2 0 replaced by MQIF::NO_QUEUE 2020-06-10 01:10:16 +02:00
3277d199ac linux mq update 2020-06-10 01:07:50 +02:00
47aa9ddcc3 doc for mqm improved 2020-06-09 02:46:19 +02:00
8ff6506ad9 MessageQueue refactoring complete 2020-06-09 02:18:39 +02:00
b1f91439c6 deleted copy ctor taskes const ref now 2020-06-08 17:50:09 +02:00
07302e0d2a removed include 2020-06-08 17:44:54 +02:00
b20ba1f938 Merge remote-tracking branch 'upstream/master' into front_branch 2020-06-08 14:06:01 +02:00
3cb79ebc86 Merge remote-tracking branch 'upstream/master' into mueller_framework 2020-06-08 14:05:40 +02:00
0ea249aac4 messagetype namespace im small letters now 2020-06-08 12:25:20 +02:00
4c41456ddf thoughts on message queuee message
new interface. What if there are MQ messages with different sizes?
-> generic interface

furthermore, maybe command message should be refactored to operate
on a mq message instead of implementing it
2020-06-08 01:22:21 +02:00
2649fa1507 small small command message tweaks 2020-06-07 23:38:15 +02:00
e8bc2cec9f small comment in semaph factory 2020-06-07 23:26:52 +02:00
4a90f41122 generate HK packet function continued 2020-06-07 18:53:55 +02:00
3b4413a6ee added queue lock for receiveMessage 2020-06-07 16:12:23 +02:00
98e6ca5f78 removed locks in lockless functions 2020-06-07 15:22:32 +02:00
73932f0349 object maanager tweaks 2020-06-07 13:58:51 +02:00
fe5b50d885 improved documentation signigicantly 2020-06-07 02:22:18 +02:00
d0b218c18e renaming for host os 2020-06-07 01:40:48 +02:00
3c80bdfefa some linebreaks 2020-06-07 01:18:19 +02:00
33cc8591dc yaaay, hardcoded values 2020-06-07 01:17:24 +02:00
c81613690b no_queue value is 0xffffffff now 2020-06-06 23:41:54 +02:00
65999ac6d6 pool var no param is one now 2020-06-06 23:30:16 +02:00
3d8993b0c5 new typedef names 2020-06-06 23:23:20 +02:00
9ed92e5e6f clock typedefs renamed 2020-06-06 23:21:51 +02:00
70212d9f4e slight formatting 2020-06-06 23:15:42 +02:00
8216b26fde datapoollocal updates 2020-06-06 23:15:05 +02:00
ea548dea5b map lock init 2020-06-06 21:16:47 +02:00
d99be25529 cookie info iter was uninitialized
leads to crash
2020-06-06 20:52:28 +02:00
262d34174e using strncat now 2020-06-06 18:56:54 +02:00
b79efa6d6c variable for name len 2020-06-06 16:25:06 +02:00
096fbec156 cleaned includesu p a bit 2020-06-06 15:40:10 +02:00
dc9ef41bec added doc for linux 2020-06-06 15:31:45 +02:00
b0634ab0a2 fixed bug (critical!) 2020-06-06 15:26:22 +02:00
ef01b78140 some issue with stack size .. 2020-06-06 15:01:57 +02:00
212cd58f9a issues with fixed timeslo ttask on linux 2020-06-06 14:45:45 +02:00
788f7a3745 better name for mq 2020-06-06 13:59:00 +02:00
95bc5a871b improved diagnostic messages for linux 2020-06-06 13:56:35 +02:00
04236859da slight improvements to diagnostic ouput 2020-06-06 13:03:37 +02:00
5289497ab5 health helper optional, diagnostic output improved 2020-06-06 12:59:43 +02:00
d35524ecbc decoupling from raw reciever, linux mq improvements 2020-06-06 12:41:17 +02:00
8e7593d68a removed error handling in separate fnctn 2020-06-06 02:10:21 +02:00
b4561465ba some little form improvements 2020-06-06 01:36:07 +02:00
d600d48816 added the decoupling of DHB from powerSwitcher
+ some first hk maanger changes, might comment them out
2020-06-06 01:31:08 +02:00
87f64d99cd implemented fixed timeslot task 2020-06-05 23:18:00 +02:00
d74f2c7560 housekeeping folder added to .mk file 2020-06-05 21:40:06 +02:00
579115f904 adapting host osal 2020-06-05 21:36:50 +02:00
2b646551e9 mutex helper new output error 2020-06-05 20:40:22 +02:00
e9a9a543ce fw message count one line further 2020-06-05 20:38:59 +02:00
0d4d4123ab added new message type (hk) 2020-06-05 20:37:46 +02:00
7247a1af7e new class ids 2020-06-05 20:36:25 +02:00
9ec2283d13 hk folder update 2020-06-05 20:35:08 +02:00
319fa9ddb6 datapoollocal update 2020-06-05 20:34:34 +02:00
e04e6a6f15 datapoolglob update 2020-06-05 20:33:57 +02:00
9fd5ef0194 updated datapool files 2020-06-05 20:28:06 +02:00
8d3ac33b0e reordering init list for compiler 2020-06-05 20:18:38 +02:00
872c350a92 another small bugfix (this-> was missing) 2020-06-05 18:36:22 +02:00
ef3e5c4582 very important bugfix for serial buffer adapter 2020-06-05 18:20:21 +02:00
dbeb04895b added hosted OSAL 2020-06-05 17:55:03 +02:00
4ebd937fe0 deleted old printer file 2020-06-05 16:47:46 +02:00
abcd818f2f printer renamed to arrayprinter 2020-06-05 16:44:31 +02:00
2a632ae711 Merge branch 'mueller_framework' into front_branch 2020-06-05 16:03:58 +02:00
d7036edb94 hotfix 2020-06-05 15:53:20 +02:00
dd210e99af additional include which was missing 2020-06-05 13:45:18 +02:00
904721cc36 improved pool entry iF 2020-06-05 13:44:11 +02:00
dd193fd64d obj manager.cpp improvements 2020-06-04 21:27:37 +02:00
e4944a067c change made was wrong (pointers in map are not deleted!) 2020-06-04 21:24:44 +02:00
d423c00115 additional nullptr check 2020-06-04 21:14:35 +02:00
569724843e object manager improvements 2020-06-04 21:11:49 +02:00
849053b830 small fix for object manager.cpp 2020-06-04 21:04:24 +02:00
71487d60ca onj managerIF update 2020-06-04 21:01:09 +02:00
3eca16ff78 removed exit clause 2020-06-04 20:59:52 +02:00
405e1149e5 Merge branch 'mueller_framework' into front_branch 2020-06-04 20:41:30 +02:00
4d59ddc3db some fixes, check for preamble size 2020-06-04 19:50:26 +02:00
6ff1cf46c5 new service interface stream 2020-06-04 19:40:43 +02:00
f2a9d29696 Merge remote-tracking branch 'upstream/master' into mueller_framework 2020-06-04 14:45:06 +02:00
a115bf1186 store access improvements 2020-06-04 14:43:33 +02:00
925a54dec9 more improvements for servicei nterface 2020-06-04 01:06:03 +02:00
17ed9b7796 OS renamed to OS_FSFW (nameclash with system variable) 2020-06-03 23:38:02 +02:00
5eb3d77bdb clarfiying comment 2020-06-03 23:29:00 +02:00
0a512abc33 additional clarification comment 2020-06-03 23:26:27 +02:00
5b93799ea6 added forward declarations for service interface streams 2020-06-03 23:10:04 +02:00
1c0ca4c329 some changes to take care of activity 2020-06-03 23:02:23 +02:00
3483dff2ab some more interface improvements 2020-06-03 22:56:03 +02:00
5036cdbef3 queue factory first param uint32_t again 2020-06-02 23:54:24 +02:00
6972e72fbf fixed order 2020-06-02 23:52:31 +02:00
f0be1b1fff Merge branch 'mueller_framework' into front_branch 2020-06-02 22:27:57 +02:00
54edeacb2d changed names for linux 2020-06-02 22:25:28 +02:00
986dc2047e replaced mutexIF and semaphoreIF name for timeouts 2020-06-02 22:19:48 +02:00
f0a25b5e2b new timeout values for MUtexIF and SemaphIF 2020-06-02 22:10:34 +02:00
de6ed5c085 improved include guard and removed old comment 2020-06-02 15:57:04 +02:00
42f0687a6b self deletion nullptr 2020-05-31 23:28:51 +02:00
c8a36a79de corrected doc for task factory interface 2020-05-31 00:23:38 +02:00
c34c6238c6 Merge branch 'mueller_framework' into front_branch 2020-05-29 17:56:06 +02:00
7a22d12d0f removed extern "C", not needed 2020-05-29 17:48:24 +02:00
914bf8b9fc seconds_t is double now 2020-05-29 17:45:53 +02:00
4d4ca2f3bd doc fix for stopwatch 2020-05-29 17:43:37 +02:00
f13eff79c9 another little include guard fix 2020-05-29 16:51:09 +02:00
6b0558d6c7 added author tag back 2020-05-29 16:49:11 +02:00
3ef939aca8 fixed inclue protection 2020-05-29 16:46:26 +02:00
5cf9e938cc added include protection 2020-05-29 16:45:03 +02:00
b90492562a added author tag back at class definition 2020-05-29 16:40:57 +02:00
f14bacba32 using nullptr now
added new distinction between blocking (MAX_TIMEOUT) and polling
(NO_TIMEOUT)
2020-05-29 14:15:45 +02:00
6a3dc94108 removed extern "C" for freertos includes 2020-05-29 13:18:27 +02:00
d5352a9b87 actually extern "C" is not needed
it is included by freeRTOS
2020-05-29 13:15:37 +02:00
e7ae35c659 improved structure a bit 2020-05-29 13:09:47 +02:00
5169c09fd8 improved includes 2020-05-29 13:07:35 +02:00
78ae109a08 removed context switch request
(shall be done at end of ISR, so must be performed by caller)
2020-05-29 13:02:13 +02:00
da403c01d0 retval fix, unittest running again 2020-05-29 03:03:48 +02:00
3d2935ac69 linux time lib improvements
stop watch other function used (more precise for linux)
2020-05-29 02:23:14 +02:00
ccf79ab5b6 output correction for linux 2020-05-29 01:55:20 +02:00
671f298935 implemented counting semaph for linux 2020-05-29 01:41:16 +02:00
56498e5bc1 linux bin semaph unlocked 2020-05-29 00:50:44 +02:00
8676fcd9a9 yay, linux bin semaph finished 2020-05-29 00:47:54 +02:00
60872f936c some output improvements 2020-05-27 23:43:40 +02:00
08ffe89682 doc and api improvements 2020-05-27 23:41:59 +02:00
7ce505fdf9 some safety updates and fixes 2020-05-27 23:29:06 +02:00
63dbf99592 counting semaph implementation finished 2020-05-27 22:12:52 +02:00
95bf5c1071 improved const correctness 2020-05-27 21:33:34 +02:00
c4e60946d3 improved bin semaph implementation 2020-05-27 21:30:20 +02:00
88e3dc15b2 replaced old semaph api 2020-05-27 21:27:31 +02:00
7145982b4a improved documentation 2020-05-27 19:59:59 +02:00
eabee85ba9 tweaked factory to have configurability 2020-05-27 19:56:02 +02:00
b4065c7764 seperation of semaph implementations finished 2020-05-27 19:46:56 +02:00
8a1e0dab03 continued with task notifications 2020-05-27 19:03:46 +02:00
2d33274c23 implementing new task notifications 2020-05-27 17:42:18 +02:00
968d7fad81 replaced some timeout values 2020-05-27 17:07:35 +02:00
66b75802b2 Merge branch 'mueller_framework' into front_branch 2020-05-27 12:58:17 +02:00
5b521e039b Merge branch 'mueller_fw_loc_globpool_distinction' into mueller_framework 2020-05-27 12:40:01 +02:00
9b5095e5b8 Merge branch 'mueller_framework' into front_branch 2020-05-27 12:28:43 +02:00
badcacad49 added new timeout values 2020-05-27 11:48:11 +02:00
f6ae0348cb some linux mutex tweaks 2020-05-27 11:41:36 +02:00
be4ac0bc8f added semaph factory to linux 2020-05-27 00:28:13 +02:00
f7dd91891a removed comments 2020-05-26 16:05:03 +02:00
1a623a6a52 added override 2020-05-26 11:05:49 +02:00
a19fa231f5 comment improvements 2020-05-26 01:21:48 +02:00
9f2d5b64e0 comment improvements 2020-05-26 01:03:26 +02:00
a926312b25 Merge branch 'mueller_framework' into front_branch 2020-05-26 00:08:00 +02:00
242ca355f5 removed swappers for arraylist for now 2020-05-26 00:01:07 +02:00
8ddccfe3bd Merge branch 'mueller_framework' into front_branch 2020-05-25 23:54:39 +02:00
3fd306356a fix for dh returnvalues 2020-05-25 23:43:44 +02:00
243ea9cd87 improved dhb IF returnvalues 2020-05-25 23:38:51 +02:00
eacda67f02 added some comments for returnvalues 2020-05-25 23:36:03 +02:00
18d19fbb2c < removed 2020-05-25 23:12:25 +02:00
a37f01cd0e improved readability of mode explanations 2020-05-25 23:11:56 +02:00
96462ba8dc Merge branch 'mueller_framework' into mueller_fw_loc_globpool_distinction 2020-05-25 22:29:33 +02:00
7a0cbfb2f5 Merge remote-tracking branch 'upstram/master' into mueller_framework 2020-05-25 22:21:13 +02:00
219d85d700 Merge remote-tracking branch 'upstram/master' into front_branch 2020-05-25 15:59:17 +02:00
d6af9da566 Merge remote-tracking branch 'upstram/master' into mueller_framework 2020-05-25 15:58:57 +02:00
f6ec65d35d Merge remote-tracking branch 'upstram/master' into mueller_fw_loc_globpool_distinction 2020-05-25 14:49:22 +02:00
8eb13ec627 Merge branch 'mueller_framework' into mueller_fw_loc_globpool_distinction 2020-05-25 14:02:43 +02:00
723e715022 consistency fix 2020-05-25 14:01:35 +02:00
2f16b1e733 moved some files 2020-05-25 13:48:43 +02:00
d4abfacd27 found solution for circ dependency
had to put store_address_t in own file though
2020-05-22 01:15:02 +02:00
d2d1ef9a85 better include guards 2020-05-22 00:58:30 +02:00
aea18c423e Merge branch 'mueller_framework' into front_branch 2020-05-21 17:01:29 +02:00
f6b17d6e2e deleted copyctor and copy assignment 2020-05-20 12:50:56 +02:00
338651af2f binary printer added 2020-05-19 23:07:28 +02:00
9b53e2b64f added informative comment for counting semaphore 2020-05-19 22:45:48 +02:00
7afaa752f3 form improvement 2020-05-19 20:25:54 +02:00
1aef000eff printer improvements and fixes
tc packet stored getter function
2020-05-19 20:24:58 +02:00
e2418d61a6 improved printer 2020-05-19 19:53:10 +02:00
f612b095c1 updated tmtc packet base 2020-05-19 19:39:19 +02:00
2790a40d6c some renamings 2020-05-19 18:55:13 +02:00
3c7e2c7cff Merge branch 'mueller_BinSempahInterface' into mueller_framework 2020-05-18 20:46:50 +02:00
066930b110 improvements 2020-05-18 20:39:48 +02:00
7227c3a866 implemented semaph factory 2020-05-18 20:35:13 +02:00
067cd95731 removed file header 2020-05-18 19:42:45 +02:00
b1d9d55f50 improved documentation 2020-05-18 19:42:05 +02:00
4dd6594845 integrated interface into bin semaphore 2020-05-18 19:38:02 +02:00
9ba21b1e28 semaphore if continued 2020-05-18 19:30:50 +02:00
87bf843bef binary semaphore IF init 2020-05-18 19:19:50 +02:00
45b0193ef3 bin semaph todo 2020-05-18 18:06:40 +02:00
b237287315 bin semaph sif replacements 2020-05-18 17:48:16 +02:00
ec8538b442 Merge branch 'mueller_binSemaph' into mueller_FreeRTOS_improvements 2020-05-18 17:46:04 +02:00
41c0ca6c52 added doc for switchSystemContext 2020-05-18 17:39:10 +02:00
f8614e23a8 deleted copy ans assignment ctor 2020-05-18 17:38:19 +02:00
d1500a7868 mq doc improvements 2020-05-18 17:31:05 +02:00
1d4d01d190 Added ISR calls for MQ and task mgmt
The task management defines an external function which
implements a context switch call from an ISR
2020-05-18 17:22:10 +02:00
b12bace385 changed order of input arguments (relevance)
default argument for ACK
2020-05-18 16:40:11 +02:00
7e04c055b3 tc packet stored formatting 2020-05-18 16:13:46 +02:00
355bc2b905 improvements 2020-05-18 15:42:47 +02:00
767850e125 deleted poolvector 2020-05-17 23:58:57 +02:00
d1b315c7df pool raw access adaptions 2020-05-17 23:54:56 +02:00
1d28e1398e DataSetBase class finished 2020-05-17 23:41:28 +02:00
71f1722b88 removed old poolVar file 2020-05-17 22:20:54 +02:00
9da0b0b2b2 glob pool vec implementation in tpp file 2020-05-17 22:16:25 +02:00
8b1fef730d resolved conflict 2020-05-17 18:02:58 +02:00
234fd8e300 Merge branch 'mueller_framework' into mueller_fw_loc_globpool_distinction 2020-05-17 18:00:51 +02:00
0467b6a1bf slight DHB improvements 2020-05-17 17:53:18 +02:00
7c48274c9b Merge branch 'mueller_framework' into front_branch 2020-05-17 17:27:04 +02:00
9597a0121b DHB update 2020-05-17 15:49:46 +02:00
da972e1b58 DHB improvements 2020-05-17 15:41:42 +02:00
e9a4056deb added DHB cookie init
(why was that never a problem beofre????) ¯\_(ツ)_/¯
2020-05-17 15:19:24 +02:00
9056ad36ed object manager better output 2020-05-17 14:13:31 +02:00
5b8a6e35dc renaming complete, pool in namespace 2020-05-17 13:37:50 +02:00
cbfa21d45a merging renaming into main branch 2020-05-17 01:17:11 +02:00
b673e13892 some refactoring 2020-05-16 20:58:48 +02:00
7d57988979 added deadline check 2020-05-16 13:09:50 +02:00
20900227f8 periodic posix task ctor format 2020-05-15 22:53:01 +02:00
ebcc4742a9 removed conflict markers 2020-05-15 21:14:21 +02:00
abdf04ce79 Merge branch 'mueller_framework' into front_branch 2020-05-15 21:10:56 +02:00
0e2438416d added comment 2020-05-15 20:00:43 +02:00
5b41f2a6bd optimization 2020-05-15 19:58:58 +02:00
c77ec9e7fc uint16_t correction 2020-05-15 19:56:54 +02:00
3f71babfa9 app data len uint16_t, full length size_t 2020-05-15 19:50:51 +02:00
24bfbfbd33 removed StorageAccessoremoved StorageAccessorr 2020-05-15 18:56:06 +02:00
80cee27429 printer fixes 2020-05-15 18:53:54 +02:00
d48fe8fb09 Merge branch 'mueller_globalPrinter' into mueller_framework 2020-05-15 18:51:58 +02:00
6e1bb16d4e printers continued,
possible  bugfix in tc packet base
2020-05-15 18:46:58 +02:00
237dd4a256 added additonal functions for tc packet base 2020-05-15 18:23:57 +02:00
5ac32b14f0 Merge branch 'mueller_globalPrinter' into mueller_framework 2020-05-15 18:23:45 +02:00
684da2b8d5 set application data function added 2020-05-15 15:30:29 +02:00
69237bc2e8 freertos includes adapted 2020-05-14 21:26:04 +02:00
49fa2fe32c changed void* cast to QueueHandle_t cast 2020-05-14 16:12:01 +02:00
50a1b5170a formatting 2020-05-13 18:03:09 +02:00
19e51575cf Merge remote-tracking branch 'origin/meier_framework' into mueller_framework 2020-05-13 12:53:25 +02:00
3122f62b0a bugfixes for write() call 2020-05-12 19:02:59 +02:00
291710f257 new ctor and bugfixes 2020-05-12 17:57:37 +02:00
d873fcbf8e added documentation for storage manager IF 2020-05-12 16:47:47 +02:00
6c70abfe16 moved pool accessor fuctions to local pool 2020-05-12 16:32:01 +02:00
5af0c15dfc simplified storage accessor 2020-05-12 14:12:39 +02:00
1946af64af storage accessor mutex lock removed 2020-05-12 14:11:00 +02:00
e5c46c5ec1 Merge branch 'mueller_FixedSequenceImprovements' into mueller_framework 2020-05-11 19:25:45 +02:00
43d3ca7e37 memory message: no retval
CSB: retval
2020-05-10 21:56:21 +02:00
d44a06fafc removed cfg include 2020-05-10 12:48:22 +02:00
2f58c3a305 commented out storage accessor 2020-05-10 00:14:00 +02:00
0f286461d0 added new storage raw accessor 2020-05-09 18:10:26 +02:00
d35a6e6c14 Merge remote-tracking branch 'upstream/master' into front_branch 2020-05-08 18:41:07 +02:00
9489b7abc1 modifyData override deleted
is not really thread-safe anyway
2020-05-07 19:23:56 +02:00
fe9aa46cf8 removed system object list include.
makes it difficult for multiple configurations, because the wrong header
might be included
2020-05-07 12:22:17 +02:00
b016f2995a added default vlaue for init function 2020-05-06 16:34:43 +02:00
e950051b4a some object managerIF security measures
objectmanager get function checks whether global object manager was
initialized now.
New returnvalues, which are also used for local pool init
2020-05-06 14:35:30 +02:00
6b205e166b Merge branch 'master' into mueller_framework 2020-05-06 13:54:18 +02:00
cc0469fef6 return failed insteead of exiting 2020-05-05 20:09:42 +02:00
f09836a9eb removed exit for empty psremoved exit for empty pstt 2020-05-05 19:30:03 +02:00
4695e87cdc Merge branch 'mueller_fifo_enhancement' into mueller_framework 2020-05-05 19:08:46 +02:00
160a09790e removed c omment for now 2020-05-05 18:53:25 +02:00
bc17b5a907 resolved conflict 2020-05-05 18:43:28 +02:00
ad31a1b97d Merge branch 'luz_FixedTimeslotTask_ExistenceCheck' into mueller_framework 2020-05-05 18:41:40 +02:00
399e6b3a09 Merge branch 'front_branch' into mueller_framework 2020-05-05 15:07:47 +02:00
c05b9cbd01 reverted ResultIF. for now, keep using HasReturnvaluesIF 2020-05-05 14:07:27 +02:00
1825924b7b abbreviation for resultIF 2020-05-05 10:16:16 +02:00
6817aa4d03 pool manager refactoring 2020-05-04 16:57:08 +02:00
b947253ac3 local pool neat 2020-05-04 16:49:15 +02:00
4b65d6e847 local pool bugfix 2020-05-04 12:33:57 +02:00
3e4263f068 freeRTOS task factory fix 2020-05-03 12:27:18 +02:00
35594d4b71 goofed up, delay function back in task factory 2020-05-03 00:48:18 +02:00
281da25bf9 extended task management for freeRTOS 2020-05-01 16:47:53 +02:00
15c03863c0 additional docmentation for freeRTOS task factory 2020-05-01 14:49:52 +02:00
03333c2af0 pool raw acces printout 2020-04-30 21:37:02 +02:00
431709a3ec pool raw acces helper bugfix 2020-04-30 15:42:33 +02:00
e1aa285b6d linux osal output in namespace 2020-04-29 13:46:30 +02:00
7ec6d2ceaa remove dspecial character messing with decoding 2020-04-28 18:58:55 +02:00
ecf3b4b535 stopwatch warning fix 2020-04-23 22:05:12 +02:00
a5d2cbd7db some more sif replacements 2020-04-23 21:59:24 +02:00
0ea692a5ea some more sif changes 2020-04-23 20:04:48 +02:00
01195093e3 Merge branch 'mueller_sifRenaming_soooMany' into mueller_framework 2020-04-23 19:21:12 +02:00
fc4199c3b1 architecture dependant call delcared external 2020-04-23 18:13:14 +02:00
328737d0ad newer non-deprecated semaphore call used 2020-04-23 18:12:02 +02:00
1415cd2339 using newer bin semaph create call.
architecture dependant function call is external now and shall
be implemented by developer
2020-04-23 17:54:41 +02:00
44d4678089 fifo features and stopwatch enhancement 2020-04-23 14:06:48 +02:00
ee2ee745c7 fifo renamed 2020-04-23 12:47:59 +02:00
d546317e6a Merge branch 'mueller_TmTcBridge_cherryPicked' into mueller_framework 2020-04-23 10:33:19 +02:00
40d952a349 minor form changes 2020-04-23 10:24:34 +02:00
e40c9f42c6 info output commented out 2020-04-23 10:22:25 +02:00
c075e1bf23 adapting tmtc bridge 2020-04-23 10:20:19 +02:00
db535e25f2 Merge branch 'mueller_TmTcBridge_cherryPicked' into mueller_framework 2020-04-23 10:03:15 +02:00
2c2ccf8a8d Merge branch 'mueller_TmTcBridge_cherryPicked' into mueller_framework 2020-04-22 23:49:10 +02:00
0e6f8d3f82 comment adapted 2020-04-22 19:53:06 +02:00
1b5127dc85 added task management implementation 2020-04-22 19:50:07 +02:00
6eda5a0838 task management header added 2020-04-22 19:46:49 +02:00
e26f0d54b2 binary semaphore init 2020-04-22 19:44:03 +02:00
9f7f8073f1 freertos includes in extern "C" 2020-04-22 19:42:42 +02:00
fb9a5678fc removed comment belonging in egit 2020-04-22 10:24:00 +02:00
4e76b8133e uninitialized variable 2020-04-22 01:08:36 +02:00
326e5cf5fe initialized uninitialized variables 2020-04-22 01:01:32 +02:00
Uli
6553450b4b Actually, not that horrible, thanks to sed 2020-04-21 22:28:43 +02:00
Uli
a42832ca01 working on updating SerializeIF, to quote Basti: This is going to be horrible 2020-04-21 21:34:03 +02:00
7e3af7cf83 replaced slotLengthMs with lengthMs 2020-04-19 21:36:10 +02:00
36715e3f4c test folder moved to separate test folder
for fsfw for now
2020-04-19 12:06:28 +02:00
e77ca55b1d serial fixed array list adapter doc fix 2020-04-18 17:14:18 +02:00
a7d3b4c4a0 added std:: before uint32_t typedef 2020-04-18 15:22:34 +02:00
9580f51c30 removed self-inclusion 2020-04-18 14:17:34 +02:00
e34a438e77 using size_t 2020-04-18 13:38:05 +02:00
4d8aca8417 message queue adaptation for ISRs 2020-04-18 13:32:40 +02:00
a405357578 Merge remote-tracking branch 'upstream/master'
into mueller_framework
2020-04-18 13:30:22 +02:00
ea1d55b033 null replaced by nullptr.
storeID initialization added, all nullptr/0 initializations in header
2020-04-18 13:21:48 +02:00
5595b0f3ce Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework 2020-04-16 17:02:10 +02:00
eb362dcad2 some comment line break 2020-04-16 17:02:04 +02:00
f45a8cc171 fixed slot sequence safety check added 2020-04-16 13:17:26 +02:00
21650b064d Merge branch 'mueller_framework' 2020-04-16 13:01:17 +02:00
33b834ad91 null replaced by nullptr 2020-04-16 10:43:50 +02:00
7c360be1e0 Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework 2020-04-16 09:30:26 +02:00
bd0b9cb877 catch example informative comment 2020-04-16 09:30:02 +02:00
fc08754b98 some doc unclarities comment added 2020-04-15 23:28:45 +02:00
9284fe81da added override specifiers, some doc fixes 2020-04-15 20:53:03 +02:00
906f941f32 ssize_t in deSerialize replaced by size_t 2020-04-15 15:53:46 +02:00
af27a2441a added catch framework for basic testing 2020-04-14 16:19:13 +02:00
c5e5de1530 deleted example values 2020-04-14 12:24:26 +02:00
2cc4386b4c Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework 2020-04-14 11:18:24 +02:00
03b0ae7b68 unit test fixes 2020-04-14 11:16:51 +02:00
b48a0a4a4c unit test class continued. serialize adapter
functions which are internal, extracted to separate class
2020-04-13 22:45:23 +02:00
fe45c7eb8b Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework 2020-04-13 16:38:29 +02:00
0d016e5a2b slight formatting 2020-04-13 16:37:25 +02:00
a0ee010926 Added test folder. 2020-04-13 16:27:05 +02:00
eb2df3d88c Using C++ to implement preamble. adding optional flag for carriage return 2020-04-12 23:06:57 +02:00
69e9710bf1 added intial carriage return im preamble 2020-04-10 17:06:06 +02:00
841b28b65d stopwatch ms now working 2020-04-09 18:02:10 +02:00
8a8761ea88 stopwatch bugfix 2020-04-09 17:56:48 +02:00
5582ca278b Merge branch 'mueller_framework' 2020-04-08 19:44:21 +02:00
94137896cc Merge branch 'mueller_stopwatch' 2020-04-08 19:44:10 +02:00
35eff6dfba Merge branch 'ksat_master' of KSat/fsfw into master 2020-04-08 19:35:26 +02:00
640cc1ddec some more bugfixes 2020-04-08 19:30:39 +02:00
5b0f80509f usec replaced by seconds 2020-04-08 19:24:24 +02:00
da9bb97b23 added precision for double output 2020-04-08 19:05:21 +02:00
3dbf353385 some more refactoring for stopwatch 2020-04-08 18:33:38 +02:00
3af241b9c4 stopwatch more lightweight now 2020-04-08 18:27:18 +02:00
e0e1e64a09 various changes, stopwatch
Semaphore: Some bugfixes, some constructors added
Stopwatch: First implementation, can measure in ms(double) and
ms(normal)
2020-04-08 18:08:14 +02:00
30ed08005f reverted some naming changes 2020-04-07 22:16:43 +02:00
c88c6c2a45 binary semaphore info printout added 2020-04-06 19:51:45 +02:00
aaabbe8aef DHB fix 2020-04-06 13:59:57 +02:00
78aad91aab PSB subservice passed to handleRequest 2020-04-06 12:38:39 +02:00
3654c7bf81 some form stuff 2020-04-06 11:15:44 +02:00
e791f44c41 copy ctor and assgnment op forbidden
for serial linked lists
2020-04-05 23:03:32 +02:00
42838272a5 replaced int32_t size by ssize_t (type trait trick) 2020-04-05 22:42:48 +02:00
87852e5f2a replaced getSerializedSize returnvalue with size_t 2020-04-05 21:54:11 +02:00
7079c9c56d replaced serializeIF serialize sizes with size_t 2020-04-05 17:58:39 +02:00
06ae64d59c CSB: replaced some uint32 with size_t 2020-04-05 15:46:10 +02:00
a65a19f583 deletd serial buffer adapter2 2020-04-05 15:33:24 +02:00
4a35035b28 serial buffer adapted improvements 2020-04-05 15:30:31 +02:00
80b1d28bc8 new dvice com IF return value 2020-04-05 00:23:29 +02:00
bd468a1b74 timeslot time 0 definitely leads to error 2020-04-01 17:19:03 +02:00
335df7787a testing timeslot task 0 2020-04-01 17:15:27 +02:00
8f39820ace doc formatting 2020-04-01 17:05:55 +02:00
996dbc9e4b DHB/Cookie refactoring 2020-04-01 12:41:54 +02:00
5218a0d84f doc fix 2020-03-28 19:42:24 +01:00
93678adc5a replace std::set by std::multiset
so there can be multiple entries with same pollignTime
2020-03-28 00:09:15 +01:00
5d071a1cf1 new device comIF return value in DHB
request receive message
2020-03-26 19:53:05 +01:00
0e56a094d3 merged FwMessageTypes 2020-03-26 19:43:38 +01:00
e252a5b795 file system support 2020-03-26 19:20:16 +01:00
093fef5d6f moved address_t typedef to cookieImoved address_t typedef to cookieIFF 2020-03-26 15:20:17 +01:00
163779622f DHB: replyLen in replyMap now 2020-03-25 02:08:35 +01:00
b2b6b8ee23 added initializeInterface for comIF/cookie 2020-03-24 15:33:18 +01:00
ea49d88c4b moved all return values to DH IF 2020-03-24 14:21:57 +01:00
7e8d92f956 replaced std::list by std::set for fixedSlotSequen 2020-03-24 00:22:17 +01:00
f7b7e10d05 date format changed 2020-03-23 19:14:36 +01:00
b6bf9d7147 to avoid dynamic casting, introuced CookieIF 2020-03-23 19:09:42 +01:00
f7bd661e69 small fixes 2020-03-23 18:08:24 +01:00
fa058ee602 renamed rmap to com (more generic) 2020-03-23 18:05:39 +01:00
d3e2652078 replaced DHB sizes by size_t, rework
Cookie now passed to DHB, rework in progress
2020-03-23 17:58:23 +01:00
c50d9d90d6 replaced std::variant by two uint32 parameters 2020-03-23 13:14:23 +01:00
af6d18d60b added additional parameter form open/reopen call 2020-03-20 22:47:07 +01:00
52c05e2f3d minor formatting for pull request 2020-03-19 12:44:24 +01:00
b7e3449b04 some more doc for containers 2020-03-19 12:38:11 +01:00
a3903f80fb typedef address_t moved to deviceComIF 2020-03-19 00:49:47 +01:00
b5fe1fa530 dhb virtual function moved to top 2020-03-09 22:15:52 +01:00
6579200f55 removed counter, will be implemented in childclass 2020-03-06 19:01:31 +01:00
68cda479d6 DHB: performOperation Hook + polling counter
polling counter to specify how often communication opertions are
performed, however this still needs to be changed..
2020-03-06 18:48:48 +01:00
22e4dabd1b BinSemaphore reset function added 2020-03-06 15:39:42 +01:00
43ac0ec04b Communication Message continued 2020-03-04 23:07:54 +01:00
fb6172fdc5 communication message continued.
Some fixed timeslot task improvements
2020-03-04 00:37:58 +01:00
dd4a5a45e3 communication message extended 2020-03-03 21:20:08 +01:00
72963f5855 Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework 2020-03-03 00:07:48 +01:00
d0e8eb386c renamed system context to call context
to avoid conflicts with ISIS library, I don't want to fiddle with
it if we don't have source code
2020-03-02 01:00:17 +01:00
238892bd66 Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework 2020-02-29 01:22:41 +01:00
6d6c78b255 task management doc 2020-02-29 01:21:36 +01:00
fa38a37604 all context switches calls to TaskManagement.h now 2020-02-28 22:55:25 +01:00
c93ee5c6cd message queue IF return values 2020-02-27 19:00:51 +01:00
abccd81fdf new file for freeRTOS task management functions 2020-02-26 16:55:35 +01:00
083cc7c50a sempahore wrapper extended 2020-02-25 17:04:21 +01:00
685c18dc4e Merge branch 'ksat_master' into mueller_framework 2020-02-25 12:55:20 +01:00
bfc7a768ce message queue adaptions for calls from ISR
functions moved to top
binary sempahore file init
mutex return values
2020-02-25 12:54:28 +01:00
7a426acece therm sensor doc correction 2020-02-21 16:08:43 +01:00
54eeb71f02 bugfix: added implementation 2020-02-17 21:20:51 +01:00
6ab07aeb19 valid mask bugfixes 2020-02-16 21:04:17 +01:00
1001c1d48b added new IF for thermal messages 2020-02-16 17:21:06 +01:00
99b90e625d refactored: limit type specified separately 2020-02-16 16:14:29 +01:00
ddae9ee80f adapted temp sensor to use °C limits, doc added 2020-02-16 14:59:45 +01:00
d8ed5bb1c1 some comments for missing doc 2020-02-15 18:55:22 +01:00
e15839b3a6 Thermal: Some formatting stuff, doc to do
Need to find out how to use the thermal components
2020-02-15 18:26:25 +01:00
a7964c7200 Merge branch 'luz_FixedTimeslotTask_ExistenceCheck' into mueller_framework 2020-02-15 15:34:53 +01:00
b3faf1e4ad old timestring used 2020-01-31 23:42:11 +01:00
5190e4c16e Serial Buffer dapter changes reverted
CCSDS time bugfixes in separate section (for C98)
Serial buffer adapter 2 bugfixes
2020-01-31 00:54:34 +01:00
09144b18c4 ccsds time changes changed 2020-01-29 01:03:20 +01:00
7dd4694d9d CCSDS time extra defined for avr lib 2020-01-28 23:19:19 +01:00
8f17d5147e SerialFixedArrayList constructor bugfix 2020-01-27 00:43:01 +01:00
85048cc9ee Pool Raw Access change bugfix 2020-01-26 22:13:56 +01:00
d9fa13b6eb ADDED old pool entry constructor 2020-01-26 18:31:17 +01:00
6eedb3f097 New Pool List Initializer.
Needs testing !!!
2020-01-23 15:45:21 +01:00
d330958abb Array List endian swapper protected now 2020-01-22 14:27:11 +01:00
1977942c4b Array List Entry swapper function
And respective SerialAdapter functions to use it
2020-01-22 14:24:48 +01:00
3d2bdae14d CSB abstract functions moved to top
So documentation of functions to implement is closer to the top
2020-01-20 23:29:36 +01:00
dba26baee6 Restructured header file
Abstract functions are closer to the top
because they must be implemented and documentation
should be near the top.
Important virtual functions moved up too.
Additional documentation added
2020-01-20 23:00:23 +01:00
424c82ce16 Extracted one logic block
To increase readability
2020-01-18 23:07:43 +01:00
5cb591a063 Array List swapper for SerialFixedArrayList 2020-01-18 18:01:37 +01:00
6fe0f45c27 SerialBufferAdapter new setBuffer function
Serial Fixed Array List Adapter documentation adapted
SinglyLinkedList setEnd() function added
2020-01-18 16:48:33 +01:00
c9e4c73bd2 Local pool public members/functions moved to top 2020-01-18 15:03:22 +01:00
1f4391f56e Endian Swapper buffer swapper changes reverted 2020-01-17 21:11:39 +01:00
1d1bb88a6f Merge request check 2020-01-16 19:07:53 +01:00
9bdbc2c380 Endian swapper changes, Serial buffer adapter
New Serial Buffer Adapter with complete template class for buffer type.
Endian Swapper input now standard uint8_t * pointers instead of template
type. Fixed Array List new ctor, but commented out for now
2020-01-16 18:46:29 +01:00
1437f33027 Serial Fixed Array List template type clarifications 2020-01-15 17:30:23 +01:00
9aa57f29b8 basic documentation thermal 2020-01-15 13:52:18 +01:00
9ec0b80497 Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework 2020-01-15 13:32:41 +01:00
f16cce8be1 Basic doc for thermal modules started 2020-01-15 13:32:21 +01:00
b0d88129db Pool Raw Access Helper bugfix
debug output commented
2020-01-14 01:39:47 +01:00
c747952336 fixed map full() function added.
Pool raw access debugging
2020-01-14 00:49:09 +01:00
01551b8fa5 Getter function in SerialBufferAdapter
For const uint8_t *
2020-01-13 01:21:53 +01:00
1369e792b4 CommandingServiceBase documentation 2020-01-13 00:14:14 +01:00
d2325e60b6 Import bugfix in MessageQueue.cpp
lastPartner is only assigned if receiveMessage is successful
2020-01-12 15:51:59 +01:00
a8247eb2f0 Some more debugging output switched on 2020-01-12 14:18:12 +01:00
0ce67de8c8 Changes to pool access classes
1. PoolRawAccessHelper is more robust now and has better error handling
2. PoolRawAccess: Removed an unneeded constructor value, moved serialize
further to the top. Added new returnvalues and more precise error
handling for read() call
3. DataSet: Made MAX Number of data pool entries public so it can be
used by pool raw access error handling
2020-01-10 00:57:09 +01:00
59b25bee86 pool raw helper input buffer type changed to uint32_t 2020-01-09 19:04:33 +01:00
0ddc44062d Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework 2020-01-09 12:50:00 +01:00
2ec486a880 max number of stored packets lowered 2020-01-05 18:20:57 +01:00
827f185e20 Some bugfixes(?) for PusServiceBase.
Getter Function for Serial Buffer Adapter.
2020-01-04 16:37:08 +01:00
a7450144de doxygen group definitions moved to framework 2020-01-03 15:39:32 +01:00
0a57103339 Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework 2020-01-02 21:12:42 +01:00
f6e88e83db debug output change 2020-01-02 21:12:21 +01:00
e2f07cbcd1 connect and disconnect functions public 2020-01-02 14:01:21 +01:00
831a01e79e recvBuffer and recvSize initialized 2020-01-01 17:31:17 +01:00
c73cb90c36 receiveTc function adapted 2020-01-01 16:54:05 +01:00
a762c159fe pool raw access helper info output commented out 2019-12-30 01:13:33 +01:00
2425685e44 Pool Raw Access Helper serialization of vectors implemented 2019-12-29 01:59:02 +01:00
666341d03d new bool datatype for possible pool entries 2019-12-27 22:43:09 +01:00
79e7fee807 comment deleted 2019-12-26 22:15:19 +01:00
a38a2f4b3a tmtc bridge bugfix: tm data deleted when overwriting old data 2019-12-26 22:07:17 +01:00
33a7c033a2 doc extended, instructions for sendTm and receiveTc 2019-12-26 20:38:15 +01:00
19e257a90a tmtc bridge debug output corrected 2019-12-26 20:35:11 +01:00
8397f5b2b1 tmtc bridge bugfix 2019-12-26 20:17:21 +01:00
0066a6b788 Generic TMTC Bridge added 2019-12-26 19:47:46 +01:00
29b4480fc4 include adapted 2019-12-26 18:55:31 +01:00
e24f9b89e4 Pool Raw Access Helper tested, appesrs to work. SerializeAdapter doc
changes, tm packet stored debug output if not enough
storage available
2019-12-26 16:44:50 +01:00
1f1831c4a1 pool raw access init 2019-12-24 22:15:39 +01:00
f6b9b23287 pool raw access init 2019-12-24 01:41:04 +01:00
89f490ac36 assembly constructor formatting 2019-12-20 23:09:35 +01:00
d17146d847 Check object existence before adding it to the PST
Currently, adding new objects/components to the FixedSlotSequence PST is
not being checked, meaning that it is possible to add NULL objects here
without any warning. This causes NULL-pointer errors when non-existent
components are added, which can be hard to debug.

To solve this, add a check for the object existence before adding it to
PST and emit an error message.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
2019-12-20 18:10:39 +01:00
fa6cbe7e0c pool raw access changed reverted 2019-12-11 23:18:28 +01:00
625f3dc79c local pool modify data doc modifided 2019-12-11 23:15:34 +01:00
9382eb03e6 function to serialize pool ID buffers into dataset created 2019-12-11 22:50:08 +01:00
29a15e8154 commented out functions which will propably not
be needed and removed
2019-12-11 13:03:51 +01:00
138cac98d1 experimenting with recursive constructor and dataset call 2019-12-11 01:57:36 +01:00
f7d8f0c161 Reverted changed pool raw access commit 2019-12-10 23:26:48 +01:00
6abb3cc525 Merge remote-tracking branch 'origin/feature_EndianSwapper_UINT32_BUFFER_PoolRawAccess_Modification_For_Vectors' into mueller_framework 2019-12-10 14:54:32 +01:00
f33949ba4b doc adapted, merging 2019-12-10 14:54:17 +01:00
356d1d35dc experimenting with recursive constructor to enable
automatic vector registering
2019-12-10 13:29:16 +01:00
e765f8c99b pool raw access modified so vectors are properly serialized now
Endian swapper can swap the entries of a uint16,uint32 buffers now.
Some documentation for functions added. setter function for serial buffer
adapter written but does not appear to compile, commented out
2019-12-09 12:27:14 +01:00
8168885dd9 Serialization documentation update 2019-12-08 22:57:03 +01:00
3159ccbc40 fixed map and local pool doc 2019-12-08 22:26:42 +01:00
d99ed47150 fixed map bugfix (fist instead of first), new access functions for fixed maP
(first(), second()), some documentation, raw pool access read() call public
because call is necessary before using public serialize function.
maybe integrate read() call into serialize function?
2019-12-08 19:04:53 +01:00
950a48078c some documentation, question about HasParametersIF,
variable in ParameterHelper intialized (compiler warning)
2019-12-05 12:21:06 +01:00
9c3a9323b7 some doc change proposals while
writing hk service.
Added Type.h in PoolRawAccess.h, compiler error
when not doing that
2019-12-03 19:30:37 +01:00
37a70df244 SerialBufferAdapter can process uint32_t * buffers now 2019-12-01 17:48:05 +01:00
10c24e39a3 new returnvalue for scanForReply to ignore full packet 2019-11-29 19:56:05 +01:00
2039aa5665 Service Interface Stream buffer size higher to print long buffers (like nav data) 2019-11-25 00:14:39 +01:00
2f14fd5d4d Cant reach mode reason getter function added 2019-11-11 22:45:53 +01:00
2b44e1c9c4 CCSDS sscanf function adapted for atmel stdio.c (see comments) 2019-11-10 13:08:02 +01:00
b8af3b5e3d debugInterface extended 2019-11-09 18:15:45 +01:00
537e2ceb18 Getter method for logicalAddress 2019-11-09 13:29:12 +01:00
ee765eafc7 ioBoardAddress renamed to logicalAddress 2019-11-09 13:17:54 +01:00
801bd4d7eb debug interface for dhb created.
This is useful to track states or values
in child handler. some documentation added.
New doxygen group for interfaced added.
2019-11-09 13:07:26 +01:00
bf7bc342ff Revert "documentation for DHB init function, ioBoard addres has default value 0 now, order in ctor changed (not used in source)"
This reverts commit c6e34cada6.
2019-11-05 19:30:02 +01:00
af4e9db9e3 Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework 2019-11-05 19:25:27 +01:00
b594bc2a97 removed obsolete comment 2019-11-05 19:25:00 +01:00
8a93a873a8 Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework 2019-11-04 11:07:02 +01:00
e7f7625adf removed wrong include 2019-11-04 11:06:59 +01:00
cb919ada2a assuming that a default value of 0 for expectedReplies is needed, I introduced a new variable into DeviceCommandInfo, which stores another number of replies expected. this value is assigned in enableReplyInReplyMap. That way, the initial value of 0 remains the same (if it was needed), and is only set to another desired value if a write was sent 2019-11-04 01:55:40 +01:00
12f51575eb removed a flag by accident, fixed now 2019-11-04 00:53:05 +01:00
8eb1a5b13e proposal 1: expectedReplies parameter is set in insertInCommandAndReplyMap, default value stays one. overriding enableReplyInReplyMap is not necessary anymore.second proposal: the commander id is supplied in the interpretDeviceReply function, so we don't have to look for it in the DeviceCommandMap. was it removed at some point because it is listed in the documentation? 2019-11-04 00:47:46 +01:00
46986f69e4 serialize tools more documentation 2019-11-02 23:30:12 +01:00
d47496db40 Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework 2019-10-29 19:31:20 +01:00
16af33a7bb doc for fifo, device com if.. 2019-10-29 19:31:18 +01:00
3887cb8ca1 removed wrong include in dhb 2019-10-29 18:22:34 +01:00
3f1d68542e Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework 2019-10-29 18:21:03 +01:00
e8a16ac59c dummy com if sendMessage data const 2019-10-29 18:21:01 +01:00
1ee445ce24 fifo typo 2019-10-29 11:17:07 +01:00
b51536c772 CSB doc correction 2019-10-28 12:48:41 +01:00
d79f072851 Additional documentation for DHB and CSB 2019-10-27 13:38:08 +01:00
64f84d9d9f doc for dhb, serializeIF and SerializeAdapter 2019-10-27 03:21:38 +01:00
8f1517d276 additional comments on endianness (I hope this is correct) 2019-10-25 21:12:11 +02:00
1631e739b8 at91sam9g20 uses custom stdio.c, unsigned long cast in sprintf does not seem to work, casting (unsigned int) does, timestamp now visible in debug output 2019-10-23 12:03:32 +02:00
07950b0c2b documentation for object manager IF get function 2019-10-23 00:31:45 +02:00
cd1b26b04c Merge branch 'mueller_framework' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller_framework 2019-10-22 17:15:54 +02:00
c6e34cada6 documentation for DHB init function, ioBoard addres has default value 0 now, order in ctor changed (not used in source) 2019-10-22 17:15:29 +02:00
4db655e489 task priority order comment 2019-10-22 14:01:17 +02:00
cbc8012198 ioBoardAddress protected instead of private to allow custom initialize 2019-10-22 00:06:11 +02:00
907664cea9 added do performOperation where the comIF functions are called, some comments added in DeviceHandlerIF 2019-10-21 11:38:13 +02:00
5e3b7c3625 explanation of cookie purpose added, device handler base indentation 2019-10-18 13:37:09 +02:00
743d8abeaf first attempt to document and explain serialization tools for application developers 2019-10-17 00:23:46 +02:00
1674 changed files with 90418 additions and 51486 deletions

7
.clang-format Normal file
View File

@ -0,0 +1,7 @@
---
BasedOnStyle: Google
IndentWidth: 2
---
Language: Cpp
ColumnLimit: 100
---

10
.gitignore vendored
View File

@ -1,4 +1,14 @@
# PyCharm and CLion
/.idea/*
!/.idea/runConfigurations
!/.idea/cmake.xml
!/.idea/codeStyles
# Eclipse
.cproject
.project
.settings
.metadata
/build*
/cmake-build*

14
.idea/codeStyles/Project.xml generated Normal file
View File

@ -0,0 +1,14 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<clangFormatSettings>
<option name="ENABLED" value="true" />
</clangFormatSettings>
<codeStyleSettings language="CMake">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="0" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
</code_scheme>
</component>

5
.idea/codeStyles/codeStyleConfig.xml generated Normal file
View File

@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>

749
CHANGELOG.md Normal file
View File

@ -0,0 +1,749 @@
Change Log
=======
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
# [unreleased]
# [v6.0.0] 2023-02-10
## Fixes
- Mode Service: Add allowed subservice
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/739
- `CService200ModeManagement`: Various bugfixes which lead to now execution complete being generated
on mode announcements, duplicate mode reply generated on announce commands, and the mode read
subservice not working properly.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/736
- Memory leak fixes for the TCP/IP TMTC bridge.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/737
- `Service9TimeManagement`: Fix the time dump at the `SET_TIME` subservice: Include clock timeval
seconds instead of uptime.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/726
- HAL MGM3100 Handler: Use axis specific gain/scaling factors. Previously,
only the X scaling factor was used.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/724
- HAL MGM3100 Handler: Z value was previously calculated with bytes of the X value.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/733
- DHB `setNormalDatapoolEntriesInvalid`: The default implementation did not set the validity
to false correctly because the `read` and `write` calls were missing.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/728
- PUS TMTC creator module: Sequence flags were set to continuation segment (0b00) instead
of the correct unsegmented flags (0b11) as specified in the standard.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/727
- TC Scheduler Service 11: Add size and CRC check for contained TC.
Bug: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/issues/719
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/720
- Only delete health table entry in `HealthHelper` destructor if
health table was set.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/710
- I2C Bugfixes: Do not keep iterator as member and fix some incorrect handling with the iterator.
Also properly reset the reply size for successfull transfers and erroneous transfers.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/700
- 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
- `CServiceHealthCommanding`: Add announce all health info implementation
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/725
- various fixes related to linux Unittests and memory leaks
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/715
- small fix to allow teardown handling
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/713
- fix compiler warning for fixed array list copy ctor
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/704
- missing include
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/703
- defaultconfig did not build anymore
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/702
- hotfix
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/699
- small fix for helper
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/698
- missing retval conv
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/697
- DHB Countdown Bug
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/693
- doc corrections
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/687
- better error printout
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/686
- include correction
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/683
- better warning for missing include paths
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/676
- Service 11 regression
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/670
## Added
- Empty constructor for `CdsShortTimeStamper` which does not do an object manager registration.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/730
- `Service9TimeManagement`: Add `DUMP_TIME` (129) subservice.
- `TcpTmTcServer`: Allow setting the `SO_REUSEADDR` and `SO_REUSEPORT`
option on the TCP server. CTOR prototype has changed and expects an explicit
TCP configuration struct to be passed.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/722
- `DleParser` helper class to parse DLE encoded packets from a byte stream.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/711
- `UioMapper` is able to resolve symlinks now.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/709
- Add new `UnsignedByteField` class
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/660
- publish documentation for development and master branch
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/681
- Add Linux HAL options
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/663
- Expand SerializeIF
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/656
- PUS Service 11: Additional Safety Check
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/666
- improvements for auto-formatter script
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/665
- provide a weak print char impl
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/674
## Removed
- now that doc server is up, remove markdown files
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/688
- remove bsp specific code
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/679
## Changes
- `CService201HealthCommanding` renamed to `CServiceHealthCommanding`,
service ID customizable now. `CServiceHealthCommanding` expects configuration struct
`HealthServiceCfg` now
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/725
- `AcceptsTelemetryIF`: `getReportReceptionQueue` is const now
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/712
- Moved some container returnvalues to dedicated header and namespace
so they can be used without template specification.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/707
- Remove default secondary header argument for
`uint16_t getTcSpacePacketIdFromApid(uint16_t apid, bool secondaryHeaderFlag)` and
`uint16_t getTmSpacePacketIdFromApid(uint16_t apid, bool secondaryHeaderFlag)`
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/689
- Removed `HasReturnvaluesIF` class in favor of `returnvalue` namespace with `OK` and `FAILED`
constants.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/659
- Overhaul of the TMTC stack, including various changes and improvements
for other modules
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/655
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
- Improvements for `AcceptsTelemetryIF` and `AcceptsTelecommandsIF`:
- Make functions `const` where it makes sense
- Add `const char* getName const` abstract function
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/684
- Generic TMTC Bridge Update
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/734
- comment tweak to event parser can read everything
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/732
- CMakeLists file updates
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/731
- improve srv20 error messages
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/723
- I2C Linux: remove duplicate printout
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/718
- printout handling improvements
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/717
- vec getter, reset for content
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/716
- updates for source sequence counter
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/714
- SP reader getPacketData is const now
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/708
- refactoring of serial drivers for linux
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/705
- Local Pool Update Remove Add Data Ignore Fault Argument
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/701
- Switch to new documentation server
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/694
- Windows Tweaks
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/691
- Refactor Local Pool API
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/667
- group MGM data in local pool vectors
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/664
## CFDP
- Refactoring of CFDP stack which was done during implementation of the CFDP source and destination
handlers.
- New filesystem module, changes for filesystem abstraction `HasFileSystemIF` to better
fit requirements of CFDP
- New `HostFilesystem` implementation of the `HasFileSystemIF`
- New `cfdp::UserBase` class which is the abstraction for the CFDP user in an OBSW context.
- mib module for the CFDP stack
- PDU classes renamed from `...Serializer`/`...Deserializer` to `...Creator`/`...Reader`
respetively
- Renamed `TcDistributor` to `TcDistributorBase` to prevent confusion
- Refactored `TcDisitributorBase` to be more flexible and usable for CFDP distribution
- Renamed `CCSDSDistributor` to `CcsdsDistributor` and add feature which allows it
to remove the CCSDS header when routing a packet. This allows CCSDS agnostic receiver
implementation without an extra component
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/682
# [v5.0.0] 2022-07-25
## Changes
- Renamed auto-formatting script to `auto-formatter.sh` and made it more robust.
If `cmake-format` is installed, it will also auto-format the `CMakeLists.txt` files now.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/625
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/626
- Bump C++ required version to C++17. Every project which uses the FSFW and every modern
compiler supports it
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/622
- New CMake option `FSFW_HAL_LINUX_ADD_LIBGPIOD` to specifically exclude `gpiod` code.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/572
- HAL Devicehandlers: Periodic printout is run-time configurable now
- `oneShotAction` flag in the `TestTask` class is not static anymore
- `SimpleRingBuffer::writeData` now checks if the amount is larger than the total size of the
Buffer and rejects such writeData calls with `returnvalue::FAILED`
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/586
- Major update for version handling, using `git describe` to fetch version information with git.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/601
- Add helper functions provided by [`cmake-modules`](https://github.com/bilke/cmake-modules)
manually now. Those should not change too often and only a small subset is needed
- Separate folder for easier update and for distinction
- LICENSE file included
- use `int` for version numbers to allow unset or uninitialized version
- Initialize Version object with numbers set to -1
- Instead of hardcoding the git hash, it is now retrieved from git
- `Version` now allows specifying additional version information like the git SHA1 hash and the
versions since the last tag
- Additional information is set to the last part of the git describe output for `FSFW_VERSION` now.
- Version still need to be hand-updated if the FSFW is not included as a submodule for now.
- IPC Message Queue Handling: Allow passing an optional `MqArgs` argument into the MessageQueue
creation call. It allows passing context information and an arbitrary user argument into
the message queue. Also streamlined and simplified `MessageQueue` implementation for all OSALs
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/583
- Internal API change: Moved the `fsfw_hal` to the `src` folder and integration and internal
tests part of `fsfw_tests` to `src`. Unittests are now in a dedicated folder called `unittests`
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/653
### Task Module Refactoring
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/636
**Refactoring general task code**
- There was a lot of duplicate/boilerplate code inside the individual task IF OSAL implementations.
Remove it by introducing base classes `PeriodicTaskBase` and `FixedTimeslotTaskBase`.
**Refactor PeriodicTaskIF**
- Convert `virtual ReturnValue_t addComponent(object_id_t object)` to
`virtual ReturnValue_t addComponent(object_id_t object, uint8_t opCode = 0)`, allowing to pass
the operation code passed to `performOperation`. Updated API taking
an `ExecutableObjectIF` accordingly
**Refactor FixedTimeslotTaskIF**
- Add additional `addSlot` function which takes an `ExecutableObjectIF` pointer and its Object ID
**Refactor FixedSequenceSlot**
- Introduce typedef `CustomCheckFunc` for `ReturnValue_t (*customCheckFunction)(const SlotList&)`.
- Convert `ReturnValue_t (*customCheckFunction)(const SlotList&)` to
`ReturnValue_t (*customCheckFunction)(const SlotList&, void*)`, allowing arbitrary user arguments
for the custom checker
**Linux Task Module**
- Use composition instead of inheritance for the `PeriodicPosixTask` and make the `PosixTask` a
member of the class
### HAL
- HAL Linux Uart: Baudrate and bits per word are enums now, avoiding misconfigurations
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/585
- HAL Linux SPI: Set the Clock Default State when setting new SPI speed
and mode
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/573
- GPIO HAL: `Direction`, `GpioOperation` and `Levels` are enum classes now, which prevents
name clashes with Windows defines.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/572
- HAL Linux Uart: Baudrate and bits per word are enums now, avoiding misconfigurations
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/585
### Time
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/584 and
https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/593
- `timeval` to `TimeOfDay_t`
- Added Mutex for gmtime calls: (compare http://www.opengate.at/blog/2020/01/timeless/)
- Moved the statics used by Clock in ClockCommon.cpp to this file
- Better check for leap seconds
- Added Unittests for Clock (only getter)
### Power
- `PowerSwitchIF`: Remove `const` specifier from `sendSwitchCommand` and `sendFuseOnCommand` and
also specify a `ReturnValue_t` return type
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/590
- Extend `PowerSwitcher` module to optionally check current state when calling `turnOn` or
`turnOff`. Tis can be helpful to avoid commanding switches which do not need commanding
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/590
## Removed
- Removed the `HkSwitchHelper`. This module should not be needed anymore, now that the local
datapools have been implemented.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/557
## Additions
- New constructor for PoolEntry which allows to simply specify the length of the pool entry.
This is also the new default constructor for scalar value with 0 as an initial value
- Added options for CI/CD builds: `FSFW_CICD_BUILD`. This allows the source code to know
whether it is running in CI/CD
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/623
- Basic `clion` support: Update `.gitignore` and add some basic run configurations
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/625
- LTO support: Allow using LTO/IPO by setting `FSFW_ENABLE_LTO=1`. CMake is able to detect whether
the user compiler supports IPO/LPO. LTO is on by default now. Most modern compilers support it,
can make good use of it and it usually makes the code faster and/or smaller.
After some more research:
Enabling LTO will actually cause the compiler to only produce thin LTO by adding
`-flto -fno-fat-lto-objects` to the compiler options. I am not sure this is an ideal choice
because if an application linking against the FSFW does not use LTO, there can be compile
issues (e.g. observed when compiling the FSFW tests without LTO). This is a known issue as
can be seen in the multiple CMake issues for it:
- https://gitlab.kitware.com/cmake/cmake/-/issues/22913,
- https://gitlab.kitware.com/cmake/cmake/-/issues/16808,
- https://gitlab.kitware.com/cmake/cmake/-/issues/21696
Easiest solution for now: Keep this option OFF by default.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/616
- Linux HAL: Add wiretapping option for I2C. Enabled with `FSFW_HAL_I2C_WIRETAPPING` defined to 1
- Dedicated Version class and constant `fsfw::FSFW_VERSION` containing version information
inside `fsfw/version.h`
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/559
- Added generic PUS TC Scheduler Service 11. It depends on the new added Emebeded Template Library
(ETL) dependency.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/594
- Added ETL dependency and improved library dependency management
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/592
- Add a `DummyPowerSwitcher` module which can be useful for test setups when no PCDU is available
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/590
- New typedef for switcher type
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/590
- `Subsystem`: New API to add table and sequence entries
## Fixed
- TCP TMTC Server: `MutexGuard` was not created properly in
`TcpTmTcServer::handleTmSending(socket_t connSocket, bool& tmSent)` call.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/618
- Fix infinite recursion in `prepareHealthSetReply` of PUS Health Service 201.
Is not currently used right now but might be used in the future
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/617
- Move some CMake directives further up top so they are not ignored
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/621
- Small bugfix in STM32 HAL for SPI
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/599
- HAL GPIO: Improved error checking in `LinuxLibgpioIF::configureGpios(...)`. If a GPIO
configuration fails, the function will exit prematurely with a dedicated error code
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/602
# [v4.0.0]
## Additions
- CFDP Packet Stack and related tests added. It also refactors the existing TMTC infastructure to
allow sending of CFDP packets to the CCSDS handlers.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/528
- added virtual function to print datasets
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/544
- doSendRead Hook
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/545
- Dockumentation for DHB
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/551
### HAL additions
- Linux Command Executor, which can execute shell commands in blocking and non-blocking mode
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/536
- uio Mapper
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/543
## Changes
- Applied the `clang-format` auto-formatter to all source code
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/534
- Updated Catch2 to v3.0.0-preview4
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/538
- Changed CI to use prebuilt docker image
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/549
## Bugfix
- CMake fixes in PR https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/533 , was problematic
if the uppermost user `CMakeLists.txt` did not have the include paths set up properly, which
could lead to compile errors that `#include "fsfw/FSFW.h"` was not found.
- Fix for build regression in Catch2 v3.0.0-preview4
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/548
- Fix in unittest which failed on CI
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/552
- Fix in helper script
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/553
## API Changes
- Aforementioned changes to existing TMTC stack
## Known bugs
-
# [v3.0.1]
## API Changes
*
## Bugfixes
* Version number was not updated for v3.0.0 #542
## Enhancement
*
## Known bugs
*
# [v3.0.0]
## API Changes
#### TCP Socket Changes
* Keep Open TCP Implementation #496
* The socket will now kept open after disconnect. This allows reconnecting.
* Only one connection is allowed
* No internal influence but clients need to change their Code.
### GPIO IF
* Add feature to open GPIO by line name #506
### Bitutil
* Unittests for Op Divider and Bitutility #510
### Filesystem IF changed
* Filesystem Base Interface: Use IF instead of void pointer #511
### STM32
* STM32 SPI Updates #518
## Bugfixes
* Small bugfix for LIS3 handler #504
* Spelling fixed for function names #509
* CMakeLists fixes #517
* Out of bound reads and writes in unittests #519
* Bug in TmPacketStoredPusC (#478)
* Windows ifdef fixed #529
## Enhancement
* FSFW.h.in more default values #491
* Minor updates for PUS services #498
* HasReturnvaluesIF naming for parameter #499
* Tests can now be built as part of FSFW and versioning moved to CMake #500
* Added integration test code #508
* More printouts for rejected TC packets #505
* Arrayprinter format improvements #514
* Adding code for CI with docker and jenkins #520
* Added new function in SerializeAdapter #513
* Enables simple deSerialize if you keep track of the buffer position yourself
* `` static ReturnValue_t deSerialize(T *object, const uint8_t* buffer,
size_t* deserSize, SerializeIF::Endianness streamEndianness) ``
* Unittest helper scripts has a new Parameter to open the coverage html in the webrowser #525
* ``'-o', '--open', Open coverage data in webbrowser``
* Documentation updated. Sphinx Documentation can now be build with python script #526
## Known bugs
* Version number was not updated for v3.0.0 #542
All Pull Requests:
Milestone: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/milestone/19
# [v2.0.0]
## API Changes
### File Structure changed to fit more common structure
* See pull request (#445)
* HAL is now part of the main project
* **See Instructions below:**
#### Instruction how to update existing / user code
* Changes in `#include`:
* Rename `internalError` in includes to `internalerror`
* Rename `fsfw/hal` to `fsfw_hal`
* Rename `fsfw/tests` to `fsfw_tests`
* Rename `osal/FreeRTOS` to `osal/freertos`
* Changes in `CMakeLists.txt`:
* Rename `OS_FSFW` to `FSFW_OSAL`
* Changes in `DleEncoder.cpp`
* Create an instance of the `DleEncoder` first before calling the `encode` and `decode` functions
### Removed osal/linux/Timer (#486)
* Was redundant to timemanager/Countdown
#### Instruction how to update existing / user code
* Use timemanager/Countdown instead
## Bugfixes
### TM Stack
* Increased TM stack robustness by introducing `nullptr` checks and more printouts (#483)
#### Host OSAL / FreeRTOS
* QueueMapManager Bugfix (NO_QUEUE was used as MessageQueueId) (#444)
#### Events
* Event output is now consistent (#447)
#### DLE Encoder
* Fixed possible out of bounds access in DLE Encoder (#492)
## Enhancment
* HAL as major new feature, also includes three MEMS devicehandlers as part of #481
* Linux HAL updates (#456)
* FreeRTOS Header cleaning update and Cmake tweaks (#442)
* Printer updates (#453)
* New returnvalue for for empty PST (#485)
* TMTC Bridge: Increase limit of packets stored (#484)
## Known bugs
* Bug in TmPacketStoredPusC (#478)
All Pull Requests:
Milestone: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/milestone/5
# [v1.2.0]
## API Changes
### FSFW Architecture
- New src folder which contains all source files except the HAL, contributed code and test code
- External and internal API mostly stayed the same
- Folder names are now all smaller case: internalError was renamed to internalerror and
FreeRTOS was renamed to freertos
- Warning if optional headers are used but the modules was not added to the source files to compile
### HAL
- HAL added back into FSFW. It is tightly bound to the FSFW, and compiling it as a static library
made using it more complicated than necessary
## Bugfixes
### FreeRTOS QueueMapManager
- Fixed a bug which causes the first generated Queue ID to be invalid
## Enhancements
### FSFW Architecture
- See API changes chapter. This change will keep the internal API consistent in the future
# [v1.1.0]
## API Changes
### PUS
- Added PUS C support
- SUBSYSTEM_IDs added for PUS Services
- Added new Parameter which must be defined in config: fsfwconfig::FSFW_MAX_TM_PACKET_SIZE
### ObjectManager
- ObjectManager is now a singelton
### Configuration
- Additional configuration option fsfwconfig::FSFW_MAX_TM_PACKET_SIZE which
need to be specified in FSFWConfig.h
### CMake
- Changed Cmake FSFW_ADDITIONAL_INC_PATH to FSFW_ADDITIONAL_INC_PATHS
## Bugfixes
- timemanager/TimeStamperIF.h: Timestamp config was not used correctly, leading to different timestamp sizes than configured in fsfwconfig::FSFW_MISSION_TIMESTAMP_SIZE
- TCP server fixes
## Enhancements
### FreeRTOS Queue Handles
- Fixed an internal issue how FreeRTOS MessageQueues were handled
### Linux OSAL
- Better printf error messages
### CMake
- Check for C++11 as mininimum required Version
### Debug Output
- Changed Warning color to magenta, which is well readable on both dark and light mode IDEs
# Changes from ASTP 0.0.1 to 1.0.0
### Host OSAL
- Bugfix in MessageQueue, which caused the sender not to be set properly
### FreeRTOS OSAL
- vRequestContextSwitchFromISR is declared extern "C" so it can be defined in
a C file without issues
### PUS Services
- It is now possible to change the message queue depth for the telecommand verification service (PUS1)
- The same is possible for the event reporting service (PUS5)
- PUS Health Service added, which allows to command and retrieve health via PUS packets
### EnhancedControllerBase
- New base class for a controller which also implements HasActionsIF and HasLocalDataPoolIF
### Local Pool
- Interface of LocalPools has changed. LocalPool is not a template anymore. Instead the size and
bucket number of the pools per page and the number of pages are passed to the ctor instead of
two ctor arguments and a template parameter
### Parameter Service
- The API of the parameter service has been changed to prevent inconsistencies
between documentation and actual code and to clarify usage.
- The parameter ID now consists of:
1. Domain ID (1 byte)
2. Unique Identifier (1 byte)
3. Linear Index (2 bytes)
The linear index can be used for arrays as well as matrices.
The parameter load command now explicitely expects the ECSS PTC and PFC
information as well as the rows and column number. Rows and column will
default to one, which is equivalent to one scalar parameter (the most
important use-case)
### File System Interface
- A new interfaces specifies the functions for a software object which exposes the file system of
a given hardware to use message based file handling (e.g. PUS commanding)
### Internal Error Reporter
- The new internal error reporter uses the local data pools. The pool IDs for
the exisiting three error values and the new error set will be hardcoded for
now, the the constructor for the internal error reporter just takes an object
ID for now.
### Device Handler Base
- There is an additional `PERFORM_OPERATION` step for the device handler base. It is important
that DHB users adapt their polling sequence tables to perform this step. This steps allows for
a clear distinction between operation and communication steps
- setNormalDatapoolEntriesInvalid is not an abstract method and a default implementation was provided
- getTransitionDelayMs is now an abstract method
### DeviceHandlerIF
- Typo for UNKNOWN_DEVICE_REPLY
### Events
- makeEvent function: Now takes three input parameters instead of two and
allows setting a unique ID. Event.cpp source file removed, functions now
defined in header directly. Namespaces renamed. Functions declared `constexpr`
now
### Commanding Service Base
- CSB uses the new fsfwconfig::FSFW_CSB_FIFO_DEPTH variable to determine the FIFO depth for each
CSB instance. This variable has to be set in the FSFWConfig.h file
### Service Interface
- Proper printf support contained in ServiceInterfacePrinter.h
- CPP ostream support now optional (can reduce executable size by 150 - 250 kB)
- Amalagated header which determines automatically which service interface to use depending on FSFWConfig.h configuration.
Users can just use #include <fsfw/serviceinterface/ServiceInterface.h>
- If CPP streams are excluded, sif:: calls won't work anymore and need to be replaced by their printf counterparts.
For the fsfw, this can be done by checking the processor define FSFW_CPP_OSTREAM_ENABLED from FSFWConfig.h.
For mission code, developers need to replace sif:: calls by the printf counterparts, but only if the CPP stream are excluded.
If this is not the case, everything should work as usual.
### ActionHelper and ActionMessage
- ActionHelper finish function and ActionMessage::setCompletionReply now expects explicit
information whether to report a success or failure message instead of deriving it implicitely
from returnvalue
### PUS Parameter Service 20
Added PUS parameter service 20 (only custom subservices available).

482
CMakeLists.txt Normal file
View File

@ -0,0 +1,482 @@
cmake_minimum_required(VERSION 3.13)
set(MSG_PREFIX "fsfw |")
# Add the cmake folder so the FindSphinx module is found
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
list(APPEND CMAKE_MODULE_PATH
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake-modules/bilke")
list(APPEND CMAKE_MODULE_PATH
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake-modules/rpavlik")
# ##############################################################################
# Version file handling #
# ##############################################################################
set(FSFW_VERSION_IF_GIT_FAILS 6)
set(FSFW_SUBVERSION_IF_GIT_FAILS 0)
set(FSFW_REVISION_IF_GIT_FAILS 0)
set(FSFW_GIT_VER_HANDLING_OK FALSE)
# Version handling
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)
message(STATUS "${MSG_PREFIX} Determining version information with git")
include(FsfwHelpers)
determine_version_with_git("--exclude" "docker_*")
if(GIT_INFO)
set(FSFW_GIT_INFO
${GIT_INFO}
CACHE STRING "Version information retrieved with git describe")
list(GET FSFW_GIT_INFO 1 FSFW_VERSION)
list(GET FSFW_GIT_INFO 2 FSFW_SUBVERSION)
list(GET FSFW_GIT_INFO 3 FSFW_REVISION)
list(GET FSFW_GIT_INFO 4 FSFW_VCS_INFO)
if(NOT FSFW_VERSION)
set(FSFW_VERSION ${FSFW_VERSION_IF_GIT_FAILS})
endif()
if(NOT FSFW_SUBVERSION)
set(FSFW_SUBVERSION ${FSFW_SUBVERSION_IF_GIT_FAILS})
endif()
if(NOT FSFW_REVISION)
set(FSFW_REVISION ${FSFW_REVISION_IF_GIT_FAILS})
endif()
set(FSFW_GIT_VER_HANDLING_OK TRUE)
else()
set(FSFW_GIT_VER_HANDLING_OK FALSE)
endif()
endif()
if(NOT FSFW_GIT_VER_HANDLING_OK)
set(FSFW_VERSION ${FSFW_VERSION_IF_GIT_FAILS})
set(FSFW_SUBVERSION ${FSFW_SUBVERSION_IF_GIT_FAILS})
set(FSFW_REVISION ${FSFW_REVISION_IF_GIT_FAILS})
endif()
set(LIB_FSFW_NAME fsfw)
project(${LIB_FSFW_NAME}
VERSION ${FSFW_VERSION}.${FSFW_SUBVERSION}.${FSFW_REVISION})
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED True)
elseif(${CMAKE_CXX_STANDARD} LESS 17)
message(
FATAL_ERROR
"${MSG_PREFIX} Compiling the FSFW requires a minimum of C++17 support")
endif()
set(FSFW_SOURCES_DIR "${CMAKE_SOURCE_DIR}/src/fsfw")
set(FSFW_ETL_LIB_NAME etl)
set(FSFW_ETL_LINK_TARGET etl::etl)
set(FSFW_ETL_LIB_MAJOR_VERSION
20
CACHE STRING "ETL library major version requirement")
set(FSFW_ETL_LIB_VERSION
${FSFW_ETL_LIB_MAJOR_VERSION}.28.0
CACHE STRING "ETL library exact version requirement")
set(FSFW_ETL_LINK_TARGET etl::etl)
set(FSFW_CATCH2_LIB_MAJOR_VERSION
3
CACHE STRING "Catch2 library major version requirement")
set(FSFW_CATCH2_LIB_VERSION
v${FSFW_CATCH2_LIB_MAJOR_VERSION}.1.0
CACHE STRING "Catch2 library exact version requirement")
# Keep this off by default for now. See PR:
# https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/616 for information which
# keeping this on by default is problematic
option(
FSFW_ENABLE_IPO
"Enable interprocedural optimization or link-time optimization if available"
OFF)
if(FSFW_ENABLE_IPO)
include(CheckIPOSupported)
check_ipo_supported(RESULT IPO_SUPPORTED OUTPUT IPO_ERROR)
if(NOT IPO_SUPPORTED)
message(STATUS "FSFW | IPO/LTO not supported: ${IPO_ERROR}")
endif()
endif()
option(FSFW_GENERATE_SECTIONS
"Generate function and data sections. Required to remove unused code" ON)
if(FSFW_GENERATE_SECTIONS)
option(FSFW_REMOVE_UNUSED_CODE "Remove unused code" ON)
endif()
option(FSFW_BUILD_TESTS
"Build unittest binary in addition to static library. Requires Catch2"
OFF)
option(FSFW_CICD_BUILD "Build for CI/CD. This can disable problematic test" OFF)
option(FSFW_BUILD_DOCS "Build documentation with Sphinx and Doxygen" OFF)
if(FSFW_BUILD_TESTS)
option(FSFW_TESTS_GEN_COV "Generate coverage data for unittests" ON)
endif()
option(FSFW_WARNING_SHADOW_LOCAL_GCC "Enable -Wshadow=local warning in GCC" ON)
# Options to exclude parts of the FSFW from compilation.
option(FSFW_ADD_INTERNAL_TESTS "Add internal unit tests" ON)
option(FSFW_ADD_HAL "Add Hardware Abstraction Layer" ON)
if(UNIX)
option(FSFW_HAL_LINUX_ADD_PERIPHERAL_DRIVERS "Add Linux peripheral drivers"
OFF)
option(FSFW_HAL_LINUX_ADD_LIBGPIOD "Attempt to add Linux GPIOD drivers" OFF)
option(FSFW_HAL_LINUX_ADD_SERIAL_DRIVERS "Add serial drivers" ON)
endif()
# Optional sources
option(FSFW_ADD_PUS "Compile with PUS sources" ON)
option(FSFW_ADD_MONITORING "Compile with monitoring components" ON)
option(FSFW_ADD_RMAP "Compile with RMAP" OFF)
option(FSFW_ADD_DATALINKLAYER "Compile with Data Link Layer" OFF)
option(FSFW_ADD_COORDINATES "Compile with coordinate components" OFF)
option(FSFW_ADD_TMSTORAGE "Compile with tm storage components" OFF)
# Contrib sources
option(FSFW_ADD_SGP4_PROPAGATOR "Add SGP4 propagator code" OFF)
set(FSFW_TEST_TGT fsfw-tests)
set(FSFW_DUMMY_TGT fsfw-dummy)
add_library(${LIB_FSFW_NAME})
if(IPO_SUPPORTED AND FSFW_ENABLE_IPO)
set_property(TARGET ${LIB_FSFW_NAME} PROPERTY INTERPROCEDURAL_OPTIMIZATION
TRUE)
endif()
if(FSFW_BUILD_TESTS)
message(
STATUS
"${MSG_PREFIX} Building the FSFW unittests in addition to the static library"
)
# Check whether the user has already installed Catch2 first
find_package(Catch2 ${FSFW_CATCH2_LIB_MAJOR_VERSION} QUIET)
# Not installed, so use FetchContent to download and provide Catch2
if(NOT Catch2_FOUND)
message(
STATUS
"${MSG_PREFIX} Catch2 installation not found. Downloading Catch2 library with FetchContent."
)
include(FetchContent)
FetchContent_Declare(
Catch2
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
GIT_TAG ${FSFW_CATCH2_LIB_VERSION})
list(APPEND FSFW_FETCH_CONTENT_TARGETS Catch2)
endif()
set(FSFW_CONFIG_PATH unittests/testcfg)
configure_file(unittests/testcfg/FSFWConfig.h.in FSFWConfig.h)
configure_file(unittests/testcfg/TestsConfig.h.in tests/TestsConfig.h)
project(${FSFW_TEST_TGT} CXX C)
add_executable(${FSFW_TEST_TGT})
if(IPO_SUPPORTED AND FSFW_ENABLE_IPO)
set_property(TARGET ${FSFW_TEST_TGT} PROPERTY INTERPROCEDURAL_OPTIMIZATION
TRUE)
endif()
if(FSFW_TESTS_GEN_COV)
message(STATUS "${MSG_PREFIX} Generating coverage data for the library")
message(STATUS "${MSG_PREFIX} Targets linking against ${LIB_FSFW_NAME} "
"will be compiled with coverage data as well")
set(CMAKE_BUILD_TYPE "Debug")
include(CodeCoverage)
endif()
endif()
message(
STATUS
"${MSG_PREFIX} Finding and/or providing etl library with version ${FSFW_ETL_LIB_MAJOR_VERSION}"
)
# Check whether the user has already installed ETL first
find_package(${FSFW_ETL_LIB_NAME} ${FSFW_ETL_LIB_MAJOR_VERSION} QUIET)
# Not installed, so use FetchContent to download and provide etl
if(NOT ${FSFW_ETL_LIB_NAME}_FOUND)
message(
STATUS
"${MSG_PREFIX} ETL installation not found. Downloading ETL with FetchContent."
)
include(FetchContent)
FetchContent_Declare(
${FSFW_ETL_LIB_NAME}
GIT_REPOSITORY https://github.com/ETLCPP/etl
GIT_TAG ${FSFW_ETL_LIB_VERSION})
list(APPEND FSFW_FETCH_CONTENT_TARGETS ${FSFW_ETL_LIB_NAME})
endif()
# The documentation for FetchContent recommends declaring all the dependencies
# before making them available. We make all declared dependency available here
# after their declaration
if(FSFW_FETCH_CONTENT_TARGETS)
FetchContent_MakeAvailable(${FSFW_FETCH_CONTENT_TARGETS})
if(TARGET ${FSFW_ETL_LIB_NAME})
add_library(${FSFW_ETL_LINK_TARGET} ALIAS ${FSFW_ETL_LIB_NAME})
endif()
if(TARGET Catch2)
# Fixes regression -preview4, to be confirmed in later releases Related
# GitHub issue: https://github.com/catchorg/Catch2/issues/2417
set_target_properties(Catch2 PROPERTIES DEBUG_POSTFIX "")
endif()
endif()
set(FSFW_CORE_INC_PATH "inc")
set_property(CACHE FSFW_OSAL PROPERTY STRINGS host linux rtems freertos)
# For configure files
target_include_directories(${LIB_FSFW_NAME} PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
target_include_directories(${LIB_FSFW_NAME}
INTERFACE ${CMAKE_CURRENT_BINARY_DIR})
# Backwards comptability
if(OS_FSFW AND NOT FSFW_OSAL)
message(
WARNING
"${MSG_PREFIX} Please pass the FSFW OSAL as FSFW_OSAL instead of OS_FSFW")
set(FSFW_OSAL OS_FSFW)
endif()
if(NOT FSFW_OSAL)
message(STATUS "No OS for FSFW via FSFW_OSAL set. Assuming host OS")
# Assume host OS and autodetermine from OS_FSFW
if(UNIX)
set(FSFW_OSAL
"linux"
CACHE STRING "OS abstraction layer used in the FSFW")
elseif(WIN32)
set(FSFW_OSAL
"host"
CACHE STRING "OS abstraction layer used in the FSFW")
endif()
endif()
set(FSFW_OSAL_DEFINITION FSFW_OSAL_HOST)
if(FSFW_OSAL MATCHES host)
set(FSFW_OS_NAME "Host")
set(FSFW_OSAL_HOST ON)
elseif(FSFW_OSAL MATCHES linux)
set(FSFW_OS_NAME "Linux")
set(FSFW_OSAL_LINUX ON)
elseif(FSFW_OSAL MATCHES freertos)
set(FSFW_OS_NAME "FreeRTOS")
set(FSFW_OSAL_FREERTOS ON)
target_link_libraries(${LIB_FSFW_NAME} PRIVATE ${LIB_OS_NAME})
elseif(FSFW_OSAL STREQUAL rtems)
set(FSFW_OS_NAME "RTEMS")
set(FSFW_OSAL_RTEMS ON)
else()
message(
WARNING
"${MSG_PREFIX} Invalid operating system for FSFW specified! Setting to host.."
)
set(FSFW_OS_NAME "Host")
set(OS_FSFW "host")
endif()
configure_file(src/fsfw/FSFW.h.in fsfw/FSFW.h)
configure_file(src/fsfw/FSFWVersion.h.in fsfw/FSFWVersion.h)
message(
STATUS "${MSG_PREFIX} Compiling FSFW for the ${FSFW_OS_NAME} operating system"
)
add_subdirectory(src)
add_subdirectory(contrib)
if(FSFW_BUILD_TESTS)
add_subdirectory(unittests)
endif()
if(FSFW_BUILD_DOCS)
add_subdirectory(docs)
endif()
if(FSFW_BUILD_TESTS)
if(FSFW_TESTS_GEN_COV)
if(CMAKE_COMPILER_IS_GNUCXX)
include(CodeCoverage)
# Remove quotes.
separate_arguments(COVERAGE_COMPILER_FLAGS NATIVE_COMMAND
"${COVERAGE_COMPILER_FLAGS}")
# Add compile options manually, we don't want coverage for Catch2
target_compile_options(${FSFW_TEST_TGT}
PRIVATE "${COVERAGE_COMPILER_FLAGS}")
target_compile_options(${LIB_FSFW_NAME}
PRIVATE "${COVERAGE_COMPILER_FLAGS}")
# Exclude directories here
if(WIN32)
set(GCOVR_ADDITIONAL_ARGS "--exclude-throw-branches"
"--exclude-unreachable-branches")
set(COVERAGE_EXCLUDES "/c/msys64/mingw64/*" "*/fsfw_hal/*")
elseif(UNIX)
set(COVERAGE_EXCLUDES
"/usr/include/*"
"/usr/bin/*"
"Catch2/*"
"/usr/local/include/*"
"*/fsfw_tests/*"
"*/catch2-src/*"
"*/fsfw_hal/*"
"unittests/*")
endif()
target_link_options(${FSFW_TEST_TGT} PRIVATE -fprofile-arcs
-ftest-coverage)
target_link_options(${LIB_FSFW_NAME} PRIVATE -fprofile-arcs
-ftest-coverage)
# Need to specify this as an interface, otherwise there will the compile
# issues
target_link_options(${LIB_FSFW_NAME} INTERFACE -fprofile-arcs
-ftest-coverage)
if(WIN32)
setup_target_for_coverage_gcovr_html(
NAME ${FSFW_TEST_TGT}_coverage EXECUTABLE ${FSFW_TEST_TGT}
DEPENDENCIES ${FSFW_TEST_TGT})
else()
setup_target_for_coverage_lcov(
NAME
${FSFW_TEST_TGT}_coverage
EXECUTABLE
${FSFW_TEST_TGT}
DEPENDENCIES
${FSFW_TEST_TGT}
GENHTML_ARGS
--html-epilog
${CMAKE_SOURCE_DIR}/unittests/lcov_epilog.html)
endif()
endif()
endif()
target_link_libraries(${FSFW_TEST_TGT} PRIVATE Catch2::Catch2
${LIB_FSFW_NAME})
endif()
# The project CMakeLists file has to set the FSFW_CONFIG_PATH and add it. If
# this is not given, we include the default configuration and emit a warning.
if(NOT FSFW_CONFIG_PATH)
set(DEF_CONF_PATH misc/defaultcfg/fsfwconfig)
if(NOT FSFW_BUILD_DOCS)
message(
WARNING
"${MSG_PREFIX} Flight Software Framework configuration path FSFW_CONFIG_PATH not set"
)
message(
WARNING
"${MSG_PREFIX} Setting default configuration from ${DEF_CONF_PATH} ..")
endif()
add_subdirectory(${DEF_CONF_PATH})
set(FSFW_CONFIG_PATH ${DEF_CONF_PATH})
endif()
# FSFW might be part of a possibly complicated folder structure, so we extract
# the absolute path of the fsfwconfig folder.
if(IS_ABSOLUTE ${FSFW_CONFIG_PATH})
set(FSFW_CONFIG_PATH_ABSOLUTE ${FSFW_CONFIG_PATH})
else()
get_filename_component(FSFW_CONFIG_PATH_ABSOLUTE ${FSFW_CONFIG_PATH} REALPATH
BASE_DIR ${CMAKE_SOURCE_DIR})
endif()
foreach(INCLUDE_PATH ${FSFW_ADDITIONAL_INC_PATHS})
if(IS_ABSOLUTE ${INCLUDE_PATH})
set(CURR_ABS_INC_PATH "${INCLUDE_PATH}")
else()
get_filename_component(CURR_ABS_INC_PATH ${INCLUDE_PATH} REALPATH BASE_DIR
${CMAKE_SOURCE_DIR})
endif()
if(CMAKE_VERBOSE)
message(STATUS "FSFW include path: ${CURR_ABS_INC_PATH}")
endif()
list(APPEND FSFW_ADD_INC_PATHS_ABS ${CURR_ABS_INC_PATH})
endforeach()
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
if(NOT DEFINED FSFW_WARNING_FLAGS)
set(FSFW_WARNING_FLAGS
-Wall
-Wextra
-Wimplicit-fallthrough=1
-Wno-unused-parameter
-Wno-psabi
-Wduplicated-cond # check for duplicate conditions
-Wduplicated-branches # check for duplicate branches
-Wlogical-op # Search for bitwise operations instead of logical
-Wnull-dereference # Search for NULL dereference
-Wundef # Warn if undefind marcos are used
-Wformat=2 # Format string problem detection
-Wformat-overflow=2 # Formatting issues in printf
-Wformat-truncation=2 # Formatting issues in printf
-Wformat-security # Search for dangerous printf operations
-Wstrict-overflow=3 # Warn if integer overflows might happen
-Warray-bounds=2 # Some array bounds violations will be found
-Wshift-overflow=2 # Search for bit left shift overflows (<c++14)
-Wcast-qual # Warn if the constness is cast away
-Wstringop-overflow=4
# -Wstack-protector # Emits a few false positives for low level access
# -Wconversion # Creates many false positives -Warith-conversion # Use
# with Wconversion to find more implicit conversions -fanalyzer # Should
# be used to look through problems
)
endif()
if(FSFW_GENERATE_SECTIONS)
target_compile_options(${LIB_FSFW_NAME} PRIVATE "-ffunction-sections"
"-fdata-sections")
endif()
if(FSFW_REMOVE_UNUSED_CODE)
target_link_options(${LIB_FSFW_NAME} PRIVATE "Wl,--gc-sections")
endif()
if(FSFW_WARNING_SHADOW_LOCAL_GCC)
list(APPEND WARNING_FLAGS "-Wshadow=local")
endif()
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
set(COMPILER_FLAGS "/permissive-")
endif()
# Required include paths to compile the FSFW
target_include_directories(
${LIB_FSFW_NAME} INTERFACE ${CMAKE_SOURCE_DIR} ${FSFW_CONFIG_PATH_ABSOLUTE}
${FSFW_CORE_INC_PATH} ${FSFW_ADD_INC_PATHS_ABS})
# Includes path required to compile FSFW itself as well We assume that the
# fsfwconfig folder uses include relative to the project root here!
target_include_directories(
${LIB_FSFW_NAME} PRIVATE ${CMAKE_SOURCE_DIR} ${FSFW_CONFIG_PATH_ABSOLUTE}
${FSFW_CORE_INC_PATH} ${FSFW_ADD_INC_PATHS_ABS})
target_compile_options(${LIB_FSFW_NAME} PRIVATE ${FSFW_WARNING_FLAGS}
${COMPILER_FLAGS})
target_link_libraries(${LIB_FSFW_NAME} PRIVATE ${FSFW_ADDITIONAL_LINK_LIBS})
target_link_libraries(${LIB_FSFW_NAME} PUBLIC ${FSFW_ETL_LINK_TARGET})
string(
CONCAT
POST_BUILD_COMMENT
"######################################################################\n"
"Built FSFW v${FSFW_VERSION}.${FSFW_SUBVERSION}.${FSFW_REVISION}, "
"Target OSAL: ${FSFW_OS_NAME}\n"
"######################################################################\n")
add_custom_command(
TARGET ${LIB_FSFW_NAME}
POST_BUILD
COMMENT ${POST_BUILD_COMMENT})

View File

@ -1,12 +0,0 @@
#ifndef FSFW_DEFAULTCFG_VERSION_H_
#define FSFW_DEFAULTCFG_VERSION_H_
const char* const FSFW_VERSION_NAME = "ASTP";
#define FSFW_VERSION 0
#define FSFW_SUBVERSION 0
#define FSFW_REVISION 1
#endif /* FSFW_DEFAULTCFG_VERSION_H_ */

0
FSFWVersion.h.in Normal file
View File

299
README.md
View File

@ -1,4 +1,5 @@
![FSFW Logo](logo/FSFW_Logo_V3_bw.png)
![FSFW Logo](misc/logo/FSFW_Logo_V3_bw.png)
# Flight Software Framework (FSFW)
The Flight Software Framework is a C++ Object Oriented Framework for unmanned,
@ -8,152 +9,200 @@ The initial version of the Flight Software Framework was developed during
the Flying Laptop Project by the University of Stuttgart in cooperation
with Airbus Defence and Space GmbH.
## Intended Use
## Quick facts
The framework is designed for systems, which communicate with external devices, perform control loops, receive telecommands and send telemetry, and need to maintain a high level of availability.
Therefore, a mode and health system provides control over the states of the software and the controlled devices.
The framework is designed for systems, which communicate with external devices, perform control loops,
receive telecommands and send telemetry, and need to maintain a high level of availability. Therefore,
a mode and health system provides control over the states of the software and the controlled devices.
In addition, a simple mechanism of event based fault detection, isolation and recovery is implemented as well.
The recommended hardware is a microprocessor with more than 2 MB of RAM and 1 MB of non-volatile Memory.
For reference, current Applications use a Cobham Gaisler UT699 (LEON3FT), a ISISPACE IOBC or a Zynq-7020 SoC.
The FSFW provides abstraction layers for operating systems to provide a uniform operating system
abstraction layer (OSAL). Some components of this OSAL are required internally by the FSFW but is
also very useful for developers to implement the same application logic on different operating
systems with a uniform interface.
Currently, the FSFW provides the following OSALs:
## Structure
- Linux
- Host
- FreeRTOS
- RTEMS
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 widely available, even with older compilers.
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.
Dynamic Allocation after initialization is discouraged and different solutions are provided in the FSFW to achieve that.
The fsfw uses Run-time type information.
Exceptions are not allowed.
The recommended hardware is a microprocessor with more than 1 MB of RAM and 1 MB of non-volatile
memory. For reference, current applications use a Cobham Gaisler UT699 (LEON3FT), a
ISISPACE IOBC or a Zynq-7020 SoC. The `fsfw` was also successfully run on the
STM32H743ZI-Nucleo board and on a Raspberry Pi and is currently running on the active
satellite mission Flying Laptop.
### Failure Handling
## Getting started
Functions should return a defined ReturnValue_t to signal to the caller that something is gone wrong.
Returnvalues must be unique. For this the function HasReturnvaluesIF::makeReturnCode or the Macro MAKE_RETURN can be used.
The CLASS_ID is a unique id for that type of object. See returnvalues/FwClassIds.
The [Hosted FSFW example](https://egit.irs.uni-stuttgart.de/fsfw/fsfw-example-hosted) provides a
good starting point and a demo to see the FSFW capabilities.
It is recommended to get started by building and playing around with the demo application.
There are also other examples provided for all OSALs using the popular embedded platforms
Raspberry Pi, Beagle Bone Black and STM32H7.
### OSAL
The FSFW provides operation system abstraction layers for Linux, FreeRTOS and RTEMS. A independent OSAL called "host" is currently not finished. This aims to be running on windows as well.
The OSAL provides periodic tasks, message queues, clocks and Semaphores as well as Mutexes.
Generally, the FSFW is included in a project by providing
a configuration folder, building the static library and linking against it.
There are some functions like `printChar` which are different depending on the target architecture
and need to be implemented by the mission developer.
### Core Components
A template configuration folder was provided and can be copied into the project root to have
a starting point. The [configuration section](docs/README-config.md#top) provides more specific
information about the possible options.
Clock:
* This is a class of static functions that can be used at anytime
* Leap Seconds must be set if any time conversions from UTC to other times is used
## Prerequisites
ObjectManager (must be created):
The Embedded Template Library (etl) is a dependency of the FSFW which is automatically
installed and provided by the build system unless the correction version was installed.
The current recommended version can be found inside the fsfw `CMakeLists.txt` file or by using
`ccmake` and looking up the `FSFW_ETL_LIB_MAJOR_VERSION` variable.
* The component which handles all references. All SystemObjects register at this component.
* Any SystemObject needs to have a unique ObjectId. Those can be managed like objects::framework_objects.
* A reference to an object can be get by calling the following function. T must be the specific Interface you want to call.
A nullptr check of the returning Pointer must be done. This function is based on Run-time type information.
You can install the ETL library like this. On Linux, it might be necessary to add `sudo` before
the install call:
``` c++
template <typename T> T* ObjectManagerIF::get( object_id_t id )
```
* A typical way to create all objects on startup is a handing a static produce function to the ObjectManager on creation.
By calling objectManager->initialize() the produce function will be called and all SystemObjects will be initialized afterwards.
Event Manager:
* Component which allows routing of events
* Other objects can subscribe to specific events, ranges of events or all events of an object.
* Subscriptions can be done during runtime but should be done during initialization
* Amounts of allowed subscriptions must be configured by setting this parameters:
``` c++
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;
}
```cpp
git clone https://github.com/ETLCPP/etl
cd etl
git checkout <currentRecommendedVersion>
mkdir build && cd build
cmake ..
cmake --install .
```
It is recommended to install `20.27.2` or newer for the package version handling of
ETL to work.
Health Table:
## Adding the library
* A component which holds every health state
* Provides a thread safe way to access all health states without the need of message exchanges
The following steps show how to add and use FSFW components. It is still recommended to
try out the example mentioned above to get started, but the following steps show how to
add and link against the FSFW library in general.
Stores
1. Add this repository as a submodule
* The message based communication can only exchange a few bytes of information inside the message itself. Therefore, additional information can be exchanged with Stores. With this, only the store address must be exchanged in the message.
* Internally, the FSFW uses an IPC Store to exchange data between processes. For incoming TCs a TC Store is used. For outgoing TM a TM store is used.
* All of them should use the Thread Safe Class storagemanager/PoolManager
```sh
git submodule add https://egit.irs.uni-stuttgart.de/fsfw/fsfw.git fsfw
```
Tasks
2. Add the following directive inside the uppermost `CMakeLists.txt` file of your project
There are two different types of tasks:
* The PeriodicTask just executes objects that are of type ExecutableObjectIF in the order of the insertion to the Tasks.
* FixedTimeslotTask executes a list of calls in the order of the given list. This is intended for DeviceHandlers, where polling should be in a defined order. An example can be found in defaultcfg/fsfwconfig/pollingSequence
```cmake
add_subdirectory(fsfw)
```
3. Make sure to provide a configuration folder and supply the path to that folder with
the `FSFW_CONFIG_PATH` CMake variable from the uppermost `CMakeLists.txt` file.
It is also necessary to provide the `printChar` function. You can find an example
implementation for a hosted build
[here](https://egit.irs.uni-stuttgart.de/fsfw/fsfw-example-hosted/src/branch/master/bsp_hosted/utility/printChar.c).
4. Link against the FSFW library
```sh
target_link_libraries(${YourProjectName} PRIVATE fsfw)
```
5. It should now be possible use the FSFW as a static library from the user code.
## Building the unittests
The FSFW also has unittests which use the [Catch2 library](https://github.com/catchorg/Catch2).
These are built by setting the CMake option `FSFW_BUILD_UNITTESTS` to `ON` or `TRUE`
from your project `CMakeLists.txt` file or from the command line.
You can install the Catch2 library, which prevents the build system to avoid re-downloading
the dependency if the unit tests are completely rebuilt. The current recommended version
can be found inside the fsfw `CMakeLists.txt` file or by using `ccmake` and looking up
the `FSFW_CATCH2_LIB_VERSION` variable.
```sh
git clone https://github.com/catchorg/Catch2.git
cd Catch2
git checkout <currentRecommendedVersion>
cmake -Bbuild -H. -DBUILD_TESTING=OFF
sudo cmake --build build/ --target install
```
The fsfw-tests binary will be built as part of the static library and dropped alongside it.
If the unittests are built, the library and the tests will be built with coverage information by
default. This can be disabled by setting the `FSFW_TESTS_COV_GEN` option to `OFF` or `FALSE`.
You can use the following commands inside the `fsfw` folder to set up the build system
```sh
mkdir build-tests && cd build-tests
cmake -DFSFW_BUILD_TESTS=ON -DFSFW_OSAL=host -DCMAKE_BUILD_TYPE=Debug ..
```
You can also use `-DFSFW_OSAL=linux` on Linux systems.
Coverage data in HTML format can be generated using the `CodeCoverage`
[CMake module](https://github.com/bilke/cmake-modules/tree/master).
To build the unittests, run them and then generate the coverage data in this format,
the following command can be used inside the build directory after the build system was set up
```sh
cmake --build . -- fsfw-tests_coverage -j
```
The `coverage.py` script located in the `script` folder can also be used to do this conveniently.
## Building the documentations
The FSFW documentation is built using the tools Sphinx, doxygen and breathe based on the
instructions provided in [this blogpost](https://devblogs.microsoft.com/cppblog/clear-functional-c-documentation-with-sphinx-breathe-doxygen-cmake/). If you
want to do this locally, set up the prerequisites first. This requires a ``python3``
installation as well. Example here is for Ubuntu.
```sh
sudo apt-get install doxygen graphviz
```
And the following Python packages
```sh
python3 -m pip install sphinx breathe
```
You can set up a documentation build system using the following commands
```sh
mkdir build-docs && cd build-docs
cmake -DFSFW_BUILD_DOCS=ON -DFSFW_OSAL=host ..
```
Then you can generate the documentation using
```sh
cmake --build . -- Sphinx -j
```
You can find the generated documentation inside the `docs/sphinx` folder inside the build
folder. Simply open the `index.html` in the webbrowser of your choice.
The `helper.py` script located in the script` folder can also be used to create, build
and open the documentation conveniently. Try `helper.py -h for more information.
## Formatting the sources
The formatting is done by the `clang-format` tool. The configuration is contained within the
`.clang-format` file in the repository root. As long as `clang-format` is installed, you
can run the `auto-format.sh` helper script to format all source files consistently. Furthermore cmake-format is required to format CMake files which can be installed with:
````sh
sudo pip install cmakelang
````
## Index
[1. High-level overview](docs/README-highlevel.md#top) <br>
[2. Core components](docs/README-core.md#top) <br>
[3. Configuration](docs/README-config.md#top) <br>
[4. OSAL overview](docs/README-osal.md#top) <br>
[5. PUS services](docs/README-pus.md#top) <br>
[6. Device Handler overview](docs/README-devicehandlers.md#top) <br>
[7. Controller overview](docs/README-controllers.md#top) <br>
[8. Local Data Pools](docs/README-localpools.md#top) <br>
### Static Ids in the framework
Some parts of the framework use a static routing address for communication.
An example setup of ids can be found in the example config in "defaultcft/fsfwconfig/objects/Factory::setStaticFrameworkObjectIds()".
### Events
Events are tied to objects. EventIds can be generated by calling the Macro MAKE_EVENT. This works analog to the returnvalues.
Every object that needs own EventIds has to get a unique SUBSYSTEM_ID.
Every SystemObject can call triggerEvent from the parent class.
Therefore, event messages contain the specific EventId and the objectId of the object that has triggered.
### Internal Communication
Components communicate mostly over Message through Queues.
Those queues are created by calling the singleton QueueFactory::instance()->create().
### External Communication
The external communication with the mission control system is mostly up to the user implementation.
The FSFW provides PUS Services which can be used to but don't need to be used.
The services can be seen as a conversion from a TC to a message based communication and back.
#### CCSDS Frames, CCSDS Space Packets and PUS
If the communication is based on CCSDS Frames and Space Packets, several classes can be used to distributed the packets to the corresponding services. Those can be found in tcdistribution.
If Space Packets are used, a timestamper must be created.
An example can be found in the timemanager folder, this uses CCSDSTime::CDS_short.
#### DeviceHandling
DeviceHandlers are a core component of the FSFW.
The idea is, to have a software counterpart of every physical device to provide a simple mode, health and commanding interface.
By separating the underlying Communication Interface with DeviceCommunicationIF, a DH can be tested on different hardware.
The DH has mechanisms to monitor the communication with the physical device which allow for FDIR reaction.
A standard FDIR component for the DH will be created automatically but can be overwritten by the user.
#### Modes, Health
The two interfaces HasModesIF and HasHealthIF provide access for commanding and monitoring of components.
On-board Mode Management is implement in hierarchy system.
DeviceHandlers and Controllers are the lowest part of the hierarchy.
The next layer are Assemblies. Those assemblies act as a component which handle redundancies of handlers.
Assemblies share a common core with the next level which are the Subsystems.
Those Assemblies are intended to act as auto-generated components from a database which describes the subsystem modes.
The definitions contain transition and target tables which contain the DH, Assembly and Controller Modes to be commanded.
Transition tables contain as many steps as needed to reach the mode from any other mode, e.g. a switch into any higher AOCS mode might first turn on the sensors, than the actuators and the controller as last component.
The target table is used to describe the state that is checked continuously by the subsystem.
All of this allows System Modes to be generated as Subsystem object as well from the same database.
This System contains list of subsystem modes in the transition and target tables.
Therefore, it allows a modular system to create system modes and easy commanding of those, because only the highest components must be commanded.
The health state represents if the component is able to perform its tasks.
This can be used to signal the system to avoid using this component instead of a redundant one.
The on-board FDIR uses the health state for isolation and recovery.
## Example config
A example config can be found in defaultcfg/fsfwconfig.
## Unit Tests
Unit Tests are provided in the unittest folder. Those use the catch2 framework but do not include catch2 itself.
See README.md in the unittest Folder.

View File

@ -1,162 +0,0 @@
#include "ActionHelper.h"
#include "HasActionsIF.h"
#include "../ipc/MessageQueueSenderIF.h"
#include "../objectmanager/ObjectManagerIF.h"
ActionHelper::ActionHelper(HasActionsIF* setOwner,
MessageQueueIF* useThisQueue) :
owner(setOwner), queueToUse(useThisQueue) {
}
ActionHelper::~ActionHelper() {
}
ReturnValue_t ActionHelper::handleActionMessage(CommandMessage* command) {
if (command->getCommand() == ActionMessage::EXECUTE_ACTION) {
ActionId_t currentAction = ActionMessage::getActionId(command);
prepareExecution(command->getSender(), currentAction,
ActionMessage::getStoreId(command));
return HasReturnvaluesIF::RETURN_OK;
} else {
return CommandMessage::UNKNOWN_COMMAND;
}
}
ReturnValue_t ActionHelper::initialize(MessageQueueIF* queueToUse_) {
ipcStore = objectManager->get<StorageManagerIF>(objects::IPC_STORE);
if (ipcStore == nullptr) {
return HasReturnvaluesIF::RETURN_FAILED;
}
if(queueToUse_ != nullptr) {
setQueueToUse(queueToUse_);
}
return HasReturnvaluesIF::RETURN_OK;
}
void ActionHelper::step(uint8_t step, MessageQueueId_t reportTo,
ActionId_t commandId, ReturnValue_t result) {
CommandMessage reply;
ActionMessage::setStepReply(&reply, commandId, step + STEP_OFFSET, result);
queueToUse->sendMessage(reportTo, &reply);
}
void ActionHelper::finish(MessageQueueId_t reportTo, ActionId_t commandId,
ReturnValue_t result) {
CommandMessage reply;
ActionMessage::setCompletionReply(&reply, commandId, result);
queueToUse->sendMessage(reportTo, &reply);
}
void ActionHelper::setQueueToUse(MessageQueueIF* queue) {
queueToUse = queue;
}
void ActionHelper::prepareExecution(MessageQueueId_t commandedBy,
ActionId_t actionId, store_address_t dataAddress) {
const uint8_t* dataPtr = NULL;
size_t size = 0;
ReturnValue_t result = ipcStore->getData(dataAddress, &dataPtr, &size);
if (result != HasReturnvaluesIF::RETURN_OK) {
CommandMessage reply;
ActionMessage::setStepReply(&reply, actionId, 0, result);
queueToUse->sendMessage(commandedBy, &reply);
return;
}
result = owner->executeAction(actionId, commandedBy, dataPtr, size);
ipcStore->deleteData(dataAddress);
if(result == HasActionsIF::EXECUTION_FINISHED) {
CommandMessage reply;
ActionMessage::setCompletionReply(&reply, actionId, result);
queueToUse->sendMessage(commandedBy, &reply);
}
if (result != HasReturnvaluesIF::RETURN_OK) {
CommandMessage reply;
ActionMessage::setStepReply(&reply, actionId, 0, result);
queueToUse->sendMessage(commandedBy, &reply);
return;
}
}
ReturnValue_t ActionHelper::reportData(MessageQueueId_t reportTo,
ActionId_t replyId, SerializeIF* data, bool hideSender) {
CommandMessage reply;
store_address_t storeAddress;
uint8_t *dataPtr;
size_t maxSize = data->getSerializedSize();
if (maxSize == 0) {
//No error, there's simply nothing to report.
return HasReturnvaluesIF::RETURN_OK;
}
size_t size = 0;
ReturnValue_t result = ipcStore->getFreeElement(&storeAddress, maxSize,
&dataPtr);
if (result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
result = data->serialize(&dataPtr, &size, maxSize,
SerializeIF::Endianness::BIG);
if (result != HasReturnvaluesIF::RETURN_OK) {
ipcStore->deleteData(storeAddress);
return result;
}
// We don't need to report the objectId, as we receive REQUESTED data
// before the completion success message.
// True aperiodic replies need to be reported with
// another dedicated message.
ActionMessage::setDataReply(&reply, replyId, storeAddress);
// If the sender needs to be hidden, for example to handle packet
// as unrequested reply, this will be done here.
if (hideSender) {
result = MessageQueueSenderIF::sendMessage(reportTo, &reply);
}
else {
result = queueToUse->sendMessage(reportTo, &reply);
}
if (result != HasReturnvaluesIF::RETURN_OK){
ipcStore->deleteData(storeAddress);
}
return result;
}
void ActionHelper::resetHelper() {
}
ReturnValue_t ActionHelper::reportData(MessageQueueId_t reportTo,
ActionId_t replyId, const uint8_t *data, size_t dataSize,
bool hideSender) {
CommandMessage reply;
store_address_t storeAddress;
ReturnValue_t result = ipcStore->addData(&storeAddress, data, dataSize);
if (result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
if (result != HasReturnvaluesIF::RETURN_OK) {
ipcStore->deleteData(storeAddress);
return result;
}
// We don't need to report the objectId, as we receive REQUESTED data
// before the completion success message.
// True aperiodic replies need to be reported with
// another dedicated message.
ActionMessage::setDataReply(&reply, replyId, storeAddress);
// If the sender needs to be hidden, for example to handle packet
// as unrequested reply, this will be done here.
if (hideSender) {
result = MessageQueueSenderIF::sendMessage(reportTo, &reply);
}
else {
result = queueToUse->sendMessage(reportTo, &reply);
}
if (result != HasReturnvaluesIF::RETURN_OK){
ipcStore->deleteData(storeAddress);
}
return result;
}

View File

@ -1,125 +0,0 @@
#ifndef FSFW_ACTION_ACTIONHELPER_H_
#define FSFW_ACTION_ACTIONHELPER_H_
#include "ActionMessage.h"
#include "../serialize/SerializeIF.h"
#include "../ipc/MessageQueueIF.h"
/**
* @brief Action Helper is a helper class which handles action messages
*
* Components which use the HasActionIF this helper can be used to handle
* the action messages.
* It does handle step messages as well as other answers to action calls.
* It uses the executeAction function of its owner as callback.
* The call of the initialize function is mandatory and needs a
* valid MessageQueueIF pointer!
*/
class HasActionsIF;
class ActionHelper {
public:
/**
* Constructor of the action helper
* @param setOwner Pointer to the owner of the interface
* @param useThisQueue messageQueue to be used, can be set during
* initialize function as well.
*/
ActionHelper(HasActionsIF* setOwner, MessageQueueIF* useThisQueue);
virtual ~ActionHelper();
/**
* Function to be called from the owner with a new command message
*
* If the message is a valid action message the helper will use the
* executeAction function from HasActionsIF.
* If the message is invalid or the callback fails a message reply will be
* send to the sender of the message automatically.
*
* @param command Pointer to a command message received by the owner
* @return HasReturnvaluesIF::RETURN_OK if the message is a action message,
* CommandMessage::UNKNOW_COMMAND if this message ID is unkown
*/
ReturnValue_t handleActionMessage(CommandMessage* command);
/**
* Helper initialize function. Must be called before use of any other
* helper function
* @param queueToUse_ Pointer to the messageQueue to be used, optional
* if queue was set in constructor
* @return Returns RETURN_OK if successful
*/
ReturnValue_t initialize(MessageQueueIF* queueToUse_ = nullptr);
/**
* Function to be called from the owner to send a step message.
* Success or failure will be determined by the result value.
*
* @param step Number of steps already done
* @param reportTo The messageQueueId to report the step message to
* @param commandId ID of the executed command
* @param result Result of the execution
*/
void step(uint8_t step, MessageQueueId_t reportTo,
ActionId_t commandId,
ReturnValue_t result = HasReturnvaluesIF::RETURN_OK);
/**
* Function to be called by the owner to send a action completion message
*
* @param reportTo MessageQueueId_t to report the action completion message to
* @param commandId ID of the executed command
* @param result Result of the execution
*/
void finish(MessageQueueId_t reportTo, ActionId_t commandId,
ReturnValue_t result = HasReturnvaluesIF::RETURN_OK);
/**
* Function to be called by the owner if an action does report data.
* Takes a SerializeIF* pointer and serializes it into the IPC store.
* @param reportTo MessageQueueId_t to report the action completion
* message to
* @param replyId ID of the executed command
* @param data Pointer to the data
* @return Returns RETURN_OK if successful, otherwise failure code
*/
ReturnValue_t reportData(MessageQueueId_t reportTo, ActionId_t replyId,
SerializeIF* data, bool hideSender = false);
/**
* Function to be called by the owner if an action does report data.
* Takes the raw data and writes it into the IPC store.
* @param reportTo MessageQueueId_t to report the action completion
* message to
* @param replyId ID of the executed command
* @param data Pointer to the data
* @return Returns RETURN_OK if successful, otherwise failure code
*/
ReturnValue_t reportData(MessageQueueId_t reportTo, ActionId_t replyId,
const uint8_t* data, size_t dataSize, bool hideSender = false);
/**
* Function to setup the MessageQueueIF* of the helper. Can be used to
* set the MessageQueueIF* if message queue is unavailable at construction
* and initialize but must be setup before first call of other functions.
* @param queue Queue to be used by the helper
*/
void setQueueToUse(MessageQueueIF *queue);
protected:
//!< Increase of value of this per step
static const uint8_t STEP_OFFSET = 1;
HasActionsIF* owner;//!< Pointer to the owner
//! Queue to be used as response sender, has to be set in ctor or with
//! setQueueToUse
MessageQueueIF* queueToUse;
//! Pointer to an IPC Store, initialized during construction or
StorageManagerIF* ipcStore = nullptr;
/**
* Internal function called by handleActionMessage
* @param commandedBy MessageQueueID of Commander
* @param actionId ID of action to be done
* @param dataAddress Address of additional data in IPC Store
*/
virtual void prepareExecution(MessageQueueId_t commandedBy,
ActionId_t actionId, store_address_t dataAddress);
/**
* @brief Default implementation is empty.
*/
virtual void resetHelper();
};
#endif /* FSFW_ACTION_ACTIONHELPER_H_ */

View File

@ -1,79 +0,0 @@
#include "ActionMessage.h"
#include "../objectmanager/ObjectManagerIF.h"
#include "../storagemanager/StorageManagerIF.h"
ActionMessage::ActionMessage() {
}
ActionMessage::~ActionMessage() {
}
void ActionMessage::setCommand(CommandMessage* message, ActionId_t fid,
store_address_t parameters) {
message->setCommand(EXECUTE_ACTION);
message->setParameter(fid);
message->setParameter2(parameters.raw);
}
ActionId_t ActionMessage::getActionId(const CommandMessage* message) {
return ActionId_t(message->getParameter());
}
store_address_t ActionMessage::getStoreId(const CommandMessage* message) {
store_address_t temp;
temp.raw = message->getParameter2();
return temp;
}
void ActionMessage::setStepReply(CommandMessage* message, ActionId_t fid, uint8_t step,
ReturnValue_t result) {
if (result == HasReturnvaluesIF::RETURN_OK) {
message->setCommand(STEP_SUCCESS);
} else {
message->setCommand(STEP_FAILED);
}
message->setParameter(fid);
message->setParameter2((step << 16) + result);
}
uint8_t ActionMessage::getStep(const CommandMessage* message) {
return uint8_t((message->getParameter2() >> 16) & 0xFF);
}
ReturnValue_t ActionMessage::getReturnCode(const CommandMessage* message) {
return message->getParameter2() & 0xFFFF;
}
void ActionMessage::setDataReply(CommandMessage* message, ActionId_t actionId,
store_address_t data) {
message->setCommand(DATA_REPLY);
message->setParameter(actionId);
message->setParameter2(data.raw);
}
void ActionMessage::setCompletionReply(CommandMessage* message,
ActionId_t fid, ReturnValue_t result) {
if (result == HasReturnvaluesIF::RETURN_OK) {
message->setCommand(COMPLETION_SUCCESS);
} else {
message->setCommand(COMPLETION_FAILED);
}
message->setParameter(fid);
message->setParameter2(result);
}
void ActionMessage::clear(CommandMessage* message) {
switch(message->getCommand()) {
case EXECUTE_ACTION:
case DATA_REPLY: {
StorageManagerIF *ipcStore = objectManager->get<StorageManagerIF>(
objects::IPC_STORE);
if (ipcStore != NULL) {
ipcStore->deleteData(getStoreId(message));
}
break;
}
default:
break;
}
}

View File

@ -1,36 +0,0 @@
#ifndef FSFW_ACTION_ACTIONMESSAGE_H_
#define FSFW_ACTION_ACTIONMESSAGE_H_
#include "../ipc/CommandMessage.h"
#include "../objectmanager/ObjectManagerIF.h"
#include "../storagemanager/StorageManagerIF.h"
typedef uint32_t ActionId_t;
class ActionMessage {
private:
ActionMessage();
public:
static const uint8_t MESSAGE_ID = messagetypes::ACTION;
static const Command_t EXECUTE_ACTION = MAKE_COMMAND_ID(1);
static const Command_t STEP_SUCCESS = MAKE_COMMAND_ID(2);
static const Command_t STEP_FAILED = MAKE_COMMAND_ID(3);
static const Command_t DATA_REPLY = MAKE_COMMAND_ID(4);
static const Command_t COMPLETION_SUCCESS = MAKE_COMMAND_ID(5);
static const Command_t COMPLETION_FAILED = MAKE_COMMAND_ID(6);
virtual ~ActionMessage();
static void setCommand(CommandMessage* message, ActionId_t fid,
store_address_t parameters);
static ActionId_t getActionId(const CommandMessage* message );
static store_address_t getStoreId(const CommandMessage* message );
static void setStepReply(CommandMessage* message, ActionId_t fid,
uint8_t step, ReturnValue_t result = HasReturnvaluesIF::RETURN_OK);
static uint8_t getStep(const CommandMessage* message );
static ReturnValue_t getReturnCode(const CommandMessage* message );
static void setDataReply(CommandMessage* message, ActionId_t actionId,
store_address_t data);
static void setCompletionReply(CommandMessage* message, ActionId_t fid,
ReturnValue_t result = HasReturnvaluesIF::RETURN_OK);
static void clear(CommandMessage* message);
};
#endif /* FSFW_ACTION_ACTIONMESSAGE_H_ */

View File

@ -1,127 +0,0 @@
#include "ActionMessage.h"
#include "CommandActionHelper.h"
#include "CommandsActionsIF.h"
#include "HasActionsIF.h"
#include "../objectmanager/ObjectManagerIF.h"
CommandActionHelper::CommandActionHelper(CommandsActionsIF *setOwner) :
owner(setOwner), queueToUse(NULL), ipcStore(
NULL), commandCount(0), lastTarget(0) {
}
CommandActionHelper::~CommandActionHelper() {
}
ReturnValue_t CommandActionHelper::commandAction(object_id_t commandTo,
ActionId_t actionId, SerializeIF *data) {
HasActionsIF *receiver = objectManager->get<HasActionsIF>(commandTo);
if (receiver == NULL) {
return CommandsActionsIF::OBJECT_HAS_NO_FUNCTIONS;
}
store_address_t storeId;
uint8_t *storePointer;
size_t maxSize = data->getSerializedSize();
ReturnValue_t result = ipcStore->getFreeElement(&storeId, maxSize,
&storePointer);
if (result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
size_t size = 0;
result = data->serialize(&storePointer, &size, maxSize,
SerializeIF::Endianness::BIG);
if (result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
return sendCommand(receiver->getCommandQueue(), actionId, storeId);
}
ReturnValue_t CommandActionHelper::commandAction(object_id_t commandTo,
ActionId_t actionId, const uint8_t *data, uint32_t size) {
// if (commandCount != 0) {
// return CommandsFunctionsIF::ALREADY_COMMANDING;
// }
HasActionsIF *receiver = objectManager->get<HasActionsIF>(commandTo);
if (receiver == NULL) {
return CommandsActionsIF::OBJECT_HAS_NO_FUNCTIONS;
}
store_address_t storeId;
ReturnValue_t result = ipcStore->addData(&storeId, data, size);
if (result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
return sendCommand(receiver->getCommandQueue(), actionId, storeId);
}
ReturnValue_t CommandActionHelper::sendCommand(MessageQueueId_t queueId,
ActionId_t actionId, store_address_t storeId) {
CommandMessage command;
ActionMessage::setCommand(&command, actionId, storeId);
ReturnValue_t result = queueToUse->sendMessage(queueId, &command);
if (result != HasReturnvaluesIF::RETURN_OK) {
ipcStore->deleteData(storeId);
}
lastTarget = queueId;
commandCount++;
return result;
}
ReturnValue_t CommandActionHelper::initialize() {
ipcStore = objectManager->get<StorageManagerIF>(objects::IPC_STORE);
if (ipcStore == NULL) {
return HasReturnvaluesIF::RETURN_FAILED;
}
queueToUse = owner->getCommandQueuePtr();
if (queueToUse == NULL) {
return HasReturnvaluesIF::RETURN_FAILED;
}
return HasReturnvaluesIF::RETURN_OK;
}
ReturnValue_t CommandActionHelper::handleReply(CommandMessage *reply) {
if (reply->getSender() != lastTarget) {
return HasReturnvaluesIF::RETURN_FAILED;
}
switch (reply->getCommand()) {
case ActionMessage::COMPLETION_SUCCESS:
commandCount--;
owner->completionSuccessfulReceived(ActionMessage::getActionId(reply));
return HasReturnvaluesIF::RETURN_OK;
case ActionMessage::COMPLETION_FAILED:
commandCount--;
owner->completionFailedReceived(ActionMessage::getActionId(reply),
ActionMessage::getReturnCode(reply));
return HasReturnvaluesIF::RETURN_OK;
case ActionMessage::STEP_SUCCESS:
owner->stepSuccessfulReceived(ActionMessage::getActionId(reply),
ActionMessage::getStep(reply));
return HasReturnvaluesIF::RETURN_OK;
case ActionMessage::STEP_FAILED:
commandCount--;
owner->stepFailedReceived(ActionMessage::getActionId(reply),
ActionMessage::getStep(reply),
ActionMessage::getReturnCode(reply));
return HasReturnvaluesIF::RETURN_OK;
case ActionMessage::DATA_REPLY:
extractDataForOwner(ActionMessage::getActionId(reply),
ActionMessage::getStoreId(reply));
return HasReturnvaluesIF::RETURN_OK;
default:
return HasReturnvaluesIF::RETURN_FAILED;
}
}
uint8_t CommandActionHelper::getCommandCount() const {
return commandCount;
}
void CommandActionHelper::extractDataForOwner(ActionId_t actionId, store_address_t storeId) {
const uint8_t * data = NULL;
size_t size = 0;
ReturnValue_t result = ipcStore->getData(storeId, &data, &size);
if (result != HasReturnvaluesIF::RETURN_OK) {
return;
}
owner->dataReceived(actionId, data, size);
ipcStore->deleteData(storeId);
}

View File

@ -1,36 +0,0 @@
#ifndef COMMANDACTIONHELPER_H_
#define COMMANDACTIONHELPER_H_
#include "ActionMessage.h"
#include "../objectmanager/ObjectManagerIF.h"
#include "../returnvalues/HasReturnvaluesIF.h"
#include "../serialize/SerializeIF.h"
#include "../storagemanager/StorageManagerIF.h"
#include "../ipc/MessageQueueIF.h"
class CommandsActionsIF;
class CommandActionHelper {
friend class CommandsActionsIF;
public:
CommandActionHelper(CommandsActionsIF* owner);
virtual ~CommandActionHelper();
ReturnValue_t commandAction(object_id_t commandTo,
ActionId_t actionId, const uint8_t* data, uint32_t size);
ReturnValue_t commandAction(object_id_t commandTo,
ActionId_t actionId, SerializeIF* data);
ReturnValue_t initialize();
ReturnValue_t handleReply(CommandMessage* reply);
uint8_t getCommandCount() const;
private:
CommandsActionsIF* owner;
MessageQueueIF* queueToUse;
StorageManagerIF* ipcStore;
uint8_t commandCount;
MessageQueueId_t lastTarget;
void extractDataForOwner(ActionId_t actionId, store_address_t storeId);
ReturnValue_t sendCommand(MessageQueueId_t queueId, ActionId_t actionId,
store_address_t storeId);
};
#endif /* COMMANDACTIONHELPER_H_ */

View File

@ -1,37 +0,0 @@
#ifndef FSFW_ACTION_COMMANDSACTIONSIF_H_
#define FSFW_ACTION_COMMANDSACTIONSIF_H_
#include "CommandActionHelper.h"
#include "../returnvalues/HasReturnvaluesIF.h"
#include "../ipc/MessageQueueIF.h"
/**
* Interface to separate commanding actions of other objects.
* In next iteration, IF should be shortened to three calls:
* - dataReceived(data)
* - successReceived(id, step)
* - failureReceived(id, step, cause)
* or even
* - replyReceived(id, step, cause) (if cause == OK, it's a success).
*/
class CommandsActionsIF {
friend class CommandActionHelper;
public:
static const uint8_t INTERFACE_ID = CLASS_ID::COMMANDS_ACTIONS_IF;
static const ReturnValue_t OBJECT_HAS_NO_FUNCTIONS = MAKE_RETURN_CODE(1);
static const ReturnValue_t ALREADY_COMMANDING = MAKE_RETURN_CODE(2);
virtual ~CommandsActionsIF() {}
virtual MessageQueueIF* getCommandQueuePtr() = 0;
protected:
virtual void stepSuccessfulReceived(ActionId_t actionId, uint8_t step) = 0;
virtual void stepFailedReceived(ActionId_t actionId, uint8_t step,
ReturnValue_t returnCode) = 0;
virtual void dataReceived(ActionId_t actionId, const uint8_t* data,
uint32_t size) = 0;
virtual void completionSuccessfulReceived(ActionId_t actionId) = 0;
virtual void completionFailedReceived(ActionId_t actionId,
ReturnValue_t returnCode) = 0;
};
#endif /* FSFW_ACTION_COMMANDSACTIONSIF_H_ */

View File

@ -1,75 +0,0 @@
#include "HasActionsIF.h"
#include "SimpleActionHelper.h"
SimpleActionHelper::SimpleActionHelper(HasActionsIF* setOwner,
MessageQueueIF* useThisQueue) :
ActionHelper(setOwner, useThisQueue), isExecuting(false) {
}
SimpleActionHelper::~SimpleActionHelper() {
}
void SimpleActionHelper::step(ReturnValue_t result) {
// STEP_OFFESET is subtracted to compensate for adding offset in base
// method, which is not necessary here.
ActionHelper::step(stepCount - STEP_OFFSET, lastCommander, lastAction,
result);
if (result != HasReturnvaluesIF::RETURN_OK) {
resetHelper();
}
}
void SimpleActionHelper::finish(ReturnValue_t result) {
ActionHelper::finish(lastCommander, lastAction, result);
resetHelper();
}
ReturnValue_t SimpleActionHelper::reportData(SerializeIF* data) {
return ActionHelper::reportData(lastCommander, lastAction, data);
}
void SimpleActionHelper::resetHelper() {
stepCount = 0;
isExecuting = false;
lastAction = 0;
lastCommander = 0;
}
void SimpleActionHelper::prepareExecution(MessageQueueId_t commandedBy,
ActionId_t actionId, store_address_t dataAddress) {
CommandMessage reply;
if (isExecuting) {
ipcStore->deleteData(dataAddress);
ActionMessage::setStepReply(&reply, actionId, 0,
HasActionsIF::IS_BUSY);
queueToUse->sendMessage(commandedBy, &reply);
}
const uint8_t* dataPtr = NULL;
size_t size = 0;
ReturnValue_t result = ipcStore->getData(dataAddress, &dataPtr, &size);
if (result != HasReturnvaluesIF::RETURN_OK) {
ActionMessage::setStepReply(&reply, actionId, 0, result);
queueToUse->sendMessage(commandedBy, &reply);
return;
}
lastCommander = commandedBy;
lastAction = actionId;
result = owner->executeAction(actionId, commandedBy, dataPtr, size);
ipcStore->deleteData(dataAddress);
switch (result) {
case HasReturnvaluesIF::RETURN_OK:
isExecuting = true;
stepCount++;
break;
case HasActionsIF::EXECUTION_FINISHED:
ActionMessage::setCompletionReply(&reply, actionId,
HasReturnvaluesIF::RETURN_OK);
queueToUse->sendMessage(commandedBy, &reply);
break;
default:
ActionMessage::setStepReply(&reply, actionId, 0, result);
queueToUse->sendMessage(commandedBy, &reply);
break;
}
}

View File

@ -1,30 +0,0 @@
#ifndef FSFW_ACTION_SIMPLEACTIONHELPER_H_
#define FSFW_ACTION_SIMPLEACTIONHELPER_H_
#include "ActionHelper.h"
/**
* @brief This is an action helper which is only able to service one action
* at a time but remembers last commander and last action which
* simplifies usage
*/
class SimpleActionHelper: public ActionHelper {
public:
SimpleActionHelper(HasActionsIF* setOwner, MessageQueueIF* useThisQueue);
virtual ~SimpleActionHelper();
void step(ReturnValue_t result = HasReturnvaluesIF::RETURN_OK);
void finish(ReturnValue_t result = HasReturnvaluesIF::RETURN_OK);
ReturnValue_t reportData(SerializeIF* data);
protected:
void prepareExecution(MessageQueueId_t commandedBy, ActionId_t actionId,
store_address_t dataAddress);
virtual void resetHelper();
private:
bool isExecuting;
MessageQueueId_t lastCommander = MessageQueueIF::NO_QUEUE;
ActionId_t lastAction = 0;
uint8_t stepCount = 0;
};
#endif /* SIMPLEACTIONHELPER_H_ */

29
automation/Dockerfile Normal file
View File

@ -0,0 +1,29 @@
FROM ubuntu:focal
RUN apt-get update
RUN apt-get --yes upgrade
#tzdata is a dependency, won't install otherwise
ARG DEBIAN_FRONTEND=noninteractive
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 git clone https://github.com/catchorg/Catch2.git && \
cd Catch2 && \
git checkout v3.1.0 && \
cmake -Bbuild -H. -DBUILD_TESTING=OFF && \
cmake --build build/ --target install
RUN git clone https://github.com/ETLCPP/etl.git && \
cd etl && \
git checkout 20.28.0 && \
cmake -B build . && \
cmake --install build/
#ssh needs a valid user to work
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

127
automation/Jenkinsfile vendored Normal file
View File

@ -0,0 +1,127 @@
pipeline {
environment {
BUILDDIR_HOST = 'cmake-build-tests-host'
BUILDDIR_LINUX = 'cmake-build-tests-linux'
DOCDDIR = 'cmake-build-documentation'
}
agent {
docker {
image 'fsfw-ci:d6'
args '--network host --sysctl fs.mqueue.msg_max=100'
}
}
stages {
stage('Host') {
stages{
stage('Clean') {
steps {
sh 'rm -rf $BUILDDIR_HOST'
}
}
stage('Configure') {
steps {
dir(BUILDDIR_HOST) {
sh 'cmake -DFSFW_OSAL=host -DFSFW_BUILD_TESTS=ON -DFSFW_CICD_BUILD=ON ..'
}
}
}
stage('Build') {
steps {
dir(BUILDDIR_HOST) {
sh 'cmake --build . -j4'
}
}
}
stage('Unittests') {
steps {
dir(BUILDDIR_HOST) {
sh 'cmake --build . -- fsfw-tests_coverage -j4'
}
}
}
stage('Valgrind') {
steps {
dir(BUILDDIR_HOST) {
sh 'valgrind --leak-check=full --error-exitcode=1 ./fsfw-tests'
}
}
}
}
}
stage('Linux') {
stages{
stage('Clean') {
steps {
sh 'rm -rf $BUILDDIR_LINUX'
}
}
stage('Configure') {
steps {
dir(BUILDDIR_LINUX) {
sh 'cmake -DFSFW_OSAL=linux -DFSFW_BUILD_TESTS=ON -DFSFW_CICD_BUILD=ON ..'
}
}
}
stage('Build') {
steps {
dir(BUILDDIR_LINUX) {
sh 'cmake --build . -j4'
}
}
}
stage('Unittests') {
steps {
dir(BUILDDIR_LINUX) {
sh 'cmake --build . -- fsfw-tests_coverage -j4'
}
}
}
stage('Valgrind') {
steps {
dir(BUILDDIR_LINUX) {
sh 'valgrind --leak-check=full --error-exitcode=1 ./fsfw-tests'
}
}
}
}
}
stage('Documentation') {
when {
branch 'development'
}
steps {
dir(DOCDDIR) {
sh 'cmake -DFSFW_BUILD_DOCS=ON -DFSFW_OSAL=host ..'
sh 'make Sphinx'
sshagent(credentials: ['documentation-buildfix']) {
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'
}
}
}
}
stage('Master Documentation') {
when {
branch 'master'
}
steps {
dir(DOCDDIR) {
sh 'cmake -DFSFW_BUILD_DOCS=ON -DFSFW_OSAL=host ..'
sh 'make Sphinx'
sshagent(credentials: ['documentation-buildfix']) {
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'
}
}
}
}
}
}

13
cmake/FindSphinx.cmake Normal file
View File

@ -0,0 +1,13 @@
# Look for an executable called sphinx-build
find_program(SPHINX_EXECUTABLE
NAMES sphinx-build
DOC "Path to sphinx-build executable")
include(FindPackageHandleStandardArgs)
# Handle standard arguments to find_package like REQUIRED and QUIET
find_package_handle_standard_args(
Sphinx
"Failed to find sphinx-build executable"
SPHINX_EXECUTABLE
)

28
cmake/FsfwHelpers.cmake Normal file
View File

@ -0,0 +1,28 @@
# Determines the git version with git describe and returns it by setting
# the GIT_INFO list in the parent scope. The list has the following entries
# 1. Full version string
# 2. Major version
# 3. Minor version
# 4. Revision
# 5. git SHA hash and commits since tag
function(determine_version_with_git)
include(GetGitRevisionDescription)
git_describe(VERSION ${ARGN})
string(FIND ${VERSION} "." VALID_VERSION)
if(VALID_VERSION EQUAL -1)
message(WARNING "Version string ${VERSION} retrieved with git describe is invalid")
return()
endif()
# Parse the version information into pieces.
string(REGEX REPLACE "^v([0-9]+)\\..*" "\\1" _VERSION_MAJOR "${VERSION}")
string(REGEX REPLACE "^v[0-9]+\\.([0-9]+).*" "\\1" _VERSION_MINOR "${VERSION}")
string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" _VERSION_PATCH "${VERSION}")
string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.[0-9]+-(.*)" "\\1" VERSION_SHA1 "${VERSION}")
set(GIT_INFO ${VERSION})
list(APPEND GIT_INFO ${_VERSION_MAJOR})
list(APPEND GIT_INFO ${_VERSION_MINOR})
list(APPEND GIT_INFO ${_VERSION_PATCH})
list(APPEND GIT_INFO ${VERSION_SHA1})
set(GIT_INFO ${GIT_INFO} PARENT_SCOPE)
message(STATUS "${MSG_PREFIX} Set git version info into GIT_INFO from the git tag ${VERSION}")
endfunction()

View File

@ -0,0 +1,7 @@
The files in the `bilke` folder were manually copy and pasted from the
[cmake-modules repository](https://github.com/bilke/cmake-modules). It was decided to do
this because only a small subset of its provided functions are needed.
The files in the `rpavlik` folder were manually copy and pasted from the
[cmake-modules repository](https://github.com/rpavlik/cmake-modules). It was decided to do
this because only a small subset of its provided functions are needed.

View File

@ -0,0 +1,719 @@
# Copyright (c) 2012 - 2017, Lars Bilke
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
# are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its contributors
# may be used to endorse or promote products derived from this software without
# specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# CHANGES:
#
# 2012-01-31, Lars Bilke
# - Enable Code Coverage
#
# 2013-09-17, Joakim Söderberg
# - Added support for Clang.
# - Some additional usage instructions.
#
# 2016-02-03, Lars Bilke
# - Refactored functions to use named parameters
#
# 2017-06-02, Lars Bilke
# - Merged with modified version from github.com/ufz/ogs
#
# 2019-05-06, Anatolii Kurotych
# - Remove unnecessary --coverage flag
#
# 2019-12-13, FeRD (Frank Dana)
# - Deprecate COVERAGE_LCOVR_EXCLUDES and COVERAGE_GCOVR_EXCLUDES lists in favor
# of tool-agnostic COVERAGE_EXCLUDES variable, or EXCLUDE setup arguments.
# - CMake 3.4+: All excludes can be specified relative to BASE_DIRECTORY
# - All setup functions: accept BASE_DIRECTORY, EXCLUDE list
# - Set lcov basedir with -b argument
# - Add automatic --demangle-cpp in lcovr, if 'c++filt' is available (can be
# overridden with NO_DEMANGLE option in setup_target_for_coverage_lcovr().)
# - Delete output dir, .info file on 'make clean'
# - Remove Python detection, since version mismatches will break gcovr
# - Minor cleanup (lowercase function names, update examples...)
#
# 2019-12-19, FeRD (Frank Dana)
# - Rename Lcov outputs, make filtered file canonical, fix cleanup for targets
#
# 2020-01-19, Bob Apthorpe
# - Added gfortran support
#
# 2020-02-17, FeRD (Frank Dana)
# - Make all add_custom_target()s VERBATIM to auto-escape wildcard characters
# in EXCLUDEs, and remove manual escaping from gcovr targets
#
# 2021-01-19, Robin Mueller
# - Add CODE_COVERAGE_VERBOSE option which will allow to print out commands which are run
# - Added the option for users to set the GCOVR_ADDITIONAL_ARGS variable to supply additional
# flags to the gcovr command
#
# 2020-05-04, Mihchael Davis
# - Add -fprofile-abs-path to make gcno files contain absolute paths
# - Fix BASE_DIRECTORY not working when defined
# - Change BYPRODUCT from folder to index.html to stop ninja from complaining about double defines
#
# 2021-05-10, Martin Stump
# - Check if the generator is multi-config before warning about non-Debug builds
#
# 2022-02-22, Marko Wehle
# - Change gcovr output from -o <filename> for --xml <filename> and --html <filename> output respectively.
# This will allow for Multiple Output Formats at the same time by making use of GCOVR_ADDITIONAL_ARGS, e.g. GCOVR_ADDITIONAL_ARGS "--txt".
#
# USAGE:
#
# 1. Copy this file into your cmake modules path.
#
# 2. Add the following line to your CMakeLists.txt (best inside an if-condition
# using a CMake option() to enable it just optionally):
# include(CodeCoverage)
#
# 3. Append necessary compiler flags for all supported source files:
# append_coverage_compiler_flags()
# Or for specific target:
# append_coverage_compiler_flags_to_target(YOUR_TARGET_NAME)
#
# 3.a (OPTIONAL) Set appropriate optimization flags, e.g. -O0, -O1 or -Og
#
# 4. If you need to exclude additional directories from the report, specify them
# using full paths in the COVERAGE_EXCLUDES variable before calling
# setup_target_for_coverage_*().
# Example:
# set(COVERAGE_EXCLUDES
# '${PROJECT_SOURCE_DIR}/src/dir1/*'
# '/path/to/my/src/dir2/*')
# Or, use the EXCLUDE argument to setup_target_for_coverage_*().
# Example:
# setup_target_for_coverage_lcov(
# NAME coverage
# EXECUTABLE testrunner
# EXCLUDE "${PROJECT_SOURCE_DIR}/src/dir1/*" "/path/to/my/src/dir2/*")
#
# 4.a NOTE: With CMake 3.4+, COVERAGE_EXCLUDES or EXCLUDE can also be set
# relative to the BASE_DIRECTORY (default: PROJECT_SOURCE_DIR)
# Example:
# set(COVERAGE_EXCLUDES "dir1/*")
# setup_target_for_coverage_gcovr_html(
# NAME coverage
# EXECUTABLE testrunner
# BASE_DIRECTORY "${PROJECT_SOURCE_DIR}/src"
# EXCLUDE "dir2/*")
#
# 5. Use the functions described below to create a custom make target which
# runs your test executable and produces a code coverage report.
#
# 6. Build a Debug build:
# cmake -DCMAKE_BUILD_TYPE=Debug ..
# make
# make my_coverage_target
#
include(CMakeParseArguments)
option(CODE_COVERAGE_VERBOSE "Verbose information" FALSE)
# Check prereqs
find_program( GCOV_PATH gcov )
find_program( LCOV_PATH NAMES lcov lcov.bat lcov.exe lcov.perl)
find_program( FASTCOV_PATH NAMES fastcov fastcov.py )
find_program( GENHTML_PATH NAMES genhtml genhtml.perl genhtml.bat )
find_program( GCOVR_PATH gcovr )
find_program( CPPFILT_PATH NAMES c++filt )
if(NOT GCOV_PATH)
message(FATAL_ERROR "gcov not found! Aborting...")
endif() # NOT GCOV_PATH
get_property(LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES)
list(GET LANGUAGES 0 LANG)
if("${CMAKE_${LANG}_COMPILER_ID}" MATCHES "(Apple)?[Cc]lang")
if("${CMAKE_${LANG}_COMPILER_VERSION}" VERSION_LESS 3)
message(FATAL_ERROR "Clang version must be 3.0.0 or greater! Aborting...")
endif()
elseif(NOT CMAKE_COMPILER_IS_GNUCXX)
if("${CMAKE_Fortran_COMPILER_ID}" MATCHES "[Ff]lang")
# Do nothing; exit conditional without error if true
elseif("${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU")
# Do nothing; exit conditional without error if true
else()
message(FATAL_ERROR "Compiler is not GNU gcc! Aborting...")
endif()
endif()
set(COVERAGE_COMPILER_FLAGS "-g -fprofile-arcs -ftest-coverage"
CACHE INTERNAL "")
if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)")
include(CheckCXXCompilerFlag)
check_cxx_compiler_flag(-fprofile-abs-path HAVE_fprofile_abs_path)
if(HAVE_fprofile_abs_path)
set(COVERAGE_COMPILER_FLAGS "${COVERAGE_COMPILER_FLAGS} -fprofile-abs-path")
endif()
endif()
set(CMAKE_Fortran_FLAGS_COVERAGE
${COVERAGE_COMPILER_FLAGS}
CACHE STRING "Flags used by the Fortran compiler during coverage builds."
FORCE )
set(CMAKE_CXX_FLAGS_COVERAGE
${COVERAGE_COMPILER_FLAGS}
CACHE STRING "Flags used by the C++ compiler during coverage builds."
FORCE )
set(CMAKE_C_FLAGS_COVERAGE
${COVERAGE_COMPILER_FLAGS}
CACHE STRING "Flags used by the C compiler during coverage builds."
FORCE )
set(CMAKE_EXE_LINKER_FLAGS_COVERAGE
""
CACHE STRING "Flags used for linking binaries during coverage builds."
FORCE )
set(CMAKE_SHARED_LINKER_FLAGS_COVERAGE
""
CACHE STRING "Flags used by the shared libraries linker during coverage builds."
FORCE )
mark_as_advanced(
CMAKE_Fortran_FLAGS_COVERAGE
CMAKE_CXX_FLAGS_COVERAGE
CMAKE_C_FLAGS_COVERAGE
CMAKE_EXE_LINKER_FLAGS_COVERAGE
CMAKE_SHARED_LINKER_FLAGS_COVERAGE )
get_property(GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
if(NOT (CMAKE_BUILD_TYPE STREQUAL "Debug" OR GENERATOR_IS_MULTI_CONFIG))
message(WARNING "Code coverage results with an optimised (non-Debug) build may be misleading")
endif() # NOT (CMAKE_BUILD_TYPE STREQUAL "Debug" OR GENERATOR_IS_MULTI_CONFIG)
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
link_libraries(gcov)
endif()
# Defines a target for running and collection code coverage information
# Builds dependencies, runs the given executable and outputs reports.
# NOTE! The executable should always have a ZERO as exit code otherwise
# the coverage generation will not complete.
#
# setup_target_for_coverage_lcov(
# NAME testrunner_coverage # New target name
# EXECUTABLE testrunner -j ${PROCESSOR_COUNT} # Executable in PROJECT_BINARY_DIR
# DEPENDENCIES testrunner # Dependencies to build first
# BASE_DIRECTORY "../" # Base directory for report
# # (defaults to PROJECT_SOURCE_DIR)
# EXCLUDE "src/dir1/*" "src/dir2/*" # Patterns to exclude (can be relative
# # to BASE_DIRECTORY, with CMake 3.4+)
# NO_DEMANGLE # Don't demangle C++ symbols
# # even if c++filt is found
# )
function(setup_target_for_coverage_lcov)
set(options NO_DEMANGLE)
set(oneValueArgs BASE_DIRECTORY NAME)
set(multiValueArgs EXCLUDE EXECUTABLE EXECUTABLE_ARGS DEPENDENCIES LCOV_ARGS GENHTML_ARGS)
cmake_parse_arguments(Coverage "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if(NOT LCOV_PATH)
message(FATAL_ERROR "lcov not found! Aborting...")
endif() # NOT LCOV_PATH
if(NOT GENHTML_PATH)
message(FATAL_ERROR "genhtml not found! Aborting...")
endif() # NOT GENHTML_PATH
# Set base directory (as absolute path), or default to PROJECT_SOURCE_DIR
if(DEFINED Coverage_BASE_DIRECTORY)
get_filename_component(BASEDIR ${Coverage_BASE_DIRECTORY} ABSOLUTE)
else()
set(BASEDIR ${PROJECT_SOURCE_DIR})
endif()
# Collect excludes (CMake 3.4+: Also compute absolute paths)
set(LCOV_EXCLUDES "")
foreach(EXCLUDE ${Coverage_EXCLUDE} ${COVERAGE_EXCLUDES} ${COVERAGE_LCOV_EXCLUDES})
if(CMAKE_VERSION VERSION_GREATER 3.4)
get_filename_component(EXCLUDE ${EXCLUDE} ABSOLUTE BASE_DIR ${BASEDIR})
endif()
list(APPEND LCOV_EXCLUDES "${EXCLUDE}")
endforeach()
list(REMOVE_DUPLICATES LCOV_EXCLUDES)
# Conditional arguments
if(CPPFILT_PATH AND NOT ${Coverage_NO_DEMANGLE})
set(GENHTML_EXTRA_ARGS "--demangle-cpp")
endif()
# Setting up commands which will be run to generate coverage data.
# Cleanup lcov
set(LCOV_CLEAN_CMD
${LCOV_PATH} ${Coverage_LCOV_ARGS} --gcov-tool ${GCOV_PATH} -directory .
-b ${BASEDIR} --zerocounters
)
# Create baseline to make sure untouched files show up in the report
set(LCOV_BASELINE_CMD
${LCOV_PATH} ${Coverage_LCOV_ARGS} --gcov-tool ${GCOV_PATH} -c -i -d . -b
${BASEDIR} -o ${Coverage_NAME}.base
)
# Run tests
set(LCOV_EXEC_TESTS_CMD
${Coverage_EXECUTABLE} ${Coverage_EXECUTABLE_ARGS}
)
# Capturing lcov counters and generating report
set(LCOV_CAPTURE_CMD
${LCOV_PATH} ${Coverage_LCOV_ARGS} --gcov-tool ${GCOV_PATH} --directory . -b
${BASEDIR} --capture --output-file ${Coverage_NAME}.capture
)
# add baseline counters
set(LCOV_BASELINE_COUNT_CMD
${LCOV_PATH} ${Coverage_LCOV_ARGS} --gcov-tool ${GCOV_PATH} -a ${Coverage_NAME}.base
-a ${Coverage_NAME}.capture --output-file ${Coverage_NAME}.total
)
# filter collected data to final coverage report
set(LCOV_FILTER_CMD
${LCOV_PATH} ${Coverage_LCOV_ARGS} --gcov-tool ${GCOV_PATH} --remove
${Coverage_NAME}.total ${LCOV_EXCLUDES} --output-file ${Coverage_NAME}.info
)
# Generate HTML output
set(LCOV_GEN_HTML_CMD
${GENHTML_PATH} ${GENHTML_EXTRA_ARGS} ${Coverage_GENHTML_ARGS} -o
${Coverage_NAME} ${Coverage_NAME}.info
)
if(CODE_COVERAGE_VERBOSE)
message(STATUS "Executed command report")
message(STATUS "Command to clean up lcov: ")
string(REPLACE ";" " " LCOV_CLEAN_CMD_SPACED "${LCOV_CLEAN_CMD}")
message(STATUS "${LCOV_CLEAN_CMD_SPACED}")
message(STATUS "Command to create baseline: ")
string(REPLACE ";" " " LCOV_BASELINE_CMD_SPACED "${LCOV_BASELINE_CMD}")
message(STATUS "${LCOV_BASELINE_CMD_SPACED}")
message(STATUS "Command to run the tests: ")
string(REPLACE ";" " " LCOV_EXEC_TESTS_CMD_SPACED "${LCOV_EXEC_TESTS_CMD}")
message(STATUS "${LCOV_EXEC_TESTS_CMD_SPACED}")
message(STATUS "Command to capture counters and generate report: ")
string(REPLACE ";" " " LCOV_CAPTURE_CMD_SPACED "${LCOV_CAPTURE_CMD}")
message(STATUS "${LCOV_CAPTURE_CMD_SPACED}")
message(STATUS "Command to add baseline counters: ")
string(REPLACE ";" " " LCOV_BASELINE_COUNT_CMD_SPACED "${LCOV_BASELINE_COUNT_CMD}")
message(STATUS "${LCOV_BASELINE_COUNT_CMD_SPACED}")
message(STATUS "Command to filter collected data: ")
string(REPLACE ";" " " LCOV_FILTER_CMD_SPACED "${LCOV_FILTER_CMD}")
message(STATUS "${LCOV_FILTER_CMD_SPACED}")
message(STATUS "Command to generate lcov HTML output: ")
string(REPLACE ";" " " LCOV_GEN_HTML_CMD_SPACED "${LCOV_GEN_HTML_CMD}")
message(STATUS "${LCOV_GEN_HTML_CMD_SPACED}")
endif()
# Setup target
add_custom_target(${Coverage_NAME}
COMMAND ${LCOV_CLEAN_CMD}
COMMAND ${LCOV_BASELINE_CMD}
COMMAND ${LCOV_EXEC_TESTS_CMD}
COMMAND ${LCOV_CAPTURE_CMD}
COMMAND ${LCOV_BASELINE_COUNT_CMD}
COMMAND ${LCOV_FILTER_CMD}
COMMAND ${LCOV_GEN_HTML_CMD}
# Set output files as GENERATED (will be removed on 'make clean')
BYPRODUCTS
${Coverage_NAME}.base
${Coverage_NAME}.capture
${Coverage_NAME}.total
${Coverage_NAME}.info
${Coverage_NAME}/index.html
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
DEPENDS ${Coverage_DEPENDENCIES}
VERBATIM # Protect arguments to commands
COMMENT "Resetting code coverage counters to zero.\nProcessing code coverage counters and generating report."
)
# Show where to find the lcov info report
add_custom_command(TARGET ${Coverage_NAME} POST_BUILD
COMMAND ;
COMMENT "Lcov code coverage info report saved in ${Coverage_NAME}.info."
)
# Show info where to find the report
add_custom_command(TARGET ${Coverage_NAME} POST_BUILD
COMMAND ;
COMMENT "Open ./${Coverage_NAME}/index.html in your browser to view the coverage report."
)
endfunction() # setup_target_for_coverage_lcov
# Defines a target for running and collection code coverage information
# Builds dependencies, runs the given executable and outputs reports.
# NOTE! The executable should always have a ZERO as exit code otherwise
# the coverage generation will not complete.
#
# setup_target_for_coverage_gcovr_xml(
# NAME ctest_coverage # New target name
# EXECUTABLE ctest -j ${PROCESSOR_COUNT} # Executable in PROJECT_BINARY_DIR
# DEPENDENCIES executable_target # Dependencies to build first
# BASE_DIRECTORY "../" # Base directory for report
# # (defaults to PROJECT_SOURCE_DIR)
# EXCLUDE "src/dir1/*" "src/dir2/*" # Patterns to exclude (can be relative
# # to BASE_DIRECTORY, with CMake 3.4+)
# )
# The user can set the variable GCOVR_ADDITIONAL_ARGS to supply additional flags to the
# GCVOR command.
function(setup_target_for_coverage_gcovr_xml)
set(options NONE)
set(oneValueArgs BASE_DIRECTORY NAME)
set(multiValueArgs EXCLUDE EXECUTABLE EXECUTABLE_ARGS DEPENDENCIES)
cmake_parse_arguments(Coverage "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if(NOT GCOVR_PATH)
message(FATAL_ERROR "gcovr not found! Aborting...")
endif() # NOT GCOVR_PATH
# Set base directory (as absolute path), or default to PROJECT_SOURCE_DIR
if(DEFINED Coverage_BASE_DIRECTORY)
get_filename_component(BASEDIR ${Coverage_BASE_DIRECTORY} ABSOLUTE)
else()
set(BASEDIR ${PROJECT_SOURCE_DIR})
endif()
# Collect excludes (CMake 3.4+: Also compute absolute paths)
set(GCOVR_EXCLUDES "")
foreach(EXCLUDE ${Coverage_EXCLUDE} ${COVERAGE_EXCLUDES} ${COVERAGE_GCOVR_EXCLUDES})
if(CMAKE_VERSION VERSION_GREATER 3.4)
get_filename_component(EXCLUDE ${EXCLUDE} ABSOLUTE BASE_DIR ${BASEDIR})
endif()
list(APPEND GCOVR_EXCLUDES "${EXCLUDE}")
endforeach()
list(REMOVE_DUPLICATES GCOVR_EXCLUDES)
# Combine excludes to several -e arguments
set(GCOVR_EXCLUDE_ARGS "")
foreach(EXCLUDE ${GCOVR_EXCLUDES})
list(APPEND GCOVR_EXCLUDE_ARGS "-e")
list(APPEND GCOVR_EXCLUDE_ARGS "${EXCLUDE}")
endforeach()
# Set up commands which will be run to generate coverage data
# Run tests
set(GCOVR_XML_EXEC_TESTS_CMD
${Coverage_EXECUTABLE} ${Coverage_EXECUTABLE_ARGS}
)
# Running gcovr
set(GCOVR_XML_CMD
${GCOVR_PATH} --xml ${Coverage_NAME}.xml -r ${BASEDIR} ${GCOVR_ADDITIONAL_ARGS}
${GCOVR_EXCLUDE_ARGS} --object-directory=${PROJECT_BINARY_DIR}
)
if(CODE_COVERAGE_VERBOSE)
message(STATUS "Executed command report")
message(STATUS "Command to run tests: ")
string(REPLACE ";" " " GCOVR_XML_EXEC_TESTS_CMD_SPACED "${GCOVR_XML_EXEC_TESTS_CMD}")
message(STATUS "${GCOVR_XML_EXEC_TESTS_CMD_SPACED}")
message(STATUS "Command to generate gcovr XML coverage data: ")
string(REPLACE ";" " " GCOVR_XML_CMD_SPACED "${GCOVR_XML_CMD}")
message(STATUS "${GCOVR_XML_CMD_SPACED}")
endif()
add_custom_target(${Coverage_NAME}
COMMAND ${GCOVR_XML_EXEC_TESTS_CMD}
COMMAND ${GCOVR_XML_CMD}
BYPRODUCTS ${Coverage_NAME}.xml
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
DEPENDS ${Coverage_DEPENDENCIES}
VERBATIM # Protect arguments to commands
COMMENT "Running gcovr to produce Cobertura code coverage report."
)
# Show info where to find the report
add_custom_command(TARGET ${Coverage_NAME} POST_BUILD
COMMAND ;
COMMENT "Cobertura code coverage report saved in ${Coverage_NAME}.xml."
)
endfunction() # setup_target_for_coverage_gcovr_xml
# Defines a target for running and collection code coverage information
# Builds dependencies, runs the given executable and outputs reports.
# NOTE! The executable should always have a ZERO as exit code otherwise
# the coverage generation will not complete.
#
# setup_target_for_coverage_gcovr_html(
# NAME ctest_coverage # New target name
# EXECUTABLE ctest -j ${PROCESSOR_COUNT} # Executable in PROJECT_BINARY_DIR
# DEPENDENCIES executable_target # Dependencies to build first
# BASE_DIRECTORY "../" # Base directory for report
# # (defaults to PROJECT_SOURCE_DIR)
# EXCLUDE "src/dir1/*" "src/dir2/*" # Patterns to exclude (can be relative
# # to BASE_DIRECTORY, with CMake 3.4+)
# )
# The user can set the variable GCOVR_ADDITIONAL_ARGS to supply additional flags to the
# GCVOR command.
function(setup_target_for_coverage_gcovr_html)
set(options NONE)
set(oneValueArgs BASE_DIRECTORY NAME)
set(multiValueArgs EXCLUDE EXECUTABLE EXECUTABLE_ARGS DEPENDENCIES)
cmake_parse_arguments(Coverage "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if(NOT GCOVR_PATH)
message(FATAL_ERROR "gcovr not found! Aborting...")
endif() # NOT GCOVR_PATH
# Set base directory (as absolute path), or default to PROJECT_SOURCE_DIR
if(DEFINED Coverage_BASE_DIRECTORY)
get_filename_component(BASEDIR ${Coverage_BASE_DIRECTORY} ABSOLUTE)
else()
set(BASEDIR ${PROJECT_SOURCE_DIR})
endif()
# Collect excludes (CMake 3.4+: Also compute absolute paths)
set(GCOVR_EXCLUDES "")
foreach(EXCLUDE ${Coverage_EXCLUDE} ${COVERAGE_EXCLUDES} ${COVERAGE_GCOVR_EXCLUDES})
if(CMAKE_VERSION VERSION_GREATER 3.4)
get_filename_component(EXCLUDE ${EXCLUDE} ABSOLUTE BASE_DIR ${BASEDIR})
endif()
list(APPEND GCOVR_EXCLUDES "${EXCLUDE}")
endforeach()
list(REMOVE_DUPLICATES GCOVR_EXCLUDES)
# Combine excludes to several -e arguments
set(GCOVR_EXCLUDE_ARGS "")
foreach(EXCLUDE ${GCOVR_EXCLUDES})
list(APPEND GCOVR_EXCLUDE_ARGS "-e")
list(APPEND GCOVR_EXCLUDE_ARGS "${EXCLUDE}")
endforeach()
# Set up commands which will be run to generate coverage data
# Run tests
set(GCOVR_HTML_EXEC_TESTS_CMD
${Coverage_EXECUTABLE} ${Coverage_EXECUTABLE_ARGS}
)
# Create folder
set(GCOVR_HTML_FOLDER_CMD
${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/${Coverage_NAME}
)
# Running gcovr
set(GCOVR_HTML_CMD
${GCOVR_PATH} --html ${Coverage_NAME}/index.html --html-details -r ${BASEDIR} ${GCOVR_ADDITIONAL_ARGS}
${GCOVR_EXCLUDE_ARGS} --object-directory=${PROJECT_BINARY_DIR}
)
if(CODE_COVERAGE_VERBOSE)
message(STATUS "Executed command report")
message(STATUS "Command to run tests: ")
string(REPLACE ";" " " GCOVR_HTML_EXEC_TESTS_CMD_SPACED "${GCOVR_HTML_EXEC_TESTS_CMD}")
message(STATUS "${GCOVR_HTML_EXEC_TESTS_CMD_SPACED}")
message(STATUS "Command to create a folder: ")
string(REPLACE ";" " " GCOVR_HTML_FOLDER_CMD_SPACED "${GCOVR_HTML_FOLDER_CMD}")
message(STATUS "${GCOVR_HTML_FOLDER_CMD_SPACED}")
message(STATUS "Command to generate gcovr HTML coverage data: ")
string(REPLACE ";" " " GCOVR_HTML_CMD_SPACED "${GCOVR_HTML_CMD}")
message(STATUS "${GCOVR_HTML_CMD_SPACED}")
endif()
add_custom_target(${Coverage_NAME}
COMMAND ${GCOVR_HTML_EXEC_TESTS_CMD}
COMMAND ${GCOVR_HTML_FOLDER_CMD}
COMMAND ${GCOVR_HTML_CMD}
BYPRODUCTS ${PROJECT_BINARY_DIR}/${Coverage_NAME}/index.html # report directory
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
DEPENDS ${Coverage_DEPENDENCIES}
VERBATIM # Protect arguments to commands
COMMENT "Running gcovr to produce HTML code coverage report."
)
# Show info where to find the report
add_custom_command(TARGET ${Coverage_NAME} POST_BUILD
COMMAND ;
COMMENT "Open ./${Coverage_NAME}/index.html in your browser to view the coverage report."
)
endfunction() # setup_target_for_coverage_gcovr_html
# Defines a target for running and collection code coverage information
# Builds dependencies, runs the given executable and outputs reports.
# NOTE! The executable should always have a ZERO as exit code otherwise
# the coverage generation will not complete.
#
# setup_target_for_coverage_fastcov(
# NAME testrunner_coverage # New target name
# EXECUTABLE testrunner -j ${PROCESSOR_COUNT} # Executable in PROJECT_BINARY_DIR
# DEPENDENCIES testrunner # Dependencies to build first
# BASE_DIRECTORY "../" # Base directory for report
# # (defaults to PROJECT_SOURCE_DIR)
# EXCLUDE "src/dir1/" "src/dir2/" # Patterns to exclude.
# NO_DEMANGLE # Don't demangle C++ symbols
# # even if c++filt is found
# SKIP_HTML # Don't create html report
# POST_CMD perl -i -pe s!${PROJECT_SOURCE_DIR}/!!g ctest_coverage.json # E.g. for stripping source dir from file paths
# )
function(setup_target_for_coverage_fastcov)
set(options NO_DEMANGLE SKIP_HTML)
set(oneValueArgs BASE_DIRECTORY NAME)
set(multiValueArgs EXCLUDE EXECUTABLE EXECUTABLE_ARGS DEPENDENCIES FASTCOV_ARGS GENHTML_ARGS POST_CMD)
cmake_parse_arguments(Coverage "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if(NOT FASTCOV_PATH)
message(FATAL_ERROR "fastcov not found! Aborting...")
endif()
if(NOT Coverage_SKIP_HTML AND NOT GENHTML_PATH)
message(FATAL_ERROR "genhtml not found! Aborting...")
endif()
# Set base directory (as absolute path), or default to PROJECT_SOURCE_DIR
if(Coverage_BASE_DIRECTORY)
get_filename_component(BASEDIR ${Coverage_BASE_DIRECTORY} ABSOLUTE)
else()
set(BASEDIR ${PROJECT_SOURCE_DIR})
endif()
# Collect excludes (Patterns, not paths, for fastcov)
set(FASTCOV_EXCLUDES "")
foreach(EXCLUDE ${Coverage_EXCLUDE} ${COVERAGE_EXCLUDES} ${COVERAGE_FASTCOV_EXCLUDES})
list(APPEND FASTCOV_EXCLUDES "${EXCLUDE}")
endforeach()
list(REMOVE_DUPLICATES FASTCOV_EXCLUDES)
# Conditional arguments
if(CPPFILT_PATH AND NOT ${Coverage_NO_DEMANGLE})
set(GENHTML_EXTRA_ARGS "--demangle-cpp")
endif()
# Set up commands which will be run to generate coverage data
set(FASTCOV_EXEC_TESTS_CMD ${Coverage_EXECUTABLE} ${Coverage_EXECUTABLE_ARGS})
set(FASTCOV_CAPTURE_CMD ${FASTCOV_PATH} ${Coverage_FASTCOV_ARGS} --gcov ${GCOV_PATH}
--search-directory ${BASEDIR}
--process-gcno
--output ${Coverage_NAME}.json
--exclude ${FASTCOV_EXCLUDES}
--exclude ${FASTCOV_EXCLUDES}
)
set(FASTCOV_CONVERT_CMD ${FASTCOV_PATH}
-C ${Coverage_NAME}.json --lcov --output ${Coverage_NAME}.info
)
if(Coverage_SKIP_HTML)
set(FASTCOV_HTML_CMD ";")
else()
set(FASTCOV_HTML_CMD ${GENHTML_PATH} ${GENHTML_EXTRA_ARGS} ${Coverage_GENHTML_ARGS}
-o ${Coverage_NAME} ${Coverage_NAME}.info
)
endif()
set(FASTCOV_POST_CMD ";")
if(Coverage_POST_CMD)
set(FASTCOV_POST_CMD ${Coverage_POST_CMD})
endif()
if(CODE_COVERAGE_VERBOSE)
message(STATUS "Code coverage commands for target ${Coverage_NAME} (fastcov):")
message(" Running tests:")
string(REPLACE ";" " " FASTCOV_EXEC_TESTS_CMD_SPACED "${FASTCOV_EXEC_TESTS_CMD}")
message(" ${FASTCOV_EXEC_TESTS_CMD_SPACED}")
message(" Capturing fastcov counters and generating report:")
string(REPLACE ";" " " FASTCOV_CAPTURE_CMD_SPACED "${FASTCOV_CAPTURE_CMD}")
message(" ${FASTCOV_CAPTURE_CMD_SPACED}")
message(" Converting fastcov .json to lcov .info:")
string(REPLACE ";" " " FASTCOV_CONVERT_CMD_SPACED "${FASTCOV_CONVERT_CMD}")
message(" ${FASTCOV_CONVERT_CMD_SPACED}")
if(NOT Coverage_SKIP_HTML)
message(" Generating HTML report: ")
string(REPLACE ";" " " FASTCOV_HTML_CMD_SPACED "${FASTCOV_HTML_CMD}")
message(" ${FASTCOV_HTML_CMD_SPACED}")
endif()
if(Coverage_POST_CMD)
message(" Running post command: ")
string(REPLACE ";" " " FASTCOV_POST_CMD_SPACED "${FASTCOV_POST_CMD}")
message(" ${FASTCOV_POST_CMD_SPACED}")
endif()
endif()
# Setup target
add_custom_target(${Coverage_NAME}
# Cleanup fastcov
COMMAND ${FASTCOV_PATH} ${Coverage_FASTCOV_ARGS} --gcov ${GCOV_PATH}
--search-directory ${BASEDIR}
--zerocounters
COMMAND ${FASTCOV_EXEC_TESTS_CMD}
COMMAND ${FASTCOV_CAPTURE_CMD}
COMMAND ${FASTCOV_CONVERT_CMD}
COMMAND ${FASTCOV_HTML_CMD}
COMMAND ${FASTCOV_POST_CMD}
# Set output files as GENERATED (will be removed on 'make clean')
BYPRODUCTS
${Coverage_NAME}.info
${Coverage_NAME}.json
${Coverage_NAME}/index.html # report directory
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
DEPENDS ${Coverage_DEPENDENCIES}
VERBATIM # Protect arguments to commands
COMMENT "Resetting code coverage counters to zero. Processing code coverage counters and generating report."
)
set(INFO_MSG "fastcov code coverage info report saved in ${Coverage_NAME}.info and ${Coverage_NAME}.json.")
if(NOT Coverage_SKIP_HTML)
string(APPEND INFO_MSG " Open ${PROJECT_BINARY_DIR}/${Coverage_NAME}/index.html in your browser to view the coverage report.")
endif()
# Show where to find the fastcov info report
add_custom_command(TARGET ${Coverage_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo ${INFO_MSG}
)
endfunction() # setup_target_for_coverage_fastcov
function(append_coverage_compiler_flags)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COVERAGE_COMPILER_FLAGS}" PARENT_SCOPE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COVERAGE_COMPILER_FLAGS}" PARENT_SCOPE)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${COVERAGE_COMPILER_FLAGS}" PARENT_SCOPE)
message(STATUS "Appending code coverage compiler flags: ${COVERAGE_COMPILER_FLAGS}")
endfunction() # append_coverage_compiler_flags
# Setup coverage for specific library
function(append_coverage_compiler_flags_to_target name)
target_compile_options(${name}
PRIVATE ${COVERAGE_COMPILER_FLAGS})
endfunction()

View File

@ -0,0 +1,23 @@
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,284 @@
# - Returns a version string from Git
#
# These functions force a re-configure on each git commit so that you can
# trust the values of the variables in your build system.
#
# get_git_head_revision(<refspecvar> <hashvar> [ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR])
#
# Returns the refspec and sha hash of the current head revision
#
# git_describe(<var> [<additional arguments to git describe> ...])
#
# Returns the results of git describe on the source tree, and adjusting
# the output so that it tests false if an error occurs.
#
# git_describe_working_tree(<var> [<additional arguments to git describe> ...])
#
# Returns the results of git describe on the working tree (--dirty option),
# and adjusting the output so that it tests false if an error occurs.
#
# git_get_exact_tag(<var> [<additional arguments to git describe> ...])
#
# Returns the results of git describe --exact-match on the source tree,
# and adjusting the output so that it tests false if there was no exact
# matching tag.
#
# git_local_changes(<var>)
#
# Returns either "CLEAN" or "DIRTY" with respect to uncommitted changes.
# Uses the return code of "git diff-index --quiet HEAD --".
# Does not regard untracked files.
#
# Requires CMake 2.6 or newer (uses the 'function' command)
#
# Original Author:
# 2009-2020 Ryan Pavlik <ryan.pavlik@gmail.com> <abiryan@ryand.net>
# http://academic.cleardefinition.com
#
# Copyright 2009-2013, Iowa State University.
# Copyright 2013-2020, Ryan Pavlik
# Copyright 2013-2020, Contributors
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
if(__get_git_revision_description)
return()
endif()
set(__get_git_revision_description YES)
# We must run the following at "include" time, not at function call time,
# to find the path to this module rather than the path to a calling list file
get_filename_component(_gitdescmoddir ${CMAKE_CURRENT_LIST_FILE} PATH)
# Function _git_find_closest_git_dir finds the next closest .git directory
# that is part of any directory in the path defined by _start_dir.
# The result is returned in the parent scope variable whose name is passed
# as variable _git_dir_var. If no .git directory can be found, the
# function returns an empty string via _git_dir_var.
#
# Example: Given a path C:/bla/foo/bar and assuming C:/bla/.git exists and
# neither foo nor bar contain a file/directory .git. This wil return
# C:/bla/.git
#
function(_git_find_closest_git_dir _start_dir _git_dir_var)
set(cur_dir "${_start_dir}")
set(git_dir "${_start_dir}/.git")
while(NOT EXISTS "${git_dir}")
# .git dir not found, search parent directories
set(git_previous_parent "${cur_dir}")
get_filename_component(cur_dir "${cur_dir}" DIRECTORY)
if(cur_dir STREQUAL git_previous_parent)
# We have reached the root directory, we are not in git
set(${_git_dir_var}
""
PARENT_SCOPE)
return()
endif()
set(git_dir "${cur_dir}/.git")
endwhile()
set(${_git_dir_var}
"${git_dir}"
PARENT_SCOPE)
endfunction()
function(get_git_head_revision _refspecvar _hashvar)
_git_find_closest_git_dir("${CMAKE_CURRENT_SOURCE_DIR}" GIT_DIR)
if("${ARGN}" STREQUAL "ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR")
set(ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR TRUE)
else()
set(ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR FALSE)
endif()
if(NOT "${GIT_DIR}" STREQUAL "")
file(RELATIVE_PATH _relative_to_source_dir "${CMAKE_SOURCE_DIR}"
"${GIT_DIR}")
if("${_relative_to_source_dir}" MATCHES "[.][.]" AND NOT ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR)
# We've gone above the CMake root dir.
set(GIT_DIR "")
endif()
endif()
if("${GIT_DIR}" STREQUAL "")
set(${_refspecvar}
"GITDIR-NOTFOUND"
PARENT_SCOPE)
set(${_hashvar}
"GITDIR-NOTFOUND"
PARENT_SCOPE)
return()
endif()
# Check if the current source dir is a git submodule or a worktree.
# In both cases .git is a file instead of a directory.
#
if(NOT IS_DIRECTORY ${GIT_DIR})
# The following git command will return a non empty string that
# points to the super project working tree if the current
# source dir is inside a git submodule.
# Otherwise the command will return an empty string.
#
execute_process(
COMMAND "${GIT_EXECUTABLE}" rev-parse
--show-superproject-working-tree
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_VARIABLE out
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT "${out}" STREQUAL "")
# If out is empty, GIT_DIR/CMAKE_CURRENT_SOURCE_DIR is in a submodule
file(READ ${GIT_DIR} submodule)
string(REGEX REPLACE "gitdir: (.*)$" "\\1" GIT_DIR_RELATIVE
${submodule})
string(STRIP ${GIT_DIR_RELATIVE} GIT_DIR_RELATIVE)
get_filename_component(SUBMODULE_DIR ${GIT_DIR} PATH)
get_filename_component(GIT_DIR ${SUBMODULE_DIR}/${GIT_DIR_RELATIVE}
ABSOLUTE)
set(HEAD_SOURCE_FILE "${GIT_DIR}/HEAD")
else()
# GIT_DIR/CMAKE_CURRENT_SOURCE_DIR is in a worktree
file(READ ${GIT_DIR} worktree_ref)
# The .git directory contains a path to the worktree information directory
# inside the parent git repo of the worktree.
#
string(REGEX REPLACE "gitdir: (.*)$" "\\1" git_worktree_dir
${worktree_ref})
string(STRIP ${git_worktree_dir} git_worktree_dir)
_git_find_closest_git_dir("${git_worktree_dir}" GIT_DIR)
set(HEAD_SOURCE_FILE "${git_worktree_dir}/HEAD")
endif()
else()
set(HEAD_SOURCE_FILE "${GIT_DIR}/HEAD")
endif()
set(GIT_DATA "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/git-data")
if(NOT EXISTS "${GIT_DATA}")
file(MAKE_DIRECTORY "${GIT_DATA}")
endif()
if(NOT EXISTS "${HEAD_SOURCE_FILE}")
return()
endif()
set(HEAD_FILE "${GIT_DATA}/HEAD")
configure_file("${HEAD_SOURCE_FILE}" "${HEAD_FILE}" COPYONLY)
configure_file("${_gitdescmoddir}/GetGitRevisionDescription.cmake.in"
"${GIT_DATA}/grabRef.cmake" @ONLY)
include("${GIT_DATA}/grabRef.cmake")
set(${_refspecvar}
"${HEAD_REF}"
PARENT_SCOPE)
set(${_hashvar}
"${HEAD_HASH}"
PARENT_SCOPE)
endfunction()
function(git_describe _var)
if(NOT GIT_FOUND)
find_package(Git QUIET)
endif()
get_git_head_revision(refspec hash)
if(NOT GIT_FOUND)
set(${_var}
"GIT-NOTFOUND"
PARENT_SCOPE)
return()
endif()
if(NOT hash)
set(${_var}
"HEAD-HASH-NOTFOUND"
PARENT_SCOPE)
return()
endif()
# TODO sanitize
#if((${ARGN}" MATCHES "&&") OR
# (ARGN MATCHES "||") OR
# (ARGN MATCHES "\\;"))
# message("Please report the following error to the project!")
# message(FATAL_ERROR "Looks like someone's doing something nefarious with git_describe! Passed arguments ${ARGN}")
#endif()
#message(STATUS "Arguments to execute_process: ${ARGN}")
execute_process(
COMMAND "${GIT_EXECUTABLE}" describe --tags --always ${hash} ${ARGN}
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
RESULT_VARIABLE res
OUTPUT_VARIABLE out
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT res EQUAL 0)
set(out "${out}-${res}-NOTFOUND")
endif()
set(${_var}
"${out}"
PARENT_SCOPE)
endfunction()
function(git_describe_working_tree _var)
if(NOT GIT_FOUND)
find_package(Git QUIET)
endif()
if(NOT GIT_FOUND)
set(${_var}
"GIT-NOTFOUND"
PARENT_SCOPE)
return()
endif()
execute_process(
COMMAND "${GIT_EXECUTABLE}" describe --dirty ${ARGN}
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
RESULT_VARIABLE res
OUTPUT_VARIABLE out
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT res EQUAL 0)
set(out "${out}-${res}-NOTFOUND")
endif()
set(${_var}
"${out}"
PARENT_SCOPE)
endfunction()
function(git_get_exact_tag _var)
git_describe(out --exact-match ${ARGN})
set(${_var}
"${out}"
PARENT_SCOPE)
endfunction()
function(git_local_changes _var)
if(NOT GIT_FOUND)
find_package(Git QUIET)
endif()
get_git_head_revision(refspec hash)
if(NOT GIT_FOUND)
set(${_var}
"GIT-NOTFOUND"
PARENT_SCOPE)
return()
endif()
if(NOT hash)
set(${_var}
"HEAD-HASH-NOTFOUND"
PARENT_SCOPE)
return()
endif()
execute_process(
COMMAND "${GIT_EXECUTABLE}" diff-index --quiet HEAD --
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
RESULT_VARIABLE res
OUTPUT_VARIABLE out
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
if(res EQUAL 0)
set(${_var}
"CLEAN"
PARENT_SCOPE)
else()
set(${_var}
"DIRTY"
PARENT_SCOPE)
endif()
endfunction()

View File

@ -0,0 +1,43 @@
#
# Internal file for GetGitRevisionDescription.cmake
#
# Requires CMake 2.6 or newer (uses the 'function' command)
#
# Original Author:
# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
# http://academic.cleardefinition.com
# Iowa State University HCI Graduate Program/VRAC
#
# Copyright 2009-2012, Iowa State University
# Copyright 2011-2015, Contributors
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
# SPDX-License-Identifier: BSL-1.0
set(HEAD_HASH)
file(READ "@HEAD_FILE@" HEAD_CONTENTS LIMIT 1024)
string(STRIP "${HEAD_CONTENTS}" HEAD_CONTENTS)
if(HEAD_CONTENTS MATCHES "ref")
# named branch
string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}")
if(EXISTS "@GIT_DIR@/${HEAD_REF}")
configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY)
else()
configure_file("@GIT_DIR@/packed-refs" "@GIT_DATA@/packed-refs" COPYONLY)
file(READ "@GIT_DATA@/packed-refs" PACKED_REFS)
if(${PACKED_REFS} MATCHES "([0-9a-z]*) ${HEAD_REF}")
set(HEAD_HASH "${CMAKE_MATCH_1}")
endif()
endif()
else()
# detached HEAD
configure_file("@GIT_DIR@/HEAD" "@GIT_DATA@/head-ref" COPYONLY)
endif()
if(NOT HEAD_HASH)
file(READ "@GIT_DATA@/head-ref" HEAD_HASH LIMIT 1024)
string(STRIP "${HEAD_HASH}" HEAD_HASH)
endif()

View File

@ -0,0 +1,26 @@
Copyright (c) <year> <owner>. All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@ -0,0 +1,23 @@
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute, execute,
and transmit the Software, and to prepare derivative works of the Software,
and to permit third-parties to whom the Software is furnished to do so, all
subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer, must
be included in all copies of the Software, in whole or in part, and all derivative
works of the Software, unless such copies or derivative works are solely in
the form of machine-executable object code generated by a source language
processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES
OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -0,0 +1,23 @@
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

View File

@ -1,253 +0,0 @@
#ifndef FSFW_CONTAINER_ARRAYLIST_H_
#define FSFW_CONTAINER_ARRAYLIST_H_
#include "../returnvalues/HasReturnvaluesIF.h"
#include "../serialize/SerializeAdapter.h"
#include "../serialize/SerializeIF.h"
/**
* @brief A List that stores its values in an array.
* @details
* The underlying storage is an array that can be allocated by the class
* itself or supplied via ctor.
*
* @ingroup container
*/
template<typename T, typename count_t = uint8_t>
class ArrayList {
template<typename U, typename count> friend class SerialArrayListAdapter;
public:
static const uint8_t INTERFACE_ID = CLASS_ID::ARRAY_LIST;
static const ReturnValue_t FULL = MAKE_RETURN_CODE(0x01);
/**
* This is the allocating constructor.
* It allocates an array of the specified size.
* @param maxSize
*/
ArrayList(count_t maxSize) :
size(0), maxSize_(maxSize), allocated(true) {
entries = new T[maxSize];
}
/**
* This is the non-allocating constructor
*
* It expects a pointer to an array of a certain size and initializes
* itself to it.
*
* @param storage the array to use as backend
* @param maxSize size of storage
* @param size size of data already present in storage
*/
ArrayList(T *storage, count_t maxSize, count_t size = 0) :
size(size), entries(storage), maxSize_(maxSize), allocated(false) {
}
/**
* Copying is forbiden by declaring copy ctor and copy assignment deleted
* It is too ambigous in this case.
* (Allocate a new backend? Use the same? What to do in an modifying call?)
*/
ArrayList(const ArrayList& other) = delete;
const ArrayList& operator=(const ArrayList& other) = delete;
/**
* Number of Elements stored in this List
*/
count_t size;
/**
* Destructor, if the allocating constructor was used, it deletes the array.
*/
virtual ~ArrayList() {
if (allocated) {
delete[] entries;
}
}
/**
* An Iterator to go trough an ArrayList
*
* It stores a pointer to an element and increments the
* pointer when incremented itself.
*/
class Iterator {
public:
/**
* Empty ctor, points to NULL
*/
Iterator(): value(0) {}
/**
* Initializes the Iterator to point to an element
*
* @param initialize
*/
Iterator(T *initialize) {
value = initialize;
}
/**
* The current element the iterator points to
*/
T *value;
Iterator& operator++() {
value++;
return *this;
}
Iterator operator++(int) {
Iterator tmp(*this);
operator++();
return tmp;
}
Iterator& operator--() {
value--;
return *this;
}
Iterator operator--(int) {
Iterator tmp(*this);
operator--();
return tmp;
}
T& operator*() {
return *value;
}
const T& operator*() const {
return *value;
}
T *operator->() {
return value;
}
const T *operator->() const {
return value;
}
};
friend bool operator==(const ArrayList::Iterator& lhs,
const ArrayList::Iterator& rhs) {
return (lhs.value == rhs.value);
}
friend bool operator!=(const ArrayList::Iterator& lhs,
const ArrayList::Iterator& rhs) {
return not (lhs.value == rhs.value);
}
/**
* Iterator pointing to the first stored elmement
*
* @return Iterator to the first element
*/
Iterator begin() const {
return Iterator(&entries[0]);
}
/**
* returns an Iterator pointing to the element after the last stored entry
*
* @return Iterator to the element after the last entry
*/
Iterator end() const {
return Iterator(&entries[size]);
}
T & operator[](count_t i) const {
return entries[i];
}
/**
* The first element
*
* @return pointer to the first stored element
*/
T *front() {
return entries;
}
/**
* The last element
*
* does not return a valid pointer if called on an empty list.
*
* @return pointer to the last stored element
*/
T *back() {
return &entries[size - 1];
//Alternative solution
//return const_cast<T*>(static_cast<const T*>(*this).back());
}
const T* back() const{
return &entries[size-1];
}
/**
* The maximum number of elements this List can contain
*
* @return maximum number of elements
*/
size_t maxSize() const {
return this->maxSize_;
}
/**
* Insert a new element into the list.
*
* The new element is inserted after the last stored element.
*
* @param entry
* @return
* -@c FULL if the List is full
* -@c RETURN_OK else
*/
ReturnValue_t insert(T entry) {
if (size >= maxSize_) {
return FULL;
}
entries[size] = entry;
++size;
return HasReturnvaluesIF::RETURN_OK;
}
/**
* clear the List
*
* This does not actually clear all entries, it only sets the size to 0.
*/
void clear() {
size = 0;
}
count_t remaining() {
return (maxSize_ - size);
}
protected:
/**
* pointer to the array in which the entries are stored
*/
T *entries;
/**
* remembering the maximum size
*/
size_t maxSize_;
/**
* true if the array was allocated and needs to be deleted in the destructor.
*/
bool allocated;
};
#endif /* FSFW_CONTAINER_ARRAYLIST_H_ */

View File

@ -1,153 +0,0 @@
#ifndef FRAMEWORK_CONTAINER_BINARYTREE_H_
#define FRAMEWORK_CONTAINER_BINARYTREE_H_
#include <stddef.h>
#include <stdint.h>
#include <map>
template<typename Tp>
class BinaryNode {
public:
BinaryNode(Tp* setValue) :
value(setValue), left(NULL), right(NULL), parent(NULL) {
}
Tp *value;
BinaryNode* left;
BinaryNode* right;
BinaryNode* parent;
};
template<typename Tp>
class ExplicitNodeIterator {
public:
typedef ExplicitNodeIterator<Tp> _Self;
typedef BinaryNode<Tp> _Node;
typedef Tp value_type;
typedef Tp* pointer;
typedef Tp& reference;
ExplicitNodeIterator() :
element(NULL) {
}
ExplicitNodeIterator(_Node* node) :
element(node) {
}
BinaryNode<Tp>* element;
_Self up() {
return _Self(element->parent);
}
_Self left() {
if (element != NULL) {
return _Self(element->left);
} else {
return _Self(NULL);
}
}
_Self right() {
if (element != NULL) {
return _Self(element->right);
} else {
return _Self(NULL);
}
}
bool operator==(const _Self& __x) const {
return element == __x.element;
}
bool operator!=(const _Self& __x) const {
return element != __x.element;
}
pointer
operator->() const {
if (element != NULL) {
return element->value;
} else {
return NULL;
}
}
pointer operator*() const {
return this->operator->();
}
};
/**
* Pretty rudimentary version of a simple binary tree (not a binary search tree!).
*/
template<typename Tp>
class BinaryTree {
public:
typedef ExplicitNodeIterator<Tp> iterator;
typedef BinaryNode<Tp> Node;
typedef std::pair<iterator, iterator> children;
BinaryTree() :
rootNode(NULL) {
}
BinaryTree(Node* rootNode) :
rootNode(rootNode) {
}
iterator begin() const {
return iterator(rootNode);
}
static iterator end() {
return iterator(NULL);
}
iterator insert(bool insertLeft, iterator parentNode, Node* newNode ) {
newNode->parent = parentNode.element;
if (parentNode.element != NULL) {
if (insertLeft) {
parentNode.element->left = newNode;
} else {
parentNode.element->right = newNode;
}
} else {
//Insert first element.
rootNode = newNode;
}
return iterator(newNode);
}
//No recursion to children. Needs to be done externally.
children erase(iterator node) {
if (node.element == rootNode) {
//We're root node
rootNode = NULL;
} else {
//Delete parent's reference
if (node.up().left() == node) {
node.up().element->left = NULL;
} else {
node.up().element->right = NULL;
}
}
return children(node.element->left, node.element->right);
}
static uint32_t countLeft(iterator start) {
if (start == end()) {
return 0;
}
//We also count the start node itself.
uint32_t count = 1;
while (start.left() != end()) {
count++;
start = start.left();
}
return count;
}
static uint32_t countRight(iterator start) {
if (start == end()) {
return 0;
}
//We also count the start node itself.
uint32_t count = 1;
while (start.right() != end()) {
count++;
start = start.right();
}
return count;
}
protected:
Node* rootNode;
};
#endif /* FRAMEWORK_CONTAINER_BINARYTREE_H_ */

View File

@ -1,55 +0,0 @@
#ifndef FSFW_CONTAINER_DYNAMICFIFO_H_
#define FSFW_CONTAINER_DYNAMICFIFO_H_
#include "FIFOBase.h"
#include <vector>
/**
* @brief Simple First-In-First-Out data structure. The maximum size
* can be set in the constructor.
* @details
* The maximum capacity can be determined at run-time, so this container
* performs dynamic memory allocation!
* The public interface of FIFOBase exposes the user interface for the FIFO.
* @tparam T Entry Type
* @tparam capacity Maximum capacity
*/
template<typename T>
class DynamicFIFO: public FIFOBase<T> {
public:
DynamicFIFO(size_t maxCapacity): FIFOBase<T>(nullptr, maxCapacity),
fifoVector(maxCapacity) {
// trying to pass the pointer of the uninitialized vector
// to the FIFOBase constructor directly lead to a super evil bug.
// So we do it like this now.
this->setContainer(fifoVector.data());
};
/**
* @brief Custom copy constructor which prevents setting the
* underlying pointer wrong. This function allocates memory!
* @details This is a very heavy operation so try to avoid this!
*
*/
DynamicFIFO(const DynamicFIFO& other): FIFOBase<T>(other),
fifoVector(other.maxCapacity) {
this->fifoVector = other.fifoVector;
this->setContainer(fifoVector.data());
}
/**
* @brief Custom assignment operator
* @details This is a very heavy operation so try to avoid this!
* @param other DyamicFIFO to copy from
*/
DynamicFIFO& operator=(const DynamicFIFO& other){
FIFOBase<T>::operator=(other);
this->fifoVector = other.fifoVector;
this->setContainer(fifoVector.data());
return *this;
}
private:
std::vector<T> fifoVector;
};
#endif /* FSFW_CONTAINER_DYNAMICFIFO_H_ */

View File

@ -1,47 +0,0 @@
#ifndef FSFW_CONTAINER_FIFO_H_
#define FSFW_CONTAINER_FIFO_H_
#include "FIFOBase.h"
#include <array>
/**
* @brief Simple First-In-First-Out data structure with size fixed at
* compile time
* @details
* Performs no dynamic memory allocation.
* The public interface of FIFOBase exposes the user interface for the FIFO.
* @tparam T Entry Type
* @tparam capacity Maximum capacity
*/
template<typename T, size_t capacity>
class FIFO: public FIFOBase<T> {
public:
FIFO(): FIFOBase<T>(nullptr, capacity) {
this->setContainer(fifoArray.data());
};
/**
* @brief Custom copy constructor to set pointer correctly.
* @param other
*/
FIFO(const FIFO& other): FIFOBase<T>(other) {
this->fifoArray = other.fifoArray;
this->setContainer(fifoArray.data());
}
/**
* @brief Custom assignment operator
* @param other
*/
FIFO& operator=(const FIFO& other){
FIFOBase<T>::operator=(other);
this->fifoArray = other.fifoArray;
this->setContainer(fifoArray.data());
return *this;
}
private:
std::array<T, capacity> fifoArray;
};
#endif /* FSFW_CONTAINER_FIFO_H_ */

View File

@ -1,79 +0,0 @@
#ifndef FSFW_CONTAINER_FIFOBASE_H_
#define FSFW_CONTAINER_FIFOBASE_H_
#include "../returnvalues/HasReturnvaluesIF.h"
#include <cstddef>
#include <cstring>
template <typename T>
class FIFOBase {
public:
static const uint8_t INTERFACE_ID = CLASS_ID::FIFO_CLASS;
static const ReturnValue_t FULL = MAKE_RETURN_CODE(1);
static const ReturnValue_t EMPTY = MAKE_RETURN_CODE(2);
/** Default ctor, takes pointer to first entry of underlying container
* and maximum capacity */
FIFOBase(T* values, const size_t maxCapacity);
/**
* Insert value into FIFO
* @param value
* @return RETURN_OK on success, FULL if full
*/
ReturnValue_t insert(T value);
/**
* Retrieve item from FIFO. This removes the item from the FIFO.
* @param value Must point to a valid T
* @return RETURN_OK on success, EMPTY if empty and FAILED if nullptr check failed
*/
ReturnValue_t retrieve(T *value);
/**
* Retrieve item from FIFO without removing it from FIFO.
* @param value Must point to a valid T
* @return RETURN_OK on success, EMPTY if empty and FAILED if nullptr check failed
*/
ReturnValue_t peek(T * value);
/**
* Remove item from FIFO.
* @return RETURN_OK on success, EMPTY if empty
*/
ReturnValue_t pop();
/***
* Check if FIFO is empty
* @return True if empty, False if not
*/
bool empty();
/***
* Check if FIFO is Full
* @return True if full, False if not
*/
bool full();
/***
* Current used size (elements) used
* @return size_t in elements
*/
size_t size();
/***
* Get maximal capacity of fifo
* @return size_t with max capacity of this fifo
*/
size_t getMaxCapacity() const;
protected:
void setContainer(T* data);
size_t maxCapacity = 0;
T* values;
size_t readIndex = 0;
size_t writeIndex = 0;
size_t currentSize = 0;
size_t next(size_t current);
};
#include "FIFOBase.tpp"
#endif /* FSFW_CONTAINER_FIFOBASE_H_ */

View File

@ -1,93 +0,0 @@
#ifndef FSFW_CONTAINER_FIFOBASE_TPP_
#define FSFW_CONTAINER_FIFOBASE_TPP_
#ifndef FSFW_CONTAINER_FIFOBASE_H_
#error Include FIFOBase.h before FIFOBase.tpp!
#endif
template<typename T>
inline FIFOBase<T>::FIFOBase(T* values, const size_t maxCapacity):
maxCapacity(maxCapacity), values(values){};
template<typename T>
inline ReturnValue_t FIFOBase<T>::insert(T value) {
if (full()) {
return FULL;
} else {
values[writeIndex] = value;
writeIndex = next(writeIndex);
++currentSize;
return HasReturnvaluesIF::RETURN_OK;
}
};
template<typename T>
inline ReturnValue_t FIFOBase<T>::retrieve(T* value) {
if (empty()) {
return EMPTY;
} else {
if (value == nullptr){
return HasReturnvaluesIF::RETURN_FAILED;
}
*value = values[readIndex];
readIndex = next(readIndex);
--currentSize;
return HasReturnvaluesIF::RETURN_OK;
}
};
template<typename T>
inline ReturnValue_t FIFOBase<T>::peek(T* value) {
if(empty()) {
return EMPTY;
} else {
if (value == nullptr){
return HasReturnvaluesIF::RETURN_FAILED;
}
*value = values[readIndex];
return HasReturnvaluesIF::RETURN_OK;
}
};
template<typename T>
inline ReturnValue_t FIFOBase<T>::pop() {
T value;
return this->retrieve(&value);
};
template<typename T>
inline bool FIFOBase<T>::empty() {
return (currentSize == 0);
};
template<typename T>
inline bool FIFOBase<T>::full() {
return (currentSize == maxCapacity);
}
template<typename T>
inline size_t FIFOBase<T>::size() {
return currentSize;
}
template<typename T>
inline size_t FIFOBase<T>::next(size_t current) {
++current;
if (current == maxCapacity) {
current = 0;
}
return current;
}
template<typename T>
inline size_t FIFOBase<T>::getMaxCapacity() const {
return maxCapacity;
}
template<typename T>
inline void FIFOBase<T>::setContainer(T *data) {
this->values = data;
}
#endif

View File

@ -1,38 +0,0 @@
#ifndef FIXEDARRAYLIST_H_
#define FIXEDARRAYLIST_H_
#include "ArrayList.h"
#include <cmath>
/**
* \ingroup container
*/
template<typename T, size_t MAX_SIZE, typename count_t = uint8_t>
class FixedArrayList: public ArrayList<T, count_t> {
static_assert(MAX_SIZE <= (pow(2,sizeof(count_t)*8)-1), "count_t is not large enough to hold MAX_SIZE");
private:
T data[MAX_SIZE];
public:
FixedArrayList() :
ArrayList<T, count_t>(data, MAX_SIZE) {
}
FixedArrayList(const FixedArrayList& other) :
ArrayList<T, count_t>(data, MAX_SIZE) {
memcpy(this->data, other.data, sizeof(this->data));
this->entries = data;
this->size = other.size;
}
FixedArrayList& operator=(FixedArrayList other) {
memcpy(this->data, other.data, sizeof(this->data));
this->entries = data;
this->size = other.size;
return *this;
}
virtual ~FixedArrayList() {
}
};
#endif /* FIXEDARRAYLIST_H_ */

View File

@ -1,230 +0,0 @@
#ifndef FSFW_CONTAINER_FIXEDMAP_H_
#define FSFW_CONTAINER_FIXEDMAP_H_
#include "ArrayList.h"
#include "../returnvalues/HasReturnvaluesIF.h"
#include <utility>
#include <type_traits>
/**
* @brief Map implementation for maps with a pre-defined size.
* @details
* Can be initialized with desired maximum size.
* Iterator is used to access <key,value> pair and iterate through map entries.
* Complexity O(n).
* @warning Iterators return a non-const key_t in the pair.
* @warning A User is not allowed to change the key, otherwise the map is corrupted.
* @ingroup container
*/
template<typename key_t, typename T>
class FixedMap: public SerializeIF {
static_assert (std::is_trivially_copyable<T>::value or
std::is_base_of<SerializeIF, T>::value,
"Types used in FixedMap must either be trivial copy-able or a "
"derived class from SerializeIF to be serialize-able");
public:
static const uint8_t INTERFACE_ID = CLASS_ID::FIXED_MAP;
static const ReturnValue_t KEY_ALREADY_EXISTS = MAKE_RETURN_CODE(0x01);
static const ReturnValue_t MAP_FULL = MAKE_RETURN_CODE(0x02);
static const ReturnValue_t KEY_DOES_NOT_EXIST = MAKE_RETURN_CODE(0x03);
private:
static const key_t EMPTY_SLOT = -1;
ArrayList<std::pair<key_t, T>, uint32_t> theMap;
uint32_t _size;
uint32_t findIndex(key_t key) const {
if (_size == 0) {
return 1;
}
uint32_t i = 0;
for (i = 0; i < _size; ++i) {
if (theMap[i].first == key) {
return i;
}
}
return i;
}
public:
FixedMap(uint32_t maxSize) :
theMap(maxSize), _size(0) {
}
class Iterator: public ArrayList<std::pair<key_t, T>, uint32_t>::Iterator {
public:
Iterator() :
ArrayList<std::pair<key_t, T>, uint32_t>::Iterator() {
}
Iterator(std::pair<key_t, T> *pair) :
ArrayList<std::pair<key_t, T>, uint32_t>::Iterator(pair) {
}
};
friend bool operator==(const typename FixedMap::Iterator& lhs,
const typename FixedMap::Iterator& rhs) {
return (lhs.value == rhs.value);
}
friend bool operator!=(const typename FixedMap::Iterator& lhs,
const typename FixedMap::Iterator& rhs) {
return not (lhs.value == rhs.value);
}
Iterator begin() const {
return Iterator(&theMap[0]);
}
Iterator end() const {
return Iterator(&theMap[_size]);
}
uint32_t size() const {
return _size;
}
ReturnValue_t insert(key_t key, T value, Iterator *storedValue = nullptr) {
if (exists(key) == HasReturnvaluesIF::RETURN_OK) {
return KEY_ALREADY_EXISTS;
}
if (_size == theMap.maxSize()) {
return MAP_FULL;
}
theMap[_size].first = key;
theMap[_size].second = value;
if (storedValue != nullptr) {
*storedValue = Iterator(&theMap[_size]);
}
++_size;
return HasReturnvaluesIF::RETURN_OK;
}
ReturnValue_t insert(std::pair<key_t, T> pair) {
return insert(pair.first, pair.second);
}
ReturnValue_t exists(key_t key) const {
ReturnValue_t result = KEY_DOES_NOT_EXIST;
if (findIndex(key) < _size) {
result = HasReturnvaluesIF::RETURN_OK;
}
return result;
}
ReturnValue_t erase(Iterator *iter) {
uint32_t i;
if ((i = findIndex((*iter).value->first)) >= _size) {
return KEY_DOES_NOT_EXIST;
}
theMap[i] = theMap[_size - 1];
--_size;
--((*iter).value);
return HasReturnvaluesIF::RETURN_OK;
}
ReturnValue_t erase(key_t key) {
uint32_t i;
if ((i = findIndex(key)) >= _size) {
return KEY_DOES_NOT_EXIST;
}
theMap[i] = theMap[_size - 1];
--_size;
return HasReturnvaluesIF::RETURN_OK;
}
T *findValue(key_t key) const {
return &theMap[findIndex(key)].second;
}
Iterator find(key_t key) const {
ReturnValue_t result = exists(key);
if (result != HasReturnvaluesIF::RETURN_OK) {
return end();
}
return Iterator(&theMap[findIndex(key)]);
}
ReturnValue_t find(key_t key, T **value) const {
ReturnValue_t result = exists(key);
if (result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
*value = &theMap[findIndex(key)].second;
return HasReturnvaluesIF::RETURN_OK;
}
bool empty() {
if(_size == 0) {
return true;
}
else {
return false;
}
}
bool full() {
if(_size >= theMap.maxSize()) {
return true;
}
else {
return false;
}
}
void clear() {
_size = 0;
}
uint32_t maxSize() const {
return theMap.maxSize();
}
virtual ReturnValue_t serialize(uint8_t** buffer, size_t* size,
size_t maxSize, Endianness streamEndianness) const {
ReturnValue_t result = SerializeAdapter::serialize(&this->_size,
buffer, size, maxSize, streamEndianness);
uint32_t i = 0;
while ((result == HasReturnvaluesIF::RETURN_OK) && (i < this->_size)) {
result = SerializeAdapter::serialize(&theMap[i].first, buffer,
size, maxSize, streamEndianness);
result = SerializeAdapter::serialize(&theMap[i].second, buffer, size,
maxSize, streamEndianness);
++i;
}
return result;
}
virtual size_t getSerializedSize() const {
uint32_t printSize = sizeof(_size);
uint32_t i = 0;
for (i = 0; i < _size; ++i) {
printSize += SerializeAdapter::getSerializedSize(
&theMap[i].first);
printSize += SerializeAdapter::getSerializedSize(&theMap[i].second);
}
return printSize;
}
virtual ReturnValue_t deSerialize(const uint8_t** buffer, size_t* size,
Endianness streamEndianness) {
ReturnValue_t result = SerializeAdapter::deSerialize(&this->_size,
buffer, size, streamEndianness);
if (this->_size > theMap.maxSize()) {
return SerializeIF::TOO_MANY_ELEMENTS;
}
uint32_t i = 0;
while ((result == HasReturnvaluesIF::RETURN_OK) && (i < this->_size)) {
result = SerializeAdapter::deSerialize(&theMap[i].first, buffer,
size, streamEndianness);
result = SerializeAdapter::deSerialize(&theMap[i].second, buffer, size,
streamEndianness);
++i;
}
return result;
}
};
#endif /* FSFW_CONTAINER_FIXEDMAP_H_ */

View File

@ -1,206 +0,0 @@
#ifndef FSFW_CONTAINER_FIXEDORDEREDMULTIMAP_H_
#define FSFW_CONTAINER_FIXEDORDEREDMULTIMAP_H_
#include "ArrayList.h"
#include <cstring>
/**
* @brief An associative container which allows multiple entries of the same key.
* @details
* Same keys are ordered by KEY_COMPARE function which is std::less<key_t> > by default.
*
* It uses the ArrayList, so technically this is not a real map, it is an array of pairs
* of type key_t, T. It is ordered by key_t as FixedMap but allows same keys. Thus it has a linear
* complexity O(n). As long as the number of entries remains low, this
* should not be an issue.
* The number of insertion and deletion operation should be minimized
* as those incur extensive memory move operations (the underlying container
* is not node based).
*
* Its of fixed size so no allocations are performed after the construction.
*
* The maximum size is given as first parameter of the constructor.
*
* It provides an iterator to do list iterations.
*
* The type T must have a copy constructor if it is not trivial copy-able.
*
* @warning Iterators return a non-const key_t in the pair.
* @warning A User is not allowed to change the key, otherwise the map is corrupted.
*
* \ingroup container
*/
template<typename key_t, typename T, typename KEY_COMPARE = std::less<key_t>>
class FixedOrderedMultimap {
public:
static const uint8_t INTERFACE_ID = CLASS_ID::FIXED_MULTIMAP;
static const ReturnValue_t MAP_FULL = MAKE_RETURN_CODE(0x01);
static const ReturnValue_t KEY_DOES_NOT_EXIST = MAKE_RETURN_CODE(0x02);
/***
* Constructor which needs a size_t for the maximum allowed size
*
* Can not be resized during runtime
*
* Allocates memory at construction
* @param maxSize size_t of Maximum allowed size
*/
FixedOrderedMultimap(size_t maxSize):theMap(maxSize), _size(0){
}
/***
* Virtual destructor frees Memory by deleting its member
*/
virtual ~FixedOrderedMultimap() {
}
/***
* Special iterator for FixedOrderedMultimap
*/
class Iterator: public ArrayList<std::pair<key_t, T>, size_t>::Iterator {
public:
Iterator() :
ArrayList<std::pair<key_t, T>, size_t>::Iterator() {
}
Iterator(std::pair<key_t, T> *pair) :
ArrayList<std::pair<key_t, T>, size_t>::Iterator(pair) {
}
};
/***
* Returns an iterator pointing to the first element
* @return Iterator pointing to first element
*/
Iterator begin() const {
return Iterator(&theMap[0]);
}
/**
* Returns an iterator pointing to one element past the end
* @return Iterator pointing to one element past the end
*/
Iterator end() const {
return Iterator(&theMap[_size]);
}
/***
* Returns the current size of the map (not maximum size!)
* @return Current size
*/
size_t size() const{
return _size;
}
/**
* Clears the map, does not deallocate any memory
*/
void clear(){
_size = 0;
}
/**
* Returns the maximum size of the map
* @return Maximum size of the map
*/
size_t maxSize() const{
return theMap.maxSize();
}
/***
* Used to insert a key and value separately.
*
* @param[in] key Key of the new element
* @param[in] value Value of the new element
* @param[in/out] (optional) storedValue On success this points to the new value, otherwise a nullptr
* @return RETURN_OK if insert was successful, MAP_FULL if no space is available
*/
ReturnValue_t insert(key_t key, T value, Iterator *storedValue = nullptr);
/***
* Used to insert new pair instead of single values
*
* @param pair Pair to be inserted
* @return RETURN_OK if insert was successful, MAP_FULL if no space is available
*/
ReturnValue_t insert(std::pair<key_t, T> pair);
/***
* Can be used to check if a certain key is in the map
* @param key Key to be checked
* @return RETURN_OK if the key exists KEY_DOES_NOT_EXIST otherwise
*/
ReturnValue_t exists(key_t key) const;
/***
* Used to delete the element in the iterator
*
* The iterator will point to the element before or begin(),
* but never to one element in front of the map.
*
* @warning The iterator needs to be valid and dereferenceable
* @param[in/out] iter Pointer to iterator to the element that needs to be ereased
* @return RETURN_OK if erased, KEY_DOES_NOT_EXIST if the there is no element like this
*/
ReturnValue_t erase(Iterator *iter);
/***
* Used to erase by key
* @param key Key to be erased
* @return RETURN_OK if erased, KEY_DOES_NOT_EXIST if the there is no element like this
*/
ReturnValue_t erase(key_t key);
/***
* Find returns the first appearance of the key
*
* If the key does not exist, it points to end()
*
* @param key Key to search for
* @return Iterator pointing to the first entry of key
*/
Iterator find(key_t key) const{
ReturnValue_t result = exists(key);
if (result != HasReturnvaluesIF::RETURN_OK) {
return end();
}
return Iterator(&theMap[findFirstIndex(key)]);
};
/***
* Finds first entry of the given key and returns a
* pointer to the value
*
* @param key Key to search for
* @param value Found value
* @return RETURN_OK if it points to the value,
* KEY_DOES_NOT_EXIST if the key is not in the map
*/
ReturnValue_t find(key_t key, T **value) const;
friend bool operator==(const typename FixedOrderedMultimap::Iterator& lhs,
const typename FixedOrderedMultimap::Iterator& rhs) {
return (lhs.value == rhs.value);
}
friend bool operator!=(const typename FixedOrderedMultimap::Iterator& lhs,
const typename FixedOrderedMultimap::Iterator& rhs) {
return not (lhs.value == rhs.value);
}
private:
typedef KEY_COMPARE compare;
compare myComp;
ArrayList<std::pair<key_t, T>, size_t> theMap;
size_t _size;
size_t findFirstIndex(key_t key, size_t startAt = 0) const;
size_t findNicePlace(key_t key) const;
void removeFromPosition(size_t position);
};
#include "FixedOrderedMultimap.tpp"
#endif /* FSFW_CONTAINER_FIXEDORDEREDMULTIMAP_H_ */

View File

@ -1,109 +0,0 @@
#ifndef FRAMEWORK_CONTAINER_FIXEDORDEREDMULTIMAP_TPP_
#define FRAMEWORK_CONTAINER_FIXEDORDEREDMULTIMAP_TPP_
template<typename key_t, typename T, typename KEY_COMPARE>
inline ReturnValue_t FixedOrderedMultimap<key_t, T, KEY_COMPARE>::insert(key_t key, T value, Iterator *storedValue) {
if (_size == theMap.maxSize()) {
return MAP_FULL;
}
size_t position = findNicePlace(key);
memmove(static_cast<void*>(&theMap[position + 1]),static_cast<void*>(&theMap[position]),
(_size - position) * sizeof(std::pair<key_t,T>));
theMap[position].first = key;
theMap[position].second = value;
++_size;
if (storedValue != nullptr) {
*storedValue = Iterator(&theMap[position]);
}
return HasReturnvaluesIF::RETURN_OK;
}
template<typename key_t, typename T, typename KEY_COMPARE>
inline ReturnValue_t FixedOrderedMultimap<key_t, T, KEY_COMPARE>::insert(std::pair<key_t, T> pair) {
return insert(pair.first, pair.second);
}
template<typename key_t, typename T, typename KEY_COMPARE>
inline ReturnValue_t FixedOrderedMultimap<key_t, T, KEY_COMPARE>::exists(key_t key) const {
ReturnValue_t result = KEY_DOES_NOT_EXIST;
if (findFirstIndex(key) < _size) {
result = HasReturnvaluesIF::RETURN_OK;
}
return result;
}
template<typename key_t, typename T, typename KEY_COMPARE>
inline ReturnValue_t FixedOrderedMultimap<key_t, T, KEY_COMPARE>::erase(Iterator *iter) {
size_t i;
if ((i = findFirstIndex((*iter).value->first)) >= _size) {
return KEY_DOES_NOT_EXIST;
}
removeFromPosition(i);
if (*iter != begin()) {
(*iter)--;
} else {
*iter = begin();
}
return HasReturnvaluesIF::RETURN_OK;
}
template<typename key_t, typename T, typename KEY_COMPARE>
inline ReturnValue_t FixedOrderedMultimap<key_t, T, KEY_COMPARE>::erase(key_t key) {
size_t i;
if ((i = findFirstIndex(key)) >= _size) {
return KEY_DOES_NOT_EXIST;
}
do {
removeFromPosition(i);
i = findFirstIndex(key, i);
} while (i < _size);
return HasReturnvaluesIF::RETURN_OK;
}
template<typename key_t, typename T, typename KEY_COMPARE>
inline ReturnValue_t FixedOrderedMultimap<key_t, T, KEY_COMPARE>::find(key_t key, T **value) const {
ReturnValue_t result = exists(key);
if (result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
*value = &theMap[findFirstIndex(key)].second;
return HasReturnvaluesIF::RETURN_OK;
}
template<typename key_t, typename T, typename KEY_COMPARE>
inline size_t FixedOrderedMultimap<key_t, T, KEY_COMPARE>::findFirstIndex(key_t key, size_t startAt) const {
if (startAt >= _size) {
return startAt + 1;
}
size_t i = startAt;
for (i = startAt; i < _size; ++i) {
if (theMap[i].first == key) {
return i;
}
}
return i;
}
template<typename key_t, typename T, typename KEY_COMPARE>
inline size_t FixedOrderedMultimap<key_t, T, KEY_COMPARE>::findNicePlace(key_t key) const {
size_t i = 0;
for (i = 0; i < _size; ++i) {
if (myComp(key, theMap[i].first)) {
return i;
}
}
return i;
}
template<typename key_t, typename T, typename KEY_COMPARE>
inline void FixedOrderedMultimap<key_t, T, KEY_COMPARE>::removeFromPosition(size_t position) {
if (_size <= position) {
return;
}
memmove(static_cast<void*>(&theMap[position]), static_cast<void*>(&theMap[position + 1]),
(_size - position - 1) * sizeof(std::pair<key_t,T>));
--_size;
}
#endif /* FRAMEWORK_CONTAINER_FIXEDORDEREDMULTIMAP_TPP_ */

View File

@ -1,90 +0,0 @@
#ifndef FRAMEWORK_CONTAINER_HYBRIDITERATOR_H_
#define FRAMEWORK_CONTAINER_HYBRIDITERATOR_H_
#include "ArrayList.h"
#include "SinglyLinkedList.h"
template<typename T, typename count_t = uint8_t>
class HybridIterator: public LinkedElement<T>::Iterator,
public ArrayList<T, count_t>::Iterator {
public:
HybridIterator() {}
HybridIterator(typename LinkedElement<T>::Iterator *iter) :
LinkedElement<T>::Iterator(*iter), value(iter->value),
linked(true) {
}
HybridIterator(LinkedElement<T> *start) :
LinkedElement<T>::Iterator(start), value(start->value),
linked(true) {
}
HybridIterator(typename ArrayList<T, count_t>::Iterator start,
typename ArrayList<T, count_t>::Iterator end) :
ArrayList<T, count_t>::Iterator(start), value(start.value),
linked(false), end(end.value) {
if (value == this->end) {
value = NULL;
}
}
HybridIterator(T *firstElement, T *lastElement) :
ArrayList<T, count_t>::Iterator(firstElement), value(firstElement),
linked(false), end(++lastElement) {
if (value == end) {
value = NULL;
}
}
HybridIterator& operator++() {
if (linked) {
LinkedElement<T>::Iterator::operator++();
if (LinkedElement<T>::Iterator::value != nullptr) {
value = LinkedElement<T>::Iterator::value->value;
} else {
value = nullptr;
}
} else {
ArrayList<T, count_t>::Iterator::operator++();
value = ArrayList<T, count_t>::Iterator::value;
if (value == end) {
value = nullptr;
}
}
return *this;
}
HybridIterator operator++(int) {
HybridIterator tmp(*this);
operator++();
return tmp;
}
bool operator==(const HybridIterator& other) const {
return value == other.value;
}
bool operator!=(const HybridIterator& other) const {
return !(*this == other);
}
T operator*() {
return *value;
}
T *operator->() {
return value;
}
T* value = nullptr;
private:
bool linked = false;
T *end = nullptr;
};
#endif /* FRAMEWORK_CONTAINER_HYBRIDITERATOR_H_ */

View File

@ -1,700 +0,0 @@
#ifndef FRAMEWORK_CONTAINER_INDEXEDRINGMEMORY_H_
#define FRAMEWORK_CONTAINER_INDEXEDRINGMEMORY_H_
#include "ArrayList.h"
#include "../globalfunctions/CRC.h"
#include "../serviceinterface/ServiceInterfaceStream.h"
#include "../returnvalues/HasReturnvaluesIF.h"
#include "../serialize/SerialArrayListAdapter.h"
#include <cmath>
template<typename T>
class Index: public SerializeIF{
/**
* Index is the Type used for the list of indices. The template parameter is the type which describes the index, it needs to be a child of SerializeIF to be able to make it persistent
*/
static_assert(std::is_base_of<SerializeIF,T>::value,"Wrong Type for Index, Type must implement SerializeIF");
public:
Index():blockStartAddress(0),size(0),storedPackets(0){}
Index(uint32_t startAddress):blockStartAddress(startAddress),size(0),storedPackets(0){
}
void setBlockStartAddress(uint32_t newAddress){
this->blockStartAddress = newAddress;
}
uint32_t getBlockStartAddress() const {
return blockStartAddress;
}
const T* getIndexType() const {
return &indexType;
}
T* modifyIndexType(){
return &indexType;
}
/**
* Updates the index Type. Uses = operator
* @param indexType Type to copy from
*/
void setIndexType(T* indexType) {
this->indexType = *indexType;
}
uint32_t getSize() const {
return size;
}
void setSize(uint32_t size) {
this->size = size;
}
void addSize(uint32_t size){
this->size += size;
}
void setStoredPackets(uint32_t newStoredPackets){
this->storedPackets = newStoredPackets;
}
void addStoredPackets(uint32_t packets){
this->storedPackets += packets;
}
uint32_t getStoredPackets() const{
return this->storedPackets;
}
ReturnValue_t serialize(uint8_t** buffer, size_t* size,
size_t maxSize, Endianness streamEndianness) const {
ReturnValue_t result = SerializeAdapter::serialize(&blockStartAddress,buffer,size,maxSize,streamEndianness);
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
result = indexType.serialize(buffer,size,maxSize,streamEndianness);
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
result = SerializeAdapter::serialize(&this->size,buffer,size,maxSize,streamEndianness);
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
result = SerializeAdapter::serialize(&this->storedPackets,buffer,size,maxSize,streamEndianness);
return result;
}
ReturnValue_t deSerialize(const uint8_t** buffer, size_t* size,
Endianness streamEndianness){
ReturnValue_t result = SerializeAdapter::deSerialize(&blockStartAddress,buffer,size,streamEndianness);
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
result = indexType.deSerialize(buffer,size,streamEndianness);
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
result = SerializeAdapter::deSerialize(&this->size,buffer,size,streamEndianness);
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
result = SerializeAdapter::deSerialize(&this->storedPackets,buffer,size,streamEndianness);
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
return result;
}
size_t getSerializedSize() const {
uint32_t size = SerializeAdapter::getSerializedSize(&blockStartAddress);
size += indexType.getSerializedSize();
size += SerializeAdapter::getSerializedSize(&this->size);
size += SerializeAdapter::getSerializedSize(&this->storedPackets);
return size;
}
bool operator==(const Index<T>& other){
return ((blockStartAddress == other.getBlockStartAddress()) && (size==other.getSize())) && (indexType == *(other.getIndexType()));
}
private:
uint32_t blockStartAddress;
uint32_t size;
uint32_t storedPackets;
T indexType;
};
template<typename T>
class IndexedRingMemoryArray: public SerializeIF, public ArrayList<Index<T>, uint32_t>{
/**
* Indexed Ring Memory Array is a class for a ring memory with indices. It assumes that the newest data comes in last
* It uses the currentWriteBlock as pointer to the current writing position
* The currentReadBlock must be set manually
*/
public:
IndexedRingMemoryArray(uint32_t startAddress, uint32_t size, uint32_t bytesPerBlock, SerializeIF* additionalInfo,
bool overwriteOld) :ArrayList<Index<T>,uint32_t>(NULL,(uint32_t)10,(uint32_t)0),totalSize(size),indexAddress(startAddress),currentReadSize(0),currentReadBlockSizeCached(0),lastBlockToReadSize(0), additionalInfo(additionalInfo),overwriteOld(overwriteOld){
//Calculate the maximum number of indices needed for this blocksize
uint32_t maxNrOfIndices = floor(static_cast<double>(size)/static_cast<double>(bytesPerBlock));
//Calculate the Size needeed for the index itself
uint32_t serializedSize = 0;
if(additionalInfo!=NULL){
serializedSize += additionalInfo->getSerializedSize();
}
//Size of current iterator type
Index<T> tempIndex;
serializedSize += tempIndex.getSerializedSize();
//Add Size of Array
serializedSize += sizeof(uint32_t); //size of array
serializedSize += (tempIndex.getSerializedSize() * maxNrOfIndices); //size of elements
serializedSize += sizeof(uint16_t); //size of crc
//Calculate new size after index
if(serializedSize > totalSize){
error << "IndexedRingMemory: Store is too small for index" << std::endl;
}
uint32_t useableSize = totalSize - serializedSize;
//Update the totalSize for calculations
totalSize = useableSize;
//True StartAddress
uint32_t trueStartAddress = indexAddress + serializedSize;
//Calculate True number of Blocks and reset size of true Number of Blocks
uint32_t trueNumberOfBlocks = floor(static_cast<double>(totalSize) / static_cast<double>(bytesPerBlock));
//allocate memory now
this->entries = new Index<T>[trueNumberOfBlocks];
this->size = trueNumberOfBlocks;
this->maxSize_ = trueNumberOfBlocks;
this->allocated = true;
//Check trueNumberOfBlocks
if(trueNumberOfBlocks<1){
error << "IndexedRingMemory: Invalid Number of Blocks: " << trueNumberOfBlocks;
}
//Fill address into index
uint32_t address = trueStartAddress;
for (typename IndexedRingMemoryArray<T>::Iterator it = this->begin();it!=this->end();++it) {
it->setBlockStartAddress(address);
it->setSize(0);
it->setStoredPackets(0);
address += bytesPerBlock;
}
//Initialize iterators
currentWriteBlock = this->begin();
currentReadBlock = this->begin();
lastBlockToRead = this->begin();
//Check last blockSize
uint32_t lastBlockSize = (trueStartAddress + useableSize) - (this->back()->getBlockStartAddress());
if((lastBlockSize<bytesPerBlock) && (this->size > 1)){
//remove the last Block so the second last block has more size
this->size -= 1;
debug << "IndexedRingMemory: Last Block is smaller than bytesPerBlock, removed last block" << std::endl;
}
}
/**
* Resets the whole index, the iterators and executes the given reset function on every index type
* @param typeResetFnc static reset function which accepts a pointer to the index Type
*/
void reset(void (*typeResetFnc)(T*)){
currentReadBlock = this->begin();
currentWriteBlock = this->begin();
lastBlockToRead = this->begin();
currentReadSize = 0;
currentReadBlockSizeCached = 0;
lastBlockToReadSize = 0;
for(typename IndexedRingMemoryArray<T>::Iterator it = this->begin();it!=this->end();++it){
it->setSize(0);
it->setStoredPackets(0);
(*typeResetFnc)(it->modifyIndexType());
}
}
void resetBlock(typename IndexedRingMemoryArray<T>::Iterator it,void (*typeResetFnc)(T*)){
it->setSize(0);
it->setStoredPackets(0);
(*typeResetFnc)(it->modifyIndexType());
}
/*
* Reading
*/
void setCurrentReadBlock(typename IndexedRingMemoryArray<T>::Iterator it){
currentReadBlock = it;
currentReadBlockSizeCached = it->getSize();
}
void resetRead(){
currentReadBlock = this->begin();
currentReadSize = 0;
currentReadBlockSizeCached = this->begin()->getSize();
lastBlockToRead = currentWriteBlock;
lastBlockToReadSize = currentWriteBlock->getSize();
}
/**
* Sets the last block to read to this iterator.
* Can be used to dump until block x
* @param it The iterator for the last read block
*/
void setLastBlockToRead(typename IndexedRingMemoryArray<T>::Iterator it){
lastBlockToRead = it;
lastBlockToReadSize = it->getSize();
}
/**
* Set the read pointer to the first written Block, which is the first non empty block in front of the write block
* Can be the currentWriteBlock as well
*/
void readOldest(){
resetRead();
currentReadBlock = getNextNonEmptyBlock();
currentReadBlockSizeCached = currentReadBlock->getSize();
}
/**
* Sets the current read iterator to the next Block and resets the current read size
* The current size of the block will be cached to avoid race condition between write and read
* If the end of the ring is reached the read pointer will be set to the begin
*/
void readNext(){
currentReadSize = 0;
if((this->size != 0) && (currentReadBlock.value ==this->back())){
currentReadBlock = this->begin();
}else{
currentReadBlock++;
}
currentReadBlockSizeCached = currentReadBlock->getSize();
}
/**
* Returns the address which is currently read from
* @return Address to read from
*/
uint32_t getCurrentReadAddress() const {
return getAddressOfCurrentReadBlock() + currentReadSize;
}
/**
* Adds readSize to the current size and checks if the read has no more data left and advances the read block
* @param readSize The size that was read
* @return Returns true if the read can go on
*/
bool addReadSize(uint32_t readSize) {
if(currentReadBlock == lastBlockToRead){
//The current read block is the last to read
if((currentReadSize+readSize)<lastBlockToReadSize){
//the block has more data -> return true
currentReadSize += readSize;
return true;
}else{
//Reached end of read -> return false
currentReadSize = lastBlockToReadSize;
return false;
}
}else{
//We are not in the last Block
if((currentReadSize + readSize)<currentReadBlockSizeCached){
//The current Block has more data
currentReadSize += readSize;
return true;
}else{
//The current block is written completely
readNext();
if(currentReadBlockSizeCached==0){
//Next block is empty
typename IndexedRingMemoryArray<T>::Iterator it(currentReadBlock);
//Search if any block between this and the last block is not empty
for(;it!=lastBlockToRead;++it){
if(it == this->end()){
//This is the end, next block is the begin
it = this->begin();
if(it == lastBlockToRead){
//Break if the begin is the lastBlockToRead
break;
}
}
if(it->getSize()!=0){
//This is a non empty block. Go on reading with this block
currentReadBlock = it;
currentReadBlockSizeCached = it->getSize();
return true;
}
}
//reached lastBlockToRead and every block was empty, check if the last block is also empty
if(lastBlockToReadSize!=0){
//go on with last Block
currentReadBlock = lastBlockToRead;
currentReadBlockSizeCached = lastBlockToReadSize;
return true;
}
//There is no non empty block left
return false;
}
//Size is larger than 0
return true;
}
}
}
uint32_t getRemainigSizeOfCurrentReadBlock() const{
if(currentReadBlock == lastBlockToRead){
return (lastBlockToReadSize - currentReadSize);
}else{
return (currentReadBlockSizeCached - currentReadSize);
}
}
uint32_t getAddressOfCurrentReadBlock() const {
return currentReadBlock->getBlockStartAddress();
}
/**
* Gets the next non empty Block after the current write block,
* @return Returns the iterator to the block. If there is non, the current write block is returned
*/
typename IndexedRingMemoryArray<T>::Iterator getNextNonEmptyBlock() const {
for(typename IndexedRingMemoryArray<T>::Iterator it = getNextWrite();it!=currentWriteBlock;++it){
if(it == this->end()){
it = this->begin();
if(it == currentWriteBlock){
break;
}
}
if(it->getSize()!=0){
return it;
}
}
return currentWriteBlock;
}
/**
* Returns a copy of the oldest Index type
* @return Type of Index
*/
T* getOldest(){
return (getNextNonEmptyBlock()->modifyIndexType());
}
/*
* Writing
*/
uint32_t getAddressOfCurrentWriteBlock() const{
return currentWriteBlock->getBlockStartAddress();
}
uint32_t getSizeOfCurrentWriteBlock() const{
return currentWriteBlock->getSize();
}
uint32_t getCurrentWriteAddress() const{
return getAddressOfCurrentWriteBlock() + getSizeOfCurrentWriteBlock();
}
void clearCurrentWriteBlock(){
currentWriteBlock->setSize(0);
currentWriteBlock->setStoredPackets(0);
}
void addCurrentWriteBlock(uint32_t size, uint32_t storedPackets){
currentWriteBlock->addSize(size);
currentWriteBlock->addStoredPackets(storedPackets);
}
T* modifyCurrentWriteBlockIndexType(){
return currentWriteBlock->modifyIndexType();
}
void updatePreviousWriteSize(uint32_t size, uint32_t storedPackets){
typename IndexedRingMemoryArray<T>::Iterator it = getPreviousBlock(currentWriteBlock);
it->addSize(size);
it->addStoredPackets(storedPackets);
}
/**
* Checks if the block has enough space for sizeToWrite
* @param sizeToWrite The data to be written in the Block
* @return Returns true if size to write is smaller the remaining size of the block
*/
bool hasCurrentWriteBlockEnoughSpace(uint32_t sizeToWrite){
typename IndexedRingMemoryArray<T>::Iterator next = getNextWrite();
uint32_t addressOfNextBlock = next->getBlockStartAddress();
uint32_t availableSize = ((addressOfNextBlock+totalSize) - (getAddressOfCurrentWriteBlock()+getSizeOfCurrentWriteBlock()))%totalSize;
return (sizeToWrite < availableSize);
}
/**
* Checks if the store is full if overwrite old is false
* @return Returns true if it is writeable and false if not
*/
bool isNextBlockWritable(){
//First check if this is the end of the list
typename IndexedRingMemoryArray<T>::Iterator next;
next = getNextWrite();
if((next->getSize()!=0) && (!overwriteOld)){
return false;
}
return true;
}
/**
* Updates current write Block Index Type
* @param infoOfNewBlock
*/
void updateCurrentBlock(T* infoOfNewBlock){
currentWriteBlock->setIndexType(infoOfNewBlock);
}
/**
* Succeed to next block, returns FAILED if overwrite is false and the store is full
* @return
*/
ReturnValue_t writeNext(){
//Check Next Block
if(!isNextBlockWritable()){
//The Index is full and does not overwrite old
return HasReturnvaluesIF::RETURN_FAILED;
}
//Next block can be written, update Metadata
currentWriteBlock = getNextWrite();
currentWriteBlock->setSize(0);
currentWriteBlock->setStoredPackets(0);
return HasReturnvaluesIF::RETURN_OK;
}
/**
* Serializes the Index and calculates the CRC.
* Parameters according to HasSerializeIF
* @param buffer
* @param size
* @param maxSize
* @param streamEndianness
* @return
*/
ReturnValue_t serialize(uint8_t** buffer, size_t* size,
size_t maxSize, Endianness streamEndianness) const{
uint8_t* crcBuffer = *buffer;
uint32_t oldSize = *size;
if(additionalInfo!=NULL){
additionalInfo->serialize(buffer,size,maxSize,streamEndianness);
}
ReturnValue_t result = currentWriteBlock->serialize(buffer,size,maxSize,streamEndianness);
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
result = SerializeAdapter::serialize(&this->size,buffer,size,maxSize,streamEndianness);
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
uint32_t i = 0;
while ((result == HasReturnvaluesIF::RETURN_OK) && (i < this->size)) {
result = SerializeAdapter::serialize(&this->entries[i], buffer, size,
maxSize, streamEndianness);
++i;
}
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
uint16_t crc = Calculate_CRC(crcBuffer,(*size-oldSize));
result = SerializeAdapter::serialize(&crc,buffer,size,maxSize,streamEndianness);
return result;
}
/**
* Get the serialized Size of the index
* @return The serialized size of the index
*/
size_t getSerializedSize() const {
uint32_t size = 0;
if(additionalInfo!=NULL){
size += additionalInfo->getSerializedSize();
}
size += currentWriteBlock->getSerializedSize();
size += SerializeAdapter::getSerializedSize(&this->size);
size += (this->entries[0].getSerializedSize()) * this->size;
uint16_t crc = 0;
size += SerializeAdapter::getSerializedSize(&crc);
return size;
}
/**
* DeSerialize the Indexed Ring from a buffer, deSerializes the current write iterator
* CRC Has to be checked before!
* @param buffer
* @param size
* @param streamEndianness
* @return
*/
ReturnValue_t deSerialize(const uint8_t** buffer, size_t* size,
Endianness streamEndianness){
ReturnValue_t result = HasReturnvaluesIF::RETURN_OK;
if(additionalInfo!=NULL){
result = additionalInfo->deSerialize(buffer,size,streamEndianness);
}
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
Index<T> tempIndex;
result = tempIndex.deSerialize(buffer,size,streamEndianness);
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
uint32_t tempSize = 0;
result = SerializeAdapter::deSerialize(&tempSize,buffer,size,streamEndianness);
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
if(this->size != tempSize){
return HasReturnvaluesIF::RETURN_FAILED;
}
uint32_t i = 0;
while ((result == HasReturnvaluesIF::RETURN_OK) && (i < this->size)) {
result = SerializeAdapter::deSerialize(
&this->entries[i], buffer, size,
streamEndianness);
++i;
}
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
typename IndexedRingMemoryArray<T>::Iterator cmp(&tempIndex);
for(typename IndexedRingMemoryArray<T>::Iterator it= this->begin();it!=this->end();++it){
if(*(cmp.value) == *(it.value)){
currentWriteBlock = it;
return HasReturnvaluesIF::RETURN_OK;
}
}
//Reached if current write block iterator is not found
return HasReturnvaluesIF::RETURN_FAILED;
}
uint32_t getIndexAddress() const {
return indexAddress;
}
/*
* Statistics
*/
uint32_t getStoredPackets() const {
uint32_t size = 0;
for(typename IndexedRingMemoryArray<T>::Iterator it= this->begin();it!=this->end();++it){
size += it->getStoredPackets();
}
return size;
}
uint32_t getTotalSize() const {
return totalSize;
}
uint32_t getCurrentSize() const{
uint32_t size = 0;
for(typename IndexedRingMemoryArray<T>::Iterator it= this->begin();it!=this->end();++it){
size += it->getSize();
}
return size;
}
bool isEmpty() const{
return getCurrentSize()==0;
}
double getPercentageFilled() const{
uint32_t filledSize = 0;
for(typename IndexedRingMemoryArray<T>::Iterator it= this->begin();it!=this->end();++it){
filledSize += it->getSize();
}
return (double)filledSize/(double)this->totalSize;
}
typename IndexedRingMemoryArray<T>::Iterator getCurrentWriteBlock() const{
return currentWriteBlock;
}
/**
* Get the next block of the currentWriteBlock.
* Returns the first one if currentWriteBlock is the last one
* @return Iterator pointing to the next block after currentWriteBlock
*/
typename IndexedRingMemoryArray<T>::Iterator getNextWrite() const{
typename IndexedRingMemoryArray<T>::Iterator next(currentWriteBlock);
if((this->size != 0) && (currentWriteBlock.value == this->back())){
next = this->begin();
}else{
++next;
}
return next;
}
/**
* Get the block in front of the Iterator
* Returns the last block if it is the first block
* @param it iterator which you want the previous block from
* @return pointing to the block before it
*/
typename IndexedRingMemoryArray<T>::Iterator getPreviousBlock(typename IndexedRingMemoryArray<T>::Iterator it) {
if(this->begin() == it){
typename IndexedRingMemoryArray<T>::Iterator next((this->back()));
return next;
}
typename IndexedRingMemoryArray<T>::Iterator next(it);
--next;
return next;
}
private:
//The total size used by the blocks (without index)
uint32_t totalSize;
//The address of the index
const uint32_t indexAddress;
//The iterators for writing and reading
typename IndexedRingMemoryArray<T>::Iterator currentWriteBlock;
typename IndexedRingMemoryArray<T>::Iterator currentReadBlock;
//How much of the current read block is read already
uint32_t currentReadSize;
//Cached Size of current read block
uint32_t currentReadBlockSizeCached;
//Last block of current write (should be write block)
typename IndexedRingMemoryArray<T>::Iterator lastBlockToRead;
//current size of last Block to read
uint32_t lastBlockToReadSize;
//Additional Info to be serialized with the index
SerializeIF* additionalInfo;
//Does it overwrite old blocks?
const bool overwriteOld;
};
#endif /* FRAMEWORK_CONTAINER_INDEXEDRINGMEMORY_H_ */

View File

@ -1,71 +0,0 @@
#ifndef FRAMEWORK_CONTAINER_PLACEMENTFACTORY_H_
#define FRAMEWORK_CONTAINER_PLACEMENTFACTORY_H_
#include "../storagemanager/StorageManagerIF.h"
#include <utility>
/**
* The Placement Factory is used to create objects at runtime in a specific pool.
* In general, this should be avoided and it should only be used if you know what you are doing.
* You are not allowed to use this container with a type that allocates memory internally like ArrayList.
*
* Also, you have to check the returned pointer in generate against nullptr!
*
* A backend of Type StorageManagerIF must be given as a place to store the new objects.
* Therefore ThreadSafety is only provided by your StorageManager Implementation.
*
* Objects must be destroyed by the user with "destroy"! Otherwise the pool will not be cleared.
*
* The concept is based on the placement new operator.
*
* @warning Do not use with any Type that allocates memory internally!
* @ingroup container
*/
class PlacementFactory {
public:
PlacementFactory(StorageManagerIF* backend) :
dataBackend(backend) {
}
/***
* Generates an object of type T in the backend storage.
*
* @warning Do not use with any Type that allocates memory internally!
*
* @tparam T Type of Object
* @param args Constructor Arguments to be passed
* @return A pointer to the new object or a nullptr in case of failure
*/
template<typename T, typename ... Args>
T* generate(Args&&... args) {
store_address_t tempId;
uint8_t* pData = nullptr;
ReturnValue_t result = dataBackend->getFreeElement(&tempId, sizeof(T),
&pData);
if (result != HasReturnvaluesIF::RETURN_OK) {
return nullptr;
}
T* temp = new (pData) T(std::forward<Args>(args)...);
return temp;
}
/***
* Function to destroy the object allocated with generate and free space in backend.
* This must be called by the user.
*
* @param thisElement Element to be destroyed
* @return RETURN_OK if the element was destroyed, different errors on failure
*/
template<typename T>
ReturnValue_t destroy(T* thisElement) {
if (thisElement == nullptr){
return HasReturnvaluesIF::RETURN_FAILED;
}
//Need to call destructor first, in case something was allocated by the object (shouldn't do that, however).
thisElement->~T();
uint8_t* pointer = (uint8_t*) (thisElement);
return dataBackend->deleteData(pointer, sizeof(T));
}
private:
StorageManagerIF* dataBackend;
};
#endif /* FRAMEWORK_CONTAINER_PLACEMENTFACTORY_H_ */

View File

@ -1,113 +0,0 @@
#ifndef FSFW_CONTAINER_RINGBUFFERBASE_H_
#define FSFW_CONTAINER_RINGBUFFERBASE_H_
#include "../returnvalues/HasReturnvaluesIF.h"
#include <cstddef>
template<uint8_t N_READ_PTRS = 1>
class RingBufferBase {
public:
RingBufferBase(size_t startAddress, const size_t size, bool overwriteOld) :
start(startAddress), write(startAddress), size(size),
overwriteOld(overwriteOld) {
for (uint8_t count = 0; count < N_READ_PTRS; count++) {
read[count] = startAddress;
}
}
virtual ~RingBufferBase() {}
bool isFull(uint8_t n = 0) {
return (availableWriteSpace(n) == 0);
}
bool isEmpty(uint8_t n = 0) {
return (getAvailableReadData(n) == 0);
}
size_t getAvailableReadData(uint8_t n = 0) const {
return ((write + size) - read[n]) % size;
}
size_t availableWriteSpace(uint8_t n = 0) const {
//One less to avoid ambiguous full/empty problem.
return (((read[n] + size) - write - 1) % size);
}
bool overwritesOld() const {
return overwriteOld;
}
size_t getMaxSize() const {
return size - 1;
}
void clear() {
write = start;
for (uint8_t count = 0; count < N_READ_PTRS; count++) {
read[count] = start;
}
}
size_t writeTillWrap() {
return (start + size) - write;
}
size_t readTillWrap(uint8_t n = 0) {
return (start + size) - read[n];
}
size_t getStart() const {
return start;
}
protected:
const size_t start;
size_t write;
size_t read[N_READ_PTRS];
const size_t size;
const bool overwriteOld;
void incrementWrite(uint32_t amount) {
write = ((write + amount - start) % size) + start;
}
void incrementRead(uint32_t amount, uint8_t n = 0) {
read[n] = ((read[n] + amount - start) % size) + start;
}
ReturnValue_t readData(uint32_t amount, uint8_t n = 0) {
if (getAvailableReadData(n) >= amount) {
incrementRead(amount, n);
return HasReturnvaluesIF::RETURN_OK;
} else {
return HasReturnvaluesIF::RETURN_FAILED;
}
}
ReturnValue_t writeData(uint32_t amount) {
if (availableWriteSpace() >= amount or overwriteOld) {
incrementWrite(amount);
return HasReturnvaluesIF::RETURN_OK;
} else {
return HasReturnvaluesIF::RETURN_FAILED;
}
}
size_t getRead(uint8_t n = 0) const {
return read[n];
}
void setRead(uint32_t read, uint8_t n = 0) {
if (read >= start && read < (start+size)) {
this->read[n] = read;
}
}
uint32_t getWrite() const {
return write;
}
void setWrite(uint32_t write) {
this->write = write;
}
};
#endif /* FSFW_CONTAINER_RINGBUFFERBASE_H_ */

View File

@ -1,55 +0,0 @@
#include "SharedRingBuffer.h"
#include "../ipc/MutexFactory.h"
#include "../ipc/MutexHelper.h"
SharedRingBuffer::SharedRingBuffer(object_id_t objectId, const size_t size,
bool overwriteOld, size_t maxExcessBytes):
SystemObject(objectId), SimpleRingBuffer(size, overwriteOld,
maxExcessBytes) {
mutex = MutexFactory::instance()->createMutex();
}
SharedRingBuffer::SharedRingBuffer(object_id_t objectId, uint8_t *buffer,
const size_t size, bool overwriteOld, size_t maxExcessBytes):
SystemObject(objectId), SimpleRingBuffer(buffer, size, overwriteOld,
maxExcessBytes) {
mutex = MutexFactory::instance()->createMutex();
}
void SharedRingBuffer::setToUseReceiveSizeFIFO(size_t fifoDepth) {
this->fifoDepth = fifoDepth;
}
ReturnValue_t SharedRingBuffer::lockRingBufferMutex(
MutexIF::TimeoutType timeoutType, dur_millis_t timeout) {
return mutex->lockMutex(timeoutType, timeout);
}
ReturnValue_t SharedRingBuffer::unlockRingBufferMutex() {
return mutex->unlockMutex();
}
MutexIF* SharedRingBuffer::getMutexHandle() const {
return mutex;
}
ReturnValue_t SharedRingBuffer::initialize() {
if(fifoDepth > 0) {
receiveSizesFIFO = new DynamicFIFO<size_t>(fifoDepth);
}
return SystemObject::initialize();
}
DynamicFIFO<size_t>* SharedRingBuffer::getReceiveSizesFIFO() {
if(receiveSizesFIFO == nullptr) {
// Configuration error.
sif::warning << "SharedRingBuffer::getReceiveSizesFIFO: Ring buffer"
<< " was not configured to have sizes FIFO, returning nullptr!"
<< std::endl;
}
return receiveSizesFIFO;
}

View File

@ -1,92 +0,0 @@
#ifndef FSFW_CONTAINER_SHAREDRINGBUFFER_H_
#define FSFW_CONTAINER_SHAREDRINGBUFFER_H_
#include "SimpleRingBuffer.h"
#include "DynamicFIFO.h"
#include "../ipc/MutexIF.h"
#include "../objectmanager/SystemObject.h"
#include "../timemanager/Clock.h"
/**
* @brief Ring buffer which can be shared among multiple objects
* @details
* This class offers a mutex to perform thread-safe operation on the ring
* buffer. It is still up to the developer to actually perform the lock
* and unlock operations.
*/
class SharedRingBuffer: public SystemObject,
public SimpleRingBuffer {
public:
/**
* This constructor allocates a new internal buffer with the supplied size.
* @param size
* @param overwriteOld
* If the ring buffer is overflowing at a write operartion, the oldest data
* will be overwritten.
*/
SharedRingBuffer(object_id_t objectId, const size_t size,
bool overwriteOld, size_t maxExcessBytes);
/**
* @brief This function can be used to add an optional FIFO to the class
* @details
* This FIFO will be allocated in the initialize function (and will
* have a fixed maximum size after that). It can be used to store
* values like packet sizes, for example for a shared ring buffer
* used by producer/consumer tasks.
*/
void setToUseReceiveSizeFIFO(size_t fifoDepth);
/**
* This constructor takes an external buffer with the specified size.
* @param buffer
* @param size
* @param overwriteOld
* If the ring buffer is overflowing at a write operartion, the oldest data
* will be overwritten.
*/
SharedRingBuffer(object_id_t objectId, uint8_t* buffer, const size_t size,
bool overwriteOld, size_t maxExcessBytes);
/**
* Unless a read-only constant value is read, all operations on the
* shared ring buffer should be protected by calling this function.
* @param timeoutType
* @param timeout
* @return
*/
virtual ReturnValue_t lockRingBufferMutex(MutexIF::TimeoutType timeoutType,
dur_millis_t timeout);
/**
* Any locked mutex also has to be unlocked, otherwise, access to the
* shared ring buffer will be blocked.
* @return
*/
virtual ReturnValue_t unlockRingBufferMutex();
/**
* The mutex handle can be accessed directly, for example to perform
* the lock with the #MutexHelper for a RAII compliant lock operation.
* @return
*/
MutexIF* getMutexHandle() const;
ReturnValue_t initialize() override;
/**
* If the shared ring buffer was configured to have a sizes FIFO, a handle
* to that FIFO can be retrieved with this function.
* Do not forget to protect access with a lock if required!
* @return
*/
DynamicFIFO<size_t>* getReceiveSizesFIFO();
private:
MutexIF* mutex = nullptr;
size_t fifoDepth = 0;
DynamicFIFO<size_t>* receiveSizesFIFO = nullptr;
};
#endif /* FSFW_CONTAINER_SHAREDRINGBUFFER_H_ */

View File

@ -1,131 +0,0 @@
#include "SimpleRingBuffer.h"
#include <cstring>
SimpleRingBuffer::SimpleRingBuffer(const size_t size, bool overwriteOld,
size_t maxExcessBytes) :
RingBufferBase<>(0, size, overwriteOld),
maxExcessBytes(maxExcessBytes) {
if(maxExcessBytes > size) {
this->maxExcessBytes = size;
}
else {
this->maxExcessBytes = maxExcessBytes;
}
buffer = new uint8_t[size + maxExcessBytes];
}
SimpleRingBuffer::SimpleRingBuffer(uint8_t *buffer, const size_t size,
bool overwriteOld, size_t maxExcessBytes):
RingBufferBase<>(0, size, overwriteOld), buffer(buffer) {
if(maxExcessBytes > size) {
this->maxExcessBytes = size;
}
else {
this->maxExcessBytes = maxExcessBytes;
}
}
SimpleRingBuffer::~SimpleRingBuffer() {
delete[] buffer;
}
ReturnValue_t SimpleRingBuffer::getFreeElement(uint8_t **writePointer,
size_t amount) {
if (availableWriteSpace() >= amount or overwriteOld) {
size_t amountTillWrap = writeTillWrap();
if (amountTillWrap < amount) {
if((amount - amountTillWrap + excessBytes) > maxExcessBytes) {
return HasReturnvaluesIF::RETURN_FAILED;
}
excessBytes = amount - amountTillWrap;
}
*writePointer = &buffer[write];
return HasReturnvaluesIF::RETURN_OK;
}
else {
return HasReturnvaluesIF::RETURN_FAILED;
}
}
void SimpleRingBuffer::confirmBytesWritten(size_t amount) {
if(getExcessBytes() > 0) {
moveExcessBytesToStart();
}
incrementWrite(amount);
}
ReturnValue_t SimpleRingBuffer::writeData(const uint8_t* data,
size_t amount) {
if (availableWriteSpace() >= amount or overwriteOld) {
size_t amountTillWrap = writeTillWrap();
if (amountTillWrap >= amount) {
// remaining size in buffer is sufficient to fit full amount.
memcpy(&buffer[write], data, amount);
}
else {
memcpy(&buffer[write], data, amountTillWrap);
memcpy(buffer, data + amountTillWrap, amount - amountTillWrap);
}
incrementWrite(amount);
return HasReturnvaluesIF::RETURN_OK;
} else {
return HasReturnvaluesIF::RETURN_FAILED;
}
}
ReturnValue_t SimpleRingBuffer::readData(uint8_t* data, size_t amount,
bool incrementReadPtr, bool readRemaining, size_t* trueAmount) {
size_t availableData = getAvailableReadData(READ_PTR);
size_t amountTillWrap = readTillWrap(READ_PTR);
if (availableData < amount) {
if (readRemaining) {
// more data available than amount specified.
amount = availableData;
} else {
return HasReturnvaluesIF::RETURN_FAILED;
}
}
if (trueAmount != nullptr) {
*trueAmount = amount;
}
if (amountTillWrap >= amount) {
memcpy(data, &buffer[read[READ_PTR]], amount);
} else {
memcpy(data, &buffer[read[READ_PTR]], amountTillWrap);
memcpy(data + amountTillWrap, buffer, amount - amountTillWrap);
}
if(incrementReadPtr) {
deleteData(amount, readRemaining);
}
return HasReturnvaluesIF::RETURN_OK;
}
size_t SimpleRingBuffer::getExcessBytes() const {
return excessBytes;
}
void SimpleRingBuffer::moveExcessBytesToStart() {
if(excessBytes > 0) {
std::memcpy(buffer, &buffer[size], excessBytes);
excessBytes = 0;
}
}
ReturnValue_t SimpleRingBuffer::deleteData(size_t amount,
bool deleteRemaining, size_t* trueAmount) {
size_t availableData = getAvailableReadData(READ_PTR);
if (availableData < amount) {
if (deleteRemaining) {
amount = availableData;
} else {
return HasReturnvaluesIF::RETURN_FAILED;
}
}
if (trueAmount != nullptr) {
*trueAmount = amount;
}
incrementRead(amount, READ_PTR);
return HasReturnvaluesIF::RETURN_OK;
}

View File

@ -1,129 +0,0 @@
#ifndef FSFW_CONTAINER_SIMPLERINGBUFFER_H_
#define FSFW_CONTAINER_SIMPLERINGBUFFER_H_
#include "RingBufferBase.h"
#include <cstddef>
/**
* @brief Circular buffer implementation, useful for buffering
* into data streams.
* @details
* Note that the deleteData() has to be called to increment the read pointer.
* This class allocated dynamically, so
* @ingroup containers
*/
class SimpleRingBuffer: public RingBufferBase<> {
public:
/**
* This constructor allocates a new internal buffer with the supplied size.
*
* @param size
* @param overwriteOld If the ring buffer is overflowing at a write
* operation, the oldest data will be overwritten.
* @param maxExcessBytes These additional bytes will be allocated in addtion
* to the specified size to accomodate contiguous write operations
* with getFreeElement.
*
*/
SimpleRingBuffer(const size_t size, bool overwriteOld,
size_t maxExcessBytes = 0);
/**
* This constructor takes an external buffer with the specified size.
* @param buffer
* @param size
* @param overwriteOld
* If the ring buffer is overflowing at a write operartion, the oldest data
* will be overwritten.
* @param maxExcessBytes
* If the buffer can accomodate additional bytes for contigous write
* operations with getFreeElement, this is the maximum allowed additional
* size
*/
SimpleRingBuffer(uint8_t* buffer, const size_t size, bool overwriteOld,
size_t maxExcessBytes = 0);
virtual ~SimpleRingBuffer();
/**
* Write to circular buffer and increment write pointer by amount.
* @param data
* @param amount
* @return -@c RETURN_OK if write operation was successfull
* -@c RETURN_FAILED if
*/
ReturnValue_t writeData(const uint8_t* data, size_t amount);
/**
* Returns a pointer to a free element. If the remaining buffer is
* not large enough, the data will be written past the actual size
* and the amount of excess bytes will be cached. This function
* does not increment the write pointer!
* @param writePointer Pointer to a pointer which can be used to write
* contiguous blocks into the ring buffer
* @param amount
* @return
*/
ReturnValue_t getFreeElement(uint8_t** writePointer, size_t amount);
/**
* This increments the write pointer and also copies the excess bytes
* to the beginning. It should be called if the write operation
* conducted after calling getFreeElement() was performed.
* @return
*/
void confirmBytesWritten(size_t amount);
virtual size_t getExcessBytes() const;
/**
* Helper functions which moves any excess bytes to the start
* of the ring buffer.
* @return
*/
virtual void moveExcessBytesToStart();
/**
* Read from circular buffer at read pointer.
* @param data
* @param amount
* @param incrementReadPtr
* If this is set to true, the read pointer will be incremented.
* If readRemaining is set to true, the read pointer will be incremented
* accordingly.
* @param readRemaining
* If this is set to true, the data will be read even if the amount
* specified exceeds the read data available.
* @param trueAmount [out]
* If readRemaining was set to true, the true amount read will be assigned
* to the passed value.
* @return
* - @c RETURN_OK if data was read successfully
* - @c RETURN_FAILED if not enough data was available and readRemaining
* was set to false.
*/
ReturnValue_t readData(uint8_t* data, size_t amount,
bool incrementReadPtr = false, bool readRemaining = false,
size_t* trueAmount = nullptr);
/**
* Delete data by incrementing read pointer.
* @param amount
* @param deleteRemaining
* If the amount specified is larger than the remaing size to read and this
* is set to true, the remaining amount will be deleted as well
* @param trueAmount [out]
* If deleteRemaining was set to true, the amount deleted will be assigned
* to the passed value.
* @return
*/
ReturnValue_t deleteData(size_t amount, bool deleteRemaining = false,
size_t* trueAmount = nullptr);
private:
static const uint8_t READ_PTR = 0;
uint8_t* buffer = nullptr;
size_t maxExcessBytes;
size_t excessBytes = 0;
};
#endif /* FSFW_CONTAINER_SIMPLERINGBUFFER_H_ */

View File

@ -1,154 +0,0 @@
#ifndef FRAMEWORK_CONTAINER_SINGLYLINKEDLIST_H_
#define FRAMEWORK_CONTAINER_SINGLYLINKEDLIST_H_
#include <cstddef>
#include <cstdint>
/**
* @brief Linked list data structure,
* each entry has a pointer to the next entry (singly)
* @ingroup container
*/
template<typename T>
class LinkedElement {
public:
T *value;
class Iterator {
public:
LinkedElement<T> *value = nullptr;
Iterator() {}
Iterator(LinkedElement<T> *element) :
value(element) {
}
Iterator& operator++() {
value = value->getNext();
return *this;
}
Iterator operator++(int) {
Iterator tmp(*this);
operator++();
return tmp;
}
bool operator==(Iterator other) {
return value == other.value;
}
bool operator!=(Iterator other) {
return !(*this == other);
}
T *operator->() {
return value->value;
}
};
LinkedElement(T* setElement, LinkedElement<T>* setNext = nullptr):
value(setElement), next(setNext) {}
virtual ~LinkedElement(){}
virtual LinkedElement* getNext() const {
return next;
}
virtual void setNext(LinkedElement* next) {
this->next = next;
}
virtual void setEnd() {
this->next = nullptr;
}
LinkedElement* begin() {
return this;
}
LinkedElement* end() {
return nullptr;
}
private:
LinkedElement *next;
};
template<typename T>
class SinglyLinkedList {
public:
using ElementIterator = typename LinkedElement<T>::Iterator;
SinglyLinkedList() {}
SinglyLinkedList(ElementIterator start) :
start(start.value) {}
SinglyLinkedList(LinkedElement<T>* startElement) :
start(startElement) {}
ElementIterator begin() const {
return ElementIterator::Iterator(start);
}
/** Returns iterator to nulltr */
ElementIterator end() const {
return ElementIterator::Iterator();
}
/**
* Returns last element in singly linked list.
* @return
*/
ElementIterator back() const {
LinkedElement<T> *element = start;
while (element->getNext() != nullptr) {
element = element->getNext();
}
return ElementIterator::Iterator(element);
}
size_t getSize() const {
size_t size = 0;
LinkedElement<T> *element = start;
while (element != nullptr) {
size++;
element = element->getNext();
}
return size;
}
void setStart(LinkedElement<T>* firstElement) {
start = firstElement;
}
void setNext(LinkedElement<T>* currentElement,
LinkedElement<T>* nextElement) {
currentElement->setNext(nextElement);
}
void setLast(LinkedElement<T>* lastElement) {
lastElement->setEnd();
}
void insertElement(LinkedElement<T>* element, size_t position) {
LinkedElement<T> *currentElement = start;
for(size_t count = 0; count < position; count++) {
if(currentElement == nullptr) {
return;
}
currentElement = currentElement->getNext();
}
LinkedElement<T>* elementAfterCurrent = currentElement->next;
currentElement->setNext(element);
if(elementAfterCurrent != nullptr) {
element->setNext(elementAfterCurrent);
}
}
void insertBack(LinkedElement<T>* lastElement) {
back().value->setNext(lastElement);
}
protected:
LinkedElement<T> *start = nullptr;
};
#endif /* SINGLYLINKEDLIST_H_ */

9
contrib/CMakeLists.txt Normal file
View File

@ -0,0 +1,9 @@
target_include_directories(${LIB_FSFW_NAME} PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
)
target_include_directories(${LIB_FSFW_NAME} INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}
)
add_subdirectory(fsfw_contrib)

View File

@ -0,0 +1,11 @@
if(FSFW_ADD_SGP4_PROPAGATOR)
target_sources(${LIB_FSFW_NAME} PRIVATE
sgp4/sgp4unit.cpp
)
target_include_directories(${LIB_FSFW_NAME} PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/sgp4
)
target_include_directories(${LIB_FSFW_NAME} INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}/sgp4
)
endif()

View File

@ -1,137 +0,0 @@
#include "../subsystem/SubsystemBase.h"
#include "ControllerBase.h"
#include "../subsystem/SubsystemBase.h"
#include "../ipc/QueueFactory.h"
#include "../action/HasActionsIF.h"
ControllerBase::ControllerBase(uint32_t setObjectId, uint32_t parentId,
size_t commandQueueDepth) :
SystemObject(setObjectId), parentId(parentId), mode(MODE_OFF), submode(
SUBMODE_NONE), commandQueue(NULL), modeHelper(
this), healthHelper(this, setObjectId),hkSwitcher(this),executingTask(NULL) {
commandQueue = QueueFactory::instance()->createMessageQueue(commandQueueDepth);
}
ControllerBase::~ControllerBase() {
QueueFactory::instance()->deleteMessageQueue(commandQueue);
}
ReturnValue_t ControllerBase::initialize() {
ReturnValue_t result = SystemObject::initialize();
if (result != RETURN_OK) {
return result;
}
MessageQueueId_t parentQueue = 0;
if (parentId != 0) {
SubsystemBase *parent = objectManager->get<SubsystemBase>(parentId);
if (parent == NULL) {
return RETURN_FAILED;
}
parentQueue = parent->getCommandQueue();
parent->registerChild(getObjectId());
}
result = healthHelper.initialize(parentQueue);
if (result != RETURN_OK) {
return result;
}
result = modeHelper.initialize(parentQueue);
if (result != RETURN_OK) {
return result;
}
result = hkSwitcher.initialize();
if (result != RETURN_OK) {
return result;
}
return RETURN_OK;
}
MessageQueueId_t ControllerBase::getCommandQueue() const {
return commandQueue->getId();
}
void ControllerBase::handleQueue() {
CommandMessage message;
ReturnValue_t result;
for (result = commandQueue->receiveMessage(&message); result == RETURN_OK;
result = commandQueue->receiveMessage(&message)) {
result = modeHelper.handleModeCommand(&message);
if (result == RETURN_OK) {
continue;
}
result = healthHelper.handleHealthCommand(&message);
if (result == RETURN_OK) {
continue;
}
result = handleCommandMessage(&message);
if (result == RETURN_OK) {
continue;
}
message.setToUnknownCommand();
commandQueue->reply(&message);
}
}
void ControllerBase::startTransition(Mode_t mode, Submode_t submode) {
changeHK(this->mode, this->submode, false);
triggerEvent(CHANGING_MODE, mode, submode);
this->mode = mode;
this->submode = submode;
modeHelper.modeChanged(mode, submode);
modeChanged(mode, submode);
announceMode(false);
changeHK(this->mode, this->submode, true);
}
void ControllerBase::getMode(Mode_t* mode, Submode_t* submode) {
*mode = this->mode;
*submode = this->submode;
}
void ControllerBase::setToExternalControl() {
healthHelper.setHealth(EXTERNAL_CONTROL);
}
void ControllerBase::announceMode(bool recursive) {
triggerEvent(MODE_INFO, mode, submode);
}
ReturnValue_t ControllerBase::performOperation(uint8_t opCode) {
handleQueue();
hkSwitcher.performOperation();
performControlOperation();
return RETURN_OK;
}
void ControllerBase::modeChanged(Mode_t mode, Submode_t submode) {
return;
}
ReturnValue_t ControllerBase::setHealth(HealthState health) {
switch (health) {
case HEALTHY:
case EXTERNAL_CONTROL:
healthHelper.setHealth(health);
return RETURN_OK;
default:
return INVALID_HEALTH_STATE;
}
}
HasHealthIF::HealthState ControllerBase::getHealth() {
return healthHelper.getHealth();
}
void ControllerBase::setTaskIF(PeriodicTaskIF* task_){
executingTask = task_;
}
void ControllerBase::changeHK(Mode_t mode, Submode_t submode, bool enable) {
}

View File

@ -1,79 +0,0 @@
#ifndef CONTROLLERBASE_H_
#define CONTROLLERBASE_H_
#include "../health/HasHealthIF.h"
#include "../health/HealthHelper.h"
#include "../modes/HasModesIF.h"
#include "../modes/ModeHelper.h"
#include "../objectmanager/SystemObject.h"
#include "../tasks/ExecutableObjectIF.h"
#include "../datapool/HkSwitchHelper.h"
class ControllerBase: public HasModesIF,
public HasHealthIF,
public ExecutableObjectIF,
public SystemObject,
public HasReturnvaluesIF {
public:
static const Mode_t MODE_NORMAL = 2;
ControllerBase(uint32_t setObjectId, uint32_t parentId,
size_t commandQueueDepth = 3);
virtual ~ControllerBase();
ReturnValue_t initialize();
virtual MessageQueueId_t getCommandQueue() const;
virtual ReturnValue_t performOperation(uint8_t opCode);
virtual ReturnValue_t setHealth(HealthState health);
virtual HasHealthIF::HealthState getHealth();
/**
* Implementation of ExecutableObjectIF function
*
* Used to setup the reference of the task, that executes this component
* @param task_ Pointer to the taskIF of this task
*/
virtual void setTaskIF(PeriodicTaskIF* task_);
protected:
const uint32_t parentId;
Mode_t mode;
Submode_t submode;
MessageQueueIF* commandQueue;
ModeHelper modeHelper;
HealthHelper healthHelper;
HkSwitchHelper hkSwitcher;
/**
* Pointer to the task which executes this component, is invalid before setTaskIF was called.
*/
PeriodicTaskIF* executingTask;
void handleQueue();
virtual ReturnValue_t handleCommandMessage(CommandMessage *message) = 0;
virtual void performControlOperation() = 0;
virtual ReturnValue_t checkModeCommand(Mode_t mode, Submode_t submode,
uint32_t *msToReachTheMode) = 0;
virtual void modeChanged(Mode_t mode, Submode_t submode);
virtual void startTransition(Mode_t mode, Submode_t submode);
virtual void getMode(Mode_t *mode, Submode_t *submode);
virtual void setToExternalControl();
virtual void announceMode(bool recursive);
virtual void changeHK(Mode_t mode, Submode_t submode, bool enable);
};
#endif /* CONTROLLERBASE_H_ */

View File

@ -1,227 +0,0 @@
#include "CoordinateTransformations.h"
#include "../globalfunctions/constants.h"
#include "../globalfunctions/math/MatrixOperations.h"
#include "../globalfunctions/math/VectorOperations.h"
#include <stddef.h>
#include <cmath>
void CoordinateTransformations::positionEcfToEci(const double* ecfPosition,
double* eciPosition, timeval *timeUTC) {
ecfToEci(ecfPosition, eciPosition, NULL, timeUTC);
}
void CoordinateTransformations::velocityEcfToEci(const double* ecfVelocity,
const double* ecfPosition, double* eciVelocity, timeval *timeUTC) {
ecfToEci(ecfVelocity, eciVelocity, ecfPosition, timeUTC);
}
void CoordinateTransformations::positionEciToEcf(const double* eciCoordinates, double* ecfCoordinates,timeval *timeUTC){
eciToEcf(eciCoordinates,ecfCoordinates,NULL,timeUTC);
};
void CoordinateTransformations::velocityEciToEcf(const double* eciVelocity,const double* eciPosition, double* ecfVelocity,timeval* timeUTC){
eciToEcf(eciVelocity,ecfVelocity,eciPosition,timeUTC);
}
double CoordinateTransformations::getEarthRotationAngle(timeval timeUTC) {
double jD2000UTC;
Clock::convertTimevalToJD2000(timeUTC, &jD2000UTC);
double TTt2000 = getJuleanCenturiesTT(timeUTC);
double theta = 2 * Math::PI
* (0.779057273264 + 1.00273781191135448 * jD2000UTC);
//Correct theta according to IAU 2000 precession-nutation model
theta = theta + 7.03270725817493E-008 + 0.0223603701 * TTt2000
+ 6.77128219501896E-006 * TTt2000 * TTt2000
+ 4.5300990362875E-010 * TTt2000 * TTt2000 * TTt2000
+ 9.12419347848147E-011 * TTt2000 * TTt2000 * TTt2000 * TTt2000;
return theta;
}
void CoordinateTransformations::getEarthRotationMatrix(timeval timeUTC,
double matrix[][3]) {
double theta = getEarthRotationAngle(timeUTC);
matrix[0][0] = cos(theta);
matrix[0][1] = sin(theta);
matrix[0][2] = 0;
matrix[1][0] = -sin(theta);
matrix[1][1] = cos(theta);
matrix[1][2] = 0;
matrix[2][0] = 0;
matrix[2][1] = 0;
matrix[2][2] = 1;
}
void CoordinateTransformations::ecfToEci(const double* ecfCoordinates,
double* eciCoordinates,
const double* ecfPositionIfCoordinatesAreVelocity, timeval *timeUTCin) {
timeval timeUTC;
if (timeUTCin != NULL) {
timeUTC = *timeUTCin;
} else {
Clock::getClock_timeval(&timeUTC);
}
double Tfi[3][3];
double Tif[3][3];
getTransMatrixECITOECF(timeUTC,Tfi);
MatrixOperations<double>::transpose(Tfi[0], Tif[0], 3);
MatrixOperations<double>::multiply(Tif[0], ecfCoordinates, eciCoordinates,
3, 3, 1);
if (ecfPositionIfCoordinatesAreVelocity != NULL) {
double Tdotfi[3][3];
double Tdotif[3][3];
double Trot[3][3] = { { 0, Earth::OMEGA, 0 },
{ 0 - Earth::OMEGA, 0, 0 }, { 0, 0, 0 } };
MatrixOperations<double>::multiply(Trot[0], Tfi[0], Tdotfi[0], 3, 3,
3);
MatrixOperations<double>::transpose(Tdotfi[0], Tdotif[0], 3);
double velocityCorrection[3];
MatrixOperations<double>::multiply(Tdotif[0],
ecfPositionIfCoordinatesAreVelocity, velocityCorrection, 3, 3,
1);
VectorOperations<double>::add(velocityCorrection, eciCoordinates,
eciCoordinates, 3);
}
}
double CoordinateTransformations::getJuleanCenturiesTT(timeval timeUTC) {
timeval timeTT;
Clock::convertUTCToTT(timeUTC, &timeTT);
double jD2000TT;
Clock::convertTimevalToJD2000(timeTT, &jD2000TT);
return jD2000TT / 36525.;
}
void CoordinateTransformations::eciToEcf(const double* eciCoordinates,
double* ecfCoordinates,
const double* eciPositionIfCoordinatesAreVelocity,timeval *timeUTCin){
timeval timeUTC;
if (timeUTCin != NULL) {
timeUTC = *timeUTCin;
}else{
Clock::getClock_timeval(&timeUTC);
}
double Tfi[3][3];
getTransMatrixECITOECF(timeUTC,Tfi);
MatrixOperations<double>::multiply(Tfi[0],eciCoordinates,ecfCoordinates,3,3,1);
if (eciPositionIfCoordinatesAreVelocity != NULL) {
double Tdotfi[3][3];
double Trot[3][3] = { { 0, Earth::OMEGA, 0 },
{ 0 - Earth::OMEGA, 0, 0 }, { 0, 0, 0 } };
MatrixOperations<double>::multiply(Trot[0], Tfi[0], Tdotfi[0], 3, 3,
3);
double velocityCorrection[3];
MatrixOperations<double>::multiply(Tdotfi[0],
eciPositionIfCoordinatesAreVelocity, velocityCorrection, 3, 3,
1);
VectorOperations<double>::add(ecfCoordinates, velocityCorrection,
ecfCoordinates, 3);
}
};
void CoordinateTransformations::getTransMatrixECITOECF(timeval timeUTC,double Tfi[3][3]){
double TTt2000 = getJuleanCenturiesTT(timeUTC);
//////////////////////////////////////////////////////////
// Calculate Precession Matrix
double zeta = 0.0111808609 * TTt2000
+ 1.46355554053347E-006 * TTt2000 * TTt2000
+ 8.72567663260943E-008 * TTt2000 * TTt2000 * TTt2000;
double theta_p = 0.0097171735 * TTt2000
- 2.06845757045384E-006 * TTt2000 * TTt2000
- 2.02812107218552E-007 * TTt2000 * TTt2000 * TTt2000;
double z = zeta + 3.8436028638364E-006 * TTt2000 * TTt2000
+ 0.000000001 * TTt2000 * TTt2000 * TTt2000;
double mPrecession[3][3];
mPrecession[0][0] = -sin(z) * sin(zeta) + cos(z) * cos(theta_p) * cos(zeta);
mPrecession[1][0] = cos(z) * sin(zeta) + sin(z) * cos(theta_p) * cos(zeta);
mPrecession[2][0] = sin(theta_p) * cos(zeta);
mPrecession[0][1] = -sin(z) * cos(zeta) - cos(z) * cos(theta_p) * sin(zeta);
mPrecession[1][1] = cos(z) * cos(zeta) - sin(z) * cos(theta_p) * sin(zeta);
mPrecession[2][1] = -sin(theta_p) * sin(zeta);
mPrecession[0][2] = -cos(z) * sin(theta_p);
mPrecession[1][2] = -sin(z) * sin(theta_p);
mPrecession[2][2] = cos(theta_p);
//////////////////////////////////////////////////////////
// Calculate Nutation Matrix
double omega_moon = 2.1824386244 - 33.7570459338 * TTt2000
+ 3.61428599267159E-005 * TTt2000 * TTt2000
+ 3.87850944887629E-008 * TTt2000 * TTt2000 * TTt2000;
double deltaPsi = -0.000083388 * sin(omega_moon);
double deltaEpsilon = 4.46174030725106E-005 * cos(omega_moon);
double epsilon = 0.4090928042 - 0.0002269655 * TTt2000
- 2.86040071854626E-009 * TTt2000 * TTt2000
+ 8.78967203851589E-009 * TTt2000 * TTt2000 * TTt2000;
double mNutation[3][3];
mNutation[0][0] = cos(deltaPsi);
mNutation[1][0] = cos(epsilon + deltaEpsilon) * sin(deltaPsi);
mNutation[2][0] = sin(epsilon + deltaEpsilon) * sin(deltaPsi);
mNutation[0][1] = -cos(epsilon) * sin(deltaPsi);
mNutation[1][1] = cos(epsilon) * cos(epsilon + deltaEpsilon) * cos(deltaPsi)
+ sin(epsilon) * sin(epsilon + deltaEpsilon);
mNutation[2][1] = cos(epsilon) * sin(epsilon + deltaEpsilon) * cos(deltaPsi)
- sin(epsilon) * cos(epsilon + deltaEpsilon);
mNutation[0][2] = -sin(epsilon) * sin(deltaPsi);
mNutation[1][2] = sin(epsilon) * cos(epsilon + deltaEpsilon) * cos(deltaPsi)
- cos(epsilon) * sin(epsilon + deltaEpsilon);
mNutation[2][2] = sin(epsilon) * sin(epsilon + deltaEpsilon) * cos(deltaPsi)
+ cos(epsilon) * cos(epsilon + deltaEpsilon);
//////////////////////////////////////////////////////////
// Calculate Earth rotation matrix
//calculate theta
double mTheta[3][3];
double Ttemp[3][3];
getEarthRotationMatrix(timeUTC, mTheta);
//polar motion is neglected
MatrixOperations<double>::multiply(mNutation[0], mPrecession[0], Ttemp[0],
3, 3, 3);
MatrixOperations<double>::multiply(mTheta[0], Ttemp[0], Tfi[0], 3, 3, 3);
};

View File

@ -1,34 +0,0 @@
#ifndef COORDINATETRANSFORMATIONS_H_
#define COORDINATETRANSFORMATIONS_H_
#include "../timemanager/Clock.h"
#include <cstring>
class CoordinateTransformations {
public:
static void positionEcfToEci(const double* ecfCoordinates, double* eciCoordinates, timeval *timeUTC = NULL);
static void velocityEcfToEci(const double* ecfVelocity,
const double* ecfPosition,
double* eciVelocity, timeval *timeUTC = NULL);
static void positionEciToEcf(const double* eciCoordinates, double* ecfCoordinates,timeval *timeUTC = NULL);
static void velocityEciToEcf(const double* eciVelocity,const double* eciPosition, double* ecfVelocity,timeval* timeUTC = NULL);
static double getEarthRotationAngle(timeval timeUTC);
static void getEarthRotationMatrix(timeval timeUTC, double matrix[][3]);
private:
CoordinateTransformations();
static void ecfToEci(const double* ecfCoordinates, double* eciCoordinates,
const double* ecfPositionIfCoordinatesAreVelocity, timeval *timeUTCin);
static void eciToEcf(const double* eciCoordinates,
double* ecfCoordinates,
const double* eciPositionIfCoordinatesAreVelocity,timeval *timeUTCin);
static double getJuleanCenturiesTT(timeval timeUTC);
static void getTransMatrixECITOECF(timeval time,double Tfi[3][3]);
};
#endif /* COORDINATETRANSFORMATIONS_H_ */

View File

@ -1,180 +0,0 @@
#ifndef FRAMEWORK_COORDINATES_JGM3MODEL_H_
#define FRAMEWORK_COORDINATES_JGM3MODEL_H_
#include <stdint.h>
#include "CoordinateTransformations.h"
#include "../globalfunctions/math/VectorOperations.h"
#include "../globalfunctions/timevalOperations.h"
#include "../globalfunctions/constants.h"
#include <memory.h>
template<uint8_t DEGREE,uint8_t ORDER>
class Jgm3Model {
public:
static const uint32_t factorialLookupTable[DEGREE+3]; //This table is used instead of factorial calculation, must be increased if order or degree is higher
Jgm3Model() {
y0[0] = 0;
y0[1] = 0;
y0[2] = 0;
y0[3] = 0;
y0[4] = 0;
y0[5] = 0;
lastExecutionTime.tv_sec = 0;
lastExecutionTime.tv_usec = 0;
}
virtual ~Jgm3Model(){};
//double acsNavOrbit(double posECF[3],double velECF[3],timeval gpsTime);
double y0[6]; //position and velocity at beginning of RK step in EC
timeval lastExecutionTime; //Time of last execution
void accelDegOrd(const double pos[3],const double S[ORDER+1][DEGREE+1],const double C[ORDER+1][DEGREE+1],double* accel){
//Get radius of this position
double r = VectorOperations<double>::norm(pos,3);
//Initialize the V and W matrix
double V[DEGREE+2][ORDER+2] = {{0}};
double W[DEGREE+2][ORDER+2] = {{0}};
for(uint8_t m=0;m<(ORDER+2);m++){
for(uint8_t n=m;n<(DEGREE+2);n++){
if((n==0) && (m==0)){
//Montenbruck "Satellite Orbits Eq.3.31"
V[0][0] = Earth::MEAN_RADIUS / r;
W[0][0] = 0;
}else{
if(n==m){
//Montenbruck "Satellite Orbits Eq.3.29"
V[m][m] = (2*m-1)* (pos[0]*Earth::MEAN_RADIUS/pow(r,2)*V[m-1][m-1] - pos[1]*Earth::MEAN_RADIUS/pow(r,2)*W[m-1][m-1]);
W[m][m] = (2*m-1)* (pos[0]*Earth::MEAN_RADIUS/pow(r,2)*W[m-1][m-1] + pos[1]*Earth::MEAN_RADIUS/pow(r,2)*V[m-1][m-1]);
}else{
//Montenbruck "Satellite Orbits Eq.3.30"
V[n][m] = ((2*n-1)/(double)(n-m))*pos[2]*Earth::MEAN_RADIUS / pow(r,2)*V[n-1][m];
W[n][m] = ((2*n-1)/(double)(n-m))*pos[2]*Earth::MEAN_RADIUS / pow(r,2)*W[n-1][m];
if(n!=(m+1)){
V[n][m] = V[n][m] - (((n+m-1)/(double)(n-m)) * (pow(Earth::MEAN_RADIUS,2) / pow(r,2)) * V[n-2][m]);
W[n][m] = W[n][m] - (((n+m-1)/(double)(n-m)) * (pow(Earth::MEAN_RADIUS,2) / pow(r,2)) * W[n-2][m]);
}//End of if(n!=(m+1))
}//End of if(n==m){
}//End of if(n==0 and m==0)
}//End of for(uint8_t n=0;n<(DEGREE+1);n++)
}//End of for(uint8_t m=0;m<(ORDER+1);m++)
//overwrite accel if not properly initialized
accel[0] = 0;
accel[1] = 0;
accel[2] = 0;
for(uint8_t m=0;m<(ORDER+1);m++){
for(uint8_t n=m;n<(DEGREE+1);n++){
//Use table lookup to get factorial
double partAccel[3] = {0};
double factor = Earth::STANDARD_GRAVITATIONAL_PARAMETER/pow(Earth::MEAN_RADIUS,2);
if(m==0){
//Montenbruck "Satellite Orbits Eq.3.33"
partAccel[0] = factor * (-C[n][0]*V[n+1][1]);
partAccel[1] = factor * (-C[n][0]*W[n+1][1]);
}else{
double factMN = static_cast<double>(factorialLookupTable[n-m+2]) / static_cast<double>(factorialLookupTable[n-m]);
partAccel[0] = factor * 0.5 * ((-C[n][m]*V[n+1][m+1]-S[n][m]*W[n+1][m+1])+factMN*(C[n][m]*V[n+1][m-1]+S[n][m]*W[n+1][m-1]));
partAccel[1] = factor * 0.5 * ((-C[n][m]*W[n+1][m+1]+S[n][m]*V[n+1][m+1])+factMN*(-C[n][m]*W[n+1][m-1]+S[n][m]*V[n+1][m-1]));
}
partAccel[2] = factor * ((n-m+1)*(-C[n][m]*V[n+1][m]-S[n][m]*W[n+1][m]));
accel[0] += partAccel[0];
accel[1] += partAccel[1];
accel[2] += partAccel[2];
}//End of for(uint8_t n=0;n<DEGREE;n++)
}//End of uint8_t m=0;m<ORDER;m++
}
void initializeNavOrbit(const double position[3],const double velocity[3], timeval timeUTC){
CoordinateTransformations::positionEcfToEci(position,&y0[0],&timeUTC);
CoordinateTransformations::velocityEcfToEci(velocity,position,&y0[3],&timeUTC);
lastExecutionTime = timeUTC;
}
void acsNavOrbit(timeval timeUTC, const double S[ORDER+1][DEGREE+1],const double C[ORDER+1][DEGREE+1], double outputPos[3],double outputVel[3]){
//RK4 Integration for this timestamp
double deltaT = timevalOperations::toDouble(timeUTC-lastExecutionTime);
double y0dot[6] = {0,0,0,0,0,0};
double yA[6] = {0,0,0,0,0,0};
double yAdot[6] = {0,0,0,0,0,0};
double yB[6] = {0,0,0,0,0,0};
double yBdot[6] = {0,0,0,0,0,0};
double yC[6] = {0,0,0,0,0,0};
double yCdot[6] = {0,0,0,0,0,0};
//Step One
rungeKuttaStep(y0,y0dot,lastExecutionTime,S,C);
//Step Two
VectorOperations<double>::mulScalar(y0dot,deltaT/2,yA,6);
VectorOperations<double>::add(y0,yA,yA,6);
rungeKuttaStep(yA,yAdot,lastExecutionTime,S,C);
//Step Three
VectorOperations<double>::mulScalar(yAdot,deltaT/2,yB,6);
VectorOperations<double>::add(y0,yB,yB,6);
rungeKuttaStep(yB,yBdot,lastExecutionTime,S,C);
//Step Four
VectorOperations<double>::mulScalar(yBdot,deltaT,yC,6);
VectorOperations<double>::add(y0,yC,yC,6);
rungeKuttaStep(yC,yCdot,lastExecutionTime,S,C);
//Calc new State
VectorOperations<double>::mulScalar(yAdot,2,yAdot,6);
VectorOperations<double>::mulScalar(yBdot,2,yBdot,6);
VectorOperations<double>::add(y0dot,yAdot,y0dot,6);
VectorOperations<double>::add(y0dot,yBdot,y0dot,6);
VectorOperations<double>::add(y0dot,yCdot,y0dot,6);
VectorOperations<double>::mulScalar(y0dot,1./6.*deltaT,y0dot,6);
VectorOperations<double>::add(y0,y0dot,y0,6);
CoordinateTransformations::positionEciToEcf(&y0[0],outputPos,&timeUTC);
CoordinateTransformations::velocityEciToEcf(&y0[3],&y0[0],outputVel,&timeUTC);
lastExecutionTime = timeUTC;
}
void rungeKuttaStep(const double* yIn,double* yOut,timeval time, const double S[ORDER+1][DEGREE+1],const double C[ORDER+1][DEGREE+1]){
double rECF[3] = {0,0,0};
double rDotECF[3] = {0,0,0};
double accelECF[3] = {0,0,0};
double accelECI[3] = {0,0,0};
CoordinateTransformations::positionEciToEcf(&yIn[0],rECF,&time);
CoordinateTransformations::velocityEciToEcf(&yIn[3],&yIn[0],rDotECF,&time);
accelDegOrd(rECF,S,C,accelECF);
//This is not correct, as the acceleration would have derived terms but we don't know the velocity and position at that time
//Tests showed that a wrong velocity does make the equation worse than neglecting it
CoordinateTransformations::positionEcfToEci(accelECF,accelECI,&time);
memcpy(&yOut[0],&yIn[3],sizeof(yOut[0])*3);
memcpy(&yOut[3],accelECI,sizeof(yOut[0])*3);
}
};
#endif /* FRAMEWORK_COORDINATES_JGM3MODEL_H_ */

View File

@ -1,228 +0,0 @@
#include "CoordinateTransformations.h"
#include "Sgp4Propagator.h"
#include "../globalfunctions/constants.h"
#include "../globalfunctions/math/MatrixOperations.h"
#include "../globalfunctions/math/VectorOperations.h"
#include "../globalfunctions/timevalOperations.h"
#include <cstring>
Sgp4Propagator::Sgp4Propagator() :
initialized(false), epoch({0, 0}), whichconst(wgs84) {
}
Sgp4Propagator::~Sgp4Propagator() {
}
void jday(int year, int mon, int day, int hr, int minute, double sec,
double& jd) {
jd = 367.0 * year - floor((7 * (year + floor((mon + 9) / 12.0))) * 0.25)
+ floor(275 * mon / 9.0) + day + 1721013.5
+ ((sec / 60.0 + minute) / 60.0 + hr) / 24.0; // ut in days
// - 0.5*sgn(100.0*year + mon - 190002.5) + 0.5;
}
void days2mdhms(int year, double days, int& mon, int& day, int& hr, int& minute,
double& sec) {
int i, inttemp, dayofyr;
double temp;
int lmonth[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
dayofyr = (int) floor(days);
/* ----------------- find month and day of month ---------------- */
if ((year % 4) == 0)
lmonth[1] = 29;
i = 1;
inttemp = 0;
while ((dayofyr > inttemp + lmonth[i - 1]) && (i < 12)) {
inttemp = inttemp + lmonth[i - 1];
i++;
}
mon = i;
day = dayofyr - inttemp;
/* ----------------- find hours minutes and seconds ------------- */
temp = (days - dayofyr) * 24.0;
hr = (int) floor(temp);
temp = (temp - hr) * 60.0;
minute = (int) floor(temp);
sec = (temp - minute) * 60.0;
}
ReturnValue_t Sgp4Propagator::initialize(const uint8_t* line1,
const uint8_t* line2) {
char longstr1[130];
char longstr2[130];
//need some space for decimal points
memcpy(longstr1, line1, 69);
memcpy(longstr2, line2, 69);
const double deg2rad = Math::PI / 180.0; // 0.0174532925199433
const double xpdotp = 1440.0 / (2.0 * Math::PI); // 229.1831180523293
double sec, mu, radiusearthkm, tumin, xke, j2, j3, j4, j3oj2;
int cardnumb, numb, j;
long revnum = 0, elnum = 0;
char classification, intldesg[11];
int year = 0;
int mon, day, hr, minute, nexp, ibexp;
getgravconst(whichconst, tumin, mu, radiusearthkm, xke, j2, j3, j4, j3oj2);
satrec.error = 0;
// set the implied decimal points since doing a formated read
// fixes for bad input data values (missing, ...)
for (j = 10; j <= 15; j++)
if (longstr1[j] == ' ')
longstr1[j] = '_';
if (longstr1[44] != ' ')
longstr1[43] = longstr1[44];
longstr1[44] = '.';
if (longstr1[7] == ' ')
longstr1[7] = 'U';
if (longstr1[9] == ' ')
longstr1[9] = '.';
for (j = 45; j <= 49; j++)
if (longstr1[j] == ' ')
longstr1[j] = '0';
if (longstr1[51] == ' ')
longstr1[51] = '0';
if (longstr1[53] != ' ')
longstr1[52] = longstr1[53];
longstr1[53] = '.';
longstr2[25] = '.';
for (j = 26; j <= 32; j++)
if (longstr2[j] == ' ')
longstr2[j] = '0';
if (longstr1[62] == ' ')
longstr1[62] = '0';
if (longstr1[68] == ' ')
longstr1[68] = '0';
sscanf(longstr1,
"%2d %5ld %1c %10s %2d %12lf %11lf %7lf %2d %7lf %2d %2d %6ld ",
&cardnumb, &satrec.satnum, &classification, intldesg,
&satrec.epochyr, &satrec.epochdays, &satrec.ndot, &satrec.nddot,
&nexp, &satrec.bstar, &ibexp, &numb, &elnum);
if (longstr2[52] == ' ') {
sscanf(longstr2, "%2d %5ld %9lf %9lf %8lf %9lf %9lf %10lf %6ld \n",
&cardnumb, &satrec.satnum, &satrec.inclo, &satrec.nodeo,
&satrec.ecco, &satrec.argpo, &satrec.mo, &satrec.no, &revnum);
} else {
sscanf(longstr2, "%2d %5ld %9lf %9lf %8lf %9lf %9lf %11lf %6ld \n",
&cardnumb, &satrec.satnum, &satrec.inclo, &satrec.nodeo,
&satrec.ecco, &satrec.argpo, &satrec.mo, &satrec.no, &revnum);
}
// ---- find no, ndot, nddot ----
satrec.no = satrec.no / xpdotp; //* rad/min
satrec.nddot = satrec.nddot * pow(10.0, nexp);
satrec.bstar = satrec.bstar * pow(10.0, ibexp);
// ---- convert to sgp4 units ----
satrec.a = pow(satrec.no * tumin, (-2.0 / 3.0));
satrec.ndot = satrec.ndot / (xpdotp * 1440.0); //* ? * minperday
satrec.nddot = satrec.nddot / (xpdotp * 1440.0 * 1440);
// ---- find standard orbital elements ----
satrec.inclo = satrec.inclo * deg2rad;
satrec.nodeo = satrec.nodeo * deg2rad;
satrec.argpo = satrec.argpo * deg2rad;
satrec.mo = satrec.mo * deg2rad;
satrec.alta = satrec.a * (1.0 + satrec.ecco) - 1.0;
satrec.altp = satrec.a * (1.0 - satrec.ecco) - 1.0;
// ----------------------------------------------------------------
// find sgp4epoch time of element set
// remember that sgp4 uses units of days from 0 jan 1950 (sgp4epoch)
// and minutes from the epoch (time)
// ----------------------------------------------------------------
// ---------------- temp fix for years from 1957-2056 -------------------
// --------- correct fix will occur when year is 4-digit in tle ---------
if (satrec.epochyr < 57) {
year = satrec.epochyr + 2000;
} else {
year = satrec.epochyr + 1900;
}
days2mdhms(year, satrec.epochdays, mon, day, hr, minute, sec);
jday(year, mon, day, hr, minute, sec, satrec.jdsatepoch);
double unixSeconds = (satrec.jdsatepoch - 2451544.5) * 24 * 3600
+ 946684800;
epoch.tv_sec = unixSeconds;
double subseconds = unixSeconds - epoch.tv_sec;
epoch.tv_usec = subseconds * 1000000;
// ---------------- initialize the orbit at sgp4epoch -------------------
uint8_t result = sgp4init(whichconst, satrec.satnum,
satrec.jdsatepoch - 2433281.5, satrec.bstar, satrec.ecco,
satrec.argpo, satrec.inclo, satrec.mo, satrec.no, satrec.nodeo,
satrec);
if (result != 00) {
return MAKE_RETURN_CODE(result);
} else {
initialized = true;
return HasReturnvaluesIF::RETURN_OK;
}
}
ReturnValue_t Sgp4Propagator::propagate(double* position, double* velocity,
timeval time, uint8_t gpsUtcOffset) {
if (!initialized) {
return TLE_NOT_INITIALIZED;
}
//Time since epoch in minutes
timeval timeSinceEpoch = time - epoch;
double minutesSinceEpoch = timeSinceEpoch.tv_sec / 60.
+ timeSinceEpoch.tv_usec / 60000000.;
double yearsSinceEpoch = minutesSinceEpoch / 60 / 24 / 365;
if ((yearsSinceEpoch > 1) || (yearsSinceEpoch < -1)) {
return TLE_TOO_OLD;
}
double positionTEME[3];
double velocityTEME[3];
uint8_t result = sgp4(whichconst, satrec, minutesSinceEpoch, positionTEME,
velocityTEME);
VectorOperations<double>::mulScalar(positionTEME, 1000, positionTEME, 3);
VectorOperations<double>::mulScalar(velocityTEME, 1000, velocityTEME, 3);
//Transform to ECF
double earthRotationMatrix[3][3];
CoordinateTransformations::getEarthRotationMatrix(time,
earthRotationMatrix);
MatrixOperations<double>::multiply(earthRotationMatrix[0], positionTEME,
position, 3, 3, 1);
MatrixOperations<double>::multiply(earthRotationMatrix[0], velocityTEME,
velocity, 3, 3, 1);
double omegaEarth[3] = { 0, 0, Earth::OMEGA };
double velocityCorrection[3];
VectorOperations<double>::cross(omegaEarth, position, velocityCorrection);
VectorOperations<double>::subtract(velocity, velocityCorrection, velocity);
if (result != 0) {
return MAKE_RETURN_CODE(result || 0xB0);
} else {
return HasReturnvaluesIF::RETURN_OK;
}
}

View File

@ -1,44 +0,0 @@
#ifndef SGP4PROPAGATOR_H_
#define SGP4PROPAGATOR_H_
#include <sys/time.h>
#include "../contrib/sgp4/sgp4unit.h"
#include "../returnvalues/HasReturnvaluesIF.h"
class Sgp4Propagator {
public:
static const uint8_t INTERFACE_ID = CLASS_ID::SGP4PROPAGATOR_CLASS;
static const ReturnValue_t INVALID_ECCENTRICITY = MAKE_RETURN_CODE(0xA1);
static const ReturnValue_t INVALID_MEAN_MOTION = MAKE_RETURN_CODE(0xA2);
static const ReturnValue_t INVALID_PERTURBATION_ELEMENTS = MAKE_RETURN_CODE(0xA3);
static const ReturnValue_t INVALID_SEMI_LATUS_RECTUM = MAKE_RETURN_CODE(0xA4);
static const ReturnValue_t INVALID_EPOCH_ELEMENTS = MAKE_RETURN_CODE(0xA5);
static const ReturnValue_t SATELLITE_HAS_DECAYED = MAKE_RETURN_CODE(0xA6);
static const ReturnValue_t TLE_TOO_OLD = MAKE_RETURN_CODE(0xB1);
static const ReturnValue_t TLE_NOT_INITIALIZED = MAKE_RETURN_CODE(0xB2);
Sgp4Propagator();
virtual ~Sgp4Propagator();
ReturnValue_t initialize(const uint8_t *line1, const uint8_t *line2);
/**
*
* @param[out] position in ECF
* @param[out] velocity in ECF
* @param time to which to propagate
* @return
*/
ReturnValue_t propagate(double *position, double *velocity, timeval time, uint8_t gpsUtcOffset);
private:
bool initialized;
timeval epoch;
elsetrec satrec;
gravconsttype whichconst;
};
#endif /* SGP4PROPAGATOR_H_ */

View File

@ -1,62 +0,0 @@
/**
* @file BCFrame.h
* @brief This file defines the BCFrame class.
* @date 24.04.2013
* @author baetz
*/
#ifndef BCFRAME_H_
#define BCFRAME_H_
#include "CCSDSReturnValuesIF.h"
/**
* Small helper class to identify a BcFrame.
* @ingroup ccsds_handling
*/
class BcFrame: public CCSDSReturnValuesIF {
private:
static const uint8_t UNLOCK_COMMAND = 0b00000000;//! Identifier for a certain BC Command.
static const uint8_t SET_V_R_1 = 0b10000010;//! Identifier for a certain BC Command.
static const uint8_t SET_V_R_2 = 0b00000000;//! Identifier for a certain BC Command.
public:
uint8_t byte1; //!< First content byte
uint8_t byte2; //!< Second content byte
uint8_t vR; //!< vR byte
/**
* Simple default constructor.
*/
BcFrame() :
byte1(0), byte2(0), vR(0) {
}
/**
* Main and only useful method of the class.
* With the buffer and size information passed, the class passes the content
* and checks if it is one of the two valid BC Command Frames.
* @param inBuffer Content of the frame to check,
* @param inSize Size of the data to check.
* @return - #BC_ILLEGAL_COMMAND if it is no command.
* - #BC_IS_UNLOCK_COMMAND if it is an unlock command.
* - #BC_IS_SET_VR_COMMAND if it is such.
*/
ReturnValue_t initialize(const uint8_t* inBuffer, uint16_t inSize) {
ReturnValue_t returnValue = BC_ILLEGAL_COMMAND;
if (inSize == 1) {
byte1 = inBuffer[0];
if (byte1 == UNLOCK_COMMAND) {
returnValue = BC_IS_UNLOCK_COMMAND;
}
} else if (inSize == 3) {
byte1 = inBuffer[0];
byte2 = inBuffer[1];
vR = inBuffer[2];
if (byte1 == SET_V_R_1 && byte2 == SET_V_R_2) {
returnValue = BC_IS_SET_VR_COMMAND;
}
}
return returnValue;
}
};
#endif /* BCFRAME_H_ */

View File

@ -1,56 +0,0 @@
/**
* @file CCSDSReturnValuesIF.h
* @brief This file defines the CCSDSReturnValuesIF class.
* @date 24.04.2013
* @author baetz
*/
#ifndef CCSDSRETURNVALUESIF_H_
#define CCSDSRETURNVALUESIF_H_
#include "../returnvalues/HasReturnvaluesIF.h"
/**
* This is a helper class to collect special return values that come up during CCSDS Handling.
* @ingroup ccsds_handling
*/
class CCSDSReturnValuesIF: public HasReturnvaluesIF {
public:
static const uint8_t INTERFACE_ID = CLASS_ID::CCSDS_HANDLER_IF; //!< Basic ID of the interface.
static const ReturnValue_t BC_IS_SET_VR_COMMAND = MAKE_RETURN_CODE( 0x01 ); //!< A value to describe a BC frame.
static const ReturnValue_t BC_IS_UNLOCK_COMMAND = MAKE_RETURN_CODE( 0x02 ); //!< A value to describe a BC frame.
static const ReturnValue_t BC_ILLEGAL_COMMAND = MAKE_RETURN_CODE( 0xB0 );//!< A value to describe an illegal BC frame.
static const ReturnValue_t BOARD_READING_NOT_FINISHED = MAKE_RETURN_CODE( 0xB1 ); //! The CCSDS Board is not yet finished reading, it requires another cycle.
static const ReturnValue_t NS_POSITIVE_W = MAKE_RETURN_CODE( 0xF0 );//!< NS is in the positive window
static const ReturnValue_t NS_NEGATIVE_W = MAKE_RETURN_CODE( 0xF1 );//!< NS is in the negative window
static const ReturnValue_t NS_LOCKOUT = MAKE_RETURN_CODE( 0xF2 ); //!< NS is in lockout state
static const ReturnValue_t FARM_IN_LOCKOUT = MAKE_RETURN_CODE( 0xF3 );//!< FARM-1 is currently in lockout state
static const ReturnValue_t FARM_IN_WAIT = MAKE_RETURN_CODE( 0xF4 ); //!< FARM-1 is currently in wait state
static const ReturnValue_t WRONG_SYMBOL = MAKE_RETURN_CODE( 0xE0 ); //!< An error code in the FrameFinder.
static const ReturnValue_t DOUBLE_START = MAKE_RETURN_CODE( 0xE1 ); //!< An error code in the FrameFinder.
static const ReturnValue_t START_SYMBOL_MISSED = MAKE_RETURN_CODE( 0xE2 );//!< An error code in the FrameFinder.
static const ReturnValue_t END_WITHOUT_START = MAKE_RETURN_CODE( 0xE3 );//!< An error code in the FrameFinder.
static const ReturnValue_t TOO_LARGE = MAKE_RETURN_CODE( 0xE4 );//!< An error code for a frame.
static const ReturnValue_t TOO_SHORT = MAKE_RETURN_CODE( 0xE5 );//!< An error code for a frame.
static const ReturnValue_t WRONG_TF_VERSION = MAKE_RETURN_CODE( 0xE6 ); //!< An error code for a frame.
static const ReturnValue_t WRONG_SPACECRAFT_ID = MAKE_RETURN_CODE( 0xE7 );//!< An error code for a frame.
static const ReturnValue_t NO_VALID_FRAME_TYPE = MAKE_RETURN_CODE( 0xE8 );//!< An error code for a frame.
static const ReturnValue_t CRC_FAILED = MAKE_RETURN_CODE( 0xE9 );//!< An error code for a frame.
static const ReturnValue_t VC_NOT_FOUND = MAKE_RETURN_CODE( 0xEA ); //!< An error code for a frame.
static const ReturnValue_t FORWARDING_FAILED = MAKE_RETURN_CODE( 0xEB );//!< An error code for a frame.
static const ReturnValue_t CONTENT_TOO_LARGE = MAKE_RETURN_CODE( 0xEC );//!< An error code for a frame.
static const ReturnValue_t RESIDUAL_DATA = MAKE_RETURN_CODE( 0xED );//!< An error code for a frame.
static const ReturnValue_t DATA_CORRUPTED = MAKE_RETURN_CODE( 0xEE );//!< An error code for a frame.
static const ReturnValue_t ILLEGAL_SEGMENTATION_FLAG = MAKE_RETURN_CODE( 0xEF );//!< An error code for a frame.
static const ReturnValue_t ILLEGAL_FLAG_COMBINATION = MAKE_RETURN_CODE( 0xD0 ); //!< An error code for a frame.
static const ReturnValue_t SHORTER_THAN_HEADER = MAKE_RETURN_CODE( 0xD1 ); //!< An error code for a frame.
static const ReturnValue_t TOO_SHORT_BLOCKED_PACKET = MAKE_RETURN_CODE( 0xD2 ); //!< An error code for a frame.
static const ReturnValue_t TOO_SHORT_MAP_EXTRACTION = MAKE_RETURN_CODE( 0xD3 ); //!< An error code for a frame.
virtual ~CCSDSReturnValuesIF() {
} //!< Empty virtual destructor
};
#endif /* CCSDSRETURNVALUESIF_H_ */

View File

@ -1,63 +0,0 @@
/**
* @file Clcw.cpp
* @brief This file defines the Clcw class.
* @date 17.04.2013
* @author baetz
*/
#include "Clcw.h"
#include "../serviceinterface/ServiceInterfaceStream.h"
Clcw::Clcw() {
content.raw = 0;
content.status = STATUS_FIELD_DEFAULT;
}
Clcw::~Clcw() {
}
void Clcw::setVirtualChannel(uint8_t setChannel) {
content.virtualChannelIdSpare = ((setChannel & 0x3F) << 2);
}
void Clcw::setLockoutFlag(bool lockout) {
content.flags = (content.flags & LOCKOUT_FLAG_MASK) | (lockout << LOCKOUT_FLAG_POSITION);
}
void Clcw::setWaitFlag(bool waitFlag) {
content.flags = (content.flags & WAIT_FLAG_MASK) | (waitFlag << WAIT_FLAG_POSITION);
}
void Clcw::setRetransmitFlag(bool retransmitFlag) {
content.flags = (content.flags & RETRANSMIT_FLAG_MASK) | (retransmitFlag << RETRANSMIT_FLAG_POSITION);
}
void Clcw::setFarmBCount(uint8_t count) {
content.flags = (content.flags & FARM_B_COUNT_MASK) | ((count & 0x03) << 1);
}
void Clcw::setReceiverFrameSequenceNumber(uint8_t vR) {
content.vRValue = vR;
}
uint32_t Clcw::getAsWhole() {
return content.raw;
}
void Clcw::setRFAvailable(bool rfAvailable) {
content.flags = (content.flags & NO_RF_AVIALABLE_MASK) | (!rfAvailable << NO_RF_AVIALABLE_POSITION);
}
void Clcw::setBitLock(bool bitLock) {
content.flags = (content.flags & NO_BIT_LOCK_MASK) | (!bitLock << NO_BIT_LOCK_POSITION);
}
void Clcw::print() {
sif::debug << "Clcw::print: Clcw is: " << std::hex << getAsWhole() << std::dec << std::endl;
}
void Clcw::setWhole(uint32_t rawClcw) {
content.raw = rawClcw;
}

View File

@ -1,66 +0,0 @@
/**
* @file Clcw.h
* @brief This file defines the Clcw class.
* @date 17.04.2013
* @author baetz
*/
#ifndef CLCW_H_
#define CLCW_H_
#include "ClcwIF.h"
/**
* Small helper method to handle the Clcw values.
* It has a content struct that manages the register and can be set externally.
* @ingroup ccsds_handling
*/
class Clcw : public ClcwIF {
private:
static const uint8_t STATUS_FIELD_DEFAULT = 0b00000001; //!< Default for the status field.
static const uint8_t NO_RF_AVIALABLE_POSITION = 7; //!< Position of a flag in the register (starting with 0).
static const uint8_t NO_BIT_LOCK_POSITION = 6; //!< Position of a flag in the register (starting with 0).
static const uint8_t LOCKOUT_FLAG_POSITION = 5; //!< Position of a flag in the register (starting with 0).
static const uint8_t WAIT_FLAG_POSITION = 4; //!< Position of a flag in the register (starting with 0).
static const uint8_t RETRANSMIT_FLAG_POSITION = 3; //!< Position of a flag in the register (starting with 0).
static const uint8_t NO_RF_AVIALABLE_MASK = 0xFF xor (1 << NO_RF_AVIALABLE_POSITION); //!< Mask for a flag in the register.
static const uint8_t NO_BIT_LOCK_MASK = 0xFF xor (1 << NO_BIT_LOCK_POSITION); //!< Mask for a flag in the register.
static const uint8_t LOCKOUT_FLAG_MASK = 0xFF xor (1 << LOCKOUT_FLAG_POSITION); //!< Mask for a flag in the register.
static const uint8_t WAIT_FLAG_MASK = 0xFF xor (1 << WAIT_FLAG_POSITION); //!< Mask for a flag in the register.
static const uint8_t RETRANSMIT_FLAG_MASK = 0xFF xor (1 << RETRANSMIT_FLAG_POSITION); //!< Mask for a flag in the register.
static const uint8_t FARM_B_COUNT_MASK = 0b11111001; //!< Mask for a counter in the register.
/**
* This is the data structure of the CLCW register.
*/
union clcwContent {
uint32_t raw;
struct {
uint8_t status;
uint8_t virtualChannelIdSpare;
uint8_t flags;
uint8_t vRValue;
};
};
clcwContent content; //!< Represents the content of the register.
public:
/**
* The constructor sets everything to default values.
*/
Clcw();
/**
* Nothing happens in the destructor.
*/
~Clcw();
void setVirtualChannel( uint8_t setChannel );
void setLockoutFlag( bool lockout );
void setWaitFlag( bool waitFlag );
void setRetransmitFlag( bool retransmitFlag );
void setFarmBCount( uint8_t count );
void setReceiverFrameSequenceNumber( uint8_t vR );
void setRFAvailable( bool rfAvailable );
void setBitLock( bool bitLock );
uint32_t getAsWhole();
void setWhole( uint32_t rawClcw );
void print();
};
#endif /* CLCW_H_ */

View File

@ -1,70 +0,0 @@
/**
* @file ClcwIF.h
* @brief This file defines the ClcwIF class.
* @date 17.04.2013
* @author baetz
*/
#ifndef CLCWIF_H_
#define CLCWIF_H_
#include <stdint.h>
/**
* Interface to manage a CLCW register.
* @ingroup ccsds_handling
*/
class ClcwIF {
public:
/**
* Empty virtual destructor.
*/
virtual ~ClcwIF() { }
/**
* Simple setter.
* @param setChannel The virtual channel id to set.
*/
virtual void setVirtualChannel( uint8_t setChannel ) = 0;
/**
* Simple setter.
* @param lockout status of the flag.
*/
virtual void setLockoutFlag( bool lockout ) = 0;
/**
* Simple setter.
* @param waitFlag status of the flag.
*/
virtual void setWaitFlag( bool waitFlag ) = 0;
/**
* Simple setter.
* @param retransmitFlag status of the flag.
*/
virtual void setRetransmitFlag( bool retransmitFlag ) = 0;
/**
* Sets the farm B count.
* @param count A full 8bit counter value can be passed. Only the last three bits are used.
*/
virtual void setFarmBCount( uint8_t count ) = 0;
/**
* Simple setter.
* @param vR Value of vR.
*/
virtual void setReceiverFrameSequenceNumber( uint8_t vR ) = 0;
/**
* Returns the register as a full 32bit value.
* @return The value.
*/
virtual uint32_t getAsWhole() = 0;
/**
* Sets the whole content to this value.
* @param rawClcw The value to set the content.
*/
virtual void setWhole( uint32_t rawClcw ) = 0;
/**
* Debug method to print the CLCW.
*/
virtual void print() = 0;
};
#endif /* CLCWIF_H_ */

View File

@ -1,139 +0,0 @@
#include "DataLinkLayer.h"
#include "../globalfunctions/CRC.h"
#include "../serviceinterface/ServiceInterfaceStream.h"
DataLinkLayer::DataLinkLayer(uint8_t* set_frame_buffer, ClcwIF* setClcw,
uint8_t set_start_sequence_length, uint16_t set_scid) :
spacecraftId(set_scid), frameBuffer(set_frame_buffer), clcw(setClcw), receivedDataLength(0), currentFrame(
NULL), startSequenceLength(set_start_sequence_length) {
//Nothing to do except from setting the values above.
}
DataLinkLayer::~DataLinkLayer() {
}
ReturnValue_t DataLinkLayer::frameDelimitingAndFillRemoval() {
if ((receivedDataLength - startSequenceLength) < FRAME_PRIMARY_HEADER_LENGTH) {
return SHORTER_THAN_HEADER;
}
//Removing start sequence.
//SHOULDDO: Not implemented here.
while ( *frameBuffer == START_SEQUENCE_PATTERN ) {
frameBuffer++;
}
TcTransferFrame frame_candidate(frameBuffer);
this->currentFrame = frame_candidate; //should work with shallow copy.
return RETURN_OK;
}
ReturnValue_t DataLinkLayer::frameValidationCheck() {
//Check TF_version number
if (this->currentFrame.getVersionNumber() != FRAME_VERSION_NUMBER_DEFAULT) {
return WRONG_TF_VERSION;
}
//Check SpaceCraft ID
if (this->currentFrame.getSpacecraftId() != this->spacecraftId) {
return WRONG_SPACECRAFT_ID;
}
//Check other header limitations:
if (!this->currentFrame.bypassFlagSet() && this->currentFrame.controlCommandFlagSet()) {
return NO_VALID_FRAME_TYPE;
}
//- Spares are zero
if (!this->currentFrame.spareIsZero()) {
return NO_VALID_FRAME_TYPE;
}
//Compare detected frame length with the one in the header
uint16_t length = currentFrame.getFullSize();
if (length > receivedDataLength) {
//Frame is too long or just right
// error << "frameValidationCheck: Too short.";
// currentFrame.print();
return TOO_SHORT;
}
if (USE_CRC) {
return this->frameCheckCRC();
}
return RETURN_OK;
}
ReturnValue_t DataLinkLayer::frameCheckCRC() {
uint16_t checkValue = CRC::crc16ccitt(this->currentFrame.getFullFrame(),
this->currentFrame.getFullSize());
if (checkValue == 0) {
return RETURN_OK;
} else {
return CRC_FAILED;
}
}
ReturnValue_t DataLinkLayer::allFramesReception() {
ReturnValue_t status = this->frameDelimitingAndFillRemoval();
if (status != RETURN_OK) {
return status;
}
return this->frameValidationCheck();
}
ReturnValue_t DataLinkLayer::masterChannelDemultiplexing() {
//Nothing to do at present. Ideally, there would be a map of MCID's identifying which MC to use.
return virtualChannelDemultiplexing();
}
ReturnValue_t DataLinkLayer::virtualChannelDemultiplexing() {
uint8_t vcId = currentFrame.getVirtualChannelId();
virtualChannelIterator iter = virtualChannels.find(vcId);
if (iter == virtualChannels.end()) {
//Do not report because passive board will get this error all the time.
return RETURN_OK;
} else {
return (iter->second)->frameAcceptanceAndReportingMechanism(&currentFrame, clcw);
}
}
ReturnValue_t DataLinkLayer::processFrame(uint16_t length) {
receivedDataLength = length;
ReturnValue_t status = allFramesReception();
if (status != RETURN_OK) {
sif::error << "DataLinkLayer::processFrame: frame reception failed. "
"Error code: " << std::hex << status << std::dec << std::endl;
// currentFrame.print();
return status;
} else {
return masterChannelDemultiplexing();
}
}
ReturnValue_t DataLinkLayer::addVirtualChannel(uint8_t virtualChannelId,
VirtualChannelReceptionIF* object) {
std::pair<virtualChannelIterator, bool> returnValue = virtualChannels.insert(
std::pair<uint8_t, VirtualChannelReceptionIF*>(virtualChannelId, object));
if (returnValue.second == true) {
return RETURN_OK;
} else {
return RETURN_FAILED;
}
}
ReturnValue_t DataLinkLayer::initialize() {
ReturnValue_t returnValue = RETURN_FAILED;
//Set Virtual Channel ID to first virtual channel instance in this DataLinkLayer instance to avoid faulty information (e.g. 0) in the VCID.
if ( virtualChannels.begin() != virtualChannels.end() ) {
clcw->setVirtualChannel( virtualChannels.begin()->second->getChannelId() );
} else {
sif::error << "DataLinkLayer::initialize: No VC assigned to this DLL instance! " << std::endl;
return RETURN_FAILED;
}
for (virtualChannelIterator iterator = virtualChannels.begin();
iterator != virtualChannels.end(); iterator++) {
returnValue = iterator->second->initialize();
if (returnValue != RETURN_OK)
break;
}
return returnValue;
}

View File

@ -1,112 +0,0 @@
#ifndef DATALINKLAYER_H_
#define DATALINKLAYER_H_
#include "CCSDSReturnValuesIF.h"
#include "ClcwIF.h"
#include "TcTransferFrame.h"
#include "VirtualChannelReceptionIF.h"
#include "../events/Event.h"
#include <map>
class VirtualChannelReception;
/**
* A complete representation of the CCSDS Data Link Layer.
* The operations of this layer are defined in the CCSDS TC Space Data Link Protocol
* document. It is configured to handle a VC Demultiplexing function. All reception
* steps are performed.
*/
class DataLinkLayer : public CCSDSReturnValuesIF {
public:
static const uint8_t SUBSYSTEM_ID = SUBSYSTEM_ID::SYSTEM_1;
static const Event RF_AVAILABLE = MAKE_EVENT(0, SEVERITY::INFO); //!< A RF available signal was detected. P1: raw RFA state, P2: 0
static const Event RF_LOST = MAKE_EVENT(1, SEVERITY::INFO); //!< A previously found RF available signal was lost. P1: raw RFA state, P2: 0
static const Event BIT_LOCK = MAKE_EVENT(2, SEVERITY::INFO); //!< A Bit Lock signal. Was detected. P1: raw BLO state, P2: 0
static const Event BIT_LOCK_LOST = MAKE_EVENT(3, SEVERITY::INFO); //!< A previously found Bit Lock signal was lost. P1: raw BLO state, P2: 0
// static const Event RF_CHAIN_LOST = MAKE_EVENT(4, SEVERITY::INFO); //!< The CCSDS Board detected that either bit lock or RF available or both are lost. No parameters.
static const Event FRAME_PROCESSING_FAILED = MAKE_EVENT(5, SEVERITY::LOW); //!< The CCSDS Board could not interpret a TC
/**
* The Constructor sets the passed parameters and nothing else.
* @param set_frame_buffer The buffer in which incoming frame candidates are stored.
* @param setClcw The CLCW class to work on when returning CLCW information.
* @param set_start_sequence_length Length of the Start sequence in front of every TC Transfer Frame.
* @param set_scid The SCID to operate on.
*/
DataLinkLayer( uint8_t* set_frame_buffer, ClcwIF* setClcw, uint8_t set_start_sequence_length, uint16_t set_scid );
/**
* Empty virtual destructor.
*/
~DataLinkLayer();
/**
* This method tries to process a frame that is placed in #frameBuffer.
* The procedures described in the Standard are performed.
* @param length Length of the incoming frame candidate.
* @return @c RETURN_OK on successful handling, otherwise the return codes of the higher methods.
*/
ReturnValue_t processFrame( uint16_t length );
/**
* Configuration method to add a new TC Virtual Channel.
* Shall only be called during initialization. As soon as the method was called, the layer can
* handle Frames directed to this VC.
* @param virtualChannelId Id of the VC. Shall be smaller than 64.
* @param object Reference to the object that handles the Frame.
* @return @c RETURN_OK on success, @c RETURN_FAILED otherwise.
*/
ReturnValue_t addVirtualChannel( uint8_t virtualChannelId, VirtualChannelReceptionIF* object );
/**
* The initialization method calls the @c initialize routine of all virtual channels.
* @return The return code of the first failed VC initialization or @c RETURN_OK.
*/
ReturnValue_t initialize();
private:
typedef std::map<uint8_t, VirtualChannelReceptionIF*>::iterator virtualChannelIterator; //!< Typedef to simplify handling the #virtualChannels map.
static const uint8_t FRAME_VERSION_NUMBER_DEFAULT = 0x00; //!< Constant for the default value of Frame Version Numbers.
static const uint8_t FRAME_PRIMARY_HEADER_LENGTH = 5; //!< Length of the frame's primary header.
static const uint8_t START_SEQUENCE_PATTERN = 0x00; //!< The start sequence pattern which might be with the frame.
static const bool USE_CRC = true; //!< A global, so called "Managed Parameter" that identifies if incoming frames have CRC's or not.
uint16_t spacecraftId; //!< The Space Craft Identifier (SCID) configured.
uint8_t* frameBuffer; //!< A pointer to point to the current incoming frame.
ClcwIF* clcw; //!< Pointer to store the CLCW to work on.
uint16_t receivedDataLength; //!< Stores the length of the currently processed frame.
TcTransferFrame currentFrame; //!< Stores a more convenient access to the current frame.
uint8_t startSequenceLength; //!< Configured length of the start sequence. Maybe this must be done more variable.
std::map<uint8_t, VirtualChannelReceptionIF*> virtualChannels; //!< Map of all virtual channels assigned.
/**
* Method that performs all possible frame validity checks (as specified).
* @return Various error codes or @c RETURN_OK on success.
*/
ReturnValue_t frameValidationCheck();
/**
* First method to call.
* Removes start sequence bytes and checks if the complete frame was received.
* SHOULDDO: Maybe handling the start sequence must be done more variable.
* @return @c RETURN_OK or @c TOO_SHORT.
*/
ReturnValue_t frameDelimitingAndFillRemoval();
/**
* Small helper method to check the CRC of the Frame.
* @return @c RETURN_OK or @c CRC_FAILED.
*/
ReturnValue_t frameCheckCRC();
/**
* Method that groups the reception process of all Frames.
* Calls #frameDelimitingAndFillRemoval and #frameValidationCheck.
* @return The return codes of the sub calls.
*/
ReturnValue_t allFramesReception();
/**
* Dummy method for master channel demultiplexing.
* As there's only one Master Channel here, the method calls #virtualChannelDemultiplexing.
* @return The return codes of #virtualChannelDemultiplexing.
*/
ReturnValue_t masterChannelDemultiplexing();
/**
* Method to demultiplex the Frames to Virtual Channels (VC's).
* Looks up the requested VC in #virtualChannels and forwards the Frame to its
* #frameAcceptanceAndReportingMechanism method, if found.
* @return The higher method codes or @c VC_NOT_FOUND.
*/
ReturnValue_t virtualChannelDemultiplexing();
};
#endif /* DATALINKLAYER_H_ */

View File

@ -1,54 +0,0 @@
/**
* @file Farm1StateIF.h
* @brief This file defines the Farm1StateIF class.
* @date 24.04.2013
* @author baetz
*/
#ifndef FARM1STATEIF_H_
#define FARM1STATEIF_H_
#include "CCSDSReturnValuesIF.h"
class VirtualChannelReception;
class TcTransferFrame;
class ClcwIF;
/**
* This is the interface for states of the FARM-1 state machine.
* Classes implementing this interface can be used as FARM-1 states. This is a simple implementation
* of the state pattern.
*/
class Farm1StateIF : public CCSDSReturnValuesIF {
public:
/**
* A method that shall handle an incoming frame as AD Frame.
* @param frame The frame to handle.
* @param clcw Any changes to the CLCW shall be done with the help of this interface.
* @return If forwarding to a MAP Channel is required, the return value shall be #FRAME_OK.
* Otherwise, an appropriate return value or error code shall be generated.
*/
virtual ReturnValue_t handleADFrame( TcTransferFrame* frame, ClcwIF* clcw ) = 0;
/**
* This method shall handle frames that have been successfully identified as BC Unlock frames.
* @param clcw Any changes to the CLCW shall be done with the help of this interface.
* @return If forwarding to a MAP Channel is required, the return value shall be #FRAME_OK.
* Otherwise, an appropriate return value or error code shall be generated.
*/
virtual ReturnValue_t handleBCUnlockCommand( ClcwIF* clcw ) = 0;
/**
* This method shall handle frames that have been successfully identified as BC Set VR frames.
* @param clcw Any changes to the CLCW shall be done with the help of this interface.
* @param vr The V(r) value found in the frame.
* @return If forwarding to a MAP Channel is required, the return value shall be #FRAME_OK.
* Otherwise, an appropriate return value or error code shall be generated.
*/
virtual ReturnValue_t handleBCSetVrCommand( ClcwIF* clcw, uint8_t vr ) = 0;
/**
* Empty virtual destructor.
*/
virtual ~Farm1StateIF() {
}
};
#endif /* FARM1STATEIF_H_ */

View File

@ -1,35 +0,0 @@
/**
* @file Farm1StateLockout.cpp
* @brief This file defines the Farm1StateLockout class.
* @date 24.04.2013
* @author baetz
*/
#include "ClcwIF.h"
#include "Farm1StateLockout.h"
#include "TcTransferFrame.h"
#include "VirtualChannelReception.h"
Farm1StateLockout::Farm1StateLockout(VirtualChannelReception* setMyVC) : myVC(setMyVC) {
}
ReturnValue_t Farm1StateLockout::handleADFrame(TcTransferFrame* frame,
ClcwIF* clcw) {
return FARM_IN_LOCKOUT;
}
ReturnValue_t Farm1StateLockout::handleBCUnlockCommand(ClcwIF* clcw) {
myVC->farmBCounter++;
clcw->setRetransmitFlag(false);
clcw->setLockoutFlag( false );
clcw->setWaitFlag( false );
myVC->currentState = &(myVC->openState);
return BC_IS_UNLOCK_COMMAND;
}
ReturnValue_t Farm1StateLockout::handleBCSetVrCommand(ClcwIF* clcw,
uint8_t vr) {
myVC->farmBCounter++;
return BC_IS_SET_VR_COMMAND;
}

View File

@ -1,59 +0,0 @@
/**
* @file Farm1StateLockout.h
* @brief This file defines the Farm1StateLockout class.
* @date 24.04.2013
* @author baetz
*/
#ifndef FARM1STATELOCKOUT_H_
#define FARM1STATELOCKOUT_H_
#include "Farm1StateIF.h"
/**
* This class represents the FARM-1 "Lockout" State.
* The Lockout state is reached if the received Transfer Frame Sequence Number is completely wrong
* (i.e. within the Lockout Window). No AD Frames are forwarded. To leave the State, a BC Unlock
* command is required.
*/
class Farm1StateLockout : public Farm1StateIF {
private:
/**
* This is a reference to the "owner" class the State works on.
*/
VirtualChannelReception* myVC;
public:
/**
* The default constructor if the State.
* Sets the "owner" of the State.
* @param setMyVC The "owner" class.
*/
Farm1StateLockout( VirtualChannelReception* setMyVC );
/**
* All AD Frames are rejected with FARM_IN_LOCKOUT
* @param frame The frame to handle.
* @param clcw Any changes to the CLCW shall be done with the help of this interface.
* @return FARM_IN_LOCKOUT
*/
ReturnValue_t handleADFrame( TcTransferFrame* frame, ClcwIF* clcw );
/**
* These commands are handled as specified.
* State changes to Farm1StateOpen.
* @param clcw Any changes to the CLCW shall be done with the help of this interface.
* @return As the frame needs no forwarding to a MAP Channel, #BC_IS_UNLOCK_COMMAND
* is returned.
*/
ReturnValue_t handleBCUnlockCommand( ClcwIF* clcw );
/**
* These commands are handled as specified.
* The V(r) value is not set in Lockout State, even though the Command itself is accepted.
* @param clcw Any changes to the CLCW shall be done with the help of this interface.
* @param vr The V(r) value found in the frame.
* @return As the frame needs no forwarding to a MAP Channel, #BC_IS_SET_VR_COMMAND
* is returned.
*/
ReturnValue_t handleBCSetVrCommand( ClcwIF* clcw, uint8_t vr );
};
#endif /* FARM1STATELOCKOUT_H_ */

View File

@ -1,49 +0,0 @@
/**
* @file Farm1StateOpen.cpp
* @brief This file defines the Farm1StateOpen class.
* @date 24.04.2013
* @author baetz
*/
#include "ClcwIF.h"
#include "Farm1StateOpen.h"
#include "TcTransferFrame.h"
#include "VirtualChannelReception.h"
Farm1StateOpen::Farm1StateOpen(VirtualChannelReception* setMyVC) : myVC(setMyVC) {
}
ReturnValue_t Farm1StateOpen::handleADFrame(TcTransferFrame* frame,
ClcwIF* clcw) {
int8_t diff = frame->getSequenceNumber() - myVC->vR;
if (diff == 0 ) {
myVC->vR++;
clcw->setRetransmitFlag(false);
return RETURN_OK;
} else if (diff < myVC->positiveWindow && diff > 0 ) {
clcw->setRetransmitFlag(true);
return NS_POSITIVE_W;
} else if (diff < 0 && diff >= -myVC->negativeWindow) {
return NS_NEGATIVE_W;
} else {
clcw->setLockoutFlag(true);
myVC->currentState = &(myVC->lockoutState);
return NS_LOCKOUT;
}
}
ReturnValue_t Farm1StateOpen::handleBCUnlockCommand( ClcwIF* clcw ) {
myVC->farmBCounter++;
clcw->setRetransmitFlag(false);
return BC_IS_UNLOCK_COMMAND;
}
ReturnValue_t Farm1StateOpen::handleBCSetVrCommand( ClcwIF* clcw, uint8_t vr ) {
myVC->farmBCounter++;
clcw->setRetransmitFlag(false);
myVC->vR = vr;
return BC_IS_SET_VR_COMMAND;
}

View File

@ -1,62 +0,0 @@
/**
* @file Farm1StateOpen.h
* @brief This file defines the Farm1StateOpen class.
* @date 24.04.2013
* @author baetz
*/
#ifndef FARM1STATEOPEN_H_
#define FARM1STATEOPEN_H_
#include "Farm1StateIF.h"
/**
* This class represents the FARM-1 "Open" State.
* The Open state is the state of normal operation. It handles all types of frames,
* including AD Frames. If a wrong Frame Sequence Number is detected in an AD Frame, the
* State reacts as specified.
*/
class Farm1StateOpen : public Farm1StateIF {
private:
/**
* This is a reference to the "owner" class the State works on.
*/
VirtualChannelReception* myVC;
public:
/**
* The default constructor if the State.
* Sets the "owner" of the State.
* @param setMyVC The "owner" class.
*/
Farm1StateOpen( VirtualChannelReception* setMyVC );
/**
* Method to check the validity of AD Frames.
* It checks the Frame Sequence Number and reacts as specified in the standard. The state may
* change to Farm1StateLockout.
* @param frame The frame to handle.
* @param clcw Any changes to the CLCW shall be done with the help of this interface.
* @return If the Sequence Number is ok, it returns #RETURN_OK. Otherwise either #NS_POSITIVE_W,
* #NS_NEGATIVE_W or NS_LOCKOUT is returned.
*/
ReturnValue_t handleADFrame( TcTransferFrame* frame, ClcwIF* clcw );
/**
* These commands are handled as specified.
* State does not change.
* @param clcw Any changes to the CLCW shall be done with the help of this interface.
* @return As the frame needs no forwarding to a MAP Channel, #BC_IS_UNLOCK_COMMAND
* is returned.
*/
ReturnValue_t handleBCUnlockCommand( ClcwIF* clcw );
/**
* These commands are handled as specified.
* State does not change.
* @param clcw Any changes to the CLCW shall be done with the help of this interface.
* @param vr The V(r) value found in the frame.
* @return As the frame needs no forwarding to a MAP Channel, #BC_IS_SET_VR_COMMAND
* is returned.
*/
ReturnValue_t handleBCSetVrCommand( ClcwIF* clcw, uint8_t vr );
};
#endif /* FARM1STATEOPEN_H_ */

View File

@ -1,43 +0,0 @@
/**
* @file Farm1StateWait.cpp
* @brief This file defines the Farm1StateWait class.
* @date 24.04.2013
* @author baetz
*/
#include "ClcwIF.h"
#include "Farm1StateWait.h"
#include "TcTransferFrame.h"
#include "VirtualChannelReception.h"
Farm1StateWait::Farm1StateWait(VirtualChannelReception* setMyVC) : myVC(setMyVC) {
}
ReturnValue_t Farm1StateWait::handleADFrame(TcTransferFrame* frame,
ClcwIF* clcw) {
int8_t diff = frame->getSequenceNumber() - myVC->vR;
if ( diff < -myVC->negativeWindow || diff >= myVC->positiveWindow ) {
clcw->setLockoutFlag(true);
myVC->currentState = &(myVC->lockoutState);
}
return FARM_IN_WAIT;
}
ReturnValue_t Farm1StateWait::handleBCUnlockCommand(ClcwIF* clcw) {
myVC->farmBCounter++;
clcw->setRetransmitFlag(false);
clcw->setWaitFlag( false );
myVC->currentState = &(myVC->openState);
return BC_IS_UNLOCK_COMMAND;
}
ReturnValue_t Farm1StateWait::handleBCSetVrCommand(ClcwIF* clcw, uint8_t vr) {
myVC->farmBCounter++;
clcw->setWaitFlag( false );
clcw->setRetransmitFlag(false);
myVC->vR = vr;
myVC->currentState = &(myVC->openState);
return BC_IS_SET_VR_COMMAND;
}

View File

@ -1,58 +0,0 @@
/**
* @file Farm1StateWait.h
* @brief This file defines the Farm1StateWait class.
* @date 24.04.2013
* @author baetz
*/
#ifndef FARM1STATEWAIT_H_
#define FARM1STATEWAIT_H_
#include "Farm1StateIF.h"
/**
* This class represents the FARM-1 "Wait" State.
* The Wait state is reached if higher level procedures inform the FARM-1 Machine to wait
* for a certain period. Currently, it is not in use.
*/
class Farm1StateWait : public Farm1StateIF {
private:
/**
* This is a reference to the "owner" class the State works on.
*/
VirtualChannelReception* myVC;
public:
/**
* The default constructor if the State.
* Sets the "owner" of the State.
* @param setMyVC The "owner" class.
*/
Farm1StateWait( VirtualChannelReception* setMyVC );
/**
* AD Frames are always discarded.
* If the frame number is in the lockout window, the state changes to Farm1StateLockout.
* @param frame The frame to handle.
* @param clcw Any changes to the CLCW shall be done with the help of this interface.
* @return Always returns FARM_IN_WAIT.
*/
ReturnValue_t handleADFrame( TcTransferFrame* frame, ClcwIF* clcw );
/**
* These commands are handled as specified.
* State changes to Farm1StateOpen.
* @param clcw Any changes to the CLCW shall be done with the help of this interface.
* @return As the frame needs no forwarding to a MAP Channel, #BC_IS_UNLOCK_COMMAND
* is returned.
*/
ReturnValue_t handleBCUnlockCommand( ClcwIF* clcw );
/**
* These commands are handled as specified.
* @param clcw Any changes to the CLCW shall be done with the help of this interface.
* @param vr The V(r) value found in the frame.
* @return As the frame needs no forwarding to a MAP Channel, #BC_IS_SET_VR_COMMAND
* is returned.
*/
ReturnValue_t handleBCSetVrCommand( ClcwIF* clcw, uint8_t vr );
};
#endif /* FARM1STATEWAIT_H_ */

View File

@ -1,154 +0,0 @@
/**
* @file MapPacketExtraction.cpp
* @brief This file defines the MapPacketExtraction class.
* @date 26.03.2013
* @author baetz
*/
#include "MapPacketExtraction.h"
#include "../ipc/QueueFactory.h"
#include "../serviceinterface/ServiceInterfaceStream.h"
#include "../storagemanager/StorageManagerIF.h"
#include "../tmtcpacket/SpacePacketBase.h"
#include "../tmtcservices/AcceptsTelecommandsIF.h"
#include "../tmtcservices/TmTcMessage.h"
#include <string.h>
MapPacketExtraction::MapPacketExtraction(uint8_t setMapId,
object_id_t setPacketDestination) :
lastSegmentationFlag(NO_SEGMENTATION), mapId(setMapId), packetLength(0), bufferPosition(
packetBuffer), packetDestination(setPacketDestination), packetStore(
NULL), tcQueueId(MessageQueueIF::NO_QUEUE) {
memset(packetBuffer, 0, sizeof(packetBuffer));
}
ReturnValue_t MapPacketExtraction::extractPackets(TcTransferFrame* frame) {
uint8_t segmentationFlag = frame->getSequenceFlags();
ReturnValue_t status = TOO_SHORT_MAP_EXTRACTION;
switch (segmentationFlag) {
case NO_SEGMENTATION:
status = unpackBlockingPackets(frame);
break;
case FIRST_PORTION:
packetLength = frame->getDataLength();
if (packetLength <= MAX_PACKET_SIZE) {
memcpy(packetBuffer, frame->getDataField(), packetLength);
bufferPosition = &packetBuffer[packetLength];
status = RETURN_OK;
} else {
sif::error
<< "MapPacketExtraction::extractPackets. Packet too large! Size: "
<< packetLength << std::endl;
clearBuffers();
status = CONTENT_TOO_LARGE;
}
break;
case CONTINUING_PORTION:
case LAST_PORTION:
if (lastSegmentationFlag == FIRST_PORTION
|| lastSegmentationFlag == CONTINUING_PORTION) {
packetLength += frame->getDataLength();
if (packetLength <= MAX_PACKET_SIZE) {
memcpy(bufferPosition, frame->getDataField(),
frame->getDataLength());
bufferPosition = &packetBuffer[packetLength];
if (segmentationFlag == LAST_PORTION) {
status = sendCompletePacket(packetBuffer, packetLength);
clearBuffers();
}
status = RETURN_OK;
} else {
sif::error
<< "MapPacketExtraction::extractPackets. Packet too large! Size: "
<< packetLength << std::endl;
clearBuffers();
status = CONTENT_TOO_LARGE;
}
} else {
sif::error
<< "MapPacketExtraction::extractPackets. Illegal segment! Last flag: "
<< (int) lastSegmentationFlag << std::endl;
clearBuffers();
status = ILLEGAL_SEGMENTATION_FLAG;
}
break;
default:
sif::error
<< "MapPacketExtraction::extractPackets. Illegal segmentationFlag: "
<< (int) segmentationFlag << std::endl;
clearBuffers();
status = DATA_CORRUPTED;
break;
}
lastSegmentationFlag = segmentationFlag;
return status;
}
ReturnValue_t MapPacketExtraction::unpackBlockingPackets(
TcTransferFrame* frame) {
ReturnValue_t status = TOO_SHORT_BLOCKED_PACKET;
uint32_t totalLength = frame->getDataLength();
if (totalLength > MAX_PACKET_SIZE)
return CONTENT_TOO_LARGE;
uint8_t* position = frame->getDataField();
while ((totalLength > SpacePacketBase::MINIMUM_SIZE)) {
SpacePacketBase packet(position);
uint32_t packetSize = packet.getFullSize();
if (packetSize <= totalLength) {
status = sendCompletePacket(packet.getWholeData(),
packet.getFullSize());
totalLength -= packet.getFullSize();
position += packet.getFullSize();
status = RETURN_OK;
} else {
status = DATA_CORRUPTED;
totalLength = 0;
}
}
if (totalLength > 0) {
status = RESIDUAL_DATA;
}
return status;
}
ReturnValue_t MapPacketExtraction::sendCompletePacket(uint8_t* data,
uint32_t size) {
store_address_t store_id;
ReturnValue_t status = this->packetStore->addData(&store_id, data, size);
if (status == RETURN_OK) {
TmTcMessage message(store_id);
status = MessageQueueSenderIF::sendMessage(tcQueueId,&message);
}
return status;
}
void MapPacketExtraction::clearBuffers() {
memset(packetBuffer, 0, sizeof(packetBuffer));
bufferPosition = packetBuffer;
packetLength = 0;
lastSegmentationFlag = NO_SEGMENTATION;
}
ReturnValue_t MapPacketExtraction::initialize() {
packetStore = objectManager->get<StorageManagerIF>(objects::TC_STORE);
AcceptsTelecommandsIF* distributor = objectManager->get<
AcceptsTelecommandsIF>(packetDestination);
if ((packetStore != NULL) && (distributor != NULL)) {
tcQueueId = distributor->getRequestQueue();
return RETURN_OK;
} else {
return RETURN_FAILED;
}
}
void MapPacketExtraction::printPacketBuffer(void) {
sif::debug << "DLL: packet_buffer contains: " << std::endl;
for (uint32_t i = 0; i < this->packetLength; ++i) {
sif::debug << "packet_buffer[" << std::dec << i << "]: 0x" << std::hex
<< (uint16_t) this->packetBuffer[i] << std::endl;
}
}
uint8_t MapPacketExtraction::getMapId() const {
return mapId;
}

View File

@ -1,78 +0,0 @@
/**
* @file MapPacketExtraction.h
* @brief This file defines the MapPacketExtraction class.
* @date 26.03.2013
* @author baetz
*/
#ifndef MAPPACKETEXTRACTION_H_
#define MAPPACKETEXTRACTION_H_
#include "MapPacketExtractionIF.h"
#include "../objectmanager/ObjectManagerIF.h"
#include "../returnvalues/HasReturnvaluesIF.h"
#include "../ipc/MessageQueueSenderIF.h"
class StorageManagerIF;
/**
* Implementation of a MAP Packet Extraction class.
* The class implements the full MAP Packet Extraction functionality as described in the CCSDS
* TC Space Data Link Protocol. It internally stores incomplete segmented packets until they are
* fully received. All found packets are forwarded to a single distribution entity.
*/
class MapPacketExtraction: public MapPacketExtractionIF {
private:
static const uint32_t MAX_PACKET_SIZE = 4096;
uint8_t lastSegmentationFlag; //!< The segmentation flag of the last received frame.
uint8_t mapId; //!< MAP ID of this MAP Channel.
uint32_t packetLength; //!< Complete length of the current Space Packet.
uint8_t* bufferPosition; //!< Position to write to in the internal Packet buffer.
uint8_t packetBuffer[MAX_PACKET_SIZE]; //!< The internal Space Packet Buffer.
object_id_t packetDestination;
StorageManagerIF* packetStore; //!< Pointer to the store where full TC packets are stored.
MessageQueueId_t tcQueueId; //!< QueueId to send found packets to the distributor.
/**
* Debug method to print the packet Buffer's content.
*/
void printPacketBuffer();
/**
* Method that is called if the segmentation flag is @c NO_SEGMENTATION.
* The method extracts one or more packets within the frame and forwards them to the OBSW.
* @param frame The TC Transfer Frame to work on.
* @return @c RETURN_OK if all Packets were extracted. If something is entirely wrong,
* @c DATA_CORRUPTED is returned, if some bytes are left over @c RESIDUAL_DATA.
*/
ReturnValue_t unpackBlockingPackets(TcTransferFrame* frame);
/**
* Helper method to forward a complete packet to the OBSW.
* @param data Pointer to the data, either directly from the frame or from the packetBuffer.
* @param size Complete total size of the packet.
* @return Return Code of the Packet Store or the Message Queue.
*/
ReturnValue_t sendCompletePacket( uint8_t* data, uint32_t size );
/**
* Helper method to reset the internal buffer.
*/
void clearBuffers();
public:
/**
* Default constructor.
* Members are set to default values.
* @param setMapId The MAP ID of the instance.
*/
MapPacketExtraction( uint8_t setMapId, object_id_t setPacketDestination );
ReturnValue_t extractPackets(TcTransferFrame* frame);
/**
* The #packetStore and the default destination of #tcQueue are initialized here.
* @return @c RETURN_OK on success, @c RETURN_FAILED otherwise.
*/
ReturnValue_t initialize();
/**
* Getter.
* @return The MAP ID of this instance.
*/
uint8_t getMapId() const;
};
#endif /* MAPPACKETEXTRACTION_H_ */

View File

@ -1,47 +0,0 @@
/**
* @file MapPacketExtractionIF.h
* @brief This file defines the MapPacketExtractionIF class.
* @date 25.03.2013
* @author baetz
*/
#ifndef MAPPACKETEXTRACTIONIF_H_
#define MAPPACKETEXTRACTIONIF_H_
#include "CCSDSReturnValuesIF.h"
#include "TcTransferFrame.h"
/**
* This is the interface for MAP Packet Extraction classes.
* All classes implementing this interface shall be able to extract blocked or segmented Space
* Packets on a certain MAP channel. This is done in accordance with the CCSDS TC Space Data Link
* Protocol.
*/
class MapPacketExtractionIF : public CCSDSReturnValuesIF {
protected:
static const uint8_t FIRST_PORTION = 0b01; //!< Identification of the first part of a segmented Packet.
static const uint8_t CONTINUING_PORTION = 0b00; //!< Identification of a continuing part of segmented Packets.
static const uint8_t LAST_PORTION = 0b10; //!< The last portion of a segmented Packet.
static const uint8_t NO_SEGMENTATION = 0b11; //!< A Frame without segmentation but maybe with blocking.
public:
/**
* Empty virtual destructor.
*/
virtual ~MapPacketExtractionIF() {
}
/**
* Method to call to handle a single Transfer Frame.
* The method tries to extract Packets from the frame as stated in the Standard.
* @param frame
* @return
*/
virtual ReturnValue_t extractPackets( TcTransferFrame* frame ) = 0;
/**
* Any post-instantiation initialization shall be done in this method.
* @return
*/
virtual ReturnValue_t initialize() = 0;
};
#endif /* MAPPACKETEXTRACTIONIF_H_ */

View File

@ -1,102 +0,0 @@
/**
* @file TcTransferFrame.cpp
* @brief This file defines the TcTransferFrame class.
* @date 27.04.2013
* @author baetz
*/
#include "TcTransferFrame.h"
#include "../serviceinterface/ServiceInterfaceStream.h"
TcTransferFrame::TcTransferFrame() {
frame = NULL;
}
TcTransferFrame::TcTransferFrame(uint8_t* setData) {
this->frame = (tc_transfer_frame*)setData;
}
uint8_t TcTransferFrame::getVersionNumber() {
return (this->frame->header.flagsAndScid & 0b11000000) >> 6;
}
bool TcTransferFrame::bypassFlagSet() {
return (this->frame->header.flagsAndScid & 0b00100000) != 0;
}
bool TcTransferFrame::controlCommandFlagSet() {
return (this->frame->header.flagsAndScid & 0b00010000) != 0;
}
bool TcTransferFrame::spareIsZero() {
return ( (this->frame->header.flagsAndScid & 0b00001100) == 0 );
}
uint16_t TcTransferFrame::getSpacecraftId() {
return ( (this->frame->header.flagsAndScid & 0b00000011) << 8 ) + this->frame->header.spacecraftId_l;
}
uint8_t TcTransferFrame::getVirtualChannelId() {
return (this->frame->header.vcidAndLength_h & 0b11111100) >> 2;
}
uint16_t TcTransferFrame::getFrameLength() {
return ( (this->frame->header.vcidAndLength_h & 0b00000011) << 8 ) + this->frame->header.length_l;
}
uint16_t TcTransferFrame::getDataLength() {
return this->getFrameLength() - this->getHeaderSize() -1 - FRAME_CRC_SIZE + 1; // -1 for the segment header.
}
uint8_t TcTransferFrame::getSequenceNumber() {
return this->frame->header.sequenceNumber;
}
uint8_t TcTransferFrame::getSequenceFlags() {
return (this->frame->dataField & 0b11000000)>>6;
}
uint8_t TcTransferFrame::getMAPId() {
return this->frame->dataField & 0b00111111;
}
uint8_t* TcTransferFrame::getDataField() {
return &(this->frame->dataField) + 1;
}
uint8_t* TcTransferFrame::getFullFrame() {
return (uint8_t*)this->frame;
}
uint16_t TcTransferFrame::getFullSize() {
return this->getFrameLength() + 1;
}
uint16_t TcTransferFrame::getHeaderSize() {
return sizeof(frame->header);
}
uint16_t TcTransferFrame::getFullDataLength() {
return this->getFrameLength() - this->getHeaderSize() - FRAME_CRC_SIZE + 1;
}
uint8_t* TcTransferFrame::getFullDataField() {
return &frame->dataField;
}
void TcTransferFrame::print() {
sif::debug << "Raw Frame: " << std::hex << std::endl;
for (uint16_t count = 0; count < this->getFullSize(); count++ ) {
sif::debug << (uint16_t)this->getFullFrame()[count] << " ";
}
sif::debug << std::dec << std::endl;
// debug << "Frame Header:" << std::endl;
// debug << "Version Number: " << std::hex << (uint16_t)this->current_frame.getVersionNumber() << std::endl;
// debug << "Bypass Flag set?| Ctrl Cmd Flag set?: " << (uint16_t)this->current_frame.bypassFlagSet() << " | " << (uint16_t)this->current_frame.controlCommandFlagSet() << std::endl;
// debug << "SCID : " << this->current_frame.getSpacecraftId() << std::endl;
// debug << "VCID : " << (uint16_t)this->current_frame.getVirtualChannelId() << std::endl;
// debug << "Frame length: " << std::dec << this->current_frame.getFrameLength() << std::endl;
// debug << "Sequence Number: " << (uint16_t)this->current_frame.getSequenceNumber() << std::endl;
}

View File

@ -1,137 +0,0 @@
#ifndef TCTRANSFERFRAME_H_
#define TCTRANSFERFRAME_H_
#include <stdint.h>
#include <stddef.h>
/**
* The TcTransferFrame class simplifies handling of such Frames.
* It operates on any buffer passed on construction. The data length
* is determined by the length field in the frame itself.
* It has a lot of getters for convenient access to the content.
* @ingroup ccsds_handling
*/
class TcTransferFrame {
protected:
/**
* The struct that defines the Frame's Primary Header.
*/
struct TcTransferFramePrimaryHeader {
uint8_t flagsAndScid; //!< Highest byte with Flags and part of SCID.
uint8_t spacecraftId_l; //!< Byte with rest of SCID
uint8_t vcidAndLength_h; //!< Byte with VCID and part of length.
uint8_t length_l; //!< Byte with rest of length.
uint8_t sequenceNumber; //!< Lowest byte with Frame Sequence Number N(S).
};
/**
* The struct defining the whole Transfer Frame.
*/
struct tc_transfer_frame {
TcTransferFramePrimaryHeader header; //!< The header struct.
uint8_t dataField; //!< The data field of the Transfer Frame.
};
tc_transfer_frame* frame; //!< Pointer to a buffer where a Frame is placed.
public:
static const uint8_t FRAME_CRC_SIZE = 2; //!< Constant for the CRC size.
/**
* Empty Constructor that sets the data pointer to NULL.
*/
TcTransferFrame();
/**
* The data pointer passed in this Constructor is casted to the #tc_transfer_frame struct.
* @param setData The data on which the class shall operate.
*/
TcTransferFrame(uint8_t* setData);
/**
* Getter.
* @return The Version number.
*/
uint8_t getVersionNumber();
/**
* Getter.
* @return If the bypass flag is set or not.
*/
bool bypassFlagSet();
/**
* Getter.
* @return If the control command flag is set or not.
*/
bool controlCommandFlagSet();
/**
* Getter.
* @return If the spare bits in the Header are zero or not.
*/
bool spareIsZero();
/**
* Getter.
* @return The Spacecraft Identifier.
*/
uint16_t getSpacecraftId();
/**
* Getter.
* @return The Virtual Channel Identifier.
*/
uint8_t getVirtualChannelId();
/**
* Getter.
* @return The Frame length as stored in the Header.
*/
uint16_t getFrameLength();
/**
* Getter.
* @return The length of pure data (without CRC), assuming that a Segment Header is present.
*/
uint16_t getDataLength();
/**
* Getter.
* @return The length of pure data (without CRC), assuming that no Segment Header is present (for BC Frames).
*/
uint16_t getFullDataLength();
/**
* Getter.
* @return The sequence number from the header.
*/
uint8_t getSequenceNumber();
/**
* Getter.
* @return The Sequence Flags in the Segment Header byte (right aligned).
*/
uint8_t getSequenceFlags();
/**
* Getter.
* @return The Multiplexer Access Point Identifier from the Segment Header byte.
*/
uint8_t getMAPId();
/**
* Getter.
* @return A pointer to the date field AFTER a Segment Header.
*/
uint8_t* getDataField();
/**
* Getter.
* @return A pointer to the first byte in the Data Field (ignoring potential Segment Headers, for BC Frames).
*/
uint8_t* getFullDataField();
/**
* Getter.
* @return A pointer to the beginning of the Frame.
*/
uint8_t* getFullFrame();
/**
* Getter
* @return The total size of the Frame, which is the size stated in the Header + 1.
*/
uint16_t getFullSize();
/**
* Getter.
* @return Size of the #TcTransferFramePrimaryHeader.
*/
uint16_t getHeaderSize();
/**
* Debug method to print the whole Frame to screen.
*/
void print();
};
#endif /* TCTRANSFERFRAME_H_ */

View File

@ -1,49 +0,0 @@
/**
* @file TcTransferFrameLocal.cpp
* @brief This file defines the TcTransferFrameLocal class.
* @date 27.04.2013
* @author baetz
*/
#include "TcTransferFrameLocal.h"
#include "../globalfunctions/CRC.h"
#include "../serviceinterface/ServiceInterfaceStream.h"
#include <string.h>
TcTransferFrameLocal::TcTransferFrameLocal(bool bypass, bool controlCommand, uint16_t scid,
uint8_t vcId, uint8_t sequenceNumber, uint8_t setSegmentHeader, uint8_t* data, uint16_t dataSize, uint16_t forceCrc) {
this->frame = (tc_transfer_frame*)&localData;
frame->header.flagsAndScid = (bypass << 5) + (controlCommand << 4) + ((scid & 0x0300) >> 8);
frame->header.spacecraftId_l = (scid & 0x00FF);
frame->header.vcidAndLength_h = (vcId & 0b00111111) << 2;
frame->header.length_l = sizeof(TcTransferFramePrimaryHeader) -1;
frame->header.sequenceNumber = sequenceNumber;
frame->dataField = setSegmentHeader;
if (data != NULL) {
if (bypass && controlCommand) {
memcpy(&(frame->dataField), data, dataSize);
uint16_t totalSize = sizeof(TcTransferFramePrimaryHeader) + dataSize + FRAME_CRC_SIZE -1;
frame->header.vcidAndLength_h |= (totalSize & 0x0300) >> 8;
frame->header.length_l = (totalSize & 0x00FF);
uint16_t crc = CRC::crc16ccitt(getFullFrame(), getFullSize() -2);
this->getFullFrame()[getFullSize()-2] = (crc & 0xFF00) >> 8;
this->getFullFrame()[getFullSize()-1] = (crc & 0x00FF);
} else if (dataSize <= 1016) {
memcpy(&(frame->dataField) +1, data, dataSize);
uint16_t dataCrcSize = sizeof(TcTransferFramePrimaryHeader) + 1 + dataSize + FRAME_CRC_SIZE -1;
frame->header.vcidAndLength_h |= (dataCrcSize & 0x0300) >> 8;
frame->header.length_l = (dataCrcSize & 0x00FF);
uint16_t crc = CRC::crc16ccitt(getFullFrame(), getFullSize() -2);
this->getFullFrame()[getFullSize()-2] = (crc & 0xFF00) >> 8;
this->getFullFrame()[getFullSize()-1] = (crc & 0x00FF);
} else {
sif::debug << "TcTransferFrameLocal: dataSize too large: " << dataSize << std::endl;
}
} else {
//No data in frame
}
if (forceCrc != 0 ) {
localData.data[getFullSize()-2] = (forceCrc & 0xFF00) >> 8;
localData.data[getFullSize()-1] = (forceCrc & 0x00FF);
}
}

View File

@ -1,49 +0,0 @@
/**
* @file TcTransferFrameLocal.h
* @brief This file defines the TcTransferFrameLocal class.
* @date 27.04.2013
* @author baetz
*/
#ifndef TCTRANSFERFRAMELOCAL_H_
#define TCTRANSFERFRAMELOCAL_H_
#include "TcTransferFrame.h"
/**
* This is a helper class to locally create TC Transfer Frames.
* This is mainly required for testing purposes and therefore not very sophisticated.
* @ingroup ccsds_handling
*/
class TcTransferFrameLocal : public TcTransferFrame {
private:
/**
* A stuct to locally store the complete data.
*/
struct frameData {
TcTransferFramePrimaryHeader header; //!< The primary header.
uint8_t data[1019]; //!< The data field.
};
public:
frameData localData; //!< The local data in the Frame.
/**
* The default Constructor.
* All parameters in the Header are passed.
* If a BC Frame is detected no segment header is created.
* Otherwise (AD and BD), the Segment Header is set.
* @param bypass The bypass flag.
* @param controlCommand The Control Command flag.
* @param scid The SCID.
* @param vcId The VCID.
* @param sequenceNumber The Frame Sequence Number N(s)
* @param setSegmentHeader A value for the Segment Header.
* @param data Data to put into the Frame Data Field.
* @param dataSize Size of the Data.
* @param forceCrc if != 0, the value is used as CRC.
*/
TcTransferFrameLocal(bool bypass, bool controlCommand, uint16_t scid, uint8_t vcId, uint8_t sequenceNumber,
uint8_t setSegmentHeader = 0xC0, uint8_t* data = NULL, uint16_t dataSize = 0, uint16_t forceCrc = 0);
};
#endif /* TCTRANSFERFRAMELOCAL_H_ */

View File

@ -1,121 +0,0 @@
/**
* @file VirtualChannelReception.cpp
* @brief This file defines the VirtualChannelReception class.
* @date 26.03.2013
* @author baetz
*/
#include "BCFrame.h"
#include "VirtualChannelReception.h"
#include "../serviceinterface/ServiceInterfaceStream.h"
VirtualChannelReception::VirtualChannelReception(uint8_t setChannelId,
uint8_t setSlidingWindowWidth) :
channelId(setChannelId), slidingWindowWidth(setSlidingWindowWidth), positiveWindow(
setSlidingWindowWidth / 2), negativeWindow(setSlidingWindowWidth / 2), currentState(
&openState), openState(this), waitState(this), lockoutState(this), vR(0), farmBCounter(
0) {
internalClcw.setVirtualChannel(channelId);
}
ReturnValue_t VirtualChannelReception::mapDemultiplexing(TcTransferFrame* frame) {
uint8_t mapId = frame->getMAPId();
mapChannelIterator iter = mapChannels.find(mapId);
if (iter == mapChannels.end()) {
// error << "VirtualChannelReception::mapDemultiplexing on VC " << std::hex << (int) channelId
// << ": MapChannel " << (int) mapId << std::dec << " not found." << std::endl;
return VC_NOT_FOUND;
} else {
return (iter->second)->extractPackets(frame);
}
}
ReturnValue_t VirtualChannelReception::doFARM(TcTransferFrame* frame, ClcwIF* clcw) {
uint8_t bypass = frame->bypassFlagSet();
uint8_t controlCommand = frame->controlCommandFlagSet();
uint8_t typeValue = (bypass << 1) + controlCommand;
switch (typeValue) {
case AD_FRAME:
return currentState->handleADFrame(frame, clcw);
case BD_FRAME:
return handleBDFrame(frame, clcw);
case BC_FRAME:
return handleBCFrame(frame, clcw);
default:
return ILLEGAL_FLAG_COMBINATION;
}
}
ReturnValue_t VirtualChannelReception::frameAcceptanceAndReportingMechanism(TcTransferFrame* frame,
ClcwIF* clcw) {
ReturnValue_t result = RETURN_OK;
result = doFARM(frame, &internalClcw);
internalClcw.setReceiverFrameSequenceNumber(vR);
internalClcw.setFarmBCount(farmBCounter);
clcw->setWhole(internalClcw.getAsWhole());
switch (result) {
case RETURN_OK:
return mapDemultiplexing(frame);
case BC_IS_SET_VR_COMMAND:
case BC_IS_UNLOCK_COMMAND:
//Need to catch these codes to avoid error reporting later.
return RETURN_OK;
default:
break;
}
return result;
}
ReturnValue_t VirtualChannelReception::addMapChannel(uint8_t mapId, MapPacketExtractionIF* object) {
std::pair<mapChannelIterator, bool> returnValue = mapChannels.insert(
std::pair<uint8_t, MapPacketExtractionIF*>(mapId, object));
if (returnValue.second == true) {
return RETURN_OK;
} else {
return RETURN_FAILED;
}
}
ReturnValue_t VirtualChannelReception::handleBDFrame(TcTransferFrame* frame, ClcwIF* clcw) {
farmBCounter++;
return RETURN_OK;
}
ReturnValue_t VirtualChannelReception::handleBCFrame(TcTransferFrame* frame, ClcwIF* clcw) {
BcFrame content;
ReturnValue_t returnValue = content.initialize(frame->getFullDataField(),
frame->getFullDataLength());
if (returnValue == BC_IS_UNLOCK_COMMAND) {
returnValue = currentState->handleBCUnlockCommand(clcw);
} else if (returnValue == BC_IS_SET_VR_COMMAND) {
returnValue = currentState->handleBCSetVrCommand(clcw, content.vR);
} else {
//Do nothing
}
return returnValue;
}
uint8_t VirtualChannelReception::getChannelId() const {
return channelId;
}
ReturnValue_t VirtualChannelReception::initialize() {
ReturnValue_t returnValue = RETURN_FAILED;
if ((slidingWindowWidth > 254) || (slidingWindowWidth % 2 != 0)) {
sif::error << "VirtualChannelReception::initialize: Illegal sliding window width: "
<< (int) slidingWindowWidth << std::endl;
return RETURN_FAILED;
}
for (mapChannelIterator iterator = mapChannels.begin(); iterator != mapChannels.end();
iterator++) {
returnValue = iterator->second->initialize();
if (returnValue != RETURN_OK)
break;
}
return returnValue;
}
void VirtualChannelReception::setToWaitState() {
internalClcw.setWaitFlag(true);
this->currentState = &waitState;
}

View File

@ -1,114 +0,0 @@
/**
* @file VirtualChannelReception.h
* @brief This file defines the VirtualChannelReception class.
* @date 25.03.2013
* @author baetz
*/
#ifndef VIRTUALCHANNELRECEPTION_H_
#define VIRTUALCHANNELRECEPTION_H_
#include "CCSDSReturnValuesIF.h"
#include "Clcw.h"
#include "Farm1StateIF.h"
#include "Farm1StateLockout.h"
#include "Farm1StateOpen.h"
#include "Farm1StateWait.h"
#include "MapPacketExtractionIF.h"
#include "VirtualChannelReceptionIF.h"
#include <map>
/**
* Implementation of a TC Virtual Channel.
* This is a full implementation of a virtual channel as specified in the CCSDS TC Space Data Link
* Protocol. It is designed to operate within an instance of the @c DataLinkLayer class.
* Features:
* - any (6bit) Virtual Channel ID is assignable.
* - Supports an arbitrary number of MAP Channels (with a map).
* - Has a complete FARM-1 Machine built-in.
*
* The FARM-1 state machine uses the State Pattern.
*/
class VirtualChannelReception : public VirtualChannelReceptionIF, public CCSDSReturnValuesIF {
friend class Farm1StateOpen;
friend class Farm1StateWait;
friend class Farm1StateLockout;
private:
uint8_t channelId; //!< Stores the VCID that was assigned on construction.
uint8_t slidingWindowWidth; //!< A constant to set the FARM-1 sliding window width.
uint8_t positiveWindow; //!< The positive window for the FARM-1 machine.
uint8_t negativeWindow; //!< The negative window for the FARM-1 machine.
protected:
Farm1StateIF* currentState; //!< The current state. To change, one of the other states must be assigned to this pointer.
Farm1StateOpen openState; //!< Instance of the FARM-1 State "Open".
Farm1StateWait waitState; //!< Instance of the FARM-1 State "Wait".
Farm1StateLockout lockoutState; //!< Instance of the FARM-1 State "Lockout".
Clcw internalClcw; //!< A CLCW class to internally set the values before writing them back to the TTC System.
uint8_t vR; //!< The Receiver Frame Sequence Number V(R) as it shall be maintained for every Virtual Channel.
uint8_t farmBCounter; //!< The FARM-B COunter as it shall be maintained for every Virtual Channel.
typedef std::map<uint8_t, MapPacketExtractionIF*>::iterator mapChannelIterator; //!< Typedef to simplify handling of the mapChannels map.
std::map<uint8_t, MapPacketExtractionIF*> mapChannels; //!< A map that maintains all map Channels. Channels must be configured on initialization. MAy be omitted in a simplified version.
/**
* This method handles demultiplexing to different map channels.
* It parses the entries of #mapChannels and forwards the Frame to a found MAP Channel.
* @param frame The frame to forward.
* @return #VC_NOT_FOUND or the return value of the map channel extraction.
*/
ReturnValue_t mapDemultiplexing( TcTransferFrame* frame );
/**
* A sub-method that actually does the FARM-1 handling for different Frame types.
* @param frame The Tc Transfer Frame to handle.
* @param clcw Any changes on the CLCW shall be done with this method.
* @return The return code of higher methods or @c ILLEGAL_FLAG_COMBINATION.
*/
ReturnValue_t doFARM(TcTransferFrame* frame, ClcwIF* clcw);
/**
* Handles incoming BD Frames.
* Handling these Frames is independent of the State, so no subcall to #currentState is
* required.
* @param frame The Tc Transfer Frame to handle.
* @param clcw Any changes on the CLCW shall be done with this method.
* @return Always returns @c RETURN_OK.
*/
ReturnValue_t handleBDFrame( TcTransferFrame* frame, ClcwIF* clcw );
/**
* Handles incoming BC Frames.
* The type of the BC Frame is detected and checked first, then methods of #currentState are called.
* @param frame The Tc Transfer Frame to handle.
* @param clcw Any changes on the CLCW shall be done with this method.
* @return The failure code of BC Frame interpretation or the return code of higher methods.
*/
ReturnValue_t handleBCFrame( TcTransferFrame* frame, ClcwIF* clcw );
public:
/**
* Default constructor.
* Only sets the channelId of the channel. Setting the Sliding Window width is possible as well.
* @param setChannelId Virtual Channel Identifier (VCID) of the channel.
*/
VirtualChannelReception( uint8_t setChannelId, uint8_t setSlidingWindowWidth );
ReturnValue_t frameAcceptanceAndReportingMechanism( TcTransferFrame* frame, ClcwIF* clcw );
/**
* Helper method to simplify adding a mapChannel during construction.
* @param mapId The mapId of the object to add.
* @param object Pointer to the MapPacketExtraction object itself.
* @return @c RETURN_OK if the channel was successfully inserted, @c RETURN_FAILED otherwise.
*/
ReturnValue_t addMapChannel( uint8_t mapId, MapPacketExtractionIF* object );
/**
* The initialization routine checks the set #slidingWindowWidth and initializes all MAP
* channels.
* @return @c RETURN_OK on successful initialization, @c RETURN_FAILED otherwise.
*/
ReturnValue_t initialize();
/**
* Getter for the VCID.
* @return The #channelId.
*/
uint8_t getChannelId() const;
/**
* Small method to set the state to Farm1StateWait.
*/
void setToWaitState();
};
#endif /* VIRTUALCHANNELRECEPTION_H_ */

View File

@ -1,57 +0,0 @@
/**
* @file VirtualChannelReceptionIF.h
* @brief This file defines the VirtualChannelReceptionIF class.
* @date 25.03.2013
* @author baetz
*/
#ifndef VIRTUALCHANNELRECEPTIONIF_H_
#define VIRTUALCHANNELRECEPTIONIF_H_
#include "ClcwIF.h"
#include "TcTransferFrame.h"
#include "../returnvalues/HasReturnvaluesIF.h"
/**
* This is the interface for Virtual Channel reception classes.
* It represents a single TC Virtual Channel that operates on one IO
*/
class VirtualChannelReceptionIF {
public:
/**
* Enum including all valid types of frames.
* The type is made up by two flags, so 0b1111 is definitely illegal.
*/
enum frameType {
AD_FRAME = 0b00,
BC_FRAME = 0b11,
BD_FRAME = 0b10,
ILLEGAL_FRAME = 0b1111
};
/**
* Empty virtual destructor.
*/
virtual ~VirtualChannelReceptionIF() {
}
/**
* This method shall accept frames and do all FARM-1 stuff.
* Handling the Frame includes forwarding to higher-level procedures.
* @param frame The Tc Transfer Frame that was received and checked.
* @param clcw Any changes to the CLCW value are forwarded by using this parameter.
* @return The return Value shall indicate successful processing with @c RETURN_OK.
*/
virtual ReturnValue_t frameAcceptanceAndReportingMechanism( TcTransferFrame* frame, ClcwIF* clcw ) = 0;
/**
* If any other System Objects are required for operation they shall be initialized here.
* @return @c RETURN_OK for successful initialization.
*/
virtual ReturnValue_t initialize() = 0;
/**
* Getter for the VCID.
* @return The #channelId.
*/
virtual uint8_t getChannelId() const = 0;
};
#endif /* VIRTUALCHANNELRECEPTIONIF_H_ */

View File

@ -1,14 +0,0 @@
#include "ControllerSet.h"
ControllerSet::ControllerSet() {
}
ControllerSet::~ControllerSet() {
}
void ControllerSet::setInvalid() {
read();
setToDefault();
commit(PoolVariableIF::INVALID);
}

View File

@ -1,15 +0,0 @@
#ifndef CONTROLLERSET_H_
#define CONTROLLERSET_H_
#include "DataSet.h"
class ControllerSet :public DataSet {
public:
ControllerSet();
virtual ~ControllerSet();
virtual void setToDefault() = 0;
void setInvalid();
};
#endif /* CONTROLLERSET_H_ */

View File

@ -1,131 +0,0 @@
#include "DataPool.h"
#include "../serviceinterface/ServiceInterfaceStream.h"
#include "../ipc/MutexFactory.h"
DataPool::DataPool( void ( *initFunction )( std::map<uint32_t, PoolEntryIF*>* pool_map ) ) {
mutex = MutexFactory::instance()->createMutex();
if (initFunction != NULL ) {
initFunction( &this->data_pool );
}
}
DataPool::~DataPool() {
MutexFactory::instance()->deleteMutex(mutex);
for ( std::map<uint32_t, PoolEntryIF*>::iterator it = this->data_pool.begin(); it != this->data_pool.end(); ++it ) {
delete it->second;
}
}
//The function checks PID, type and array length before returning a copy of the PoolEntry. In failure case, it returns a temp-Entry with size 0 and NULL-ptr.
template <typename T> PoolEntry<T>* DataPool::getData( uint32_t data_pool_id, uint8_t sizeOrPosition ) {
std::map<uint32_t, PoolEntryIF*>::iterator it = this->data_pool.find( data_pool_id );
if ( it != this->data_pool.end() ) {
PoolEntry<T>* entry = dynamic_cast< PoolEntry<T>* >( it->second );
if (entry != NULL ) {
if ( sizeOrPosition <= entry->length ) {
return entry;
}
}
}
return NULL;
}
PoolEntryIF* DataPool::getRawData( uint32_t data_pool_id ) {
std::map<uint32_t, PoolEntryIF*>::iterator it = this->data_pool.find( data_pool_id );
if ( it != this->data_pool.end() ) {
return it->second;
} else {
return NULL;
}
}
//uint8_t DataPool::getRawData( uint32_t data_pool_id, uint8_t* address, uint16_t* size, uint32_t maxSize ) {
// std::map<uint32_t, PoolEntryIF*>::iterator it = this->data_pool.find( data_pool_id );
// if ( it != this->data_pool.end() ) {
// if ( it->second->getByteSize() <= maxSize ) {
// *size = it->second->getByteSize();
// memcpy( address, it->second->getRawData(), *size );
// return DP_SUCCESSFUL;
// }
// }
// *size = 0;
// return DP_FAILURE;
//}
ReturnValue_t DataPool::freeDataPoolLock() {
ReturnValue_t status = mutex->unlockMutex();
if ( status != RETURN_OK ) {
sif::error << "DataPool::DataPool: unlock of mutex failed with error code: " << status << std::endl;
}
return status;
}
ReturnValue_t DataPool::lockDataPool() {
ReturnValue_t status = mutex->lockMutex(MutexIF::BLOCKING);
if ( status != RETURN_OK ) {
sif::error << "DataPool::DataPool: lock of mutex failed with error code: " << status << std::endl;
}
return status;
}
void DataPool::print() {
sif::debug << "DataPool contains: " << std::endl;
std::map<uint32_t, PoolEntryIF*>::iterator dataPoolIt;
dataPoolIt = this->data_pool.begin();
while( dataPoolIt != this->data_pool.end() ) {
sif::debug << std::hex << dataPoolIt->first << std::dec << " |";
dataPoolIt->second->print();
dataPoolIt++;
}
}
template PoolEntry<uint8_t>* DataPool::getData<uint8_t>( uint32_t data_pool_id, uint8_t size );
template PoolEntry<uint16_t>* DataPool::getData<uint16_t>( uint32_t data_pool_id, uint8_t size );
template PoolEntry<uint32_t>* DataPool::getData<uint32_t>( uint32_t data_pool_id, uint8_t size );
template PoolEntry<uint64_t>* DataPool::getData<uint64_t>(uint32_t data_pool_id,
uint8_t size);
template PoolEntry<int8_t>* DataPool::getData<int8_t>( uint32_t data_pool_id, uint8_t size );
template PoolEntry<int16_t>* DataPool::getData<int16_t>( uint32_t data_pool_id, uint8_t size );
template PoolEntry<int32_t>* DataPool::getData<int32_t>( uint32_t data_pool_id, uint8_t size );
template PoolEntry<float>* DataPool::getData<float>( uint32_t data_pool_id, uint8_t size );
template PoolEntry<double>* DataPool::getData<double>(uint32_t data_pool_id,
uint8_t size);
uint32_t DataPool::PIDToDataPoolId(uint32_t parameter_id) {
return (parameter_id >> 8) & 0x00FFFFFF;
}
uint8_t DataPool::PIDToArrayIndex(uint32_t parameter_id) {
return (parameter_id & 0x000000FF);
}
uint32_t DataPool::poolIdAndPositionToPid(uint32_t poolId, uint8_t index) {
return (poolId << 8) + index;
}
//SHOULDDO: Do we need a mutex lock here... I don't think so, as we only check static const values of elements in a list that do not change.
//there is no guarantee in the standard, but it seems to me that the implementation is safe -UM
ReturnValue_t DataPool::getType(uint32_t parameter_id, Type* type) {
std::map<uint32_t, PoolEntryIF*>::iterator it = this->data_pool.find( PIDToDataPoolId(parameter_id));
if ( it != this->data_pool.end() ) {
*type = it->second->getType();
return RETURN_OK;
} else {
*type = Type::UNKNOWN_TYPE;
return RETURN_FAILED;
}
}
bool DataPool::exists(uint32_t parameterId) {
uint32_t poolId = PIDToDataPoolId(parameterId);
uint32_t index = PIDToArrayIndex(parameterId);
std::map<uint32_t, PoolEntryIF*>::iterator it = this->data_pool.find( poolId );
if (it != data_pool.end()) {
if (it->second->getSize() >= index) {
return true;
}
}
return false;
}

View File

@ -1,135 +0,0 @@
/**
* \file DataPool.h
*
* \date 10/17/2012
* \author Bastian Baetz
*
* \brief This file contains the definition of the DataPool class and (temporarily)
* the "extern" definition of the global dataPool instance.
*/
#ifndef DATAPOOL_H_
#define DATAPOOL_H_
#include "PoolEntry.h"
#include "../globalfunctions/Type.h"
#include "../ipc/MutexIF.h"
#include <map>
/**
* \defgroup data_pool Data Pool
* This is the group, where all classes associated with Data Pool Handling belong to.
* This includes classes to access Data Pool variables.
*/
#define DP_SUCCESSFUL 0
#define DP_FAILURE 1
/**
* \brief This class represents the OBSW global data-pool.
*
* \details All variables are registered and space is allocated in an initialization
* function, which is passed do the constructor.
* Space for the variables is allocated on the heap (with a new call).
* The data is found by a data pool id, which uniquely represents a variable.
* Data pool variables should be used with a blackboard logic in mind,
* which means read data is valid (if flagged so), but not necessarily up-to-date.
* Variables are either single values or arrays.
* \ingroup data_pool
*/
class DataPool : public HasReturnvaluesIF {
private:
/**
* \brief This is the actual data pool itself.
* \details It is represented by a map
* with the data pool id as index and a pointer to a single PoolEntry as value.
*/
std::map<uint32_t, PoolEntryIF*> data_pool;
public:
/**
* \brief The mutex is created in the constructor and makes access mutual exclusive.
* \details Locking and unlocking the pool is only done by the DataSet class.
*/
MutexIF* mutex;
/**
* \brief In the classes constructor, the passed initialization function is called.
* \details To enable filling the pool,
* a pointer to the map is passed, allowing direct access to the pool's content.
* On runtime, adding or removing variables is forbidden.
*/
DataPool( void ( *initFunction )( std::map<uint32_t, PoolEntryIF*>* pool_map ) );
/**
* \brief The destructor iterates through the data_pool map and calls all Entries destructors to clean up the heap.
*/
~DataPool();
/**
* \brief This is the default call to access the pool.
* \details A pointer to the PoolEntry object is returned.
* The call checks data pool id, type and array size. Returns NULL in case of failure.
* \param data_pool_id The data pool id to search.
* \param sizeOrPosition The array size (not byte size!) of the pool entry, or the position the user wants to read.
* If smaller than the entry size, everything's ok.
*/
template <typename T> PoolEntry<T>* getData( uint32_t data_pool_id, uint8_t sizeOrPosition );
/**
* \brief An alternative call to get a data pool entry in case the type is not implicitly known
* (i.e. in Housekeeping Telemetry).
* \details It returns a basic interface and does NOT perform
* a size check. The caller has to assure he does not copy too much data.
* Returns NULL in case the entry is not found.
* \param data_pool_id The data pool id to search.
*/
PoolEntryIF* getRawData( uint32_t data_pool_id );
/**
* \brief This is a small helper function to facilitate locking the global data pool.
* \details It fetches the pool's mutex id and tries to acquire the mutex.
*/
ReturnValue_t lockDataPool();
/**
* \brief This is a small helper function to facilitate unlocking the global data pool.
* \details It fetches the pool's mutex id and tries to free the mutex.
*/
ReturnValue_t freeDataPoolLock();
/**
* \brief The print call is a simple debug method.
* \details It prints the current content of the data pool.
* It iterates through the data_pool map and calls each entry's print() method.
*/
void print();
/**
* Extracts the data pool id from a SCOS 2000 PID.
* @param parameter_id The passed Parameter ID.
* @return The data pool id as used within the OBSW.
*/
static uint32_t PIDToDataPoolId( uint32_t parameter_id );
/**
* Extracts an array index out of a SCOS 2000 PID.
* @param parameter_id The passed Parameter ID.
* @return The index of the corresponding data pool entry.
*/
static uint8_t PIDToArrayIndex( uint32_t parameter_id );
/**
* Retransforms a data pool id and an array index to a SCOS 2000 PID.
*/
static uint32_t poolIdAndPositionToPid( uint32_t poolId, uint8_t index );
/**
* Method to return the type of a pool variable.
* @param parameter_id A parameterID (not pool id) of a DP member.
* @param type Returns the type or TYPE::UNKNOWN_TYPE
* @return RETURN_OK if parameter exists, RETURN_FAILED else.
*/
ReturnValue_t getType( uint32_t parameter_id, Type* type );
/**
* Method to check if a PID exists.
* Does not lock, as there's no possibility to alter the list that is checked during run-time.
* @param parameterId The PID (not pool id!) of a parameter.
* @return true if exists, false else.
*/
bool exists(uint32_t parameterId);
};
//We assume someone globally instantiates a DataPool.
extern DataPool dataPool;
#endif /* DATAPOOL_H_ */

View File

@ -1,300 +0,0 @@
#include "DataPool.h"
#include "DataPoolAdmin.h"
#include "DataSet.h"
#include "PoolRawAccess.h"
#include "../ipc/CommandMessage.h"
#include "../ipc/QueueFactory.h"
#include "../parameters/ParameterMessage.h"
DataPoolAdmin::DataPoolAdmin(object_id_t objectId) :
SystemObject(objectId), storage(NULL), commandQueue(NULL), memoryHelper(
this, NULL), actionHelper(this, NULL) {
commandQueue = QueueFactory::instance()->createMessageQueue();
}
DataPoolAdmin::~DataPoolAdmin() {
QueueFactory::instance()->deleteMessageQueue(commandQueue);
}
ReturnValue_t DataPoolAdmin::performOperation(uint8_t opCode) {
handleCommand();
return RETURN_OK;
}
MessageQueueId_t DataPoolAdmin::getCommandQueue() const {
return commandQueue->getId();
}
ReturnValue_t DataPoolAdmin::executeAction(ActionId_t actionId,
MessageQueueId_t commandedBy, const uint8_t* data, size_t size) {
if (actionId != SET_VALIDITY) {
return INVALID_ACTION_ID;
}
if (size != 5) {
return INVALID_PARAMETERS;
}
uint32_t address = (data[0] << 24) | (data[1] << 16) | (data[2] << 8)
| data[3];
uint8_t valid = data[4];
uint32_t poolId = ::dataPool.PIDToDataPoolId(address);
DataSet mySet;
PoolRawAccess variable(poolId, 0, &mySet, PoolVariableIF::VAR_READ_WRITE);
ReturnValue_t status = mySet.read();
if (status != RETURN_OK) {
return INVALID_ADDRESS;
}
if (valid != 0) {
variable.setValid(PoolVariableIF::VALID);
} else {
variable.setValid(PoolVariableIF::INVALID);
}
mySet.commit();
return EXECUTION_FINISHED;
}
ReturnValue_t DataPoolAdmin::getParameter(uint8_t domainId,
uint16_t parameterId, ParameterWrapper* parameterWrapper,
const ParameterWrapper* newValues, uint16_t startAtIndex) {
return HasReturnvaluesIF::RETURN_FAILED;
}
void DataPoolAdmin::handleCommand() {
CommandMessage command;
ReturnValue_t result = commandQueue->receiveMessage(&command);
if (result != RETURN_OK) {
return;
}
result = actionHelper.handleActionMessage(&command);
if (result == HasReturnvaluesIF::RETURN_OK) {
return;
}
result = handleParameterCommand(&command);
if (result == HasReturnvaluesIF::RETURN_OK) {
return;
}
result = memoryHelper.handleMemoryCommand(&command);
if (result != RETURN_OK) {
command.setToUnknownCommand();
commandQueue->reply(&command);
}
}
ReturnValue_t DataPoolAdmin::handleMemoryLoad(uint32_t address,
const uint8_t* data, size_t size, uint8_t** dataPointer) {
uint32_t poolId = ::dataPool.PIDToDataPoolId(address);
uint8_t arrayIndex = ::dataPool.PIDToArrayIndex(address);
DataSet testSet;
PoolRawAccess varToGetSize(poolId, arrayIndex, &testSet,
PoolVariableIF::VAR_READ);
ReturnValue_t status = testSet.read();
if (status != RETURN_OK) {
return INVALID_ADDRESS;
}
uint8_t typeSize = varToGetSize.getSizeOfType();
if (size % typeSize != 0) {
return INVALID_SIZE;
}
if (size > varToGetSize.getSizeTillEnd()) {
return INVALID_SIZE;
}
const uint8_t* readPosition = data;
for (; size > 0; size -= typeSize) {
DataSet rawSet;
PoolRawAccess variable(poolId, arrayIndex, &rawSet,
PoolVariableIF::VAR_READ_WRITE);
status = rawSet.read();
if (status == RETURN_OK) {
status = variable.setEntryFromBigEndian(readPosition, typeSize);
if (status == RETURN_OK) {
status = rawSet.commit();
}
}
arrayIndex += 1;
readPosition += typeSize;
}
return ACTIVITY_COMPLETED;
}
ReturnValue_t DataPoolAdmin::handleMemoryDump(uint32_t address, size_t size,
uint8_t** dataPointer, uint8_t* copyHere) {
uint32_t poolId = ::dataPool.PIDToDataPoolId(address);
uint8_t arrayIndex = ::dataPool.PIDToArrayIndex(address);
DataSet testSet;
PoolRawAccess varToGetSize(poolId, arrayIndex, &testSet,
PoolVariableIF::VAR_READ);
ReturnValue_t status = testSet.read();
if (status != RETURN_OK) {
return INVALID_ADDRESS;
}
uint8_t typeSize = varToGetSize.getSizeOfType();
if (size > varToGetSize.getSizeTillEnd()) {
return INVALID_SIZE;
}
uint8_t* ptrToCopy = copyHere;
for (; size > 0; size -= typeSize) {
DataSet rawSet;
PoolRawAccess variable(poolId, arrayIndex, &rawSet,
PoolVariableIF::VAR_READ);
status = rawSet.read();
if (status == RETURN_OK) {
size_t temp = 0;
status = variable.getEntryEndianSafe(ptrToCopy, &temp, size);
if (status != RETURN_OK) {
return RETURN_FAILED;
}
} else {
//Error reading parameter.
}
arrayIndex += 1;
ptrToCopy += typeSize;
}
return ACTIVITY_COMPLETED;
}
ReturnValue_t DataPoolAdmin::initialize() {
ReturnValue_t result = SystemObject::initialize();
if (result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
result = memoryHelper.initialize(commandQueue);
if (result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
storage = objectManager->get<StorageManagerIF>(objects::IPC_STORE);
if (storage == NULL) {
return HasReturnvaluesIF::RETURN_FAILED;
}
result = actionHelper.initialize(commandQueue);
return result;
}
//mostly identical to ParameterHelper::handleParameterMessage()
ReturnValue_t DataPoolAdmin::handleParameterCommand(CommandMessage* command) {
ReturnValue_t result = HasReturnvaluesIF::RETURN_FAILED;
switch (command->getCommand()) {
case ParameterMessage::CMD_PARAMETER_DUMP: {
uint8_t domain = HasParametersIF::getDomain(
ParameterMessage::getParameterId(command));
uint16_t parameterId = HasParametersIF::getMatrixId(
ParameterMessage::getParameterId(command));
DataPoolParameterWrapper wrapper;
result = wrapper.set(domain, parameterId);
if (result == HasReturnvaluesIF::RETURN_OK) {
result = sendParameter(command->getSender(),
ParameterMessage::getParameterId(command), &wrapper);
}
}
break;
case ParameterMessage::CMD_PARAMETER_LOAD: {
uint8_t domain = HasParametersIF::getDomain(
ParameterMessage::getParameterId(command));
uint16_t parameterId = HasParametersIF::getMatrixId(
ParameterMessage::getParameterId(command));
uint8_t index = HasParametersIF::getIndex(
ParameterMessage::getParameterId(command));
const uint8_t *storedStream;
size_t storedStreamSize;
result = storage->getData(ParameterMessage::getStoreId(command),
&storedStream, &storedStreamSize);
if (result != HasReturnvaluesIF::RETURN_OK) {
break;
}
ParameterWrapper streamWrapper;
result = streamWrapper.set(storedStream, storedStreamSize);
if (result != HasReturnvaluesIF::RETURN_OK) {
storage->deleteData(ParameterMessage::getStoreId(command));
break;
}
DataPoolParameterWrapper poolWrapper;
result = poolWrapper.set(domain, parameterId);
if (result != HasReturnvaluesIF::RETURN_OK) {
storage->deleteData(ParameterMessage::getStoreId(command));
break;
}
result = poolWrapper.copyFrom(&streamWrapper, index);
storage->deleteData(ParameterMessage::getStoreId(command));
if (result == HasReturnvaluesIF::RETURN_OK) {
result = sendParameter(command->getSender(),
ParameterMessage::getParameterId(command), &poolWrapper);
}
}
break;
default:
return HasReturnvaluesIF::RETURN_FAILED;
}
if (result != HasReturnvaluesIF::RETURN_OK) {
rejectCommand(command->getSender(), result, command->getCommand());
}
return HasReturnvaluesIF::RETURN_OK;
}
//identical to ParameterHelper::sendParameter()
ReturnValue_t DataPoolAdmin::sendParameter(MessageQueueId_t to, uint32_t id,
const DataPoolParameterWrapper* wrapper) {
size_t serializedSize = wrapper->getSerializedSize();
uint8_t *storeElement;
store_address_t address;
ReturnValue_t result = storage->getFreeElement(&address, serializedSize,
&storeElement);
if (result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
size_t storeElementSize = 0;
result = wrapper->serialize(&storeElement, &storeElementSize,
serializedSize, SerializeIF::Endianness::BIG);
if (result != HasReturnvaluesIF::RETURN_OK) {
storage->deleteData(address);
return result;
}
CommandMessage reply;
ParameterMessage::setParameterDumpReply(&reply, id, address);
commandQueue->sendMessage(to, &reply);
return HasReturnvaluesIF::RETURN_OK;
}
//identical to ParameterHelper::rejectCommand()
void DataPoolAdmin::rejectCommand(MessageQueueId_t to, ReturnValue_t reason,
Command_t initialCommand) {
CommandMessage reply;
reply.setReplyRejected(reason, initialCommand);
commandQueue->sendMessage(to, &reply);
}

View File

@ -1,58 +0,0 @@
#ifndef DATAPOOLADMIN_H_
#define DATAPOOLADMIN_H_
#include "../memory/MemoryHelper.h"
#include "../action/HasActionsIF.h"
#include "../action/SimpleActionHelper.h"
#include "../objectmanager/SystemObject.h"
#include "../returnvalues/HasReturnvaluesIF.h"
#include "../tasks/ExecutableObjectIF.h"
#include "../parameters/ReceivesParameterMessagesIF.h"
#include "DataPoolParameterWrapper.h"
#include "../ipc/MessageQueueIF.h"
class DataPoolAdmin: public HasActionsIF,
public ExecutableObjectIF,
public AcceptsMemoryMessagesIF,
public HasReturnvaluesIF,
public ReceivesParameterMessagesIF,
public SystemObject {
public:
static const ActionId_t SET_VALIDITY = 1;
DataPoolAdmin(object_id_t objectId);
~DataPoolAdmin();
ReturnValue_t performOperation(uint8_t opCode);
MessageQueueId_t getCommandQueue() const;
ReturnValue_t handleMemoryLoad(uint32_t address, const uint8_t* data,
size_t size, uint8_t** dataPointer);
ReturnValue_t handleMemoryDump(uint32_t address, size_t size,
uint8_t** dataPointer, uint8_t* copyHere);
ReturnValue_t executeAction(ActionId_t actionId,
MessageQueueId_t commandedBy, const uint8_t* data, size_t size);
//not implemented as ParameterHelper is no used
ReturnValue_t getParameter(uint8_t domainId, uint16_t parameterId,
ParameterWrapper *parameterWrapper,
const ParameterWrapper *newValues, uint16_t startAtIndex);
ReturnValue_t initialize();
private:
StorageManagerIF *storage;
MessageQueueIF* commandQueue;
MemoryHelper memoryHelper;
SimpleActionHelper actionHelper;
void handleCommand();
ReturnValue_t handleParameterCommand(CommandMessage *command);
ReturnValue_t sendParameter(MessageQueueId_t to, uint32_t id,
const DataPoolParameterWrapper* wrapper);
void rejectCommand(MessageQueueId_t to, ReturnValue_t reason,
Command_t initialCommand);
};
#endif /* DATAPOOLADMIN_H_ */

View File

@ -1,181 +0,0 @@
#include "DataPoolParameterWrapper.h"
//for returncodes
#include "../parameters/HasParametersIF.h"
#include "DataSet.h"
#include "PoolRawAccess.h"
DataPoolParameterWrapper::DataPoolParameterWrapper() :
type(Type::UNKNOWN_TYPE), rows(0), columns(0), poolId(
PoolVariableIF::NO_PARAMETER) {
}
DataPoolParameterWrapper::~DataPoolParameterWrapper() {
}
ReturnValue_t DataPoolParameterWrapper::set(uint8_t domainId,
uint16_t parameterId) {
poolId = (domainId << 16) + parameterId;
DataSet mySet;
PoolRawAccess raw(poolId, 0, &mySet, PoolVariableIF::VAR_READ);
ReturnValue_t status = mySet.read();
if (status != HasReturnvaluesIF::RETURN_OK) {
//should only fail for invalid pool id
return HasParametersIF::INVALID_MATRIX_ID;
}
type = raw.getType();
rows = raw.getArraySize();
columns = 1;
return HasReturnvaluesIF::RETURN_OK;
}
ReturnValue_t DataPoolParameterWrapper::serialize(uint8_t** buffer,
size_t* size, size_t maxSize, Endianness streamEndianness) const {
ReturnValue_t result;
result = SerializeAdapter::serialize(&type, buffer, size, maxSize,
streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
result = SerializeAdapter::serialize(&columns, buffer, size,
maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
result = SerializeAdapter::serialize(&rows, buffer, size, maxSize,
streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
for (uint8_t index = 0; index < rows; index++){
DataSet mySet;
PoolRawAccess raw(poolId, index, &mySet,PoolVariableIF::VAR_READ);
mySet.read();
result = raw.serialize(buffer,size,maxSize,streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK){
return result;
}
}
return HasReturnvaluesIF::RETURN_OK;
}
//same as ParameterWrapper
size_t DataPoolParameterWrapper::getSerializedSize() const {
size_t serializedSize = 0;
serializedSize += type.getSerializedSize();
serializedSize += sizeof(rows);
serializedSize += sizeof(columns);
serializedSize += rows * columns * type.getSize();
return serializedSize;
}
ReturnValue_t DataPoolParameterWrapper::deSerialize(const uint8_t** buffer,
size_t* size, Endianness streamEndianness) {
return HasReturnvaluesIF::RETURN_FAILED;
}
template<typename T>
ReturnValue_t DataPoolParameterWrapper::deSerializeData(uint8_t startingRow,
uint8_t startingColumn, const void* from, uint8_t fromRows) {
//treat from as a continuous Stream as we copy all of it
const uint8_t *fromAsStream = (const uint8_t *) from;
ReturnValue_t result = HasReturnvaluesIF::RETURN_OK;
for (uint8_t fromRow = 0; fromRow < fromRows; fromRow++) {
DataSet mySet;
PoolRawAccess raw(poolId, startingRow + fromRow, &mySet,
PoolVariableIF::VAR_READ_WRITE);
mySet.read();
result = raw.setEntryFromBigEndian(fromAsStream, sizeof(T));
fromAsStream += sizeof(T);
if (result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
mySet.commit();
}
return HasReturnvaluesIF::RETURN_OK;
}
ReturnValue_t DataPoolParameterWrapper::copyFrom(const ParameterWrapper* from,
uint16_t startWritingAtIndex) {
if (poolId == PoolVariableIF::NO_PARAMETER) {
return ParameterWrapper::NOT_SET;
}
if (type != from->type) {
return ParameterWrapper::DATATYPE_MISSMATCH;
}
//check if from fits into this
uint8_t startingRow = startWritingAtIndex / columns;
uint8_t startingColumn = startWritingAtIndex % columns;
if ((from->rows > (rows - startingRow))
|| (from->columns > (columns - startingColumn))) {
return ParameterWrapper::TOO_BIG;
}
ReturnValue_t result;
//copy data
if (from->pointsToStream) {
switch (type) {
case Type::UINT8_T:
result = deSerializeData<uint8_t>(startingRow, startingColumn,
from->readonlyData, from->rows);
break;
case Type::INT8_T:
result = deSerializeData<int8_t>(startingRow, startingColumn,
from->readonlyData, from->rows);
break;
case Type::UINT16_T:
result = deSerializeData<uint16_t>(startingRow, startingColumn,
from->readonlyData, from->rows);
break;
case Type::INT16_T:
result = deSerializeData<int16_t>(startingRow, startingColumn,
from->readonlyData, from->rows);
break;
case Type::UINT32_T:
result = deSerializeData<uint32_t>(startingRow, startingColumn,
from->readonlyData, from->rows);
break;
case Type::INT32_T:
result = deSerializeData<int32_t>(startingRow, startingColumn,
from->readonlyData, from->rows);
break;
case Type::FLOAT:
result = deSerializeData<float>(startingRow, startingColumn,
from->readonlyData, from->rows);
break;
case Type::DOUBLE:
result = deSerializeData<double>(startingRow, startingColumn,
from->readonlyData, from->rows);
break;
default:
result = ParameterWrapper::UNKNOW_DATATYPE;
break;
}
} else {
//not supported
return HasReturnvaluesIF::RETURN_FAILED;
}
return result;
}

View File

@ -1,38 +0,0 @@
#ifndef DATAPOOLPARAMETERWRAPPER_H_
#define DATAPOOLPARAMETERWRAPPER_H_
#include "../globalfunctions/Type.h"
#include "../parameters/ParameterWrapper.h"
class DataPoolParameterWrapper: public SerializeIF {
public:
DataPoolParameterWrapper();
virtual ~DataPoolParameterWrapper();
ReturnValue_t set(uint8_t domainId, uint16_t parameterId);
virtual ReturnValue_t serialize(uint8_t** buffer, size_t* size,
size_t maxSize, Endianness streamEndianness) const override;
virtual size_t getSerializedSize() const override;
virtual ReturnValue_t deSerialize(const uint8_t** buffer, size_t* size,
Endianness streamEndianness) override;
ReturnValue_t copyFrom(const ParameterWrapper *from,
uint16_t startWritingAtIndex);
private:
Type type;
uint8_t rows;
uint8_t columns;
uint32_t poolId;
template<typename T>
ReturnValue_t deSerializeData(uint8_t startingRow, uint8_t startingColumn,
const void *from, uint8_t fromRows);
};
#endif /* DATAPOOLPARAMETERWRAPPER_H_ */

View File

@ -1,150 +0,0 @@
#include "DataSet.h"
#include "../serviceinterface/ServiceInterfaceStream.h"
DataSet::DataSet() :
fill_count(0), state(DATA_SET_UNINITIALISED) {
for (unsigned count = 0; count < DATA_SET_MAX_SIZE; count++) {
registeredVariables[count] = NULL;
}
}
DataSet::~DataSet() {
//Don't do anything with your variables, they are dead already! (Destructor is already called)
}
ReturnValue_t DataSet::read() {
ReturnValue_t result = RETURN_OK;
if (state == DATA_SET_UNINITIALISED) {
lockDataPool();
for (uint16_t count = 0; count < fill_count; count++) {
if (registeredVariables[count]->getReadWriteMode()
!= PoolVariableIF::VAR_WRITE
&& registeredVariables[count]->getDataPoolId()
!= PoolVariableIF::NO_PARAMETER) {
ReturnValue_t status = registeredVariables[count]->read();
if (status != RETURN_OK) {
result = INVALID_PARAMETER_DEFINITION;
break;
}
}
}
state = DATA_SET_WAS_READ;
freeDataPoolLock();
} else {
sif::error << "DataSet::read(): Call made in wrong position." << std::endl;
result = SET_WAS_ALREADY_READ;
}
return result;
}
ReturnValue_t DataSet::commit(uint8_t valid) {
setValid(valid);
return commit();
}
ReturnValue_t DataSet::commit() {
if (state == DATA_SET_WAS_READ) {
lockDataPool();
for (uint16_t count = 0; count < fill_count; count++) {
if (registeredVariables[count]->getReadWriteMode()
!= PoolVariableIF::VAR_READ
&& registeredVariables[count]->getDataPoolId()
!= PoolVariableIF::NO_PARAMETER) {
registeredVariables[count]->commit();
}
}
state = DATA_SET_UNINITIALISED;
freeDataPoolLock();
return RETURN_OK;
} else {
ReturnValue_t result = RETURN_OK;
lockDataPool();
for (uint16_t count = 0; count < fill_count; count++) {
if (registeredVariables[count]->getReadWriteMode()
== PoolVariableIF::VAR_WRITE
&& registeredVariables[count]->getDataPoolId()
!= PoolVariableIF::NO_PARAMETER) {
registeredVariables[count]->commit();
} else if (registeredVariables[count]->getDataPoolId()
!= PoolVariableIF::NO_PARAMETER) {
if (result != COMMITING_WITHOUT_READING) {
sif::error <<
"DataSet::commit(): commit-without-read "
"call made with non write-only variable." << std::endl;
result = COMMITING_WITHOUT_READING;
}
}
}
state = DATA_SET_UNINITIALISED;
freeDataPoolLock();
return result;
}
}
void DataSet::registerVariable(PoolVariableIF* variable) {
if (state == DATA_SET_UNINITIALISED) {
if (variable != NULL) {
if (fill_count < DATA_SET_MAX_SIZE) {
registeredVariables[fill_count] = variable;
fill_count++;
return;
}
}
}
sif::error
<< "DataSet::registerVariable: failed. Either NULL, or set is full, or call made in wrong position."
<< std::endl;
return;
}
uint8_t DataSet::freeDataPoolLock() {
return ::dataPool.freeDataPoolLock();
}
uint8_t DataSet::lockDataPool() {
return ::dataPool.lockDataPool();
}
ReturnValue_t DataSet::serialize(uint8_t** buffer, size_t* size,
size_t maxSize, Endianness streamEndianness) const {
ReturnValue_t result = RETURN_FAILED;
for (uint16_t count = 0; count < fill_count; count++) {
result = registeredVariables[count]->serialize(buffer, size, maxSize,
streamEndianness);
if (result != RETURN_OK) {
return result;
}
}
return result;
}
size_t DataSet::getSerializedSize() const {
size_t size = 0;
for (uint16_t count = 0; count < fill_count; count++) {
size += registeredVariables[count]->getSerializedSize();
}
return size;
}
void DataSet::setValid(uint8_t valid) {
for (uint16_t count = 0; count < fill_count; count++) {
if (registeredVariables[count]->getReadWriteMode()
!= PoolVariableIF::VAR_READ) {
registeredVariables[count]->setValid(valid);
}
}
}
ReturnValue_t DataSet::deSerialize(const uint8_t** buffer, size_t* size,
Endianness streamEndianness) {
ReturnValue_t result = RETURN_FAILED;
for (uint16_t count = 0; count < fill_count; count++) {
result = registeredVariables[count]->deSerialize(buffer, size,
streamEndianness);
if (result != RETURN_OK) {
return result;
}
}
return result;
}

View File

@ -1,159 +0,0 @@
/*
* \file DataSet.h
*
* \brief This file contains the DataSet class and a small structure called DataSetContent.
*
* \date 10/17/2012
*
* \author Bastian Baetz
*
*/
#ifndef DATASET_H_
#define DATASET_H_
#include "DataPool.h"
#include "DataSetIF.h"
#include "PoolRawAccess.h"
#include "PoolVariable.h"
#include "PoolVarList.h"
#include "PoolVector.h"
#include "../serialize/SerializeAdapter.h"
/**
* \brief The DataSet class manages a set of locally checked out variables.
*
* \details This class manages a list, where a set of local variables (or pool variables) are
* registered. They are checked-out (i.e. their values are looked up and copied)
* with the read call. After the user finishes working with the pool variables,
* he can write back all variable values to the pool with the commit call.
* The data set manages locking and freeing the data pool, to ensure that all values
* are read and written back at once.
* An internal state manages usage of this class. Variables may only be registered before
* the read call is made, and the commit call only after the read call.
* If pool variables are writable and not committed until destruction of the set, the
* DataSet class automatically sets the valid flag in the data pool to invalid (without)
* changing the variable's value.
*
* \ingroup data_pool
*/
class DataSet: public DataSetIF, public HasReturnvaluesIF, public SerializeIF {
private:
//SHOULDDO we could use a linked list of datapool variables
static const uint8_t DATA_SET_MAX_SIZE = 63; //!< This definition sets the maximum number of variables to register in one DataSet.
/**
* \brief This array represents all pool variables registered in this set.
* \details It has a maximum size of DATA_SET_MAX_SIZE.
*/
PoolVariableIF* registeredVariables[DATA_SET_MAX_SIZE];
/**
* \brief The fill_count attribute ensures that the variables register in the correct array
* position and that the maximum number of variables is not exceeded.
*/
uint16_t fill_count;
/**
* States of the seet.
*/
enum States {
DATA_SET_UNINITIALISED, //!< DATA_SET_UNINITIALISED
DATA_SET_WAS_READ //!< DATA_SET_WAS_READ
};
/**
* \brief state manages the internal state of the data set, which is important e.g. for the
* behavior on destruction.
*/
States state;
/**
* \brief This is a small helper function to facilitate locking the global data pool.
* \details It makes use of the lockDataPool method offered by the DataPool class.
*/
uint8_t lockDataPool();
/**
* \brief This is a small helper function to facilitate unlocking the global data pool.
* \details It makes use of the freeDataPoolLock method offered by the DataPool class.
*/
uint8_t freeDataPoolLock();
public:
static const uint8_t INTERFACE_ID = CLASS_ID::DATA_SET_CLASS;
static const ReturnValue_t INVALID_PARAMETER_DEFINITION =
MAKE_RETURN_CODE( 0x01 );
static const ReturnValue_t SET_WAS_ALREADY_READ = MAKE_RETURN_CODE( 0x02 );
static const ReturnValue_t COMMITING_WITHOUT_READING =
MAKE_RETURN_CODE(0x03);
/**
* \brief The constructor simply sets the fill_count to zero and sets the state to "uninitialized".
*/
DataSet();
/**
* \brief The destructor automatically manages writing the valid information of variables.
* \details In case the data set was read out, but not committed (indicated by state),
* the destructor parses all variables that are still registered to the set.
* For each, the valid flag in the data pool is set to "invalid".
*/
~DataSet();
/**
* \brief The read call initializes reading out all registered variables.
* \details It iterates through the list of registered variables and calls all read()
* functions of the registered pool variables (which read out their values from the
* data pool) which are not write-only. In case of an error (e.g. a wrong data type,
* or an invalid data pool id), the operation is aborted and
* \c INVALID_PARAMETER_DEFINITION returned.
* The data pool is locked during the whole read operation and freed afterwards.
* The state changes to "was written" after this operation.
* \return - \c RETURN_OK if all variables were read successfully.
* - \c INVALID_PARAMETER_DEFINITION if PID, size or type of the
* requested variable is invalid.
* - \c SET_WAS_ALREADY_READ if read() is called twice without calling
* commit() in between
*/
ReturnValue_t read();
/**
* \brief The commit call initializes writing back the registered variables.
* \details It iterates through the list of registered variables and calls
* the commit() method of the remaining registered variables (which write back
* their values to the pool).
* The data pool is locked during the whole commit operation and freed afterwards.
* The state changes to "was committed" after this operation.
* If the set does contain at least one variable which is not write-only commit()
* can only be called after read(). If the set only contains variables which are
* write only, commit() can be called without a preceding read() call.
* \return - \c RETURN_OK if all variables were read successfully.
* - \c COMMITING_WITHOUT_READING if set was not read yet and contains non write-only
* variables
*/
ReturnValue_t commit(void);
/**
* Variant of method above which sets validity of all elements of the set.
* @param valid Validity information from PoolVariableIF.
* \return - \c RETURN_OK if all variables were read successfully.
* - \c COMMITING_WITHOUT_READING if set was not read yet and contains non write-only
* variables
*/
ReturnValue_t commit(uint8_t valid);
/**
* \brief This operation is used to register the local variables in the set.
* \details It copies all required information to the currently
* free space in the registeredVariables list.
*/
void registerVariable(PoolVariableIF* variable);
/**
* Set the valid information of all variables contained in the set which are not readonly
*
* @param valid Validity information from PoolVariableIF.
*/
void setValid(uint8_t valid);
ReturnValue_t serialize(uint8_t** buffer, size_t* size,
size_t maxSize, Endianness streamEndianness) const override;
size_t getSerializedSize() const override;
ReturnValue_t deSerialize(const uint8_t** buffer, size_t* size,
Endianness streamEndianness) override;
};
#endif /* DATASET_H_ */

View File

@ -1,39 +0,0 @@
/**
* \file DataSetIF.h
*
* \brief This file contains the small interface to access the DataSet class.
*
* \date 10/23/2012
*
* \author Bastian Baetz
*
*/
#ifndef DATASETIF_H_
#define DATASETIF_H_
class PoolVariableIF;
/**
* \brief This class defines a small interface to register on a DataSet.
*
* \details Currently, the only purpose of this interface is to provide a method for locally
* checked-out variables to register on a data set. Still, it may become useful for
* other purposes as well.
*
* \ingroup data_pool
*/
class DataSetIF {
public:
/**
* \brief This is an empty virtual destructor, as it is proposed for C++ interfaces.
*/
virtual ~DataSetIF() {}
/**
* \brief This operation provides a method to register local data pool variables
* to register in a data set by passing itself to this DataSet operation.
*/
virtual void registerVariable( PoolVariableIF* variable ) = 0;
};
#endif /* DATASETIF_H_ */

View File

@ -1,76 +0,0 @@
#include "HkSwitchHelper.h"
//#include <mission/tmtcservices/HKService_03.h>
#include "../ipc/QueueFactory.h"
HkSwitchHelper::HkSwitchHelper(EventReportingProxyIF* eventProxy) :
commandActionHelper(this), eventProxy(eventProxy) {
actionQueue = QueueFactory::instance()->createMessageQueue();
}
HkSwitchHelper::~HkSwitchHelper() {
// TODO Auto-generated destructor stub
}
ReturnValue_t HkSwitchHelper::initialize() {
ReturnValue_t result = commandActionHelper.initialize();
if (result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
return result;
}
ReturnValue_t HkSwitchHelper::performOperation(uint8_t operationCode) {
CommandMessage message;
while (actionQueue->receiveMessage(&message) == HasReturnvaluesIF::RETURN_OK) {
ReturnValue_t result = commandActionHelper.handleReply(&message);
if (result == HasReturnvaluesIF::RETURN_OK) {
continue;
}
message.setToUnknownCommand();
actionQueue->reply(&message);
}
return HasReturnvaluesIF::RETURN_OK;
}
void HkSwitchHelper::stepSuccessfulReceived(ActionId_t actionId, uint8_t step) {
}
void HkSwitchHelper::stepFailedReceived(ActionId_t actionId, uint8_t step,
ReturnValue_t returnCode) {
eventProxy->forwardEvent(SWITCHING_TM_FAILED, returnCode, actionId);
}
void HkSwitchHelper::dataReceived(ActionId_t actionId, const uint8_t* data,
uint32_t size) {
}
void HkSwitchHelper::completionSuccessfulReceived(ActionId_t actionId) {
}
void HkSwitchHelper::completionFailedReceived(ActionId_t actionId,
ReturnValue_t returnCode) {
eventProxy->forwardEvent(SWITCHING_TM_FAILED, returnCode, actionId);
}
ReturnValue_t HkSwitchHelper::switchHK(SerializeIF* sids, bool enable) {
// ActionId_t action = HKService::DISABLE_HK;
// if (enable) {
// action = HKService::ENABLE_HK;
// }
//
// ReturnValue_t result = commandActionHelper.commandAction(
// objects::PUS_HK_SERVICE, action, sids);
//
// if (result != HasReturnvaluesIF::RETURN_OK) {
// eventProxy->forwardEvent(SWITCHING_TM_FAILED, result);
// }
// return result;
return HasReturnvaluesIF::RETURN_OK;
}
MessageQueueIF* HkSwitchHelper::getCommandQueuePtr() {
return actionQueue;
}

View File

@ -1,46 +0,0 @@
#ifndef FRAMEWORK_DATAPOOL_HKSWITCHHELPER_H_
#define FRAMEWORK_DATAPOOL_HKSWITCHHELPER_H_
#include "../tasks/ExecutableObjectIF.h"
#include "../action/CommandsActionsIF.h"
#include "../events/EventReportingProxyIF.h"
//TODO this class violations separation between mission and framework
//but it is only a transitional solution until the Datapool is
//implemented decentrally
class HkSwitchHelper: public ExecutableObjectIF, public CommandsActionsIF {
public:
static const uint8_t SUBSYSTEM_ID = SUBSYSTEM_ID::HK;
static const Event SWITCHING_TM_FAILED = MAKE_EVENT(1, SEVERITY::LOW); //!< Commanding the HK Service failed, p1: error code, p2 action: 0 disable / 1 enable
HkSwitchHelper(EventReportingProxyIF *eventProxy);
virtual ~HkSwitchHelper();
ReturnValue_t initialize();
virtual ReturnValue_t performOperation(uint8_t operationCode = 0);
ReturnValue_t switchHK(SerializeIF *sids, bool enable);
virtual void setTaskIF(PeriodicTaskIF* task_){};
protected:
virtual void stepSuccessfulReceived(ActionId_t actionId, uint8_t step);
virtual void stepFailedReceived(ActionId_t actionId, uint8_t step,
ReturnValue_t returnCode);
virtual void dataReceived(ActionId_t actionId, const uint8_t* data,
uint32_t size);
virtual void completionSuccessfulReceived(ActionId_t actionId);
virtual void completionFailedReceived(ActionId_t actionId,
ReturnValue_t returnCode);
virtual MessageQueueIF* getCommandQueuePtr();
private:
CommandActionHelper commandActionHelper;
MessageQueueIF* actionQueue;
EventReportingProxyIF *eventProxy;
};
#endif /* FRAMEWORK_DATAPOOL_HKSWITCHHELPER_H_ */

View File

@ -1,147 +0,0 @@
#ifndef PIDREADER_H_
#define PIDREADER_H_
#include "DataPool.h"
#include "DataSetIF.h"
#include "PoolEntry.h"
#include "PoolVariableIF.h"
#include "../serialize/SerializeAdapter.h"
#include "../serviceinterface/ServiceInterfaceStream.h"
template<typename U, uint8_t n_var> class PIDReaderList;
template<typename T>
class PIDReader: public PoolVariableIF {
template<typename U, uint8_t n_var> friend class PIDReaderList;
protected:
uint32_t parameterId;
uint8_t valid;
ReturnValue_t read() {
uint8_t arrayIndex = DataPool::PIDToArrayIndex(parameterId);
PoolEntry<T> *read_out = ::dataPool.getData<T>(
DataPool::PIDToDataPoolId(parameterId), arrayIndex);
if (read_out != NULL) {
valid = read_out->valid;
value = read_out->address[arrayIndex];
return HasReturnvaluesIF::RETURN_OK;
} else {
value = 0;
valid = false;
sif::error << "PIDReader: read of PID 0x" << std::hex << parameterId
<< std::dec << " failed." << std::endl;
return HasReturnvaluesIF::RETURN_FAILED;
}
}
/**
* Never commit, is read-only.
* Reason is the possibility to access a single DP vector element, but if we commit,
* we set validity of the whole vector.
*/
ReturnValue_t commit() {
return HasReturnvaluesIF::RETURN_FAILED;
}
/**
* Empty ctor for List initialization
*/
PIDReader() :
parameterId(PoolVariableIF::NO_PARAMETER), valid(
PoolVariableIF::INVALID), value(0) {
}
public:
/**
* \brief This is the local copy of the data pool entry.
*/
T value;
/**
* \brief In the constructor, the variable can register itself in a DataSet (if not NULL is
* passed).
* \details It DOES NOT fetch the current value from the data pool, but sets the value
* attribute to default (0). The value is fetched within the read() operation.
* \param set_id This is the id in the global data pool this instance of the access class
* corresponds to.
* \param dataSet The data set in which the variable shall register itself. If NULL,
* the variable is not registered.
* \param setWritable If this flag is set to true, changes in the value attribute can be
* written back to the data pool, otherwise not.
*/
PIDReader(uint32_t setParameterId, DataSetIF *dataSet) :
parameterId(setParameterId), valid(PoolVariableIF::INVALID), value(
0) {
if (dataSet != NULL) {
dataSet->registerVariable(this);
}
}
/**
* Copy ctor to copy classes containing Pool Variables.
*/
PIDReader(const PIDReader &rhs) :
parameterId(rhs.parameterId), valid(rhs.valid), value(rhs.value) {
}
/**
* \brief The classes destructor is empty.
*/
~PIDReader() {
}
/**
* \brief This operation returns the data pool id of the variable.
*/
uint32_t getDataPoolId() const {
return DataPool::PIDToDataPoolId(parameterId);
}
uint32_t getParameterId() const {
return parameterId;
}
/**
* This method returns if the variable is write-only, read-write or read-only.
*/
ReadWriteMode_t getReadWriteMode() const {
return VAR_READ;
}
/**
* \brief With this call, the valid information of the variable is returned.
*/
bool isValid() const {
if (valid)
return true;
else
return false;
}
uint8_t getValid() {
return valid;
}
void setValid(uint8_t valid) {
this->valid = valid;
}
operator T() {
return value;
}
PIDReader<T>& operator=(T newValue) {
value = newValue;
return *this;
}
virtual ReturnValue_t serialize(uint8_t **buffer, size_t *size,
size_t maxSize, Endianness streamEndianness) const override {
return SerializeAdapter::serialize(&value, buffer, size, maxSize,
streamEndianness);
}
virtual size_t getSerializedSize() const override {
return SerializeAdapter::getSerializedSize(&value);
}
virtual ReturnValue_t deSerialize(const uint8_t **buffer, size_t *size,
Endianness streamEndianness) override {
return SerializeAdapter::deSerialize(&value, buffer, size,
streamEndianness);
}
};
#endif /* PIDREADER_H_ */

View File

@ -1,27 +0,0 @@
#ifndef FRAMEWORK_DATAPOOL_PIDREADERLIST_H_
#define FRAMEWORK_DATAPOOL_PIDREADERLIST_H_
#include "PIDReader.h"
#include "PoolVariableIF.h"
template <class T, uint8_t n_var>
class PIDReaderList {
private:
PIDReader<T> variables[n_var];
public:
PIDReaderList( const uint32_t setPid[n_var], DataSetIF* dataSet) {
//I really should have a look at the new init list c++ syntax.
if (dataSet == NULL) {
return;
}
for (uint8_t count = 0; count < n_var; count++) {
variables[count].parameterId = setPid[count];
dataSet->registerVariable(&variables[count]);
}
}
PIDReader<T> &operator [](int i) { return variables[i]; }
};
#endif /* FRAMEWORK_DATAPOOL_PIDREADERLIST_H_ */

Some files were not shown because too many files have changed in this diff Show More