Compare commits

...

647 Commits

Author SHA1 Message Date
muellerr 04122ffec5 dumb bug 2022-09-28 17:00:28 +02:00
muellerr 7e0a5d5a9e printout tweak
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-09-15 13:40:37 +02:00
muellerr ee1c6a3f04 better error printout
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-09-15 13:37:10 +02:00
muellerr cf8fe7ea72 more simplfications
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-09-01 10:51:09 +02:00
muellerr 496dac89e4 important bugfix for TCP TMTC server
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-31 22:47:58 +02:00
muellerr cfca27542a small fix which allows sending action reply immediately
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-31 16:26:18 +02:00
muellerr 2fa76d3663 Merge remote-tracking branch 'upstream/mueller/dhb-handle-device-tm-2' into develop
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-31 00:02:52 +02:00
muellerr 158007fa7f const correct API
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-31 00:02:25 +02:00
muellerr 726f44cafe Merge remote-tracking branch 'upstream/mueller/dhb-handle-device-tm-2' into develop
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 23:53:16 +02:00
muellerr ab719a3e59 alternative solution
fsfw/fsfw/pipeline/head Build started...
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 23:38:55 +02:00
muellerr 141dcb1f14 Merge remote-tracking branch 'upstream/mueller/data-wrapper' into develop
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 16:05:25 +02:00
muellerr 6ebd6a965b Merge remote-tracking branch 'upstream/mueller/data-wrapper' into develop 2022-08-30 16:05:02 +02:00
muellerr 20f0707813 remove newline
fsfw/fsfw/pipeline/pr-development This commit looks good
fsfw/fsfw/pipeline/head This commit looks good
2022-08-30 16:04:45 +02:00
muellerr 8d1777fa0c additional tests
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 16:02:50 +02:00
muellerr 21ac86619e now its getting interesting
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 15:52:34 +02:00
muellerr eedf57624f Merge remote-tracking branch 'upstream/mueller/dhb-handle-device-tm' into develop 2022-08-30 15:40:52 +02:00
muellerr ae40543e3a this is annoying
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 15:16:54 +02:00
muellerr efd2994dc5 dump compiler erorrs.. 2022-08-30 14:59:59 +02:00
muellerr 3ebebbd493 Merge branch 'develop' into mueller/data-wrapper-update 2022-08-30 14:54:20 +02:00
muellerr a8c066dccc Merge remote-tracking branch 'upstream/mueller/refactor-local-pool-api' into develop
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-08-30 14:54:03 +02:00
muellerr 4d17f1c4bb Merge remote-tracking branch 'upstream/mueller/refactor-tmtc-stack' into develop
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-08-30 14:53:38 +02:00
muellerr d4ed528426 Merge remote-tracking branch 'upstream/mueller/data-wrapper' into mueller/data-wrapper-update 2022-08-30 14:52:09 +02:00
muellerr e10e71cee9 Merge branch 'mueller/data-wrapper' into mueller/dhb-handle-device-tm
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 14:42:13 +02:00
muellerr d675a789a2 update changelog
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 14:41:37 +02:00
muellerr 6b8c83be29 update changelog
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 14:40:02 +02:00
muellerr 093052604a Merge branch 'mueller/data-wrapper' into mueller/dhb-handle-device-tm
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 14:03:45 +02:00
muellerr 192255df1c additional test
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 14:03:33 +02:00
muellerr bdd79d060d basic data wrapper unittests
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 14:02:58 +02:00
muellerr 8e6cee7761 Merge branch 'mueller/data-wrapper' into mueller/refactor-tmtc-stack
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-08-30 13:46:03 +02:00
muellerr c756297e5c data wrapper update
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 13:39:44 +02:00
muellerr 3a47062f2a refactored dhb TM handler
fsfw/fsfw/pipeline/head Build started...
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 13:39:21 +02:00
muellerr 0f27c7e7e7 extend data wrapper
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 13:24:29 +02:00
muellerr 20d42add03 add new data wrapper helper type
fsfw/fsfw/pipeline/head Build started...
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 12:07:09 +02:00
muellerr a9277622ce move data wrapper
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 12:04:15 +02:00
muellerr aea9db75cb better name
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 11:12:06 +02:00
muellerr 9fedd03ed8 use cfg struct for local pool API
fsfw/fsfw/pipeline/head This commit looks good
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 11:02:21 +02:00
muellerr 10fc4dd89d Merge branch 'mueller/refactor-tmtc-stack' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/refactor-tmtc-stack
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-30 10:58:06 +02:00
muellerr 0cc8af5eb0 afmt 2022-08-30 10:57:17 +02:00
muellerr 92d65aa3a5 use old lpm api 2022-08-30 10:57:02 +02:00
muellerr 342a56410c delete commented function 2022-08-30 10:28:55 +02:00
muellerr 2cab73d972 avoid duplicate code
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-29 20:09:28 +02:00
muellerr cb23911ccd default initialization of CDS short struct
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-29 15:30:45 +02:00
muellerr b499dedd76 remove TODO
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-29 15:27:53 +02:00
muellerr 1bb487373d Merge branch 'mueller/refactor-tmtc-stack' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/refactor-tmtc-stack
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-29 15:20:51 +02:00
muellerr 3bffb4f968 fix for static fw obj setter 2022-08-29 15:20:33 +02:00
gaisser 6bcb208968 Merge branch 'development' into mueller/refactor-tmtc-stack
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-29 15:11:50 +02:00
gaisser 6c2b5ab39e Merge pull request 'improvements for auto-formatter script' (#665) from eive/fsfw:mueller/update-afmt-script into development
fsfw/fsfw/pipeline/head This commit looks good
Reviewed-on: #665
2022-08-29 15:06:56 +02:00
gaisser a7039bad41 Merge pull request 'PUS Service 11: Additional Safety Check' (#666) from eive/fsfw:mueller/service-11-tweak into development
fsfw/fsfw/pipeline/head This commit looks good
Reviewed-on: #666
2022-08-29 14:59:24 +02:00
mohr 6605ffb6b1 Fixing check in Srv 11 Filer
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-29 14:55:50 +02:00
mohr e2e0190cae Revert "additional safety check"
This reverts commit fd278e410b.
2022-08-29 14:51:14 +02:00
muellerr fd278e410b additional safety check
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-29 13:18:54 +02:00
muellerr 9a590a3fcd additional safety check
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-08-29 12:01:44 +02:00
muellerr 2a75440b32 allow device tm in raw format
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-27 01:01:29 +02:00
muellerr ff4cbea571 improvements for auto-formatter script
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-24 17:44:55 +02:00
muellerr f5866ddace missing replacements
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-24 17:25:45 +02:00
muellerr f91ad84bdc Merge remote-tracking branch 'upstream/mueller/refactor-tmtc-stack' into mueller/refactor-tmtc-stack-retval-merged 2022-08-24 17:13:41 +02:00
muellerr a46d8c34d9 small changelog update
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-22 16:37:53 +02:00
muellerr ba5c6410d6 tests running again
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-22 16:23:36 +02:00
muellerr 10f34e5a48 Merge remote-tracking branch 'origin/development' into mueller/refactor-tmtc-stack-with-retval-refactoring
fsfw/fsfw/pipeline/head There was a failure building this commit
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-08-22 15:57:22 +02:00
muellerr dab1b1d067 apply auto-formatter
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
fsfw/fsfw/pipeline/head There was a failure building this commit
2022-08-22 15:02:53 +02:00
muellerr 8c8d1cfa84 apply auto-formatter
fsfw/fsfw/pipeline/head This commit looks good
2022-08-22 15:02:16 +02:00
muellerr 2a4ab0af7b Merge branch 'mueller/refactor-tmtc-stack' into mueller/refactor-tmtc-stack-with-retval-refactoring
fsfw/fsfw/pipeline/head There was a failure building this commit
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-08-22 14:17:24 +02:00
gaisser 7c59df3f1c Merge pull request 'returnvalue namespace' (#659) from mueller/expand-retval-if into development
fsfw/fsfw/pipeline/head This commit looks good
Reviewed-on: #659
2022-08-22 14:14:06 +02:00
muellerr ff6de8e378 important bugfix for verif reporter
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-08-18 11:20:27 +02:00
muellerr 7881f5bab8 important bugfix for verif reporter
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-08-18 11:19:42 +02:00
muellerr 34c714eb17 Merge branch 'mueller/tmtc-stack-refactoring' into develop
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-16 17:49:06 +02:00
muellerr 7205885357 added additional API for HK subscription params 2022-08-16 17:47:56 +02:00
muellerr 42c5881c50 Merge pull request 'TMTC Stack Refactoring' (#106) from mueller/tmtc-stack-refactoring into develop
fsfw/fsfw/pipeline/pr-development This commit looks good
Reviewed-on: eive/fsfw#106
2022-08-16 17:30:16 +02:00
muellerr cdd0ca70ed Merge branch 'develop' into mueller/tmtc-stack-refactoring 2022-08-16 17:29:48 +02:00
muellerr e3648b6e30 Merge remote-tracking branch 'upstream/mueller/refactor-tmtc-stack' into mueller/tmtc-stack-refactoring 2022-08-16 17:25:22 +02:00
muellerr 239d053562 update changelog
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-16 17:23:10 +02:00
muellerr 875174c4ad better name for global object
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-16 17:17:45 +02:00
muellerr 8fd8a37f59 flip verif reporter ctor arguments
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-16 17:10:48 +02:00
muellerr d815f422c3 improve verif reporter API 2022-08-16 17:09:22 +02:00
mohr 217276d50c renamed returnvalue header
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-16 12:48:22 +02:00
mohr d2ac3603a5 some more occurences
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-16 12:29:53 +02:00
mohr f63f3fa564 more occurences in comments
fsfw/fsfw/pipeline/head This commit looks good
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-16 12:12:21 +02:00
muellerr d975958120 Merge remote-tracking branch 'upstream/development' into develop
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-16 11:26:59 +02:00
muellerr fc34d56239 cicd fix
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-16 01:12:50 +02:00
muellerr 1037102349 merge retval refactoring
fsfw/fsfw/pipeline/head This commit looks good
2022-08-16 01:08:26 +02:00
muellerr 221361eb9c Merge remote-tracking branch 'origin/development' into mueller/expand-retval-if
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-08-15 20:32:38 +02:00
muellerr 7f9269b387 fix for def cfg
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-08-15 20:30:59 +02:00
muellerr 4224c3d009 bump changelog
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-08-15 20:29:23 +02:00
muellerr 62fe75ee40 perform renaming 2022-08-15 20:28:16 +02:00
muellerr c57e95c698 Merge remote-tracking branch 'upstream/mueller/refactor-tmtc-stack' into mueller/tmtc-stack-refactoring 2022-08-15 19:18:46 +02:00
muellerr 9e064fe800 fix unittests
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-15 19:16:31 +02:00
muellerr d7ec04bf4b Merge remote-tracking branch 'origin/development' into mueller/refactor-tmtc-stack
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-08-15 19:05:50 +02:00
muellerr 4d82d0e4c1 update source sequence counter code 2022-08-15 17:24:48 +02:00
mohr adcc375f25 Merge pull request 'New UnsignedByte Field class' (#660) from mueller/new-object-id-class into development
fsfw/fsfw/pipeline/head This commit looks good
Reviewed-on: #660
2022-08-15 15:22:30 +02:00
muellerr 94a718ff19 Merge remote-tracking branch 'origin/development' into mueller/expand-retval-if
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-15 15:15:51 +02:00
muellerr 4a10f76784 Merge remote-tracking branch 'origin/development' into mueller/new-object-id-class
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-15 15:15:00 +02:00
mohr 57ce5d1f34 Merge pull request 'Expand SerializeIF' (#656) from mueller/expand-serialize-if into development
fsfw/fsfw/pipeline/head This commit looks good
Reviewed-on: #656
2022-08-15 15:13:50 +02:00
mohr 90963b3940 Merge pull request 'group MGM data in local pool vectors' (#664) from eive/fsfw:mueller/group-mgm-data into development
fsfw/fsfw/pipeline/head This commit looks good
Reviewed-on: #664
2022-08-15 15:07:16 +02:00
muellerr 71ed95b09a Merge branch 'development' into mueller/group-mgm-data
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-15 15:03:35 +02:00
muellerr 7ac4f1c64d Merge branch 'development' into mueller/new-object-id-class
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-15 15:03:11 +02:00
muellerr 9d64b96e9a update changelog
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-15 15:02:39 +02:00
muellerr 5de2c6af66 Merge branch 'mueller/new-object-id-class' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/new-object-id-class
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-15 15:02:12 +02:00
muellerr ca2efb6021 remove object ID 2022-08-15 15:02:05 +02:00
muellerr 3b000d924a Merge branch 'development' into mueller/expand-retval-if
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-15 14:36:04 +02:00
muellerr deeeef553b remove implicit machine endianness variants
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-15 14:34:04 +02:00
mohr 0e7ec79af9 Merge pull request 'Add Linux HAL options' (#663) from eive/fsfw:mueller/cmake-linux-hal-options into development
fsfw/fsfw/pipeline/head This commit looks good
Reviewed-on: #663
2022-08-15 13:58:09 +02:00
muellerr 007f958a0b fsfw fixes for merge 2022-08-15 11:38:52 +02:00
muellerr d022ce82c5 Merge remote-tracking branch 'upstream/mueller/refactor-tmtc-stack' into mueller/tmtc-stack-refactoring 2022-08-15 11:30:09 +02:00
muellerr d3cabd8984 afmt
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-15 11:26:29 +02:00
muellerr 8efe85cb15 Merge branch 'development' into mueller/new-object-id-class
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-15 11:25:51 +02:00
muellerr b28091e05b Merge remote-tracking branch 'upstream/mueller/expand-serialize-if' into develop
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-15 11:25:07 +02:00
muellerr f4c4f9946c printout preproc block
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-15 11:18:53 +02:00
muellerr 7f89022f5b Merge branch 'mueller/group-mgm-data' into develop
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-08-15 10:50:10 +02:00
muellerr b28c26b288 group MGM data in local pool vectors
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-15 10:49:00 +02:00
muellerr 8b4253bc46 update cmakelists.txt
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-12 13:02:30 +02:00
muellerr fdcfd89ed2 add some Linux HAL options
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-08-12 12:55:31 +02:00
muellerr 03fa77e2b3 get current uptime correctly
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-08-12 12:29:10 +02:00
muellerr 8970a7379a Merge remote-tracking branch 'upstream/development' into mueller/update-from-upstream
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-08-12 12:21:50 +02:00
muellerr 9796abfc7d Merge branch 'development' into mueller/refactor-tmtc-stack
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-08-09 13:06:08 +02:00
muellerr e6957de166 Merge branch 'development' into mueller/expand-retval-if
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-05 14:02:50 +02:00
muellerr cc56b00df3 Merge branch 'development' into mueller/expand-serialize-if
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-05 14:02:31 +02:00
muellerr 43048c852a Merge pull request 'Fixed cmake variable for tests in README.md' (#661) from gaisser/fsfw:gaisser_readme_fix into development
fsfw/fsfw/pipeline/head This commit looks good
Reviewed-on: #661
2022-08-01 20:55:26 +02:00
muellerr 19817bd3a5 Update 'docs/getting_started.rst'
fsfw/fsfw/pipeline/pr-development This commit looks good
Actually, this version still uses old folder names
2022-08-01 20:47:53 +02:00
muellerr 1db04cf20c Update 'docs/getting_started.rst'
Update for new recommended build folder and cmake define name
2022-08-01 20:45:39 +02:00
gaisser 52ee50ba8c Fixed cmake variable for tests in README.md
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-08-01 16:21:07 +02:00
muellerr 96f092ef75 type correction
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-29 14:30:58 +02:00
muellerr 4a4d23573d verify correct key behaviour
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-29 14:24:16 +02:00
muellerr 47e148af8f decoupling
fsfw/fsfw/pipeline/head Build started...
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-29 14:19:10 +02:00
muellerr c9bec03f00 Merge branch 'mueller/expand-serialize-if' into mueller/new-object-id-type
fsfw/fsfw/pipeline/head There was a failure building this commit
2022-07-29 14:16:22 +02:00
muellerr 6c5c59cad8 Merge branch 'mueller/expand-serialize-if' into mueller/new-object-id-type 2022-07-29 14:15:14 +02:00
muellerr 03e12a2388 new object ID type 2022-07-29 14:15:05 +02:00
muellerr da106fd96f do not use TC info for failed TC retrieval
fsfw/fsfw/pipeline/head This commit looks good
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-29 10:23:59 +02:00
muellerr fc3412fa35 set sec header flag and add unit test for it
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-28 15:13:27 +02:00
muellerr 8f6f0e1d45 some more fail tests
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-28 13:42:34 +02:00
muellerr 1b5fa2a8fa test no crc generation
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-28 13:37:07 +02:00
muellerr cb118176a0 completed ZcWriter unittests
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-28 13:24:50 +02:00
muellerr 30ba9ab916 some more fixes
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-28 13:00:53 +02:00
muellerr fb4ba487b5 Merge remote-tracking branch 'origin/mueller/expand-retval-if' into mueller/refactor-tmtc-stack 2022-07-28 12:55:42 +02:00
muellerr 72bc5d4d60 add tm zc test 2022-07-28 12:52:20 +02:00
muellerr 5355e63711 use result instead of retval
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-27 21:43:32 +02:00
muellerr b11cdf6184 update unittests
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-27 21:32:22 +02:00
muellerr dc31358d52 adaption for SerializeIF
- Returns serialized and deserialized size now
2022-07-27 21:31:09 +02:00
muellerr b485afea57 Simple SerializeIF adaptions
fsfw/fsfw/pipeline/pr-development This commit looks good
- Returns serialized or deserialized size
2022-07-27 21:29:05 +02:00
muellerr 5bb7023ff3 improvements for creator API
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-27 21:11:12 +02:00
muellerr 85dbef20b0 update serialize IF
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-27 21:07:34 +02:00
muellerr 93acac02f5 tests running again
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-27 21:06:23 +02:00
muellerr 7e8afcc12f remove nullptr check
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-27 20:37:21 +02:00
muellerr f03b7cd660 another bugfix in CSB
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-27 20:10:15 +02:00
muellerr d641d63531 set queue of tm send helper
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-27 19:56:11 +02:00
muellerr 4e571e5082 some more minor fixes
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-27 19:40:54 +02:00
muellerr 356d778743 afmt
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-27 18:03:17 +02:00
muellerr 0a38d2e22d small bugfix
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-27 17:56:16 +02:00
muellerr 234ccdf764 send time stampers properly now
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-27 17:48:59 +02:00
muellerr f591b9793c pass timeReader to Pus ZC writer
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-27 17:33:39 +02:00
muellerr c5ad9b5fa9 switch off debugging switches
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-27 17:13:42 +02:00
muellerr 083d08ae2a various bugs and improvements 2022-07-27 17:00:43 +02:00
muellerr 740644f2c8 updates for PusDistributor
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-27 14:40:51 +02:00
muellerr 059fb10558 add helper methods to disable crc calculation
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-27 11:41:06 +02:00
muellerr 86692e202d this gets rid of some warnings
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-27 11:35:35 +02:00
muellerr 064b195c75 some of the deprecation warnings run amok
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-27 11:33:19 +02:00
muellerr 18ee2ab903 example compiles again
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-27 11:26:47 +02:00
muellerr 9eb652e585 some printout fixes
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-27 10:49:49 +02:00
muellerr e7d9979078 Merge branch 'development' into mueller/expand-serialize-if
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-26 19:09:06 +02:00
muellerr 681738dcc6 PSB unittests complete
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-26 19:08:12 +02:00
muellerr 152c01b2ec psb unittests almost complete
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-26 18:58:36 +02:00
muellerr 8bf0fb9885 test auto-initializers
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-26 18:46:28 +02:00
muellerr 1954ce0ea4 default PUS receiver set automatically now
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-26 17:41:10 +02:00
muellerr d98b79cf5e adapt PSB so it can be unittested properly
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-26 16:49:46 +02:00
muellerr f14c812aff removed some obsolete code
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-26 14:14:00 +02:00
muellerr 146a0e3828 created PSB mock
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-26 14:10:24 +02:00
muellerr 75c824ec80 add new VerificationReporterIF
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-26 13:59:09 +02:00
muellerr 332e9dbfd5 add new tests 2022-07-26 11:19:36 +02:00
muellerr f1c37203a4 some more API improvements and replacements
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-26 11:14:40 +02:00
muellerr 500a5602bd added additional TM store and send helper
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-26 11:09:57 +02:00
muellerr 4ed028000d Merge branch 'mueller/expand-retval-if' into mueller/refactor-tmtc-stack
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-26 10:29:51 +02:00
muellerr 88ebb67c8d fix deprecation warnings
fsfw/fsfw/pipeline/head Build started...
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-26 10:27:44 +02:00
muellerr b827bd8370 update HasReturnvaluesIF
fsfw/fsfw/pipeline/head There was a failure building this commit
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
muellerr bdf71d4e66 add new HasReturnvaluesIF features
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-26 10:21:16 +02:00
muellerr e48b6f1432 possible double delete
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 22:36:53 +02:00
muellerr 747243684d more leaks
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-25 22:29:18 +02:00
muellerr db33f9cc7e maybe this teardown fixes the leak
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-25 22:22:08 +02:00
muellerr c12669fe50 this should fix the mmeory leak
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-25 22:10:20 +02:00
muellerr 6d00fc65c0 fix memory leak
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-25 21:08:04 +02:00
muellerr 7d87274844 add old api but mark it deprecated
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-25 20:53:18 +02:00
muellerr c83f75c515 some more tests using TM send helper
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-25 20:41:01 +02:00
muellerr 586993c081 completed send helper tests
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-25 20:31:06 +02:00
muellerr a88f767cca all tests running again
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-25 19:49:19 +02:00
muellerr 935e135f1c normal queue sufficient
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-25 19:42:05 +02:00
muellerr 6d0fa36f8a cleaning up message queue mock and subscription API
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-25 19:36:56 +02:00
muellerr 8f07133e2c Merge branch 'development' into mueller/expand-serialize-if
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 15:08:04 +02:00
gaisser f11433e50f Merge pull request 'Release v5.0.0' (#657) from development into master
fsfw/fsfw/pipeline/pr-development This commit looks good
fsfw/fsfw/pipeline/head This commit looks good
Reviewed-on: #657
2022-07-25 15:05:56 +02:00
muellerr 5fd5d488ff Merge remote-tracking branch 'origin/development' into mueller/refactor-tmtc-stack
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-25 14:57:28 +02:00
gaisser edc5a314b8 Merge pull request 'v5.0.0' (#654) from v5.0.0 into development
fsfw/fsfw/pipeline/pr-master This commit looks good
fsfw/fsfw/pipeline/head This commit looks good
Reviewed-on: #654
2022-07-25 14:53:35 +02:00
muellerr f80be9e9fa run afmt
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 14:44:49 +02:00
muellerr f3af88ae40 add [[nodiscard]] and const specifiers
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 14:44:19 +02:00
muellerr 380f1d0206 remove obsolete returns
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 14:40:10 +02:00
muellerr 54fc35eae7 re-run afmt
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 14:36:18 +02:00
muellerr 05d4162f5b Merge branch 'development' into v5.0.0
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 14:35:36 +02:00
muellerr e030878023 changelog
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 14:33:10 +02:00
muellerr 9ee6da47e9 improving mocks 2022-07-25 14:31:57 +02:00
muellerr 1a7d7b172b set up new internal error reporter mock
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-25 14:04:06 +02:00
muellerr 36e3956efb finished tm store helper tests
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 13:39:07 +02:00
muellerr 180210dc38 Merge branch 'development' into mueller/expand-serialize-if
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 11:39:19 +02:00
muellerr ca1e921b94 Merge branch 'mueller/expand-serialize-if' into mueller/refactor-tmtc-stack
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 11:35:32 +02:00
muellerr 2a34c831b1 use Be instead of Ne, which could be confused
fsfw/fsfw/pipeline/head This commit looks good
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 11:33:12 +02:00
muellerr e2ad37e3e6 more ref replacements
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 11:26:45 +02:00
muellerr 973d4ee8a5 some more ref replacements
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 11:24:13 +02:00
muellerr 899d021e00 using uint32_t as store_address requires explicit cast
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 11:15:45 +02:00
muellerr 4989bd0f02 fixes for Linux OSAL clock
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 10:56:19 +02:00
muellerr 832367fb30 replace some API components with references
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 10:50:52 +02:00
muellerr 63ee88af17 added base for tm store test
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 10:38:44 +02:00
muellerr 4921527022 replace c include
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 10:31:49 +02:00
muellerr f0c8fd2688 some renaming
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-25 10:24:43 +02:00
muellerr c96e304b68 Merge pull request 'Possible Ring Buffer Fix' (#586) from eive/fsfw:mueller/possible-ring-buffer-fix into development
fsfw/fsfw/pipeline/head This commit looks good
Merged to avoid crashing bug until full functionality is fixed.

Reviewed-on: #586
2022-07-25 10:12:39 +02:00
muellerr d474c4a7ee store helper 2022-07-23 11:43:48 +02:00
muellerr 3708df2423 small fix 2022-07-23 11:15:55 +02:00
muellerr f629d60aaf Merge branch 'mueller/expand-serialize-if' into mueller/refactor-tmtc-stack 2022-07-23 11:15:20 +02:00
muellerr b809f90e72 added unittests for new helpers 2022-07-23 11:10:44 +02:00
muellerr f2bf4b463e expand serializeIF tests 2022-07-23 10:34:19 +02:00
muellerr b66fd63cb4 remove doubly defines 2022-07-23 10:29:19 +02:00
muellerr fd55de9e95 Merge branch 'mueller/expand-serialize-if' into mueller/refactor-tmtc-stack 2022-07-23 10:28:13 +02:00
muellerr 8e05fc0417 added a few more methods 2022-07-23 10:28:01 +02:00
muellerr 55a238d553 extended serialize if further 2022-07-23 10:24:56 +02:00
muellerr 9ccd9fd775 Merge branch 'mueller/expand-serialize-if' into mueller/refactor-tmtc-stack 2022-07-23 10:07:10 +02:00
muellerr ddad97033d expand serialize IF further 2022-07-23 10:06:42 +02:00
muellerr 99aaf7068d some tests 2022-07-23 10:05:57 +02:00
muellerr c9d37e8d62 Merge branch 'mueller/expand-serialize-if' into mueller/refactor-tmtc-stack 2022-07-23 10:05:14 +02:00
muellerr 42a1d6cccd default implementation of simple serialize/deserialize 2022-07-23 10:03:42 +02:00
muellerr 133894f4ba add basic CCSDS tests
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-22 18:46:58 +02:00
muellerr cb05329dd9 completed baseline PUS TM unittests
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-22 18:31:00 +02:00
muellerr b350018cad completed basic test set
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-22 18:22:35 +02:00
muellerr 2dfbce6174 start TM reader unittests
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-22 17:11:55 +02:00
muellerr cecaec6007 PUS TM creator tests done
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-22 17:09:44 +02:00
muellerr f28b9ea61b APID getter bugfix
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-22 16:41:32 +02:00
muellerr 9275ccb79b added some missing implementations
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-22 16:09:18 +02:00
muellerr 67776241de verify successfull TM serialization
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-22 16:06:31 +02:00
muellerr bfee4fd90a add empty test files
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-21 19:16:44 +02:00
muellerr 0dfaba81f9 finished basic TC unittests
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-21 19:10:15 +02:00
muellerr affde6bad5 rename namespace
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-21 18:21:10 +02:00
muellerr 0981ee6f7e minor changes, virtual dtors added
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-21 18:17:37 +02:00
muellerr 61bc867bed delete code which is not used anymore
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-21 17:57:31 +02:00
muellerr 5af3138e81 fnished PUS TC creator unittests
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-21 17:48:11 +02:00
muellerr 08e0b0f1a0 added sp reader unittests
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-21 14:40:00 +02:00
muellerr 23f264096c delete a few old classes
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-21 14:05:31 +02:00
muellerr e5ee96259d some fixes
fsfw/fsfw/pipeline/head There was a failure building this commit
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-21 13:48:58 +02:00
muellerr 9bbe1dc716 Merge branch 'development' into mueller/possible-ring-buffer-fix
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-21 13:23:44 +02:00
muellerr d8b6cb39ac various bugfixes and improvements
fsfw/fsfw/pipeline/head There was a failure building this commit
2022-07-21 11:34:11 +02:00
muellerr be35bd53a6 switched to new tmtc stack API
fsfw/fsfw/pipeline/head There was a failure building this commit
2022-07-20 22:21:15 +02:00
muellerr 9860061fc6 create new TmSendHelper
fsfw/fsfw/pipeline/head There was a failure building this commit
2022-07-20 11:45:50 +02:00
muellerr d80941514f start refactoring PUS TM handling
fsfw/fsfw/pipeline/head There was a failure building this commit
2022-07-20 11:43:16 +02:00
muellerr 6c636661b6 a lot of refactoring
fsfw/fsfw/pipeline/head There was a failure building this commit
2022-07-19 18:13:25 +02:00
muellerr 5fffbd4a90 start PUS TC refactoring
fsfw/fsfw/pipeline/head There was a failure building this commit
2022-07-18 18:36:41 +02:00
muellerr 95b476d4bd start ccsds reader unittests 2022-07-18 16:21:00 +02:00
muellerr 3d2af203f2 finished creator unittests
fsfw/fsfw/pipeline/head This commit looks good
2022-07-18 16:18:04 +02:00
muellerr 74794bb71b apply auto-formatter
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-18 16:08:06 +02:00
muellerr ddf38b65c3 apply auto-formatter
fsfw/fsfw/pipeline/head This commit looks good
2022-07-18 16:07:26 +02:00
muellerr 490a80e49f Merge remote-tracking branch 'origin/development' into mueller/refactor-tmtc-stack
fsfw/fsfw/pipeline/head There was a failure building this commit
2022-07-18 15:26:31 +02:00
muellerr 6f751c2cf9 Merge branch 'development' into v5.0.0
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-18 15:12:21 +02:00
muellerr 9a2e68b37e Merge pull request 'Move HAL and Tests folder' (#653) from mueller/move-hal-tests-folder into development
fsfw/fsfw/pipeline/head This commit looks good
Reviewed-on: #653
2022-07-18 15:05:25 +02:00
muellerr 91067cde98 typo
fsfw/fsfw/pipeline/pr-development This commit looks good
fsfw/fsfw/pipeline/head Build queued...
2022-07-18 15:00:40 +02:00
muellerr 428018e4f1 update changelog
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-18 14:59:25 +02:00
muellerr e4d7182d93 update changelog
fsfw/fsfw/pipeline/head There was a failure building this commit
2022-07-18 14:58:47 +02:00
muellerr 8b6dd3f868 add date to changelog
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-18 14:49:27 +02:00
muellerr f6ede7cd3e bump version
fsfw/fsfw/pipeline/head This commit looks good
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-18 14:46:36 +02:00
muellerr 4da18172b3 Merge branch 'development' into mueller/possible-ring-buffer-fix
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-18 14:37:56 +02:00
muellerr 6e5239e9a0 update jenkinsfile
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-18 14:36:40 +02:00
muellerr 7e2fdc06cd hmm this is problematic
fsfw/fsfw/pipeline/head There was a failure building this commit
2022-07-18 14:05:43 +02:00
muellerr 3c72a42ce1 added basic sp creator test
fsfw/fsfw/pipeline/head This commit looks good
2022-07-18 13:51:02 +02:00
muellerr 78b09ed0c9 fixes includes
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-18 11:58:55 +02:00
muellerr fdf35232ee some fixes 2022-07-18 11:47:00 +02:00
muellerr 8465670374 separate unittest folder
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-18 11:42:51 +02:00
muellerr 0c5f623780 additional ctor for space packet creator
fsfw/fsfw/pipeline/head This commit looks good
2022-07-18 10:53:55 +02:00
muellerr d7a2eada94 add space packet creator class
fsfw/fsfw/pipeline/head There was a failure building this commit
2022-07-18 10:42:56 +02:00
muellerr 546e173cef add new PUS TC IF 2022-07-18 10:29:39 +02:00
muellerr 0a7f2c6646 refactored space packet interface 2022-07-18 10:20:26 +02:00
muellerr 3b23fb77b4 add obsolete add_subdirectory calls
fsfw/fsfw/pipeline/head There was a failure building this commit
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-18 09:01:45 +02:00
muellerr 6f7be281ef move HAL and tests folder
fsfw/fsfw/pipeline/head There was a failure building this commit
2022-07-18 08:59:40 +02:00
meierj 3686bbc486 Merge pull request 'DHB Reply Timeout' (#637) from meier/dhbReplyTimeout into development
fsfw/fsfw/pipeline/head This commit looks good
Reviewed-on: #637
2022-07-14 09:17:18 +02:00
meierj ecac08814e better naming for functions which reset states of replies
fsfw/fsfw/pipeline/pr-development This commit looks good
fsfw/fsfw/pipeline/head This commit looks good
2022-07-14 09:15:13 +02:00
meierj e8b8fff0b5 Merge branch 'development' into meier/dhbReplyTimeout
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-14 09:01:28 +02:00
meierj 4d34f93cfc missing reset of timedOut value in loop of decrementDeviceReplyMap 2022-07-14 08:58:23 +02:00
mohr adbf375f38 some small fixes to dhb countdown addition
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-13 21:58:07 +02:00
mohr 2e42f53682 Merge pull request 'New PoolEntry constructor' (#651) from eive/fsfw:mueller/new-pool-entry-ctor into development
fsfw/fsfw/pipeline/head This commit looks good
Reviewed-on: #651
2022-07-13 17:43:56 +02:00
mohr c519b70302 Merge pull request 'printout tweak' (#652) from mueller/printout-tweak-mq-linux-osal into development
fsfw/fsfw/pipeline/head This commit looks good
Reviewed-on: #652
2022-07-13 17:35:53 +02:00
mohr 45ee307bc4 Merge pull request 'remove duplicate CHANGELOG entries' (#649) from eive/fsfw:mueller/clean-changelog into development
fsfw/fsfw/pipeline/head This commit looks good
Reviewed-on: #649
2022-07-13 16:50:50 +02:00
mohr 8a2068aca6 Merge pull request 'clang-tidy changes for controller module' (#648) from clang-tidy-controllers into development
Reviewed-on: #648
2022-07-13 16:49:15 +02:00
mohr aa60484111 Merge pull request 'clang-tidy changes for actions module' (#647) from clang-tidy-actions into development
Reviewed-on: #647
2022-07-13 16:42:39 +02:00
mohr e99c7f3824 Merge pull request 'Install ETL library in CI/CD' (#645) from mueller/install-etl-cicd into development
Reviewed-on: #645
2022-07-13 16:39:29 +02:00
mohr 2ee3ef1f1d Merge branch 'development' into mueller/install-etl-cicd 2022-07-13 16:38:30 +02:00
muellerr ce48827ee5 Merge branch 'development' into clang-tidy-actions 2022-07-13 16:00:50 +02:00
muellerr 0d80fad685 Merge branch 'development' into clang-tidy-controllers 2022-07-13 16:00:42 +02:00
muellerr c6253bf0dd Merge branch 'development' into mueller/new-pool-entry-ctor
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-13 15:41:47 +02:00
mohr 93933dee02 Merge pull request 'delete run configs' (#646) from mueller/del-cmake-run-cfgs into development
Reviewed-on: #646
2022-07-13 15:37:55 +02:00
muellerr 0e49640306 update CHANGELOG
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-08 17:59:43 +02:00
muellerr 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
muellerr 0519083894 remove duplicate entries
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-08 17:48:06 +02:00
muellerr 904ae2cc0e Merge remote-tracking branch 'origin/irini' into develop
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-07-08 16:34:24 +02:00
muellerr 4a2012ac30 Merge branch 'irini' into develop 2022-07-08 16:31:57 +02:00
meierj 6a62cf7f1e Merge pull request 'Update FSFW from upstream' (#102) from mueller/update-from-upstream into develop
Reviewed-on: eive/fsfw#102
Reviewed-by: Jakob Meier <meierj@irs.uni-stuttgart.de>
2022-07-04 13:04:00 +02:00
muellerr 14bac9a418 clang-tidy changes for controller module
fsfw/fsfw/pipeline/head Build started...
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-04 11:48:36 +02:00
muellerr 3bef73708f clang-tidy changes for actions module
fsfw/fsfw/pipeline/head Build started...
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-04 11:44:26 +02:00
muellerr fef6ddceff delete run configs
fsfw/fsfw/pipeline/head Build started...
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-04 11:16:13 +02:00
muellerr c5eb09314f delete run configs 2022-07-04 11:04:37 +02:00
muellerr 682abd1b5b new clion folder in misc for .run configs 2022-07-04 10:55:09 +02:00
muellerr a4247cd723 Merge remote-tracking branch 'upstream/development' into mueller/update-from-upstream 2022-07-04 10:53:52 +02:00
muellerr 5a9db72814 test public linkage
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-04 10:27:14 +02:00
muellerr 5cccd5caba bump used container
fsfw/fsfw/pipeline/head Build started...
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-07-04 10:21:47 +02:00
meierj df97bbc691 run auto-formatter
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-06-23 11:56:46 +02:00
meierj 2d2f65bf89 moved activation of periodic replies to updatePeriodicReply
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-06-23 11:54:51 +02:00
muellerr 3e9ae62b28 Merge branch 'development' into meier/dhbReplyTimeout
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-06-21 10:49:06 +02:00
muellerr 2ebefdffae Merge remote-tracking branch 'upstream/development' into mueller/possible-ring-buffer-fix
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-06-21 10:49:03 +02:00
muellerr 45792e86b9 Merge remote-tracking branch 'upstream/development' into mueller/possible-ring-buffer-fix
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-06-21 10:48:04 +02:00
muellerr 39881e7671 Merge pull request 'some form updates' (#100) from mueller/afmt-gen-tweaks into develop
Reviewed-on: eive/fsfw#100
2022-06-21 10:37:03 +02:00
muellerr 5abbf42e9f some form updates 2022-06-21 00:49:58 +02:00
Irini Kosmidou 1910a7838c compile DleParser 2022-06-20 11:04:06 +02:00
Irini Kosmidou ba3a99466a Merge remote-tracking branch 'origin/develop' into irini 2022-06-20 11:03:12 +02:00
muellerr 438efe074e Merge pull request 'LocalDataPoolManager Warning Text' (#99) from meier/eive-debug-info into develop
Reviewed-on: eive/fsfw#99
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
2022-06-20 09:35:31 +02:00
muellerr 1759700b6a Merge branch 'develop' into meier/eive-debug-info 2022-06-20 09:35:14 +02:00
muellerr c7618294ac Merge pull request 'HK Generation for L3GD20, LIS3MDL, RM3100' (#97) from meier/device-hk into develop
Reviewed-on: eive/fsfw#97
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
2022-06-20 09:34:16 +02:00
meierj af890c6218 corrected warning text 2022-06-16 07:55:57 +02:00
meierj 7f3e5e42bb Merge branch 'develop' into meier/device-hk 2022-06-16 07:44:58 +02:00
meierj 21eb386f3c changed reply timeouts
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-06-06 12:34:57 +02:00
meierj ade36e65c6 missed reply check in simple command nominal test case
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-06-06 12:30:27 +02:00
meierj 103661facc deugging
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-06-06 12:26:00 +02:00
meierj ae2f7219fd run auto-formatter
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-06-06 11:55:42 +02:00
meierj 4fba2704aa unit test for detection of missed reply when commanded externally
fsfw/fsfw/pipeline/head There was a failure building this commit
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-06-06 10:53:08 +02:00
meierj 161dbde0d7 fixed merge conflicts
fsfw/fsfw/pipeline/head This commit looks good
2022-06-06 10:30:17 +02:00
meierj 2fa4fd61d0 device fdir mock 2022-06-05 12:54:13 +02:00
meierj bf673c56c6 unit test for dhb 2022-06-05 12:52:55 +02:00
meierj cda81fc841 enable hk 2022-06-03 18:05:38 +02:00
muellerr 5a69c1f8b9 Merge pull request 'DHB Mode Off disable pending commands' (#95) from meier/dhb-disable-pending-commands into develop
Reviewed-on: eive/fsfw#95
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
2022-05-27 14:40:36 +02:00
muellerr 1d1d91f591 Merge branch 'develop' into meier/dhb-disable-pending-commands 2022-05-27 14:40:18 +02:00
muellerr 043b8b5b3f Merge pull request 'FixedTimeSlotTaskBase Bugfix' (#96) from meier/FixedTimeSlotTaskBase-BugFix into develop
Reviewed-on: eive/fsfw#96
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
2022-05-27 14:38:04 +02:00
Jakob Meier 95a64e1da3 wrong initialization order 2022-05-27 13:04:21 +02:00
Jakob Meier ab68817e9a removed debugging printout 2022-05-26 02:06:05 +02:00
Jakob Meier 36652e6fce Merge branch 'develop' into meier/dhb-disable-pending-commands 2022-05-26 02:04:33 +02:00
Jakob Meier 3749f31ab4 disable pending commands and replies in MODE_OFF transition 2022-05-26 02:03:39 +02:00
meierj ebbe08639c Merge pull request 'TaskIF refactoring continued' (#91) from mueller/task-if-refactoring-eive into develop
Reviewed-on: eive/fsfw#91
Reviewed-by: Jakob.Meier <meierj@irs.uni-stuttgart.de>
2022-05-25 16:11:22 +02:00
meierj d286fc1855 Merge pull request 'service 3 and local HK man improvements' (#92) from mueller/hk-improvements into develop
Reviewed-on: eive/fsfw#92
Reviewed-by: Jakob.Meier <meierj@irs.uni-stuttgart.de>
2022-05-25 16:10:32 +02:00
muellerr cf35cca923 Merge remote-tracking branch 'origin/develop' into mueller/task-if-refactoring-eive 2022-05-25 15:41:07 +02:00
muellerr 2058817ba5 Merge branch 'mueller/task-if-refactoring-eive' of https://egit.irs.uni-stuttgart.de/eive/fsfw into mueller/task-if-refactoring-eive 2022-05-25 15:38:20 +02:00
muellerr c328891030 Merge remote-tracking branch 'origin/develop' into mueller/task-if-refactoring-eive 2022-05-25 15:38:14 +02:00
meierj 76a459a02c Merge pull request 'use better type for stored limit' (#93) from mueller/tmtc-bridge-tweaks into develop
Reviewed-on: eive/fsfw#93
Reviewed-by: Jakob.Meier <meierj@irs.uni-stuttgart.de>
2022-05-25 15:24:57 +02:00
meierj fbec1b3dc9 Merge pull request 'Update from upstream' (#94) from mueller/update-from-upstream into develop
Reviewed-on: eive/fsfw#94
Reviewed-by: Jakob.Meier <meierj@irs.uni-stuttgart.de>
2022-05-25 15:24:18 +02:00
muellerr c4fa7281ae Merge remote-tracking branch 'upstream/development' into mueller/update-from-upstream 2022-05-25 14:44:21 +02:00
muellerr ac62443f31 use better type for stored limit 2022-05-25 14:30:58 +02:00
muellerr 8cfe848dfe service 3 and local HK man improvements 2022-05-25 14:30:00 +02:00
muellerr af7c6c57a3 Merge branch 'develop' into mueller/task-if-refactoring-eive 2022-05-25 10:30:23 +02:00
muellerr c835525196 added cast for PUS11 2022-05-25 09:56:32 +02:00
muellerr 24069dfd78 removed [[maybe_unused]] 2022-05-24 16:22:27 +02:00
muellerr 40cc557978 Merge remote-tracking branch 'upstream/mueller/task-if-refactoring' into mueller/task-if-refactoring-eive 2022-05-24 15:42:08 +02:00
meierj 4b128d2435 Merge pull request 'TaskIF refactor SPI refactor' (#89) from mueller/task-if-refactor-spi-refactor into develop
Reviewed-on: eive/fsfw#89
2022-05-23 16:22:40 +02:00
muellerr f35b0ffbbd Merge remote-tracking branch 'origin/develop' into mueller/task-if-refactor-spi-refactor 2022-05-23 16:10:49 +02:00
muellerr b8b7756a3e fix host OSAL 2022-05-22 14:32:48 +02:00
muellerr 4cc108f3a1 Merge branch 'develop' of https://egit.irs.uni-stuttgart.de/eive/fsfw into develop 2022-05-20 20:53:48 +02:00
muellerr c0292f072e warning printout correction 2022-05-20 20:52:36 +02:00
meierj 336ad9b7be Merge pull request 'PUS TC11 bugfix and upstream updates' (#88) from mueller/tc-11-tweaks-eive into develop
Reviewed-on: eive/fsfw#88
2022-05-20 17:35:07 +02:00
muellerr 942bfafaa3 Merge remote-tracking branch 'upstream/mueller/tc-11-tweaks' into mueller/tc-11-tweaks-eive 2022-05-20 15:39:40 +02:00
muellerr 3a16290707 refactored and tested hosted and linux task IF
fsfw/fsfw/pipeline/head There was a failure building this commit
2022-05-19 00:44:34 +02:00
muellerr 08f1ebf9fc continued refactoring
fsfw/fsfw/pipeline/head There was a failure building this commit
2022-05-18 23:45:38 +02:00
muellerr 64e7d4bb5e continued refactoring
fsfw/fsfw/pipeline/head There was a failure building this commit
2022-05-18 18:15:31 +02:00
muellerr 1886da0d3f refactoring host osal
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-05-18 15:42:18 +02:00
muellerr b47eb0a7ff minor bugfix
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-05-18 14:40:54 +02:00
muellerr b1e30ae9ff minor bugfix 2022-05-18 14:39:37 +02:00
muellerr 86ca4f246b new base class for periodic tasks 2022-05-18 14:34:08 +02:00
muellerr e87b5a0207 new base class for periodic tasks
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-05-18 14:32:35 +02:00
muellerr d504589c3c Merge remote-tracking branch 'upstream/development' into mueller/task-if-refactoring
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-05-18 13:20:39 +02:00
muellerr 7b3de87364 removed some changes which belong in separate PR
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-05-18 13:19:43 +02:00
meierj e758f0be2e Merge pull request 'TaskIF refactoring and SPI refactoring' (#86) from mueller/task-if-refactor-spi-refactor into develop
Reviewed-on: eive/fsfw#86
2022-05-17 20:25:54 +02:00
muellerr 18b342e94b vector as core container is ok 2022-05-17 18:12:37 +02:00
muellerr f9c42d3583 vector as core container is ok 2022-05-17 18:12:05 +02:00
muellerr d267a3651b Merge remote-tracking branch 'origin/develop' into mueller/task-if-refactor-spi-refactor 2022-05-17 17:51:42 +02:00
muellerr e8023886f6 made auto-formatter even more usable 2022-05-17 13:31:56 +02:00
muellerr 14a1b4a7ac made auto-formatter even more re-usable 2022-05-17 13:31:33 +02:00
muellerr e49de9422a Merge branch 'mueller/tcp-server-cache-client-addr' into develop 2022-05-17 13:20:55 +02:00
meierj 0ea044c203 Merge pull request 'Update from upstream' (#85) from mueller/update-from-upstream into develop
Reviewed-on: eive/fsfw#85
2022-05-16 22:08:28 +02:00
muellerr 4b323053ec Merge remote-tracking branch 'upstream/development' into mueller/update-from-upstream 2022-05-16 15:27:58 +02:00
muellerr d871f55a89 Merge remote-tracking branch 'upstream/development' into mueller/possible-ring-buffer-fix
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-05-16 15:13:47 +02:00
Jakob Meier 1611a4e1f0 device handler unittest wip
fsfw/fsfw/pipeline/head This commit looks good
2022-05-16 11:10:35 +02:00
muellerr 55ed7ab93e important fix 2022-05-14 16:58:28 +02:00
muellerr bcd19045cc refactored SPI mutex handling 2022-05-14 11:33:43 +02:00
muellerr dba08fed7a refactor task IF 2022-05-14 09:40:31 +02:00
muellerr 7df1922633 refactor task IF 2022-05-14 09:38:59 +02:00
muellerr 4841d5d92d doc update 2022-05-13 17:24:55 +02:00
meierj ac78a79ca2 Merge pull request 'Command Executor Improvements' (#83) from mueller/cmd-executer-improvements into develop
Reviewed-on: eive/fsfw#83
2022-05-13 14:57:18 +02:00
meierj bf7388c059 Merge pull request 'HealthIF extensions and upstream updates' (#82) from mueller/health-if-extension-eive into develop
Reviewed-on: eive/fsfw#82
2022-05-13 14:56:50 +02:00
muellerr ff40a71582 Merge remote-tracking branch 'upstream/development' into mueller/possible-ring-buffer-fix
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-05-13 11:30:32 +02:00
muellerr c2de911efa Merge branch 'develop' into mueller/cmd-executer-improvements 2022-05-13 11:22:53 +02:00
muellerr fc2b709148 resolve merge conflict 2022-05-12 20:48:50 +02:00
muellerr 02473a0cd7 Merge remote-tracking branch 'origin/develop' into mueller/health-if-extension-eive 2022-05-12 20:11:45 +02:00
muellerr ab45aa1296 HasHealthIF additions 2022-05-12 20:06:10 +02:00
meierj c0ff84bb9d Merge pull request 'SPI refactoring' (#80) from mueller/spi-cache-spi-dev-in-com-if into develop
Reviewed-on: eive/fsfw#80
2022-05-11 16:28:08 +02:00
muellerr d1ff32bf96 reset read vec values, add getter function 2022-05-11 16:12:24 +02:00
muellerr dafcaa6007 Merge remote-tracking branch 'origin/develop' into mueller/spi-cache-spi-dev-in-com-if 2022-05-11 15:44:45 +02:00
muellerr 5eb52133ac Merge pull request 'sequence count init value' (#81) from meier/sequenceCount into develop
Reviewed-on: eive/fsfw#81
2022-05-11 15:43:49 +02:00
muellerr 025e7647d3 Merge branch 'develop' into meier/sequenceCount 2022-05-11 15:43:35 +02:00
muellerr 0a97077a0e hotfix 2022-05-11 15:42:52 +02:00
Jakob Meier bc994595da sequence count init value 2022-05-11 14:31:49 +02:00
muellerr e1604b292c Merge branch 'development' into mueller/possible-ring-buffer-fix
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-05-11 11:34:32 +02:00
muellerr ab2d7ca98f update changelog and docs 2022-05-11 11:29:28 +02:00
muellerr 56e4fca06f Some improvements
- Rename mutex to csMutex to better represent its purpose
- Move the empty transfer to update the line polarity to separate function
2022-05-11 11:24:06 +02:00
muellerr e06c457743 Cache SPI device name in ComIF
- Architecturally, this makes a lot more sense because
  each ComIF should be responsible for one SPI bus
2022-05-11 11:11:39 +02:00
muellerr 5941c21adf Merge remote-tracking branch 'origin/develop' into mueller/spi-speed-mode-getter 2022-05-11 10:58:13 +02:00
muellerr 0e880de0d0 update changelog 2022-05-11 10:54:39 +02:00
muellerr 29c3a43760 getter functions for speed and mode 2022-05-11 10:54:13 +02:00
Jakob Meier 7afe30ea88 fixed merge conflict 2022-05-09 12:56:22 +02:00
muellerr d72b212fa6 cmakelists.txt hotfix 2022-05-06 10:36:01 +02:00
meierj 43f0841d0a Merge pull request 'Fixed Seq Task use warning' (#78) from mueller/fixed-seq-task-use-warning into eive/develop
Reviewed-on: eive/fsfw#78
2022-05-05 13:10:07 +02:00
muellerr 9e5fb64d0e Merge branch 'eive/develop' into mueller/fixed-seq-task-use-warning 2022-05-05 12:31:12 +02:00
muellerr 71f704c980 remove the dot 2022-05-05 12:29:46 +02:00
muellerr a72cc487df Merge pull request 'DHB Reply Timeout' (#74) from meier/develop into eive/develop
Reviewed-on: eive/fsfw#74
2022-05-05 12:28:48 +02:00
muellerr de2d4da161 Merge branch 'eive/develop' into meier/develop 2022-05-05 12:28:34 +02:00
Jakob Meier 19bd26d998 Merge branch 'meier/develop' of https://egit.irs.uni-stuttgart.de/eive/fsfw into meier/develop 2022-05-05 09:15:23 +02:00
muellerr f59b05c86c use warning instead of error 2022-05-05 02:00:41 +02:00
meierj 80cb0e682f Merge pull request 'Update GPIO API' (#76) from mueller/update-gpio-api into eive/develop
Reviewed-on: eive/fsfw#76
2022-05-04 14:03:28 +02:00
meierj 8ee26f81f9 dedicated returnvalue for line get failure 2022-05-04 10:36:32 +02:00
meierj 3556eca8e8 error check on line getter 2022-05-04 10:33:55 +02:00
meierj a9041b84a3 update read gpio API 2022-05-04 10:27:20 +02:00
meierj 83d9dbc052 Merge pull request 'improved i2c error printout' (#75) from mueller/i2c-error-handling-improvement into eive/develop
Reviewed-on: eive/fsfw#75
2022-05-03 16:50:48 +02:00
muellerr 2220120d54 improved i2c error printout 2022-05-03 16:43:15 +02:00
muellerr 15eb22f9ee Merge remote-tracking branch 'origin/eive/develop' into meier/develop 2022-05-03 13:03:44 +02:00
muellerr 7f6c8b8b12 Merge remote-tracking branch 'upstream/development' into eive/develop 2022-05-02 16:15:27 +02:00
Jakob Meier 789668ae50 Merge branch 'eive/develop' into meier/develop 2022-05-02 14:45:23 +02:00
meierj 7760b3063e Merge pull request 'New Subsystem adder functions' (#73) from mueller/new-ss-adder-functions-eive into eive/develop
Reviewed-on: eive/fsfw#73
2022-04-30 17:00:34 +02:00
Jakob Meier d04f88bee0 Merge branch 'eive/develop' into mueller/new-ss-adder-functions-eive 2022-04-30 16:59:48 +02:00
meierj e867d09111 Merge pull request 'Update from upstream' (#72) from mueller/update-from-upstream into eive/develop
Reviewed-on: eive/fsfw#72
2022-04-30 16:55:35 +02:00
Jakob Meier 43aad11859 space packet bugfix 2022-04-29 07:43:52 +02:00
muellerr 3225a8e350 added option to change initial submode 2022-04-28 16:48:14 +02:00
muellerr 1c4ea6dd0d Merge branch 'eive/develop' into mueller/new-ss-adder-functions-eive 2022-04-28 14:34:20 +02:00
muellerr e2eb4bfea4 Merge remote-tracking branch 'upstream/development' into mueller/update-from-upstream 2022-04-28 14:30:08 +02:00
Jakob Meier 41682aab3f Merge branch 'eive/develop' into meier/develop 2022-04-28 11:45:27 +02:00
muellerr d3e7037759 Merge branch 'development' into mueller/possible-ring-buffer-fix
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-04-27 08:42:24 +02:00
meierj d61fe7db93 Merge pull request 'Update FSFW' (#70) from mueller/update-fsfw into eive/develop
Reviewed-on: eive/fsfw#70
2022-04-27 07:48:56 +02:00
muellerr c1be1fe232 update CMakeLists.txt etl handling 2022-04-26 20:06:26 +02:00
muellerr ec2e274f22 find_package call for Catch2 quiet 2022-04-26 16:31:45 +02:00
muellerr c5a7b98a7d name correction 2022-04-26 16:24:14 +02:00
muellerr 6a8da303fb exporting etl target 2022-04-26 14:06:30 +02:00
Jakob Meier 0aee86442e typo in readme
fsfw/fsfw/pipeline/head This commit looks good
2022-04-26 11:48:18 +02:00
muellerr 3d047f9629 trying to export ETL lib 2022-04-26 11:15:24 +02:00
muellerr 1739edd9b0 warning fix for modern compilers 2022-04-26 10:32:37 +02:00
Jakob Meier 951c077abc option to use Countdown object to time out replies
fsfw/fsfw/pipeline/head This commit looks good
2022-04-26 10:03:04 +02:00
muellerr 466a3639a5 Merge remote-tracking branch 'upstream/development' into mueller/update-fsfw 2022-04-26 10:02:43 +02:00
Jakob Meier 900ef5b912 option to use coutdwon object to time out replies
fsfw/fsfw/pipeline/head This commit looks good
2022-04-26 09:07:03 +02:00
muellerr 755dcf66a3 Merge remote-tracking branch 'upstream/development' into mueller/possible-ring-buffer-fix
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-04-25 15:16:52 +02:00
muellerr b7ffd2653b Merge remote-tracking branch 'upstream/development' into mueller/possible-ring-buffer-fix
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-04-25 15:11:52 +02:00
meierj 280b641cbc Merge pull request 'mueller/extend-version-class-fork' (#69) from mueller/extend-version-class-fork into eive/develop
Reviewed-on: eive/fsfw#69
2022-04-22 20:06:49 +02:00
muellerr 24ef96d1b8 Merge branch 'eive/develop' into mueller/extend-version-class-fork 2022-04-22 16:04:55 +02:00
muellerr befaca78c6 Merge pull request 'space packet default length' (#66) from meier/develop into eive/develop
Reviewed-on: eive/fsfw#66
2022-04-21 14:30:34 +02:00
muellerr af4f002a25 Merge branch 'eive/develop' into meier/develop 2022-04-21 14:30:11 +02:00
Jakob Meier 9f7b9be800 space packet default length 0 2022-04-21 14:24:20 +02:00
meierj 2c0f3b52e9 Merge pull request 'Space Packet Default Length' (#65) from meier/develop into eive/develop
Reviewed-on: eive/fsfw#65
2022-04-21 14:11:09 +02:00
meierj aa1ea33647 Merge pull request 'LIS3 handler nullptr check' (#64) from mueller/lis3-handler-nullptr-check into eive/develop
Reviewed-on: eive/fsfw#64
2022-04-21 13:55:06 +02:00
meierj 9798b6b4ab Merge pull request 'Merge upstream and apply auto-formatter' (#63) from merge-upstream into eive/develop
Reviewed-on: eive/fsfw#63
2022-04-21 13:54:20 +02:00
muellerr f0d7eaf35a Merge branch 'merge-upstream' into mueller/lis3-handler-nullptr-check
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-04-21 10:38:43 +02:00
muellerr b128ef9da9 Merge remote-tracking branch 'upstream/development' into merge-upstream 2022-04-21 10:37:01 +02:00
muellerr 085213c60f add nullptr check
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-04-21 10:30:46 +02:00
Jakob Meier 613dbe9592 default argument 2022-04-21 09:33:06 +02:00
meierj e949368b06 Merge pull request 'uart cookie API change' (#62) from mueller/uart-com-if-tweaks into eive/develop
Reviewed-on: eive/fsfw#62
2022-04-13 15:04:03 +02:00
meierj 4d49cb6a3c Merge pull request 'added DLE parser' (#61) from mueller/dle-parser into eive/develop
Reviewed-on: eive/fsfw#61
2022-04-13 15:03:27 +02:00
muellerr e0c9bf5871 Merge branch 'mueller/dle-parser' into irini 2022-04-13 15:00:39 +02:00
muellerr 935a8e13a5 uart cookie API change 2022-04-13 14:57:43 +02:00
muellerr 5ff88129b8 added DLE parser 2022-04-13 14:45:36 +02:00
meierj ce17be63f4 Merge pull request 'Pool Entry Update V2' (#60) from mueller/pool-entry-update-v2 into eive/develop
Reviewed-on: eive/fsfw#60
2022-04-12 19:28:01 +02:00
meierj 2734d9d758 Merge pull request 'fix compiler warnings' (#59) from mueller/compiler-warning-fixes-upstream into eive/develop
Reviewed-on: eive/fsfw#59
2022-04-12 19:27:37 +02:00
muellerr 7a5ce57bbc Merge branch 'development' into mueller/possible-ring-buffer-fix
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-04-11 17:35:42 +02:00
muellerr c45328b34d Merge branch 'eive/develop' into mueller/compiler-warning-fixes-upstream 2022-04-11 16:03:52 +02:00
muellerr 478b305fbe fix compiler warnings 2022-04-11 16:02:20 +02:00
meierj 28e93696df Merge pull request 'IPC Pass Arbitrary Args to MQ IF' (#58) from mueller/ipc-pass-arbitrary-args-to-mq-eive into eive/develop
Reviewed-on: eive/fsfw#58
2022-04-11 14:55:54 +02:00
muellerr 942d1e5e4b Merge remote-tracking branch 'origin/eive/develop' into mueller/ipc-pass-arbitrary-args-to-mq-eive 2022-04-11 14:40:43 +02:00
Robin Mueller adfefdd93f printout tweak
fsfw/fsfw/pipeline/pr-development This commit looks good
fsfw/fsfw/pipeline/head This commit looks good
2022-04-11 14:19:01 +02:00
meierj 6ce09e968d Merge pull request 'Update from FSFW upstream' (#56) from mueller/update-from-upstream into eive/develop
Reviewed-on: eive/fsfw#56
2022-04-11 09:03:08 +02:00
muellerr 290db6ccad Merge remote-tracking branch 'upstream/development' into mueller/update-from-upstream 2022-04-11 08:51:55 +02:00
muellerr 94ed582297 Merge branch 'eive/develop' of https://egit.irs.uni-stuttgart.de/eive/fsfw into eive/develop 2022-04-07 19:47:49 +02:00
muellerr 47ced1efac pool entry takes const T* now 2022-04-07 19:47:37 +02:00
meierj 85a6e4b129 Merge pull request 'improve clock error handler' (#55) from mueller/clock-update into eive/develop
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
Reviewed-on: eive/fsfw#55
2022-04-07 19:29:49 +02:00
muellerr f94bc02b6c Merge branch 'eive/develop' into mueller/clock-update 2022-04-07 17:36:04 +02:00
muellerr 5bda877d97 improve clock error handler 2022-04-07 17:23:06 +02:00
meierj 51e7f1c2f2 Merge pull request 'FSFW Update' (#54) from mueller/clock-update into eive/develop
Reviewed-on: eive/fsfw#54
2022-04-07 11:33:06 +02:00
muellerr a11d7455df Merge branch 'eive/develop' into mueller/master
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-04-07 11:04:47 +02:00
muellerr 4dc903fe20 Merge pull request 'Pool Entry Update' (#53) from mueller/pool-entry-update into eive/develop
Reviewed-on: eive/fsfw#53
2022-04-07 11:04:29 +02:00
muellerr 3325cc18fc Merge branch 'eive/develop' into mueller/pool-entry-update 2022-04-07 11:03:56 +02:00
muellerr 43917d98c0 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/eive/fsfw into mueller/master
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-04-07 11:01:49 +02:00
muellerr e3ffcae3e0 emit warning in linux clock 2022-04-07 11:01:39 +02:00
muellerr 0677de39aa make reporting setter public
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-04-07 00:15:42 +02:00
muellerr aded4fae1e printout improvement
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-04-04 20:34:31 +02:00
meierj 7df51f7202 Merge pull request 'add power switcher component' (#52) from mueller/power-switcher-component into eive/develop
Reviewed-on: eive/fsfw#52
2022-04-04 15:51:18 +02:00
muellerr 7530c44849 Merge branch 'eive/develop' into mueller/pool-entry-update 2022-04-04 15:46:10 +02:00
muellerr e4c6a69f77 this should also zero-init the pool entries
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-04-04 15:44:03 +02:00
muellerr 761a0c9bac new pool ctor which only takes len
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-04-04 15:39:02 +02:00
muellerr 518666f822 add power switcher component 2022-04-01 17:01:56 +02:00
meierj 318cd8e244 Merge pull request 'Update FSFW' (#51) from mueller/master into eive/develop
Reviewed-on: eive/fsfw#51
2022-04-01 14:51:31 +02:00
muellerr 1bc7a91869 apply auto-formatter
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-04-01 14:08:29 +02:00
muellerr 8e26e287c3 Merge remote-tracking branch 'origin/eive/develop' into mueller/master
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-04-01 14:07:26 +02:00
muellerr ce2f7c4fdf Merge pull request 'DHB and CommandActionHelper changes' (#50) from meier/develop into eive/develop
Reviewed-on: eive/fsfw#50
2022-04-01 14:07:05 +02:00
muellerr b3d2d440d7 Merge remote-tracking branch 'origin/eive/develop' into mueller/master
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-03-31 16:13:47 +02:00
Jakob Meier fbf9626fde Merge branch 'eive/develop' into meier/dhbAlternativeReply 2022-03-31 15:04:55 +02:00
meierj 29cf8c9009 fix in getReplyLength 2022-03-31 11:42:39 +02:00
meierj 61d0815de8 Merge pull request 'Refactor Power Module' (#49) from mueller/refactor-power-switch-if-etc-eive into eive/develop
Reviewed-on: eive/fsfw#49
2022-03-31 09:01:24 +02:00
muellerr 127fbeb980 Merge branch 'mueller/refactor-power-switch-if-etc' into mueller/refactor-power-switch-if-etc-eive 2022-03-30 17:41:55 +02:00
muellerr c2581ff4f5 Merge remote-tracking branch 'origin/eive/develop' into mueller/master
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-03-30 13:12:11 +02:00
muellerr 7b6f68c509 Merge remote-tracking branch 'origin/eive/develop' into mueller/refactor-power-switch-if-etc-eive 2022-03-30 12:14:57 +02:00
Jakob Meier 532607bf8f extended command info 2022-03-30 09:21:03 +02:00
Jakob Meier a230dc4313 command action default arguments 2022-03-30 09:20:46 +02:00
muellerr b7a316008a increase allowed read bytes
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-03-28 15:07:46 +02:00
muellerr f598f7030f Merge remote-tracking branch 'upstream/development' into mueller/possible-ring-buffer-fix
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-03-28 15:03:01 +02:00
muellerr 3ea9f999b7 apply auto-formatter
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-03-28 12:59:51 +02:00
muellerr 79f3c7324a tweaks for dummy power switcher
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-03-28 12:59:32 +02:00
muellerr 60972228ef reworked power switch interface
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-03-28 12:47:09 +02:00
muellerr 6ea1eabb2d small order change in DHB
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-03-28 12:21:25 +02:00
muellerr 283a37dccc Merge pull request 'meier/gpioClass' (#47) from meier/gpioClass into eive/develop
Reviewed-on: eive/fsfw#47
2022-03-28 10:22:32 +02:00
muellerr acf0cdfba3 Merge branch 'eive/develop' into meier/gpioClass 2022-03-28 10:22:11 +02:00
muellerr a01002aa5d Merge pull request 'meier/seqCount' (#46) from meier/seqCount into eive/develop
Reviewed-on: eive/fsfw#46
2022-03-28 10:21:48 +02:00
Jakob Meier b52f19254b class to abstract gpio handling 2022-03-28 09:12:29 +02:00
muellerr 79615e47e4 Merge branch 'eive/develop' into meier/seqCount 2022-03-25 15:48:42 +01:00
gaisser 70f575396d Added changelog
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-03-25 15:27:22 +01:00
gaisser ad57e6713e Fixed Unittests
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-03-25 15:20:06 +01:00
meierj e6130263ef Merge pull request 'Update FSFW' (#45) from mueller/master into eive/develop
fsfw/fsfw/pipeline/pr-development This commit looks good
Reviewed-on: eive/fsfw#45
2022-03-25 14:56:19 +01:00
muellerr 6895dbcc81 Merge remote-tracking branch 'origin/eive/develop' into mueller/master
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-03-25 14:39:22 +01:00
muellerr 23f8e5cb41 some more tests fail
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-03-24 21:01:21 +01:00
muellerr 879223f38f added nullptr check
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-03-24 20:57:42 +01:00
Cleanroom Laptop L590 8a44c498c5 add two additional tests for ring buffer
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-03-24 16:50:59 +01:00
muellerr a891769a02 ring buffer cfg error warning
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-03-24 11:32:27 +01:00
muellerr df97c582d7 possibly important fix for ring buffer write 2022-03-23 16:48:17 +01:00
muellerr 4b5e3e70f7 add option to directly check switch state
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-03-22 20:35:04 +01:00
muellerr bbe21e7e89 doc additions
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-03-22 16:14:23 +01:00
muellerr 2823420c46 more docs 2022-03-22 16:10:20 +01:00
muellerr 6dd6f28db0 added active function 2022-03-22 15:55:18 +01:00
muellerr d791fc87b7 some improvements for PowerSwitcher 2022-03-22 15:49:04 +01:00
muellerr 16f2fa9327 Merge remote-tracking branch 'upstream/development' into mueller/master 2022-03-21 10:12:06 +01:00
muellerr 927041209b added override specifiers 2022-03-21 09:12:56 +01:00
Jakob Meier bac8b40880 Merge branch 'eive/develop' into meier/seqCount 2022-03-17 20:02:29 +01:00
Jakob Meier caf78835b2 added -- operator 2022-03-17 20:00:17 +01:00
muellerr b6ed45a85c small form fix 2022-03-17 19:59:16 +01:00
muellerr ddc1cdb1f5 additional docs 2022-03-17 19:22:24 +01:00
muellerr 543daaa95a various tweaks and improvements 2022-03-17 19:19:02 +01:00
muellerr 38c87fdeb2 Merge remote-tracking branch 'upstream/development' into eive/develop 2022-03-17 09:47:20 +01:00
muellerr 5ca5fe4040 Merge remote-tracking branch 'upstream/development' into eive/develop 2022-03-14 17:50:27 +01:00
Jakob Meier 1b7e0371c3 fixed merge conflict 2022-03-14 15:25:17 +01:00
Jakob Meier d4ade5e885 sequence count operator overloading 2022-03-14 15:01:17 +01:00
muellerr fec5f83f4f minor event changes 2022-03-11 14:25:01 +01:00
muellerr 17262a1da9 Merge branch 'mueller/version-getter-upstream' into mueller/master 2022-03-10 09:59:18 +01:00
muellerr b5d6b9745f undef major and minor 2022-03-10 09:56:23 +01:00
muellerr 60639f56dc Merge branch 'mueller/version-getter' into mueller/master 2022-03-10 09:47:32 +01:00
muellerr 3aa0bbde68 Merge branch 'mueller/version-getter-upstream' into mueller/version-getter 2022-03-10 09:47:10 +01:00
muellerr 97bc71a3ff added tests 2022-03-10 09:34:29 +01:00
muellerr 06577ed78a Merge branch 'mueller/version-getter' into mueller/master 2022-03-09 19:11:57 +01:00
muellerr b27f3b84aa getter not required anymore 2022-03-09 19:10:05 +01:00
muellerr 9509847b84 Merge branch 'mueller/version-getter' into mueller/master 2022-03-09 19:05:30 +01:00
muellerr 45b51f9ac8 improved version.h 2022-03-09 19:05:07 +01:00
meierj d5ff6da40b Merge pull request 'function to get fsfw version' (#43) from mueller/version-getter into eive/develop
Reviewed-on: eive/fsfw#43
2022-03-08 12:04:13 +01:00
meierj e498136273 Merge pull request 'call setTimeout' (#44) from mueller/countdown-improvement into eive/develop
Reviewed-on: eive/fsfw#44
2022-03-08 12:03:13 +01:00
muellerr 47d158156b call setTimeout 2022-03-08 11:52:33 +01:00
muellerr d63c01b96f set timeout in countdown ctor 2022-03-08 11:50:47 +01:00
muellerr 3b497dbb8d Merge branch 'mueller/version-getter' into mueller/master 2022-03-08 10:16:56 +01:00
muellerr bf733162eb Merge remote-tracking branch 'origin/eive/develop' into mueller/master 2022-03-08 10:15:54 +01:00
meierj 73f0b9c0dc Merge pull request 'define FSFW_DISABLE_PRINTOUT in any case' (#42) from mueller/define-fsfw-disabled-printout into eive/develop
Reviewed-on: eive/fsfw#42
2022-03-08 10:11:45 +01:00
meierj b5e55f64b0 Merge pull request 'Another HasModesIF improvement' (#41) from mueller/master into eive/develop
Reviewed-on: eive/fsfw#41
2022-03-08 10:11:05 +01:00
muellerr 7ca6d1a695 function to get fsfw version 2022-03-08 10:05:18 +01:00
muellerr cc3210f366 Merge branch 'eive/develop' into mueller/define-fsfw-disabled-printout 2022-03-08 09:57:43 +01:00
muellerr 155d66e534 define FSFW_DISABLE_PRINTOUT in any case 2022-03-08 09:57:11 +01:00
muellerr d4c76a7e46 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/eive/fsfw into mueller/master 2022-03-08 09:56:39 +01:00
muellerr dba3c27b99 define FSFW_DISABLE_PRINTOUT in any case 2022-03-08 09:56:24 +01:00
muellerr 202cfc6dbb Merge branch 'eive/develop' into mueller/master 2022-03-08 09:47:37 +01:00
muellerr 84f95e8d76 this is better 2022-03-08 09:45:58 +01:00
meierj 6de4798805 Merge pull request 'better name of invalid mode retval' (#40) from mueller/master into eive/develop
Reviewed-on: eive/fsfw#40
2022-03-08 09:37:58 +01:00
muellerr 82a645deba Merge branch 'eive/develop' into mueller/master 2022-03-08 09:36:25 +01:00
muellerr 8b1c277c58 better name of invalid mode retval 2022-03-08 09:34:22 +01:00
meierj 5f23f709cc Merge pull request 'Update for Assembly Base' (#38) from mueller/master into eive/develop
Reviewed-on: eive/fsfw#38
2022-03-08 07:53:04 +01:00
muellerr a7cb2d4354 small test device handler fixes 2022-03-07 15:54:56 +01:00
muellerr 7571987a1d Merge branch 'eive/develop' into mueller/master 2022-03-07 15:43:52 +01:00
muellerr d6c1041133 Merge remote-tracking branch 'upstream/development' into eive/develop 2022-03-07 15:34:11 +01:00
muellerr 3c53e2c259 renamed some ModeIF definitions 2022-03-05 03:01:43 +01:00
muellerr 45f0d7fd45 docs 2022-03-04 18:06:57 +01:00
muellerr aebab4c73c Merge remote-tracking branch 'upstream/development' into mueller/master 2022-03-04 15:08:45 +01:00
muellerr c3c2e1c0dd Merge remote-tracking branch 'upstream/development' into eive/develop 2022-03-04 15:08:07 +01:00
muellerr 4e6c1cb72a docs 2022-03-04 00:55:41 +01:00
muellerr e2eb6a46b6 Merge branch 'eive/develop' into mueller/master 2022-03-03 13:43:15 +01:00
meierj 75c56280ad Merge pull request 'GPIO HAL Updates' (#36) from mueller/gpio-hal-updates into eive/develop
Reviewed-on: eive/fsfw#36
2022-03-03 09:44:42 +01:00
muellerr 0ccaf27fcb better printout for parameter code 2022-03-01 19:43:21 +01:00
muellerr e05e203c83 fix merge conflict
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-02-28 15:50:27 +01:00
muellerr ac036b2a70 Merge remote-tracking branch 'origin/eive/develop' into mueller/gpio-hal-updates
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-02-28 15:49:11 +01:00
muellerr 2d9216ba19 Merge branch 'mueller/gpio-hal-updates' into mueller/master 2022-02-28 15:37:03 +01:00
muellerr 2fed161eff Merge branch 'eive/develop' into mueller/gpio-hal-updates
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-02-28 15:34:48 +01:00
muellerr 4cf2a384f3 Merge remote-tracking branch 'upstream/development' into mueller/gpio-hal-updates
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-02-28 15:22:32 +01:00
muellerr 27267b7cb0 Merge remote-tracking branch 'upstream/development' into mueller/gpio-hal-updates
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-02-28 15:21:39 +01:00
muellerr 505e00c067 Merge remote-tracking branch 'origin/eive/develop' into mueller/master 2022-02-28 15:17:29 +01:00
muellerr 68225586d2 some fixes
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-02-28 15:16:43 +01:00
muellerr 6d825a1aa6 some fixes 2022-02-28 15:16:24 +01:00
muellerr fa73ad6731 Merge branch 'mueller/gpio-hal-updates' into mueller/master 2022-02-28 15:01:41 +01:00
muellerr 331aa9442d some updates
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-02-28 14:56:37 +01:00
muellerr 28b28b5684 Merge branch 'mueller/gpio-hal-updates' into mueller/master 2022-02-28 14:48:27 +01:00
muellerr afd3a942e2 use enum class
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-02-28 14:46:12 +01:00
muellerr 729bcc4aaf Merge remote-tracking branch 'upstream/development' into mueller/gpio-hal-updates
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-02-28 14:39:35 +01:00
muellerr 6e0b90696d Merge pull request 'initial submode' (#35) from meier/dhbInitialSubmode into eive/develop
Reviewed-on: eive/fsfw#35
2022-02-28 13:23:26 +01:00
Jakob Meier eacb4ac407 initial submode 2022-02-25 14:41:43 +01:00
meierj 09c1918c1f Merge pull request 'Update FSFW' (#34) from mueller/master into eive/develop
Reviewed-on: eive/fsfw#34
2022-02-25 11:38:11 +01:00
muellerr 123f2ff360 removed unnecessary warning 2022-02-25 11:10:48 +01:00
muellerr 7ce2c1b624 Merge branch 'development' into mueller/gpio-hal-updates
fsfw/fsfw/pipeline/pr-development Something is wrong with the build of this commit
2022-02-23 11:02:02 +01:00
muellerr 4747e54c5d no default values for srv5 params 2022-02-22 20:08:19 +01:00
muellerr 2e230daa14 additional comment 2022-02-22 18:59:50 +01:00
muellerr e909c6b6f7 Merge branch 'mueller/spi-update-clock-polarity' into mueller/master 2022-02-22 18:59:06 +01:00
muellerr d88d7c938f update spi clock polarity
- Perform an empty SPI transfer after setting speed and mode
2022-02-22 18:58:20 +01:00
muellerr 389641f8fd display run commands 2022-02-22 14:00:34 +01:00
muellerr b440c30223 update changelog
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-02-22 11:26:11 +01:00
muellerr 3966b656e9 apply .clang format
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-02-22 11:15:01 +01:00
muellerr 3a5881a0cb more time
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-02-22 11:10:02 +01:00
muellerr 1e982ec00b updated for windows compatibility
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-02-22 11:00:39 +01:00
muellerr 701135e2a6 applied clang format 2022-02-22 10:17:56 +01:00
meierj 19f8e41c7f Merge pull request 'Update FSFW' (#33) from mueller/master into eive/develop
Reviewed-on: eive/fsfw#33
2022-02-21 11:00:17 +01:00
muellerr c4a055986c Merge remote-tracking branch 'origin/eive/develop' into mueller/master 2022-02-21 10:37:53 +01:00
muellerr d74a373f1d make periodic printout run time configurable 2022-02-19 16:41:30 +01:00
muellerr cf69af4e7e passing mqArgs to all mq ctor calls 2022-02-19 16:14:02 +01:00
muellerr 508979d32d cache mq args 2022-02-18 14:52:25 +01:00
muellerr 0d66569687 this is a bit cleaner 2022-02-18 14:07:41 +01:00
muellerr a5871ed0b1 added void* args to queue factory and mq ctor 2022-02-18 14:00:06 +01:00
muellerr a12e98d948 update event mngr printout 2022-02-18 13:39:42 +01:00
muellerr bd05afbddd printout improvements 2022-02-18 13:09:18 +01:00
muellerr b3482eba24 error check in event manager 2022-02-17 20:41:47 +01:00
muellerr 9e92afbf07 bugfix in test task 2022-02-16 18:54:55 +01:00
muellerr 0d6d44f72f Merge remote-tracking branch 'upstream/development' into mueller/master 2022-02-15 17:08:29 +01:00
muellerr 81f5b0c3bf Merge branch 'mueller/dhb-docs' into mueller/master 2022-02-10 14:03:28 +01:00
muellerr 062e93fd88 started DHB docs 2022-02-10 13:53:01 +01:00
muellerr c20bf31d5d Merge pull request 'meier/halAdjustments' (#32) from meier/halAdjustments into eive/develop
Reviewed-on: eive/fsfw#32
2022-02-07 11:03:09 +01:00
Jakob Meier 3c06d2dbbb run clang format script 2022-02-05 18:11:23 +01:00
Jakob Meier 018d814f29 adapt to develop 2022-02-05 17:12:42 +01:00
Jakob Meier c0648a789b merged develop 2022-02-05 17:07:06 +01:00
Jakob Meier 9579e94a71 option to exclude libgpiod from build 2022-02-05 16:09:23 +01:00
Jakob Meier 235fd79dfb added missing baudrates 2022-02-05 16:08:28 +01:00
meierj 83635d3667 Merge pull request 'Fix for event definitions' (#31) from mueller/fix-events into eive/develop
Reviewed-on: eive/fsfw#31
2022-02-03 18:20:48 +01:00
muellerr 581ae4c990 another include removed 2022-02-03 17:37:29 +01:00
muellerr 32a9e0c704 another include removed 2022-02-03 17:37:11 +01:00
muellerr 940c53eba6 removed HK switch helper from cmake file 2022-02-03 17:34:15 +01:00
muellerr 0d4bd856bd removed HK switch helper from cmake file 2022-02-03 17:33:46 +01:00
muellerr b7f6a6961b delete switch helper, some other fixes 2022-02-03 17:14:11 +01:00
muellerr a910a05541 parser is not perfect.. 2022-02-03 17:09:58 +01:00
muellerr 973996e102 more fixes 2022-02-03 17:08:30 +01:00
muellerr b3aee76d91 fixes for event definitoons for parser 2022-02-03 17:06:18 +01:00
muellerr b3151a0ba0 added i2c wiretapping 2022-02-03 13:37:28 +01:00
muellerr fca48257b7 zero initialize array 2022-02-03 12:02:08 +01:00
muellerr 8f95b03e6a fixes warning for good 2022-02-03 11:13:26 +01:00
muellerr 527dba9a9d Merge branch 'mueller/comp-branch' into mueller/master 2022-02-02 20:15:20 +01:00
muellerr 22cd38fffd this should work for c++11
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-02-02 20:05:46 +01:00
muellerr 1a518109d0 Merge branch 'mueller/comp-branch' into mueller/master 2022-02-02 19:49:03 +01:00
muellerr 8030d9ac1b this fixes the warning
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-02-02 19:47:58 +01:00
muellerr 992c05df56 added cpp printout preprocessor guards
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-02-02 17:52:09 +01:00
muellerr 6698d283b6 device wants hard reboot event added 2022-02-02 16:04:36 +01:00
muellerr 33386550cf add uio subdir
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
2022-02-02 12:17:42 +01:00
muellerr 3a65c0db91 use C++ casts 2022-02-02 12:13:42 +01:00
muellerr 41614303d7 renamed variable 2022-02-02 12:11:39 +01:00
muellerr 783176848a include fixes 2022-02-02 12:10:39 +01:00
muellerr 07cb980e06 apply clang script
fsfw/fsfw/pipeline/pr-development This commit looks good
2022-02-02 12:05:03 +01:00
muellerr d8c5bd125e All EIVE changes 2022-02-02 12:02:58 +01:00
779 changed files with 12181 additions and 8164 deletions
-7
View File
@@ -1,7 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="fsfw-tests_coverage" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="fsfw-tests" TARGET_NAME="fsfw-tests_coverage" CONFIG_NAME="Debug Unittest" RUN_TARGET_PROJECT_NAME="fsfw-tests" RUN_TARGET_NAME="fsfw-tests">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
</component>
-7
View File
@@ -1,7 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="fsfw" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="fsfw-tests" TARGET_NAME="fsfw" CONFIG_NAME="Debug Unittest" RUN_TARGET_PROJECT_NAME="fsfw-tests" RUN_TARGET_NAME="fsfw-tests">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
</component>
+45 -8
View File
@@ -8,7 +8,32 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
# [unreleased]
# [v5.0.0]
# [v6.0.0]
## Added
- DHB TM handler `handleDeviceTM` renamed to `handleDeviceTm` and now takes
`util::DataWrapper` as the data input argument. This allows more flexibility in the possible
types of telemetry.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/669
- Add `util::DataWrapper` class inside the `util` module. This is a tagged union which allows
to specify raw data either as a classic C-style raw pointer and size or as a `SerializeIF`
pointer.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/668
- Add new `UnsignedByteField` class
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/660
## Changes
- 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
# [v5.0.0] 25.07.2022
## Changes
@@ -19,16 +44,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- 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
- 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
- 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)
@@ -46,6 +68,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
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
@@ -120,6 +145,8 @@ https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/593
## 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
@@ -139,7 +166,6 @@ https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/593
- 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
@@ -154,6 +180,17 @@ https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/593
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/590
- `Subsystem`: New API to add table and sequence entries
## HAL
- SPI: Cache the SPI device in the communication interface. Architecturally, this makes a
lot more sense because each ComIF should be responsible for one SPI bus.
- SPI: Move the empty transfer to update the line polarity to separate function. This means
it is not automatically called when calling the setter function for SPI speed and mode.
The user should call this function after locking the CS mutex if multiple SPI devices with
differing speeds and modes are attached to one bus.
- SPI: Getter functions for SPI speed and mode.
- I2C: Add wiretapping option for I2C. Enabled with `FSFW_HAL_I2C_WIRETAPPING` defined to 1.
## Fixed
- TCP TMTC Server: `MutexGuard` was not created properly in
+27 -19
View File
@@ -13,7 +13,7 @@ list(APPEND CMAKE_MODULE_PATH
# Version file handling #
# ##############################################################################
set(FSFW_VERSION_IF_GIT_FAILS 4)
set(FSFW_VERSION_IF_GIT_FAILS 5)
set(FSFW_SUBVERSION_IF_GIT_FAILS 0)
set(FSFW_REVISION_IF_GIT_FAILS 0)
@@ -67,6 +67,7 @@ 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")
@@ -103,11 +104,11 @@ if(FSFW_GENERATE_SECTIONS)
option(FSFW_REMOVE_UNUSED_CODE "Remove unused code" ON)
endif()
option(FSFW_BUILD_UNITTESTS
"Build unittest binary in addition to static library" OFF)
option(FSFW_BUILD_TESTS "Build unittest binary in addition to static library"
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_UNITTESTS)
if(FSFW_BUILD_TESTS)
option(FSFW_TESTS_GEN_COV "Generate coverage data for unittests" ON)
endif()
@@ -117,6 +118,12 @@ option(FSFW_ADD_INTERNAL_TESTS "Add internal unit tests" ON)
option(FSFW_ADD_UNITTESTS "Add regular unittests. Requires Catch2" OFF)
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)
endif()
# Optional sources
option(FSFW_ADD_PUS "Compile with PUS sources" ON)
option(FSFW_ADD_MONITORING "Compile with monitoring components" ON)
@@ -139,7 +146,7 @@ if(IPO_SUPPORTED AND FSFW_ENABLE_IPO)
TRUE)
endif()
if(FSFW_BUILD_UNITTESTS)
if(FSFW_BUILD_TESTS)
message(
STATUS
"${MSG_PREFIX} Building the FSFW unittests in addition to the static library"
@@ -162,10 +169,9 @@ if(FSFW_BUILD_UNITTESTS)
list(APPEND FSFW_FETCH_CONTENT_TARGETS Catch2)
endif()
set(FSFW_CONFIG_PATH tests/src/fsfw_tests/unit/testcfg)
configure_file(tests/src/fsfw_tests/unit/testcfg/FSFWConfig.h.in FSFWConfig.h)
configure_file(tests/src/fsfw_tests/unit/testcfg/TestsConfig.h.in
tests/TestsConfig.h)
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})
@@ -183,15 +189,18 @@ if(FSFW_BUILD_UNITTESTS)
endif()
endif()
message(STATUS "${MSG_PREFIX} Finding and/or providing ETL library")
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)
find_package(${FSFW_ETL_LIB_NAME} ${FSFW_ETL_LIB_MAJOR_VERSION} CONFIG QUIET)
# Not installed, so use FetchContent to download and provide etl
if(NOT ${FSFW_ETL_LIB_NAME}_FOUND)
message(
STATUS
"No ETL installation was found with find_package. Installing and providing "
"${MSG_PREFIX} No ETL installation was found with find_package. Installing and providing "
"etl with FindPackage")
include(FetchContent)
@@ -281,16 +290,15 @@ message(
)
add_subdirectory(src)
add_subdirectory(tests)
if(FSFW_ADD_HAL)
add_subdirectory(hal)
endif()
add_subdirectory(contrib)
if(FSFW_BUILD_TESTS)
add_subdirectory(unittests)
endif()
if(FSFW_BUILD_DOCS)
add_subdirectory(docs)
endif()
if(FSFW_BUILD_UNITTESTS)
if(FSFW_BUILD_TESTS)
if(FSFW_TESTS_GEN_COV)
if(CMAKE_COMPILER_IS_GNUCXX)
include(CodeCoverage)
@@ -447,8 +455,8 @@ target_include_directories(
target_compile_options(${LIB_FSFW_NAME} PRIVATE ${FSFW_WARNING_FLAGS}
${COMPILER_FLAGS})
target_link_libraries(${LIB_FSFW_NAME} PRIVATE ${FSFW_ETL_LINK_TARGET}
${FSFW_ADDITIONAL_LINK_LIBS})
target_link_libraries(${LIB_FSFW_NAME} PRIVATE ${FSFW_ADDITIONAL_LINK_LIBS})
target_link_libraries(${LIB_FSFW_NAME} PUBLIC ${FSFW_ETL_LINK_TARGET})
string(
CONCAT
+6 -3
View File
@@ -132,14 +132,14 @@ You can use the following commands inside the `fsfw` folder to set up the build
```sh
mkdir build-tests && cd build-tests
cmake -DFSFW_BUILD_UNITTESTS=ON -DFSFW_OSAL=host -DCMAKE_BUILD_TYPE=Debug ..
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 generare the coverage data in this format,
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
@@ -188,7 +188,10 @@ and open the documentation conveniently. Try `helper.py -h for more information.
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 `apply-clang-format.sh` helper script to format all source files consistently.
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
+3 -3
View File
@@ -1,9 +1,9 @@
pipeline {
environment {
BUILDDIR = 'build-tests'
BUILDDIR = 'cmake-build-tests'
}
agent {
docker { image 'fsfw-ci:d2'}
docker { image 'fsfw-ci:d3'}
}
stages {
stage('Clean') {
@@ -14,7 +14,7 @@ pipeline {
stage('Configure') {
steps {
dir(BUILDDIR) {
sh 'cmake -DFSFW_OSAL=host -DFSFW_BUILD_UNITTESTS=ON -DFSFW_CICD_BUILD=ON ..'
sh 'cmake -DFSFW_OSAL=host -DFSFW_BUILD_TESTS=ON -DFSFW_CICD_BUILD=ON ..'
}
}
}
+1 -1
View File
@@ -14,7 +14,7 @@ FSFW to achieve that. The fsfw uses run-time type information but exceptions are
# Failure Handling
Functions should return a defined `ReturnValue_t` to signal to the caller that something has
gone wrong. Returnvalues must be unique. For this the function `HasReturnvaluesIF::makeReturnCode`
gone wrong. Returnvalues must be unique. For this the function `returnvalue::makeCode`
or the macro `MAKE_RETURN` can be used. The `CLASS_ID` is a unique id for that type of object.
See `returnvalues/FwClassIds` folder. The user can add custom `CLASS_ID`s via the
`fsfwconfig` folder.
+2 -2
View File
@@ -144,7 +144,7 @@ ReturnValue_t GyroHandler::initializeLocalDataPool(localpool::DataPool &localDat
new PoolEntry<uint8_t>({0}));
poolManager.subscribeForPeriodicPacket(gyroData.getSid(), false, 4.0, false);
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
```
@@ -154,7 +154,7 @@ in any case:
```cpp
PoolReadGuard readHelper(&gyroData);
if(readHelper.getReadResult() == HasReturnvaluesIF::RETURN_OK) {
if(readHelper.getReadResult() == returnvalue::OK) {
if(not gyroData.isValid()) {
gyroData.setValidity(true, true);
}
+1 -1
View File
@@ -3,7 +3,7 @@
Returnvalue API
==================
.. doxygenfile:: HasReturnvaluesIF.h
.. doxygenfile:: returnvalue.h
.. _fwclassids:
+6 -6
View File
@@ -75,11 +75,11 @@ and the respective source file with sensible default return values:
void TestDeviceHandler::doShutDown() {}
ReturnValue_t TestDeviceHandler::buildNormalDeviceCommand(DeviceCommandId_t* id) {
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
ReturnValue_t TestDeviceHandler::buildTransitionDeviceCommand(DeviceCommandId_t* id) {
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
void TestDeviceHandler::fillCommandAndReplyMap() {}
@@ -87,17 +87,17 @@ and the respective source file with sensible default return values:
ReturnValue_t TestDeviceHandler::buildCommandFromCommand(DeviceCommandId_t deviceCommand,
const uint8_t* commandData,
size_t commandDataLen) {
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
ReturnValue_t TestDeviceHandler::scanForReply(const uint8_t* start, size_t remainingSize,
DeviceCommandId_t* foundId, size_t* foundLen) {
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
ReturnValue_t TestDeviceHandler::interpretDeviceReply(DeviceCommandId_t id,
const uint8_t* packet) {
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
uint32_t TestDeviceHandler::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) {
@@ -106,5 +106,5 @@ and the respective source file with sensible default return values:
ReturnValue_t TestDeviceHandler::initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
LocalDataPoolManager& poolManager) {
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
+1 -1
View File
@@ -106,7 +106,7 @@ You can use the following commands inside the ``fsfw`` folder to set up the buil
.. code-block:: console
mkdir build-tests && cd build-tests
cmake -DFSFW_BUILD_UNITTESTS=ON -DFSFW_OSAL=host ..
cmake -DFSFW_BUILD_TESTS=ON -DFSFW_OSAL=host ..
You can also use ``-DFSFW_OSAL=linux`` on Linux systems.
+1 -1
View File
@@ -18,7 +18,7 @@ Failure Handling
-----------------
Functions should return a defined :cpp:type:`ReturnValue_t` to signal to the caller that something has
gone wrong. Returnvalues must be unique. For this the function :cpp:func:`HasReturnvaluesIF::makeReturnCode`
gone wrong. Returnvalues must be unique. For this the function :cpp:func:`returnvalue::makeCode`
or the :ref:`macro MAKE_RETURN_CODE <retvalapi>` can be used. The ``CLASS_ID`` is a unique ID for that type of object.
See the :ref:`FSFW Class IDs file <fwclassids>`. The user can add custom ``CLASS_ID``\s via the
``fsfwconfig`` folder.
+2 -2
View File
@@ -150,7 +150,7 @@ with a housekeeping service command.
new PoolEntry<uint8_t>({0}));
poolManager.subscribeForPeriodicPacket(gyroData.getSid(), false, 4.0, false);
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
Now, if we receive some sensor data and converted them into the right format,
@@ -160,7 +160,7 @@ in any case:
.. code-block:: cpp
PoolReadGuard readHelper(&gyroData);
if(readHelper.getReadResult() == HasReturnvaluesIF::RETURN_OK) {
if(readHelper.getReadResult() == returnvalue::OK) {
if(not gyroData.isValid()) {
gyroData.setValidity(true, true);
}
-48
View File
@@ -1,48 +0,0 @@
cmake_minimum_required(VERSION 3.13)
# Can also be changed by upper CMakeLists.txt file
find_library(LIB_FSFW_NAME fsfw REQUIRED)
option(FSFW_HAL_ADD_LINUX "Add the Linux HAL to the sources. Requires gpiod library" OFF)
# On by default for now because I did not have an issue including and compiling those files
# and libraries on a Desktop Linux system and the primary target of the FSFW is still embedded
# Linux. The only exception from this is the gpiod library which requires a dedicated installation,
# but CMake is able to determine whether this library is installed with find_library.
option(FSFW_HAL_LINUX_ADD_PERIPHERAL_DRIVERS "Add peripheral drivers for embedded Linux" ON)
option(FSFW_HAL_LINUX_ADD_LIBGPIOD "Target implements libgpiod" ON)
option(FSFW_HAL_ADD_RASPBERRY_PI "Add Raspberry Pi specific code to the sources" OFF)
option(FSFW_HAL_ADD_STM32H7 "Add the STM32H7 HAL to the sources" OFF)
option(FSFW_HAL_WARNING_SHADOW_LOCAL_GCC "Enable -Wshadow=local warning in GCC" ON)
set(LINUX_HAL_PATH_NAME linux)
set(STM32H7_PATH_NAME stm32h7)
add_subdirectory(src)
foreach(INCLUDE_PATH ${FSFW_HAL_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_HAL_ADD_INC_PATHS_ABS ${CURR_ABS_INC_PATH})
endforeach()
target_include_directories(${LIB_FSFW_NAME} PRIVATE
${FSFW_HAL_ADD_INC_PATHS_ABS}
)
target_compile_definitions(${LIB_FSFW_NAME} PRIVATE
${FSFW_HAL_DEFINES}
)
target_link_libraries(${LIB_FSFW_NAME} PRIVATE
${FSFW_HAL_LINK_LIBS}
)
-9
View File
@@ -1,9 +0,0 @@
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_hal)
@@ -1,3 +0,0 @@
target_sources(${LIB_FSFW_NAME} PRIVATE
GpioCookie.cpp
)
@@ -1,5 +0,0 @@
target_sources(${LIB_FSFW_NAME} PRIVATE
GyroL3GD20Handler.cpp
MgmRM3100Handler.cpp
MgmLIS3MDLHandler.cpp
)
-25
View File
@@ -1,25 +0,0 @@
if(FSFW_HAL_ADD_RASPBERRY_PI)
add_subdirectory(rpi)
endif()
target_sources(${LIB_FSFW_NAME} PRIVATE
UnixFileGuard.cpp
CommandExecutor.cpp
utility.cpp
)
if(FSFW_HAL_LINUX_ADD_PERIPHERAL_DRIVERS)
if(FSFW_HAL_LINUX_ADD_LIBGPIOD)
add_subdirectory(gpio)
endif()
add_subdirectory(uart)
# Adding those does not really make sense on Apple systems which
# are generally host systems. It won't even compile as the headers
# are missing
if(NOT APPLE)
add_subdirectory(i2c)
add_subdirectory(spi)
endif()
endif()
add_subdirectory(uio)
@@ -1,16 +0,0 @@
# This abstraction layer requires the gpiod library. You can install this library
# with "sudo apt-get install -y libgpiod-dev". If you are cross-compiling, you need
# to install the package before syncing the sysroot to your host computer.
find_library(LIB_GPIO gpiod)
if(${LIB_GPIO} MATCHES LIB_GPIO-NOTFOUND)
message(STATUS "gpiod library not found, not linking against it")
else()
target_sources(${LIB_FSFW_NAME} PRIVATE
LinuxLibgpioIF.cpp
)
target_link_libraries(${LIB_FSFW_NAME} PRIVATE
${LIB_GPIO}
)
endif()
@@ -1,8 +0,0 @@
target_sources(${LIB_FSFW_NAME} PUBLIC
I2cComIF.cpp
I2cCookie.cpp
)
@@ -1,3 +0,0 @@
target_sources(${LIB_FSFW_NAME} PRIVATE
GpioRPi.cpp
)
@@ -1,8 +0,0 @@
target_sources(${LIB_FSFW_NAME} PUBLIC
SpiComIF.cpp
SpiCookie.cpp
)
@@ -1,4 +0,0 @@
target_sources(${LIB_FSFW_NAME} PUBLIC
UartComIF.cpp
UartCookie.cpp
)
@@ -1,3 +0,0 @@
target_sources(${LIB_FSFW_NAME} PUBLIC
UioMapper.cpp
)
@@ -1,3 +0,0 @@
target_sources(${LIB_FSFW_NAME} PRIVATE
GyroL3GD20H.cpp
)
@@ -1,3 +0,0 @@
target_sources(${LIB_FSFW_NAME} PRIVATE
gpio.cpp
)
@@ -1,2 +0,0 @@
target_sources(${LIB_FSFW_NAME} PRIVATE
)
@@ -1,9 +0,0 @@
target_sources(${LIB_FSFW_NAME} PRIVATE
spiCore.cpp
spiDefinitions.cpp
spiInterrupts.cpp
mspInit.cpp
SpiCookie.cpp
SpiComIF.cpp
stm32h743zi.cpp
)
@@ -1,2 +0,0 @@
target_sources(${LIB_FSFW_NAME} PRIVATE
)
@@ -35,8 +35,8 @@ void Factory::produceFsfwObjects(void) {
}
void Factory::setStaticFrameworkObjectIds() {
PusServiceBase::packetSource = objects::NO_OBJECT;
PusServiceBase::packetDestination = objects::NO_OBJECT;
PusServiceBase::PUS_DISTRIBUTOR = objects::NO_OBJECT;
PusServiceBase::PACKET_DESTINATION = objects::NO_OBJECT;
CommandingServiceBase::defaultPacketSource = objects::NO_OBJECT;
CommandingServiceBase::defaultPacketDestination = objects::NO_OBJECT;
@@ -11,15 +11,15 @@ ReturnValue_t pst::pollingSequenceInitDefault(
/* Add polling sequence table here */
if (thisSequence->checkSequence() == HasReturnvaluesIF::RETURN_OK) {
return HasReturnvaluesIF::RETURN_OK;
if (thisSequence->checkSequence() == returnvalue::OK) {
return returnvalue::OK;
}
else {
#if FSFW_CPP_OSTREAM_ENABLED == 1
sif::error << "pst::pollingSequenceInitDefault: Sequence invalid!"
<< std::endl;
#endif
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
}
@@ -1,7 +1,7 @@
#ifndef POLLINGSEQUENCEFACTORY_H_
#define POLLINGSEQUENCEFACTORY_H_
#include <fsfw/returnvalues/HasReturnvaluesIF.h>
#include <fsfw/returnvalues/returnvalue.h>
class FixedTimeslotTaskIF;
+9 -3
View File
@@ -3,6 +3,11 @@ if [[ ! -f README.md ]]; then
cd ..
fi
folder_list=(
"./src"
"./unittests"
)
cmake_fmt="cmake-format"
file_selectors="-iname CMakeLists.txt"
if command -v ${cmake_fmt} &> /dev/null; then
@@ -15,9 +20,10 @@ fi
cpp_format="clang-format"
file_selectors="-iname *.h -o -iname *.cpp -o -iname *.c -o -iname *.tpp"
if command -v ${cpp_format} &> /dev/null; then
find ./src ${file_selectors} | xargs ${cpp_format} --style=file -i
find ./hal ${file_selectors} | xargs ${cpp_format} --style=file -i
find ./tests ${file_selectors} | xargs ${cpp_format} --style=file -i
for dir in ${folder_list[@]}; do
echo "Auto-formatting ${dir} recursively"
find ${dir} ${file_selectors} | xargs clang-format --style=file -i
done
else
echo "No ${cpp_format} tool found, not formatting C++/C files"
fi
+24 -5
View File
@@ -13,7 +13,7 @@ from shutil import which
from typing import List
UNITTEST_FOLDER_NAME = "build-tests"
UNITTEST_FOLDER_NAME = "cmake-build-tests"
DOCS_FOLDER_NAME = "build-docs"
@@ -48,6 +48,20 @@ def main():
action="store_true",
help="Run valgrind on generated test binary",
)
parser.add_argument(
"-g",
"--generators",
default = "Ninja",
action="store",
help="CMake generators",
)
parser.add_argument(
"-w",
"--windows",
default=False,
action="store_true",
help="Run on windows",
)
args = parser.parse_args()
if args.all:
@@ -115,14 +129,14 @@ def handle_tests_type(args, build_dir_list: list):
if args.create:
if os.path.exists(UNITTEST_FOLDER_NAME):
shutil.rmtree(UNITTEST_FOLDER_NAME)
create_tests_build_cfg()
create_tests_build_cfg(args)
build_directory = UNITTEST_FOLDER_NAME
elif len(build_dir_list) == 0:
print(
"No valid CMake tests build directory found. "
"Trying to set up test build system"
)
create_tests_build_cfg()
create_tests_build_cfg(args)
build_directory = UNITTEST_FOLDER_NAME
elif len(build_dir_list) == 1:
build_directory = build_dir_list[0]
@@ -147,10 +161,15 @@ def handle_tests_type(args, build_dir_list: list):
os.chdir("..")
def create_tests_build_cfg():
def create_tests_build_cfg(args):
os.mkdir(UNITTEST_FOLDER_NAME)
os.chdir(UNITTEST_FOLDER_NAME)
cmd_runner("cmake -DFSFW_OSAL=host -DFSFW_BUILD_UNITTESTS=ON ..")
if args.windows:
cmake_cmd = 'cmake -G "' + args.generators + '" -DFSFW_OSAL=host -DFSFW_BUILD_TESTS=ON \
-DGCOVR_PATH="py -m gcovr" ..'
else:
cmake_cmd = 'cmake -G "' + args.generators + '" -DFSFW_OSAL=host -DFSFW_BUILD_TESTS=ON ..'
cmd_runner(cmake_cmd)
os.chdir("..")
+5
View File
@@ -4,3 +4,8 @@ target_include_directories(${LIB_FSFW_NAME}
INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
add_subdirectory(fsfw)
if(FSFW_ADD_HAL)
add_subdirectory(fsfw_hal)
endif()
add_subdirectory(fsfw_tests)
+14 -14
View File
@@ -6,13 +6,13 @@
ActionHelper::ActionHelper(HasActionsIF* setOwner, MessageQueueIF* useThisQueue)
: owner(setOwner), queueToUse(useThisQueue) {}
ActionHelper::~ActionHelper() {}
ActionHelper::~ActionHelper() = default;
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;
return returnvalue::OK;
} else {
return CommandMessage::UNKNOWN_COMMAND;
}
@@ -21,7 +21,7 @@ ReturnValue_t ActionHelper::handleActionMessage(CommandMessage* command) {
ReturnValue_t ActionHelper::initialize(MessageQueueIF* queueToUse_) {
ipcStore = ObjectManager::instance()->get<StorageManagerIF>(objects::IPC_STORE);
if (ipcStore == nullptr) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
if (queueToUse_ != nullptr) {
setQueueToUse(queueToUse_);
@@ -35,10 +35,10 @@ ReturnValue_t ActionHelper::initialize(MessageQueueIF* queueToUse_) {
sif::printWarning("ActionHelper::initialize: No queue set\n");
#endif
#endif /* FSFW_VERBOSE_LEVEL >= 1 */
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
void ActionHelper::step(uint8_t step, MessageQueueId_t reportTo, ActionId_t commandId,
@@ -59,10 +59,10 @@ 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;
const uint8_t* dataPtr = nullptr;
size_t size = 0;
ReturnValue_t result = ipcStore->getData(dataAddress, &dataPtr, &size);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
CommandMessage reply;
ActionMessage::setStepReply(&reply, actionId, 0, result);
queueToUse->sendMessage(commandedBy, &reply);
@@ -75,7 +75,7 @@ void ActionHelper::prepareExecution(MessageQueueId_t commandedBy, ActionId_t act
ActionMessage::setCompletionReply(&reply, actionId, true, result);
queueToUse->sendMessage(commandedBy, &reply);
}
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
CommandMessage reply;
ActionMessage::setStepReply(&reply, actionId, 0, result);
queueToUse->sendMessage(commandedBy, &reply);
@@ -91,11 +91,11 @@ ReturnValue_t ActionHelper::reportData(MessageQueueId_t reportTo, ActionId_t rep
size_t maxSize = data->getSerializedSize();
if (maxSize == 0) {
/* No error, there's simply nothing to report. */
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
size_t size = 0;
ReturnValue_t result = ipcStore->getFreeElement(&storeAddress, maxSize, &dataPtr);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
#if FSFW_CPP_OSTREAM_ENABLED == 1
sif::warning << "ActionHelper::reportData: Getting free element from IPC store failed!"
<< std::endl;
@@ -107,7 +107,7 @@ ReturnValue_t ActionHelper::reportData(MessageQueueId_t reportTo, ActionId_t rep
return result;
}
result = data->serialize(&dataPtr, &size, maxSize, SerializeIF::Endianness::BIG);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
ipcStore->deleteData(storeAddress);
return result;
}
@@ -124,7 +124,7 @@ ReturnValue_t ActionHelper::reportData(MessageQueueId_t reportTo, ActionId_t rep
result = queueToUse->sendMessage(reportTo, &reply);
}
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
ipcStore->deleteData(storeAddress);
}
return result;
@@ -137,7 +137,7 @@ ReturnValue_t ActionHelper::reportData(MessageQueueId_t reportTo, ActionId_t rep
CommandMessage reply;
store_address_t storeAddress;
ReturnValue_t result = ipcStore->addData(&storeAddress, data, dataSize);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
#if FSFW_CPP_OSTREAM_ENABLED == 1
sif::warning << "ActionHelper::reportData: Adding data to IPC store failed!" << std::endl;
#else
@@ -158,7 +158,7 @@ ReturnValue_t ActionHelper::reportData(MessageQueueId_t reportTo, ActionId_t rep
result = queueToUse->sendMessage(reportTo, &reply);
}
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
ipcStore->deleteData(storeAddress);
}
return result;
+8 -8
View File
@@ -1,9 +1,9 @@
#ifndef FSFW_ACTION_ACTIONHELPER_H_
#define FSFW_ACTION_ACTIONHELPER_H_
#include "../ipc/MessageQueueIF.h"
#include "../serialize/SerializeIF.h"
#include "ActionMessage.h"
#include "fsfw/ipc/MessageQueueIF.h"
#include "fsfw/serialize/SerializeIF.h"
/**
* @brief Action Helper is a helper class which handles action messages
*
@@ -36,7 +36,7 @@ class ActionHelper {
* 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,
* @return returnvalue::OK if the message is a action message,
* CommandMessage::UNKNOW_COMMAND if this message ID is unkown
*/
ReturnValue_t handleActionMessage(CommandMessage* command);
@@ -45,7 +45,7 @@ class ActionHelper {
* helper function
* @param queueToUse_ Pointer to the messageQueue to be used, optional
* if queue was set in constructor
* @return Returns RETURN_OK if successful
* @return Returns returnvalue::OK if successful
*/
ReturnValue_t initialize(MessageQueueIF* queueToUse_ = nullptr);
/**
@@ -58,7 +58,7 @@ class ActionHelper {
* @param result Result of the execution
*/
void step(uint8_t step, MessageQueueId_t reportTo, ActionId_t commandId,
ReturnValue_t result = HasReturnvaluesIF::RETURN_OK);
ReturnValue_t result = returnvalue::OK);
/**
* Function to be called by the owner to send a action completion message
* @param success Specify whether action was completed successfully or not.
@@ -67,7 +67,7 @@ class ActionHelper {
* @param result Result of the execution
*/
void finish(bool success, MessageQueueId_t reportTo, ActionId_t commandId,
ReturnValue_t result = HasReturnvaluesIF::RETURN_OK);
ReturnValue_t result = returnvalue::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.
@@ -75,7 +75,7 @@ class ActionHelper {
* message to
* @param replyId ID of the executed command
* @param data Pointer to the data
* @return Returns RETURN_OK if successful, otherwise failure code
* @return Returns returnvalue::OK if successful, otherwise failure code
*/
ReturnValue_t reportData(MessageQueueId_t reportTo, ActionId_t replyId, SerializeIF* data,
bool hideSender = false);
@@ -86,7 +86,7 @@ class ActionHelper {
* message to
* @param replyId ID of the executed command
* @param data Pointer to the data
* @return Returns RETURN_OK if successful, otherwise failure code
* @return Returns returnvalue::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);
+5 -6
View File
@@ -2,9 +2,9 @@
#include "fsfw/objectmanager/ObjectManager.h"
#include "fsfw/storagemanager/StorageManagerIF.h"
ActionMessage::ActionMessage() {}
ActionMessage::ActionMessage() = default;
ActionMessage::~ActionMessage() {}
ActionMessage::~ActionMessage() = default;
void ActionMessage::setCommand(CommandMessage* message, ActionId_t fid,
store_address_t parameters) {
@@ -25,7 +25,7 @@ store_address_t ActionMessage::getStoreId(const CommandMessage* message) {
void ActionMessage::setStepReply(CommandMessage* message, ActionId_t fid, uint8_t step,
ReturnValue_t result) {
if (result == HasReturnvaluesIF::RETURN_OK) {
if (result == returnvalue::OK) {
message->setCommand(STEP_SUCCESS);
} else {
message->setCommand(STEP_FAILED);
@@ -64,9 +64,8 @@ void ActionMessage::clear(CommandMessage* message) {
switch (message->getCommand()) {
case EXECUTE_ACTION:
case DATA_REPLY: {
StorageManagerIF* ipcStore =
ObjectManager::instance()->get<StorageManagerIF>(objects::IPC_STORE);
if (ipcStore != NULL) {
auto* ipcStore = ObjectManager::instance()->get<StorageManagerIF>(objects::IPC_STORE);
if (ipcStore != nullptr) {
ipcStore->deleteData(getStoreId(message));
}
break;
+2 -2
View File
@@ -33,12 +33,12 @@ class ActionMessage {
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);
ReturnValue_t result = returnvalue::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, bool success,
ReturnValue_t result = HasReturnvaluesIF::RETURN_OK);
ReturnValue_t result = returnvalue::OK);
static void clear(CommandMessage* message);
};
+24 -27
View File
@@ -2,26 +2,26 @@
#include "fsfw/objectmanager/ObjectManager.h"
CommandActionHelper::CommandActionHelper(CommandsActionsIF *setOwner)
: owner(setOwner), queueToUse(NULL), ipcStore(NULL), commandCount(0), lastTarget(0) {}
: owner(setOwner), queueToUse(nullptr), ipcStore(nullptr), commandCount(0), lastTarget(0) {}
CommandActionHelper::~CommandActionHelper() {}
CommandActionHelper::~CommandActionHelper() = default;
ReturnValue_t CommandActionHelper::commandAction(object_id_t commandTo, ActionId_t actionId,
SerializeIF *data) {
HasActionsIF *receiver = ObjectManager::instance()->get<HasActionsIF>(commandTo);
if (receiver == NULL) {
auto *receiver = ObjectManager::instance()->get<HasActionsIF>(commandTo);
if (receiver == nullptr) {
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) {
if (result != returnvalue::OK) {
return result;
}
size_t size = 0;
result = data->serialize(&storePointer, &size, maxSize, SerializeIF::Endianness::BIG);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
return sendCommand(receiver->getCommandQueue(), actionId, storeId);
@@ -29,16 +29,13 @@ ReturnValue_t CommandActionHelper::commandAction(object_id_t commandTo, ActionId
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::instance()->get<HasActionsIF>(commandTo);
if (receiver == NULL) {
auto *receiver = ObjectManager::instance()->get<HasActionsIF>(commandTo);
if (receiver == nullptr) {
return CommandsActionsIF::OBJECT_HAS_NO_FUNCTIONS;
}
store_address_t storeId;
ReturnValue_t result = ipcStore->addData(&storeId, data, size);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
return sendCommand(receiver->getCommandQueue(), actionId, storeId);
@@ -49,7 +46,7 @@ ReturnValue_t CommandActionHelper::sendCommand(MessageQueueId_t queueId, ActionI
CommandMessage command;
ActionMessage::setCommand(&command, actionId, storeId);
ReturnValue_t result = queueToUse->sendMessage(queueId, &command);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
ipcStore->deleteData(storeId);
}
lastTarget = queueId;
@@ -59,55 +56,55 @@ ReturnValue_t CommandActionHelper::sendCommand(MessageQueueId_t queueId, ActionI
ReturnValue_t CommandActionHelper::initialize() {
ipcStore = ObjectManager::instance()->get<StorageManagerIF>(objects::IPC_STORE);
if (ipcStore == NULL) {
return HasReturnvaluesIF::RETURN_FAILED;
if (ipcStore == nullptr) {
return returnvalue::FAILED;
}
queueToUse = owner->getCommandQueuePtr();
if (queueToUse == NULL) {
return HasReturnvaluesIF::RETURN_FAILED;
if (queueToUse == nullptr) {
return returnvalue::FAILED;
}
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
ReturnValue_t CommandActionHelper::handleReply(CommandMessage *reply) {
if (reply->getSender() != lastTarget) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
switch (reply->getCommand()) {
case ActionMessage::COMPLETION_SUCCESS:
commandCount--;
owner->completionSuccessfulReceived(ActionMessage::getActionId(reply));
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
case ActionMessage::COMPLETION_FAILED:
commandCount--;
owner->completionFailedReceived(ActionMessage::getActionId(reply),
ActionMessage::getReturnCode(reply));
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
case ActionMessage::STEP_SUCCESS:
owner->stepSuccessfulReceived(ActionMessage::getActionId(reply),
ActionMessage::getStep(reply));
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
case ActionMessage::STEP_FAILED:
commandCount--;
owner->stepFailedReceived(ActionMessage::getActionId(reply), ActionMessage::getStep(reply),
ActionMessage::getReturnCode(reply));
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
case ActionMessage::DATA_REPLY:
extractDataForOwner(ActionMessage::getActionId(reply), ActionMessage::getStoreId(reply));
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
default:
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
}
uint8_t CommandActionHelper::getCommandCount() const { return commandCount; }
void CommandActionHelper::extractDataForOwner(ActionId_t actionId, store_address_t storeId) {
const uint8_t *data = NULL;
const uint8_t *data = nullptr;
size_t size = 0;
ReturnValue_t result = ipcStore->getData(storeId, &data, &size);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return;
}
owner->dataReceived(actionId, data, size);
+5 -5
View File
@@ -4,7 +4,7 @@
#include "ActionMessage.h"
#include "fsfw/ipc/MessageQueueIF.h"
#include "fsfw/objectmanager/ObjectManagerIF.h"
#include "fsfw/returnvalues/HasReturnvaluesIF.h"
#include "fsfw/returnvalues/returnvalue.h"
#include "fsfw/serialize/SerializeIF.h"
#include "fsfw/storagemanager/StorageManagerIF.h"
@@ -14,14 +14,14 @@ class CommandActionHelper {
friend class CommandsActionsIF;
public:
CommandActionHelper(CommandsActionsIF* owner);
explicit 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,
const uint8_t* data = nullptr, uint32_t size = 0);
ReturnValue_t commandAction(object_id_t commandTo, ActionId_t actionId, SerializeIF* data);
ReturnValue_t initialize();
ReturnValue_t handleReply(CommandMessage* reply);
uint8_t getCommandCount() const;
[[nodiscard]] uint8_t getCommandCount() const;
private:
CommandsActionsIF* owner;
+3 -3
View File
@@ -1,9 +1,9 @@
#ifndef FSFW_ACTION_COMMANDSACTIONSIF_H_
#define FSFW_ACTION_COMMANDSACTIONSIF_H_
#include "../ipc/MessageQueueIF.h"
#include "../returnvalues/HasReturnvaluesIF.h"
#include "CommandActionHelper.h"
#include "fsfw/ipc/MessageQueueIF.h"
#include "fsfw/returnvalues/returnvalue.h"
/**
* Interface to separate commanding actions of other objects.
@@ -21,7 +21,7 @@ class CommandsActionsIF {
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 ~CommandsActionsIF() = default;
virtual MessageQueueIF* getCommandQueuePtr() = 0;
protected:
+5 -5
View File
@@ -1,11 +1,11 @@
#ifndef FSFW_ACTION_HASACTIONSIF_H_
#define FSFW_ACTION_HASACTIONSIF_H_
#include "../ipc/MessageQueueIF.h"
#include "../returnvalues/HasReturnvaluesIF.h"
#include "ActionHelper.h"
#include "ActionMessage.h"
#include "SimpleActionHelper.h"
#include "fsfw/ipc/MessageQueueIF.h"
#include "fsfw/returnvalues/returnvalue.h"
/**
* @brief
@@ -40,12 +40,12 @@ class HasActionsIF {
static const ReturnValue_t INVALID_PARAMETERS = MAKE_RETURN_CODE(2);
static const ReturnValue_t EXECUTION_FINISHED = MAKE_RETURN_CODE(3);
static const ReturnValue_t INVALID_ACTION_ID = MAKE_RETURN_CODE(4);
virtual ~HasActionsIF() {}
virtual ~HasActionsIF() = default;
/**
* Function to get the MessageQueueId_t of the implementing object
* @return MessageQueueId_t of the object
*/
virtual MessageQueueId_t getCommandQueue() const = 0;
[[nodiscard]] virtual MessageQueueId_t getCommandQueue() const = 0;
/**
* Execute or initialize the execution of a certain function.
* The ActionHelpers will execute this function and behave differently
@@ -53,7 +53,7 @@ class HasActionsIF {
*
* @return
* -@c EXECUTION_FINISHED Finish reply will be generated
* -@c Not RETURN_OK Step failure reply will be generated
* -@c Not returnvalue::OK Step failure reply will be generated
*/
virtual ReturnValue_t executeAction(ActionId_t actionId, MessageQueueId_t commandedBy,
const uint8_t* data, size_t size) = 0;
+6 -6
View File
@@ -3,13 +3,13 @@
SimpleActionHelper::SimpleActionHelper(HasActionsIF* setOwner, MessageQueueIF* useThisQueue)
: ActionHelper(setOwner, useThisQueue), isExecuting(false) {}
SimpleActionHelper::~SimpleActionHelper() {}
SimpleActionHelper::~SimpleActionHelper() = default;
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) {
if (result != returnvalue::OK) {
resetHelper();
}
}
@@ -38,10 +38,10 @@ void SimpleActionHelper::prepareExecution(MessageQueueId_t commandedBy, ActionId
ActionMessage::setStepReply(&reply, actionId, 0, HasActionsIF::IS_BUSY);
queueToUse->sendMessage(commandedBy, &reply);
}
const uint8_t* dataPtr = NULL;
const uint8_t* dataPtr = nullptr;
size_t size = 0;
ReturnValue_t result = ipcStore->getData(dataAddress, &dataPtr, &size);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
ActionMessage::setStepReply(&reply, actionId, 0, result);
queueToUse->sendMessage(commandedBy, &reply);
return;
@@ -51,12 +51,12 @@ void SimpleActionHelper::prepareExecution(MessageQueueId_t commandedBy, ActionId
result = owner->executeAction(actionId, commandedBy, dataPtr, size);
ipcStore->deleteData(dataAddress);
switch (result) {
case HasReturnvaluesIF::RETURN_OK:
case returnvalue::OK:
isExecuting = true;
stepCount++;
break;
case HasActionsIF::EXECUTION_FINISHED:
ActionMessage::setCompletionReply(&reply, actionId, true, HasReturnvaluesIF::RETURN_OK);
ActionMessage::setCompletionReply(&reply, actionId, true, returnvalue::OK);
queueToUse->sendMessage(commandedBy, &reply);
break;
default:
+6 -6
View File
@@ -11,15 +11,15 @@
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);
~SimpleActionHelper() override;
void step(ReturnValue_t result = returnvalue::OK);
void finish(ReturnValue_t result = returnvalue::OK);
ReturnValue_t reportData(SerializeIF* data);
protected:
void prepareExecution(MessageQueueId_t commandedBy, ActionId_t actionId,
store_address_t dataAddress);
virtual void resetHelper();
store_address_t dataAddress) override;
void resetHelper() override;
private:
bool isExecuting;
@@ -28,4 +28,4 @@ class SimpleActionHelper : public ActionHelper {
uint8_t stepCount = 0;
};
#endif /* SIMPLEACTIONHELPER_H_ */
#endif /* FSFW_ACTION_SIMPLEACTIONHELPER_H_ */
-57
View File
@@ -1,57 +0,0 @@
#include "fsfw/cfdp/CFDPHandler.h"
#include "fsfw/cfdp/CFDPMessage.h"
#include "fsfw/ipc/CommandMessage.h"
#include "fsfw/ipc/QueueFactory.h"
#include "fsfw/objectmanager/ObjectManager.h"
#include "fsfw/storagemanager/storeAddress.h"
#include "fsfw/tmtcservices/AcceptsTelemetryIF.h"
object_id_t CFDPHandler::packetSource = 0;
object_id_t CFDPHandler::packetDestination = 0;
CFDPHandler::CFDPHandler(object_id_t setObjectId, CFDPDistributor* dist)
: SystemObject(setObjectId) {
requestQueue = QueueFactory::instance()->createMessageQueue(CFDP_HANDLER_MAX_RECEPTION);
distributor = dist;
}
CFDPHandler::~CFDPHandler() {}
ReturnValue_t CFDPHandler::initialize() {
ReturnValue_t result = SystemObject::initialize();
if (result != RETURN_OK) {
return result;
}
this->distributor->registerHandler(this);
return HasReturnvaluesIF::RETURN_OK;
}
ReturnValue_t CFDPHandler::handleRequest(store_address_t storeId) {
#if FSFW_VERBOSE_LEVEL >= 1
#if FSFW_CPP_OSTREAM_ENABLED == 1
sif::debug << "CFDPHandler::handleRequest" << std::endl;
#else
sif::printDebug("CFDPHandler::handleRequest\n");
#endif /* !FSFW_CPP_OSTREAM_ENABLED == 1 */
#endif
// TODO read out packet from store using storeId
return RETURN_OK;
}
ReturnValue_t CFDPHandler::performOperation(uint8_t opCode) {
ReturnValue_t status = RETURN_OK;
CommandMessage currentMessage;
for (status = this->requestQueue->receiveMessage(&currentMessage); status == RETURN_OK;
status = this->requestQueue->receiveMessage(&currentMessage)) {
store_address_t storeId = CFDPMessage::getStoreId(&currentMessage);
this->handleRequest(storeId);
}
return RETURN_OK;
}
uint16_t CFDPHandler::getIdentifier() { return 0; }
MessageQueueId_t CFDPHandler::getRequestQueue() { return this->requestQueue->getId(); }
-17
View File
@@ -1,17 +0,0 @@
#include "CFDPMessage.h"
CFDPMessage::CFDPMessage() {}
CFDPMessage::~CFDPMessage() {}
void CFDPMessage::setCommand(CommandMessage *message, store_address_t cfdpPacket) {
message->setParameter(cfdpPacket.raw);
}
store_address_t CFDPMessage::getStoreId(const CommandMessage *message) {
store_address_t storeAddressCFDPPacket;
storeAddressCFDPPacket = message->getParameter();
return storeAddressCFDPPacket;
}
void CFDPMessage::clear(CommandMessage *message) {}
+1 -1
View File
@@ -1,4 +1,4 @@
target_sources(${LIB_FSFW_NAME} PRIVATE CFDPHandler.cpp CFDPMessage.cpp)
target_sources(${LIB_FSFW_NAME} PRIVATE CfdpHandler.cpp CfdpMessage.cpp)
add_subdirectory(pdu)
add_subdirectory(tlv)
+58
View File
@@ -0,0 +1,58 @@
#include "fsfw/cfdp/CfdpHandler.h"
#include "fsfw/cfdp/CfdpMessage.h"
#include "fsfw/ipc/CommandMessage.h"
#include "fsfw/ipc/QueueFactory.h"
#include "fsfw/storagemanager/storeAddress.h"
#include "fsfw/tmtcservices/AcceptsTelemetryIF.h"
object_id_t CfdpHandler::packetSource = 0;
object_id_t CfdpHandler::packetDestination = 0;
CfdpHandler::CfdpHandler(object_id_t setObjectId, CFDPDistributor* dist)
: SystemObject(setObjectId) {
auto mqArgs = MqArgs(setObjectId, static_cast<void*>(this));
requestQueue = QueueFactory::instance()->createMessageQueue(
CFDP_HANDLER_MAX_RECEPTION, MessageQueueMessage::MAX_MESSAGE_SIZE, &mqArgs);
distributor = dist;
}
CfdpHandler::~CfdpHandler() = default;
ReturnValue_t CfdpHandler::initialize() {
ReturnValue_t result = SystemObject::initialize();
if (result != returnvalue::OK) {
return result;
}
this->distributor->registerHandler(this);
return returnvalue::OK;
}
ReturnValue_t CfdpHandler::handleRequest(store_address_t storeId) {
#if FSFW_VERBOSE_LEVEL >= 1
#if FSFW_CPP_OSTREAM_ENABLED == 1
sif::debug << "CFDPHandler::handleRequest" << std::endl;
#else
sif::printDebug("CFDPHandler::handleRequest\n");
#endif /* !FSFW_CPP_OSTREAM_ENABLED == 1 */
#endif
// TODO read out packet from store using storeId
return returnvalue::OK;
}
ReturnValue_t CfdpHandler::performOperation(uint8_t opCode) {
ReturnValue_t status = returnvalue::OK;
CommandMessage currentMessage;
for (status = this->requestQueue->receiveMessage(&currentMessage); status == returnvalue::OK;
status = this->requestQueue->receiveMessage(&currentMessage)) {
store_address_t storeId = CfdpMessage::getStoreId(&currentMessage);
this->handleRequest(storeId);
}
return returnvalue::OK;
}
uint16_t CfdpHandler::getIdentifier() { return 0; }
MessageQueueId_t CfdpHandler::getRequestQueue() { return this->requestQueue->getId(); }
@@ -3,7 +3,7 @@
#include "fsfw/ipc/MessageQueueIF.h"
#include "fsfw/objectmanager/SystemObject.h"
#include "fsfw/returnvalues/HasReturnvaluesIF.h"
#include "fsfw/returnvalues/returnvalue.h"
#include "fsfw/tasks/ExecutableObjectIF.h"
#include "fsfw/tcdistribution/CFDPDistributor.h"
#include "fsfw/tmtcservices/AcceptsTelecommandsIF.h"
@@ -12,18 +12,15 @@ namespace Factory {
void setStaticFrameworkObjectIds();
}
class CFDPHandler : public ExecutableObjectIF,
public AcceptsTelecommandsIF,
public SystemObject,
public HasReturnvaluesIF {
class CfdpHandler : public ExecutableObjectIF, public AcceptsTelecommandsIF, public SystemObject {
friend void(Factory::setStaticFrameworkObjectIds)();
public:
CFDPHandler(object_id_t setObjectId, CFDPDistributor* distributor);
CfdpHandler(object_id_t setObjectId, CFDPDistributor* distributor);
/**
* The destructor is empty.
*/
virtual ~CFDPHandler();
virtual ~CfdpHandler();
virtual ReturnValue_t handleRequest(store_address_t storeId);
@@ -45,7 +42,7 @@ class CFDPHandler : public ExecutableObjectIF,
* The current CFDP packet to be processed.
* It is deleted after handleRequest was executed.
*/
CFDPPacketStored currentPacket;
CfdpPacketStored currentPacket;
static object_id_t packetSource;
+17
View File
@@ -0,0 +1,17 @@
#include "CfdpMessage.h"
CfdpMessage::CfdpMessage() = default;
CfdpMessage::~CfdpMessage() = default;
void CfdpMessage::setCommand(CommandMessage *message, store_address_t cfdpPacket) {
message->setParameter(cfdpPacket.raw);
}
store_address_t CfdpMessage::getStoreId(const CommandMessage *message) {
store_address_t storeId;
storeId = static_cast<store_address_t>(message->getParameter());
return storeId;
}
void CfdpMessage::clear(CommandMessage *message) {}
@@ -5,14 +5,14 @@
#include "fsfw/objectmanager/ObjectManagerIF.h"
#include "fsfw/storagemanager/StorageManagerIF.h"
class CFDPMessage {
class CfdpMessage {
private:
CFDPMessage();
CfdpMessage();
public:
static const uint8_t MESSAGE_ID = messagetypes::CFDP;
virtual ~CFDPMessage();
virtual ~CfdpMessage();
static void setCommand(CommandMessage* message, store_address_t cfdpPacket);
static store_address_t getStoreId(const CommandMessage* message);
+3 -3
View File
@@ -43,7 +43,7 @@ struct FileSize : public SerializeIF {
uint32_t sizeTmp = 0;
ReturnValue_t result =
SerializeAdapter::deSerialize(&sizeTmp, buffer, size, streamEndianness);
if (result == HasReturnvaluesIF::RETURN_OK) {
if (result == returnvalue::OK) {
fileSize = sizeTmp;
}
return result;
@@ -53,11 +53,11 @@ struct FileSize : public SerializeIF {
ReturnValue_t setFileSize(uint64_t fileSize, bool largeFile) {
if (not largeFile and fileSize > UINT32_MAX) {
// TODO: emit warning here
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
this->fileSize = fileSize;
this->largeFile = largeFile;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
bool isLargeFile() const { return largeFile; }
+10 -14
View File
@@ -7,7 +7,7 @@
#include <cstdint>
#include "fsfw/returnvalues/FwClassIds.h"
#include "fsfw/returnvalues/HasReturnvaluesIF.h"
#include "fsfw/returnvalues/returnvalue.h"
namespace cfdp {
@@ -15,28 +15,24 @@ static constexpr uint8_t VERSION_BITS = 0b00100000;
static constexpr uint8_t CFDP_CLASS_ID = CLASS_ID::CFDP;
static constexpr ReturnValue_t INVALID_TLV_TYPE =
HasReturnvaluesIF::makeReturnCode(CFDP_CLASS_ID, 1);
static constexpr ReturnValue_t INVALID_DIRECTIVE_FIELDS =
HasReturnvaluesIF::makeReturnCode(CFDP_CLASS_ID, 2);
static constexpr ReturnValue_t INVALID_PDU_DATAFIELD_LEN =
HasReturnvaluesIF::makeReturnCode(CFDP_CLASS_ID, 3);
static constexpr ReturnValue_t INVALID_TLV_TYPE = returnvalue::makeCode(CFDP_CLASS_ID, 1);
static constexpr ReturnValue_t INVALID_DIRECTIVE_FIELDS = returnvalue::makeCode(CFDP_CLASS_ID, 2);
static constexpr ReturnValue_t INVALID_PDU_DATAFIELD_LEN = returnvalue::makeCode(CFDP_CLASS_ID, 3);
static constexpr ReturnValue_t INVALID_ACK_DIRECTIVE_FIELDS =
HasReturnvaluesIF::makeReturnCode(CFDP_CLASS_ID, 4);
returnvalue::makeCode(CFDP_CLASS_ID, 4);
//! Can not parse options. This can also occur because there are options
//! available but the user did not pass a valid options array
static constexpr ReturnValue_t METADATA_CANT_PARSE_OPTIONS =
HasReturnvaluesIF::makeReturnCode(CFDP_CLASS_ID, 5);
static constexpr ReturnValue_t NAK_CANT_PARSE_OPTIONS =
HasReturnvaluesIF::makeReturnCode(CFDP_CLASS_ID, 6);
returnvalue::makeCode(CFDP_CLASS_ID, 5);
static constexpr ReturnValue_t NAK_CANT_PARSE_OPTIONS = returnvalue::makeCode(CFDP_CLASS_ID, 6);
static constexpr ReturnValue_t FINISHED_CANT_PARSE_FS_RESPONSES =
HasReturnvaluesIF::makeReturnCode(CFDP_CLASS_ID, 6);
returnvalue::makeCode(CFDP_CLASS_ID, 6);
static constexpr ReturnValue_t FILESTORE_REQUIRES_SECOND_FILE =
HasReturnvaluesIF::makeReturnCode(CFDP_CLASS_ID, 8);
returnvalue::makeCode(CFDP_CLASS_ID, 8);
//! Can not parse filestore response because user did not pass a valid instance
//! or remaining size is invalid
static constexpr ReturnValue_t FILESTORE_RESPONSE_CANT_PARSE_FS_MESSAGE =
HasReturnvaluesIF::makeReturnCode(CFDP_CLASS_ID, 9);
returnvalue::makeCode(CFDP_CLASS_ID, 9);
//! Checksum types according to the SANA Checksum Types registry
//! https://sanaregistry.org/r/checksum_identifiers/
+2 -2
View File
@@ -5,7 +5,7 @@ AckPduDeserializer::AckPduDeserializer(const uint8_t* pduBuf, size_t maxSize, Ac
ReturnValue_t AckPduDeserializer::parseData() {
ReturnValue_t result = FileDirectiveDeserializer::parseData();
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
size_t currentIdx = FileDirectiveDeserializer::getHeaderSize();
@@ -15,7 +15,7 @@ ReturnValue_t AckPduDeserializer::parseData() {
if (not checkAndSetCodes(rawPtr[currentIdx], rawPtr[currentIdx + 1])) {
return cfdp::INVALID_ACK_DIRECTIVE_FIELDS;
}
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
bool AckPduDeserializer::checkAndSetCodes(uint8_t firstByte, uint8_t secondByte) {
+3 -3
View File
@@ -11,7 +11,7 @@ ReturnValue_t AckPduSerializer::serialize(uint8_t **buffer, size_t *size, size_t
Endianness streamEndianness) const {
ReturnValue_t result =
FileDirectiveSerializer::serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
cfdp::FileDirectives ackedDirective = ackInfo.getAckedDirective();
@@ -21,7 +21,7 @@ ReturnValue_t AckPduSerializer::serialize(uint8_t **buffer, size_t *size, size_t
if (ackedDirective != cfdp::FileDirectives::FINISH and
ackedDirective != cfdp::FileDirectives::EOF_DIRECTIVE) {
// TODO: better returncode
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
if (*size + 2 > maxSize) {
return SerializeIF::BUFFER_TOO_SHORT;
@@ -32,5 +32,5 @@ ReturnValue_t AckPduSerializer::serialize(uint8_t **buffer, size_t *size, size_t
**buffer = ackedConditionCode << 4 | transactionStatus;
*buffer += 1;
*size += 1;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
+4 -4
View File
@@ -8,7 +8,7 @@ EofPduDeserializer::EofPduDeserializer(const uint8_t* pduBuf, size_t maxSize, Eo
ReturnValue_t EofPduDeserializer::parseData() {
ReturnValue_t result = FileDirectiveDeserializer::parseData();
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
@@ -31,7 +31,7 @@ ReturnValue_t EofPduDeserializer::parseData() {
uint32_t checksum = 0;
auto endianness = getEndianness();
result = SerializeAdapter::deSerialize(&checksum, &bufPtr, &deserLen, endianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
info.setChecksum(checksum);
@@ -44,7 +44,7 @@ ReturnValue_t EofPduDeserializer::parseData() {
result = SerializeAdapter::deSerialize(&fileSizeValue, &bufPtr, &deserLen, endianness);
info.setFileSize(fileSizeValue, false);
}
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
if (info.getConditionCode() != cfdp::ConditionCode::NO_ERROR) {
@@ -61,7 +61,7 @@ ReturnValue_t EofPduDeserializer::parseData() {
" given TLV pointer invalid");
#endif
#endif /* FSFW_VERBOSE_LEVEL >= 1 */
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
result = tlvPtr->deSerialize(&bufPtr, &deserLen, endianness);
}
+2 -2
View File
@@ -16,7 +16,7 @@ ReturnValue_t EofPduSerializer::serialize(uint8_t **buffer, size_t *size, size_t
Endianness streamEndianness) const {
ReturnValue_t result =
FileDirectiveSerializer::serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
if (*size + 1 > maxSize) {
@@ -27,7 +27,7 @@ ReturnValue_t EofPduSerializer::serialize(uint8_t **buffer, size_t *size, size_t
*size += 1;
uint32_t checksum = info.getChecksum();
result = SerializeAdapter::serialize(&checksum, buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
if (info.getFileSize().isLargeFile()) {
+3 -3
View File
@@ -6,7 +6,7 @@ FileDataDeserializer::FileDataDeserializer(const uint8_t* pduBuf, size_t maxSize
ReturnValue_t FileDataDeserializer::parseData() {
ReturnValue_t result = HeaderDeserializer::parseData();
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
size_t currentIdx = HeaderDeserializer::getHeaderSize();
@@ -32,13 +32,13 @@ ReturnValue_t FileDataDeserializer::parseData() {
}
}
result = info.getOffset().deSerialize(&buf, &remSize, this->getEndianness());
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
if (remSize > 0) {
info.setFileData(buf, remSize);
}
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
SerializeIF::Endianness FileDataDeserializer::getEndianness() const { return endianness; }
+2 -2
View File
@@ -50,11 +50,11 @@ ReturnValue_t FileDataInfo::addSegmentMetadataInfo(cfdp::RecordContinuationState
this->segmentMetadataFlag = cfdp::SegmentMetadataFlag::PRESENT;
this->recContState = recContState;
if (segmentMetadataLen > 63) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
this->segmentMetadata = segmentMetadata;
this->segmentMetadataLen = segmentMetadataLen;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
const uint8_t *FileDataInfo::getFileData(size_t *fileSize) const {
+3 -3
View File
@@ -17,7 +17,7 @@ void FileDataSerializer::update() {
ReturnValue_t FileDataSerializer::serialize(uint8_t** buffer, size_t* size, size_t maxSize,
Endianness streamEndianness) const {
ReturnValue_t result = HeaderSerializer::serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
if (*size + this->getSerializedSize() > maxSize) {
@@ -36,7 +36,7 @@ ReturnValue_t FileDataSerializer::serialize(uint8_t** buffer, size_t* size, size
}
cfdp::FileSize& offset = info.getOffset();
result = offset.serialize(this->getLargeFileFlag(), buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
size_t fileSize = 0;
@@ -47,7 +47,7 @@ ReturnValue_t FileDataSerializer::serialize(uint8_t** buffer, size_t* size, size
std::memcpy(*buffer, readOnlyPtr, fileSize);
*buffer += fileSize;
*size += fileSize;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
size_t FileDataSerializer::getSerializedSize() const {
@@ -7,7 +7,7 @@ cfdp::FileDirectives FileDirectiveDeserializer::getFileDirective() const { retur
ReturnValue_t FileDirectiveDeserializer::parseData() {
ReturnValue_t result = HeaderDeserializer::parseData();
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
if (this->getPduDataFieldLen() < 1) {
@@ -21,7 +21,7 @@ ReturnValue_t FileDirectiveDeserializer::parseData() {
return cfdp::INVALID_DIRECTIVE_FIELDS;
}
setFileDirective(static_cast<cfdp::FileDirectives>(rawPtr[currentIdx]));
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
size_t FileDirectiveDeserializer::getHeaderSize() const {
@@ -13,13 +13,13 @@ size_t FileDirectiveSerializer::getSerializedSize() const {
ReturnValue_t FileDirectiveSerializer::serialize(uint8_t **buffer, size_t *size, size_t maxSize,
Endianness streamEndianness) const {
if (buffer == nullptr or size == nullptr) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
if (FileDirectiveSerializer::getWholePduSize() > maxSize) {
return BUFFER_TOO_SHORT;
}
ReturnValue_t result = HeaderSerializer::serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
@@ -29,7 +29,7 @@ ReturnValue_t FileDirectiveSerializer::serialize(uint8_t **buffer, size_t *size,
**buffer = directiveCode;
*buffer += 1;
*size += 1;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
void FileDirectiveSerializer::setDirectiveDataFieldLen(size_t len) {
+5 -5
View File
@@ -46,14 +46,14 @@ ReturnValue_t FinishedInfo::setFilestoreResponsesArray(FilestoreResponseTlv** fs
if (maxFsResponsesLen != nullptr) {
this->fsResponsesMaxLen = *maxFsResponsesLen;
}
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
ReturnValue_t FinishedInfo::getFilestoreResonses(FilestoreResponseTlv*** fsResponses,
size_t* fsResponsesLen,
size_t* fsResponsesMaxLen) {
if (fsResponses == nullptr) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
*fsResponses = this->fsResponses;
if (fsResponsesLen != nullptr) {
@@ -62,7 +62,7 @@ ReturnValue_t FinishedInfo::getFilestoreResonses(FilestoreResponseTlv*** fsRespo
if (fsResponsesMaxLen != nullptr) {
*fsResponsesMaxLen = this->fsResponsesMaxLen;
}
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
void FinishedInfo::setFaultLocation(EntityIdTlv* faultLocation) {
@@ -71,10 +71,10 @@ void FinishedInfo::setFaultLocation(EntityIdTlv* faultLocation) {
ReturnValue_t FinishedInfo::getFaultLocation(EntityIdTlv** faultLocation) {
if (this->faultLocation == nullptr) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
*faultLocation = this->faultLocation;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
cfdp::ConditionCode FinishedInfo::getConditionCode() const { return conditionCode; }
@@ -6,7 +6,7 @@ FinishPduDeserializer::FinishPduDeserializer(const uint8_t* pduBuf, size_t maxSi
ReturnValue_t FinishPduDeserializer::parseData() {
ReturnValue_t result = FileDirectiveDeserializer::parseData();
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
size_t currentIdx = FileDirectiveDeserializer::getHeaderSize();
@@ -33,7 +33,7 @@ FinishedInfo& FinishPduDeserializer::getInfo() { return finishedInfo; }
ReturnValue_t FinishPduDeserializer::parseTlvs(size_t remLen, size_t currentIdx, const uint8_t* buf,
cfdp::ConditionCode conditionCode) {
ReturnValue_t result = HasReturnvaluesIF::RETURN_OK;
ReturnValue_t result = returnvalue::OK;
size_t fsResponsesIdx = 0;
auto endianness = getEndianness();
FilestoreResponseTlv** fsResponseArray = nullptr;
@@ -60,7 +60,7 @@ ReturnValue_t FinishPduDeserializer::parseTlvs(size_t remLen, size_t currentIdx,
return cfdp::FINISHED_CANT_PARSE_FS_RESPONSES;
}
result = fsResponseArray[fsResponsesIdx]->deSerialize(&buf, &remLen, endianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
fsResponsesIdx += 1;
@@ -72,11 +72,11 @@ ReturnValue_t FinishPduDeserializer::parseTlvs(size_t remLen, size_t currentIdx,
return cfdp::INVALID_TLV_TYPE;
}
result = finishedInfo.getFaultLocation(&faultLocation);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = faultLocation->deSerialize(&buf, &remLen, endianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
} else {
+3 -3
View File
@@ -17,7 +17,7 @@ ReturnValue_t FinishPduSerializer::serialize(uint8_t **buffer, size_t *size, siz
Endianness streamEndianness) const {
ReturnValue_t result =
FileDirectiveSerializer::serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
if (*size + 1 >= maxSize) {
@@ -34,13 +34,13 @@ ReturnValue_t FinishPduSerializer::serialize(uint8_t **buffer, size_t *size, siz
finishInfo.getFilestoreResonses(&fsResponsesArray, &fsResponsesArrayLen, nullptr);
for (size_t idx = 0; idx < fsResponsesArrayLen; idx++) {
result = fsResponsesArray[idx]->serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
}
}
EntityIdTlv *entityId = nullptr;
if (finishInfo.getFaultLocation(&entityId) == HasReturnvaluesIF::RETURN_OK) {
if (finishInfo.getFaultLocation(&entityId) == returnvalue::OK) {
result = entityId->serialize(buffer, size, maxSize, streamEndianness);
}
return result;
+2 -2
View File
@@ -18,7 +18,7 @@ ReturnValue_t HeaderDeserializer::setData(uint8_t *dataPtr, size_t maxSize, void
if (dataPtr == nullptr) {
// Allowed for now
this->fixedHeader = nullptr;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
this->fixedHeader = reinterpret_cast<PduHeaderFixedStruct *>(const_cast<uint8_t *>(dataPtr));
sourceIdRaw = static_cast<uint8_t *>(&fixedHeader->variableFieldsStart);
@@ -27,7 +27,7 @@ ReturnValue_t HeaderDeserializer::setData(uint8_t *dataPtr, size_t maxSize, void
seqNumRaw = static_cast<uint8_t *>(sourceIdRaw) + static_cast<uint8_t>(widthEntityIds);
destIdRaw = static_cast<uint8_t *>(seqNumRaw) + static_cast<uint8_t>(widthSeqNum);
this->maxSize = maxSize;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
size_t HeaderDeserializer::getHeaderSize() const {
+3 -3
View File
@@ -36,8 +36,8 @@ class HeaderDeserializer : public RedirectableDataPointerIF, public PduHeaderIF
/**
* This needs to be called before accessing the PDU fields to avoid segmentation faults.
* @return
* - RETURN_OK on parse success
* - RETURN_FAILED Invalid raw data
* - returnvalue::OK on parse success
* - returnvalue::FAILED Invalid raw data
* - SerializeIF::BUFFER_TOO_SHORT if buffer is shorter than expected
*/
virtual ReturnValue_t parseData();
@@ -61,7 +61,7 @@ class HeaderDeserializer : public RedirectableDataPointerIF, public PduHeaderIF
void getDestId(cfdp::EntityId& destId) const override;
void getTransactionSeqNum(cfdp::TransactionSeqNum& seqNum) const override;
ReturnValue_t deserResult = HasReturnvaluesIF::RETURN_OK;
ReturnValue_t deserResult = returnvalue::OK;
/**
* Can also be used to reset the pointer to a nullptr, but the getter functions will not
+6 -6
View File
@@ -15,7 +15,7 @@ HeaderSerializer::HeaderSerializer(PduConfig &pduConf, cfdp::PduType pduType,
ReturnValue_t HeaderSerializer::serialize(uint8_t **buffer, size_t *size, size_t maxSize,
Endianness streamEndianness) const {
if (buffer == nullptr or size == nullptr) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
if (maxSize < this->getSerializedSize()) {
return BUFFER_TOO_SHORT;
@@ -32,19 +32,19 @@ ReturnValue_t HeaderSerializer::serialize(uint8_t **buffer, size_t *size, size_t
*buffer += 1;
*size += 4;
ReturnValue_t result = pduConf.sourceId.serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = pduConf.seqNum.serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = pduConf.destId.serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
size_t HeaderSerializer::getSerializedSize() const {
@@ -55,7 +55,7 @@ size_t HeaderSerializer::getSerializedSize() const {
ReturnValue_t HeaderSerializer::deSerialize(const uint8_t **buffer, size_t *size,
Endianness streamEndianness) {
// We could implement this, but I prefer dedicated classes
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
size_t HeaderSerializer::getWholePduSize() const {
@@ -6,7 +6,7 @@ KeepAlivePduDeserializer::KeepAlivePduDeserializer(const uint8_t* pduBuf, size_t
ReturnValue_t KeepAlivePduDeserializer::parseData() {
ReturnValue_t result = FileDirectiveDeserializer::parseData();
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
size_t currentIdx = FileDirectiveDeserializer::getHeaderSize();
+1 -1
View File
@@ -19,7 +19,7 @@ ReturnValue_t KeepAlivePduSerializer::serialize(uint8_t **buffer, size_t *size,
Endianness streamEndianness) const {
ReturnValue_t result =
FileDirectiveSerializer::serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
return progress.serialize(this->getLargeFileFlag(), buffer, size, maxSize, streamEndianness);
+2 -2
View File
@@ -39,7 +39,7 @@ cfdp::FileSize& MetadataInfo::getFileSize() { return fileSize; }
ReturnValue_t MetadataInfo::getOptions(cfdp::Tlv*** optionsArray, size_t* optionsLen,
size_t* maxOptsLen) {
if (optionsArray == nullptr or this->optionsArray == nullptr) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
*optionsArray = this->optionsArray;
if (optionsLen != nullptr) {
@@ -48,7 +48,7 @@ ReturnValue_t MetadataInfo::getOptions(cfdp::Tlv*** optionsArray, size_t* option
if (maxOptsLen != nullptr) {
*maxOptsLen = this->maxOptionsLen;
}
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
bool MetadataInfo::hasOptions() const {
@@ -6,7 +6,7 @@ MetadataPduDeserializer::MetadataPduDeserializer(const uint8_t* pduBuf, size_t m
ReturnValue_t MetadataPduDeserializer::parseData() {
ReturnValue_t result = FileDirectiveDeserializer::parseData();
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
size_t currentIdx = FileDirectiveDeserializer::getHeaderSize();
@@ -21,15 +21,15 @@ ReturnValue_t MetadataPduDeserializer::parseData() {
buf += 1;
auto endianness = getEndianness();
result = info.getFileSize().deSerialize(&buf, &remSize, endianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = info.getSourceFileName().deSerialize(&buf, &remSize, endianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = info.getDestFileName().deSerialize(&buf, &remSize, endianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
@@ -47,7 +47,7 @@ ReturnValue_t MetadataPduDeserializer::parseData() {
return cfdp::METADATA_CANT_PARSE_OPTIONS;
}
result = optionsArray[optsIdx]->deSerialize(&buf, &remSize, endianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
optsIdx++;
+5 -5
View File
@@ -17,7 +17,7 @@ ReturnValue_t MetadataPduSerializer::serialize(uint8_t **buffer, size_t *size, s
Endianness streamEndianness) const {
ReturnValue_t result =
FileDirectiveSerializer::serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
if (*size + 1 >= maxSize) {
@@ -27,15 +27,15 @@ ReturnValue_t MetadataPduSerializer::serialize(uint8_t **buffer, size_t *size, s
*buffer += 1;
*size += 1;
result = info.getFileSize().serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = info.getSourceFileName().serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = info.getDestFileName().serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
@@ -45,7 +45,7 @@ ReturnValue_t MetadataPduSerializer::serialize(uint8_t **buffer, size_t *size, s
info.getOptions(&optsArray, &optsLen, nullptr);
for (size_t idx = 0; idx < optsLen; idx++) {
result = optsArray[idx]->serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
}
+5 -5
View File
@@ -5,7 +5,7 @@ NakPduDeserializer::NakPduDeserializer(const uint8_t* pduBuf, size_t maxSize, Na
ReturnValue_t NakPduDeserializer::parseData() {
ReturnValue_t result = FileDirectiveDeserializer::parseData();
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
size_t currentIdx = FileDirectiveDeserializer::getHeaderSize();
@@ -16,11 +16,11 @@ ReturnValue_t NakPduDeserializer::parseData() {
}
result =
nakInfo.getStartOfScope().deSerialize(&buffer, &remSize, SerializeIF::Endianness::NETWORK);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = nakInfo.getEndOfScope().deSerialize(&buffer, &remSize, SerializeIF::Endianness::NETWORK);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
nakInfo.setSegmentRequestLen(0);
@@ -39,12 +39,12 @@ ReturnValue_t NakPduDeserializer::parseData() {
}
result =
segReqs[idx].first.deSerialize(&buffer, &remSize, SerializeIF::Endianness::NETWORK);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result =
segReqs[idx].second.deSerialize(&buffer, &remSize, SerializeIF::Endianness::NETWORK);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
idx++;
+5 -5
View File
@@ -17,15 +17,15 @@ ReturnValue_t NakPduSerializer::serialize(uint8_t **buffer, size_t *size, size_t
Endianness streamEndianness) const {
ReturnValue_t result =
FileDirectiveSerializer::serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = nakInfo.getStartOfScope().serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = nakInfo.getEndOfScope().serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
if (nakInfo.hasSegmentRequests()) {
@@ -34,11 +34,11 @@ ReturnValue_t NakPduSerializer::serialize(uint8_t **buffer, size_t *size, size_t
nakInfo.getSegmentRequests(&segmentRequests, &segmentRequestLen, nullptr);
for (size_t idx = 0; idx < segmentRequestLen; idx++) {
result = segmentRequests[idx].first.serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = segmentRequests[idx].second.serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
}
+2 -2
View File
@@ -9,7 +9,7 @@ cfdp::PromptResponseRequired PromptPduDeserializer::getPromptResponseRequired()
ReturnValue_t PromptPduDeserializer::parseData() {
ReturnValue_t result = FileDirectiveDeserializer::parseData();
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
size_t currentIdx = FileDirectiveDeserializer::getHeaderSize();
@@ -17,5 +17,5 @@ ReturnValue_t PromptPduDeserializer::parseData() {
return SerializeIF::STREAM_TOO_SHORT;
}
responseRequired = static_cast<cfdp::PromptResponseRequired>((rawPtr[currentIdx] >> 7) & 0x01);
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
+1 -1
View File
@@ -13,7 +13,7 @@ ReturnValue_t PromptPduSerializer::serialize(uint8_t **buffer, size_t *size, siz
Endianness streamEndianness) const {
ReturnValue_t result =
FileDirectiveSerializer::serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
if (*size + 1 > maxSize) {
+9 -9
View File
@@ -6,7 +6,7 @@
cfdp::VarLenField::VarLenField(cfdp::WidthInBytes width, size_t value) : VarLenField() {
ReturnValue_t result = this->setValue(width, value);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
#if FSFW_DISABLE_PRINTOUT == 0
#if FSFW_CPP_OSTREAM_ENABLED == 1
sif::warning << "cfdp::VarLenField: Setting value failed" << std::endl;
@@ -25,21 +25,21 @@ ReturnValue_t cfdp::VarLenField::setValue(cfdp::WidthInBytes widthInBytes, size_
switch (widthInBytes) {
case (cfdp::WidthInBytes::ONE_BYTE): {
if (value > UINT8_MAX) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
this->value.oneByte = value;
break;
}
case (cfdp::WidthInBytes::TWO_BYTES): {
if (value > UINT16_MAX) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
this->value.twoBytes = value;
break;
}
case (cfdp::WidthInBytes::FOUR_BYTES): {
if (value > UINT32_MAX) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
this->value.fourBytes = value;
break;
@@ -49,7 +49,7 @@ ReturnValue_t cfdp::VarLenField::setValue(cfdp::WidthInBytes widthInBytes, size_
}
}
this->width = widthInBytes;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
size_t cfdp::VarLenField::getValue() const {
@@ -77,7 +77,7 @@ ReturnValue_t cfdp::VarLenField::serialize(uint8_t **buffer, size_t *size, size_
**buffer = value.oneByte;
*size += 1;
*buffer += 1;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
case (cfdp::WidthInBytes::TWO_BYTES): {
return SerializeAdapter::serialize(&value.twoBytes, buffer, size, maxSize, streamEndianness);
@@ -86,7 +86,7 @@ ReturnValue_t cfdp::VarLenField::serialize(uint8_t **buffer, size_t *size, size_
return SerializeAdapter::serialize(&value.fourBytes, buffer, size, maxSize, streamEndianness);
}
default: {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
}
}
@@ -105,7 +105,7 @@ ReturnValue_t cfdp::VarLenField::deSerialize(const uint8_t **buffer, size_t *siz
case (cfdp::WidthInBytes::ONE_BYTE): {
value.oneByte = **buffer;
*size += 1;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
case (cfdp::WidthInBytes::TWO_BYTES): {
return SerializeAdapter::deSerialize(&value.twoBytes, buffer, size, streamEndianness);
@@ -114,7 +114,7 @@ ReturnValue_t cfdp::VarLenField::deSerialize(const uint8_t **buffer, size_t *siz
return SerializeAdapter::deSerialize(&value.fourBytes, buffer, size, streamEndianness);
}
default: {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
}
}
@@ -22,7 +22,7 @@ ReturnValue_t FaultHandlerOverrideTlv::serialize(uint8_t **buffer, size_t *size,
**buffer = this->conditionCode << 4 | this->handlerCode;
*buffer += 1;
*size += 1;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
size_t FaultHandlerOverrideTlv::getSerializedSize() const { return getLengthField() + 2; }
@@ -40,7 +40,7 @@ ReturnValue_t FaultHandlerOverrideTlv::deSerialize(const uint8_t **buffer, size_
*size -= 1;
size_t detectedSize = **buffer;
if (detectedSize != getLengthField()) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
*buffer += 1;
*size += 1;
@@ -48,7 +48,7 @@ ReturnValue_t FaultHandlerOverrideTlv::deSerialize(const uint8_t **buffer, size_
this->handlerCode = static_cast<cfdp::FaultHandlerCode>(**buffer & 0x0f);
*buffer += 1;
*size += 1;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
cfdp::TlvTypes FaultHandlerOverrideTlv::getType() const { return cfdp::TlvTypes::FAULT_HANDLER; }
+6 -6
View File
@@ -16,11 +16,11 @@ void FilestoreRequestTlv::setSecondFileName(cfdp::Lv *secondFileName) {
ReturnValue_t FilestoreRequestTlv::serialize(uint8_t **buffer, size_t *size, size_t maxSize,
Endianness streamEndianness) const {
ReturnValue_t result = commonSerialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = firstFileName.serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
if (requiresSecondFileName()) {
@@ -30,13 +30,13 @@ ReturnValue_t FilestoreRequestTlv::serialize(uint8_t **buffer, size_t *size, siz
}
secondFileName->serialize(buffer, size, maxSize, streamEndianness);
}
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
ReturnValue_t FilestoreRequestTlv::deSerialize(const uint8_t **buffer, size_t *size,
Endianness streamEndianness) {
ReturnValue_t result = commonDeserialize(buffer, size, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
return deSerializeFromValue(buffer, size, streamEndianness);
@@ -63,13 +63,13 @@ ReturnValue_t FilestoreRequestTlv::deSerializeFromValue(const uint8_t **buffer,
*buffer += 1;
*size -= 1;
ReturnValue_t result = firstFileName.deSerialize(buffer, size, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
if (requiresSecondFileName()) {
if (secondFileName == nullptr) {
secondFileNameMissing();
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
result = secondFileName->deSerialize(buffer, size, streamEndianness);
}
+6 -6
View File
@@ -32,11 +32,11 @@ ReturnValue_t FilestoreResponseTlv::serialize(uint8_t **buffer, size_t *size, si
Endianness streamEndianness) const {
ReturnValue_t result =
commonSerialize(buffer, size, maxSize, streamEndianness, true, this->statusCode);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = firstFileName.serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
if (requiresSecondFileName()) {
@@ -61,7 +61,7 @@ ReturnValue_t FilestoreResponseTlv::serialize(uint8_t **buffer, size_t *size, si
ReturnValue_t FilestoreResponseTlv::deSerialize(const uint8_t **buffer, size_t *size,
Endianness streamEndianness) {
ReturnValue_t result = commonDeserialize(buffer, size, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
return deSerializeFromValue(buffer, size, streamEndianness);
@@ -75,7 +75,7 @@ ReturnValue_t FilestoreResponseTlv::deSerializeFromValue(const uint8_t **buffer,
*buffer += 1;
*size -= 1;
ReturnValue_t result = firstFileName.deSerialize(buffer, size, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
if (requiresSecondFileName()) {
@@ -83,7 +83,7 @@ ReturnValue_t FilestoreResponseTlv::deSerializeFromValue(const uint8_t **buffer,
return cfdp::FILESTORE_REQUIRES_SECOND_FILE;
}
result = secondFileName->deSerialize(buffer, size, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
}
@@ -98,7 +98,7 @@ ReturnValue_t FilestoreResponseTlv::deSerializeFromValue(const uint8_t **buffer,
*size -= 1;
*buffer += 1;
// Ignore empty filestore message
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
return filestoreMsg->deSerialize(buffer, size, streamEndianness);
}
+5 -5
View File
@@ -73,7 +73,7 @@ class FilestoreTlvBase : public TlvIF {
Endianness streamEndianness, bool isResponse = false,
uint8_t responseStatusCode = 0) const {
if (buffer == nullptr or size == nullptr) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
if (maxSize < 3) {
return SerializeIF::BUFFER_TOO_SHORT;
@@ -90,13 +90,13 @@ class FilestoreTlvBase : public TlvIF {
}
*buffer += 1;
*size += 1;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
ReturnValue_t commonDeserialize(const uint8_t** buffer, size_t* size,
SerializeIF::Endianness streamEndianness) {
if (buffer == nullptr or size == nullptr) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
if (*size < 3) {
return SerializeIF::STREAM_TOO_SHORT;
@@ -114,7 +114,7 @@ class FilestoreTlvBase : public TlvIF {
if (remainingLength == 0) {
return SerializeIF::STREAM_TOO_SHORT;
}
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
bool requiresSecondFileName() const {
@@ -152,7 +152,7 @@ class FilestoreTlvBase : public TlvIF {
size_t serSize = 0;
uint8_t* valueStart = buffer + 2;
ReturnValue_t result = this->serialize(&buffer, &serSize, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
tlv.setValue(valueStart, serSize - 2);
+5 -5
View File
@@ -31,13 +31,13 @@ ReturnValue_t cfdp::Lv::serialize(uint8_t** buffer, size_t* size, size_t maxSize
return BUFFER_TOO_SHORT;
}
if (buffer == nullptr or size == nullptr) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
if (zeroLen) {
**buffer = 0;
*size += 1;
*buffer += 1;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
return value.serialize(buffer, size, maxSize, streamEndianness);
}
@@ -54,7 +54,7 @@ size_t cfdp::Lv::getSerializedSize() const {
ReturnValue_t cfdp::Lv::deSerialize(const uint8_t** buffer, size_t* size,
Endianness streamEndianness) {
if (buffer == nullptr or size == nullptr) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
if (*size < 1) {
return SerializeIF::STREAM_TOO_SHORT;
@@ -64,7 +64,7 @@ ReturnValue_t cfdp::Lv::deSerialize(const uint8_t** buffer, size_t* size,
zeroLen = true;
*buffer += 1;
*size -= 1;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
} else if (*size < lengthField + 1) {
return SerializeIF::STREAM_TOO_SHORT;
}
@@ -73,7 +73,7 @@ ReturnValue_t cfdp::Lv::deSerialize(const uint8_t** buffer, size_t* size,
value.setBuffer(const_cast<uint8_t*>(*buffer + 1), lengthField);
*buffer += 1 + lengthField;
*size -= 1 + lengthField;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
const uint8_t* cfdp::Lv::getValue(size_t* size) const {
+6 -6
View File
@@ -12,7 +12,7 @@ cfdp::Tlv::Tlv() : value(static_cast<uint8_t *>(nullptr), 0, true) {}
ReturnValue_t cfdp::Tlv::serialize(uint8_t **buffer, size_t *size, size_t maxSize,
Endianness streamEndianness) const {
if (buffer == nullptr or size == nullptr) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
if (*size + 2 > maxSize) {
return BUFFER_TOO_SHORT;
@@ -28,10 +28,10 @@ ReturnValue_t cfdp::Tlv::serialize(uint8_t **buffer, size_t *size, size_t maxSiz
**buffer = 0;
*size += 1;
*buffer += 1;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
if (value.getConstBuffer() == nullptr) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
return value.serialize(buffer, size, maxSize, streamEndianness);
}
@@ -48,7 +48,7 @@ size_t cfdp::Tlv::getSerializedSize() const {
ReturnValue_t cfdp::Tlv::deSerialize(const uint8_t **buffer, size_t *size,
Endianness streamEndianness) {
if (buffer == nullptr or size == nullptr) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
if (*size < 2) {
return STREAM_TOO_SHORT;
@@ -68,7 +68,7 @@ ReturnValue_t cfdp::Tlv::deSerialize(const uint8_t **buffer, size_t *size,
zeroLen = true;
*buffer += 1;
*size -= 1;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
if (lengthField + 1 > *size) {
return SerializeIF::STREAM_TOO_SHORT;
@@ -78,7 +78,7 @@ ReturnValue_t cfdp::Tlv::deSerialize(const uint8_t **buffer, size_t *size,
value.setBuffer(const_cast<uint8_t *>(*buffer + 1), lengthField);
*buffer += 1 + lengthField;
*size -= 1 + lengthField;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
const uint8_t *cfdp::Tlv::getValue() const { return value.getConstBuffer(); }
+2 -2
View File
@@ -23,7 +23,7 @@ class Tlv : public TlvIF {
* @param maxSize
* @param streamEndianness
* @return
* - RETURN_OK on success
* - returnvalue::OK on success
* - INVALID_TLV_TYPE
* - SerializeIF returncode on wrong serialization parameters
*/
@@ -37,7 +37,7 @@ class Tlv : public TlvIF {
* @param buffer Raw buffer including the size field
* @param size
* @param streamEndianness
* - RETURN_OK on success
* - returnvalue::OK on success
* - INVALID_TLV_TYPE
* - SerializeIF returncode on wrong deserialization parameters
*/
+3 -3
View File
@@ -1,7 +1,7 @@
#ifndef FSFW_CONTAINER_ARRAYLIST_H_
#define FSFW_CONTAINER_ARRAYLIST_H_
#include "../returnvalues/HasReturnvaluesIF.h"
#include "../returnvalues/returnvalue.h"
#include "../serialize/SerializeAdapter.h"
#include "../serialize/SerializeIF.h"
@@ -183,7 +183,7 @@ class ArrayList {
* @param entry
* @return
* -@c FULL if the List is full
* -@c RETURN_OK else
* -@c returnvalue::OK else
*/
ReturnValue_t insert(T entry) {
if (size >= maxSize_) {
@@ -191,7 +191,7 @@ class ArrayList {
}
entries[size] = entry;
++size;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
/**
+5 -5
View File
@@ -4,7 +4,7 @@
#include <cstddef>
#include <cstring>
#include "../returnvalues/HasReturnvaluesIF.h"
#include "../returnvalues/returnvalue.h"
template <typename T>
class FIFOBase {
@@ -20,24 +20,24 @@ class FIFOBase {
/**
* Insert value into FIFO
* @param value
* @return RETURN_OK on success, FULL if full
* @return returnvalue::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
* @return returnvalue::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
* @return returnvalue::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
* @return returnvalue::OK on success, EMPTY if empty
*/
ReturnValue_t pop();
+5 -5
View File
@@ -17,7 +17,7 @@ inline ReturnValue_t FIFOBase<T>::insert(T value) {
values[writeIndex] = value;
writeIndex = next(writeIndex);
++currentSize;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
};
@@ -27,12 +27,12 @@ inline ReturnValue_t FIFOBase<T>::retrieve(T* value) {
return EMPTY;
} else {
if (value == nullptr) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
*value = values[readIndex];
readIndex = next(readIndex);
--currentSize;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
};
@@ -42,10 +42,10 @@ inline ReturnValue_t FIFOBase<T>::peek(T* value) {
return EMPTY;
} else {
if (value == nullptr) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
*value = values[readIndex];
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
};
+11 -11
View File
@@ -4,7 +4,7 @@
#include <type_traits>
#include <utility>
#include "../returnvalues/HasReturnvaluesIF.h"
#include "../returnvalues/returnvalue.h"
#include "ArrayList.h"
/**
@@ -75,7 +75,7 @@ class FixedMap : public SerializeIF {
uint32_t size() const { return _size; }
ReturnValue_t insert(key_t key, T value, Iterator* storedValue = nullptr) {
if (exists(key) == HasReturnvaluesIF::RETURN_OK) {
if (exists(key) == returnvalue::OK) {
return KEY_ALREADY_EXISTS;
}
if (_size == theMap.maxSize()) {
@@ -87,7 +87,7 @@ class FixedMap : public SerializeIF {
*storedValue = Iterator(&theMap[_size]);
}
++_size;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
ReturnValue_t insert(std::pair<key_t, T> pair) { return insert(pair.first, pair.second); }
@@ -95,7 +95,7 @@ class FixedMap : public SerializeIF {
ReturnValue_t exists(key_t key) const {
ReturnValue_t result = KEY_DOES_NOT_EXIST;
if (findIndex(key) < _size) {
result = HasReturnvaluesIF::RETURN_OK;
result = returnvalue::OK;
}
return result;
}
@@ -108,7 +108,7 @@ class FixedMap : public SerializeIF {
theMap[i] = theMap[_size - 1];
--_size;
--((*iter).value);
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
ReturnValue_t erase(key_t key) {
@@ -118,14 +118,14 @@ class FixedMap : public SerializeIF {
}
theMap[i] = theMap[_size - 1];
--_size;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::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) {
if (result != returnvalue::OK) {
return end();
}
return Iterator(&theMap[findIndex(key)]);
@@ -133,11 +133,11 @@ class FixedMap : public SerializeIF {
ReturnValue_t find(key_t key, T** value) const {
ReturnValue_t result = exists(key);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
*value = &theMap[findIndex(key)].second;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
bool empty() {
@@ -165,7 +165,7 @@ class FixedMap : public SerializeIF {
ReturnValue_t result =
SerializeAdapter::serialize(&this->_size, buffer, size, maxSize, streamEndianness);
uint32_t i = 0;
while ((result == HasReturnvaluesIF::RETURN_OK) && (i < this->_size)) {
while ((result == returnvalue::OK) && (i < this->_size)) {
result =
SerializeAdapter::serialize(&theMap[i].first, buffer, size, maxSize, streamEndianness);
result =
@@ -195,7 +195,7 @@ class FixedMap : public SerializeIF {
return SerializeIF::TOO_MANY_ELEMENTS;
}
uint32_t i = 0;
while ((result == HasReturnvaluesIF::RETURN_OK) && (i < this->_size)) {
while ((result == returnvalue::OK) && (i < this->_size)) {
result = SerializeAdapter::deSerialize(&theMap[i].first, buffer, size, streamEndianness);
result = SerializeAdapter::deSerialize(&theMap[i].second, buffer, size, streamEndianness);
++i;
+7 -7
View File
@@ -100,7 +100,7 @@ class FixedOrderedMultimap {
* @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
* @return returnvalue::OK if insert was successful, MAP_FULL if no space is available
*/
ReturnValue_t insert(key_t key, T value, Iterator* storedValue = nullptr);
@@ -108,14 +108,14 @@ class FixedOrderedMultimap {
* 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
* @return returnvalue::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
* @return returnvalue::OK if the key exists KEY_DOES_NOT_EXIST otherwise
*/
ReturnValue_t exists(key_t key) const;
@@ -127,14 +127,14 @@ class FixedOrderedMultimap {
*
* @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
* @return returnvalue::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
* @return returnvalue::OK if erased, KEY_DOES_NOT_EXIST if the there is no element like this
*/
ReturnValue_t erase(key_t key);
@@ -148,7 +148,7 @@ class FixedOrderedMultimap {
*/
Iterator find(key_t key) const {
ReturnValue_t result = exists(key);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return end();
}
return Iterator(&theMap[findFirstIndex(key)]);
@@ -160,7 +160,7 @@ class FixedOrderedMultimap {
*
* @param key Key to search for
* @param value Found value
* @return RETURN_OK if it points to the value,
* @return returnvalue::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;
+6 -6
View File
@@ -16,7 +16,7 @@ inline ReturnValue_t FixedOrderedMultimap<key_t, T, KEY_COMPARE>::insert(key_t k
if (storedValue != nullptr) {
*storedValue = Iterator(&theMap[position]);
}
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::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) {
@@ -27,7 +27,7 @@ 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;
result = returnvalue::OK;
}
return result;
}
@@ -44,7 +44,7 @@ inline ReturnValue_t FixedOrderedMultimap<key_t, T, KEY_COMPARE>::erase(Iterator
} else {
*iter = begin();
}
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
template <typename key_t, typename T, typename KEY_COMPARE>
@@ -57,17 +57,17 @@ inline ReturnValue_t FixedOrderedMultimap<key_t, T, KEY_COMPARE>::erase(key_t ke
removeFromPosition(i);
i = findFirstIndex(key, i);
} while (i < _size);
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::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) {
if (result != returnvalue::OK) {
return result;
}
*value = &theMap[findFirstIndex(key)].second;
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
template <typename key_t, typename T, typename KEY_COMPARE>
+23 -23
View File
@@ -4,7 +4,7 @@
#include <cmath>
#include "../globalfunctions/CRC.h"
#include "../returnvalues/HasReturnvaluesIF.h"
#include "../returnvalues/returnvalue.h"
#include "../serialize/SerialArrayListAdapter.h"
#include "../serviceinterface/ServiceInterfaceStream.h"
#include "ArrayList.h"
@@ -52,15 +52,15 @@ class Index : public SerializeIF {
Endianness streamEndianness) const {
ReturnValue_t result =
SerializeAdapter::serialize(&blockStartAddress, buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = indexType.serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = SerializeAdapter::serialize(&this->size, buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result =
@@ -71,19 +71,19 @@ class Index : public SerializeIF {
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) {
if (result != returnvalue::OK) {
return result;
}
result = indexType.deSerialize(buffer, size, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = SerializeAdapter::deSerialize(&this->size, buffer, size, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = SerializeAdapter::deSerialize(&this->storedPackets, buffer, size, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
return result;
@@ -449,13 +449,13 @@ class IndexedRingMemoryArray : public SerializeIF, public ArrayList<Index<T>, ui
// Check Next Block
if (!isNextBlockWritable()) {
// The Index is full and does not overwrite old
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
// Next block can be written, update Metadata
currentWriteBlock = getNextWrite();
currentWriteBlock->setSize(0);
currentWriteBlock->setStoredPackets(0);
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
/**
@@ -475,21 +475,21 @@ class IndexedRingMemoryArray : public SerializeIF, public ArrayList<Index<T>, ui
additionalInfo->serialize(buffer, size, maxSize, streamEndianness);
}
ReturnValue_t result = currentWriteBlock->serialize(buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = SerializeAdapter::serialize(&this->size, buffer, size, maxSize, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
uint32_t i = 0;
while ((result == HasReturnvaluesIF::RETURN_OK) && (i < this->size)) {
while ((result == returnvalue::OK) && (i < this->size)) {
result =
SerializeAdapter::serialize(&this->entries[i], buffer, size, maxSize, streamEndianness);
++i;
}
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
uint16_t crc = Calculate_CRC(crcBuffer, (*size - oldSize));
@@ -523,44 +523,44 @@ class IndexedRingMemoryArray : public SerializeIF, public ArrayList<Index<T>, ui
*/
ReturnValue_t deSerialize(const uint8_t** buffer, size_t* size, Endianness streamEndianness) {
ReturnValue_t result = HasReturnvaluesIF::RETURN_OK;
ReturnValue_t result = returnvalue::OK;
if (additionalInfo != NULL) {
result = additionalInfo->deSerialize(buffer, size, streamEndianness);
}
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
Index<T> tempIndex;
result = tempIndex.deSerialize(buffer, size, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
uint32_t tempSize = 0;
result = SerializeAdapter::deSerialize(&tempSize, buffer, size, streamEndianness);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
if (this->size != tempSize) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
uint32_t i = 0;
while ((result == HasReturnvaluesIF::RETURN_OK) && (i < this->size)) {
while ((result == returnvalue::OK) && (i < this->size)) {
result = SerializeAdapter::deSerialize(&this->entries[i], buffer, size, streamEndianness);
++i;
}
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::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;
return returnvalue::OK;
}
}
// Reached if current write block iterator is not found
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
uint32_t getIndexAddress() const { return indexAddress; }
+3 -3
View File
@@ -40,7 +40,7 @@ class PlacementFactory {
store_address_t tempId;
uint8_t* pData = nullptr;
ReturnValue_t result = dataBackend->getFreeElement(&tempId, sizeof(T), &pData);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return nullptr;
}
T* temp = new (pData) T(std::forward<Args>(args)...);
@@ -51,12 +51,12 @@ class PlacementFactory {
* 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
* @return returnvalue::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;
return returnvalue::FAILED;
}
// Need to call destructor first, in case something was allocated by the object (shouldn't do
// that, however).
+5 -5
View File
@@ -3,7 +3,7 @@
#include <cstddef>
#include "../returnvalues/HasReturnvaluesIF.h"
#include "../returnvalues/returnvalue.h"
template <uint8_t N_READ_PTRS = 1>
class RingBufferBase {
@@ -58,18 +58,18 @@ class RingBufferBase {
ReturnValue_t readData(uint32_t amount, uint8_t n = 0) {
if (getAvailableReadData(n) >= amount) {
incrementRead(amount, n);
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
} else {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
}
ReturnValue_t writeData(uint32_t amount) {
if (availableWriteSpace() >= amount or overwriteOld) {
incrementWrite(amount);
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
} else {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
}
+25 -9
View File
@@ -2,6 +2,9 @@
#include <cstring>
#include "fsfw/FSFW.h"
#include "fsfw/serviceinterface.h"
SimpleRingBuffer::SimpleRingBuffer(const size_t size, bool overwriteOld, size_t maxExcessBytes)
: RingBufferBase<>(0, size, overwriteOld), maxExcessBytes(maxExcessBytes) {
if (maxExcessBytes > size) {
@@ -29,14 +32,14 @@ ReturnValue_t SimpleRingBuffer::getFreeElement(uint8_t** writePointer, size_t am
size_t amountTillWrap = writeTillWrap();
if (amountTillWrap < amount) {
if ((amount - amountTillWrap + excessBytes) > maxExcessBytes) {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
excessBytes = amount - amountTillWrap;
}
*writePointer = &buffer[write];
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
} else {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
}
@@ -48,6 +51,19 @@ void SimpleRingBuffer::confirmBytesWritten(size_t amount) {
}
ReturnValue_t SimpleRingBuffer::writeData(const uint8_t* data, size_t amount) {
if (data == nullptr) {
return returnvalue::FAILED;
}
if (amount > getMaxSize()) {
#if FSFW_VERBOSE_LEVEL >= 1
#if FSFW_CPP_OSTREAM_ENABLED == 1
sif::error << "SimpleRingBuffer::writeData: Amount of data too large" << std::endl;
#else
sif::printError("SimpleRingBuffer::writeData: Amount of data too large\n");
#endif
#endif
return returnvalue::FAILED;
}
if (availableWriteSpace() >= amount or overwriteOld) {
size_t amountTillWrap = writeTillWrap();
if (amountTillWrap >= amount) {
@@ -58,9 +74,9 @@ ReturnValue_t SimpleRingBuffer::writeData(const uint8_t* data, size_t amount) {
memcpy(buffer, data + amountTillWrap, amount - amountTillWrap);
}
incrementWrite(amount);
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
} else {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
}
@@ -73,7 +89,7 @@ ReturnValue_t SimpleRingBuffer::readData(uint8_t* data, size_t amount, bool incr
// more data available than amount specified.
amount = availableData;
} else {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
}
if (trueAmount != nullptr) {
@@ -89,7 +105,7 @@ ReturnValue_t SimpleRingBuffer::readData(uint8_t* data, size_t amount, bool incr
if (incrementReadPtr) {
deleteData(amount, readRemaining);
}
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
size_t SimpleRingBuffer::getExcessBytes() const { return excessBytes; }
@@ -108,12 +124,12 @@ ReturnValue_t SimpleRingBuffer::deleteData(size_t amount, bool deleteRemaining,
if (deleteRemaining) {
amount = availableData;
} else {
return HasReturnvaluesIF::RETURN_FAILED;
return returnvalue::FAILED;
}
}
if (trueAmount != nullptr) {
*trueAmount = amount;
}
incrementRead(amount, READ_PTR);
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
+4 -4
View File
@@ -47,8 +47,8 @@ class SimpleRingBuffer : public RingBufferBase<> {
* Write to circular buffer and increment write pointer by amount.
* @param data
* @param amount
* @return -@c RETURN_OK if write operation was successful
* -@c RETURN_FAILED if
* @return -@c returnvalue::OK if write operation was successful
* -@c returnvalue::FAILED if
*/
ReturnValue_t writeData(const uint8_t* data, size_t amount);
@@ -95,8 +95,8 @@ class SimpleRingBuffer : public RingBufferBase<> {
* 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
* - @c returnvalue::OK if data was read successfully
* - @c returnvalue::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,
+25 -23
View File
@@ -13,22 +13,24 @@ ControllerBase::ControllerBase(object_id_t setObjectId, object_id_t parentId,
submode(SUBMODE_NONE),
modeHelper(this),
healthHelper(this, setObjectId) {
commandQueue = QueueFactory::instance()->createMessageQueue(commandQueueDepth);
auto mqArgs = MqArgs(setObjectId, static_cast<void*>(this));
commandQueue = QueueFactory::instance()->createMessageQueue(
commandQueueDepth, MessageQueueMessage::MAX_MESSAGE_SIZE, &mqArgs);
}
ControllerBase::~ControllerBase() { QueueFactory::instance()->deleteMessageQueue(commandQueue); }
ReturnValue_t ControllerBase::initialize() {
ReturnValue_t result = SystemObject::initialize();
if (result != RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
MessageQueueId_t parentQueue = 0;
if (parentId != objects::NO_OBJECT) {
SubsystemBase* parent = ObjectManager::instance()->get<SubsystemBase>(parentId);
auto* parent = ObjectManager::instance()->get<SubsystemBase>(parentId);
if (parent == nullptr) {
return RETURN_FAILED;
return returnvalue::FAILED;
}
parentQueue = parent->getCommandQueue();
@@ -36,36 +38,36 @@ ReturnValue_t ControllerBase::initialize() {
}
result = healthHelper.initialize(parentQueue);
if (result != RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = modeHelper.initialize(parentQueue);
if (result != RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
return RETURN_OK;
return returnvalue::OK;
}
MessageQueueId_t ControllerBase::getCommandQueue() const { return commandQueue->getId(); }
void ControllerBase::handleQueue() {
CommandMessage command;
ReturnValue_t result = HasReturnvaluesIF::RETURN_OK;
for (result = commandQueue->receiveMessage(&command); result == RETURN_OK;
ReturnValue_t result;
for (result = commandQueue->receiveMessage(&command); result == returnvalue::OK;
result = commandQueue->receiveMessage(&command)) {
result = modeHelper.handleModeCommand(&command);
if (result == RETURN_OK) {
if (result == returnvalue::OK) {
continue;
}
result = healthHelper.handleHealthCommand(&command);
if (result == RETURN_OK) {
if (result == returnvalue::OK) {
continue;
}
result = handleCommandMessage(&command);
if (result == RETURN_OK) {
if (result == returnvalue::OK) {
continue;
}
command.setToUnknownCommand();
@@ -73,20 +75,20 @@ void ControllerBase::handleQueue() {
}
}
void ControllerBase::startTransition(Mode_t mode, Submode_t submode) {
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;
mode = mode_;
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::getMode(Mode_t* mode_, Submode_t* submode_) {
*mode_ = this->mode;
*submode_ = this->submode;
}
void ControllerBase::setToExternalControl() { healthHelper.setHealth(EXTERNAL_CONTROL); }
@@ -96,17 +98,17 @@ void ControllerBase::announceMode(bool recursive) { triggerEvent(MODE_INFO, mode
ReturnValue_t ControllerBase::performOperation(uint8_t opCode) {
handleQueue();
performControlOperation();
return RETURN_OK;
return returnvalue::OK;
}
void ControllerBase::modeChanged(Mode_t mode, Submode_t submode) { return; }
void ControllerBase::modeChanged(Mode_t mode_, Submode_t submode_) {}
ReturnValue_t ControllerBase::setHealth(HealthState health) {
switch (health) {
case HEALTHY:
case EXTERNAL_CONTROL:
healthHelper.setHealth(health);
return RETURN_OK;
return returnvalue::OK;
default:
return INVALID_HEALTH_STATE;
}
@@ -115,6 +117,6 @@ ReturnValue_t ControllerBase::setHealth(HealthState health) {
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) {}
void ControllerBase::changeHK(Mode_t mode_, Submode_t submode_, bool enable) {}
ReturnValue_t ControllerBase::initializeAfterTaskCreation() { return HasReturnvaluesIF::RETURN_OK; }
ReturnValue_t ControllerBase::initializeAfterTaskCreation() { return returnvalue::OK; }
+15 -16
View File
@@ -18,27 +18,26 @@
class ControllerBase : public HasModesIF,
public HasHealthIF,
public ExecutableObjectIF,
public SystemObject,
public HasReturnvaluesIF {
public SystemObject {
public:
static const Mode_t MODE_NORMAL = 2;
ControllerBase(object_id_t setObjectId, object_id_t parentId, size_t commandQueueDepth = 3);
virtual ~ControllerBase();
~ControllerBase() override;
/** SystemObject override */
virtual ReturnValue_t initialize() override;
ReturnValue_t initialize() override;
virtual MessageQueueId_t getCommandQueue() const override;
[[nodiscard]] MessageQueueId_t getCommandQueue() const override;
/** HasHealthIF overrides */
virtual ReturnValue_t setHealth(HealthState health) override;
virtual HasHealthIF::HealthState getHealth() override;
ReturnValue_t setHealth(HealthState health) override;
HasHealthIF::HealthState getHealth() override;
/** ExecutableObjectIF overrides */
virtual ReturnValue_t performOperation(uint8_t opCode) override;
virtual void setTaskIF(PeriodicTaskIF *task) override;
virtual ReturnValue_t initializeAfterTaskCreation() override;
ReturnValue_t performOperation(uint8_t opCode) override;
void setTaskIF(PeriodicTaskIF *task) override;
ReturnValue_t initializeAfterTaskCreation() override;
protected:
/**
@@ -54,8 +53,8 @@ class ControllerBase : public HasModesIF,
*/
virtual void performControlOperation() = 0;
virtual ReturnValue_t checkModeCommand(Mode_t mode, Submode_t submode,
uint32_t *msToReachTheMode) override = 0;
ReturnValue_t checkModeCommand(Mode_t mode, Submode_t submode,
uint32_t *msToReachTheMode) override = 0;
const object_id_t parentId;
@@ -80,10 +79,10 @@ class ControllerBase : public HasModesIF,
/** Mode helpers */
virtual void modeChanged(Mode_t mode, Submode_t submode);
virtual void startTransition(Mode_t mode, Submode_t submode) override;
virtual void getMode(Mode_t *mode, Submode_t *submode) override;
virtual void setToExternalControl() override;
virtual void announceMode(bool recursive);
void startTransition(Mode_t mode, Submode_t submode) override;
void getMode(Mode_t *mode, Submode_t *submode) override;
void setToExternalControl() override;
void announceMode(bool recursive) override;
/** HK helpers */
virtual void changeHK(Mode_t mode, Submode_t submode, bool enable);
};
+13 -13
View File
@@ -6,13 +6,13 @@ ExtendedControllerBase::ExtendedControllerBase(object_id_t objectId, object_id_t
poolManager(this, commandQueue),
actionHelper(this, commandQueue) {}
ExtendedControllerBase::~ExtendedControllerBase() {}
ExtendedControllerBase::~ExtendedControllerBase() = default;
ReturnValue_t ExtendedControllerBase::executeAction(ActionId_t actionId,
MessageQueueId_t commandedBy,
const uint8_t *data, size_t size) {
/* Needs to be overriden and implemented by child class. */
return HasReturnvaluesIF::RETURN_OK;
return returnvalue::OK;
}
object_id_t ExtendedControllerBase::getObjectId() const { return SystemObject::getObjectId(); }
@@ -23,7 +23,7 @@ uint32_t ExtendedControllerBase::getPeriodicOperationFrequency() const {
ReturnValue_t ExtendedControllerBase::handleCommandMessage(CommandMessage *message) {
ReturnValue_t result = actionHelper.handleActionMessage(message);
if (result == HasReturnvaluesIF::RETURN_OK) {
if (result == returnvalue::OK) {
return result;
}
return poolManager.handleHousekeepingMessage(message);
@@ -31,31 +31,31 @@ ReturnValue_t ExtendedControllerBase::handleCommandMessage(CommandMessage *messa
void ExtendedControllerBase::handleQueue() {
CommandMessage command;
ReturnValue_t result = HasReturnvaluesIF::RETURN_OK;
for (result = commandQueue->receiveMessage(&command); result == RETURN_OK;
ReturnValue_t result;
for (result = commandQueue->receiveMessage(&command); result == returnvalue::OK;
result = commandQueue->receiveMessage(&command)) {
result = actionHelper.handleActionMessage(&command);
if (result == RETURN_OK) {
if (result == returnvalue::OK) {
continue;
}
result = modeHelper.handleModeCommand(&command);
if (result == RETURN_OK) {
if (result == returnvalue::OK) {
continue;
}
result = healthHelper.handleHealthCommand(&command);
if (result == RETURN_OK) {
if (result == returnvalue::OK) {
continue;
}
result = poolManager.handleHousekeepingMessage(&command);
if (result == RETURN_OK) {
if (result == returnvalue::OK) {
continue;
}
result = handleCommandMessage(&command);
if (result == RETURN_OK) {
if (result == returnvalue::OK) {
continue;
}
command.setToUnknownCommand();
@@ -65,11 +65,11 @@ void ExtendedControllerBase::handleQueue() {
ReturnValue_t ExtendedControllerBase::initialize() {
ReturnValue_t result = ControllerBase::initialize();
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
result = actionHelper.initialize(commandQueue);
if (result != HasReturnvaluesIF::RETURN_OK) {
if (result != returnvalue::OK) {
return result;
}
@@ -86,7 +86,7 @@ ReturnValue_t ExtendedControllerBase::performOperation(uint8_t opCode) {
/* We do this after performing control operation because variables will be set changed
in this function. */
poolManager.performHkOperation();
return RETURN_OK;
return returnvalue::OK;
}
MessageQueueId_t ExtendedControllerBase::getCommandQueue() const { return commandQueue->getId(); }

Some files were not shown because too many files have changed in this diff Show More