Compare commits

...

1518 Commits

Author SHA1 Message Date
ee3ef042cd Merge remote-tracking branch 'origin/v2.0.5-dev' into HEAD
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-05-11 19:30:33 +02:00
05b0efe851 patch revision 2023-05-11 19:29:02 +02:00
8ade378a69 bump tmtc 2023-05-11 19:29:02 +02:00
045d149946 bump revision
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-05-11 18:50:49 +02:00
a75f9553be okay lets see if this works
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-05-11 18:38:41 +02:00
f271242d66 Merge pull request 'the hottest fix' (#614) from hottest_fix_acs into main
Some checks failed
EIVE/eive-obsw/pipeline/pr-main This commit looks good
EIVE/eive-obsw/pipeline/head There was a failure building this commit
Reviewed-on: #614
2023-04-19 18:17:54 +02:00
1756b5edcc patch revision
Some checks are pending
EIVE/eive-obsw/pipeline/pr-main Build queued...
2023-04-19 18:14:28 +02:00
9c1fc44c60 Merge branch 'hottest_fix_acs' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into hottest_fix_acs
Some checks are pending
EIVE/eive-obsw/pipeline/pr-main Build queued...
2023-04-19 18:12:40 +02:00
f46a705900 changelog 2023-04-19 18:12:32 +02:00
9183d18acc Merge branch 'main' into hottest_fix_acs
Some checks are pending
EIVE/eive-obsw/pipeline/pr-main Build queued...
2023-04-19 18:10:50 +02:00
befa84a74b the hottest fix
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-main Build started...
2023-04-19 18:09:57 +02:00
432b400835 bump tmtc
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-18 10:28:01 +02:00
0eb6b7cccb bump patch revision to 3
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-17 11:58:44 +02:00
74ee291983 add tmtc release version
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-17 11:58:13 +02:00
a146c34140 CI/CD: Use 8 jobs
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-17 11:55:08 +02:00
61ced11766 Merge pull request 'fixes and tweaks TCS and EM build' (#610) from fixes_and_tweaks into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #610
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-04-17 11:53:15 +02:00
468fb096c9 high event severity
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-17 11:44:51 +02:00
4a2dd19a73 Merge branch 'fixes_and_tweaks' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into fixes_and_tweaks
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-17 11:41:26 +02:00
2658cabc9d remove TODO 2023-04-17 11:41:21 +02:00
dc83061f80 Merge branch 'develop' into fixes_and_tweaks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-17 11:38:21 +02:00
00da51b6a2 okay its an afmt thing
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-17 11:36:34 +02:00
f846a18b33 update defines
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-04-17 11:36:17 +02:00
ab588b4844 fixes and tweaks TCS and EM build
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-04-17 11:35:10 +02:00
d12dca183d Merge pull request 'Test Cold Case EM' (#609) from test_cold_case_cam into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #609
2023-04-17 10:45:14 +02:00
701ecbd182 disable test
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-17 10:45:01 +02:00
bdd2b23ec3 test cold case camera
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-04-17 10:41:10 +02:00
d70245b56a Merge pull request 'acs-safe-hotfix' (#608) from acs-safe-hotfix into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #608
2023-04-17 10:15:52 +02:00
9097a3f3c7 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-17 09:35:23 +02:00
e05d9d4b2a prevent low pass filter if no sensor data is available 2023-04-17 09:29:50 +02:00
07572ab3a0 fixed shadowing 2023-04-17 09:20:09 +02:00
304aabc336 bump sagittactl to avoid CMake warning
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-16 12:10:29 +02:00
07e8f95a31 of course something else was missing
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-16 12:05:41 +02:00
babea226ab thats an annoying patch release
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-16 11:54:27 +02:00
8c24a7310d Merge pull request 'update CHANGELOG and CMakeLists.txt' (#606) from prep_final_v2.0.0 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #606
2023-04-16 11:49:05 +02:00
8f5982fd72 added additional note
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-16 11:48:24 +02:00
611a2c0b45 update CHANGELOG and CMakeLists.txt
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-16 11:41:30 +02:00
61e6b09704 Merge pull request 'Update sagittactl to v10.7' (#605) from update_sagittactl_v10.7 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #605
2023-04-16 11:25:38 +02:00
a9a0266a84 Merge branch 'develop' into update_sagittactl_v10.7
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-16 11:01:19 +02:00
b7e6315be7 bump sagittactl to concrete version
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-16 10:58:25 +02:00
740275f57a normal mode now works as well
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-16 04:04:57 +02:00
58dd53def8 bump sagittactl 2023-04-16 03:54:10 +02:00
ddbe30f832 afmt 2023-04-16 03:52:45 +02:00
680d496b28 STR seems to work well now 2023-04-16 03:52:10 +02:00
9c163419b2 Merge pull request 'FS helpers' (#604) from core_ctrl_fs_helpers into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #604
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-04-16 02:57:16 +02:00
f4fedd20c9 added more bugfixes for list dir dump
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-16 02:56:46 +02:00
016fab105e bump tmtc
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-15 23:13:04 +02:00
767a0eda30 hopefully last bugfix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-15 23:11:00 +02:00
f2c71d962a done soon
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-15 23:00:34 +02:00
7bf880a29f use gzip directly
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-15 22:17:50 +02:00
0185691dba add more context info for dumped dir listing
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-15 20:51:46 +02:00
9997aa5470 bump sagittactl 2023-04-15 20:16:32 +02:00
c1ccfe66eb this compiles with warnings
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-15 15:17:22 +02:00
ae9f43c707 adaptions for new sagittalib
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-04-15 15:15:06 +02:00
143002de48 some improvements
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-15 13:06:16 +02:00
d439aedee7 bugfix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-15 13:03:44 +02:00
b8d010cd39 CHANGELOG + FS helpers
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-15 13:01:41 +02:00
22370e3e1e Merge pull request 'prep v1.45.0' (#603) from prep_v1.45.0 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #603
2023-04-14 22:32:15 +02:00
b98f91f6c1 hopefully last EM fix for v2.0
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 21:44:23 +02:00
b47bda8ed1 bump fsfw
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 21:22:55 +02:00
078a04b317 bump fsfw
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 21:08:55 +02:00
d24a983985 some EM fixes
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 21:02:39 +02:00
b964b03b2d fix STR dummy
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 20:41:50 +02:00
f0d55f9e5b prep v1.45.0
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 20:35:00 +02:00
aa54dbbd10 Merge pull request 'Revert ACS Safe Mode Controller to FLP Design' (#466) from acs-flp-safe into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #466
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
2023-04-14 20:26:19 +02:00
1a62a13d97 bump tmtc again
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-14 20:26:02 +02:00
500b3b6fc6 re-run generators. bump tmtc
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-14 20:24:37 +02:00
fa746f910d Merge remote-tracking branch 'origin/develop' into acs-flp-safe
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-14 20:13:50 +02:00
602c635967 Merge pull request 'fix host build' (#602) from feature_com_pdec_fdir into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #602
2023-04-14 20:12:27 +02:00
84db92f75e Merge branch 'develop' into feature_com_pdec_fdir 2023-04-14 20:12:19 +02:00
4de71062af fix host build
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
2023-04-14 20:11:33 +02:00
a4c8319cec Merge pull request 'Feature COM PDEC FDIR' (#599) from feature_com_pdec_fdir into develop
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
Reviewed-on: #599
Reviewed-by: Jakob Meier <meierj@irs.uni-stuttgart.de>
2023-04-14 20:09:44 +02:00
379fd6046e ge-generate files
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-14 20:08:05 +02:00
aa800c4524 trigger special reboot events 2023-04-14 20:04:51 +02:00
7f1fe3a2d8 bugfix
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-14 19:58:22 +02:00
e023220be4 better reset handling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 19:42:11 +02:00
8cf9dd9136 use config constant
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 19:30:40 +02:00
62d18826f1 proper post reset handling for PDEC reset
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 19:29:22 +02:00
41f762c6ff also only use mekf for detumble check if allowed to
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 19:12:05 +02:00
644a768778 re-run generators
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 19:02:18 +02:00
756ea6d90d Merge remote-tracking branch 'origin/develop' into feature_com_pdec_fdir
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 19:01:22 +02:00
2d19d94d09 Merge branch 'acs-flp-safe' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into acs-flp-safe
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 18:58:47 +02:00
09a2ba7843 fixed type 2023-04-14 18:57:06 +02:00
716f2b2832 Merge branch 'develop' into acs-flp-safe
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 18:56:11 +02:00
6934721a42 prevent div by zero
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-14 18:56:05 +02:00
fc8a8ce5a9 Merge pull request 'Custom FDIR for tmp devices' (#598) from tmp_dev_custom_fdir into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #598
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-04-14 18:55:55 +02:00
5e53795cbe Merge branch 'develop' into tmp_dev_custom_fdir 2023-04-14 18:55:36 +02:00
2f2d1c7c7a Merge pull request 'v10.7' (#601) from str_update_v10.7 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #601
2023-04-14 18:55:12 +02:00
f7be454dae changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-14 18:55:20 +02:00
ca30fed4c3 Merge remote-tracking branch 'origin/develop' into str_update_v10.7
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-14 18:53:45 +02:00
54f742bf19 addition to changelog 2023-04-14 18:53:17 +02:00
4bfd675073 Merge remote-tracking branch 'origin/develop' into tmp_dev_custom_fdir
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-14 18:48:20 +02:00
36420a6855 Merge pull request 'hotfix ACS/SUS' (#600) from hotfix_acs_sus into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #600
2023-04-14 18:47:07 +02:00
b0a2b5886f hotfix ACS/SUS
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-14 18:45:58 +02:00
33d60ccf7f v10.7
Some checks are pending
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-14 18:31:56 +02:00
c8472f222c Merge pull request 'Heater Health Device' (#597) from heater_health_device into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #597
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-04-14 17:15:50 +02:00
e68ac9cc2d changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 16:55:28 +02:00
a306b2a0af Merge branch 'develop' into acs-flp-safe 2023-04-14 16:50:31 +02:00
f112c28391 enabled commanding from ACS ctrl
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 16:50:02 +02:00
4693407b68 fixed parameters 2023-04-14 16:47:53 +02:00
4e6b3ec9ed fixed shadowing
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 16:44:37 +02:00
38b9a9b34e bump sagittactl
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 14:45:02 +02:00
7c67648b8e bump sagitactl
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 14:44:48 +02:00
9b1d4de9c5 Merge remote-tracking branch 'origin/develop' into tmp_dev_custom_fdir 2023-04-14 14:44:40 +02:00
998f93e3fa Merge remote-tracking branch 'origin/develop' into heater_health_device
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 14:32:27 +02:00
b5e1e0c31b Merge branch 'develop' into feature_com_pdec_fdir
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 14:29:59 +02:00
9a65a9f20b Merge pull request 'STR: Update arcsec library' (#595) from str_update_arcsec_lib into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #595
2023-04-14 13:28:33 +02:00
b2a52b0bfc Merge branch 'develop' into str_update_arcsec_lib
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-14 13:28:22 +02:00
46862825ec 2 minutes countdown for ptme was attempted CD
Some checks are pending
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-14 13:27:50 +02:00
dc1e51891e added rest of necessary logic 2023-04-14 13:26:44 +02:00
213dba1e75 changelog 2023-04-14 13:12:03 +02:00
4e686b4ad0 better PDEC FDIR 2023-04-14 13:11:11 +02:00
1e521f0575 detumble mode changes
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 11:38:05 +02:00
53cccc3c13 removed inertia matrix for safe mode 2023-04-14 11:37:23 +02:00
a7c227f8ea Merge pull request 'systemctl helper' (#596) from feature_systemctl_helper into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #596
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-04-14 08:25:09 +02:00
bc6531f7a5 bugfix for shell cmd executors
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 00:29:21 +02:00
e17b8d2ec4 add non-blocking shell cmd executor
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 00:21:28 +02:00
f645b97ba3 bump tmtc
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-14 00:08:38 +02:00
e79e13416e changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-13 23:56:22 +02:00
33773179a7 custom FDIR for tmp devices
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-13 23:54:23 +02:00
c5b26eade4 now it compiles
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-13 23:34:11 +02:00
28eaf8461a changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-13 23:32:08 +02:00
6f67bd500b add new heater health device 2023-04-13 23:31:33 +02:00
af354bd9fb systemctl helper
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-13 23:24:32 +02:00
aa746276ae disable TCS test
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-13 21:15:10 +02:00
3e3ac9f5be conditional build of STR components
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-13 21:14:38 +02:00
ae66820b52 Merge remote-tracking branch 'origin/develop' into str_update_arcsec_lib
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-13 21:05:20 +02:00
93013d18ff Merge pull request 'STR update' (#594) from str_small_fixes into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #594
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-04-13 20:36:46 +02:00
7f3f99c6aa fixed wrong sign for ortho torque calculation
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-13 20:21:12 +02:00
600d0c580d another changelog entry
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-13 18:20:23 +02:00
2722e471ef changelog
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-13 18:14:30 +02:00
d8089489c4 Merge branch 'str_small_fixes' into str_update_arcsec_lib 2023-04-13 18:13:35 +02:00
cebe6e1423 Merge branch 'str_small_fixes' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into str_small_fixes
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-13 18:13:18 +02:00
906aedc911 changelog 2023-04-13 18:13:12 +02:00
97df53554e Merge branch 'develop' into str_small_fixes
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-13 18:11:53 +02:00
a81e939e70 Merge remote-tracking branch 'origin/develop' into str_update_arcsec_lib
Some checks failed
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-13 18:11:19 +02:00
b5f4b6cf7b Merge pull request 'TCS continued' (#576) from continue_tcs_tests into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #576
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-04-13 18:10:34 +02:00
f14677ec4e Merge branch 'develop' into continue_tcs_tests
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-13 18:10:24 +02:00
29dc684455 update done, compiles again
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-04-13 18:09:02 +02:00
3ff8c6a481 re-add str submodule
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-04-13 17:58:36 +02:00
f7bc052070 stupid submodules 2023-04-13 17:55:56 +02:00
9861772c38 fixed copy pasta
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-13 17:12:52 +02:00
d4080fe5cb fixed wrong calculation of gains
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-13 17:06:11 +02:00
6b976f1046 fixed torque parallel
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-13 16:28:54 +02:00
673826b131 removed even more deprecated code
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-13 15:02:07 +02:00
ae729337a2 removed deprecated code
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-13 14:39:40 +02:00
a09cc86336 final safe mode params
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-13 14:29:24 +02:00
8620bd0283 avoid faulty reply for STR special requests
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-13 12:35:56 +02:00
ea606ce217 adaptions and possible small fix for update process
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-13 12:08:31 +02:00
99305846f8 Merge pull request 'Set preferred SD card as parameter' (#593) from feature_core_ctrl_set_pref_sd_as_param into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #593
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-04-12 19:00:46 +02:00
dd211cdf54 afmt
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-12 18:11:41 +02:00
2262a15e35 compile fix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-12 18:11:20 +02:00
94431cfdb8 Merge branch 'develop' into continue_tcs_tests
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-12 18:07:41 +02:00
41ec6dc0f2 set pref sd as param
Some checks failed
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-12 18:06:04 +02:00
836ce9a6cd Merge pull request 'this snippet should recognize faulty sensors' (#592) from feature_add_way_for_max_handler_to_recognize_faulty_sensor into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #592
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-04-12 17:55:39 +02:00
ae80eac9a2 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-12 17:25:54 +02:00
e063a7148a this snippet should recognize faulty sensors
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-12 17:23:08 +02:00
2808079444 add q7s-package update in changelog
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-12 16:29:34 +02:00
3ba81d19a7 changelog
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-12 13:40:59 +02:00
0e6f222ef1 update intall-obsw-yocto.sh
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-12 13:40:21 +02:00
90ca65f9a9 Merge pull request 'prep v1.44.1' (#591) from prep_v1.44.1 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #591
2023-04-12 13:26:37 +02:00
f4c156479a prep v1.44.1
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
2023-04-12 13:26:23 +02:00
d9e38d97ee Merge remote-tracking branch 'origin/develop' into continue_tcs_tests
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-12 13:00:58 +02:00
67e94e1ee7 Merge pull request 'Move CFDP handler to mission code' (#586) from move_cfdp_handler into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #586
Reviewed-by: Michael Steinert <steinertm@irs.uni-stuttgart.de>
2023-04-12 12:59:09 +02:00
b20e38a2bc Merge branch 'develop' into move_cfdp_handler
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-12 12:59:00 +02:00
d71031f2e4 Merge pull request 'Shared Power Switch Assembly' (#590) from assy_proper_recovery_handling into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #590
2023-04-12 12:58:48 +02:00
98d1da428a Merge remote-tracking branch 'origin/develop' into continue_tcs_tests
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-12 10:53:59 +02:00
df7236cfee fix untitest
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-12 00:25:21 +02:00
c9cc1d4cfe done
Some checks failed
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-11 22:58:13 +02:00
128bd7d41a nan for all eclipse strats
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-11 18:56:10 +02:00
061cd0468c fixed wrong params
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-11 18:54:17 +02:00
2bb0f530fe Merge pull request 'ACS Board: Better reply result handling' (#588) from possible_fixes_acs_brd_polling into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #588
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-04-11 18:20:51 +02:00
b3f5e74609 typo
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-11 18:18:33 +02:00
ff28b628a4 leave that value
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-11 18:17:30 +02:00
5925de94e7 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-11 18:16:58 +02:00
7c36660000 that was nasty
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-11 18:15:12 +02:00
ae8f80bb54 safe params fix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-11 18:12:04 +02:00
776a53b243 dont send anything in break CD 2023-04-11 18:03:07 +02:00
8ad68aca3a Merge branch 'develop' into acs-flp-safe
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-11 17:30:15 +02:00
b1bd7e0215 Merge branch 'develop' into acs-flp-safe 2023-04-11 17:29:50 +02:00
d42b6798e0 better reply result handling
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-11 17:29:32 +02:00
fa94c67e99 Merge pull request 'add a way to detect off or broken SUS devices' (#587) from bugfix_sus_fdir into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #587
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-04-11 17:24:01 +02:00
4e9a074e82 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-11 17:19:16 +02:00
b82f19ea50 reset reply result on mode change
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-11 17:18:12 +02:00
271830422a add a way to detect off devices
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-11 17:12:31 +02:00
7869289abc bump fsfw
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-11 16:53:07 +02:00
0a84eab0ef move cfdp handler
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-11 16:51:49 +02:00
b816b386cf bump fsfw
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-04-11 16:47:56 +02:00
8d9755c17f Merge remote-tracking branch 'origin/develop' into continue_tcs_tests
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-11 16:14:53 +02:00
d552b51c0d Merge pull request 'Custom OBSW update path' (#582) from feature_custom_obsw_update_path into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #582
2023-04-11 16:12:42 +02:00
52620f3dda Merge branch 'develop' into feature_custom_obsw_update_path
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-11 16:12:28 +02:00
d7eaceb0fc Merge pull request 'EM bugfix' (#585) from bugfix_em into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #585
2023-04-11 16:11:25 +02:00
e01fe19d53 EM bugfix
Some checks are pending
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-11 15:34:46 +02:00
af1d0759e1 remove re-declaration
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-11 15:26:33 +02:00
af9f346698 use exceptionless API
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-11 15:23:44 +02:00
b6ba2f291a safeCtrl using MEKF can now be disabled
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-11 11:19:04 +02:00
c66799b24f removed unit quats as they are confusing
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-11 10:55:48 +02:00
18be21a310 Merge branch 'develop' into acs-flp-safe
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-11 09:56:24 +02:00
abef9da9f9 Merge pull request 'Feature and Bugfixes: Better SDC state machine handling' (#584) from feature_sdc_fsm_mark_sd_unusbale into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #584
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-04-11 09:52:16 +02:00
4afddad503 typo
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-08 17:48:45 +02:00
cc39acd436 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-04-08 17:47:56 +02:00
2df556c5be some bugfixes, seems to work now
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-04-08 17:46:54 +02:00
aa43912279 everything except SDC switch looking good.. 2023-04-08 17:13:42 +02:00
ece053e5c3 Merge remote-tracking branch 'origin/develop' into continue_tcs_tests
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-08 15:57:06 +02:00
1c0fbace4d Merge remote-tracking branch 'origin/develop' into feature_custom_obsw_update_path
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-08 15:56:08 +02:00
2fb7ac7b4b Merge pull request 'Bugfix SD state machine' (#583) from bugfix_sdc_state_machine into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #583
2023-04-08 15:55:03 +02:00
c89e332843 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-08 13:25:31 +02:00
10f552f56a bugfix and simplifications for SDC state machine 2023-04-08 13:24:21 +02:00
310f8f5f3c SDC state machine printouts 2023-04-08 11:53:44 +02:00
584b6e3038 changelog and tmtc bump
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-08 11:40:23 +02:00
a81b24b67f allow custom filename
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-04-08 11:31:31 +02:00
6b671cfa65 bump eive-tmtc, compile fix
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-07 18:19:33 +02:00
3408624056 prep v1.44.9 2023-04-07 17:43:48 +02:00
146767b04f com subsystme mode printouts
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-07 17:35:04 +02:00
f4951385fd changelog
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-07 17:27:51 +02:00
f259face36 Merge pull request 'this is necessary so it works..' (#581) from important_fix_i2c_recovery into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #581
2023-04-07 17:25:15 +02:00
8482416ac5 this is necessary so it works..
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-07 17:24:19 +02:00
a419589a7f Merge pull request 'RW shutdown' (#580) from feature_proper_rw_shutdown into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #580
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-04-07 17:20:30 +02:00
ebcd0cdfa1 remove obsolete code
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-07 17:20:20 +02:00
9960fc8ce7 a bit more thread safety 2023-04-07 17:15:40 +02:00
353b9bd322 add some thread safety
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-07 17:10:30 +02:00
014ac8b8c2 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-07 17:04:33 +02:00
cd8bbaf1f9 RW fixes and test 2023-04-07 17:02:37 +02:00
d98873c9a6 that should do it
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-07 11:37:17 +02:00
aacd4dc088 Merge branch 'develop' into continue_tcs_tests
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-07 11:07:15 +02:00
d5d43e8d44 Merge pull request 'I2C reboot procedure for EIVE system' (#578) from feature_i2c_reboot_procedure into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #578
2023-04-07 11:07:04 +02:00
55dd4b28ee added missing event
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-07 11:06:43 +02:00
f9ed42f8a5 re-ran generators
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-07 11:04:13 +02:00
e9fc0c453d that should do the job
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-06 22:39:57 +02:00
ca44b541b1 remove debug statements 2023-04-06 22:37:38 +02:00
2968856d71 finally works 2023-04-06 22:35:23 +02:00
e4530544c2 trigger dedicated events
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-06 19:29:51 +02:00
103800e40c oopsie
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-06 19:26:57 +02:00
aa78d744b4 compile fix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-06 19:23:45 +02:00
54c29e893d Merge branch 'feature_i2c_reboot_procedure' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into feature_i2c_reboot_procedure
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-06 19:20:59 +02:00
b9d0e4bdd9 Merge remote-tracking branch 'origin/develop' into feature_i2c_reboot_procedure 2023-04-06 19:20:54 +02:00
cdcadf3c18 Merge branch 'develop' into feature_i2c_reboot_procedure
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-06 19:18:47 +02:00
5243f304af Merge remote-tracking branch 'origin/develop' into continue_tcs_tests
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-06 19:17:56 +02:00
a8d19b0ff9 Merge pull request 'bugfix RW asyy' (#579) from bugfix_rw_assy into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #579
2023-04-06 19:12:22 +02:00
5bdb7414bf changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-06 19:12:15 +02:00
77b8c6eb3e bugfix RW asyy
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-04-06 19:11:26 +02:00
db669c44f6 Merge branch 'feature_i2c_reboot_procedure' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into feature_i2c_reboot_procedure
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-06 18:07:03 +02:00
bfb91f1baa fix for FM build 2023-04-06 18:06:56 +02:00
3c33d01089 Merge branch 'develop' into feature_i2c_reboot_procedure
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-06 17:56:14 +02:00
6156cc0b88 Merge branch 'develop' into continue_tcs_tests
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-06 17:50:49 +02:00
bd8389e0c9 Merge pull request 'log store delay' (#577) from tm_log_store_delay into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #577
2023-04-06 17:50:25 +02:00
58aef99bbc theoretically done
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-06 17:49:34 +02:00
9020014245 added some more safety features
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-06 17:01:28 +02:00
e523c2fe25 log store delay
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-06 16:51:03 +02:00
3bd434bbc3 I2C reboot procedure for EIVE system
Some checks failed
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-06 16:50:33 +02:00
4acf66a020 fix unittest
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-06 15:31:32 +02:00
2af1735cfd enabled possibility to disable safe controller during eclipse
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-06 13:36:46 +02:00
13844bce65 copy pasta 2023-04-06 13:34:52 +02:00
d7dc3f34c7 consecutive cold test
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-06 13:24:16 +02:00
086dbcc19e some tweaks and fixes
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-04-06 13:16:50 +02:00
7a53ada4b4 add some more cold test cases
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-04-06 13:09:48 +02:00
c5e18957f5 changelog
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-04-06 13:03:28 +02:00
64b4db98ba i think thats an important bugfix
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-04-06 13:02:53 +02:00
3a236a1a3b all heaters off wrapper
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-04-06 13:01:31 +02:00
19006e79b1 better handling for TCS ctrl state
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-04-06 12:53:35 +02:00
44325ee176 changelog
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-04-06 12:15:12 +02:00
397e23f1da more TCS tests 2023-04-06 12:13:24 +02:00
3d48f4d046 acsParams 1 2023-04-06 11:15:50 +02:00
0d7fe0ff74 updated gains
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-06 10:50:58 +02:00
543d147b37 cleanup and detumble switch
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-06 10:47:26 +02:00
34dde2640e add SafeModeStrategy to detumble laws 2023-04-06 10:46:58 +02:00
205a672680 cleanup 2023-04-06 10:37:59 +02:00
57b01a5d2c moved SafeModeStrategy to defs 2023-04-06 10:37:25 +02:00
4624d5a2a6 Merge branch 'develop' into acs-flp-safe 2023-04-06 09:49:20 +02:00
518f9d73f6 rtval comment
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-06 09:48:33 +02:00
d8ec121131 Merge pull request 'preparing v1.43.2' (#575) from prep_v1.43.2 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #575
2023-04-05 18:21:11 +02:00
3e54bc9c3f preparing v1.43.2
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 17:29:09 +02:00
65dd0f313b use enum instead of rtval to enable easier tm generation
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-05 17:20:29 +02:00
4ca45f348c Merge pull request 'Bug' (#574) from bugfix_syrlinks into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #574
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-04-05 17:15:17 +02:00
34a0288987 Merge branch 'develop' into bugfix_syrlinks
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-05 17:13:20 +02:00
f031c46cb5 ACS Board assy
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-05 17:10:50 +02:00
dbf627cc12 Merge pull request 'Assembly and FDIR updates' (#572) from bugfix_syrlinks into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #572
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-04-05 17:02:50 +02:00
b06db0a0fc Merge branch 'bugfix_syrlinks' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into bugfix_syrlinks
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-05 16:58:40 +02:00
0a68b50ad7 copy and paste fix 2023-04-05 16:58:32 +02:00
b11ed219a2 Merge branch 'develop' into bugfix_syrlinks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 16:47:53 +02:00
67082a6559 Merge pull request 'No more RW commands during Safe Mode' (#573) from acs-safe-no-rw-cmd into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #573
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
2023-04-05 16:47:19 +02:00
39b2a3420c changed satRotRateRef to scalar
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 16:46:57 +02:00
36d5f8fd31 changelog, updates
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 16:41:49 +02:00
cdba7985ea Merge branch 'develop' into acs-safe-no-rw-cmd
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 16:26:31 +02:00
38b7593900 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 16:23:29 +02:00
78cc0fc52d set commanded speed to 0 during off transition 2023-04-05 16:21:38 +02:00
4ed112d019 safe mode controller no longer commands RWs 2023-04-05 16:21:10 +02:00
7549a24f6f same adaption for IMTQ 2023-04-05 16:19:53 +02:00
ce7da9f513 first implementation of new laws
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 16:11:28 +02:00
d53fdf9078 Merge branch 'develop' into bugfix_syrlinks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 16:09:19 +02:00
67988dad64 Merge pull request 'str assembly mode checks' (#571) from syrlinks_assy_mode_checks into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #571
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-04-05 16:08:16 +02:00
56c5838d15 str assembly include mode off
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-05 16:06:59 +02:00
2950876ce4 syrlinks ASSY
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 16:05:05 +02:00
a875bf55b8 Merge branch 'develop' into syrlinks_assy_mode_checks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 15:31:12 +02:00
a28ba4ec66 Merge pull request 'SUS Assembly bug' (#569) from bugfix_sus_assy into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #569
2023-04-05 15:30:12 +02:00
c65b402361 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 15:29:44 +02:00
f5e47c6114 some more mode checks 2023-04-05 15:29:03 +02:00
600921e3a0 some code fixes
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 15:11:37 +02:00
3c38410643 some more tweaks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 15:08:07 +02:00
2e0a685507 overwrite health corrections
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 15:06:41 +02:00
0ade2ae0ee str assembly mode checks
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-05 15:05:32 +02:00
b050047d9a special handling for sus groups
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 14:50:33 +02:00
65c231e92d that was a lot of printouts 2023-04-05 14:46:45 +02:00
5e93282662 seems to work now, but the whole printout crap needs to be removed
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 14:41:34 +02:00
7a7d0e650f added low pass filter for gyr and mgmDot values
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 11:25:44 +02:00
4ca8c38c98 Merge branch 'develop' into acs-flp-safe
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 11:05:53 +02:00
0cabe3a9ea Merge remote-tracking branch 'origin/develop' into bugfix_sus_assy
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 10:29:38 +02:00
845548ed25 maybe that fixes the issues 2023-04-05 10:27:19 +02:00
858c6c301e Merge pull request 'whoops' (#570) from fix into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #570
2023-04-05 09:55:20 +02:00
9825a8583f whoops
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-05 09:45:42 +02:00
babc4f80a8 Merge pull request 'update HK frequencies' (#568) from update_hk_frequencies into develop
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
Reviewed-on: #568
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-04-05 09:21:35 +02:00
3299260653 fix GPS HK enabling
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-04 20:59:25 +02:00
a0e531445a Merge remote-tracking branch 'origin/develop' into update_hk_frequencies
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-04 20:55:50 +02:00
5e854668b5 Merge pull request 'prep next patch release' (#567) from prep_v1.43.1 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #567
2023-04-04 20:45:15 +02:00
52c69f05e6 prep next patch release
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-04 20:39:13 +02:00
5dd2638241 Merge pull request 'Tweaks Syrlinks HK' (#565) from tweak_syrlinks_hk into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #565
2023-04-04 20:37:53 +02:00
c835b31e7f minor fix
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-04 20:36:52 +02:00
57b41701ce hopefully those were the last fixes
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-04 20:34:28 +02:00
69bbe4ea39 update HK frequencies
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-04 19:18:53 +02:00
f2a2c73984 Merge remote-tracking branch 'origin/develop' into tweak_syrlinks_hk
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-04 18:53:14 +02:00
85cf95d6bb Merge pull request 'Feature: Set health overrides' (#563) from feature_set_health_overrides into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #563
2023-04-04 18:52:06 +02:00
08d83c158a Merge pull request 'wrong logic' (#566) from bugfix_gps_fdir into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #566
2023-04-04 18:51:50 +02:00
b0e65867ee wrong logic
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-04 18:51:09 +02:00
106cb1ab35 Merge branch 'develop' into feature_set_health_overrides
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-04 18:39:54 +02:00
a06d90daad remove duplicate code
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-04 18:29:07 +02:00
3cc48a4cea annoying
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-04 18:21:30 +02:00
04178b8831 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-04 18:04:09 +02:00
28882cc359 Merge pull request 'fancy GPS fdir' (#562) from fancy_gps_fdir into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #562
2023-04-04 18:02:54 +02:00
c9bd922711 Merge remote-tracking branch 'origin/develop' into tweak_syrlinks_hk
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-04 18:02:29 +02:00
94c736d143 Merge branch 'develop' into fancy_gps_fdir
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-04 18:00:36 +02:00
c4516f53b8 another include fix
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-04 17:57:07 +02:00
f39981deca include fix
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-04 17:55:57 +02:00
fd8317acd7 Merge remote-tracking branch 'origin/develop' into feature_set_health_overrides
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-04 17:54:43 +02:00
7df3308717 Merge pull request 'TCS Sanity Range' (#564) from tcs_sanity_range_check into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #564
2023-04-04 17:53:44 +02:00
a76074acf5 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-04 17:53:38 +02:00
697dcab345 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-04 17:52:03 +02:00
104a8cab33 seems to work now
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-04 17:49:01 +02:00
8d4b980c32 this should fix some bugs 2023-04-04 16:46:07 +02:00
677457bbe7 syrlinks HK tweaks
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-04 15:59:45 +02:00
908927ed9f some fixes
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-04 15:09:51 +02:00
4a287344f4 add sanity range check
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-04-04 15:02:56 +02:00
ae0413f7f6 clean up code structure a bit
Some checks failed
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-04 14:52:22 +02:00
01081cbb29 set health overrides
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-04 14:45:09 +02:00
1d82977ca2 clean up
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-04 14:29:05 +02:00
bc7bdfe1fe Merge pull request 'inititalize loop indexes' (#561) from tcs_bugfix into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #561
2023-04-04 14:26:00 +02:00
38a0c14940 inititalize loop indexes
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-04 14:24:57 +02:00
3941770378 fancy GPS fdir
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-04-04 14:20:27 +02:00
e10359077c finally works
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-04 14:01:13 +02:00
8d1db69e0d annoying 2023-04-04 13:48:50 +02:00
8a2137d5d3 another test 2023-04-04 13:46:21 +02:00
e47ba65550 another test 2023-04-04 13:45:12 +02:00
143fb44037 try something 2023-04-04 13:41:55 +02:00
18994f5e65 Merge pull request 'prep v1.43.0' (#560) from prep_v1.43.0 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #560
2023-04-04 13:33:06 +02:00
39a3b4aa6f prep v1.43.0
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-04 13:32:41 +02:00
2b18ab1504 Merge pull request 'Bugfixes ans tweaks for STR' (#559) from bugfixes_tweaks_str into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #559
2023-04-04 11:22:49 +02:00
83e0627548 Merge remote-tracking branch 'origin/develop' into bugfixes_tweaks_str
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-04 11:22:07 +02:00
152a3c20cf bump submodules
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-04 11:20:03 +02:00
9e8880c2c5 Merge remote-tracking branch 'origin/develop' into bugfixes_tweaks_str 2023-04-04 11:19:34 +02:00
ed8623259e Merge pull request 'Feature: 3V3 stack power switching' (#556) from feature_3v3_stack_switching into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #556
2023-04-04 11:18:57 +02:00
69a3cb20be Merge remote-tracking branch 'origin/develop' into feature_3v3_stack_switching
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-04 11:18:45 +02:00
01b98ca091 Merge pull request 'tweaks' (#558) from single_store_tweak_fsfw into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #558
2023-04-04 11:15:49 +02:00
0cd246182d bump fsfw
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-04 01:52:34 +02:00
9270165bf8 fix STR bugs and improve code
- Reset reply size after returning a reply
- Reset data link layer and flush RX for regular commands and before
  performing special commands to ensure consistent start state
- Clean up DHB a bit
- Set STR dev to OFF in assembly when it is faulty.
2023-04-04 01:35:05 +02:00
9aedc36e4d tweaks
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
- Bump fsfw: O_SYNC flag on UioMapper
- Reduce delay for single TM store task to 2 ms
2023-04-03 21:57:48 +02:00
f5588e9c62 Merge remote-tracking branch 'origin/develop' into feature_3v3_stack_switching
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-03 19:58:35 +02:00
afbab6d3f2 Merge pull request 'Bugfix for GPS health devices' (#555) from bugfix_gps_health_dev_connect_parent into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #555
2023-04-03 19:57:50 +02:00
6d0bd88cd9 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-03 19:57:16 +02:00
23af9685d6 bugfix
Some checks are pending
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-03 19:15:14 +02:00
a26d71f745 i hate this crap
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-03 19:04:21 +02:00
8404ce237b something is wrong now
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-03 18:54:47 +02:00
1610bdecf9 connect parent
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-03 18:02:45 +02:00
53c88f85d5 changelog update
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-03 16:58:48 +02:00
ac514d9c19 bump tmtc
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-03 16:57:12 +02:00
e6f0695e1e bump tmtc
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-03 16:55:37 +02:00
6b37d292c6 add 3v3 stack switching
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-03 16:25:32 +02:00
e3677f89fe Merge pull request 'IMTQ: Lower Integration Time' (#552) from imtq_lower_integration_time into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #552
2023-04-03 15:43:30 +02:00
5267bfcd82 Merge remote-tracking branch 'origin/develop' into imtq_lower_integration_time
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-03 15:34:51 +02:00
99eae0df51 update changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-03 15:31:46 +02:00
73e2508025 Merge pull request 'remove double lock' (#554) from bugfix_axi_ptme_lock into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #554
2023-04-03 15:30:36 +02:00
1b2dd12e61 remove double lock
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-03 15:29:18 +02:00
8585114041 missing state check
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-03 15:27:06 +02:00
c4f62842ab Merge remote-tracking branch 'origin/develop' into imtq_lower_integration_time
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-03 15:21:00 +02:00
800ab7e87f Merge pull request 'disable some printouts' (#553) from tweaks_tcs into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #553
2023-04-03 15:20:32 +02:00
11d9871c0a disable some printouts
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
2023-04-03 15:20:11 +02:00
958abadd65 somethings buggy
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-03 15:16:53 +02:00
fba856a9a9 Merge branch 'develop' into imtq_lower_integration_time
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-03 15:13:00 +02:00
bc582abcb3 Merge pull request 'Thermal Controller Update' (#399) from thermal_controller into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #399
2023-04-03 15:12:48 +02:00
ba7a2c3ece Merge branch 'develop' into thermal_controller
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-03 15:12:30 +02:00
a8a0299b46 some adaptions, heater to off seems to work
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-03 14:38:00 +02:00
f4b47a24c0 adaptions for EM build
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-03 14:22:58 +02:00
e9c5bfe324 event spam has stopped
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-03 14:09:54 +02:00
5dcafa1de0 lower integration time
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-03 10:12:19 +02:00
7522eac9eb done 2023-04-02 23:43:41 +02:00
847e3bb51d prep imtq startup handling 2023-04-02 20:12:24 +02:00
020dfa8278 Merge pull request 'add compatible firmware' (#551) from ptme_poll_threshold_register into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #551
2023-04-02 15:52:29 +02:00
389b77a092 Merge branch 'develop' into ptme_poll_threshold_register
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-02 15:52:17 +02:00
a31f8c934a add compatible firmware
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-04-02 15:51:55 +02:00
685a4caace Merge pull request 'add SW IF for manipulating poll threshold' (#550) from ptme_poll_threshold_register into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #550
2023-04-02 15:35:39 +02:00
9360dad028 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-02 15:34:52 +02:00
8eac0b5ebd changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-02 15:33:49 +02:00
703eaaa9aa poll threshold param cmd handling
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-02 15:32:04 +02:00
cab55c79dc add SW IF for manipulating poll threshold
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-02 14:22:52 +02:00
62952b89b1 Merge remote-tracking branch 'origin/develop' into thermal_controller
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-01 16:00:15 +02:00
b205fb5269 bump changelog
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-04-01 15:55:37 +02:00
959f37f25a changelog format fix 2023-04-01 15:55:23 +02:00
789b0ff7ae Merge pull request 'prep v1.42.0' (#549) from prep_v1.42.0 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #549
2023-04-01 15:40:45 +02:00
601318d7eb prep v1.42.0
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-01 15:33:02 +02:00
87d622c82c Merge pull request 'STR tweaks parameter update' (#544) from str_tweaks_param_update into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #544
2023-04-01 15:23:43 +02:00
fc43627abb Merge branch 'develop' into str_tweaks_param_update 2023-04-01 15:23:33 +02:00
0878f3882a Merge pull request 'reduced HK rollover' (#547) from tweak_reduced_hk_rollover into develop
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
Reviewed-on: #547
2023-04-01 15:23:03 +02:00
6a8ddf96b8 Merge branch 'develop' into tweak_reduced_hk_rollover 2023-04-01 15:22:54 +02:00
6a2f569fc3 Merge pull request 'Double GomSpace polling frequency' (#548) from tweak_poll_gs_devs_more_often into develop
Reviewed-on: #548
2023-04-01 15:22:40 +02:00
d2f11b1860 Merge branch 'develop' into str_tweaks_param_update
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-01 15:20:52 +02:00
cf8dc9ed7d reduced HK rollover
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-01 15:07:47 +02:00
f65cf23391 dobule GS polling frequency
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-01 15:07:04 +02:00
b4c6965d9e poll GS devices more often 2023-04-01 15:06:21 +02:00
78d39a3760 Merge pull request 'filename fixes scex' (#546) from scex_filename_fixes into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #546
2023-04-01 15:05:04 +02:00
b58fc90879 important correction
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-01 14:40:34 +02:00
2386944ed8 removed unused code
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-04-01 14:32:41 +02:00
409631fb0a filename fixes scex
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-04-01 14:23:11 +02:00
13b8f9b1ec Merge remote-tracking branch 'origin/develop' into str_tweaks_param_update
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-04-01 13:43:59 +02:00
d0f641abe0 Merge pull request 'Possible Bugfix for Duallane Swichting' (#545) from possible_bugfix_duallane_power_switching into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #545
2023-04-01 13:43:36 +02:00
9b5fc8995c changelog 2023-04-01 13:43:24 +02:00
23a4b08709 seems to work, improve dummy PCDU handler
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-31 23:41:30 +02:00
d1775a52aa Merge remote-tracking branch 'origin/develop' into thermal_controller
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-31 19:18:05 +02:00
ff6ad60eed changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-31 19:16:57 +02:00
95d220c304 docs
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-31 19:15:54 +02:00
65989261b0 that should fix the issue
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-31 19:14:42 +02:00
e365e03c2a possible bugfix
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-31 19:00:37 +02:00
da36160f6e returncode check
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-31 18:52:35 +02:00
3f8603967c param update STR
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-31 18:51:16 +02:00
013692cc41 Merge pull request 'PAPB multi-byte write support' (#543) from papb_multi_byte_write_support into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #543
2023-03-31 18:37:13 +02:00
2f9de8c36e some tweaks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-31 17:41:01 +02:00
fcf3437410 some more tweaks 2023-03-31 17:39:13 +02:00
f51656a813 add back volatile keyword
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-31 17:36:49 +02:00
bb7a616283 some minor tweaks
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-31 17:35:53 +02:00
028f94a2f7 Merge remote-tracking branch 'origin/develop' into papb_multi_byte_write_support
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-31 17:34:35 +02:00
62ba7a1f80 Merge remote-tracking branch 'origin/develop' into papb_multi_byte_write_support
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-31 17:29:10 +02:00
9d42bb87d9 Merge pull request 'PTME rework reset handling' (#542) from ptme_rework_reset_handling into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #542
2023-03-31 17:26:52 +02:00
6c8eeeab31 init result
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-31 17:12:11 +02:00
f16d92c1b1 some more lock handling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-31 17:05:01 +02:00
55a22c840c PTME_LOCK atomic boolean and related handling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-31 16:51:30 +02:00
caa7c20adf tweaks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-31 15:12:05 +02:00
6ee3fe2eef changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-31 13:22:07 +02:00
76ea3f7979 compile fixes
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-31 13:21:38 +02:00
3871c8b8de change layering
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-31 13:17:15 +02:00
e0f94039b4 found some bugs
Some checks failed
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-31 12:47:55 +02:00
a1380a6e3a syrlinks bugfix
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-03-31 12:11:55 +02:00
795486ae6c trying to find out whats wrong 2023-03-31 12:11:31 +02:00
4b1221ab99 modes for VC/stores 2023-03-31 01:14:59 +02:00
f6f4db525c read reg instead of polling GPIO 2023-03-30 23:52:37 +02:00
a6e24485e2 Merge pull request 'done' (#541) from refactor_fix_duallane_fdirs into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #541
2023-03-30 17:23:14 +02:00
74a38dc76b re-run generators
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-30 17:22:28 +02:00
5f6f85a778 done
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-30 17:16:59 +02:00
6426142039 Merge pull request 'minor tweak for device handler' (#540) from scex_minor_tweak into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #540
2023-03-30 13:41:54 +02:00
1541376701 minor tweak for device handler
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-30 13:41:14 +02:00
27370fcd44 multi byte write support but does not work..
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-30 13:36:44 +02:00
770fee0097 some minor tweaks 2023-03-29 17:38:38 +02:00
5903b3ef60 Merge pull request 'SCEX update' (#538) from tweaks_scex_filenames into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #538
2023-03-29 17:37:06 +02:00
0bf4527e94 Merge branch 'develop' into tweaks_scex_filenames
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-29 13:39:46 +02:00
f695115102 Merge pull request 'move STR assy' (#539) from move_str_assy into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #539
2023-03-29 12:42:55 +02:00
a72805d137 move STR assy
Some checks are pending
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-29 11:44:13 +02:00
b7c17fdf0f scex update
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-29 11:41:42 +02:00
d4ae19ba8e Merge pull request 'prep v1.41.0' (#537) from prep_v1.41.0 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #537
2023-03-28 22:29:03 +02:00
e2b36313c1 afmt
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-28 22:28:58 +02:00
0c3c61c686 prep v1.41.0
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-28 22:26:23 +02:00
3f72837134 Merge pull request 'Tweaks PAPB polling' (#533) from tweaks_papb_polling into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #533
2023-03-28 22:18:26 +02:00
0764dbb662 Merge remote-tracking branch 'origin/develop' into tweaks_papb_polling
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-28 22:18:28 +02:00
4336b8c14f Merge branch 'tweaks_papb_polling' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into tweaks_papb_polling
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-28 22:18:08 +02:00
9c743eb0d9 bump fsfw and changelog 2023-03-28 22:17:54 +02:00
c35d824fcd Merge remote-tracking branch 'origin/develop' into tweaks_papb_polling 2023-03-28 22:16:07 +02:00
3e58e4a8a4 Merge pull request 'proper fault/ext ctrl handling for dual side' (#529) from improve_duallane_fdir into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #529
2023-03-28 22:09:21 +02:00
8988905050 Merge branch 'develop' into tweaks_papb_polling
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-28 22:09:09 +02:00
f29163e8a9 changelog note
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-28 22:08:08 +02:00
9cfee12774 docs + TODO
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-28 22:04:40 +02:00
eafc47f7a1 some more cleaning up
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-28 21:59:38 +02:00
4c57e48399 cleaning up
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-28 21:58:04 +02:00
7a8df782cc Merge branch 'develop' into improve_duallane_fdir
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-28 21:54:16 +02:00
4d1fbbcabd re-generate files
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-28 21:51:54 +02:00
053cfed093 docs
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-28 21:49:16 +02:00
d09b53f6df ns delay between gpio polls solves it
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-28 21:45:04 +02:00
c474d6ed1d bump tmtc
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-28 19:50:19 +02:00
def7eca2f2 cleaning up a bit
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-28 19:38:02 +02:00
520b41c53b transition basic mode handling
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-28 17:21:43 +02:00
28d7dcf177 Merge remote-tracking branch 'origin/develop' into thermal_controller
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-28 16:37:09 +02:00
36d7852c1d changes
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-28 16:35:49 +02:00
6a37503154 Merge pull request 'undefined init mode for power switcher' (#536) from bump_fsfw_power_switcher_component_undefined_init_mode into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #536
2023-03-28 15:28:57 +02:00
12c7ed2cb5 undefined init mode
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-28 15:28:28 +02:00
33babebb6f cancel events
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-28 15:15:38 +02:00
5c97020087 small change
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-28 15:11:21 +02:00
0adfb0cd3c add missing override specifiers
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-28 15:06:03 +02:00
0bba9b53ba some more documentation
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-28 15:03:34 +02:00
1f6c986a0c add instrumentation code
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-28 14:59:31 +02:00
746254a838 cancel transfer on TX disabled
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-28 10:13:39 +02:00
437288de1e small fix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-27 23:09:26 +02:00
534945cfec last know working cfg for slow downlink
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-27 22:57:01 +02:00
9613d4aa51 add single store delay handling for log store as well
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-27 22:06:16 +02:00
bc72f59abb now its just trying things out
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-27 21:46:12 +02:00
00214dc378 found some more bugs
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-27 21:39:37 +02:00
fb324516bb this is insane
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-27 21:23:09 +02:00
7023fe5c42 this is weird
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-27 18:59:31 +02:00
1727168ee5 now its getitng weird 2023-03-27 18:39:53 +02:00
f1774fe80f docs 2023-03-27 18:13:00 +02:00
fcb5613aa8 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-27 17:44:51 +02:00
363fc89209 thsi is cleaner
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-27 17:43:52 +02:00
1a0e632d2f go down to nanoseconds 2023-03-27 17:42:54 +02:00
6dbb9b5e37 Merge pull request 'add some docs' (#532) from com_docs into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #532
2023-03-27 17:06:19 +02:00
31e2205e71 Merge remote-tracking branch 'origin/develop' into com_docs
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-27 17:06:35 +02:00
c83afa4e10 Merge remote-tracking branch 'origin/develop' into improve_duallane_fdir
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-27 17:05:24 +02:00
e10768386d Merge remote-tracking branch 'origin/develop' into tweaks_papb_polling
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-27 17:05:05 +02:00
be41d4f819 Merge pull request 'shorter delay between file swaps' (#531) from tweaks_tm_dumps into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #531
2023-03-27 17:03:09 +02:00
5adde9c1c4 Merge remote-tracking branch 'origin/develop' into tweaks_tm_dumps
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-27 17:03:15 +02:00
8dfdc62125 Merge pull request 'ACS board devs go to on first' (#530) from improvement_acs_devs_go_to_on into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #530
2023-03-27 17:02:15 +02:00
c53c052876 lower delays
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-27 17:02:02 +02:00
f8ff9c355c shorter delay between file swaps
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-27 16:10:50 +02:00
e0f5d049e3 compile fixes
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-27 15:15:20 +02:00
4c85b5d951 add some docs
Some checks are pending
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-27 15:10:35 +02:00
80ad923181 SUS goes to MODE_ON in startup now
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-27 15:03:54 +02:00
ec95792bc3 ACS board devs go to on first
Some checks failed
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-27 15:00:40 +02:00
53c839e389 proper fault/ext ctrl handling for dual side
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-27 14:53:18 +02:00
68bc7f7682 Merge pull request 'enable periodic HK' (#525) from feature_set_up_periodic_hk into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #525
2023-03-27 13:50:51 +02:00
efa3c11c7a bump tmtc again
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-26 20:10:03 +02:00
19723e88d3 configurable HK service queue depth
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-26 20:05:24 +02:00
b469455b9b bump tmtc
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-26 20:01:32 +02:00
861bee8083 Merge branch 'develop' into thermal_controller
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-26 16:58:30 +02:00
bb8d4fbc57 Merge branch 'develop' into feature_set_up_periodic_hk
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-26 16:58:18 +02:00
dc92770c01 Merge pull request 'bugfix EM and Host build' (#528) from bugfix_em_build into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #528
2023-03-26 16:58:09 +02:00
935f49094f fix host build as well
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-26 16:58:05 +02:00
11acfbbc91 bugfix EM build
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-26 16:54:40 +02:00
3e7901f060 Merge remote-tracking branch 'origin/develop' into thermal_controller
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-26 16:52:39 +02:00
58c343b8de Merge remote-tracking branch 'origin/develop' into feature_set_up_periodic_hk
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-26 16:45:28 +02:00
0ef3104e2e Merge pull request 'cleanup everything' (#527) from cleanup_everything into develop
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
Reviewed-on: #527
2023-03-26 16:43:29 +02:00
b92924881b changelog 2023-03-26 16:43:36 +02:00
63b50e6101 clean up op done
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-26 16:42:00 +02:00
e7eaaa9295 finished power clean up
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-26 16:16:54 +02:00
7c700a9e19 clean up power code 2023-03-26 16:13:54 +02:00
9af7b6a39b Merge pull request 'more ACS cleaning' (#526) from more_acs_cleaning into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #526
2023-03-26 16:06:02 +02:00
079da3b0e4 more ACS cleaning
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
- STR code is now in mission folder, but still only conpiled for Q7S
  code because wire library is proprietary
2023-03-26 16:05:01 +02:00
cb2fe300b2 enable periodic HK
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-26 15:28:00 +02:00
e9901f3c85 Merge pull request 'v1.40.0' (#524) from prep_v1.40.0 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #524
2023-03-24 22:34:47 +01:00
c37f26021c changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-24 21:36:31 +01:00
58e427d51d small order fix
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-24 21:35:28 +01:00
3d93431278 prep v1.40.0
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
2023-03-24 21:34:03 +01:00
b301cbc750 Merge pull request 'improve sd lock handling again' (#523) from another_imrovement_sd_lock_handling into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #523
2023-03-24 21:29:39 +01:00
e69812b48b improve sd lock handling again
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-24 21:29:13 +01:00
0301c18af2 resolve some merge conflicts
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-24 21:20:27 +01:00
f71972609c Merge remote-tracking branch 'origin/develop' into thermal_controller
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-24 21:15:29 +01:00
61c26fe53a Merge pull request 'Dual Lane Boards: Allow Side Switches' (#412) from feature_allow_side_switch into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #412
2023-03-24 21:10:55 +01:00
40c000b183 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-24 21:10:59 +01:00
bee8838010 Merge remote-tracking branch 'origin/develop' into feature_allow_side_switch
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-24 21:09:43 +01:00
ff25f6ff3f Merge pull request 'Finish COM and ACS restructuring' (#522) from cleaning_com_acs into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #522
2023-03-24 21:08:32 +01:00
dd28767d68 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-24 21:08:44 +01:00
13f269e6aa fix unittest
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-24 21:08:00 +01:00
6331aef987 EM bugfix
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-24 21:05:11 +01:00
59d40a6794 finish acs and com
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-24 21:01:00 +01:00
29ba7b87b7 re-run generators
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-03-24 20:51:03 +01:00
87e1746d71 done 2023-03-24 20:50:33 +01:00
da386edd05 cleaniiing
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-24 20:03:35 +01:00
c40a192c48 Merge pull request 'more cleaning' (#521) from cleaning_com into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #521
2023-03-24 19:53:31 +01:00
58058bd402 Merge branch 'develop' into cleaning_com
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-24 19:53:18 +01:00
2fa5024236 more cleaning
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
2023-03-24 19:53:09 +01:00
3135bb923e afmt 2023-03-24 19:49:08 +01:00
6f368ef01a Merge pull request 'Cleaning COM' (#520) from cleaning_com into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #520
2023-03-24 19:49:01 +01:00
d6409b6112 em adaption
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-24 19:47:48 +01:00
72598e2ae6 bump tmtc
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-24 19:43:37 +01:00
9dc0c5bde0 cleaning up com
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-03-24 19:37:03 +01:00
ec40044b6e some bugfixes
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-24 19:14:27 +01:00
bea0c31a12 Merge remote-tracking branch 'origin/develop' into feature_allow_side_switch
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-24 17:29:13 +01:00
04e5c212d7 Merge pull request 'bugfix fsfwgen' (#519) from bugfix_fsfwgen_duplicate_events into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #519
2023-03-24 15:40:04 +01:00
fe1fb9425e bugfix fsfwgen
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
EIVE/eive-obsw/pipeline/head Build started...
2023-03-24 15:39:45 +01:00
96bd188e57 running gens and merging develop afterwards is so much fun aaaaaaaaamazing
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-24 15:20:40 +01:00
90db9785ea fixes
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-24 15:18:52 +01:00
506c8a3fa6 Merge branch 'develop' into acs-flp-safe 2023-03-24 15:10:34 +01:00
8fa5777634 Merge pull request 'MEKF invalid handling fix' (#514) from mekf-invalid-reset-counter into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #514
2023-03-24 15:03:17 +01:00
613d7738a8 update generates files
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-24 15:02:13 +01:00
b32e0ef4fb Merge remote-tracking branch 'origin/develop' into mekf-invalid-reset-counter 2023-03-24 15:01:01 +01:00
150595b7f7 gens
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-24 14:59:35 +01:00
07f482a98b fix 2023-03-24 14:58:49 +01:00
c759e118fa fixed indexing 2023-03-24 14:56:35 +01:00
82a9dbd632 Merge pull request 'some bugfixes for custom CSP router' (#518) from custom_csp_router_task into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #518
2023-03-24 14:55:12 +01:00
7e35a0a481 Merge branch 'develop' into custom_csp_router_task
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-24 14:55:02 +01:00
330e26b2ba Merge branch 'develop' into acs-flp-safe 2023-03-24 14:53:07 +01:00
7dc587e2df some bugfixes
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-24 14:53:07 +01:00
41215c9ae9 improved events 2023-03-24 14:52:26 +01:00
dce6323090 use safeCtrl strategy 2023-03-24 14:52:12 +01:00
906413e800 also check for inertia 2023-03-24 14:51:45 +01:00
ad72301ea0 for now final version of controller 2023-03-24 14:51:33 +01:00
44d0f1c533 frmt 2023-03-24 14:51:07 +01:00
1e1d41270b Merge pull request 'Refactoring Syrlinks COM' (#517) from refactoring_syrlinks_com_if into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #517
2023-03-24 14:49:07 +01:00
15b3144760 Merge branch 'develop' into refactoring_syrlinks_com_if
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-24 14:48:08 +01:00
d9284478c4 Merge pull request 'custom CSP router task' (#516) from custom_csp_router_task into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #516
2023-03-24 14:47:55 +01:00
74603f9969 Merge remote-tracking branch 'origin/develop' into refactoring_syrlinks_com_if
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-24 14:22:12 +01:00
69bb3922d3 Merge branch 'custom_csp_router_task' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into custom_csp_router_task
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-24 14:17:56 +01:00
52c439c501 Merge remote-tracking branch 'origin/develop' into custom_csp_router_task 2023-03-24 14:17:51 +01:00
f273eaccfb bump submodules 2023-03-24 14:17:28 +01:00
5ec001652f Merge branch 'develop' into custom_csp_router_task
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-24 14:17:20 +01:00
cbbac0d7a9 Merge pull request 'some tweaks for busy handling' (#500) from tweak_papb_busy_polling into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #500
2023-03-24 14:15:00 +01:00
267f900545 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-24 14:15:01 +01:00
012e173487 okay this should work
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-24 14:11:08 +01:00
91b83d477b changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-24 13:28:27 +01:00
349332c1e1 adapt all priorities
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-24 13:26:27 +01:00
d226726a27 this is going to be annyoing
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-24 11:58:45 +01:00
9d8dfdfd4f nearly there
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-24 11:35:46 +01:00
1f4c171576 custom CSP router
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-24 11:33:43 +01:00
21159107d7 done
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-24 02:34:38 +01:00
e8e01cf198 update gneerates files 2023-03-24 01:20:38 +01:00
fd235488f7 schedule new COM helper 2023-03-24 01:19:08 +01:00
d85fb18112 fix new shadowing warnings 2023-03-24 01:01:29 +01:00
a9efedfc86 Make syrlinks COM more reliable 2023-03-24 00:59:41 +01:00
175c0f9961 and another bug
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-23 20:56:06 +01:00
fd61a3f243 we still need the first file load
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-23 19:22:14 +01:00
cc4ef09e9f i think this is a bug
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-23 19:12:57 +01:00
0bced7eca5 bump fsfw
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-23 18:44:12 +01:00
abf689872d Merge remote-tracking branch 'origin/develop' into tweak_papb_busy_polling
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-23 18:42:24 +01:00
7f36bd365f Merge pull request 'TCS local pool variables as members' (#515) from thermal_ctrl_local_vars_as_members into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #515
2023-03-23 18:39:10 +01:00
0bb6c15b97 Merge remote-tracking branch 'origin/develop' into thermal_ctrl_local_vars_as_members
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-23 18:39:09 +01:00
e68918e978 Merge pull request 'STR improvements' (#509) from refactoring_str_use_ring_buff_for_rx into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #509
2023-03-23 18:37:18 +01:00
45054cc863 scaling up
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-23 18:31:47 +01:00
e6813efb88 realistic parameters
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-23 17:34:48 +01:00
8597e04eaf Merge branch 'develop' into acs-flp-safe
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-23 17:05:30 +01:00
493f89e0cb this is tricky
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-23 15:43:14 +01:00
f622e1afe4 bump changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-23 12:14:46 +01:00
7af2b5ddf9 TCS local pool variables as members
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-23 12:13:24 +01:00
dda8261fc3 stry debug printout
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-23 11:42:24 +01:00
f61c448a24 important bugfix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-23 11:32:46 +01:00
884462e793 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-23 12:03:53 +01:00
7a0641b98c Merge remote-tracking branch 'origin/develop' into tweak_papb_busy_polling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-23 12:02:55 +01:00
7bca418db8 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-23 10:51:06 +01:00
32bab161ef new event 2023-03-23 10:37:34 +01:00
9c735e36b8 reset mekfInvalidCounter after STR FDIR event and also trigger event in case mekf has recovered 2023-03-23 10:27:32 +01:00
b5d5dc5ad8 Merge remote-tracking branch 'origin/develop' into refactoring_str_use_ring_buff_for_rx
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-23 09:28:24 +01:00
b6e08f369a Merge pull request 'unfassbar' (#513) from unfassbar into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #513
2023-03-22 20:33:41 +01:00
9b088a22b4 prep v1.39.1
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-22 21:33:35 +01:00
cf2fb54cc1 unfassbar
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-22 21:25:24 +01:00
f749866818 Merge pull request 'Bugfix IP core handler' (#511) from bugfix_ip_core_handler into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #511
2023-03-22 19:10:27 +01:00
7e675ba35d some additional tweaks
Some checks are pending
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-22 19:54:04 +01:00
16441678c9 CCSDS IP core handler
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-22 19:49:14 +01:00
f271da3b04 forgot to delete this
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-22 19:47:28 +01:00
13defc5053 Merge remote-tracking branch 'origin/develop' into refactoring_str_use_ring_buff_for_rx
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-22 10:49:25 +01:00
6f7cde69e5 Merge pull request 'how did that slip ci/cd' (#510) from str_hotfix into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #510
2023-03-22 10:47:01 +01:00
b8a58edf5a how did that slip ci/cd
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
2023-03-22 10:46:53 +01:00
9e393f61a1 remove obsolete code
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-22 10:39:52 +01:00
d824f8ba9e some more improvements for DLL
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-22 10:38:41 +01:00
d6331aab0b Merge branch 'develop' into acs-flp-safe
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-22 09:08:04 +01:00
56642a11f7 frmt
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-22 08:59:29 +01:00
f6a0954315 added relevant parameters 2023-03-22 08:59:13 +01:00
57f5a22b04 works like a charm
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-22 02:20:14 +01:00
2dc22a7d8f Merge remote-tracking branch 'origin/develop' into refactoring_str_use_ring_buff_for_rx
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-22 00:03:27 +01:00
c611bc824b Merge pull request 'Bugfixes STR' (#508) from bugfix_str into develop
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
Reviewed-on: #508
2023-03-22 00:00:40 +01:00
481b0361f9 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-22 00:00:32 +01:00
60cb56769d small doc fix
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-21 23:59:54 +01:00
140fd9f4f5 comment fix
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-21 23:59:28 +01:00
7b3265ea91 update returnvalue files
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-21 23:58:00 +01:00
a94e7ed17c Merge remote-tracking branch 'origin/develop' into bugfix_str
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-21 23:57:11 +01:00
e5f06fe19f changelog 2023-03-21 23:56:59 +01:00
ddad5e30a4 Merge remote-tracking branch 'origin/develop' into bugfix_str 2023-03-21 23:55:44 +01:00
7d29da1263 Merge pull request 'eive-tmtc version' (#507) from note into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #507
2023-03-21 23:45:29 +01:00
dec13c7d13 eive-tmtc version
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
2023-03-21 23:45:25 +01:00
9c8fc84053 Merge remote-tracking branch 'origin/develop' into thermal_controller
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 23:44:25 +01:00
577e45fec3 Merge pull request 'v1.39.0' (#506) from prep_v1.39.0 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #506
2023-03-21 23:40:10 +01:00
8611144a70 re-run generators again
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-21 23:34:59 +01:00
25de385766 pre v1.39.0
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-21 23:32:41 +01:00
9e719d455a more simplfications
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-21 20:59:59 +01:00
fabb643026 rework send and read, simplify
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-21 20:47:06 +01:00
0256824e37 add uart reception handler
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-21 20:35:28 +01:00
24fb8e34f2 use a ring buffer
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-03-21 18:47:42 +01:00
b9cf144c1f passivate normal mode for special requests
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-21 18:05:29 +01:00
bb0c4ac03e check file validity
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-21 17:37:39 +01:00
ce04532759 smaller bugfix 2023-03-21 17:35:36 +01:00
d00cfc420c shameless copy of FLP code
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-21 17:19:27 +01:00
2153294e6f EM build working now
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 15:17:31 +01:00
17b9086974 Merge remote-tracking branch 'origin/develop' into tweak_papb_busy_polling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 15:02:24 +01:00
0fdc79df5e Merge remote-tracking branch 'origin/develop' into thermal_controller
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 14:55:55 +01:00
0e5a3a2f6c update changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 14:46:07 +01:00
4277a98c16 Merge pull request 'PTME Bandwidth Allocation Table' (#495) from ptme_bat_priority_enable into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #495
2023-03-21 14:44:03 +01:00
34cd92840f belongs in separate PR 2023-03-21 15:43:59 +01:00
3f94bf7855 Merge remote-tracking branch 'origin/develop' into ptme_bat_priority_enable
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-21 15:40:14 +01:00
1b05f45e24 Merge remote-tracking branch 'origin/develop' into ptme_bat_priority_enable
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 15:07:11 +01:00
be4a6b2434 Merge pull request 'Update Jenkins Buildjob' (#504) from update_jenkins_buildjob into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #504
2023-03-21 14:39:24 +01:00
f68f4066be small jenkinsfile fix
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 15:30:09 +01:00
3f1f3fa916 update jenkins buildjob
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-03-21 15:28:14 +01:00
b81618344e update eive system FDIR
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 14:38:10 +01:00
d85ddcdbff Merge remote-tracking branch 'origin/develop' into thermal_controller
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 14:18:57 +01:00
092e9fa508 bump deps 2023-03-21 14:18:32 +01:00
379c868abb Merge pull request 'EM build fix' (#503) from bugfix_em_buld into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #503
2023-03-21 14:18:27 +01:00
c9ec0f67bd EM build fix
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
2023-03-21 15:18:17 +01:00
9003eea07b task name adaptions
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 14:16:35 +01:00
8464dd1eae changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 14:12:00 +01:00
6a07471c3a changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 14:11:19 +01:00
beb80e7a0b transform tm stores into quasi background threads 2023-03-21 14:09:59 +01:00
eee829919b Merge pull request 'Stop the Spam!' (#502) from stop-the-spam into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #502
2023-03-21 13:46:48 +01:00
3150261e3e Merge branch 'develop' into stop-the-spam
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-21 13:46:34 +01:00
fe01d3d4b5 Merge pull request 'only set time valid if at least 1 sat in view' (#501) from bugfix_gps into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #501
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-03-21 13:41:26 +01:00
bc6b492976 Merge branch 'develop' into bugfix_gps
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-21 13:39:31 +01:00
11ccd1f535 Merge pull request 'I2C fatal error counter' (#496) from feature_i2c_fatal_error_counter into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #496
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-03-21 13:38:28 +01:00
b891198bee Merge branch 'develop' into feature_i2c_fatal_error_counter
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-21 13:38:29 +01:00
da831ff789 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 13:25:22 +01:00
078299a07c Merge branch 'develop' into stop-the-spam 2023-03-21 13:24:21 +01:00
2f5ec84237 stop the spam
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-21 13:23:50 +01:00
9c22e4cab2 small sched tweaks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 12:58:28 +01:00
2694f0cbc8 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 12:56:22 +01:00
6e4d27a454 bump tmtc, additonal changelog entry
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 12:55:39 +01:00
ab74382c12 only set time valid if at least 1 sat in view
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 12:54:14 +01:00
2be5cdabb0 Merge pull request 'Finite check for MEKF' (#465) from acs-ctrl-finite-check into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
Reviewed-on: #465
2023-03-21 11:47:32 +01:00
11e1222a7c re-run generators
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-21 12:46:54 +01:00
573ff334b8 fixes
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 11:37:54 +01:00
19dd7a0964 ?
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-21 11:36:10 +01:00
a92f664770 Merge branch 'develop' into acs-ctrl-finite-check
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-21 11:30:26 +01:00
bb27700cc2 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-20 18:02:59 +01:00
3e3355a926 Merge remote-tracking branch 'origin/develop' into feature_i2c_fatal_error_counter
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-20 18:02:09 +01:00
55d32a2bb0 Merge remote-tracking branch 'origin/develop' into ptme_bat_priority_enable
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-20 18:01:13 +01:00
68e68afdd6 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-20 17:59:46 +01:00
fede1fc4b3 Merge branch 'tweak_papb_busy_polling' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into tweak_papb_busy_polling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-20 17:58:30 +01:00
394f0498c5 small compile error 2023-03-20 17:58:23 +01:00
809e1ecf88 Merge branch 'develop' into tweak_papb_busy_polling
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-20 17:57:47 +01:00
a75b4fd951 Merge remote-tracking branch 'origin/develop' into tweak_papb_busy_polling
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-20 17:57:21 +01:00
2f990d8bbc Merge pull request 'str transition fixes' (#498) from bugfix_str_mode_transitions into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #498
2023-03-20 17:56:10 +01:00
8482d56fd0 Merge remote-tracking branch 'origin/develop' into bugfix_str_mode_transitions
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-20 17:56:10 +01:00
e349504b41 Merge pull request 'GYR Bias Update' (#499) from new-gyr-bias into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #499
2023-03-20 17:54:46 +01:00
0bb5f08d23 Merge remote-tracking branch 'origin/develop' into bugfix_str_mode_transitions
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-20 17:54:32 +01:00
0dbe6b9854 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-20 17:53:33 +01:00
043a458f42 seems to work now
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-20 17:51:10 +01:00
c682d75aff works now
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-20 17:05:57 +01:00
aea4313b7d some more tweaks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-20 15:52:58 +01:00
11c54e270f changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-20 15:50:50 +01:00
881a03fbed direct transition to normal works again
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-20 15:49:41 +01:00
f9e04ed9a2 updated gyr bias 2023-03-20 15:42:45 +01:00
d8f84ed00d small tweak
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-20 15:17:34 +01:00
b516f12a61 str transition fixes
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-20 15:16:20 +01:00
de4bf6dd55 Merge pull request 'Dual Side to Single Side Bugfix' (#497) from bugfix_dual_to_single_side into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #497
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-03-20 14:52:52 +01:00
159da20ef2 some tweaks for busy handling
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-20 14:31:10 +01:00
22f8d256dd changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-20 13:09:28 +01:00
7cf3247cbd seems to work now
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-20 13:08:38 +01:00
8843a0d8c5 resolve merge conflict
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-20 11:48:23 +01:00
ec18cb7007 Merge remote-tracking branch 'origin/develop' into feature_i2c_fatal_error_counter
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-03-20 11:41:11 +01:00
74bb27e61f some more fixes
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-20 11:12:19 +01:00
5890e639fe bugfix for dual to single side transition
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-20 10:17:41 +01:00
ba9cf5d79d small changes
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-18 18:03:59 +01:00
7c2755db26 not sure this is correct..
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-18 15:30:24 +01:00
0b81a92941 doc 2023-03-18 15:13:02 +01:00
f39d03afc2 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-18 14:50:34 +01:00
b54ced65f6 Merge remote-tracking branch 'origin/develop' into ptme_bat_priority_enable
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-18 14:47:34 +01:00
ff8ebfe67a docs
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-18 14:40:07 +01:00
99e6ea6000 that should do the job
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-18 14:34:09 +01:00
4871479ed5 fixes for q7s build
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-18 11:17:24 +01:00
a196ab136e Merge pull request 'afmt' (#494) from auto_fmt into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #494
2023-03-17 18:21:08 +01:00
ba1cc420c4 afmt
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
EIVE/eive-obsw/pipeline/head Build started...
2023-03-17 18:20:41 +01:00
1dfbb9474c Merge pull request 'prep v1.38.0' (#493) from prep_v1.38.0 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #493
2023-03-17 18:09:15 +01:00
0e8859c278 prep v1.38.0
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-17 18:08:08 +01:00
eb46841237 update thermal controller
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-17 17:40:11 +01:00
d44142ac26 Merge remote-tracking branch 'origin/develop' into thermal_controller
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-17 17:36:51 +01:00
a8af3a8447 Merge pull request '2 seconds are important' (#492) from this_will_break_everything_for_sure into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #492
2023-03-17 17:17:05 +01:00
97a947f5aa 2 seconds are important
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-17 17:16:32 +01:00
5d63160c57 Merge pull request 'refactor power code' (#470) from refactoring_bugfixes_power_switching into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #470
2023-03-17 16:53:50 +01:00
a4ba52e76d Merge branch 'develop' into refactoring_bugfixes_power_switching
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-17 16:30:22 +01:00
a5318b430b Merge pull request 'scheduling tweaks for i2c' (#491) from scheduling_tweaks_i2c into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #491
2023-03-17 16:27:28 +01:00
9cec20a550 scheduling tweaks for i2c 2023-03-17 16:27:00 +01:00
024da6ceef Merge pull request 'SA DEPLY updates' (#488) from sa_deply_updates into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #488
2023-03-17 16:19:01 +01:00
d544792e29 Merge branch 'sa_deply_updates' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into sa_deply_updates 2023-03-17 16:19:09 +01:00
9a5901235c changelog 2023-03-17 16:19:04 +01:00
e16ee5d6a5 Merge branch 'develop' into sa_deply_updates
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-17 16:17:37 +01:00
596b6eb46d Merge pull request 'reset the counter' (#490) from bugfix_acs_safe_fail_event into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #490
2023-03-17 16:17:05 +01:00
5b84808d7c reset the counter
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
2023-03-17 16:16:53 +01:00
ce59e66c05 Merge pull request 'bugfix in SD card manager' (#489) from sdc_man_bugfix_ctor into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #489
2023-03-17 16:05:31 +01:00
af85c883fa bugfix in SD card manager
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-17 16:04:35 +01:00
1fd5d065b6 set bat priority bit on transmitter enable
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-17 14:51:00 +01:00
509d144117 SA DEPLY updates
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-17 11:09:29 +01:00
f7be8ea63c use supervisor fdir
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
controls the power switch
2023-03-16 19:10:05 +01:00
3c6eb265c7 PLOC SUPV dummy has switch now
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-16 18:52:32 +01:00
b1d2f73b01 move Switches enum
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-16 18:47:51 +01:00
eda1f7e212 syrlinks event works
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-16 18:28:51 +01:00
56a4378a63 that should be transition safe
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-16 18:05:23 +01:00
a16671762d Merge remote-tracking branch 'origin/develop' into thermal_controller
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-16 17:48:17 +01:00
6da3d6f06a bump tmtc
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-16 17:45:24 +01:00
2f0aed97dc Merge remote-tracking branch 'origin/develop' into refactoring_bugfixes_power_switching 2023-03-16 17:44:46 +01:00
350ed59033 handle syrlinks overheating in COM SS
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 17:13:25 +01:00
52ab77eded Merge pull request 'Init Boot Mode' (#474) from feature_boot_sequence_eive_sys into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #474
2023-03-15 16:29:18 +01:00
4ff1548cf2 Merge branch 'develop' into feature_boot_sequence_eive_sys 2023-03-15 16:29:11 +01:00
f6d1a41cb9 Merge pull request 'tweak scheduling frequencies' (#471) from feature_scheduling_tweaks into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #471
2023-03-15 16:28:36 +01:00
1623dd1c80 Merge branch 'develop' into feature_scheduling_tweaks
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-15 16:28:26 +01:00
94ae33a554 Merge branch 'develop' into refactoring_bugfixes_power_switching
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 16:27:54 +01:00
e3c41dd807 Merge pull request 'ACS Safe Ctrl Failure Event' (#484) from acs-safe-mode-failure into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #484
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
2023-03-15 16:27:42 +01:00
096253a9a3 Merge branch 'feature_scheduling_tweaks' into thermal_controller
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 16:25:13 +01:00
11e5866f31 added some defines
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 16:24:46 +01:00
9b8092fb09 this seems to work
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 16:24:01 +01:00
f546df50a1 Merge branch 'feature_boot_sequence_eive_sys' into thermal_controller
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 16:21:14 +01:00
2f263c6aa6 small bugfix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 16:21:05 +01:00
8201a4140a works better now
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 16:19:37 +01:00
364342855d maybe force a mode command?
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 15:52:20 +01:00
c688a51838 Merge remote-tracking branch 'origin/feature_boot_sequence_eive_sys' into thermal_controller 2023-03-15 15:52:14 +01:00
8c83ec78fd Merge branch 'develop' into feature_boot_sequence_eive_sys
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 15:51:38 +01:00
715a69db89 this should cover upper bound checking when heater is off
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 15:43:20 +01:00
dc44af5b29 copy and paste error
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 15:20:47 +01:00
27f29eda40 small error
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 15:16:12 +01:00
50a62b9243 sth broke..
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 15:13:53 +01:00
da7c450e06 most temps should be valid now
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 15:00:06 +01:00
a92fa31cb5 better variable names, tweaks for less init events
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 14:56:26 +01:00
d273621419 some tweaks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 14:36:18 +01:00
f229ebb141 Merge remote-tracking branch 'origin/develop' into feature_scheduling_tweaks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 14:16:21 +01:00
64ec76bfb7 Merge branch 'develop' into thermal_controller
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 14:14:56 +01:00
a2f2e1b84e Merge pull request 'some user code fixes' (#487) from bump_fsfw into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #487
2023-03-15 14:14:43 +01:00
19753c43f1 Merge branch 'develop' into bump_fsfw
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-15 14:14:31 +01:00
69525b6fd1 bump fsfw
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-15 14:10:53 +01:00
c1d8eda2c7 Merge remote-tracking branch 'origin/develop' into thermal_controller 2023-03-15 14:10:36 +01:00
7ab01687ce some user code fixes
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 11:49:01 +01:00
22076ea25e Merge pull request 'bump fsfw' (#486) from bump_fsfw into develop
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
Reviewed-on: #486
2023-03-15 11:42:21 +01:00
7c54e920ef bump fsfw
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
2023-03-15 11:42:03 +01:00
be848ea5e4 changelog update
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 11:32:58 +01:00
8dd22b6ea0 Merge branch 'develop' into feature_scheduling_tweaks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 11:31:55 +01:00
53c38d9c05 Merge remote-tracking branch 'origin/develop' into acs-ctrl-finite-check
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 11:31:31 +01:00
d894479f75 Merge remote-tracking branch 'origin/develop' into acs-safe-mode-failure
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 11:29:06 +01:00
37e128041f Merge pull request 'Reset RW dataset on shutdown' (#485) from rw-dataset-reset into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #485
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
2023-03-15 11:27:29 +01:00
bab0bbf82d changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 10:38:00 +01:00
7d9be35cb4 reset relevant datasets on shutdown 2023-03-15 10:36:25 +01:00
95a4d88ed4 cleanup
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 10:17:24 +01:00
102228100e reran event gens
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-15 10:10:47 +01:00
c4fe772fe7 changelog
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-15 10:08:58 +01:00
ccf1fcaa79 stuff 2023-03-15 10:06:24 +01:00
4fdb2de510 Merge branch 'develop' into acs-safe-mode-failure
# Conflicts:
#	CHANGELOG.md
#	mission/controller/AcsController.cpp
#	mission/controller/AcsController.h
2023-03-15 10:06:02 +01:00
5e2f7fa3ed reran gens
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-15 09:39:46 +01:00
7ddfdc0978 post merge fix 2023-03-15 09:38:31 +01:00
bb895c9e12 Merge branch 'develop' into acs-ctrl-finite-check 2023-03-15 09:37:15 +01:00
8b11302028 unittest works again
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 20:35:49 +01:00
c1b4a1c164 Merge branch 'thermal_controller' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into thermal_controller
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 20:04:03 +01:00
58212d7081 Merge remote-tracking branch 'origin/develop' into thermal_controller 2023-03-14 20:04:00 +01:00
a6e6ee053d Merge branch 'develop' into thermal_controller
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 20:03:29 +01:00
3eb5fc7f47 Merge pull request 'patch for v1.37.2' (#483) from patch_v1.37.2 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #483
2023-03-14 20:03:00 +01:00
533aaa207c bump version
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-14 20:02:39 +01:00
005d5a5223 prep patch version 2023-03-14 20:02:27 +01:00
e82777479b Merge remote-tracking branch 'origin/develop' into thermal_controller
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 18:50:28 +01:00
2b12cc4fa2 Merge branch 'develop' into feature_boot_sequence_eive_sys
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 18:49:25 +01:00
ec2db69236 Merge branch 'develop' into feature_scheduling_tweaks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 18:49:16 +01:00
263f4eb25f Merge branch 'develop' into refactoring_bugfixes_power_switching
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 18:49:06 +01:00
13c7ef373d Merge pull request 'unittest hotfix' (#482) from unttest_hotfix into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #482
2023-03-14 18:48:05 +01:00
adcc68e0fa unittest hotfix
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
2023-03-14 18:47:48 +01:00
11106cf755 Merge pull request 'prep v1.37.1' (#481) from prep_v1.37.1 into develop
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
Reviewed-on: #481
2023-03-14 18:45:20 +01:00
f966b517a4 prep v1.37.1
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
2023-03-14 18:44:50 +01:00
3e5937db67 Merge remote-tracking branch 'origin/develop' into feature_scheduling_tweaks
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 18:41:28 +01:00
d322096573 changelog
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 18:41:11 +01:00
a392e31f99 Merge remote-tracking branch 'origin/develop' into feature_boot_sequence_eive_sys
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 18:39:08 +01:00
719ffcad2b Merge remote-tracking branch 'origin/develop' into refactoring_bugfixes_power_switching
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 18:36:43 +01:00
59ee375fc1 Merge pull request 'bump fsfw' (#480) from bump_fsfw into develop
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
Reviewed-on: #480
2023-03-14 18:34:45 +01:00
bbb8dd7a8a bump fsfw
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-14 18:34:23 +01:00
8fa2d0be0b Merge branch 'develop' into feature_scheduling_tweaks
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 18:33:33 +01:00
af1d03f53f Merge pull request 'bump fsfw, tmtc and allow spilling for pools' (#479) from feature_stores_allow_spilling into develop
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
Reviewed-on: #479
2023-03-14 18:30:32 +01:00
8a6d292a48 bump fsfw, tmtc and allow spilling for pools
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-14 18:29:21 +01:00
017171f221 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 17:22:59 +01:00
f2210010de prevent event spam and add action command to restore automatic recovery
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 17:19:50 +01:00
52ec5093bc Merge pull request 'new subsystem.csv' (#478) from update_generators_subsystem_csvs into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #478
2023-03-14 17:12:44 +01:00
77e39f3a92 new subsystem.csv
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-14 17:12:05 +01:00
af59a4e5d5 Merge pull request 'cfg set subscription' (#476) from bpx_batt_cfg_set into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #476
2023-03-14 16:53:09 +01:00
dc1047b7f9 Merge branch 'develop' into bpx_batt_cfg_set 2023-03-14 16:53:00 +01:00
e27b0875e0 Merge pull request 'bump fsfw' (#477) from bump_fsfw_datapool_manager into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #477
2023-03-14 16:52:40 +01:00
0d46349caa bump fsfw
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
EIVE/eive-obsw/pipeline/head Build started...
2023-03-14 16:52:03 +01:00
1d935d46e7 afmt
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 16:44:47 +01:00
8dd350e8dd cfg set subscription
Some checks failed
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 16:43:41 +01:00
07394ddfc9 Merge remote-tracking branch 'origin/develop' into feature_scheduling_tweaks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 15:35:52 +01:00
a51a680396 Merge remote-tracking branch 'origin/develop' into thermal_controller
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 15:34:25 +01:00
551a4fe00f Merge pull request 'best PR' (#475) from bump_fsfwgen_retval_now_ordered into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #475
2023-03-14 15:32:23 +01:00
306fe7a2d9 best PR
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-14 15:30:26 +01:00
9c300298b7 missing code
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 15:26:39 +01:00
dcbf1502a2 boot sequence EIVE sys
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 15:08:56 +01:00
f8c9ddbc3c changelog
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 14:48:12 +01:00
74fa81d8f6 boot sequence
Some checks failed
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 14:44:32 +01:00
d3bf70243b Merge remote-tracking branch 'origin/develop' into thermal_controller
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 14:25:35 +01:00
4429dd1be9 Merge pull request 'bump tmtc and retval csv' (#473) from bump_tmtc into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #473
2023-03-14 14:23:16 +01:00
d15db7668d bump tmtc and retval csv
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-14 14:22:24 +01:00
66b38fa294 Merge branch 'develop' into acs-ctrl-finite-check
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 14:19:30 +01:00
4392598a67 Merge remote-tracking branch 'origin/develop' into thermal_controller
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 14:16:59 +01:00
7ce881debc Merge pull request 'Parameter for MEKF invalid Event Timer' (#469) from mekf-invalid-violation-parameter into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #469
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
2023-03-14 14:13:20 +01:00
90d00b44ee nothing to see here
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-14 14:12:55 +01:00
7d6c6f03ef Merge branch 'develop' into mekf-invalid-violation-parameter
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-14 14:07:22 +01:00
b7abab1114 Merge pull request 'store more TCP/IP packets' (#472) from tweak_store_more_tcpip_packets into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #472
2023-03-14 14:06:43 +01:00
fe9c8c50f2 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-14 14:06:33 +01:00
9af43cb93b store more TCP/IP packets
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-14 14:05:41 +01:00
6e049f3ee1 changelog update
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 14:03:27 +01:00
157e7d2b4d Merge remote-tracking branch 'origin/develop' into feature_scheduling_tweaks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 14:01:55 +01:00
882fb02600 Merge remote-tracking branch 'origin/develop' into refactoring_bugfixes_power_switching
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 13:56:54 +01:00
6688499128 power updates
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 13:56:19 +01:00
038a529b06 Merge branch 'develop' into acs-ctrl-finite-check
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 13:40:26 +01:00
70806cffff Merge branch 'develop' into mekf-invalid-violation-parameter
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 13:37:08 +01:00
e03e35ab77 Merge pull request 'Fixes and Updates for EM build' (#468) from bugfixes_em_build into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #468
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-03-14 13:35:06 +01:00
ee08adb525 Merge branch 'develop' into bugfixes_em_build
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-14 13:34:49 +01:00
c9e16642c5 refactor power code
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 13:32:13 +01:00
143d787f60 Merge branch 'develop' into mekf-invalid-violation-parameter
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 13:22:11 +01:00
4664a9f4e7 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 13:19:48 +01:00
3a56297a83 mekfViolationTimer as parameter
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
2023-03-14 13:15:48 +01:00
1f9935cf22 tweak scheduling frequencies
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 13:12:42 +01:00
b43e1ef4e9 Merge pull request 'PLOC commands' (#462) from meier/ploc-commands into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #462
2023-03-14 13:08:45 +01:00
a83adb148e Merge remote-tracking branch 'origin/develop' into meier/ploc-commands
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-14 13:08:35 +01:00
4a386ae641 bump tmtc
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-14 13:08:22 +01:00
b59a84b3d5 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 13:07:22 +01:00
a0fda428bf update changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 13:04:56 +01:00
870cc1da10 now it works
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 11:44:51 +01:00
cd5061fe0f Merge remote-tracking branch 'origin/develop' into bugfixes_em_build
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 11:37:41 +01:00
1981c4f70a always schedule PL components
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 11:33:14 +01:00
192c7c6f31 payload mode announce
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 11:21:37 +01:00
a1f6143b92 almost reaching EIVE syste mmode for EM
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-14 10:54:44 +01:00
ee3926fe2a Merge branch 'develop' into acs-ctrl-finite-check
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-14 09:23:46 +01:00
853215e0dd always add TCS CTRL now
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-13 18:37:07 +01:00
e7811ebd0c make system components work for EM
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-13 18:29:22 +01:00
b4b6363337 Merge pull request 'syrlinks task name fix' (#464) from tweak_task_name_fix into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #464
2023-03-13 18:27:51 +01:00
090ef88030 EM obj factory fixes
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-13 17:53:02 +01:00
26a9dce0a0 basic implementation for passive cooling
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-13 17:36:41 +01:00
f358719778 added event in case of safe mode controller failure
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-13 16:33:48 +01:00
4d74c8ec43 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-13 16:24:13 +01:00
e77766ae59 reset the MEKF in case its results are not finite
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-13 16:14:32 +01:00
9d1d62aee0 bump fsfw
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-13 16:02:24 +01:00
bf2d97bd60 continue thermal controller overheating
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-13 15:59:19 +01:00
79bd349ac7 added finite check for MEKF
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-13 15:58:48 +01:00
63f45ec27e added finite checks for vectors and matrices
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-13 15:39:43 +01:00
9cdc932ad8 also reset propagatedQuaternion
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-13 15:36:46 +01:00
721a01409e Merge branch 'thermal_controller' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into thermal_controller
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-13 13:28:02 +01:00
a0d6552781 . 2023-03-13 13:27:36 +01:00
c709b2a526 Merge branch 'develop' into thermal_controller
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-13 13:01:31 +01:00
5793d73ff6 printouts
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-13 12:53:40 +01:00
977235df87 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-13 11:36:10 +01:00
84adbeda38 syrlinks task name fix
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-13 11:34:51 +01:00
f5b5fcd7ff Merge pull request 'command to execute shell command' (#460) from feature_add_cmd_to_execute_shell_cmd into develop
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
Reviewed-on: #460
Reviewed-by: mkranz <kranzm@irs.uni-stuttgart.de>
2023-03-13 11:11:16 +01:00
ace01e2742 afmt
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-13 11:05:21 +01:00
b14038e29c re-point fsfw
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-13 11:04:49 +01:00
f115e6ca33 Merge remote-tracking branch 'origin/develop' into meier/ploc-commands
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-13 11:04:09 +01:00
bfd2ed5b6e Merge remote-tracking branch 'origin/develop' into feature_add_cmd_to_execute_shell_cmd
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-13 10:58:20 +01:00
fde644cdbf Merge pull request 'Some ACS bugfixes' (#459) from acs-ctrl-bugfixes into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #459
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
2023-03-13 10:27:05 +01:00
f71fe274f4 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-13 10:05:54 +01:00
b1fa3fd016 fixed max speed limitation done before calculation to right unit scale 2023-03-13 10:03:40 +01:00
eb66d7585c fixed ptgCtrl after acs submode to mode changes 2023-03-13 10:01:08 +01:00
f62b312d3c add i2c fatal error counter 2023-03-13 09:49:35 +01:00
a83136515c command to execute shell command
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-12 20:51:33 +01:00
569fdfef6e Merge pull request 'prep v1.37.0' (#458) from prep_v1.37.0 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #458
2023-03-11 15:26:38 +01:00
eb861c9f01 bump eive-tmtc to v2.18.1 2023-03-11 15:24:43 +01:00
7fd2fbc481 prep v1.37.0
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-11 15:09:31 +01:00
58a5ede270 Merge pull request 'Refactor TM handling' (#450) from refactor_tm_handling into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #450
2023-03-11 15:05:21 +01:00
08ca196c74 Merge remote-tracking branch 'origin/develop' into refactor_tm_handling
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-11 15:01:46 +01:00
16ea033fd2 re-generate files 2023-03-11 15:01:38 +01:00
a4e6d877ff this is more useful information 2023-03-11 14:59:55 +01:00
baf69fac44 Merge pull request 'Fix for GYR Bias Removal' (#457) from gyr-bias-fix into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #457
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
2023-03-11 14:44:49 +01:00
0f7fd39d72 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-11 10:22:21 +01:00
9892938601 fixed bias substraction 2023-03-11 10:21:09 +01:00
97698a08d5 tweak events.. comntinue later
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 21:13:11 +01:00
b603554a80 new events
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 21:01:32 +01:00
bbd27eca76 basic FDIR if dump takes too long
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 20:32:11 +01:00
f9c03af538 logic errors
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 20:13:36 +01:00
68ed3fa232 tweak priorities
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 19:42:36 +01:00
8c450596f6 Merge remote-tracking branch 'origin/develop' into refactor_tm_handling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 19:35:45 +01:00
5ea2767662 bugfixes for iterator handling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 19:34:32 +01:00
b4129950cf Merge pull request 'ACS Ctrl Bug Bash' (#439) from acs-bug-bash into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #439
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
2023-03-10 19:21:18 +01:00
939d7fd98e Merge remote-tracking branch 'origin/develop' into refactor_tm_handling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 19:14:48 +01:00
c47a7338db Merge branch 'develop' into acs-bug-bash
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-10 19:13:50 +01:00
1048456a5b Merge pull request 'fix for unittest' (#456) from fix_unittest into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #456
2023-03-10 19:13:40 +01:00
2a84ebba57 fix for unittest
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-10 19:13:01 +01:00
9413f723cf re-run generators
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 19:06:52 +01:00
4257e1d918 events when dump is done
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 19:01:31 +01:00
127a8e6124 iterator was not incremented
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 18:27:10 +01:00
5f9e0bf80a tweaks and CHANGELOG
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 18:17:04 +01:00
976235a79f check busy state
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 18:04:04 +01:00
b6d18ef4d2 changelog fix
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 17:41:18 +01:00
7b3393c5b2 Merge branch 'develop' into acs-bug-bash 2023-03-10 17:38:29 +01:00
3c0b8f9e8b better error handling
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 17:34:52 +01:00
4e8e85f450 some bugfixes
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 17:32:22 +01:00
342ff62837 fixed rw torque scaling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 17:31:12 +01:00
bce8df376a changed antistiction 2023-03-10 17:21:52 +01:00
97b4db10bf remove TODO
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 16:49:53 +01:00
e0024e738e dedicated store for RAM to FileStore IPC
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 16:49:12 +01:00
879bce4f76 further increase store size
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 16:22:46 +01:00
49d060d20e bump tmtc
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 15:37:34 +01:00
2e6962c29c Merge remote-tracking branch 'origin/develop' into refactor_tm_handling 2023-03-10 15:37:03 +01:00
afd704650f Merge pull request 'Move acs event handling to system' (#448) from feature_move_acs_event_handling_to_system into develop
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
Reviewed-on: #448
2023-03-10 15:36:35 +01:00
bc0f1cad7b re-generate csvs 2023-03-10 15:36:24 +01:00
04541b4a19 revert change
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-10 15:35:17 +01:00
4a386ad3d1 simplification
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 15:21:36 +01:00
6452242f2f fix merge conflict properly
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 15:06:05 +01:00
79abd05820 Merge remote-tracking branch 'origin/develop' into feature_move_acs_event_handling_to_system
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 15:05:11 +01:00
793d6feaaa Merge remote-tracking branch 'origin/develop' into feature_move_acs_event_handling_to_system
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 15:03:55 +01:00
8b6a03a3ab Merge pull request 'ACS Modes Refactoring' (#455) from acs-modes-refactoring into develop
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
Reviewed-on: #455
2023-03-10 15:02:25 +01:00
b6fc9d65b7 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-10 15:01:59 +01:00
2e431668dd larger event queues now
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-10 14:59:52 +01:00
37a32bb6e9 bump deps
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 14:37:02 +01:00
2f4f7f088e add missing break
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 13:58:50 +01:00
0b09816b4a bump tmtc
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 13:37:31 +01:00
c85c2cf4b6 this should be it for OBSW
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 13:17:46 +01:00
c80426309d fixed automatic switch between safe and detumble
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 12:50:18 +01:00
ba0bc1b98b anounce mode changes
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 12:46:26 +01:00
170976566b acsCtrl does not allow ON or NORMAL anymore
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 12:11:10 +01:00
b1c4241b03 changed perform operation
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 11:55:18 +01:00
555e0ce49d changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 11:39:31 +01:00
cb8a49775d added protection to not command rwSpeeds larger than the allowed speed range
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 11:37:04 +01:00
ac6031364e Merge remote-tracking branch 'origin/develop' into refactor_tm_handling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 11:37:02 +01:00
98ba4a0449 Merge pull request 'Improve SD card manager' (#454) from improve_sd_card_manager into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #454
2023-03-10 11:36:36 +01:00
68c728cbdb Merge remote-tracking branch 'origin/develop' into improve_sd_card_manager
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 11:19:29 +01:00
340b600599 Merge pull request 'Request MGM measurement twice' (#453) from smaller_tweaks into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #453
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-03-10 11:18:38 +01:00
3caa9dea75 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 11:18:34 +01:00
86e48eea6d changelog update
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-10 11:16:02 +01:00
cca8734908 add it at actuate step as well
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-10 11:15:08 +01:00
a9b514ddc8 solved in different PR
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-10 11:12:44 +01:00
9a30ae5175 who knows what that todo was good for
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 10:30:01 +01:00
75a80b55ec changelog 2023-03-10 10:29:27 +01:00
e4efd42234 fixed idle mode param commands changing target mode params 2023-03-10 10:28:31 +01:00
0dbd6b703d small fixes
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 09:44:30 +01:00
b6477e099d Merge branch 'develop' into acs-bug-bash
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-10 09:26:50 +01:00
f3c3e8a443 corrected vector length to 1 2023-03-10 09:17:19 +01:00
357c01343c Merge branch 'improve_sd_card_manager' into refactor_tm_handling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 02:45:34 +01:00
677a3f95bd always update sd state file in blocking manner
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-10 02:45:21 +01:00
64fd7fb37d Merge branch 'improve_sd_card_manager' into refactor_tm_handling 2023-03-10 02:29:44 +01:00
fae83a0fca this should avoid lock issues al together 2023-03-10 02:29:28 +01:00
8b26d13070 the sd stuff is evil.. 2023-03-10 02:05:51 +01:00
55bd87abb6 smaller tweaks
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-09 23:33:53 +01:00
c8fe1b1359 slightly longer idle delays for store tasks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-09 22:11:43 +01:00
38907fc0f5 Merge pull request 'set initial mode for system' (#452) from bugfix_set_initial_mode into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #452
2023-03-09 21:14:45 +01:00
f8d432f6eb initial mode is off now
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-09 20:55:28 +01:00
dd8b6ced8f set initial mode
Some checks failed
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-09 20:51:22 +01:00
9cb7cefb85 format
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-09 20:50:54 +01:00
2374dea493 return whether file was swapped
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-09 20:44:55 +01:00
00e04e8b77 fix host build, fix in filter helper
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-09 20:38:50 +01:00
df3fa17017 remove some more code
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-09 20:31:19 +01:00
cb71b8cfb2 schedule the new components
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-09 20:25:43 +01:00
fd943a99b6 remove old code
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-09 20:18:19 +01:00
d50cbe9e5b added missing store initialization code
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-09 20:16:00 +01:00
e6aa582fcb link live TM
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-09 19:52:13 +01:00
245116403a remove obsolete code
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-09 19:45:23 +01:00
3ebcbaa44f added fixed entry
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-09 19:44:24 +01:00
1dee29aabd changelog typo
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-09 19:43:38 +01:00
9d5f846658 Merge remote-tracking branch 'origin/develop' into refactor_tm_handling
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-09 19:43:05 +01:00
b2fd2f5d83 now only scheduling is left
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-09 19:42:20 +01:00
96865c1dd2 continue TM handling refactoring
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-09 17:44:05 +01:00
42779e6ace Merge pull request 'Bugfix Heater Name' (#451) from bugfix_heater_name into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #451
2023-03-09 16:58:12 +01:00
c63b13fc40 overheating
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-09 16:53:48 +01:00
9f9b1e440a changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-09 16:52:47 +01:00
ac2c4c7abc heater name bugfix
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-09 16:43:35 +01:00
224a3af6f8 Merge remote-tracking branch 'origin/develop' into thermal_controller 2023-03-09 16:09:01 +01:00
eb61996f91 Persistent Tm Store now has dump state
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-09 13:15:42 +01:00
49e3002abc what is the IDE doing..
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-03-09 12:20:13 +01:00
e5636f0b6c continue rework
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-03-09 11:46:13 +01:00
131c508cae position heaterTransitionControl()
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-09 09:37:10 +01:00
21899d663e start groundwork for new TM downlink arch 2023-03-09 01:32:27 +01:00
c1b43bb504 bump deps 2023-03-08 22:34:30 +01:00
087db386d7 Merge pull request 'prep v1.36.0' (#449) from prep_v1.36.0 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #449
2023-03-08 19:23:45 +01:00
2f5f47a02c tmtc bump
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-08 19:20:18 +01:00
8821cc1079 prep v1.36.0
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-08 19:17:24 +01:00
14cea6369a Merge pull request 'add health handling for TCS ASSY' (#436) from bugfix_tcs_brd_assy into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #436
2023-03-08 19:12:34 +01:00
0a37db617b tmtc update
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-08 19:12:10 +01:00
101117cebe small fix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-08 19:06:48 +01:00
4863dad1cd changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-08 18:59:22 +01:00
1154c0e887 move acs event handling to system
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-08 18:56:27 +01:00
c6289e27ae Merge remote-tracking branch 'origin/develop' into bugfix_tcs_brd_assy
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-08 18:54:52 +01:00
6538005a30 Merge pull request 'Feature: STR Assembly' (#437) from feature_str_assy into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #437
2023-03-08 18:13:33 +01:00
fa5883bdf3 this contains a bit more now
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-08 18:12:37 +01:00
b261a4ecfa works
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-08 18:09:50 +01:00
a6dfe02128 regenerate csvs
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-08 16:45:21 +01:00
bcd31c9248 wrong object ID
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-08 16:42:30 +01:00
bf73f2ff04 Merge remote-tracking branch 'origin/develop' into feature_str_assy
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-08 16:34:35 +01:00
7a62624687 changes
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-08 15:56:05 +01:00
b2a8c5d7ec Merge pull request 'avoid exceptions' (#447) from bugfix_create_dir_no_exceptions into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #447
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-03-08 15:07:56 +01:00
2dd97a55f8 fixes
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-08 14:59:50 +01:00
ccf03b131b avoid exceptions
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-08 14:50:25 +01:00
337717d271 Merge branch 'thermal_controller' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into thermal_controller
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-08 14:35:04 +01:00
c48268ffa9 Merge remote-tracking branch 'origin/develop' into feature_str_assy
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-08 13:28:01 +01:00
97a78fc4c9 Merge remote-tracking branch 'origin/develop' into bugfix_tcs_brd_assy
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-08 13:26:27 +01:00
0bdc6d3d7c Merge pull request 'now fix loss should always be detected and reported' (#445) from bugfix_gps_fix_logic into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #445
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-03-08 13:23:45 +01:00
66583e8009 Merge branch 'develop' into bugfix_gps_fix_logic
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-08 13:21:57 +01:00
c0f01a75e4 Merge pull request 'Feature: Reboot events' (#446) from feature_reboot_events into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #446
2023-03-08 13:21:47 +01:00
6a15aa14a2 changelog and new action cmd
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-08 11:37:11 +01:00
11e9d71775 add new reboot events 2023-03-08 11:31:04 +01:00
d30bab7bc0 Merge remote-tracking branch 'origin/develop' into feature_str_assy
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-08 11:13:02 +01:00
a366ef0960 Merge remote-tracking branch 'origin/develop' into bugfix_gps_fix_logic
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-08 11:11:34 +01:00
930f7a5233 Merge pull request 'Star Tracker : Tweaks and fixes' (#443) from startracker_try_cfg_time_reduction into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #443
2023-03-08 01:26:03 +01:00
68f4323d14 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-08 01:24:41 +01:00
01e97c8381 OFF -> NORMAL transition works now 2023-03-08 01:21:18 +01:00
1b73e7de7d Merge remote-tracking branch 'origin/develop' into startracker_try_cfg_time_reduction
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-08 00:10:17 +01:00
8759f86889 Merge pull request 'lets hope this fixes the occasional error' (#444) from optimize_lock_handling into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #444
2023-03-08 00:09:34 +01:00
a2d5138c71 Merge branch 'develop' into optimize_lock_handling
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-08 00:09:25 +01:00
f5c4e2b788 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 21:07:58 +01:00
af1c18e8cf now fix loss should always be detected and reported
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 21:02:59 +01:00
c562c4a240 lets hope this fixes the occasional error
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 19:35:46 +01:00
45e1e7250b small comment
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 19:13:22 +01:00
70e2a3f5f8 bump arcsec str
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 19:02:19 +01:00
e6a5847e9c Merge pull request 'use flight config for FM' (#442) from str_ground_config_off_for_fm into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #442
2023-03-07 18:55:32 +01:00
72ae6aee94 changelog update
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-07 18:55:11 +01:00
25e5f8d2a4 Merge branch 'str_ground_config_off_for_fm' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into str_ground_config_off_for_fm
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-07 18:54:37 +01:00
0f25f95307 Merge remote-tracking branch 'origin/develop' into str_ground_config_off_for_fm 2023-03-07 18:54:32 +01:00
af5d4e12c5 Merge branch 'develop' into str_ground_config_off_for_fm
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-07 18:54:07 +01:00
fd62efcae2 move json init somewhere else
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 18:47:16 +01:00
1b00029202 move those json thingies into the header 2023-03-07 18:16:35 +01:00
72174c76cd Merge pull request 'ACS system updates' (#441) from update_fsfw_submode_mask into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #441
2023-03-07 17:23:04 +01:00
7476f33905 bump tmtc and fsfw
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-07 17:22:08 +01:00
e48d080673 small tweak
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 17:08:33 +01:00
888ade0bfb bump fsfw
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 17:05:34 +01:00
a2fd590280 bump fsfw for possible bugfix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 16:29:19 +01:00
23c9e8eed7 remove old code
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 16:18:24 +01:00
1f8f62457d remove stopwatch
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 16:10:17 +01:00
cb43688f38 higher SD card lock timeout
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 16:09:44 +01:00
f84e7e42d6 Merge remote-tracking branch 'origin/develop' into update_fsfw_submode_mask
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 16:05:42 +01:00
51317782c3 small bugfix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 16:03:47 +01:00
97bb255d53 Merge pull request 'Persistent TM store: Always create new file' (#440) from feature_always_create_new_active_file into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #440
2023-03-07 15:36:58 +01:00
97888953ec Merge remote-tracking branch 'origin/develop' into feature_always_create_new_active_file
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-07 15:36:40 +01:00
112cfa3ee7 changelog update
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-07 15:34:34 +01:00
5de7653600 TM store bugfixes
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-07 15:34:08 +01:00
bf7e4b4b8c changelog
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-07 14:20:42 +01:00
5b0db43e0f changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 14:15:33 +01:00
72ab4b1a24 fixed naming collision with file for solar deployment
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 14:13:17 +01:00
1cc39bb6d7 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 13:57:45 +01:00
e3389c32a7 API change setInheritSubmode
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-03-07 13:56:51 +01:00
fd405e61a4 fixed scaling of mtq dipole commands 2023-03-07 13:55:00 +01:00
903c0c8258 fixed gpsDataProcessed dataSet size
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 11:25:06 +01:00
82966eed31 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 11:13:00 +01:00
fd436dbe8b added fdir for unrealistic gps altitudes
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 11:10:47 +01:00
d8a07312f2 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 10:36:00 +01:00
58db0d7184 Merge remote-tracking branch 'origin/develop' into bugfix_tcs_brd_assy
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 10:16:49 +01:00
5218202824 bump tmtc 2023-03-07 10:16:32 +01:00
bd295d5b52 detumbleCounter doesnt hard reset anymore
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 10:12:52 +01:00
faf4937e76 fixed detumbleCtrl magField and magRate units 2023-03-07 10:11:12 +01:00
ba0e07b5c6 merge aftermath 2023-03-07 10:04:04 +01:00
37673a2782 Merge branch 'develop' into acs-bug-bash
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-07 09:54:53 +01:00
c169229107 Merge remote-tracking branch 'origin/develop' into feature_str_assy
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 09:50:52 +01:00
d2daa89d89 Merge pull request 'Decrease of Transmitter Timeout' (#438) from meier/transmitter-timeout-decrease into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #438
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
2023-03-07 09:49:50 +01:00
ca7fbcf6a9 reduced transmitter timeout to 2 minutes
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-07 07:26:09 +01:00
db2905c834 order bugfix for TCS subsystem
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 17:59:28 +01:00
2ccd2a832c tricky
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 17:34:04 +01:00
892d2f5939 use flight config for FM
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-06 16:52:58 +01:00
cee56f6d02 changelog update
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 15:58:19 +01:00
3016683db3 ctor fix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 15:57:43 +01:00
f66777a23c changelog
Some checks failed
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-06 15:56:37 +01:00
e38b39b3b2 command STR_ASSY instead of handler
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-06 15:55:12 +01:00
4e9646fe10 add STR assy
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-03-06 15:51:53 +01:00
ca6556c000 add health handling for TCS ASSY
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 15:41:56 +01:00
6aae94823e Merge pull request 'prep v1.35.1' (#435) from prep_v1.35.1 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #435
2023-03-06 14:50:46 +01:00
0dc26ec8b2 prep v1.35.1
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 14:42:23 +01:00
3b5ecb43cc Merge pull request 'Health handling for ACS brd assy' (#415) from bugfix_acs_brd_ass into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #415
2023-03-06 14:36:19 +01:00
e7a1c9f402 some tweaks for acs brd devs
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 14:25:26 +01:00
ff9a5fc1bf Merge remote-tracking branch 'origin/develop' into bugfix_acs_brd_ass
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 14:04:32 +01:00
2fcba4028c Merge pull request 'some more tweaks and fixes' (#434) from feature_imtq_assy into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #434
2023-03-06 14:02:32 +01:00
85d0ac92da some more tweaks and fixes
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
2023-03-06 14:02:03 +01:00
b3a14e9a9b Merge pull request 'IMTQ Assembly' (#420) from feature_imtq_assy into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #420
2023-03-06 13:57:41 +01:00
bf61724374 bump tmtc
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 13:09:44 +01:00
8c9424f02b bump tmtc
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 12:04:06 +01:00
350b892bb7 initialize mode table
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 11:46:37 +01:00
586f04e488 add imtq assy object
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 11:39:14 +01:00
1f7ab7c2ce Merge remote-tracking branch 'origin/develop' into feature_imtq_assy
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 11:35:12 +01:00
9d8991491a Merge pull request 'Watchdog Bugfixes' (#432) from bugfix_watchdog_init into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #432
2023-03-06 11:34:38 +01:00
b64cc8f404 Merge branch 'develop' into bugfix_watchdog_init
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-06 11:34:27 +01:00
acae88c67c Merge pull request 'More buffer time' (#433) from bugfix_imtq_timing into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #433
2023-03-06 11:33:39 +01:00
4fa5aa6b84 remove printout and re-polling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 11:28:25 +01:00
b48a6e2318 24 ms it takes..
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 11:11:35 +01:00
193ed01bce fix printouts
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 11:06:38 +01:00
d18a0e98a5 why do we need so much buffer time?
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 11:02:56 +01:00
6e10ccd2d6 More buffer time
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 09:17:03 +01:00
3b61697615 refactored FIFO handling
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-06 00:55:12 +01:00
f82cc2aeda probably contains app name as well
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-05 20:06:06 +01:00
0b2aff56e5 remove non-generic function
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-05 20:05:37 +01:00
7f141aa1e8 Merge remote-tracking branch 'origin/develop' into bugfix_acs_brd_ass
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-05 16:22:10 +01:00
c8d09debf7 Merge remote-tracking branch 'origin/develop' into feature_imtq_assy
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-05 16:20:53 +01:00
9c77703ada Merge branch 'develop' into thermal_controller
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-05 16:19:59 +01:00
718d067b40 small 2023-03-05 13:27:42 +01:00
37b540fd48 switch
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
Transition
2023-03-05 13:05:32 +01:00
1938addaa8 Merge pull request 'v1.35.0' (#431) from prep_next_release into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #431
2023-03-04 17:17:05 +01:00
e6b5ee65f3 prep v1.35.0
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-04 17:19:36 +01:00
4d6ccaeb4b changelog update 2023-03-04 17:12:56 +01:00
3003a4c4d1 Merge pull request 'IMTQ Commanding Fix' (#430) from imtq-cmd-fix into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #430
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
2023-03-04 17:07:06 +01:00
f96fbf707d PR in changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-04 17:09:51 +01:00
80115640ba changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-04 17:09:24 +01:00
4c1b79fd66 that was an evil bug
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-04 17:06:23 +01:00
c8a2395d61 a lot of bugfixes for IMTQ
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-04 14:32:18 +01:00
f6f3f17505 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-04 12:01:15 +01:00
300f3230d1 bump fsfw 2023-03-04 12:00:38 +01:00
c71a1a29f3 Merge branch 'develop' into imtq-cmd-fix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-04 10:46:02 +01:00
cfbc53792d Merge pull request 'Watchdog Extension' (#404) from feature_watchdog_extension into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #404
Reviewed-by: Jakob Meier <meierj@irs.uni-stuttgart.de>
2023-03-04 10:45:48 +01:00
5b5489c8da Merge branch 'develop' into feature_watchdog_extension
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-04 10:45:37 +01:00
773e1c9ecc fixed UB on startup
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-04 10:33:47 +01:00
f041655378 use dipoleSet or overwrite it in case of external command
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-04 10:15:51 +01:00
206c29bb25 changelog entry
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-03 17:06:32 +01:00
e8da0885eb Merge remote-tracking branch 'origin/develop' into bugfix_acs_brd_ass 2023-03-03 17:05:49 +01:00
f209ac6b2d Merge remote-tracking branch 'origin/develop' into feature_imtq_assy
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-03 17:03:55 +01:00
b20266f153 Merge pull request 'v1.34.0' (#429) from prep_v1.34.0 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #429
2023-03-03 16:50:10 +01:00
e6b0b4048c changelog eive-tmtc version
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
2023-03-03 16:52:38 +01:00
982db82ddb bump tmtc
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-03 16:52:10 +01:00
0d175951ec some missing changelog entries
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-03 16:49:21 +01:00
3b383b98df prep v1.34.0 2023-03-03 16:45:25 +01:00
41f1eaec44 Merge pull request 'hotfixees' (#428) from hotfixees into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #428
2023-03-03 16:03:55 +01:00
05be170890 hotfixees
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-03 16:06:38 +01:00
1e4766ddfc Merge pull request 'lockfix' (#427) from hotfix_acs_brd_polling into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #427
2023-03-03 15:36:45 +01:00
8720dacb7f Merge branch 'develop' into hotfix_acs_brd_polling
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-03 15:36:35 +01:00
39bf9f9b5b Merge pull request 'Possible Bugfix: Use system clock in Countdown' (#426) from bugfix_countdown_uses_sysclock into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #426
2023-03-03 15:31:29 +01:00
2165f34a28 Merge remote-tracking branch 'origin/develop' into bugfix_countdown_uses_sysclock
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-03 15:30:18 +01:00
70e1d41a08 Merge pull request 'rework lock handling in rtd handler' (#424) from tweaks_rtd_locks into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #424
2023-03-03 15:21:57 +01:00
3b0490835c Merge branch 'develop' into tweaks_rtd_locks 2023-03-03 15:21:46 +01:00
6c7d1e674c Merge pull request 'Smaller lock tweaks' (#423) from smaller_lock_tweaks into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #423
2023-03-03 15:21:35 +01:00
cc3bcdfaeb Merge branch 'develop' into smaller_lock_tweaks
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-03 15:21:24 +01:00
26f9c499d8 Merge pull request 'acs hotfix v2' (#425) from acs-hotfix-the-second into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #425
2023-03-03 15:20:59 +01:00
59e165be4f lockfix
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-03 15:10:52 +01:00
53133573e1 measurement base code and comment
Some checks are pending
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-03 14:58:03 +01:00
7a7f25a638 lets see if this fixes issues
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-03 14:36:52 +01:00
ec2ec32af4 actually use the stuff i wrote
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-03 11:56:31 +01:00
fcba76b7f1 rework lock handling in rtd handler
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-03 11:43:47 +01:00
60afb573a0 comment
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-03 11:06:30 +01:00
ff50203fbb smaller lock tweaks
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-03 11:04:08 +01:00
da72b3a96a Merge pull request 'fixed that mgm value was overwritten in wrong unit' (#422) from acs-mgm-vector-hotfix into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #422
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
2023-03-03 10:53:12 +01:00
1cf3fbaabe fixed that mgm value was overwritten in wrong unit
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-03 10:51:12 +01:00
245b5dfcc6 Merge pull request 'Rework Lock Handling' (#419) from rework_lock_handling into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #419
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-03-03 09:13:32 +01:00
04e3d2486d Merge remote-tracking branch 'origin/develop' into feature_imtq_assy
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 18:40:11 +01:00
c4ef164f41 Merge branch 'develop' into rework_lock_handling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 18:29:45 +01:00
39bb90eb61 Merge pull request 'Fixed units in ACS Control Laws Safe and Detumble' (#421) from acs-units-fix into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #421
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
2023-03-02 18:28:39 +01:00
7a4a42c692 Merge branch 'develop' into acs-units-fix
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-02 18:28:24 +01:00
21ed43614e Merge pull request 'Health handling for SUS assy' (#418) from bugfix_sus_brd_assy into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #418
2023-03-02 18:26:55 +01:00
7288a5edbd go to off immediately
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-02 18:27:27 +01:00
d55daebabf Merge remote-tracking branch 'origin/develop' into bugfix_sus_brd_assy
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 18:04:29 +01:00
ca22904d32 Merge branch 'develop' into acs-units-fix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 17:57:34 +01:00
4ec362d849 afmt
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 17:56:10 +01:00
00834de1b7 printout tweak, bump tmtc
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 17:55:47 +01:00
3ade660132 changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 17:53:59 +01:00
3e2338f3a4 fixed units used in controler calculations 2023-03-02 17:52:36 +01:00
79d27ff9e3 Merge pull request 'Syrlinks Assembly' (#414) from feature_syrlinks_assembly into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #414
2023-03-02 17:45:42 +01:00
d13e593f89 more useful printout
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 17:35:36 +01:00
35caddbfc4 handle children lost mode
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 17:27:47 +01:00
196aca241e add missing command table init
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 17:25:32 +01:00
6530ad8f1a re-gen objects
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 17:08:44 +01:00
34807c94ba use IMTQ assy in acs mode tree
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 16:18:44 +01:00
0919acf2d5 changelog update
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 16:14:06 +01:00
69ea16c36d schedule IMTQ assy
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 16:09:49 +01:00
e2cb88da0e imtq assy added
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-02 16:08:31 +01:00
f2ffb12219 imtq assy init 2023-03-02 16:01:36 +01:00
25dfb54be0 bump changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 15:44:07 +01:00
f43a93842e max31865 lock improvements
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 15:41:49 +01:00
ad4ab98356 lock context for sd card manager
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-02 15:41:09 +01:00
7b571bc007 refactore more lock handling
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-02 15:38:20 +01:00
dfb1e88f55 lockslockslocks
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-02 15:32:12 +01:00
7b539e2fa5 rework lock handling
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-02 15:22:21 +01:00
4b37a19644 try to use more locks with timeouts
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-03-02 15:21:45 +01:00
718a440442 changelog update
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 15:05:12 +01:00
7e33ec16e4 Merge remote-tracking branch 'origin/develop' into feature_syrlinks_assembly
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 15:04:30 +01:00
26d8e852dc actually call the function
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 15:02:02 +01:00
0fc17624f3 sus brd assy health handling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 14:59:27 +01:00
74ffbf1dcd Merge remote-tracking branch 'origin/develop' into bugfix_acs_brd_ass
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 14:55:00 +01:00
b5049fa8d0 Merge pull request 'allow quicker startup' (#411) from feature_allow_quicker_transition into develop
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #411
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-03-02 14:46:15 +01:00
652326443b Merge branch 'develop' into feature_allow_quicker_transition
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-02 14:45:29 +01:00
d4b7c6493a Merge pull request 'CHANGELOG and tmtc' (#417) from bugfixes_acs_polling into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #417
2023-03-02 14:45:17 +01:00
4aa6ed4de4 Merge branch 'develop' into bugfixes_acs_polling
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-02 14:45:08 +01:00
9067c4180e bump tmtc
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
2023-03-02 14:48:00 +01:00
0056ebcb62 bump changelog
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
2023-03-02 14:46:20 +01:00
a2485a2195 Merge branch 'develop' into feature_allow_quicker_transition
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-02 14:44:12 +01:00
eaa0fc6cbe bump changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 14:43:50 +01:00
14188a4f3b bugfixes imtq
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-02 14:42:42 +01:00
eee92baa6e Merge pull request 'Set MGM3100 set valid and IMTQ handler bugfix' (#416) from bugfixes_acs_polling into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #416
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-03-02 14:41:39 +01:00
6104bf7adb set MGM3100 set valid
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 13:39:29 +01:00
e52c909580 health handling for ACS brd assy
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 13:32:02 +01:00
5f17b1f6e8 allow recovery for syrlinks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 11:36:35 +01:00
90175e5c9d add health handling
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-02 11:27:19 +01:00
7a8816e49a Merge remote-tracking branch 'origin/develop' into feature_watchdog_extension
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 10:18:00 +01:00
c4cd6332f8 Merge remote-tracking branch 'origin/develop' into feature_syrlinks_assembly
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-02 10:15:08 +01:00
8ff70462cb Merge branch 'develop' into feature_allow_quicker_transition
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-02 10:10:23 +01:00
2e9de68e17 Merge pull request 'all SPI sched in now in same PST' (#413) from rework_all_spi_sched_in_pst into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #413
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-03-02 09:00:07 +01:00
8ad1daa11f changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-03-02 09:02:49 +01:00
4a820fba55 all SPI sched in now in same PST
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-01 23:17:33 +01:00
36f820a07a going from dual to other submode requires special power handling
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-01 20:18:41 +01:00
73c594a930 this is going to be tricky 2023-03-01 20:12:48 +01:00
d045498761 allow quicker transition
Some checks are pending
EIVE/eive-obsw/pipeline/head Build queued...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-01 19:03:18 +01:00
0a7eb6f6bc Merge pull request 'v1.33.0' (#410) from v1.33.0 into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #410
2023-03-01 18:40:11 +01:00
3784cf688f missing includes
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-01 18:42:43 +01:00
f646566228 prep v1.33.0
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-03-01 18:40:05 +01:00
58527dacf6 regenerate csvs 2023-03-01 18:38:55 +01:00
03cf5891b0 Merge pull request 'add profiling comment' (#409) from profiling_comment into develop
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
Reviewed-on: #409
2023-03-01 18:22:41 +01:00
1b79bfc02a add profiling comment
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-03-01 18:24:44 +01:00
3c6c990b8f Merge pull request 'Rework SUS polling' (#408) from rework_sus_polling into develop
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
Reviewed-on: #408
2023-03-01 18:12:54 +01:00
1252897a1c cleaning up
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
EIVE/eive-obsw/pipeline/head Build queued...
2023-03-01 18:15:53 +01:00
22b2f137b4 changelog
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-01 18:10:16 +01:00
c347b6d1d4 copy and pasta fixes 2023-03-01 18:09:33 +01:00
24b939c50b add syrlinks assembly
Some checks failed
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-03-01 18:06:36 +01:00
ef5bc9731d Merge branch 'develop' into rework_sus_polling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-01 16:58:28 +01:00
67128b398c bugfix, seems to work now
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-01 16:58:07 +01:00
c251d93305 wörkz
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-01 16:36:21 +01:00
26aeb88d84 conitniue sus polling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-03-01 10:47:57 +01:00
6004233c67 bugfixes in some mpsoc TCs
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-28 19:56:42 +01:00
88db78fed9 Merge remote-tracking branch 'origin/develop' into thermal_controller
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-28 19:17:45 +01:00
11f476878d rework SUS polling
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-28 19:14:15 +01:00
809626b6e3 * fixed invalid overwriting of downlink power on command
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
* overwriting of delay cycles for cam take pic command
* extended parsing of verification status codes
2023-02-28 18:12:22 +01:00
db90c59557 Merge pull request 'compile warning fix and defensive programming' (#407) from smaller_tweaks into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #407
Reviewed-by: Jakob Meier <meierj@irs.uni-stuttgart.de>
2023-02-28 18:02:40 +01:00
2c6ea8dc9f fixed wrong if condition
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-28 15:46:52 +01:00
543568be39 Merge remote-tracking branch 'origin/develop' into feature_watchdog_extension
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-28 15:11:03 +01:00
a8e886200f Merge remote-tracking branch 'origin/develop' into feature_watchdog_extension
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-28 15:03:43 +01:00
0fabe3adb6 Merge pull request 'Rework ACS board polling' (#405) from rework_acs_board_polling into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #405
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-02-28 15:01:22 +01:00
f2598b5c4c small fix for sched blocks
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-02-28 15:02:37 +01:00
f7573b4902 Merge remote-tracking branch 'origin/develop' into rework_acs_board_polling
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-02-28 15:01:33 +01:00
7b0657bb55 fixed usage of wrong parameters
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-28 15:01:07 +01:00
d59daa2485 we might need this pointing law stuff ... 2023-02-28 15:00:05 +01:00
9556ce6d9f Merge pull request 'that should fix the error printout' (#406) from bugfix_read_only_check into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #406
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-02-28 14:52:09 +01:00
6f1a2952d5 Merge branch 'develop' into bugfix_read_only_check 2023-02-28 14:52:02 +01:00
c09d94f003 Merge remote-tracking branch 'origin/develop' into feature_watchdog_extension
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-28 11:54:18 +01:00
10807d577f bump tmtc
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-28 11:53:34 +01:00
6e6dff56f2 Merge remote-tracking branch 'origin/develop' into rework_acs_board_polling 2023-02-28 11:53:10 +01:00
959adcafb1 Merge branch 'develop' into smaller_tweaks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-28 11:48:05 +01:00
737d5ecb53 cleaned up ptgCtrl
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-28 10:47:37 +01:00
84643020da fixed gs target mode using wrong parameter set
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-28 10:43:17 +01:00
04a561b9a0 cleaned up detumble and fixed gyr detumble law to actual bdot law
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-28 10:12:25 +01:00
d86b9d55da cleaned up SafeCtrl
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-28 09:18:44 +01:00
90b4b7c0f4 bugfixes in mpsoc commands
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-28 09:13:41 +01:00
48d9a65f09 Merge branch 'develop' into meier/ploc-commands
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-28 07:41:51 +01:00
251dddc42d compile warning fix and defensive programming
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
2023-02-28 01:53:48 +01:00
1129836112 that should fix the issue
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-28 01:40:27 +01:00
d4923ac3e8 wörks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-28 01:25:25 +01:00
8e5adae8ef Merge pull request 'PDEC Config Persistent' (#398) from meier/pdec-config-persistent into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #398
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
2023-02-27 18:33:51 +01:00
26369039da better solution for actuatorCmd
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-27 17:36:33 +01:00
5c30adb9bb changed AcsParameters instance in guidance to const pointer
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-27 17:08:48 +01:00
309358f447 fixed updating wrong parameter set
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-27 17:05:09 +01:00
7bf72e3c18 changelog
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-27 16:43:31 +01:00
12ac8f7c70 removed AcsParameters as part of SensorProcessing
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-27 16:38:59 +01:00
92f5a8bf89 removed AcsParameters as part of Navigation 2023-02-27 16:37:46 +01:00
fd4be08796 removed instance of AcsParameters as part of actuatorCmd 2023-02-27 16:37:09 +01:00
afb9303dcb naming fixes
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-27 16:36:10 +01:00
17a1a5a655 fixed paramerterWrapper setter to match type of parameter
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-27 14:29:23 +01:00
22558a2f39 fixed some param types
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-27 14:02:35 +01:00
e9514b1c97 new MGM polling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-27 11:44:52 +01:00
c06dd15303 minor bugfix in PDEC Handler
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-27 11:35:43 +01:00
89ba9f7009 removed class id header
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-27 09:12:50 +01:00
0df5070fa6 moved sd card manager and local param handler class ids to commonClassIds
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-27 09:03:06 +01:00
20edbf6213 included classIds in ComSubsystem
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-27 08:50:47 +01:00
d7ebc4dbe2 Merge branch 'develop' into meier/pdec-config-persistent
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-27 08:07:00 +01:00
316971c6bc * added event when transmitter is turned on due to bitlock detection
* added event when tx timer has expired
2023-02-27 07:49:09 +01:00
c7bed10bdf basic MGM polling done 2023-02-26 21:26:49 +01:00
cc4c3182a0 hopefully last bugfix
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-26 19:38:48 +01:00
71a2ecc2ea only perform startup once 2023-02-26 19:23:55 +01:00
2f9cdefc96 some more bugfixes 2023-02-26 19:09:12 +01:00
ea993ad2e9 Merge remote-tracking branch 'origin/develop' into rework_acs_board_polling
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-26 18:25:13 +01:00
972012e549 Merge pull request 'More improvements for gps handler' (#400) from improvements_gps_handler into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #400
2023-02-26 18:20:29 +01:00
a6af6174f4 Merge branch 'develop' into improvements_gps_handler
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-02-26 18:18:11 +01:00
9ae43d83f9 this is okay for now
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-02-26 18:21:05 +01:00
828b6adf77 vieles
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-26 14:55:33 +01:00
9b4026a1c9 initialize variable
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-24 19:19:42 +01:00
72753aa43a Merge remote-tracking branch 'origin/develop' into improvements_gps_handler
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-24 19:16:54 +01:00
cf42ca7835 Merge remote-tracking branch 'origin/develop' into feature_watchdog_extension
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-24 19:16:29 +01:00
e41f8901c5 v1.32.0 version
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-24 19:13:20 +01:00
c99b9f5afa v1.32.0 2023-02-24 19:13:00 +01:00
a245966793 Merge pull request 'Persistent TM Store' (#320) from mueller/pus-15-tm-storage into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #320
2023-02-24 19:03:38 +01:00
746f288f1e bump fsfw
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-02-24 19:05:54 +01:00
9501d0802f changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-02-24 19:03:03 +01:00
be3c778fee bugfix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-24 18:59:48 +01:00
13f2f39325 improve backup file handling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-24 18:45:04 +01:00
66b4fc6294 use correct retval
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-24 18:22:36 +01:00
aae4d019e7 bugfix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-24 18:20:32 +01:00
cbb6a45407 remove newline
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-24 18:18:35 +01:00
95ce2c79b9 this might be over-engineered 2023-02-24 18:10:43 +01:00
8810ad3d60 fsfw update
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-24 17:03:10 +01:00
66a1e690e0 Merge remote-tracking branch 'origin/develop' into improvements_gps_handler 2023-02-24 17:02:54 +01:00
1744f1aff0 Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-24 17:01:31 +01:00
0206115abb changelog
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-24 16:52:37 +01:00
6e8fc83aed bump fsfw 2023-02-24 16:49:41 +01:00
f02bc6b345 Merge branch 'develop' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into develop 2023-02-24 15:54:44 +01:00
d662cdba34 Merge pull request 'ACS Ctrl Action Cmds' (#401) from eggert/acs-ctrl-action-cmds into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #401
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
2023-02-24 15:51:07 +01:00
dd5373a728 bump fsfw and tmtc 2023-02-24 15:49:47 +01:00
d2e3f14b72 Merge branch 'develop' into eggert/acs-ctrl-action-cmds
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-02-24 15:49:32 +01:00
6d148307ae changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-24 15:48:04 +01:00
d671de7efb fill collection sets before executing acsctrl and actually use tgtRotRate in ctrlValData
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-24 15:34:51 +01:00
862f8b3da3 bugfix in fsfw
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-24 14:52:35 +01:00
5f3bd5c754 Merge branch 'thermal_controller' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into thermal_controller
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-24 13:46:14 +01:00
63275df3f0 formal changes 2023-02-24 13:39:23 +01:00
e349bb8a7f get rid of the dirty determinant for now
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-24 13:27:27 +01:00
cb1a98ccff bump changelog
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-24 11:12:16 +01:00
95e20e70ff executable com if dummy
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-24 11:08:50 +01:00
f765707886 give 10ms for ACS Ctrl
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-24 10:28:33 +01:00
fd6be806ed fix init value 2023-02-24 10:28:13 +01:00
22bac9e7c0 apparently recursive determinant calculation takes 300ms
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-24 10:22:33 +01:00
36fe0921de susDummies use valid values 2023-02-24 10:21:53 +01:00
acd4c5da6d bump gen 2023-02-24 10:21:15 +01:00
cb869fef0c Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-24 10:18:59 +01:00
d3fc9a4491 Merge remote-tracking branch 'origin/develop' into feature_watchdog_extension
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-24 10:15:36 +01:00
7af7eff316 Merge branch 'develop' into meier/pdec-config-persistent 2023-02-24 10:03:09 +01:00
7392012a00 Merge branch 'develop' into eggert/acs-ctrl-action-cmds 2023-02-24 09:18:25 +01:00
89518a035a give rwdummy an accepted state
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-24 09:11:37 +01:00
89230b60d7 we dont want commanding of actuators yet 2023-02-24 09:11:13 +01:00
104d9647fe changelog
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-24 01:09:40 +01:00
eb2a0604e9 rang mdl pool entry 2023-02-24 01:09:00 +01:00
0cb7446297 remove printout prefixes
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-24 01:08:26 +01:00
f789380343 reworked watchdog 2023-02-23 23:56:11 +01:00
e33a0fd60b that was definitely a fix
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-23 19:51:07 +01:00
b4ce9d2a22 Merge branch 'develop' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-23 18:55:56 +01:00
5984bb52f2 Merge pull request 'register ADIS config set pool variables' (#402) from bugfix_adis_cfg_set into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #402
2023-02-23 18:55:38 +01:00
9b6c3964c6 Merge remote-tracking branch 'origin/develop' into bugfix_adis_cfg_set
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-02-23 18:54:28 +01:00
089d04646a prep v1.31.1 2023-02-23 18:53:29 +01:00
ed992e495b Merge pull request 'ACS Tweaks and Bugfix' (#403) from acs_tweaks_possibly_fixes into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #403
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-02-23 18:52:08 +01:00
8da373542e changelog
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-02-23 18:51:31 +01:00
ee974d0e2d register ADIS config set pool variables
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-23 18:41:25 +01:00
0907e8f5e5 use more constants
Some checks are pending
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-02-23 18:39:14 +01:00
59b80807ba possible fix but not sure
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-23 18:34:28 +01:00
80e12fb194 well this is a bug
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
Signed-off-by: meggert <eggertm@irs.uni-stuttgart.de>
2023-02-23 17:36:15 +01:00
7c3031de78 gps dummy fixes
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-23 17:08:55 +01:00
f160dfa56d bump generators 2023-02-23 17:06:36 +01:00
bf16d6d86a more improvements for gps handler
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-23 16:36:17 +01:00
43a2993f4d Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-23 15:59:24 +01:00
d6f537da5f Merge remote-tracking branch 'origin/develop' into thermal_controller
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-23 15:58:10 +01:00
ee4db78a95 removed wrong comment
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-23 15:37:20 +01:00
5db1f71854 run clang formatting script
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-23 15:27:24 +01:00
481e546e6d Merge branch 'develop' into meier/pdec-config-persistent 2023-02-23 15:24:53 +01:00
1e45bff0cc tmtc update 2023-02-23 15:23:35 +01:00
513dcf9be1 bugfixes in pdec handler parameter commands 2023-02-23 15:19:48 +01:00
d37770422b bugfixes
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-23 15:05:10 +01:00
12539ba415 stuff
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-23 13:48:06 +01:00
0726b9d730 removed our copyright
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-23 13:37:12 +01:00
5d9ed222f5 added returnvalue handling
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-23 11:26:43 +01:00
5205c5b78a include cleanup
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-23 11:06:45 +01:00
3b17af9d07 added local parameter handler to PdecConfig to store persistent parameters 2023-02-23 10:09:04 +01:00
205bd4648e reseting the MEKF now also resets its state in navigation
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-23 09:45:11 +01:00
29f1dd0f8e Merge branch 'develop' into eggert/acs-ctrl-action-cmds
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-23 09:31:58 +01:00
9a7779cffb struct heaterStates and more
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-22 21:46:56 +01:00
0fa1bab94d comments
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-22 19:14:35 +01:00
90c1d45f20 correction for prefix handling on Q7S
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-22 18:06:34 +01:00
29179bde0c merge conflicts
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-22 18:01:54 +01:00
b9a6425078 dummy change
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-22 17:50:03 +01:00
8873ecae48 boop
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-22 17:31:40 +01:00
e13636167f limit for error events thermalcontroller + dummy beta
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-22 17:30:30 +01:00
5ad2fa5e93 added action commands
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-22 17:10:42 +01:00
2c4a47f302 added function to delete files 2023-02-22 17:08:42 +01:00
2a91105124 added executeAction
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-22 16:10:30 +01:00
28f3b07c5c removed global config handler 2023-02-22 15:57:24 +01:00
9633359db3 spi RTD Polling dummy
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-22 15:46:03 +01:00
ee811371c5 make EM build work
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-22 15:28:24 +01:00
5f6f806b88 update release checklist
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-22 15:17:08 +01:00
721d38f758 Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-22 15:15:25 +01:00
5f275778de Merge branch 'develop' into meier/pdec-config-persistent 2023-02-22 14:50:43 +01:00
ce72e4308e tmtc update 2023-02-22 14:50:24 +01:00
8b45786e5d changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-22 14:49:54 +01:00
2ee70d53d9 more tweaks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-22 14:27:50 +01:00
6c16238cc7 small tweaks
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-22 14:21:24 +01:00
1803b2c650 seems to work now
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-22 13:27:16 +01:00
62cadd16ab missing constructor call in LocalParameterHandler 2023-02-22 07:15:19 +01:00
a1cb4fb549 fix for host build 2023-02-21 21:37:30 +01:00
e416d94224 each store has own tc queue now 2023-02-21 20:43:16 +01:00
411b2595fa Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage 2023-02-21 20:22:24 +01:00
9b849d10e9 small changes
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-21 17:49:55 +01:00
41adaf36bf Merge branch 'develop' into meier/pdec-config-persistent 2023-02-21 15:34:16 +01:00
7dae81c122 added local parameter handler 2023-02-21 14:13:46 +01:00
6ca210ac31 Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-21 11:14:56 +01:00
6104b94268 Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-20 20:06:31 +01:00
82c97656f1 clangtidy
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-20 17:57:18 +01:00
67e9dc9090 small clang tidy stuff
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-20 16:12:56 +01:00
a7d3f2c3f8 add PUS TM store
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-20 16:10:35 +01:00
a3f2219f9b pass HK and not ok packets as well
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-20 15:42:04 +01:00
fd0da7379a only process on TC request per cycle
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-20 15:17:31 +01:00
7d8cf0cbfe Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-20 15:05:31 +01:00
4fe14b464a update cmake cfg
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-20 13:45:16 +01:00
03470284a4 Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-20 13:34:36 +01:00
10a18ba6af re-run generators
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-17 18:35:41 +01:00
5abecd065c add Q7S run config
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-17 17:32:15 +01:00
6f4c81117b add small clion section
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-17 17:05:39 +01:00
da898a3f16 add CLion config for CMake
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-17 17:00:12 +01:00
eb6a0c410f Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-17 13:18:23 +01:00
2bfc9bc565 added hook to automatically update submodules after checkout 2023-02-17 12:32:29 +01:00
cb6a98b0d2 bump fsfw
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-17 11:52:29 +01:00
47e97ff1be bump fsfw
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build queued...
2023-02-17 11:52:09 +01:00
12c5a10662 Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-17 11:20:40 +01:00
a13ae7abcc pdec ad frame config, wip 2023-02-15 10:21:35 +01:00
075bba242b Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-14 17:45:30 +01:00
58f29e16c5 mode snapshot command
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-14 14:00:53 +01:00
0bc7ddf38e Added the following MPSoC commands:
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
* TcCamTakePic
* TcSimplexSendFile
* TcDownlinkDataModulate
Pending: Test commands with MPSoC
2023-02-13 13:28:13 +01:00
60c99fdbfb local parameter handler wip 2023-02-13 11:28:27 +01:00
77b7433caf enum ThermalComponents
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-10 12:18:16 +01:00
a4d551e420 Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-08 17:43:43 +01:00
d82810d5e7 add dumpFrom method
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-07 15:22:01 +01:00
94fee2d429 some more fixes and tweaks
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-07 12:23:00 +01:00
650bfd1ad3 continued basic tm store impl 2023-02-07 12:19:13 +01:00
568954e9e0 Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-07 10:55:09 +01:00
a761b3f83c Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-01-23 14:22:05 +01:00
25c59aa187 Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-01-11 09:18:15 +01:00
d14d7ae66d bump submodules 2023-01-11 09:18:07 +01:00
29fd2653f1 added TODO with steps
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-19 15:23:42 +01:00
d9453c3b83 absolutely magnificent
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-19 14:40:27 +01:00
b9753dc5ba added dump command forwarding
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-19 14:01:15 +01:00
c4c1f09f2e continue request handling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-19 13:57:05 +01:00
74f116f2fa that should be the basic interface
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-19 13:25:45 +01:00
bbf0def3ff add missing dot
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-16 13:26:20 +01:00
b6522c9fb3 that should do the job
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-14 15:41:20 +01:00
62b3e16ac4 add service 2
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-14 15:09:57 +01:00
5431dfc9bd basic packet routing
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-14 13:51:24 +01:00
4d473315fe allow sending TC requests to funnels
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-14 13:19:14 +01:00
ec02332615 start implementing the PUS Service
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-14 11:29:32 +01:00
5d67b896aa improve store init handling, add remaining stores
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-14 11:00:07 +01:00
ff9bcd6b14 added remaining missing stores
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-14 10:54:18 +01:00
58d6b59b7c it seems to work now
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-14 10:42:16 +01:00
9cea0c50c3 using const char* instead
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-14 10:35:30 +01:00
8ee6a23229 more fixes and improvements 2022-12-14 10:34:23 +01:00
2d72942d47 important bugfix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-14 10:14:53 +01:00
9c217ad91e now hosted should compile again
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-14 09:53:38 +01:00
d37f48336b ok im done
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2022-12-13 15:56:40 +01:00
3e17de0127 update clock every 5 minutes
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2022-12-13 15:43:41 +01:00
8858084f6e introduce new second interval
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2022-12-13 15:35:39 +01:00
283b897ae7 allow minutely rollover as well
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2022-12-13 15:34:13 +01:00
8c10cbe37b the stores only keep references to the current time
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2022-12-13 15:24:51 +01:00
130a3ce727 initialize stores as well
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2022-12-13 14:38:30 +01:00
33ac72de83 check whether SD card is usable
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2022-12-13 14:33:16 +01:00
fcc9858b66 use new packet store
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2022-12-13 14:30:16 +01:00
828d791da5 add misc store
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2022-12-13 14:26:20 +01:00
3965c08bfb add misc store
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2022-12-13 14:19:43 +01:00
eddc620307 interval calculation bugfix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-13 13:46:49 +01:00
04b04ed859 update state as well
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-13 10:08:31 +01:00
e62c527d05 create files as well 2022-12-13 10:07:36 +01:00
1f381d9477 implemented core write
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-12 18:42:51 +01:00
ed603f4e48 continued TM store impl
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-12 18:27:01 +01:00
293082a7e8 this logic should work
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-12 18:17:59 +01:00
a9699ad969 this should work
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-12 16:30:16 +01:00
279697b326 test stamp in filename
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-12 16:18:00 +01:00
6f1f92c9d1 i wonder if this even works
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2022-12-12 16:04:38 +01:00
c493273a21 oh god sscanf
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2022-12-12 14:58:56 +01:00
fba820a1c0 start storage algorithms
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2022-12-12 10:06:30 +01:00
578b4a4408 Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-12 09:02:11 +01:00
577e96bc95 Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-12-01 16:40:46 +01:00
93b7bbc43e Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-11-28 18:32:29 +01:00
0a9173559d Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-11-28 11:37:26 +01:00
da98cd77e8 bump fsfw
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-11-24 15:16:42 +01:00
e3730a9b94 Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2022-11-24 14:48:59 +01:00
666c7bc77f Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2022-11-18 14:30:10 +01:00
c599714aea some sort of filter handling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-11-11 15:39:27 +01:00
f60a80f308 fix merge conflict
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-11-11 11:43:42 +01:00
8d0c6ebc57 Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2022-11-11 11:42:42 +01:00
608632fde3 bump fsfw
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-11-11 11:38:37 +01:00
4ca892e9f3 bump fsfw
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-11-11 11:29:41 +01:00
08c225a633 Merge remote-tracking branch 'origin/develop' into mueller/pus-15-tm-storage
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2022-11-11 11:26:57 +01:00
31093c0d13 bump fsfw
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2022-10-25 18:21:08 +02:00
d5867f104f continue tm store
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2022-10-25 18:20:21 +02:00
46a756b1ee some updates
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2022-10-24 10:57:30 +02:00
ed76062904 bump fsfw
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2022-10-24 10:40:01 +02:00
e897fb63d8 use CSB backend instead
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2022-10-24 10:26:00 +02:00
098741ffe6 start adding basic pus 15 components
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2022-10-24 10:14:58 +02:00
488 changed files with 20761 additions and 9956 deletions

7
.gitignore vendored
View File

@ -12,8 +12,13 @@
#vscode
/.vscode
# IntelliJ
/.idea/*
# Python
__pycache__
.idea
# CLion
!/.idea/cmake.xml
generators/*.db

6
.gitmodules vendored
View File

@ -10,9 +10,6 @@
[submodule "thirdparty/lwgps"]
path = thirdparty/lwgps
url = https://github.com/rmspacefish/lwgps.git
[submodule "thirdparty/arcsec_star_tracker"]
path = thirdparty/arcsec_star_tracker
url = https://egit.irs.uni-stuttgart.de/eive/arcsec_star_tracker.git
[submodule "thirdparty/json"]
path = thirdparty/json
url = https://github.com/nlohmann/json.git
@ -22,3 +19,6 @@
[submodule "thirdparty/gomspace-sw"]
path = thirdparty/gomspace-sw
url = https://egit.irs.uni-stuttgart.de/eive/gomspace-sw.git
[submodule "thirdparty/sagittactl"]
path = thirdparty/sagittactl
url = https://egit.irs.uni-stuttgart.de/eive/sagittactl.git

1
.idea/cmake.xml generated
View File

@ -2,7 +2,6 @@
<project version="4">
<component name="CMakeSharedSettings">
<configurations>
<configuration PROFILE_NAME="Debug" ENABLED="true" CONFIG_NAME="Debug" NO_GENERATOR="true" />
<configuration PROFILE_NAME="Debug Q7S" ENABLED="true" CONFIG_NAME="Debug" TOOLCHAIN_NAME="Q7S" GENERATION_OPTIONS="-DTGT_BSP=&quot;arm/q7s&quot;" NO_GENERATOR="true">
<ADDITIONAL_GENERATION_ENVIRONMENT>
<envs>

10
.run/Q7S FM.run.xml Normal file
View File

@ -0,0 +1,10 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Q7S FM" type="com.jetbrains.cidr.remote.gdbserver.type" factoryName="com.jetbrains.cidr.remote.gdbserver.factory" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="eive-obsw" TARGET_NAME="eive-obsw" CONFIG_NAME="Debug" version="1" RUN_TARGET_PROJECT_NAME="eive-obsw" RUN_TARGET_NAME="eive-obsw">
<custom-gdb-server version="1" gdb-connect="localhost:1234" executable="" warmup-ms="0" download-type="NONE" sshConfigName="Q7S FM" uploadFile="/tmp/eive-obsw" defaultGdbServerArgs=":1234 /tmp/eive-obsw">
<debugger kind="GDB" isBundled="true" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

View File

@ -16,7 +16,717 @@ will consitute of a breaking change warranting a new major release:
# [unreleased]
# [v1.31.0]
# [v2.0.5] to be released
- The dual lane assembly transition failed handler started new transitions towards the current mode
instead of the target mode. This means that if the dual lane assembly never reached the initial
submode (e.g. mode normal and submode dual side), it will transition back to the current mode,
which miht be `MODE_OFF`. Furthermore, this can lead to invalid internal states, so the subsequent
recovery handling becomes stuck in the custom recovery sequence when swichting power back on.
- The dual lane custom recovery handling was adapted to always perform proper power switch handling
irrespective of current or target modes.
# [v2.0.4] 2023-04-19
## Fixed
- The dual lane assembly datasets were not marked invalid properly on OFF transitions.
# [v2.0.3] 2023-04-17
- eive-tmtc: v3.1.1
## Fixed
- Fixed shadowing within the `SafeCtrl`, which prevented actuator commands to be calculated during
eclipse phase.
- EM build idle mode fixes for RW dummy.
## Added
- Add `MGT_OVERHEATING` event and fallback to system SAFE mode if the MGT is overheating for
whatever reason.
## Changed
- Low-pass filters can no longer be executed if no actual data is available.
# [v2.0.2] 2023-04-16
- Bump patch version to 2.
# [v2.0.1] 2023-04-16
- eive-tmtc: v3.1.0
# [v2.0.0] 2023-04-16
This is the version which will fly on the satellite for the initial launch phase.
- q7s-package: v2.5.0
- eive-tmtc: v3.0.0
- `wire` library is now on version v10.7 as well.
## Added
- Added `mv`, `cp` and `rm` action helpers for the core controller for common filesystem operations.
- Extended directory listing helpers. There is now a directory listing helper which dumps the
directory listing as an action data reply immediately. For smaller directory listings, this
allows a listing without requiring a separate file downlink (which also has not been implemented
yet)
## Changed
- The directory listing action commands now allow compressing of either the target output file
for the directory listing into file action command, or compression in the helper which dumps
the directory listing directly.
# [v1.45.0] 2023-04-14
- q7s-package: v2.5.0
- eive-tmtc: v3.0.0
- STR firmware was updated to v10.7. `wire` library still needs to be updated.
## Fixed
- Small fix for `install-obsw-yocto.sh` script
- Bugfix for STR firmware update procedure where the last remaining
bytes were not written properly.
- Bugfix for STR where an invalid reply was received for special requests
like firmware updates.
- Bugfix for shell command executors in command controller which lead to a crash.
- Important bugfix for STR solution set. Missing STR mode u8 parameter.
- Fix for STR image download.
- Possible fix for STR image upload.
- Fixed regression where the reply result for ACS board and SUS board devices was set to FAILED
even when going to OFF mode. In that case, it has to be set to OK so the device handler can
complete the OFF transition.
## Changed
- STR `wire` library updated to v10.3. Submodule renamed to `sagittactl`.
- Custom FDIR for TMP1075 sensors. The device handlers reject `NEEDS_RECOVERY` health commands
anyway, so it does not really make sense to use the default FDIR.
- Reject `NEEDS_RECOVERY` health commands for the heater health devices.
- Adapted some queue sizes so that EM startup works without queue errors
- Event Manager: 120 -> 160
- UDP TMTC Bridge: 50 -> 120
- TCP TMTC Bridge: 50 -> 120
- Service 5: 120 -> 160, number of events handled in one cycle increased to 80
- EM: PCDU dummy is not a device handler anymore, but a custom power switcher object. This avoids
some issues where the event manager could not send an event message to the PCDU dummy because
the FDIR event queue was too small.
## Added
- Add a way for the MAX31865 RTD handlers to recognize faulty/broken/off sensor devices.
- Add parameter interface for core controller
- Allow setting the preferred SD card via the new parameter interface of the core controller
with domain ID 0 and unque ID 0.
- Added action commands to reset the PDEC. Also added autonomous reset handling for the PDEC,
because there is no way so send TCs with a faulty PDEC.
- Added `I2C_REBOOT` and `PDEC_REBOOT` events for EIVE system component to ensure ground gets
informed.
## ACS
- Commanding from ACS Controller is now enabled.
- Safe Controller was reverted to FLP Design. This also introduces safe mode strategies.
They contain what the controller does and which data it uses. The controller will
automatically based on the available data decide on which strategy to use. If a strategy
is undesirable (e.g. the MEKF should not be used) this can be handeld via setting parameters.
# [v1.44.1] 2023-04-12
- eive-tmtc: v2.22.1
## Fixed
- Bugfixes and improvements for SDC state machine. Internal state was not updated correctly due
to a regression, so commanding the SDC state machine externally lead to confusing results.
- Heater states array in TCS controller was too small.
- Fixed a bug in persistent TM store, where the active file was not reset of SD card switches.
SD card switch from 0 to 1 and vice-versa works without errors from persistent TM stores now.
- Add a way for the SUS polling to detect broken or off devices by checking the retrieved
temperature for the all-ones value (0x0fff).
- Better reply result handling for the ACS board devices.
- ADIS1650X initial timeout handling now performed in device handler.
- The RW assembly and TCS board assembly now perform proper power switch handling for their
recovery handling.
## Changed
- Added additional logic for SDC state machine so that the SD cards are marked unusable when
the active SD card is switched or there is a transition from hot redundant to cold redundant mode.
This gives other tasks some time to register the SD cards being unusable, and therefore provides
a way for them to perform any re-initialization tasks necessary after SD card switches.
- TCS controller now only has an OFF mode and an ON mode
- The TCS controller pauses operations related to the TCS board assembly (reading sensors and
the primary control loop) while a TCS board recovery is on-going.
- Allow specifying custom OBSW update filename. This allowed keeping a cleaner file structure
where each update has a name including the version
- The files extracted during an update process are deleted after the update was performed to keep
the update directory cleaner.
## Added
- TCS controller: SUBMODE_NO_HEATER_CTRL (1) added for ON mode. If this submode is
commanded, all heaters will be switched off and then no further heater
commanding will be done.
- Fixed a bug in persistent TM store, where the active file was not reset of SD card switches.
SD card switch from 0 to 1 and vice-versa works without errors from persistent TM stores now.
# [v1.44.0] 2023-04-07
- eive-tmtc: v2.22.0
## Added
- Special I2C recovery handling. If the I2C bus is unavailable for whatever reason, the EIVE
system component will power-cycle all I2C devices by first going to the OFF/BOOT mode, then
power-cycling the 3V3 stack and rebooting the battery, and finally going back to safe mode.
If this does not restore the bus, a full reboot will be performed. This special sequence can
be commanded as well.
## Fixed
- RW Assembly: Correctly transition back to off when more than 1 devices is OFF. Also do this
when this was due to two devices being marked faulty.
- RW dummy and STR dummy components: Set/Update modes correctly.
- RW handlers: Bugfix for TM set retrieval and special request handling in general where the CRC
check always failed for special request. Also removed an unnecessary delay for special requests.
- RW handlers: Polling is now disabled for RWs which are off.
## Changed
- RW shutdown now waits for the speed to be near 0 or for a OFF transition countdown to be expired
before going to off.
# [v1.43.2] 2023-04-05
## Changed
- Adapted HK data rates to new table for LEOP SAFE mode.
- GPS controller HK is now generated periodically as well.
- Better mode combination checks for assembly components. This includes:
- IMTQ assembly
- Syrlinks assembly
- Dual Lane Assembly
- RWs are no longer commanded by the ACS Controller during safe mode. Instead the RW speed command
is set to 0 as part or the `doShutDown` of the RW handler.
## Fixed
- Dual lane assemblies: Fix handling when health states are overwritten. Also add better handling
when some devices are permanent faulty and some are only faulty. In that case, only the faulty
devices will be restored.
- ACS dual lane assembly: Gyro 3 helper mode was assigned to the Gyro 2 mode.
# [v1.43.1] 2023-04-04
## Fixed
- Generic HK handling: Bug where HKs were generated a lot more often than required. This is the case
if a device handler `PERFORM_OPERATION` step is performed more than once per PST cycle.
- Syrlinks now goes to `_MODE_TO_ON` when finishing the `doStartUp` transition.
## Changed
- Doubled GS PST interval instead of scheduling everything twice.
- Syrlinks now only has one `PERFORM_OPERATION` step, but still has two communication steps.
- PCDU components only allow setting `NEEDS_RECOVERY`, `HEALTHY` and `EXTERNAL_CONTROL` health
states now. TMP sensor components only allow `HEALTHY` , `EXTERNAL_CONTROL`, `FAULTY` and
`PERMANENT_FAULTY`.
- TCS controller now does a sanity check on the temperature values: Values below -80 C or above
160 C are ignored.
# [v1.43.0] 2023-04-04
- q7s-package: v2.4.0
- eive-tmtc: v2.21.0
## Added
- Version of thermal controller which performs basic control tasks.
- PCDU handler can now command switch of the 3V3 stack (switch ID 19)
- Set STR dev to OFF in assembly when it is faulty.
- STR: Reset data link layer and flush RX for regular commands and before performing special
commands to ensure consistent start state
## Fixed
- PTME was not reset after configuration changes.
- GPS health devices: ACS board assembly not reacts to health changes.
- STR COM helper: Reset reply size after returning a reply
## Changed
- Poll threshold configuration of the PTME IP core is now configurable via a parameter command
and is set to 0b010 (4 polls) instead of 0b001 (1 poll) per default.
- EIVE system fallback and COM system fallback: Perform general subsystem handling first, then
event reception, and finally any new transition handling.
- IMTQ MGM integration time lowered to 6 ms. This relaxes scheduling requirements a bit.
- PCDU handler switcher HK set now has additional 3V3 switcher state HK.
# [v1.42.0] 2023-04-01
- eive-tmtc: v2.20.1
- q7s-package: v2.3.0
## Changed
- SCEX filename updates. Also use T as the file ID / date separator between date and time.
- COM TM store and dump handling: Introduce modes for all 4 TM VC/store tasks. The OFF mode can be
used to disable ongoing dumps or to prevent writes to the PTME VC. This allows cleaner reset
handling of the PTME. All 4 VC/store tasks were attached to the COM mode tree and are commanded
as part of the COM sequence as well to ensure consistent state with the CCSDS IP core handler.
- Added `PTME_LOCKED` boolean lock which is used to lock the PTME so it is not used by the VC tasks
anymore. This lock will be controlled by the CCSDS IP core handler and is locked when the PTME
needs to be reset. Examples for this are datarate changes.
- Simulate real PCDU in PCDU dummy by remembering commandes switch change and triggering appropriate
events. Switch feedback is still immediate.
- GomSpace devices are polled with a doubled frequency. This speeds up power switch commanding.
## Fixed
- Bugfix for side lane transitions of the dual lane assemblies, which only worked when the
assembly was directly commanded.
- Syrlinks Handler: Bugfix so transition command is only sent once.
- SCEX file name bug: Create file name time stamp with `strftime` similarly to how it's done
for the persistent TM store.
## Added
- Added GPS0 and GPS1 health device which are used by the ACS board assembly when deciding whether
to change to the other side or to go to dual side directly. Setting the health devices to faulty
should also trigger a side switch or a switch to dual mode.
# [v1.41.0] 2023-03-28
- eive-tmtc: v2.20.0
- q7s-package: v2.2.0
## Fixed
- Proper Faulty/External Control handling for the dual lane assemblies.
- ACS board devices: Go to ON mode instead of going to NORMAL mode directly.
- SUS device handlers: Go to ON mode on startup instead of NORMAL mode.
- Tweaks for the delay handling for the persistent TM stores. This allows pushing the full
high datarate when dumping telemetry. The most important and interesting fix is that
there needs to be a small delay between the polling of the GPIO. Polling the GPIO
without any delay consecutively can lead to scheduling issues.
- Bump FSFW for fix of `ControllerBase` class `startTransition` implementation.
- Bump FSFW for possible fix of `PowerSwitcherComponent`: Initial mode `MODE_UNDEFINED`.
## Changed
- Enabled periodic hosuekeeping generation for release images.
- Project structure (linux and mission folder) is subsystem centric now.
# [v1.40.0] 2023-03-24
- eive-tmtc: v2.19.4
- q7s-packasge: v2.1.0
- Bumped fsfwgen for bugfix: Event translation can deal with duplicate event names now.
## Fixed
- PAPB busy polling now implemented properly with an upper bound of how often the PAPB is allowed
to be busy before returning the BUSY returnvalue. Also propagate and check for that case properly.
Ideally, this will never be an issue and the PAPB VC interface should never block for a longer
period.
- The `mekfInvalidCounter` now resets on setting the STR to faulty.
- Improve the SD lock handling. The file handling does not need to be locked as it
is only handled by one thread.
## Added
- The event `MEKF_RECOVERY` will be triggered in case the `MEKF` does manage to recover itself.
- The persistent TM stores now have low priorities and behave like background threads now. This
should prevent them from blocking or slowing down the system even during dumps
(at least in theory).
- STR: Fix weird issues on datalink layer data reception which sometimes occur.
- Syrlinks FDIR: Fully allow FDIR to do more recoveries. Assembly should take care of preventing
the switch to go off.
- Allow dual lane assembly side switches.
## Changed
- Rework FSFW OSALs to properly support regular scheduling (NICE priorities) and real-time
scheduling.
- STR: Move datalink layer to `StrComHandler` completely. DLL is now completely hidden from
device handler.
- STR: Is now scheduled twice in ACS PST.
- `StrHelper` renamed to `StrComHandler`, is now a `DeviceHandlerIF` directly and does not wrap
a separate UART COM interface anymore.
- TCS: Local pool variables are members now.
- Syrlinks: Create dedicated COM helper which uses a ring buffer to parse the Syrlinks datalinklayer
and should make communication more reliable even on high CPU loads.
- Syrlinks: Two communication cycles per PST.
- Fine-tuning of various task priorities.
- The CSP router now is scheduled with the `SCHED_RR` policy and the same priority as the PCDU
handlers as well.
- Change project structure to be more subsystem centric for ACS and COM.
# [v1.39.1] 2023-03-22
## Fixed
- Bugfix for STR: Some action commands wrongfully declined.
- STR: No normal command handling while a special request like an image upload is active.
- RS485 data line was not enabled when the transmitter was switched on.
# [v1.39.0] 2023-03-21
Requires firmware update for new FPGA design where reset line is routed into the software.
2 relevant PRs:
- https://egit.irs.uni-stuttgart.de/eive/q7s-vivado/pulls/53
- https://egit.irs.uni-stuttgart.de/eive/q7s-vivado/pulls/54
eive-tmtc: v2.19.3
## Added
- Added NaN and Inf check for the `MEKF`. If these are detected, the `AcsController` will reset
the `MEKF` on its own once. This way, there will not be an event spam and operators will have
to look into the reason of wrong outputs. To restore the reset ability, an action command has
been added.
- Contingency handling for non-working I2C bus bug. Reboot the system if the I2C is not working.
## Fixed
- Fixed transition for dual power lane assemblies: When going from dual side submode to single side
submode, perform logical commanding first, similarly to when going to OFF mode.
- GPS time is only set to valid if at least one satellite is in view.
## Changed
- Bugfixes for STR mode transitions: Booting to mode ON with submode FIRMWARE now works properly.
Furthermore, the submode in the NORMAL mode now should be 0 instead of some ON mode submode.
- Updated GYR bias values to newest measurements. This also corrects the ADIS values to always
consit of just one digit.
- The CCSDS IP core handler now exposes a parameter to enable the priority select mode
for the PTME core. This mode prioritizes virtual channels with a lower index, so for example
the virtual channel (VC0) will have the highest priority, while VC3 will have the lowestg
priority. This mode will be enabled by default for now, but can be set via the parameter IF with
the unique parameter ID 0. The update of this mode requires a PTME reset. Therefore, it will only
be performed when the transmitter is off to avoid weird bugs.
- Connect and handle reset line for the PTME core in the software now.
- Safe mode controller failure event now only triggers once per minute.
# [v1.38.0] 2023-03-17
eive-tmtc: v2.19.2
## Fixed
- SA deployment file handling: Use exceptionless API.
- Fix deadlock in SD card manager constructor: Double lock of preferred SD card lock.
## Added
- Failure of Safe Mode Ctrl will now trigger an event. As this can only be caused by sensors not
being in the correct mode, the assemblies should take care that this will never happen and no
additional FDIR is needed.
## Changed
- Telemetry relevant datasets for the RWs are now set invalid and partially reset on shotdown.
- I2C PST now has a polling frequency of 0.4 seconds instead of 0.2 seconds.
- GS PST now has a polling frequency of 0.5 seconds instead of 1 second.
- Bump FSFW: merged upstream.
- Move BPX battery scheduling to ACS PST to avoid clashes with IMTQ scheduling / polling
# [v1.37.2] 2023-03-14
- Changed `PoolManager` bugfix implementation in the FSFW.
- Some tweaks for IPC and TM store configuration
# [v1.37.1] 2023-03-14
This version works on the EM as well.
eive-tmtc: v2.19.1
## Added
- Added `EXECUTE_SHELL_CMD` action command for `CoreController` to execute arbitrary Linux commands.
- Added some missing PLOC commands.
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/462
- Add `PcduHandlerDummy` component.
- Added parameter for timeout until `MEKF_INVALID_MODE_VIOLATION` event is triggered.
## Fixed
- Pointing control of the `AcsController` was still expecting submodes instead of modes.
- Limitation of RW speeds was done before converting them to the correct unit scale.
- The Syrlinks task now has a proper name instead of `MAIN_SPI`.
- Make whole EIVE system initial transition work for the EM. This was also made possible by
always scheduling most EIVE components instead of tying the scheduling to preprocessor defines.
- Store more TCP und UDP packets.
- Bump fsfw for small tweak in local datapool manager: Re-enable or re-disabling dataset
generation will not fail anymore.
- Bump FSFW to simplify HK helpers: Was previously buggy and did not allow to use
minmum sampling frequency. Now both diagnostics and HK can use minimum
sampling frequency for requesting HK
- Bump FSFW to allow the TC/TM/IPC pools to spill to higher pools/pool pages.
## Changed
- Set `OBSW_ADD_TCS_CTRL` to 1. Always add TCS controller now for both EM and FM.
- generators module: Bump `fsfwgen` dependency to v0.3.1. The returnvalue CSV files are now sorted.
- generators module: Always generate subsystem ID CSV files now.
- The COM subsystem is now not commanded by the EIVE system anymore. Instead,
a separate RX_ONLY mode command will be sent at OBSW boot. After that,
commanding is done autonomously by the COM subsystem internally or by the operator. This prevents
the transmitter from going off during fallbacks to the SAFE mode, which might not always be
desired.
- Initialize switch states to a special `SWITCH_STATE_UNKNOWN` (2) variable. Return
`PowerSwitchIF::SWITCH_UNKNOWN` in switch state getter if this is the state.
- Wait 1 second before commanding SAFE mode. This ensures or at least increases the chance that
the switch states were initialized.
- Dual Lane Assemblies: The returnvalues of the dual lane power state machine FSM are not ignored
anymore.
# [v1.37.0] 2023-03-11
eive-tmtc: v2.18.1
## Added
- `SensorProcessing` now includes an FDIR for GPS altitude. If the measured GPS altitude is out
of bounds of the range defined in the `AcsParameters`, the altitude defaults to an altitude
set in the `AcsParameters`.
- `AcsController` will now never command a RW speed larger than the maximum allowed speed.
## Fixed
- `PAPB_EMPTY_SIGNAL_VC1` GPIO was not set up properly.
- Fix for heater names: HPA heater (index 7) is now the Syrlinks heater.
- `AcsParameters` setter were previously all for scalar parameters. Now vector and matrix
parameters use their respective setters.
- Several `AcsController` components had their own implementation of `AcsParameters`. This resulted
in those parameters not being updated, while the actual ones were updated. All instances of
`AcsParameters` not belonging to `AcsController` are eiter removed or replaced by pointer
instances.
- Instead of updating the `gsTargetModeControllerParameters`, the `targetModeControllerParameters`
were updated.
- Instead of updating the `idleModeControllerParameters`, the `targetModeControllerParameters`
were updated.
- Fixed Idle Mode Controller never calling `ptgLaw` and therefore never calculating control
values.
- Fixed wrong check on wether file used for persistant boolean flag on successful still existed.
- Scaling of MTQ Cmds now scales the current values to command with the current values and not
the values of the last step, which would result in undefined behaviour.
- Solved naming collision between file used for solar array deployment and confirmation for
ACS for solar array deployment.
- Fixed that scaling of RW torque would result in a zero vector unless the maximum value was exceeded.
- Bias for the GYR data was substracted within the wrong rf (sensor rf vs body rf).
## Changed
- Refactored TM pipeline to optimize usage of the PTME and communication downlink bandwidth.
This was done by moving the dumping of TMs to the VCs into separate threads with permanent loops.
These threads are then able to process high TM loads on demand. The PUS TM funnel will route
PUS packets to the approrpiate persisten TM stores and then demultiplex the TM to all registered
TM destinations as before.
- Service 5 now handles 40 events per cycle instead of 15
- Remove periodic SD card check. The file system is not mounted read-only anymore when using an
ext4 filesystem
- The `detumbleCounter` now does not get hard reset anymore, if the critical rate does not get
violated anymore. Instead it is incrementally reset.
- The RW antistiction now only takes the RW speeds in account.
- ACS CTRL transition to DETUBMLE is now done in CTRL internally. No
system level handling necessary anymore.
- More fixes and improvements for SD card handling. Extend SD card setup in core controller to
create full initial state for SD card manager are core controller as early as possible, turn
execution of setup file update blocking. This might solve the issue with the SD card manager
sometimes blocking for a long time.
- Request raw MTM measurement twice for IMTQ, might reduce number of times measurement could not
be retrieved.
- Event manager and event service have larger queues now: 45 -> 120 for Service 5, 80 -> 120 for
event manager
- ACS mode changes: The ACS CTRL submodes are now modes. DETUBMLE is now submode of SAFE mode.
- EIVE system now tracks the mode of the ACS subsyste in SAFE mode.
# [v1.36.0] 2023-03-08
eive-tmtc: v2.17.2
## Added
- Star Tracker Assembly
- New `REBOOT_COUNTER` and `INDIVIDUAL_BOOT_COUNTS` events. The first contains the total boot count
as a u64, the second one contains the individual boot counts as 4 u16. Add new core controller
action command `ANNOUNCE_BOOT_COUNTS` with action ID 3 which triggers both events. These events
will also be triggered on each reboot.
## Changed
- Persistent TM stores will now create new files on each reboot.
- Fast ACS subsystem commanding: Command SUS board consecutively with other devices now
- Star Tracker: Use ground confguration for EM and flight config for FM by default.
## Fixed
- Command TCS controller off first for TCS subsystem transition to off.
- Health handling for TCS board assembly
- Mode fallback from IDLE mode to SAFE mode due to ACS errors/events now works properly for
the ACS subsystem
- Bugfix in IDLE transition for system.
- `std::filesystem` API usages: Avoid exceptions by using variants which return an error code
instead of throwing exceptions.
- GPS fix loss was not reported if mode is unset.
- Star Tracker: OFF to NORMAL transition now posssible. Requires FSFW bump which sets
transition source modes properly for those transitions.
FSFW PR: https://egit.irs.uni-stuttgart.de/eive/fsfw/pulls/131
- Star Tracker JSON initialization is now done during object initization instead of redoing it
when building a command. This avoids missed deadlines issues in the ACS PST.
- Allow arbitrary submodes for dual lane boards to avoid FDIR reactions of subsystem components.
Bump FSFW to allow this.
- PUS 15 was not scheduled
- Transmitter timeout set to 2 minutes instead of 15 minutes. This will prevent to discharge the
battery in case the syrlinks starts transmitting due to detection of unintentional bitlock. This
happened e.g. on ground when the uplink to the flying latop was established.
- ACS system components are now always scheduled (EM specific)
# [v1.35.1] 2023-03-04
## Fixed
- ACS Board Assembly FDIR: Prevent permanent SAFE mode fallbacks by introducing special health
handling.
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/418/files
- Watchdog fixes
- IMTQ timing fixes
## Added
- Add IMTQ assembly
# [v1.35.0] 2023-03-04
eive-tmtc: v2.16.4
## Added
- Improved the OBSW watchdog by adding a watch functionality. The watch functionality is optional
and has to be enabled specifically by the application being watched by the watchdog when
starting the watchdog. If the watch functionality is enabled and the OBSW has not pinged
the watchdog via the FIFO for 2 minutes, the watchdog will restart the OBSW service via systemd.
The primary OBSW will only activate the watch functionality if it is the OBSW inside the
`/usr/bin` directory. This allows debugging the system by leaving flashed or manually copied
debugging images 2 minutes to start the watchdog without the watch functionality.
## Fixed
- Bumped FSFW: `Countdown` and `Stopwatch` use new monotonic clock API now.
- IMTQ: Various fixes, most notably missing buffer time after starting MGM measurement
and corrections for actuator commanding.
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/430
# [v1.34.0] 2023-03-03
eive-tmtc: v2.16.3
This might include the fix for the race condition where CPU usage jumped to 200 %. The race
condition was traced to the `Countdown` class, more specifically to the `getUptime` function where
the `/proc/uptime` file is read.
## Changed
- The SD card prefix is now set earlier inside the `CoreController` constructor
- The watchdog handling was moved outside the `CoreController` into the main loop.
- Moved polling of all SPI parts to the same PST.
- Allow quicker transition for the EIVE system component by allowing consecutive TCS and ACS
component commanding again.
- Changed a lot of lock guards to use timeouts
- Queue sizes of TCP/UDP servers increased from 20 to 50
- Significantly simplified and improved lock guard handling in TCS and ACS board polling
tasks.
## Fixed
- IMTQ: Sets were filled with wrong data, e.g. Raw MTM was filled with calibrated MTM measurements.
- Set RM3100 dataset to valid.
- Fixed units in calculation of ACS control laws safe and detumble.
- Bump FSFW for change in Countdown: Use system clock instead of reading uptime from file
to prevent possible race condition.
- GPS: No fix considered a fault now after 30 minutes instead of 5 hours.
- SUS Assembly FDIR: Prevent permanent SAFE mode fallbacks by introducing special health
handling.
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/418/files
## Added
- Added Syrlinks Assembly object to allow recovery handling and to fix faulty FDIR behaviour.
# [v1.33.0] 2023-03-01
eive-tmtc: v2.16.2
## Changed
- Move ACS board polling to separate worker thread.
- Move SUS board polling to separate worker thread.
## Fixed
- Linux GPS handler now checks the individual `*_SET` flags when analysing the `gpsd` struct.
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/400
# [v1.32.0] 2023-02-24
eive-tmtc: v2.16.1
## Fixed
- ADIS1650X: Added missing MDL_RANG pool entry for configuration set
- Bumped FSFW for bugfix in health service: No execution complete for targeted health announce
command.
- Removed matrix determinant calculation as part of the `MEKF`, which would take about
300ms of runtime
- Resetting the `MEKF` now also actually resets its stored state
- Bumped FSFW for bugfix in destination handler: Better error handling and able to process
destination folder path.
## Changed
- Added basic persistent TM store for PUS telemetry and basic interface to dump and delete
telemetry. Implementation is based on a timed rotating files, with the addition that files
might be generated more often if the maximum file size of 8192 bytes is exceeded.
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/320/files
- Commented out commanding of actuators as part of the `AcsController`
- Collection sets of the `AcsController` now get updated before running the actual ACS
algorithm
- `GpsController` now always gets scheduled
- The `CoreController` now initializes the initial clock from the time file as early as possible
(in the constructor) if possible, which should usually be the case.
## Added
- Added basic persistent TM store for PUS telemetry and basic interface to dump and delete
telemetry.
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/320/files
- `ExecutableComIfDummy` class to have a dummy for classes like the RTD polling class.
- Added `AcsController` action command to confirm solar array deployment, which then deletes
two files
- Added `AcsController` action command to reset `MEKF`
- `GpsCtrlDummy` now initializes the `gpsSet`
- `RwDummy` now initializes with a non faulty state
# [v1.31.1] 2023-02-23
## Fixed
- ADIS1650X configuration set was empty because the local pool variables were not registered.
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/402
- ACS Controller: Correction for size of MEKF dataset and some optimization and fixes
for actuator control which lead to a crash.
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/403
# [v1.31.0] 2023-02-23
eive-tmtc: v2.16.0
@ -57,7 +767,7 @@ COM PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/364
- `MekfData` now includes `mekfStatus`
- `CtrlValData` now includes `tgtRotRate`
# [v1.30.0]
# [v1.30.0] 2023-02-22
eive-tmtc: v2.14.0
@ -74,7 +784,7 @@ Event IDs for PDEC handler have changed in a breaking manner.
an event is triggered and the task is delayed for 400 ms.
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/393
# [v1.29.1]
# [v1.29.1] 2023-02-21
## Fixed
@ -86,7 +796,7 @@ Event IDs for PDEC handler have changed in a breaking manner.
Issue: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/issues/388
- Disable stopwatch in MAX31865 polling task
# [v1.29.0]
# [v1.29.0] 2023-02-21
eive-tmtc: v2.13.0
@ -107,7 +817,7 @@ eive-tmtc: v2.13.0
will be part of the TCS tree.
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/351
# [v1.28.1]
# [v1.28.1] 2023-02-21
## Fixed

View File

@ -9,9 +9,9 @@
# ##############################################################################
cmake_minimum_required(VERSION 3.13)
set(OBSW_VERSION_MAJOR 1)
set(OBSW_VERSION_MINOR 31)
set(OBSW_VERSION_REVISION 0)
set(OBSW_VERSION_MAJOR 2)
set(OBSW_VERSION_MINOR 0)
set(OBSW_VERSION_REVISION 5)
# set(CMAKE_VERBOSE TRUE)
@ -71,11 +71,13 @@ if(EIVE_Q7S_EM)
1
CACHE STRING "Q7S EM configuration")
set(INIT_VAL 0)
set(OBSW_STAR_TRACKER_GROUND_CONFIG 1)
else()
set(OBSW_Q7S_EM
0
CACHE STRING "Q7S EM configuration")
set(INIT_VAL 1)
set(OBSW_STAR_TRACKER_GROUND_CONFIG 0)
endif()
set(OBSW_ADD_MGT
${INIT_VAL}
@ -92,6 +94,9 @@ set(OBSW_ADD_SUN_SENSORS
set(OBSW_ADD_SUS_BOARD_ASS
${INIT_VAL}
CACHE STRING "Add sun sensor board assembly")
set(OBSW_ADD_THERMAL_TEMP_INSERTER
${OBSW_Q7S_EM}
CACHE STRING "Add thermal sensor temperature inserter")
set(OBSW_ADD_ACS_BOARD
${INIT_VAL}
CACHE STRING "Add ACS board module")
@ -108,10 +113,10 @@ set(OBSW_TC_FROM_PDEC
1
CACHE STRING "Poll telecommand from PDEC IP core")
set(OBSW_ADD_TCS_CTRL
${INIT_VAL}
1
CACHE STRING "Add TCS controllers")
set(OBSW_ADD_HEATERS
${INIT_VAL}
1
CACHE STRING "Add TCS heaters")
set(OBSW_ADD_PLOC_SUPERVISOR
${INIT_VAL}
@ -218,11 +223,12 @@ set(LIB_EIVE_MISSION_PATH mission)
set(LIB_ETL_PATH ${THIRD_PARTY_FOLDER}/etl)
set(LIB_CATCH2_PATH ${THIRD_PARTY_FOLDER}/Catch2)
set(LIB_LWGPS_PATH ${THIRD_PARTY_FOLDER}/lwgps)
set(LIB_ARCSEC_PATH ${THIRD_PARTY_FOLDER}/arcsec_star_tracker)
set(LIB_ARCSEC_PATH ${THIRD_PARTY_FOLDER}/sagittactl)
set(LIB_JSON_PATH ${THIRD_PARTY_FOLDER}/json)
set(FSFW_WARNING_SHADOW_LOCAL_GCC OFF)
set(EIVE_ADD_LINUX_FILES OFF)
set(FSFW_ADD_TMSTORAGE ON)
# Analyse different OS and architecture/target options, determine BSP_PATH,
# display information about compiler etc.
@ -294,8 +300,12 @@ include(BuildType)
set_build_type()
set(FSFW_DEBUG_INFO 0)
set(OBSW_ENABLE_PERIODIC_HK 1)
set(Q7S_CHECK_FOR_ALREADY_RUNNING_IMG 0)
if(RELEASE_BUILD MATCHES 0)
set(FSFW_DEBUG_INFO 1)
set(OBSW_ENABLE_PERIODIC_HK 0)
set(Q7S_CHECK_FOR_ALREADY_RUNNING_IMG 1)
endif()
# Configuration files
@ -402,7 +412,6 @@ add_subdirectory(thirdparty)
if(EIVE_ADD_LINUX_FILES)
if(TGT_BSP MATCHES "arm/q7s")
add_subdirectory(${LIB_GOMSPACE_PATH})
add_subdirectory(${LIB_ARCSEC_PATH})
endif()
add_subdirectory(${LINUX_PATH})
endif()
@ -480,7 +489,8 @@ endif()
target_link_libraries(${LIB_EIVE_MISSION} PUBLIC ${LIB_FSFW_NAME}
${LIB_OS_NAME})
target_link_libraries(${LIB_DUMMIES} PUBLIC ${LIB_FSFW_NAME} ${LIB_JSON_NAME})
target_link_libraries(${LIB_DUMMIES} PUBLIC ${LIB_EIVE_MISSION}
${LIB_FSFW_NAME} ${LIB_JSON_NAME})
target_link_libraries(${OBSW_NAME} PRIVATE ${LIB_EIVE_MISSION} ${LIB_DUMMIES})

View File

@ -18,6 +18,7 @@
11. [Q7S OBC](#q7s)
12. [Static Code Analysis](#static-code-analysis)
13. [Eclipse](#eclipse)
14. [CLion](#clion)
14. [Running the OBSW on a Raspberry Pi](#rpi)
15. [Running OBSW on EGSE](#egse)
16. [Manually preparing sysroots to compile gpsd](#gpsd)
@ -1229,6 +1230,22 @@ Finally, you can convert the generated `.xml` file to HTML with the following co
cppcheck-htmlreport --file=report.xml --report-dir=cppcheck --source-dir=..
```
# <a id="CLion"></a> CLion
CLion is the recommended IDE for the development of the hosted version of EIVE.
You can also set up CLion for cross-compilation of the primary OBSW.
There is a shared `.idea/cmake.xml` file to get started with this.
To make cross-compilation work, two special environment variables
need to be set:
- `ZYNQ_7020_ROOTFS` pointing to the root filesystem
- `CROSS_COMPILE` pointing to the the full path of the cross-compiler
without the specific tool suffix. For example, if the the cross-compiler
tools are located at `/opt/q7s-gcc/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin`,
this variable would be set
to `/opt/q7s-gcc/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf`
# <a id="eclipse"></a> Eclipse
When using Eclipse, there are two special build variables in the project properties

View File

@ -1,6 +1,7 @@
pipeline {
environment {
BUILDDIR_Q7 = 'build_q7'
BUILDDIR_Q7S = 'build_q7s_fm'
BUILDDIR_Q7S_EM = 'build_q7s_em'
BUILDDIR_LINUX = 'build_linux'
}
agent {
@ -12,15 +13,24 @@ pipeline {
stages {
stage('Clean') {
steps {
sh 'rm -rf $BUILDDIR_Q7'
sh 'rm -rf $BUILDDIR_Q7S'
sh 'rm -rf $BUILDDIR_Q7S_EM'
sh 'rm -rf $BUILDDIR_LINUX'
}
}
stage('Build Q7S') {
steps {
dir(BUILDDIR_Q7) {
dir(BUILDDIR_Q7S) {
sh 'cmake -DTGT_BSP="arm/q7s" -DCMAKE_BUILD_TYPE=Debug ..'
sh 'cmake --build . -j4'
sh 'cmake --build . -j8'
}
}
}
stage('Build Q7S EM') {
steps {
dir(BUILDDIR_Q7S_EM) {
sh 'cmake -DTGT_BSP="arm/q7s" -DEIVE_Q7S_EM=ON -DCMAKE_BUILD_TYPE=Debug ..'
sh 'cmake --build . -j8'
}
}
}
@ -28,7 +38,7 @@ pipeline {
steps {
dir(BUILDDIR_LINUX) {
sh 'cmake ..'
sh 'cmake --build . -j4'
sh 'cmake --build . -j8'
sh './eive-unittest'
}
}

View File

@ -4,12 +4,14 @@
#include <fsfw/tmtcservices/CommandingServiceBase.h>
#include <fsfw/tmtcservices/PusServiceBase.h>
#include <mission/controller/ThermalController.h>
#include <mission/core/GenericFactory.h>
#include <mission/genericFactory.h>
#include <mission/tmtc/TmFunnelHandler.h>
#include <objects/systemObjectList.h>
#include "../mission/utility/DummySdCardManager.h"
#include "OBSWConfig.h"
#include "fsfw/platform.h"
#include "fsfw/power/PowerSwitchIF.h"
#include "fsfw_tests/integration/task/TestTask.h"
#if OBSW_ADD_TMTC_UDP_SERVER == 1
@ -28,8 +30,7 @@
#include <dummies/AcuDummy.h>
#include <dummies/CoreControllerDummy.h>
#include "dummies/helpers.h"
#include "mission/utility/GlobalConfigHandler.h"
#include "dummies/helperFactory.h"
#ifdef PLATFORM_UNIX
#include <fsfw_hal/linux/serial/SerialComIF.h>
@ -37,10 +38,10 @@
#include "devices/gpioIds.h"
#include "fsfw_hal/linux/gpio/Gpio.h"
#include "linux/devices/ploc/PlocMPSoCHandler.h"
#include "linux/devices/ploc/PlocMPSoCHelper.h"
#include "linux/devices/ploc/PlocSupervisorHandler.h"
#include "linux/devices/ploc/PlocSupvUartMan.h"
#include "linux/payload/PlocMpsocHandler.h"
#include "linux/payload/PlocMpsocHelper.h"
#include "linux/payload/PlocSupervisorHandler.h"
#include "linux/payload/PlocSupvUartMan.h"
#include "test/gpio/DummyGpioIF.h"
#endif
@ -58,10 +59,21 @@ void ObjectFactory::produce(void* args) {
Factory::setStaticFrameworkObjectIds();
PusTmFunnel* pusFunnel;
CfdpTmFunnel* cfdpFunnel;
ObjectFactory::produceGenericObjects(nullptr, &pusFunnel, &cfdpFunnel);
StorageManagerIF* tmStore;
StorageManagerIF* ipcStore;
PersistentTmStores persistentStores;
auto sdcMan = new DummySdCardManager("/tmp");
ObjectFactory::produceGenericObjects(nullptr, &pusFunnel, &cfdpFunnel, *sdcMan, &ipcStore,
&tmStore, persistentStores);
auto* dummyGpioIF = new DummyGpioIF();
auto* dummySwitcher = new DummyPowerSwitcher(objects::PCDU_HANDLER, 18, 0);
std::vector<ReturnValue_t> switcherList;
auto initVal = PowerSwitchIF::SWITCH_OFF;
for (unsigned i = 0; i < 18; i++) {
switcherList.emplace_back(initVal);
}
dummySwitcher->setInitialSwitcherList(switcherList);
#ifdef PLATFORM_UNIX
new SerialComIF(objects::UART_COM_IF);
#if OBSW_ADD_PLOC_MPSOC == 1

View File

@ -1,7 +1,7 @@
/**
* @brief Auto-generated event translation file. Contains 260 translations.
* @brief Auto-generated event translation file. Contains 291 translations.
* @details
* Generated on: 2023-02-23 15:39:20
* Generated on: 2023-04-17 11:34:19
*/
#include "translateEvents.h"
@ -35,11 +35,11 @@ const char *INVALID_DEVICE_COMMAND_STRING = "INVALID_DEVICE_COMMAND";
const char *MONITORING_LIMIT_EXCEEDED_STRING = "MONITORING_LIMIT_EXCEEDED";
const char *MONITORING_AMBIGUOUS_STRING = "MONITORING_AMBIGUOUS";
const char *DEVICE_WANTS_HARD_REBOOT_STRING = "DEVICE_WANTS_HARD_REBOOT";
const char *SWITCH_WENT_OFF_STRING = "SWITCH_WENT_OFF";
const char *FUSE_CURRENT_HIGH_STRING = "FUSE_CURRENT_HIGH";
const char *FUSE_WENT_OFF_STRING = "FUSE_WENT_OFF";
const char *POWER_ABOVE_HIGH_LIMIT_STRING = "POWER_ABOVE_HIGH_LIMIT";
const char *POWER_BELOW_LOW_LIMIT_STRING = "POWER_BELOW_LOW_LIMIT";
const char *SWITCH_WENT_OFF_STRING = "SWITCH_WENT_OFF";
const char *HEATER_ON_STRING = "HEATER_ON";
const char *HEATER_OFF_STRING = "HEATER_OFF";
const char *HEATER_TIMEOUT_STRING = "HEATER_TIMEOUT";
@ -90,11 +90,16 @@ const char *CHANGE_OF_SETUP_PARAMETER_STRING = "CHANGE_OF_SETUP_PARAMETER";
const char *STORE_ERROR_STRING = "STORE_ERROR";
const char *MSG_QUEUE_ERROR_STRING = "MSG_QUEUE_ERROR";
const char *SERIALIZATION_ERROR_STRING = "SERIALIZATION_ERROR";
const char *FILESTORE_ERROR_STRING = "FILESTORE_ERROR";
const char *FILENAME_TOO_LARGE_ERROR_STRING = "FILENAME_TOO_LARGE_ERROR";
const char *SAFE_RATE_VIOLATION_STRING = "SAFE_RATE_VIOLATION";
const char *SAFE_RATE_RECOVERY_STRING = "SAFE_RATE_RECOVERY";
const char *MULTIPLE_RW_INVALID_STRING = "MULTIPLE_RW_INVALID";
const char *MEKF_INVALID_INFO_STRING = "MEKF_INVALID_INFO";
const char *MEKF_RECOVERY_STRING = "MEKF_RECOVERY";
const char *MEKF_AUTOMATIC_RESET_STRING = "MEKF_AUTOMATIC_RESET";
const char *MEKF_INVALID_MODE_VIOLATION_STRING = "MEKF_INVALID_MODE_VIOLATION";
const char *SAFE_MODE_CONTROLLER_FAILURE_STRING = "SAFE_MODE_CONTROLLER_FAILURE";
const char *SWITCH_CMD_SENT_STRING = "SWITCH_CMD_SENT";
const char *SWITCH_HAS_CHANGED_STRING = "SWITCH_HAS_CHANGED";
const char *SWITCHING_Q7S_DENIED_STRING = "SWITCHING_Q7S_DENIED";
@ -156,6 +161,11 @@ const char *LOST_BIT_LOCK_PDEC_STRING = "LOST_BIT_LOCK_PDEC";
const char *TOO_MANY_IRQS_STRING = "TOO_MANY_IRQS";
const char *POLL_SYSCALL_ERROR_PDEC_STRING = "POLL_SYSCALL_ERROR_PDEC";
const char *WRITE_SYSCALL_ERROR_PDEC_STRING = "WRITE_SYSCALL_ERROR_PDEC";
const char *PDEC_TRYING_RESET_WITH_INIT_STRING = "PDEC_TRYING_RESET_WITH_INIT";
const char *PDEC_TRYING_RESET_NO_INIT_STRING = "PDEC_TRYING_RESET_NO_INIT";
const char *PDEC_RESET_FAILED_STRING = "PDEC_RESET_FAILED";
const char *OPEN_IRQ_FILE_FAILED_STRING = "OPEN_IRQ_FILE_FAILED";
const char *PDEC_INIT_FAILED_STRING = "PDEC_INIT_FAILED";
const char *IMAGE_UPLOAD_FAILED_STRING = "IMAGE_UPLOAD_FAILED";
const char *IMAGE_DOWNLOAD_FAILED_STRING = "IMAGE_DOWNLOAD_FAILED";
const char *IMAGE_UPLOAD_SUCCESSFUL_STRING = "IMAGE_UPLOAD_SUCCESSFUL";
@ -167,7 +177,7 @@ const char *FIRMWARE_UPDATE_SUCCESSFUL_STRING = "FIRMWARE_UPDATE_SUCCESSFUL";
const char *FIRMWARE_UPDATE_FAILED_STRING = "FIRMWARE_UPDATE_FAILED";
const char *STR_HELPER_READING_REPLY_FAILED_STRING = "STR_HELPER_READING_REPLY_FAILED";
const char *STR_HELPER_COM_ERROR_STRING = "STR_HELPER_COM_ERROR";
const char *STR_HELPER_NO_REPLY_STRING = "STR_HELPER_NO_REPLY";
const char *STR_COM_REPLY_TIMEOUT_STRING = "STR_COM_REPLY_TIMEOUT";
const char *STR_HELPER_DEC_ERROR_STRING = "STR_HELPER_DEC_ERROR";
const char *POSITION_MISMATCH_STRING = "POSITION_MISMATCH";
const char *STR_HELPER_FILE_NOT_EXISTS_STRING = "STR_HELPER_FILE_NOT_EXISTS";
@ -203,6 +213,11 @@ const char *TRANSITION_OTHER_SIDE_FAILED_STRING = "TRANSITION_OTHER_SIDE_FAILED"
const char *NOT_ENOUGH_DEVICES_DUAL_MODE_STRING = "NOT_ENOUGH_DEVICES_DUAL_MODE";
const char *POWER_STATE_MACHINE_TIMEOUT_STRING = "POWER_STATE_MACHINE_TIMEOUT";
const char *SIDE_SWITCH_TRANSITION_NOT_ALLOWED_STRING = "SIDE_SWITCH_TRANSITION_NOT_ALLOWED";
const char *DIRECT_TRANSITION_TO_DUAL_OTHER_GPS_FAULTY_STRING = "DIRECT_TRANSITION_TO_DUAL_OTHER_GPS_FAULTY";
const char *TRANSITION_OTHER_SIDE_FAILED_12900_STRING = "TRANSITION_OTHER_SIDE_FAILED_12900";
const char *NOT_ENOUGH_DEVICES_DUAL_MODE_12901_STRING = "NOT_ENOUGH_DEVICES_DUAL_MODE_12901";
const char *POWER_STATE_MACHINE_TIMEOUT_12902_STRING = "POWER_STATE_MACHINE_TIMEOUT_12902";
const char *SIDE_SWITCH_TRANSITION_NOT_ALLOWED_12903_STRING = "SIDE_SWITCH_TRANSITION_NOT_ALLOWED_12903";
const char *CHILDREN_LOST_MODE_STRING = "CHILDREN_LOST_MODE";
const char *GPS_FIX_CHANGE_STRING = "GPS_FIX_CHANGE";
const char *CANT_GET_FIX_STRING = "CANT_GET_FIX";
@ -253,13 +268,34 @@ const char *REBOOT_HW_STRING = "REBOOT_HW";
const char *NO_SD_CARD_ACTIVE_STRING = "NO_SD_CARD_ACTIVE";
const char *VERSION_INFO_STRING = "VERSION_INFO";
const char *CURRENT_IMAGE_INFO_STRING = "CURRENT_IMAGE_INFO";
const char *REBOOT_COUNTER_STRING = "REBOOT_COUNTER";
const char *INDIVIDUAL_BOOT_COUNTS_STRING = "INDIVIDUAL_BOOT_COUNTS";
const char *TRYING_I2C_RECOVERY_STRING = "TRYING_I2C_RECOVERY";
const char *I2C_REBOOT_STRING = "I2C_REBOOT";
const char *PDEC_REBOOT_STRING = "PDEC_REBOOT";
const char *NO_VALID_SENSOR_TEMPERATURE_STRING = "NO_VALID_SENSOR_TEMPERATURE";
const char *NO_HEALTHY_HEATER_AVAILABLE_STRING = "NO_HEALTHY_HEATER_AVAILABLE";
const char *SYRLINKS_OVERHEATING_STRING = "SYRLINKS_OVERHEATING";
const char *PLOC_OVERHEATING_STRING = "PLOC_OVERHEATING";
const char *OBC_OVERHEATING_STRING = "OBC_OVERHEATING";
const char *HPA_OVERHEATING_STRING = "HPA_OVERHEATING";
const char *PLPCDU_OVERHEATING_STRING = "PLPCDU_OVERHEATING";
const char *CAMERA_OVERHEATING_STRING = "CAMERA_OVERHEATING";
const char *PCDU_SYSTEM_OVERHEATING_STRING = "PCDU_SYSTEM_OVERHEATING";
const char *HEATER_NOT_OFF_FOR_OFF_MODE_STRING = "HEATER_NOT_OFF_FOR_OFF_MODE";
const char *MGT_OVERHEATING_STRING = "MGT_OVERHEATING";
const char *TX_TIMER_EXPIRED_STRING = "TX_TIMER_EXPIRED";
const char *BIT_LOCK_TX_ON_STRING = "BIT_LOCK_TX_ON";
const char *POSSIBLE_FILE_CORRUPTION_STRING = "POSSIBLE_FILE_CORRUPTION";
const char *FILE_TOO_LARGE_STRING = "FILE_TOO_LARGE";
const char *BUSY_DUMPING_EVENT_STRING = "BUSY_DUMPING_EVENT";
const char *DUMP_OK_STORE_DONE_STRING = "DUMP_OK_STORE_DONE";
const char *DUMP_NOK_STORE_DONE_STRING = "DUMP_NOK_STORE_DONE";
const char *DUMP_MISC_STORE_DONE_STRING = "DUMP_MISC_STORE_DONE";
const char *DUMP_HK_STORE_DONE_STRING = "DUMP_HK_STORE_DONE";
const char *DUMP_CFDP_STORE_DONE_STRING = "DUMP_CFDP_STORE_DONE";
const char *DUMP_OK_CANCELLED_STRING = "DUMP_OK_CANCELLED";
const char *DUMP_NOK_CANCELLED_STRING = "DUMP_NOK_CANCELLED";
const char *DUMP_MISC_CANCELLED_STRING = "DUMP_MISC_CANCELLED";
const char *DUMP_HK_CANCELLED_STRING = "DUMP_HK_CANCELLED";
const char *DUMP_CFDP_CANCELLED_STRING = "DUMP_CFDP_CANCELLED";
const char *translateEvents(Event event) {
switch ((event & 0xFFFF)) {
@ -323,16 +359,16 @@ const char *translateEvents(Event event) {
return MONITORING_AMBIGUOUS_STRING;
case (2811):
return DEVICE_WANTS_HARD_REBOOT_STRING;
case (4201):
return FUSE_CURRENT_HIGH_STRING;
case (4202):
return FUSE_WENT_OFF_STRING;
case (4204):
return POWER_ABOVE_HIGH_LIMIT_STRING;
case (4205):
return POWER_BELOW_LOW_LIMIT_STRING;
case (4300):
return SWITCH_WENT_OFF_STRING;
case (4301):
return FUSE_CURRENT_HIGH_STRING;
case (4302):
return FUSE_WENT_OFF_STRING;
case (4304):
return POWER_ABOVE_HIGH_LIMIT_STRING;
case (4305):
return POWER_BELOW_LOW_LIMIT_STRING;
case (5000):
return HEATER_ON_STRING;
case (5001):
@ -433,6 +469,10 @@ const char *translateEvents(Event event) {
return MSG_QUEUE_ERROR_STRING;
case (10802):
return SERIALIZATION_ERROR_STRING;
case (10803):
return FILESTORE_ERROR_STRING;
case (10804):
return FILENAME_TOO_LARGE_ERROR_STRING;
case (11200):
return SAFE_RATE_VIOLATION_STRING;
case (11201):
@ -442,7 +482,13 @@ const char *translateEvents(Event event) {
case (11203):
return MEKF_INVALID_INFO_STRING;
case (11204):
return MEKF_RECOVERY_STRING;
case (11205):
return MEKF_AUTOMATIC_RESET_STRING;
case (11206):
return MEKF_INVALID_MODE_VIOLATION_STRING;
case (11207):
return SAFE_MODE_CONTROLLER_FAILURE_STRING;
case (11300):
return SWITCH_CMD_SENT_STRING;
case (11301):
@ -565,6 +611,16 @@ const char *translateEvents(Event event) {
return POLL_SYSCALL_ERROR_PDEC_STRING;
case (12409):
return WRITE_SYSCALL_ERROR_PDEC_STRING;
case (12410):
return PDEC_TRYING_RESET_WITH_INIT_STRING;
case (12411):
return PDEC_TRYING_RESET_NO_INIT_STRING;
case (12412):
return PDEC_RESET_FAILED_STRING;
case (12413):
return OPEN_IRQ_FILE_FAILED_STRING;
case (12414):
return PDEC_INIT_FAILED_STRING;
case (12500):
return IMAGE_UPLOAD_FAILED_STRING;
case (12501):
@ -588,16 +644,16 @@ const char *translateEvents(Event event) {
case (12510):
return STR_HELPER_COM_ERROR_STRING;
case (12511):
return STR_HELPER_NO_REPLY_STRING;
case (12512):
return STR_HELPER_DEC_ERROR_STRING;
return STR_COM_REPLY_TIMEOUT_STRING;
case (12513):
return POSITION_MISMATCH_STRING;
return STR_HELPER_DEC_ERROR_STRING;
case (12514):
return STR_HELPER_FILE_NOT_EXISTS_STRING;
return POSITION_MISMATCH_STRING;
case (12515):
return STR_HELPER_SENDING_PACKET_FAILED_STRING;
return STR_HELPER_FILE_NOT_EXISTS_STRING;
case (12516):
return STR_HELPER_SENDING_PACKET_FAILED_STRING;
case (12517):
return STR_HELPER_REQUESTING_MSG_FAILED_STRING;
case (12600):
return MPSOC_FLASH_WRITE_FAILED_STRING;
@ -659,6 +715,16 @@ const char *translateEvents(Event event) {
return POWER_STATE_MACHINE_TIMEOUT_STRING;
case (12803):
return SIDE_SWITCH_TRANSITION_NOT_ALLOWED_STRING;
case (12804):
return DIRECT_TRANSITION_TO_DUAL_OTHER_GPS_FAULTY_STRING;
case (12900):
return TRANSITION_OTHER_SIDE_FAILED_12900_STRING;
case (12901):
return NOT_ENOUGH_DEVICES_DUAL_MODE_12901_STRING;
case (12902):
return POWER_STATE_MACHINE_TIMEOUT_12902_STRING;
case (12903):
return SIDE_SWITCH_TRANSITION_NOT_ALLOWED_12903_STRING;
case (13000):
return CHILDREN_LOST_MODE_STRING;
case (13100):
@ -759,20 +825,62 @@ const char *translateEvents(Event event) {
return VERSION_INFO_STRING;
case (14006):
return CURRENT_IMAGE_INFO_STRING;
case (14007):
return REBOOT_COUNTER_STRING;
case (14008):
return INDIVIDUAL_BOOT_COUNTS_STRING;
case (14010):
return TRYING_I2C_RECOVERY_STRING;
case (14011):
return I2C_REBOOT_STRING;
case (14012):
return PDEC_REBOOT_STRING;
case (14100):
return NO_VALID_SENSOR_TEMPERATURE_STRING;
case (14101):
return NO_HEALTHY_HEATER_AVAILABLE_STRING;
case (14102):
return SYRLINKS_OVERHEATING_STRING;
case (14103):
return PLOC_OVERHEATING_STRING;
case (14104):
return OBC_OVERHEATING_STRING;
case (14105):
return HPA_OVERHEATING_STRING;
return CAMERA_OVERHEATING_STRING;
case (14106):
return PLPCDU_OVERHEATING_STRING;
return PCDU_SYSTEM_OVERHEATING_STRING;
case (14107):
return HEATER_NOT_OFF_FOR_OFF_MODE_STRING;
case (14108):
return MGT_OVERHEATING_STRING;
case (14201):
return TX_TIMER_EXPIRED_STRING;
case (14202):
return BIT_LOCK_TX_ON_STRING;
case (14300):
return POSSIBLE_FILE_CORRUPTION_STRING;
case (14301):
return FILE_TOO_LARGE_STRING;
case (14302):
return BUSY_DUMPING_EVENT_STRING;
case (14305):
return DUMP_OK_STORE_DONE_STRING;
case (14306):
return DUMP_NOK_STORE_DONE_STRING;
case (14307):
return DUMP_MISC_STORE_DONE_STRING;
case (14308):
return DUMP_HK_STORE_DONE_STRING;
case (14309):
return DUMP_CFDP_STORE_DONE_STRING;
case (14310):
return DUMP_OK_CANCELLED_STRING;
case (14311):
return DUMP_NOK_CANCELLED_STRING;
case (14312):
return DUMP_MISC_CANCELLED_STRING;
case (14313):
return DUMP_HK_CANCELLED_STRING;
case (14314):
return DUMP_CFDP_CANCELLED_STRING;
default:
return "UNKNOWN_EVENT";
}

View File

@ -1,8 +1,8 @@
/**
* @brief Auto-generated object translation file.
* @details
* Contains 148 translations.
* Generated on: 2023-02-23 15:39:20
* Contains 171 translations.
* Generated on: 2023-04-17 11:34:19
*/
#include "translateObjects.h"
@ -38,6 +38,8 @@ const char *GYRO_3_L3G_HANDLER_STRING = "GYRO_3_L3G_HANDLER";
const char *RW4_STRING = "RW4";
const char *STAR_TRACKER_STRING = "STAR_TRACKER";
const char *GPS_CONTROLLER_STRING = "GPS_CONTROLLER";
const char *GPS_0_HEALTH_DEV_STRING = "GPS_0_HEALTH_DEV";
const char *GPS_1_HEALTH_DEV_STRING = "GPS_1_HEALTH_DEV";
const char *IMTQ_POLLING_STRING = "IMTQ_POLLING";
const char *IMTQ_HANDLER_STRING = "IMTQ_HANDLER";
const char *PCDU_HANDLER_STRING = "PCDU_HANDLER";
@ -50,10 +52,14 @@ const char *PLPCDU_HANDLER_STRING = "PLPCDU_HANDLER";
const char *RAD_SENSOR_STRING = "RAD_SENSOR";
const char *PLOC_UPDATER_STRING = "PLOC_UPDATER";
const char *PLOC_MEMORY_DUMPER_STRING = "PLOC_MEMORY_DUMPER";
const char *STR_HELPER_STRING = "STR_HELPER";
const char *STR_COM_IF_STRING = "STR_COM_IF";
const char *PLOC_MPSOC_HELPER_STRING = "PLOC_MPSOC_HELPER";
const char *AXI_PTME_CONFIG_STRING = "AXI_PTME_CONFIG";
const char *PTME_CONFIG_STRING = "PTME_CONFIG";
const char *PTME_VC0_LIVE_TM_STRING = "PTME_VC0_LIVE_TM";
const char *PTME_VC1_LOG_TM_STRING = "PTME_VC1_LOG_TM";
const char *PTME_VC2_HK_TM_STRING = "PTME_VC2_HK_TM";
const char *PTME_VC3_CFDP_TM_STRING = "PTME_VC3_CFDP_TM";
const char *PLOC_MPSOC_HANDLER_STRING = "PLOC_MPSOC_HANDLER";
const char *PLOC_SUPERVISOR_HANDLER_STRING = "PLOC_SUPERVISOR_HANDLER";
const char *PLOC_SUPERVISOR_HELPER_STRING = "PLOC_SUPERVISOR_HELPER";
@ -82,11 +88,15 @@ const char *RTD_13_IC16_PLPCDU_HEATSPREADER_STRING = "RTD_13_IC16_PLPCDU_HEATSPR
const char *RTD_14_IC17_TCS_BOARD_STRING = "RTD_14_IC17_TCS_BOARD";
const char *RTD_15_IC18_IMTQ_STRING = "RTD_15_IC18_IMTQ";
const char *SYRLINKS_HANDLER_STRING = "SYRLINKS_HANDLER";
const char *SYRLINKS_COM_HANDLER_STRING = "SYRLINKS_COM_HANDLER";
const char *ARDUINO_COM_IF_STRING = "ARDUINO_COM_IF";
const char *DUMMY_COM_IF_STRING = "DUMMY_COM_IF";
const char *SCEX_UART_READER_STRING = "SCEX_UART_READER";
const char *SPI_RTD_COM_IF_STRING = "SPI_RTD_COM_IF";
const char *UART_COM_IF_STRING = "UART_COM_IF";
const char *ACS_BOARD_POLLING_TASK_STRING = "ACS_BOARD_POLLING_TASK";
const char *RW_POLLING_TASK_STRING = "RW_POLLING_TASK";
const char *SPI_RTD_COM_IF_STRING = "SPI_RTD_COM_IF";
const char *SUS_POLLING_TASK_STRING = "SUS_POLLING_TASK";
const char *CCSDS_PACKET_DISTRIBUTOR_STRING = "CCSDS_PACKET_DISTRIBUTOR";
const char *PUS_PACKET_DISTRIBUTOR_STRING = "PUS_PACKET_DISTRIBUTOR";
const char *TCP_TMTC_SERVER_STRING = "TCP_TMTC_SERVER";
@ -112,6 +122,7 @@ const char *PUS_SERVICE_5_EVENT_REPORTING_STRING = "PUS_SERVICE_5_EVENT_REPORTIN
const char *PUS_SERVICE_8_FUNCTION_MGMT_STRING = "PUS_SERVICE_8_FUNCTION_MGMT";
const char *PUS_SERVICE_9_TIME_MGMT_STRING = "PUS_SERVICE_9_TIME_MGMT";
const char *PUS_SERVICE_11_TC_SCHEDULER_STRING = "PUS_SERVICE_11_TC_SCHEDULER";
const char *PUS_SERVICE_15_TM_STORAGE_STRING = "PUS_SERVICE_15_TM_STORAGE";
const char *PUS_SERVICE_17_TEST_STRING = "PUS_SERVICE_17_TEST";
const char *PUS_SERVICE_20_PARAMETERS_STRING = "PUS_SERVICE_20_PARAMETERS";
const char *PUS_SERVICE_200_MODE_MGMT_STRING = "PUS_SERVICE_200_MODE_MGMT";
@ -134,12 +145,15 @@ const char *HEATER_3_OBC_BRD_STRING = "HEATER_3_OBC_BRD";
const char *HEATER_4_CAMERA_STRING = "HEATER_4_CAMERA";
const char *HEATER_5_STR_STRING = "HEATER_5_STR";
const char *HEATER_6_DRO_STRING = "HEATER_6_DRO";
const char *HEATER_7_HPA_STRING = "HEATER_7_HPA";
const char *HEATER_7_SYRLINKS_STRING = "HEATER_7_SYRLINKS";
const char *ACS_BOARD_ASS_STRING = "ACS_BOARD_ASS";
const char *SUS_BOARD_ASS_STRING = "SUS_BOARD_ASS";
const char *TCS_BOARD_ASS_STRING = "TCS_BOARD_ASS";
const char *RW_ASS_STRING = "RW_ASS";
const char *RW_ASSY_STRING = "RW_ASSY";
const char *CAM_SWITCHER_STRING = "CAM_SWITCHER";
const char *SYRLINKS_ASSY_STRING = "SYRLINKS_ASSY";
const char *IMTQ_ASSY_STRING = "IMTQ_ASSY";
const char *STR_ASSY_STRING = "STR_ASSY";
const char *TM_FUNNEL_STRING = "TM_FUNNEL";
const char *PUS_TM_FUNNEL_STRING = "PUS_TM_FUNNEL";
const char *CFDP_TM_FUNNEL_STRING = "CFDP_TM_FUNNEL";
@ -150,7 +164,16 @@ const char *ACS_SUBSYSTEM_STRING = "ACS_SUBSYSTEM";
const char *PL_SUBSYSTEM_STRING = "PL_SUBSYSTEM";
const char *TCS_SUBSYSTEM_STRING = "TCS_SUBSYSTEM";
const char *COM_SUBSYSTEM_STRING = "COM_SUBSYSTEM";
const char *CCSDS_IP_CORE_BRIDGE_STRING = "CCSDS_IP_CORE_BRIDGE";
const char *MISC_TM_STORE_STRING = "MISC_TM_STORE";
const char *OK_TM_STORE_STRING = "OK_TM_STORE";
const char *NOT_OK_TM_STORE_STRING = "NOT_OK_TM_STORE";
const char *HK_TM_STORE_STRING = "HK_TM_STORE";
const char *CFDP_TM_STORE_STRING = "CFDP_TM_STORE";
const char *LIVE_TM_TASK_STRING = "LIVE_TM_TASK";
const char *LOG_STORE_AND_TM_TASK_STRING = "LOG_STORE_AND_TM_TASK";
const char *HK_STORE_AND_TM_TASK_STRING = "HK_STORE_AND_TM_TASK";
const char *CFDP_STORE_AND_TM_TASK_STRING = "CFDP_STORE_AND_TM_TASK";
const char *DOWNLINK_RAM_STORE_STRING = "DOWNLINK_RAM_STORE";
const char *THERMAL_TEMP_INSERTER_STRING = "THERMAL_TEMP_INSERTER";
const char *DUMMY_INTERFACE_STRING = "DUMMY_INTERFACE";
const char *NO_OBJECT_STRING = "NO_OBJECT";
@ -221,6 +244,10 @@ const char *translateObject(object_id_t object) {
return STAR_TRACKER_STRING;
case 0x44130045:
return GPS_CONTROLLER_STRING;
case 0x44130046:
return GPS_0_HEALTH_DEV_STRING;
case 0x44130047:
return GPS_1_HEALTH_DEV_STRING;
case 0x44140013:
return IMTQ_POLLING_STRING;
case 0x44140014:
@ -246,13 +273,21 @@ const char *translateObject(object_id_t object) {
case 0x44330001:
return PLOC_MEMORY_DUMPER_STRING;
case 0x44330002:
return STR_HELPER_STRING;
return STR_COM_IF_STRING;
case 0x44330003:
return PLOC_MPSOC_HELPER_STRING;
case 0x44330004:
return AXI_PTME_CONFIG_STRING;
case 0x44330005:
return PTME_CONFIG_STRING;
case 0x44330006:
return PTME_VC0_LIVE_TM_STRING;
case 0x44330007:
return PTME_VC1_LOG_TM_STRING;
case 0x44330008:
return PTME_VC2_HK_TM_STRING;
case 0x44330009:
return PTME_VC3_CFDP_TM_STRING;
case 0x44330015:
return PLOC_MPSOC_HANDLER_STRING;
case 0x44330016:
@ -309,16 +344,24 @@ const char *translateObject(object_id_t object) {
return RTD_15_IC18_IMTQ_STRING;
case 0x445300A3:
return SYRLINKS_HANDLER_STRING;
case 0x445300A4:
return SYRLINKS_COM_HANDLER_STRING;
case 0x49000001:
return ARDUINO_COM_IF_STRING;
case 0x49000002:
return DUMMY_COM_IF_STRING;
case 0x49010006:
return SCEX_UART_READER_STRING;
case 0x49020006:
return SPI_RTD_COM_IF_STRING;
case 0x49030003:
return UART_COM_IF_STRING;
case 0x49060004:
return ACS_BOARD_POLLING_TASK_STRING;
case 0x49060005:
return RW_POLLING_TASK_STRING;
case 0x49060006:
return SPI_RTD_COM_IF_STRING;
case 0x49060007:
return SUS_POLLING_TASK_STRING;
case 0x50000100:
return CCSDS_PACKET_DISTRIBUTOR_STRING;
case 0x50000200:
@ -369,6 +412,8 @@ const char *translateObject(object_id_t object) {
return PUS_SERVICE_9_TIME_MGMT_STRING;
case 0x53000011:
return PUS_SERVICE_11_TC_SCHEDULER_STRING;
case 0x53000015:
return PUS_SERVICE_15_TM_STORAGE_STRING;
case 0x53000017:
return PUS_SERVICE_17_TEST_STRING;
case 0x53000020:
@ -414,7 +459,7 @@ const char *translateObject(object_id_t object) {
case 0x60000006:
return HEATER_6_DRO_STRING;
case 0x60000007:
return HEATER_7_HPA_STRING;
return HEATER_7_SYRLINKS_STRING;
case 0x73000001:
return ACS_BOARD_ASS_STRING;
case 0x73000002:
@ -422,9 +467,15 @@ const char *translateObject(object_id_t object) {
case 0x73000003:
return TCS_BOARD_ASS_STRING;
case 0x73000004:
return RW_ASS_STRING;
return RW_ASSY_STRING;
case 0x73000006:
return CAM_SWITCHER_STRING;
case 0x73000007:
return SYRLINKS_ASSY_STRING;
case 0x73000008:
return IMTQ_ASSY_STRING;
case 0x73000009:
return STR_ASSY_STRING;
case 0x73000100:
return TM_FUNNEL_STRING;
case 0x73000101:
@ -445,8 +496,26 @@ const char *translateObject(object_id_t object) {
return TCS_SUBSYSTEM_STRING;
case 0x73010004:
return COM_SUBSYSTEM_STRING;
case 0x73500000:
return CCSDS_IP_CORE_BRIDGE_STRING;
case 0x73020001:
return MISC_TM_STORE_STRING;
case 0x73020002:
return OK_TM_STORE_STRING;
case 0x73020003:
return NOT_OK_TM_STORE_STRING;
case 0x73020004:
return HK_TM_STORE_STRING;
case 0x73030000:
return CFDP_TM_STORE_STRING;
case 0x73040000:
return LIVE_TM_TASK_STRING;
case 0x73040001:
return LOG_STORE_AND_TM_TASK_STRING;
case 0x73040002:
return HK_STORE_AND_TM_TASK_STRING;
case 0x73040003:
return CFDP_STORE_AND_TM_TASK_STRING;
case 0x73040004:
return DOWNLINK_RAM_STORE_STRING;
case 0x90000003:
return THERMAL_TEMP_INSERTER_STRING;
case 0xCAFECAFE:

View File

@ -14,7 +14,7 @@
#include "OBSWConfig.h"
#include "ObjectFactory.h"
#include "mission/core/scheduling.h"
#include "mission/scheduling.h"
#include "scheduling.h"
#ifdef LINUX
@ -95,46 +95,43 @@ void scheduling::initTasks() {
sif::error << "Add component UDP Polling failed" << std::endl;
}
/* PUS Services */
PeriodicTaskIF* pusVerification = factory->createPeriodicTask(
"PUS_VERIF", 40, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.200, missedDeadlineFunc);
result = pusVerification->addComponent(objects::PUS_SERVICE_1_VERIFICATION);
PeriodicTaskIF* pusHighPrio = factory->createPeriodicTask(
"PUS_HIGH_PRIO", 60, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.200, missedDeadlineFunc);
result = pusHighPrio->addComponent(objects::PUS_SERVICE_1_VERIFICATION);
if (result != returnvalue::OK) {
sif::error << "Object add component failed" << std::endl;
}
PeriodicTaskIF* eventHandling = factory->createPeriodicTask(
"EVENTS", 60, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.200, missedDeadlineFunc);
result = eventHandling->addComponent(objects::EVENT_MANAGER);
result = pusHighPrio->addComponent(objects::EVENT_MANAGER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("EVENT_MNGR", objects::EVENT_MANAGER);
scheduling::printAddObjectError("EVENT_MGMT", objects::EVENT_MANAGER);
}
result = eventHandling->addComponent(objects::PUS_SERVICE_5_EVENT_REPORTING);
result = pusHighPrio->addComponent(objects::PUS_SERVICE_5_EVENT_REPORTING);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS5", objects::PUS_SERVICE_5_EVENT_REPORTING);
}
PeriodicTaskIF* pusHighPrio = factory->createPeriodicTask(
"PUS_HIGH_PRIO", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.200, missedDeadlineFunc);
result = pusHighPrio->addComponent(objects::PUS_SERVICE_2_DEVICE_ACCESS);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS2", objects::PUS_SERVICE_2_DEVICE_ACCESS);
}
result = pusHighPrio->addComponent(objects::PUS_SERVICE_9_TIME_MGMT);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS9", objects::PUS_SERVICE_9_TIME_MGMT);
}
PeriodicTaskIF* pusMedPrio = factory->createPeriodicTask(
"PUS_MED_PRIO", 40, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.8, missedDeadlineFunc);
result = pusHighPrio->addComponent(objects::PUS_SERVICE_2_DEVICE_ACCESS);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS2", objects::PUS_SERVICE_2_DEVICE_ACCESS);
}
result = pusHighPrio->addComponent(objects::PUS_SERVICE_3_HOUSEKEEPING);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS3", objects::PUS_SERVICE_3_HOUSEKEEPING);
}
PeriodicTaskIF* pusMedPrio = factory->createPeriodicTask(
"PUS_MED_PRIO", 40, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.8, missedDeadlineFunc);
result = pusMedPrio->addComponent(objects::PUS_SERVICE_8_FUNCTION_MGMT);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS8", objects::PUS_SERVICE_8_FUNCTION_MGMT);
}
result = pusMedPrio->addComponent(objects::PUS_SERVICE_15_TM_STORAGE);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS15", objects::PUS_SERVICE_15_TM_STORAGE);
}
result = pusMedPrio->addComponent(objects::PUS_SERVICE_200_MODE_MGMT);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS200", objects::PUS_SERVICE_200_MODE_MGMT);
@ -143,10 +140,7 @@ void scheduling::initTasks() {
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS20", objects::PUS_SERVICE_20_PARAMETERS);
}
PeriodicTaskIF* pusLowPrio = factory->createPeriodicTask(
"PUS_LOW_PRIO", 30, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.6, missedDeadlineFunc);
result = pusLowPrio->addComponent(objects::PUS_SERVICE_17_TEST);
result = pusMedPrio->addComponent(objects::PUS_SERVICE_17_TEST);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS17", objects::PUS_SERVICE_17_TEST);
}
@ -157,11 +151,14 @@ void scheduling::initTasks() {
if (result != returnvalue::OK) {
scheduling::printAddObjectError("Core controller dummy", objects::CORE_CONTROLLER);
}
result = thermalTask->addComponent(objects::THERMAL_CONTROLLER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("THERMAL_CONTROLLER", objects::THERMAL_CONTROLLER);
}
result = thermalTask->addComponent(objects::HEATER_HANDLER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("HEATER_HANDLER", objects::HEATER_HANDLER);
}
FixedTimeslotTaskIF* pstTask = factory->createFixedTimeslotTask(
"DUMMY_PST", 75, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, 0.5, missedDeadlineFunc);
@ -199,7 +196,8 @@ void scheduling::initTasks() {
#endif /* OBSW_ADD_TEST_CODE == 1 */
PeriodicTaskIF* dummyTask = factory->createPeriodicTask(
"DUMMY_TASK", 30, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, missedDeadlineFunc);
"DUMMY_TASK", 35, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.8, missedDeadlineFunc);
dummyTask->addComponent(objects::THERMAL_TEMP_INSERTER);
scheduling::scheduleTmpTempSensors(dummyTask);
scheduling::scheduleRtdSensors(dummyTask);
dummyTask->addComponent(objects::SUS_0_N_LOC_XFYFZM_PT_XF);
@ -220,11 +218,8 @@ void scheduling::initTasks() {
udpPollingTask->startTask();
tcpPollingTask->startTask();
pusVerification->startTask();
eventHandling->startTask();
pusHighPrio->startTask();
pusMedPrio->startTask();
pusLowPrio->startTask();
pstTask->startTask();
thermalTask->startTask();

View File

@ -1,5 +1,5 @@
target_sources(${OBSW_NAME} PUBLIC InitMission.cpp main.cpp gpioInit.cpp
ObjectFactory.cpp RPiSdCardManager.cpp)
ObjectFactory.cpp)
add_subdirectory(boardconfig)
add_subdirectory(boardtest)

View File

@ -82,7 +82,7 @@ void ObjectFactory::produce(void* args) {
#endif
#if OBSW_ADD_SCEX_DEVICE == 1
auto* sdcMan = new RPiSdCardManager("/tmp");
auto* sdcMan = new DummySdCardManager("/tmp");
createScexComponents(uart::DEV, pwrSwitcher, *sdcMan, true, std::nullopt);
#endif

View File

@ -1,13 +0,0 @@
#include "RPiSdCardManager.h"
RPiSdCardManager::RPiSdCardManager(std::string prefix) : prefix(std::move(prefix)) {}
const std::string& RPiSdCardManager::getCurrentMountPrefix() const { return prefix; }
bool RPiSdCardManager::isSdCardUsable(sd::SdCard sdCard) { return true; }
std::optional<sd::SdCard> RPiSdCardManager::getPreferredSdCard() const { return std::nullopt; }
void RPiSdCardManager::setActiveSdCard(sd::SdCard sdCard) {}
std::optional<sd::SdCard> RPiSdCardManager::getActiveSdCard() const { return std::nullopt; }

View File

@ -12,7 +12,6 @@ target_sources(${OBSW_NAME} PUBLIC main.cpp obsw.cpp)
add_subdirectory(boardtest)
add_subdirectory(boardconfig)
add_subdirectory(comIF)
add_subdirectory(core)
if(EIVE_Q7S_EM)

View File

@ -13,10 +13,12 @@
/** All of the following flags should be enabled for mission code */
/*******************************************************************/
#define OBSW_ENABLE_PERIODIC_HK 0
#define OBSW_ENABLE_SYRLINKS_TRANSMIT_TIMEOUT 0
// This enables a lot of periodically generated telemetry, so it can make sense to
// disable this for debugging purposes.
#define OBSW_ENABLE_PERIODIC_HK @OBSW_ENABLE_PERIODIC_HK@
// This switch will cause the SW to command the EIVE system object to safe mode. This will
// trigger a lot of events, so it can make sense to disable this for debugging purposes
// trigger a lot of events, so it can make sense to disable this for debugging purposes.
#define OBSW_COMMAND_SAFE_MODE_AT_STARTUP 1
#define OBSW_ADD_GOMSPACE_PCDU @OBSW_ADD_GOMSPACE_PCDU@
@ -29,8 +31,8 @@
#define OBSW_ADD_SUS_BOARD_ASS @OBSW_ADD_SUS_BOARD_ASS@
#define OBSW_ADD_ACS_BOARD @OBSW_ADD_ACS_BOARD@
#define OBSW_ADD_ACS_CTRL 1
#define OBSW_ADD_TCS_CTRL 1
#define OBSW_ADD_GPS_CTRL @OBSW_ADD_GPS_CTRL@
#define OBSW_ADD_TCS_CTRL @OBSW_ADD_TCS_CTRL@
#define OBSW_ADD_RW @OBSW_ADD_RW@
#define OBSW_ADD_RTD_DEVICES @OBSW_ADD_RTD_DEVICES@
#define OBSW_ADD_SA_DEPL @OBSW_ADD_SA_DEPL@
@ -41,6 +43,9 @@
#define OBSW_ADD_PL_PCDU @OBSW_ADD_PL_PCDU@
#define OBSW_ADD_SYRLINKS @OBSW_ADD_SYRLINKS@
#define OBSW_ADD_CCSDS_IP_CORES @OBSW_ADD_CCSDS_IP_CORES@
// Only relevant for EM for TCS tests.
#define OBSW_ADD_THERMAL_TEMP_INSERTER @OBSW_ADD_THERMAL_TEMP_INSERTER@
// Set to 1 if all telemetry should be sent to the PTME IP Core
#define OBSW_TM_TO_PTME @OBSW_TM_TO_PTME@
// Set to 1 if telecommands are received via the PDEC IP Core
@ -67,7 +72,7 @@
#define OBSW_PRINT_MISSED_DEADLINES 1
#define OBSW_MPSOC_JTAG_BOOT 0
#define OBSW_STAR_TRACKER_GROUND_CONFIG 1
#define OBSW_STAR_TRACKER_GROUND_CONFIG @OBSW_STAR_TRACKER_GROUND_CONFIG@
#define OBSW_SYRLINKS_SIMULATED @OBSW_SYRLINKS_SIMULATED@
#define OBSW_ADD_TEST_CODE 0
#define OBSW_ADD_TEST_TASK 0

View File

@ -28,9 +28,13 @@ static constexpr char UIO_PDEC_IRQ[] = "/dev/uio_pdec_irq";
static constexpr int MAP_ID_PTME_CONFIG = 3;
namespace uiomapids {
// Live TM
static const int PTME_VC0 = 0;
// OK/NOK/MISC Store
static const int PTME_VC1 = 1;
// HK store
static const int PTME_VC2 = 2;
// CFDP
static const int PTME_VC3 = 3;
static const int PTME_CONFIG = 4;
} // namespace uiomapids
@ -86,6 +90,8 @@ static constexpr char PAPB_BUSY_SIGNAL_VC2[] = "papb_busy_signal_vc2";
static constexpr char PAPB_EMPTY_SIGNAL_VC2[] = "papb_empty_signal_vc2";
static constexpr char PAPB_BUSY_SIGNAL_VC3[] = "papb_busy_signal_vc3";
static constexpr char PAPB_EMPTY_SIGNAL_VC3[] = "papb_empty_signal_vc3";
static constexpr char PTME_RESETN[] = "ptme_resetn";
static constexpr char RS485_EN_TX_CLOCK[] = "tx_clock_enable_ltc2872";
static constexpr char RS485_EN_TX_DATA[] = "tx_data_enable_ltc2872";
static constexpr char RS485_EN_RX_CLOCK[] = "rx_clock_enable_ltc2872";

View File

@ -17,7 +17,7 @@
/*******************************************************************/
// Probably better if this is disabled for mission code. Convenient for development
#define Q7S_CHECK_FOR_ALREADY_RUNNING_IMG 1
#define Q7S_CHECK_FOR_ALREADY_RUNNING_IMG @Q7S_CHECK_FOR_ALREADY_RUNNING_IMG@
#define Q7S_SIMPLE_ADD_FILE_SYSTEM_TEST 0

View File

@ -1,9 +1,9 @@
#ifndef BSP_Q7S_CALLBACKS_PCDUSWITCHCB_H_
#define BSP_Q7S_CALLBACKS_PCDUSWITCHCB_H_
#include <cstdint>
#include <mission/power/gsDefs.h>
#include "mission/devices/devicedefinitions/GomspaceDefinitions.h"
#include <cstdint>
namespace pcdu {

View File

@ -6,7 +6,7 @@
#include "fsfw/serviceinterface/ServiceInterface.h"
#include "fsfw_hal/linux/UnixFileGuard.h"
#include "fsfw_hal/linux/spi/SpiCookie.h"
#include "mission/devices/RwHandler.h"
#include "mission/acs/RwHandler.h"
namespace rwSpiCallback {
@ -252,7 +252,7 @@ ReturnValue_t openSpi(const std::string& devname, int flags, GpioIF* gpioIF, gpi
fd = open(devname.c_str(), flags);
if (fd < 0) {
sif::error << "rwSpiCallback::spiCallback: Failed to open device file" << std::endl;
return SpiComIF::OPENING_FILE_FAILED;
return spi::OPENING_FILE_FAILED;
}
// Pull SPI CS low. For now, no support for active high given

View File

@ -1 +0,0 @@
target_sources(${OBSW_NAME} PRIVATE)

View File

@ -1,4 +1,4 @@
target_sources(${OBSW_NAME} PRIVATE CoreController.cpp scheduling.cpp
ObjectFactory.cpp)
ObjectFactory.cpp WatchdogHandler.cpp)
target_sources(${SIMPLE_OBSW_NAME} PRIVATE scheduling.cpp)

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,16 @@
#ifndef BSP_Q7S_CORE_CORECONTROLLER_H_
#define BSP_Q7S_CORE_CORECONTROLLER_H_
#include <fsfw/container/DynamicFIFO.h>
#include <fsfw/container/SimpleRingBuffer.h>
#include <fsfw/globalfunctions/PeriodicOperationDivider.h>
#include <fsfw/parameters/ParameterHelper.h>
#include <fsfw/parameters/ReceivesParameterMessagesIF.h>
#include <libxiphos.h>
#include <mission/acs/archive/GPSDefinitions.h>
#include <mission/utility/trace.h>
#include <atomic>
#include <cstddef>
#include "CoreDefinitions.h"
@ -11,19 +18,11 @@
#include "bsp_q7s/fs/SdCardManager.h"
#include "events/subsystemIdRanges.h"
#include "fsfw/controller/ExtendedControllerBase.h"
#include "mission/devices/devicedefinitions/GPSDefinitions.h"
#include "mission/trace.h"
#include "mission/sysDefs.h"
class Timer;
class SdCardManager;
namespace xsc {
enum Chip : int { CHIP_0, CHIP_1, NO_CHIP, SELF_CHIP, ALL_CHIP };
enum Copy : int { COPY_0, COPY_1, NO_COPY, SELF_COPY, ALL_COPY };
} // namespace xsc
struct RebootFile {
static constexpr uint8_t DEFAULT_MAX_BOOT_CNT = 10;
@ -45,8 +44,10 @@ struct RebootFile {
xsc::Copy mechanismNextCopy = xsc::Copy::NO_COPY;
};
class CoreController : public ExtendedControllerBase {
class CoreController : public ExtendedControllerBase, public ReceivesParameterMessagesIF {
public:
enum ParamId : uint8_t { PREF_SD = 0, NUM_IDS };
static xsc::Chip CURRENT_CHIP;
static xsc::Copy CURRENT_COPY;
@ -54,72 +55,23 @@ class CoreController : public ExtendedControllerBase {
static constexpr char CHIP_STATE_FILE[] = "/tmp/chip_prot_status.txt";
static constexpr char CURR_COPY_FILE[] = "/tmp/curr_copy.txt";
static constexpr char CONF_FOLDER[] = "conf";
static constexpr char VERSION_FILE_NAME[] = "version.txt";
static constexpr char REBOOT_FILE_NAME[] = "reboot.txt";
static constexpr char TIME_FILE_NAME[] = "time.txt";
const std::string VERSION_FILE =
"/" + std::string(CONF_FOLDER) + "/" + std::string(VERSION_FILE_NAME);
"/" + std::string(core::CONF_FOLDER) + "/" + std::string(core::VERSION_FILE_NAME);
const std::string REBOOT_FILE =
"/" + std::string(CONF_FOLDER) + "/" + std::string(REBOOT_FILE_NAME);
const std::string TIME_FILE = "/" + std::string(CONF_FOLDER) + "/" + std::string(TIME_FILE_NAME);
"/" + std::string(core::CONF_FOLDER) + "/" + std::string(core::REBOOT_FILE_NAME);
const std::string BACKUP_TIME_FILE =
"/" + std::string(core::CONF_FOLDER) + "/" + std::string(core::TIME_FILE_NAME);
static constexpr char CHIP_0_COPY_0_MOUNT_DIR[] = "/tmp/mntupdate-xdi-qspi0-nom-rootfs";
static constexpr char CHIP_0_COPY_1_MOUNT_DIR[] = "/tmp/mntupdate-xdi-qspi0-gold-rootfs";
static constexpr char CHIP_1_COPY_0_MOUNT_DIR[] = "/tmp/mntupdate-xdi-qspi1-nom-rootfs";
static constexpr char CHIP_1_COPY_1_MOUNT_DIR[] = "/tmp/mntupdate-xdi-qspi1-gold-rootfs";
static constexpr char LIST_DIR_DUMP_WORK_FILE[] = "/tmp/dir_listing.tmp";
static constexpr dur_millis_t INIT_SD_CARD_CHECK_TIMEOUT = 5000;
static constexpr dur_millis_t DEFAULT_SD_CARD_CHECK_TIMEOUT = 60000;
static constexpr ActionId_t LIST_DIRECTORY_INTO_FILE = 0;
static constexpr ActionId_t ANNOUNCE_VERSION = 1;
static constexpr ActionId_t ANNOUNCE_CURRENT_IMAGE = 2;
static constexpr ActionId_t SWITCH_REBOOT_FILE_HANDLING = 5;
static constexpr ActionId_t RESET_REBOOT_COUNTERS = 6;
static constexpr ActionId_t SWITCH_IMG_LOCK = 7;
static constexpr ActionId_t SET_MAX_REBOOT_CNT = 8;
static constexpr ActionId_t OBSW_UPDATE_FROM_SD_0 = 10;
static constexpr ActionId_t OBSW_UPDATE_FROM_SD_1 = 11;
static constexpr ActionId_t OBSW_UPDATE_FROM_TMP = 12;
static constexpr ActionId_t SWITCH_TO_SD_0 = 16;
static constexpr ActionId_t SWITCH_TO_SD_1 = 17;
static constexpr ActionId_t SWITCH_TO_BOTH_SD_CARDS = 18;
//! Reboot using the xsc_boot_copy command
static constexpr ActionId_t XSC_REBOOT_OBC = 32;
static constexpr ActionId_t MOUNT_OTHER_COPY = 33;
//! Reboot using the reboot command
static constexpr ActionId_t REBOOT_OBC = 34;
static constexpr uint8_t SUBSYSTEM_ID = SUBSYSTEM_ID::CORE;
static constexpr Event ALLOC_FAILURE = event::makeEvent(SUBSYSTEM_ID, 0, severity::MEDIUM);
//! [EXPORT] : [COMMENT] Software reboot occurred. Can also be a systemd reboot.
//! P1: Current Chip, P2: Current Copy
static constexpr Event REBOOT_SW = event::makeEvent(SUBSYSTEM_ID, 1, severity::MEDIUM);
//! [EXPORT] : [COMMENT] The reboot mechanism was triggered.
//! P1: First 16 bits: Last Chip, Last 16 bits: Last Copy,
//! P2: Each byte is the respective reboot count for the slots
static constexpr Event REBOOT_MECHANISM_TRIGGERED =
event::makeEvent(SUBSYSTEM_ID, 2, severity::MEDIUM);
//! Trying to find a way how to determine that the reboot came from ProASIC3 or PCDU..
static constexpr Event REBOOT_HW = event::makeEvent(SUBSYSTEM_ID, 3, severity::MEDIUM);
//! [EXPORT] : [COMMENT] No SD card was active. Core controller will attempt to re-initialize
//! a SD card.
static constexpr Event NO_SD_CARD_ACTIVE = event::makeEvent(SUBSYSTEM_ID, 4, severity::HIGH);
//! [EXPORT] : [COMMENT]
//! P1: Byte 0: Major, Byte 1: Minor, Byte 2: Patch, Byte 3: Has Git Hash
//! P2: First four letters of Git SHA is the last byte of P1 is set.
static constexpr Event VERSION_INFO = event::makeEvent(SUBSYSTEM_ID, 5, severity::INFO);
//! [EXPORT] : [COMMENT] P1: Current Chip, P2: Current Copy
static constexpr Event CURRENT_IMAGE_INFO = event::makeEvent(SUBSYSTEM_ID, 6, severity::INFO);
CoreController(object_id_t objectId);
CoreController(object_id_t objectId, bool enableHkSet);
virtual ~CoreController();
ReturnValue_t initialize() override;
@ -160,19 +112,18 @@ class CoreController : public ExtendedControllerBase {
bool sdInitFinished() const;
private:
static constexpr uint32_t BOOT_OFFSET_SECONDS = 15;
static constexpr MutexIF::TimeoutType TIMEOUT_TYPE = MutexIF::TimeoutType::WAITING;
static constexpr uint32_t MUTEX_TIMEOUT = 20;
// Designated value for rechecking FIFO open
static constexpr int RETRY_FIFO_OPEN = -2;
int watchdogFifoFd = 0;
bool enableHkSet = false;
GpsHyperion::FixMode gpsFix = GpsHyperion::FixMode::UNKNOWN;
// States for SD state machine, which is used in non-blocking mode
enum class SdStates {
NONE,
START,
GET_INFO,
SET_STATE_SELF,
UPDATE_SD_INFO_START,
SKIP_TWO_CYCLES_IF_SD_LOCKED,
MOUNT_SELF,
// Determine operations for other SD card, depending on redundancy configuration
DETERMINE_OTHER,
@ -182,7 +133,7 @@ class CoreController : public ExtendedControllerBase {
// Skip period because the shell command used to generate the info file sometimes is
// missing the last performed operation if executed too early
SKIP_CYCLE_BEFORE_INFO_UPDATE,
UPDATE_INFO,
UPDATE_SD_INFO_END,
// SD initialization done
IDLE
};
@ -194,23 +145,30 @@ class CoreController : public ExtendedControllerBase {
SdCardManager* sdcMan = nullptr;
MessageQueueIF* eventQueue = nullptr;
uint8_t prefSdRaw = sd::SdCard::SLOT_0;
SdStates sdFsmState = SdStates::START;
SdStates fsmStateAfterDelay = SdStates::IDLE;
enum SdCfgMode { PASSIVE, COLD_REDUNDANT, HOT_REDUNDANT };
struct SdFsmParams {
SdCfgMode cfgMode = SdCfgMode::COLD_REDUNDANT;
sd::SdCard active = sd::SdCard::NONE;
sd::SdCard other = sd::SdCard::NONE;
sd::SdState activeState = sd::SdState::OFF;
sd::SdState otherState = sd::SdState::OFF;
std::string activeChar = "0";
std::string otherChar = "1";
sd::SdState activeState = sd::SdState::OFF;
sd::SdState otherState = sd::SdState::OFF;
std::pair<bool, bool> mountSwitch = {true, true};
// Used to track whether a command was executed
bool commandExecuted = true;
// This flag denotes that the SD card usage is locked. This is relevant if SD cards go off
// to leave appliation using the SD cards some time to detect the SD card is not usable anymore.
// This is relevant if the active SD card is being switched. The SD card will also be locked
// when going from hot-redundant mode to cold-redundant mode.
bool lockSdCardUsage = false;
bool commandPending = true;
bool initFinished = false;
SdCardManager::SdStatePair currentState;
uint16_t cycleCount = 0;
uint16_t skippedCyclesCount = 0;
} sdInfo;
struct SdCommanding {
@ -220,7 +178,15 @@ class CoreController : public ExtendedControllerBase {
} sdCommandingInfo;
RebootFile rebootFile = {};
CommandExecutor cmdExecutor;
SimpleRingBuffer cmdReplyBuf;
DynamicFIFO<uint16_t> cmdRepliesSizes;
bool shellCmdIsExecuting = false;
MessageQueueId_t successRecipient = MessageQueueIF::NO_QUEUE;
std::string currMntPrefix;
bool timeFileInitDone = false;
bool performOneShotSdCardOpsSwitch = false;
uint8_t shortSdCardCdCounter = 0;
#if OBSW_THREAD_TRACING == 1
@ -244,10 +210,16 @@ class CoreController : public ExtendedControllerBase {
core::HkSet hkSet;
ParameterHelper paramHelper;
#if OBSW_SD_CARD_MUST_BE_ON == 1
bool remountAttemptFlag = true;
#endif
MessageQueueId_t getCommandQueue() const override;
ReturnValue_t getParameter(uint8_t domainId, uint8_t uniqueIdentifier,
ParameterWrapper* parameterWrapper, const ParameterWrapper* newValues,
uint16_t startAtIndex) override;
ReturnValue_t initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
LocalDataPoolManager& poolManager) override;
@ -258,16 +230,15 @@ class CoreController : public ExtendedControllerBase {
ReturnValue_t initClockFromTimeFile();
ReturnValue_t performSdCardCheck();
ReturnValue_t timeFileHandler();
ReturnValue_t backupTimeFileHandler();
ReturnValue_t initBootCopyFile();
ReturnValue_t initWatchdogFifo();
ReturnValue_t initSdCardBlocking();
bool startSdStateMachine(sd::SdCard targetActiveSd, SdCfgMode mode, MessageQueueId_t commander,
DeviceCommandId_t actionId);
void initPrint();
ReturnValue_t sdStateMachine();
void updateSdInfoOther();
void updateInternalSdInfo();
ReturnValue_t sdCardSetup(sd::SdCard sdCard, sd::SdState targetState, std::string sdChar,
bool printOutput = true);
ReturnValue_t executeSwUpdate(SwUpdateSources sourceDir, const uint8_t* data, size_t size);
@ -280,13 +251,17 @@ class CoreController : public ExtendedControllerBase {
ReturnValue_t actionListDirectoryIntoFile(ActionId_t actionId, MessageQueueId_t commandedBy,
const uint8_t* data, size_t size);
ReturnValue_t actionListDirectoryDumpDirectly(ActionId_t actionId, MessageQueueId_t commandedBy,
const uint8_t* data, size_t size);
ReturnValue_t actionListDirectoryCommonCommandCreator(const uint8_t* data, size_t size,
std::ostringstream& oss);
ReturnValue_t actionXscReboot(const uint8_t* data, size_t size);
ReturnValue_t actionReboot(const uint8_t* data, size_t size);
ReturnValue_t gracefulShutdownTasks(xsc::Chip chip, xsc::Copy copy, bool& protOpPerformed);
void performWatchdogControlOperation();
ReturnValue_t handleProtInfoUpdateLine(std::string nextLine);
int handleBootCopyProtAtIndex(xsc::Chip targetChip, xsc::Copy targetCopy, bool protect,
bool& protOperationPerformed, bool selfChip, bool selfCopy,
@ -297,6 +272,7 @@ class CoreController : public ExtendedControllerBase {
void setRebootMechanismLock(bool lock, xsc::Chip tgtChip, xsc::Copy tgtCopy);
bool parseRebootFile(std::string path, RebootFile& file);
void rewriteRebootFile(RebootFile file);
void announceBootCounts();
void readHkData();
bool isNumber(const std::string& s);
};

View File

@ -1,9 +1,35 @@
#include "ObjectFactory.h"
#include <fsfw/devicehandlers/HealthDevice.h>
#include <fsfw/subsystem/Subsystem.h>
#include <linux/devices/ImtqPollingTask.h>
#include <linux/devices/RwPollingTask.h>
#include <linux/acs/AcsBoardPolling.h>
#include <linux/acs/GpsHyperionLinuxController.h>
#include <linux/acs/ImtqPollingTask.h>
#include <linux/acs/RwPollingTask.h>
#include <linux/acs/StrComHandler.h>
#include <linux/com/SyrlinksComHandler.h>
#include <linux/payload/PlocMemoryDumper.h>
#include <linux/payload/PlocMpsocHandler.h>
#include <linux/payload/PlocMpsocHelper.h>
#include <linux/payload/PlocSupervisorHandler.h>
#include <linux/payload/ScexUartReader.h>
#include <linux/payload/plocMpscoDefs.h>
#include <linux/power/CspComIF.h>
#include <mission/acs/GyrL3gCustomHandler.h>
#include <mission/acs/MgmLis3CustomHandler.h>
#include <mission/acs/MgmRm3100CustomHandler.h>
#include <mission/acs/str/StarTrackerHandler.h>
#include <mission/acs/str/strHelpers.h>
#include <mission/com/LiveTmTask.h>
#include <mission/com/PersistentLogTmStoreTask.h>
#include <mission/com/PersistentSingleTmStoreTask.h>
#include <mission/power/CspCookie.h>
#include <mission/system/acs/ImtqAssembly.h>
#include <mission/system/acs/StrAssembly.h>
#include <mission/system/acs/StrFdir.h>
#include <mission/system/com/SyrlinksAssembly.h>
#include <mission/system/objects/CamSwitcher.h>
#include <mission/system/tcs/TmpDevFdir.h>
#include "OBSWConfig.h"
#include "bsp_q7s/boardtest/Q7STestTask.h"
@ -24,43 +50,52 @@
#include "linux/boardtest/SpiTestClass.h"
#include "linux/boardtest/UartTestClass.h"
#include "linux/callbacks/gpioCallbacks.h"
#include "linux/csp/CspComIF.h"
#include "linux/devices/GpsHyperionLinuxController.h"
#include "linux/devices/ScexUartReader.h"
#include "linux/devices/devicedefinitions/PlocMPSoCDefinitions.h"
#include "linux/devices/devicedefinitions/StarTrackerDefinitions.h"
#include "linux/devices/ploc/PlocMPSoCHandler.h"
#include "linux/devices/ploc/PlocMPSoCHelper.h"
#include "linux/devices/ploc/PlocMemoryDumper.h"
#include "linux/devices/ploc/PlocSupervisorHandler.h"
#include "linux/devices/startracker/StarTrackerHandler.h"
#include "linux/devices/startracker/StrHelper.h"
#include "linux/ipcore/AxiPtmeConfig.h"
#include "linux/ipcore/PapbVcInterface.h"
#include "linux/ipcore/PdecHandler.h"
#include "linux/ipcore/Ptme.h"
#include "linux/ipcore/PtmeConfig.h"
#include "mission/csp/CspCookie.h"
#include "mission/system/fdir/AcsBoardFdir.h"
#include "mission/system/fdir/GomspacePowerFdir.h"
#include "mission/system/fdir/RtdFdir.h"
#include "mission/system/fdir/SusFdir.h"
#include "mission/system/fdir/SyrlinksFdir.h"
#include "mission/system/objects/AcsSubsystem.h"
#include "mission/system/objects/RwAssembly.h"
#include "mission/system/objects/TcsBoardAssembly.h"
#include "mission/system/tree/acsModeTree.h"
#include "mission/system/tree/comModeTree.h"
#include "mission/config/configfile.h"
#include "mission/system/acs/AcsBoardFdir.h"
#include "mission/system/acs/AcsSubsystem.h"
#include "mission/system/acs/RwAssembly.h"
#include "mission/system/acs/SusFdir.h"
#include "mission/system/acs/acsModeTree.h"
#include "mission/system/com/SyrlinksFdir.h"
#include "mission/system/com/comModeTree.h"
#include "mission/system/power/GomspacePowerFdir.h"
#include "mission/system/tcs/RtdFdir.h"
#include "mission/system/tcs/TcsBoardAssembly.h"
#include "mission/system/tcs/tcsModeTree.h"
#include "mission/system/tree/payloadModeTree.h"
#include "mission/system/tree/tcsModeTree.h"
#include "mission/tmtc/tmFilters.h"
#include "mission/utility/GlobalConfigHandler.h"
#include "tmtc/pusIds.h"
#if OBSW_TEST_LIBGPIOD == 1
#include "linux/boardtest/LibgpiodTest.h"
#endif
#include <mission/devices/ImtqHandler.h>
#include <mission/devices/PcduHandler.h>
#include <mission/devices/SyrlinksHandler.h>
#include <mission/devices/devicedefinitions/rwHelpers.h>
#include <mission/SolarArrayDeploymentHandler.h>
#include <mission/acs/GyrAdis1650XHandler.h>
#include <mission/acs/ImtqHandler.h>
#include <mission/acs/rwHelpers.h>
#include <mission/com/SyrlinksHandler.h>
#include <mission/com/VirtualChannelWithQueue.h>
#include <mission/payload/PayloadPcduHandler.h>
#include <mission/payload/RadiationSensorHandler.h>
#include <mission/payload/payloadPcduDefinitions.h>
#include <mission/payload/radSensorDefinitions.h>
#include <mission/power/AcuHandler.h>
#include <mission/power/BpxBatteryHandler.h>
#include <mission/power/P60DockHandler.h>
#include <mission/power/PcduHandler.h>
#include <mission/power/Pdu1Handler.h>
#include <mission/power/Pdu2Handler.h>
#include <mission/power/gsDefs.h>
#include <mission/tcs/HeaterHandler.h>
#include <mission/tcs/Max31865Definitions.h>
#include <mission/tcs/Max31865PT1000Handler.h>
#include <mission/tcs/Tmp1075Handler.h>
#include <sstream>
@ -80,31 +115,20 @@
#include "fsfw_hal/linux/serial/SerialCookie.h"
#include "fsfw_hal/linux/spi/SpiComIF.h"
#include "fsfw_hal/linux/spi/SpiCookie.h"
#include "mission/core/GenericFactory.h"
#include "mission/devices/ACUHandler.h"
#include "mission/devices/BpxBatteryHandler.h"
#include "mission/devices/GyroADIS1650XHandler.h"
#include "mission/devices/HeaterHandler.h"
#include "mission/devices/Max31865PT1000Handler.h"
#include "mission/devices/P60DockHandler.h"
#include "mission/devices/PDU1Handler.h"
#include "mission/devices/PDU2Handler.h"
#include "mission/devices/PayloadPcduHandler.h"
#include "mission/devices/RadiationSensorHandler.h"
#include "mission/devices/RwHandler.h"
#include "mission/devices/SolarArrayDeploymentHandler.h"
#include "mission/devices/Tmp1075Handler.h"
#include "mission/devices/devicedefinitions/GomspaceDefinitions.h"
#include "mission/devices/devicedefinitions/Max31865Definitions.h"
#include "mission/devices/devicedefinitions/RadSensorDefinitions.h"
#include "mission/devices/devicedefinitions/SyrlinksDefinitions.h"
#include "mission/devices/devicedefinitions/payloadPcduDefinitions.h"
#include "mission/system/objects/AcsBoardAssembly.h"
#include "mission/tmtc/CcsdsIpCoreHandler.h"
#include "mission/acs/RwHandler.h"
#include "mission/com/CcsdsIpCoreHandler.h"
#include "mission/com/syrlinksDefs.h"
#include "mission/genericFactory.h"
#include "mission/system/acs/AcsBoardAssembly.h"
#include "mission/tmtc/TmFunnelHandler.h"
#include "mission/tmtc/VirtualChannel.h"
using gpio::Direction;
using gpio::Levels;
ResetArgs RESET_ARGS_GNSS;
std::atomic_bool LINK_STATE = CcsdsIpCoreHandler::LINK_DOWN;
std::atomic_bool PTME_LOCKED = false;
std::atomic_uint16_t I2C_FATAL_ERRORS = 0;
void Factory::setStaticFrameworkObjectIds() {
PusServiceBase::PUS_DISTRIBUTOR = objects::PUS_PACKET_DISTRIBUTOR;
@ -142,6 +166,7 @@ void ObjectFactory::createTmpComponents() {
new I2cCookie(tmpDevIds[idx].second, TMP1075::MAX_REPLY_LENGTH, q7s::I2C_PS_EIVE));
auto* tmpDevHandler =
new Tmp1075Handler(tmpDevIds[idx].first, objects::I2C_COM_IF, tmpDevCookies[idx]);
tmpDevHandler->setCustomFdir(new TmpDevFdir(tmpDevIds[idx].first));
tmpDevHandler->connectModeTreeParent(satsystem::tcs::SUBSYSTEM);
// TODO: Remove this after TCS subsystem was added
// These devices are connected to the 3V3 stack and should be powered permanently. Therefore,
@ -160,35 +185,36 @@ void ObjectFactory::createCommunicationInterfaces(LinuxLibgpioIF** gpioComIF,
*gpioComIF = new LinuxLibgpioIF(objects::GPIO_IF);
/* Communication interfaces */
new CspComIF(objects::CSP_COM_IF);
new CspComIF(objects::CSP_COM_IF, "CSP_ROUTER", 60);
*i2cComIF = new I2cComIF(objects::I2C_COM_IF);
*uartComIF = new SerialComIF(objects::UART_COM_IF);
*spiMainComIF = new SpiComIF(objects::SPI_MAIN_COM_IF, q7s::SPI_DEFAULT_DEV, **gpioComIF);
//*spiRWComIF = new SpiComIF(objects::SPI_RW_COM_IF, q7s::SPI_RW_DEV, **gpioComIF);
}
void ObjectFactory::createPcduComponents(LinuxLibgpioIF* gpioComIF, PowerSwitchIF** pwrSwitcher) {
void ObjectFactory::createPcduComponents(LinuxLibgpioIF* gpioComIF, PowerSwitchIF** pwrSwitcher,
bool enableHkSets) {
CspCookie* p60DockCspCookie = new CspCookie(P60Dock::MAX_REPLY_SIZE, addresses::P60DOCK, 500);
CspCookie* pdu1CspCookie = new CspCookie(PDU::MAX_REPLY_SIZE, addresses::PDU1, 500);
CspCookie* pdu2CspCookie = new CspCookie(PDU::MAX_REPLY_SIZE, addresses::PDU2, 500);
CspCookie* acuCspCookie = new CspCookie(ACU::MAX_REPLY_SIZE, addresses::ACU, 500);
auto p60Fdir = new GomspacePowerFdir(objects::P60DOCK_HANDLER);
P60DockHandler* p60dockhandler =
new P60DockHandler(objects::P60DOCK_HANDLER, objects::CSP_COM_IF, p60DockCspCookie, p60Fdir);
P60DockHandler* p60dockhandler = new P60DockHandler(objects::P60DOCK_HANDLER, objects::CSP_COM_IF,
p60DockCspCookie, p60Fdir, enableHkSets);
auto pdu1Fdir = new GomspacePowerFdir(objects::PDU1_HANDLER);
PDU1Handler* pdu1handler =
new PDU1Handler(objects::PDU1_HANDLER, objects::CSP_COM_IF, pdu1CspCookie, pdu1Fdir);
Pdu1Handler* pdu1handler = new Pdu1Handler(objects::PDU1_HANDLER, objects::CSP_COM_IF,
pdu1CspCookie, pdu1Fdir, enableHkSets);
auto pdu2Fdir = new GomspacePowerFdir(objects::PDU2_HANDLER);
PDU2Handler* pdu2handler =
new PDU2Handler(objects::PDU2_HANDLER, objects::CSP_COM_IF, pdu2CspCookie, pdu2Fdir);
Pdu2Handler* pdu2handler = new Pdu2Handler(objects::PDU2_HANDLER, objects::CSP_COM_IF,
pdu2CspCookie, pdu2Fdir, enableHkSets);
auto acuFdir = new GomspacePowerFdir(objects::ACU_HANDLER);
ACUHandler* acuhandler =
new ACUHandler(objects::ACU_HANDLER, objects::CSP_COM_IF, acuCspCookie, acuFdir);
auto pcduHandler = new PCDUHandler(objects::PCDU_HANDLER, 50);
ACUHandler* acuhandler = new ACUHandler(objects::ACU_HANDLER, objects::CSP_COM_IF, acuCspCookie,
acuFdir, enableHkSets);
auto pcduHandler = new PcduHandler(objects::PCDU_HANDLER, 50);
/**
* Setting PCDU devices to mode normal immediately after start up because PCDU is always
@ -239,118 +265,125 @@ ReturnValue_t ObjectFactory::createRadSensorComponent(LinuxLibgpioIF* gpioComIF,
return returnvalue::OK;
}
void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialComIF* uartComIF,
PowerSwitchIF& pwrSwitcher) {
using namespace gpio;
GpioCookie* gpioCookieAcsBoard = new GpioCookie();
void ObjectFactory::createAcsBoardGpios(GpioCookie& cookie) {
std::stringstream consumer;
GpiodRegularByLineName* gpio = nullptr;
consumer << "0x" << std::hex << objects::GYRO_0_ADIS_HANDLER;
gpio = new GpiodRegularByLineName(q7s::gpioNames::GYRO_0_ADIS_CS, consumer.str(), Direction::OUT,
Levels::HIGH);
gpioCookieAcsBoard->addGpio(gpioIds::GYRO_0_ADIS_CS, gpio);
cookie.addGpio(gpioIds::GYRO_0_ADIS_CS, gpio);
consumer.str("");
consumer << "0x" << std::hex << objects::GYRO_1_L3G_HANDLER;
gpio = new GpiodRegularByLineName(q7s::gpioNames::GYRO_1_L3G_CS, consumer.str(), Direction::OUT,
Levels::HIGH);
gpioCookieAcsBoard->addGpio(gpioIds::GYRO_1_L3G_CS, gpio);
cookie.addGpio(gpioIds::GYRO_1_L3G_CS, gpio);
consumer.str("");
consumer << "0x" << std::hex << objects::GYRO_2_ADIS_HANDLER;
gpio = new GpiodRegularByLineName(q7s::gpioNames::GYRO_2_ADIS_CS, consumer.str(), Direction::OUT,
Levels::HIGH);
gpioCookieAcsBoard->addGpio(gpioIds::GYRO_2_ADIS_CS, gpio);
cookie.addGpio(gpioIds::GYRO_2_ADIS_CS, gpio);
consumer.str("");
consumer << "0x" << std::hex << objects::GYRO_3_L3G_HANDLER;
gpio = new GpiodRegularByLineName(q7s::gpioNames::GYRO_3_L3G_CS, consumer.str(), Direction::OUT,
Levels::HIGH);
gpioCookieAcsBoard->addGpio(gpioIds::GYRO_3_L3G_CS, gpio);
cookie.addGpio(gpioIds::GYRO_3_L3G_CS, gpio);
consumer.str("");
consumer << "0x" << std::hex << objects::MGM_0_LIS3_HANDLER;
gpio = new GpiodRegularByLineName(q7s::gpioNames::MGM_0_CS, consumer.str(), Direction::OUT,
Levels::HIGH);
gpioCookieAcsBoard->addGpio(gpioIds::MGM_0_LIS3_CS, gpio);
cookie.addGpio(gpioIds::MGM_0_LIS3_CS, gpio);
consumer.str("");
consumer << "0x" << std::hex << objects::MGM_1_RM3100_HANDLER;
gpio = new GpiodRegularByLineName(q7s::gpioNames::MGM_1_CS, consumer.str(), Direction::OUT,
Levels::HIGH);
gpioCookieAcsBoard->addGpio(gpioIds::MGM_1_RM3100_CS, gpio);
cookie.addGpio(gpioIds::MGM_1_RM3100_CS, gpio);
consumer.str("");
consumer << "0x" << std::hex << objects::MGM_2_LIS3_HANDLER;
gpio = new GpiodRegularByLineName(q7s::gpioNames::MGM_2_CS, consumer.str(), Direction::OUT,
Levels::HIGH);
gpioCookieAcsBoard->addGpio(gpioIds::MGM_2_LIS3_CS, gpio);
cookie.addGpio(gpioIds::MGM_2_LIS3_CS, gpio);
consumer.str("");
consumer << "0x" << std::hex << objects::MGM_3_RM3100_HANDLER;
gpio = new GpiodRegularByLineName(q7s::gpioNames::MGM_3_CS, consumer.str(), Direction::OUT,
Levels::HIGH);
gpioCookieAcsBoard->addGpio(gpioIds::MGM_3_RM3100_CS, gpio);
cookie.addGpio(gpioIds::MGM_3_RM3100_CS, gpio);
consumer.str("");
consumer << "0x" << std::hex << objects::GPS_CONTROLLER;
// GNSS reset pins are active low
gpio = new GpiodRegularByLineName(q7s::gpioNames::RESET_GNSS_0, consumer.str(), Direction::OUT,
Levels::HIGH);
gpioCookieAcsBoard->addGpio(gpioIds::GNSS_0_NRESET, gpio);
cookie.addGpio(gpioIds::GNSS_0_NRESET, gpio);
consumer.str("");
consumer << "0x" << std::hex << objects::GPS_CONTROLLER;
gpio = new GpiodRegularByLineName(q7s::gpioNames::RESET_GNSS_1, consumer.str(), Direction::OUT,
Levels::HIGH);
gpioCookieAcsBoard->addGpio(gpioIds::GNSS_1_NRESET, gpio);
cookie.addGpio(gpioIds::GNSS_1_NRESET, gpio);
consumer.str("");
consumer << "0x" << std::hex << objects::GYRO_0_ADIS_HANDLER;
// Enable pins must be pulled low for regular operations
gpio = new GpiodRegularByLineName(q7s::gpioNames::GYRO_0_ENABLE, consumer.str(), Direction::OUT,
Levels::LOW);
gpioCookieAcsBoard->addGpio(gpioIds::GYRO_0_ENABLE, gpio);
cookie.addGpio(gpioIds::GYRO_0_ENABLE, gpio);
consumer.str("");
consumer << "0x" << std::hex << objects::GYRO_2_ADIS_HANDLER;
gpio = new GpiodRegularByLineName(q7s::gpioNames::GYRO_2_ENABLE, consumer.str(), Direction::OUT,
Levels::LOW);
gpioCookieAcsBoard->addGpio(gpioIds::GYRO_2_ENABLE, gpio);
cookie.addGpio(gpioIds::GYRO_2_ENABLE, gpio);
// Enable pins for GNSS
consumer.str("");
consumer << "0x" << std::hex << objects::GPS_CONTROLLER;
gpio = new GpiodRegularByLineName(q7s::gpioNames::GNSS_0_ENABLE, consumer.str(), Direction::OUT,
Levels::LOW);
gpioCookieAcsBoard->addGpio(gpioIds::GNSS_0_ENABLE, gpio);
cookie.addGpio(gpioIds::GNSS_0_ENABLE, gpio);
consumer.str("");
consumer << "0x" << std::hex << objects::GPS_CONTROLLER;
gpio = new GpiodRegularByLineName(q7s::gpioNames::GNSS_1_ENABLE, consumer.str(), Direction::OUT,
Levels::LOW);
gpioCookieAcsBoard->addGpio(gpioIds::GNSS_1_ENABLE, gpio);
cookie.addGpio(gpioIds::GNSS_1_ENABLE, gpio);
// Select pin. 0 for GPS side A, 1 for GPS side B
consumer.str("");
consumer << "0x" << std::hex << objects::GPS_CONTROLLER;
gpio = new GpiodRegularByLineName(q7s::gpioNames::GNSS_SELECT, consumer.str(), Direction::OUT,
Levels::LOW);
gpioCookieAcsBoard->addGpio(gpioIds::GNSS_SELECT, gpio);
cookie.addGpio(gpioIds::GNSS_SELECT, gpio);
}
void ObjectFactory::createAcsBoardComponents(SpiComIF& spiComIF, LinuxLibgpioIF* gpioComIF,
SerialComIF* uartComIF, PowerSwitchIF& pwrSwitcher,
bool enableHkSets) {
using namespace gpio;
GpioCookie* gpioCookieAcsBoard = new GpioCookie();
createAcsBoardGpios(*gpioCookieAcsBoard);
gpioChecker(gpioComIF->addGpios(gpioCookieAcsBoard), "ACS Board");
AcsBoardFdir* fdir = nullptr;
static_cast<void>(fdir);
#if OBSW_ADD_ACS_BOARD == 1
new AcsBoardPolling(objects::ACS_BOARD_POLLING_TASK, spiComIF, *gpioComIF);
std::string spiDev = q7s::SPI_DEFAULT_DEV;
std::array<DeviceHandlerBase*, 8> assemblyChildren;
SpiCookie* spiCookie =
new SpiCookie(addresses::MGM_0_LIS3, gpioIds::MGM_0_LIS3_CS, MGMLIS3MDL::MAX_BUFFER_SIZE,
new SpiCookie(addresses::MGM_0_LIS3, gpioIds::MGM_0_LIS3_CS, mgmLis3::MAX_BUFFER_SIZE,
spi::DEFAULT_LIS3_MODE, spi::DEFAULT_LIS3_SPEED);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::ACS_BOARD_CS_TIMEOUT);
auto mgmLis3Handler0 = new MgmLIS3MDLHandler(
objects::MGM_0_LIS3_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie, spi::LIS3_TRANSITION_DELAY);
auto mgmLis3Handler0 =
new MgmLis3CustomHandler(objects::MGM_0_LIS3_HANDLER, objects::ACS_BOARD_POLLING_TASK,
spiCookie, spi::LIS3_TRANSITION_DELAY);
fdir = new AcsBoardFdir(objects::MGM_0_LIS3_HANDLER);
mgmLis3Handler0->setCustomFdir(fdir);
assemblyChildren[0] = mgmLis3Handler0;
@ -362,12 +395,12 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialCo
mgmLis3Handler->enablePeriodicPrintouts(true, 10);
#endif
spiCookie =
new SpiCookie(addresses::MGM_1_RM3100, gpioIds::MGM_1_RM3100_CS, RM3100::MAX_BUFFER_SIZE,
new SpiCookie(addresses::MGM_1_RM3100, gpioIds::MGM_1_RM3100_CS, mgmRm3100::MAX_BUFFER_SIZE,
spi::DEFAULT_RM3100_MODE, spi::DEFAULT_RM3100_SPEED);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::ACS_BOARD_CS_TIMEOUT);
auto mgmRm3100Handler1 =
new MgmRM3100Handler(objects::MGM_1_RM3100_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie,
spi::RM3100_TRANSITION_DELAY);
new MgmRm3100CustomHandler(objects::MGM_1_RM3100_HANDLER, objects::ACS_BOARD_POLLING_TASK,
spiCookie, spi::RM3100_TRANSITION_DELAY);
fdir = new AcsBoardFdir(objects::MGM_1_RM3100_HANDLER);
mgmRm3100Handler1->setCustomFdir(fdir);
assemblyChildren[1] = mgmRm3100Handler1;
@ -378,12 +411,12 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialCo
#if OBSW_DEBUG_ACS == 1
mgmRm3100Handler->enablePeriodicPrintouts(true, 10);
#endif
spiCookie =
new SpiCookie(addresses::MGM_2_LIS3, gpioIds::MGM_2_LIS3_CS, MGMLIS3MDL::MAX_BUFFER_SIZE,
spi::DEFAULT_LIS3_MODE, spi::DEFAULT_LIS3_SPEED);
spiCookie = new SpiCookie(addresses::MGM_2_LIS3, gpioIds::MGM_2_LIS3_CS, mgmLis3::MAX_BUFFER_SIZE,
spi::DEFAULT_LIS3_MODE, spi::DEFAULT_LIS3_SPEED);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::ACS_BOARD_CS_TIMEOUT);
auto* mgmLis3Handler2 = new MgmLIS3MDLHandler(
objects::MGM_2_LIS3_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie, spi::LIS3_TRANSITION_DELAY);
auto* mgmLis3Handler2 =
new MgmLis3CustomHandler(objects::MGM_2_LIS3_HANDLER, objects::ACS_BOARD_POLLING_TASK,
spiCookie, spi::LIS3_TRANSITION_DELAY);
fdir = new AcsBoardFdir(objects::MGM_2_LIS3_HANDLER);
mgmLis3Handler2->setCustomFdir(fdir);
assemblyChildren[2] = mgmLis3Handler2;
@ -395,12 +428,12 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialCo
mgmLis3Handler->enablePeriodicPrintouts(true, 10);
#endif
spiCookie =
new SpiCookie(addresses::MGM_3_RM3100, gpioIds::MGM_3_RM3100_CS, RM3100::MAX_BUFFER_SIZE,
new SpiCookie(addresses::MGM_3_RM3100, gpioIds::MGM_3_RM3100_CS, mgmRm3100::MAX_BUFFER_SIZE,
spi::DEFAULT_RM3100_MODE, spi::DEFAULT_RM3100_SPEED);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::ACS_BOARD_CS_TIMEOUT);
auto* mgmRm3100Handler3 =
new MgmRM3100Handler(objects::MGM_3_RM3100_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie,
spi::RM3100_TRANSITION_DELAY);
new MgmRm3100CustomHandler(objects::MGM_3_RM3100_HANDLER, objects::ACS_BOARD_POLLING_TASK,
spiCookie, spi::RM3100_TRANSITION_DELAY);
fdir = new AcsBoardFdir(objects::MGM_3_RM3100_HANDLER);
mgmRm3100Handler3->setCustomFdir(fdir);
assemblyChildren[3] = mgmRm3100Handler3;
@ -414,12 +447,12 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialCo
// Commented until ACS board V2 in in clean room again
// Gyro 0 Side A
spiCookie =
new SpiCookie(addresses::GYRO_0_ADIS, gpioIds::GYRO_0_ADIS_CS, ADIS1650X::MAXIMUM_REPLY_SIZE,
new SpiCookie(addresses::GYRO_0_ADIS, gpioIds::GYRO_0_ADIS_CS, adis1650x::MAXIMUM_REPLY_SIZE,
spi::DEFAULT_ADIS16507_MODE, spi::DEFAULT_ADIS16507_SPEED);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::ACS_BOARD_CS_TIMEOUT);
auto adisHandler =
new GyroADIS1650XHandler(objects::GYRO_0_ADIS_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie,
ADIS1650X::Type::ADIS16505);
new GyrAdis1650XHandler(objects::GYRO_0_ADIS_HANDLER, objects::ACS_BOARD_POLLING_TASK,
spiCookie, adis1650x::Type::ADIS16505);
fdir = new AcsBoardFdir(objects::GYRO_0_ADIS_HANDLER);
adisHandler->setCustomFdir(fdir);
assemblyChildren[4] = adisHandler;
@ -431,11 +464,12 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialCo
adisHandler->enablePeriodicPrintouts(true, 10);
#endif
// Gyro 1 Side A
spiCookie = new SpiCookie(addresses::GYRO_1_L3G, gpioIds::GYRO_1_L3G_CS, L3GD20H::MAX_BUFFER_SIZE,
spiCookie = new SpiCookie(addresses::GYRO_1_L3G, gpioIds::GYRO_1_L3G_CS, l3gd20h::MAX_BUFFER_SIZE,
spi::DEFAULT_L3G_MODE, spi::DEFAULT_L3G_SPEED);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::ACS_BOARD_CS_TIMEOUT);
auto gyroL3gHandler1 = new GyroHandlerL3GD20H(
objects::GYRO_1_L3G_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie, spi::L3G_TRANSITION_DELAY);
auto gyroL3gHandler1 =
new GyrL3gCustomHandler(objects::GYRO_1_L3G_HANDLER, objects::ACS_BOARD_POLLING_TASK,
spiCookie, spi::L3G_TRANSITION_DELAY);
fdir = new AcsBoardFdir(objects::GYRO_1_L3G_HANDLER);
gyroL3gHandler1->setCustomFdir(fdir);
assemblyChildren[5] = gyroL3gHandler1;
@ -448,11 +482,12 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialCo
#endif
// Gyro 2 Side B
spiCookie =
new SpiCookie(addresses::GYRO_2_ADIS, gpioIds::GYRO_2_ADIS_CS, ADIS1650X::MAXIMUM_REPLY_SIZE,
new SpiCookie(addresses::GYRO_2_ADIS, gpioIds::GYRO_2_ADIS_CS, adis1650x::MAXIMUM_REPLY_SIZE,
spi::DEFAULT_ADIS16507_MODE, spi::DEFAULT_ADIS16507_SPEED);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::ACS_BOARD_CS_TIMEOUT);
adisHandler = new GyroADIS1650XHandler(objects::GYRO_2_ADIS_HANDLER, objects::SPI_MAIN_COM_IF,
spiCookie, ADIS1650X::Type::ADIS16505);
adisHandler =
new GyrAdis1650XHandler(objects::GYRO_2_ADIS_HANDLER, objects::ACS_BOARD_POLLING_TASK,
spiCookie, adis1650x::Type::ADIS16505);
fdir = new AcsBoardFdir(objects::GYRO_2_ADIS_HANDLER);
adisHandler->setCustomFdir(fdir);
assemblyChildren[6] = adisHandler;
@ -461,11 +496,12 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialCo
adisHandler->setToGoToNormalModeImmediately();
#endif
// Gyro 3 Side B
spiCookie = new SpiCookie(addresses::GYRO_3_L3G, gpioIds::GYRO_3_L3G_CS, L3GD20H::MAX_BUFFER_SIZE,
spiCookie = new SpiCookie(addresses::GYRO_3_L3G, gpioIds::GYRO_3_L3G_CS, l3gd20h::MAX_BUFFER_SIZE,
spi::DEFAULT_L3G_MODE, spi::DEFAULT_L3G_SPEED);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::ACS_BOARD_CS_TIMEOUT);
auto gyroL3gHandler3 = new GyroHandlerL3GD20H(
objects::GYRO_3_L3G_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie, spi::L3G_TRANSITION_DELAY);
auto gyroL3gHandler3 =
new GyrL3gCustomHandler(objects::GYRO_3_L3G_HANDLER, objects::ACS_BOARD_POLLING_TASK,
spiCookie, spi::L3G_TRANSITION_DELAY);
fdir = new AcsBoardFdir(objects::GYRO_3_L3G_HANDLER);
gyroL3gHandler3->setCustomFdir(fdir);
assemblyChildren[7] = gyroL3gHandler3;
@ -482,8 +518,8 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialCo
#endif
RESET_ARGS_GNSS.gpioComIF = gpioComIF;
RESET_ARGS_GNSS.waitPeriodMs = 100;
auto gpsCtrl =
new GpsHyperionLinuxController(objects::GPS_CONTROLLER, objects::NO_OBJECT, debugGps);
auto gpsCtrl = new GpsHyperionLinuxController(objects::GPS_CONTROLLER, objects::NO_OBJECT,
enableHkSets, debugGps);
gpsCtrl->setResetPinTriggerFunction(gps::triggerGpioResetPin, &RESET_ARGS_GNSS);
ObjectFactory::createAcsBoardAssy(pwrSwitcher, assemblyChildren, gpsCtrl, gpioComIF);
@ -558,22 +594,25 @@ void ObjectFactory::createSolarArrayDeploymentComponents(PowerSwitchIF& pwrSwitc
}
new SolarArrayDeploymentHandler(objects::SOLAR_ARRAY_DEPL_HANDLER, gpioIF, pwrSwitcher,
pcdu::Switches::PDU2_CH5_DEPLOYMENT_MECHANISM_8V,
power::Switches::PDU2_CH5_DEPLOYMENT_MECHANISM_8V,
gpioIds::DEPLSA1, gpioIds::DEPLSA2, *SdCardManager::instance());
}
void ObjectFactory::createSyrlinksComponents(PowerSwitchIF* pwrSwitcher) {
auto* syrlinksUartCookie =
new SerialCookie(objects::SYRLINKS_HANDLER, q7s::UART_SYRLINKS_DEV, uart::SYRLINKS_BAUD,
new SerialCookie(objects::SYRLINKS_HANDLER, q7s::UART_SYRLINKS_DEV, serial::SYRLINKS_BAUD,
syrlinks::MAX_REPLY_SIZE, UartModes::NON_CANONICAL);
syrlinksUartCookie->setParityEven();
new SyrlinksComHandler(objects::SYRLINKS_COM_HANDLER);
auto* syrlinksAssy = new SyrlinksAssembly(objects::SYRLINKS_ASSY);
syrlinksAssy->connectModeTreeParent(satsystem::com::SUBSYSTEM);
auto syrlinksFdir = new SyrlinksFdir(objects::SYRLINKS_HANDLER);
auto syrlinksHandler =
new SyrlinksHandler(objects::SYRLINKS_HANDLER, objects::UART_COM_IF, syrlinksUartCookie,
pcdu::PDU1_CH1_SYRLINKS_12V, syrlinksFdir);
new SyrlinksHandler(objects::SYRLINKS_HANDLER, objects::SYRLINKS_COM_HANDLER,
syrlinksUartCookie, power::PDU1_CH1_SYRLINKS_12V, syrlinksFdir);
syrlinksHandler->setPowerSwitcher(pwrSwitcher);
syrlinksHandler->connectModeTreeParent(satsystem::com::SUBSYSTEM);
syrlinksHandler->connectModeTreeParent(*syrlinksAssy);
#if OBSW_DEBUG_SYRLINKS == 1
syrlinksHandler->setDebugMode(true);
#endif
@ -583,8 +622,8 @@ void ObjectFactory::createPayloadComponents(LinuxLibgpioIF* gpioComIF, PowerSwit
using namespace gpio;
std::stringstream consumer;
auto* camSwitcher =
new CamSwitcher(objects::CAM_SWITCHER, pwrSwitch, pcdu::PDU2_CH8_PAYLOAD_CAMERA);
camSwitcher->connectModeTreeParent(satsystem::pl::SUBSYSTEM);
new CamSwitcher(objects::CAM_SWITCHER, pwrSwitch, power::PDU2_CH8_PAYLOAD_CAMERA);
camSwitcher->connectModeTreeParent(satsystem::payload::SUBSYSTEM);
#if OBSW_ADD_PLOC_MPSOC == 1
consumer << "0x" << std::hex << objects::PLOC_MPSOC_HANDLER;
auto gpioConfigMPSoC = new GpiodRegularByLineName(q7s::gpioNames::ENABLE_MPSOC_UART,
@ -593,14 +632,14 @@ void ObjectFactory::createPayloadComponents(LinuxLibgpioIF* gpioComIF, PowerSwit
mpsocGpioCookie->addGpio(gpioIds::ENABLE_MPSOC_UART, gpioConfigMPSoC);
gpioChecker(gpioComIF->addGpios(mpsocGpioCookie), "PLOC MPSoC");
auto mpsocCookie =
new SerialCookie(objects::PLOC_MPSOC_HANDLER, q7s::UART_PLOC_MPSOC_DEV, uart::PLOC_MPSOC_BAUD,
mpsoc::MAX_REPLY_SIZE, UartModes::NON_CANONICAL);
new SerialCookie(objects::PLOC_MPSOC_HANDLER, q7s::UART_PLOC_MPSOC_DEV,
serial::PLOC_MPSOC_BAUD, mpsoc::MAX_REPLY_SIZE, UartModes::NON_CANONICAL);
mpsocCookie->setNoFixedSizeReply();
auto plocMpsocHelper = new PlocMPSoCHelper(objects::PLOC_MPSOC_HELPER);
auto* mpsocHandler = new PlocMPSoCHandler(
objects::PLOC_MPSOC_HANDLER, objects::UART_COM_IF, mpsocCookie, plocMpsocHelper,
Gpio(gpioIds::ENABLE_MPSOC_UART, gpioComIF), objects::PLOC_SUPERVISOR_HANDLER);
mpsocHandler->connectModeTreeParent(satsystem::pl::SUBSYSTEM);
mpsocHandler->connectModeTreeParent(satsystem::payload::SUBSYSTEM);
#endif /* OBSW_ADD_PLOC_MPSOC == 1 */
#if OBSW_ADD_PLOC_SUPERVISOR == 1
consumer << "0x" << std::hex << objects::PLOC_SUPERVISOR_HANDLER;
@ -609,15 +648,15 @@ void ObjectFactory::createPayloadComponents(LinuxLibgpioIF* gpioComIF, PowerSwit
auto supvGpioCookie = new GpioCookie;
supvGpioCookie->addGpio(gpioIds::ENABLE_SUPV_UART, gpioConfigSupv);
gpioComIF->addGpios(supvGpioCookie);
auto supervisorCookie =
new SerialCookie(objects::PLOC_SUPERVISOR_HANDLER, q7s::UART_PLOC_SUPERVSIOR_DEV,
uart::PLOC_SUPV_BAUD, supv::MAX_PACKET_SIZE * 20, UartModes::NON_CANONICAL);
auto supervisorCookie = new SerialCookie(objects::PLOC_SUPERVISOR_HANDLER,
q7s::UART_PLOC_SUPERVSIOR_DEV, serial::PLOC_SUPV_BAUD,
supv::MAX_PACKET_SIZE * 20, UartModes::NON_CANONICAL);
supervisorCookie->setNoFixedSizeReply();
auto supvHelper = new PlocSupvUartManager(objects::PLOC_SUPERVISOR_HELPER);
auto* supvHandler = new PlocSupervisorHandler(objects::PLOC_SUPERVISOR_HANDLER, supervisorCookie,
Gpio(gpioIds::ENABLE_SUPV_UART, gpioComIF),
pcdu::PDU1_CH6_PLOC_12V, *supvHelper);
supvHandler->connectModeTreeParent(satsystem::pl::SUBSYSTEM);
power::PDU1_CH6_PLOC_12V, *supvHelper);
supvHandler->connectModeTreeParent(satsystem::payload::SUBSYSTEM);
#endif /* OBSW_ADD_PLOC_SUPERVISOR == 1 */
static_cast<void>(consumer);
}
@ -693,59 +732,49 @@ void ObjectFactory::createReactionWheelComponents(LinuxLibgpioIF* gpioComIF,
rws[idx] = rwHandler;
}
createRwAssy(*pwrSwitcher, pcdu::Switches::PDU2_CH2_RW_5V, rws, rwIds);
createRwAssy(*pwrSwitcher, power::Switches::PDU2_CH2_RW_5V, rws, rwIds);
#endif /* OBSW_ADD_RW == 1 */
}
ReturnValue_t ObjectFactory::createCcsdsComponents(LinuxLibgpioIF* gpioComIF,
CcsdsIpCoreHandler** ipCoreHandler) {
ReturnValue_t ObjectFactory::createCcsdsComponents(CcsdsComponentArgs& args) {
using namespace gpio;
// GPIO definitions of signals connected to the virtual channel interfaces of the PTME IP Core
GpioCookie* gpioCookiePtmeIp = new GpioCookie;
GpiodRegularByLineName* gpio = nullptr;
std::stringstream consumer;
consumer.str("PAPB VC0");
gpio = new GpiodRegularByLineName(q7s::gpioNames::PAPB_BUSY_SIGNAL_VC0, consumer.str());
gpio = new GpiodRegularByLineName(q7s::gpioNames::PAPB_BUSY_SIGNAL_VC0, "PAPB VC0");
gpioCookiePtmeIp->addGpio(gpioIds::VC0_PAPB_BUSY, gpio);
consumer.str("PAPB VC0");
gpio = new GpiodRegularByLineName(q7s::gpioNames::PAPB_EMPTY_SIGNAL_VC0, consumer.str());
gpio = new GpiodRegularByLineName(q7s::gpioNames::PAPB_EMPTY_SIGNAL_VC0, "PAPB VC0");
gpioCookiePtmeIp->addGpio(gpioIds::VC0_PAPB_EMPTY, gpio);
consumer.str("PAPB VC 1");
gpio = new GpiodRegularByLineName(q7s::gpioNames::PAPB_BUSY_SIGNAL_VC1, consumer.str());
gpio = new GpiodRegularByLineName(q7s::gpioNames::PAPB_BUSY_SIGNAL_VC1, "PAPB VC1");
gpioCookiePtmeIp->addGpio(gpioIds::VC1_PAPB_BUSY, gpio);
consumer.str("");
consumer.str("PAPB VC 1");
gpio = new GpiodRegularByLineName(q7s::gpioNames::PAPB_EMPTY_SIGNAL_VC1, "PAPB VC1");
gpioCookiePtmeIp->addGpio(gpioIds::VC1_PAPB_EMPTY, gpio);
consumer.str("");
consumer.str("PAPB VC 2");
gpio = new GpiodRegularByLineName(q7s::gpioNames::PAPB_BUSY_SIGNAL_VC2, consumer.str());
gpio = new GpiodRegularByLineName(q7s::gpioNames::PAPB_BUSY_SIGNAL_VC2, "PAPB VC2");
gpioCookiePtmeIp->addGpio(gpioIds::VC2_PAPB_BUSY, gpio);
consumer.str("");
consumer.str("PAPB VC 2");
gpio = new GpiodRegularByLineName(q7s::gpioNames::PAPB_EMPTY_SIGNAL_VC2, consumer.str());
gpio = new GpiodRegularByLineName(q7s::gpioNames::PAPB_EMPTY_SIGNAL_VC2, "PAPB VC2");
gpioCookiePtmeIp->addGpio(gpioIds::VC2_PAPB_EMPTY, gpio);
consumer.str("");
consumer.str("PAPB VC 3");
gpio = new GpiodRegularByLineName(q7s::gpioNames::PAPB_BUSY_SIGNAL_VC3, consumer.str());
gpio = new GpiodRegularByLineName(q7s::gpioNames::PAPB_BUSY_SIGNAL_VC3, "PAPB VC3");
gpioCookiePtmeIp->addGpio(gpioIds::VC3_PAPB_BUSY, gpio);
consumer.str("");
consumer.str("PAPB VC 3");
gpio = new GpiodRegularByLineName(q7s::gpioNames::PAPB_EMPTY_SIGNAL_VC3, consumer.str());
gpio = new GpiodRegularByLineName(q7s::gpioNames::PAPB_EMPTY_SIGNAL_VC3, "PAPB VC3");
gpioCookiePtmeIp->addGpio(gpioIds::VC3_PAPB_EMPTY, gpio);
gpioChecker(gpioComIF->addGpios(gpioCookiePtmeIp), "PTME PAPB VCs");
gpio = new GpiodRegularByLineName(q7s::gpioNames::PTME_RESETN, "PTME RESETN",
gpio::Direction::OUT, gpio::Levels::HIGH);
gpioCookiePtmeIp->addGpio(gpioIds::PTME_RESETN, gpio);
gpioChecker(args.gpioComIF.addGpios(gpioCookiePtmeIp), "PTME PAPB VCs");
// Creating virtual channel interfaces
VcInterfaceIF* vc0 =
new PapbVcInterface(gpioComIF, gpioIds::VC0_PAPB_BUSY, gpioIds::VC0_PAPB_EMPTY, q7s::UIO_PTME,
q7s::uiomapids::PTME_VC0);
VcInterfaceIF* vc1 =
new PapbVcInterface(gpioComIF, gpioIds::VC1_PAPB_BUSY, gpioIds::VC1_PAPB_EMPTY, q7s::UIO_PTME,
q7s::uiomapids::PTME_VC1);
VcInterfaceIF* vc2 =
new PapbVcInterface(gpioComIF, gpioIds::VC2_PAPB_BUSY, gpioIds::VC2_PAPB_EMPTY, q7s::UIO_PTME,
q7s::uiomapids::PTME_VC2);
VcInterfaceIF* vc3 =
new PapbVcInterface(gpioComIF, gpioIds::VC3_PAPB_BUSY, gpioIds::VC3_PAPB_EMPTY, q7s::UIO_PTME,
q7s::uiomapids::PTME_VC3);
VirtualChannelIF* vc0 =
new PapbVcInterface(&args.gpioComIF, gpioIds::VC0_PAPB_BUSY, gpioIds::VC0_PAPB_EMPTY,
q7s::UIO_PTME, q7s::uiomapids::PTME_VC0);
VirtualChannelIF* vc1 =
new PapbVcInterface(&args.gpioComIF, gpioIds::VC1_PAPB_BUSY, gpioIds::VC1_PAPB_EMPTY,
q7s::UIO_PTME, q7s::uiomapids::PTME_VC1);
VirtualChannelIF* vc2 =
new PapbVcInterface(&args.gpioComIF, gpioIds::VC2_PAPB_BUSY, gpioIds::VC2_PAPB_EMPTY,
q7s::UIO_PTME, q7s::uiomapids::PTME_VC2);
VirtualChannelIF* vc3 =
new PapbVcInterface(&args.gpioComIF, gpioIds::VC3_PAPB_BUSY, gpioIds::VC3_PAPB_EMPTY,
q7s::UIO_PTME, q7s::uiomapids::PTME_VC3);
// Creating ptme object and adding virtual channel interfaces
Ptme* ptme = new Ptme(objects::PTME);
ptme->addVcInterface(ccsds::VC0, vc0);
@ -756,20 +785,51 @@ ReturnValue_t ObjectFactory::createCcsdsComponents(LinuxLibgpioIF* gpioComIF,
new AxiPtmeConfig(objects::AXI_PTME_CONFIG, q7s::UIO_PTME, q7s::uiomapids::PTME_CONFIG);
PtmeConfig* ptmeConfig = new PtmeConfig(objects::PTME_CONFIG, axiPtmeConfig);
*ipCoreHandler = new CcsdsIpCoreHandler(objects::CCSDS_HANDLER, objects::PTME,
objects::CCSDS_PACKET_DISTRIBUTOR, ptmeConfig, gpioComIF,
gpioIds::RS485_EN_TX_CLOCK, gpioIds::RS485_EN_TX_DATA);
VirtualChannel* vc = nullptr;
vc = new VirtualChannel(ccsds::VC0, config::VC0_QUEUE_SIZE, objects::CCSDS_HANDLER);
(*ipCoreHandler)->addVirtualChannel(ccsds::VC0, vc);
vc = new VirtualChannel(ccsds::VC1, config::VC1_QUEUE_SIZE, objects::CCSDS_HANDLER);
(*ipCoreHandler)->addVirtualChannel(ccsds::VC1, vc);
vc = new VirtualChannel(ccsds::VC2, config::VC2_QUEUE_SIZE, objects::CCSDS_HANDLER);
(*ipCoreHandler)->addVirtualChannel(ccsds::VC2, vc);
vc = new VirtualChannel(ccsds::VC3, config::VC3_QUEUE_SIZE, objects::CCSDS_HANDLER);
(*ipCoreHandler)->addVirtualChannel(ccsds::VC3, vc);
PtmeGpios gpios;
gpios.enableTxClock = gpioIds::RS485_EN_TX_CLOCK;
gpios.enableTxData = gpioIds::RS485_EN_TX_DATA;
gpios.ptmeResetn = gpioIds::PTME_RESETN;
ReturnValue_t result = (*ipCoreHandler)->connectModeTreeParent(satsystem::com::SUBSYSTEM);
*args.ipCoreHandler =
new CcsdsIpCoreHandler(objects::CCSDS_HANDLER, objects::CCSDS_PACKET_DISTRIBUTOR, *ptmeConfig,
LINK_STATE, &args.gpioComIF, gpios, PTME_LOCKED);
// This VC will receive all live TM
auto* vcWithQueue =
new VirtualChannelWithQueue(objects::PTME_VC0_LIVE_TM, ccsds::VC0, "PTME VC0 LIVE TM", *ptme,
LINK_STATE, args.tmStore, 500);
args.liveDestination = vcWithQueue;
auto* liveTask = new LiveTmTask(objects::LIVE_TM_TASK, args.pusFunnel, args.cfdpFunnel,
*vcWithQueue, PTME_LOCKED);
liveTask->connectModeTreeParent(satsystem::com::SUBSYSTEM);
// Set up log store.
auto* vc = new VirtualChannel(objects::PTME_VC1_LOG_TM, ccsds::VC1, "PTME VC1 LOG TM", *ptme,
LINK_STATE);
LogStores logStores(args.stores);
// Core task which handles the LOG store and takes care of dumping it as TM using a VC directly
auto* logStore =
new PersistentLogTmStoreTask(objects::LOG_STORE_AND_TM_TASK, args.ipcStore, logStores, *vc,
*SdCardManager::instance(), PTME_LOCKED);
logStore->connectModeTreeParent(satsystem::com::SUBSYSTEM);
vc = new VirtualChannel(objects::PTME_VC2_HK_TM, ccsds::VC2, "PTME VC2 HK TM", *ptme, LINK_STATE);
// Core task which handles the HK store and takes care of dumping it as TM using a VC directly
auto* hkStore = new PersistentSingleTmStoreTask(
objects::HK_STORE_AND_TM_TASK, args.ipcStore, *args.stores.hkStore, *vc,
persTmStore::DUMP_HK_STORE_DONE, persTmStore::DUMP_HK_STORE_DONE, *SdCardManager::instance(),
PTME_LOCKED);
hkStore->connectModeTreeParent(satsystem::com::SUBSYSTEM);
vc = new VirtualChannel(objects::PTME_VC3_CFDP_TM, ccsds::VC3, "PTME VC3 CFDP TM", *ptme,
LINK_STATE);
// Core task which handles the CFDP store and takes care of dumping it as TM using a VC directly
auto* cfdpTask = new PersistentSingleTmStoreTask(
objects::CFDP_STORE_AND_TM_TASK, args.ipcStore, *args.stores.cfdpStore, *vc,
persTmStore::DUMP_CFDP_STORE_DONE, persTmStore::DUMP_CFDP_CANCELLED,
*SdCardManager::instance(), PTME_LOCKED);
cfdpTask->connectModeTreeParent(satsystem::com::SUBSYSTEM);
ReturnValue_t result = (*args.ipCoreHandler)->connectModeTreeParent(satsystem::com::SUBSYSTEM);
if (result != returnvalue::OK) {
sif::error
<< "ObjectFactory::createCcsdsComponents: Connecting COM subsystem to CCSDS handler failed"
@ -777,20 +837,18 @@ ReturnValue_t ObjectFactory::createCcsdsComponents(LinuxLibgpioIF* gpioComIF,
}
GpioCookie* gpioCookiePdec = new GpioCookie;
consumer.str("");
consumer << "0x" << std::hex << objects::PDEC_HANDLER;
// GPIO also low after linux boot (specified by device-tree)
gpio = new GpiodRegularByLineName(q7s::gpioNames::PDEC_RESET, consumer.str(), Direction::OUT,
gpio = new GpiodRegularByLineName(q7s::gpioNames::PDEC_RESET, "PDEC Handler", Direction::OUT,
Levels::LOW);
gpioCookiePdec->addGpio(gpioIds::PDEC_RESET, gpio);
gpioChecker(gpioComIF->addGpios(gpioCookiePdec), "PDEC");
gpioChecker(args.gpioComIF.addGpios(gpioCookiePdec), "PDEC");
struct UioNames uioNames {};
uioNames.configMemory = q7s::UIO_PDEC_CONFIG_MEMORY;
uioNames.ramMemory = q7s::UIO_PDEC_RAM;
uioNames.registers = q7s::UIO_PDEC_REGISTERS;
uioNames.irq = q7s::UIO_PDEC_IRQ;
new PdecHandler(objects::PDEC_HANDLER, objects::CCSDS_HANDLER, gpioComIF, gpioIds::PDEC_RESET,
uioNames);
new PdecHandler(objects::PDEC_HANDLER, objects::CCSDS_HANDLER, &args.gpioComIF,
gpioIds::PDEC_RESET, uioNames);
GpioCookie* gpioRS485Chip = new GpioCookie;
gpio = new GpiodRegularByLineName(q7s::gpioNames::RS485_EN_TX_CLOCK, "RS485 Transceiver",
Direction::OUT, Levels::LOW);
@ -805,7 +863,7 @@ ReturnValue_t ObjectFactory::createCcsdsComponents(LinuxLibgpioIF* gpioComIF,
gpio = new GpiodRegularByLineName(q7s::gpioNames::RS485_EN_RX_DATA, "RS485 Transceiver",
Direction::OUT, Levels::LOW);
gpioRS485Chip->addGpio(gpioIds::RS485_EN_RX_DATA, gpio);
gpioChecker(gpioComIF->addGpios(gpioRS485Chip), "RS485 Transceiver");
gpioChecker(args.gpioComIF.addGpios(gpioRS485Chip), "RS485 Transceiver");
return returnvalue::OK;
}
@ -870,7 +928,7 @@ void ObjectFactory::createPlPcduComponents(LinuxLibgpioIF* gpioComIF, SpiComIF*
plPcduHandler->setToGoToNormalModeImmediately(true);
plPcduHandler->enablePeriodicPrintout(true, 10);
#endif
plPcduHandler->connectModeTreeParent(satsystem::pl::SUBSYSTEM);
plPcduHandler->connectModeTreeParent(satsystem::payload::SUBSYSTEM);
}
void ObjectFactory::createTestComponents(LinuxLibgpioIF* gpioComIF) {
@ -888,26 +946,47 @@ void ObjectFactory::createTestComponents(LinuxLibgpioIF* gpioComIF) {
}
void ObjectFactory::createStrComponents(PowerSwitchIF* pwrSwitcher) {
auto* strAssy = new StrAssembly(objects::STR_ASSY);
strAssy->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
auto* starTrackerCookie =
new SerialCookie(objects::STAR_TRACKER, q7s::UART_STAR_TRACKER_DEV, uart::STAR_TRACKER_BAUD,
new SerialCookie(objects::STAR_TRACKER, q7s::UART_STAR_TRACKER_DEV, serial::STAR_TRACKER_BAUD,
startracker::MAX_FRAME_SIZE * 2 + 2, UartModes::NON_CANONICAL);
starTrackerCookie->setNoFixedSizeReply();
StrHelper* strHelper = new StrHelper(objects::STR_HELPER);
StrComHandler* strComIF = new StrComHandler(objects::STR_COM_IF);
const char* paramJsonFile = nullptr;
#ifdef EGSE
paramJsonFile = "/home/pi/arcsec/json/flight-config.json";
#else
#if OBSW_STAR_TRACKER_GROUND_CONFIG == 1
paramJsonFile = "/mnt/sd0/startracker/ground-config.json";
#else
paramJsonFile = "/mnt/sd0/startracker/flight-config.json";
#endif
#endif
if (paramJsonFile == nullptr) {
sif::error << "No valid Star Tracker parameter JSON file" << std::endl;
}
auto strFdir = new StrFdir(objects::STAR_TRACKER);
auto starTracker =
new StarTrackerHandler(objects::STAR_TRACKER, objects::UART_COM_IF, starTrackerCookie,
strHelper, pcdu::PDU1_CH2_STAR_TRACKER_5V);
new StarTrackerHandler(objects::STAR_TRACKER, objects::STR_COM_IF, starTrackerCookie,
paramJsonFile, strComIF, power::PDU1_CH2_STAR_TRACKER_5V);
starTracker->setPowerSwitcher(pwrSwitcher);
starTracker->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
starTracker->connectModeTreeParent(*strAssy);
starTracker->setCustomFdir(strFdir);
}
void ObjectFactory::createImtqComponents(PowerSwitchIF* pwrSwitcher) {
new ImtqPollingTask(objects::IMTQ_POLLING);
void ObjectFactory::createImtqComponents(PowerSwitchIF* pwrSwitcher, bool enableHkSets) {
auto* imtqAssy = new ImtqAssembly(objects::IMTQ_ASSY);
imtqAssy->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
new ImtqPollingTask(objects::IMTQ_POLLING, I2C_FATAL_ERRORS);
I2cCookie* imtqI2cCookie = new I2cCookie(addresses::IMTQ, imtq::MAX_REPLY_SIZE, q7s::I2C_PL_EIVE);
auto imtqHandler = new ImtqHandler(objects::IMTQ_HANDLER, objects::IMTQ_POLLING, imtqI2cCookie,
pcdu::Switches::PDU1_CH3_MGT_5V);
power::Switches::PDU1_CH3_MGT_5V, enableHkSets);
imtqHandler->enableThermalModule(ThermalStateCfg());
imtqHandler->setPowerSwitcher(pwrSwitcher);
imtqHandler->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
imtqHandler->connectModeTreeParent(*imtqAssy);
static_cast<void>(imtqHandler);
#if OBSW_TEST_IMTQ == 1
imtqHandler->setStartUpImmediately();
@ -918,10 +997,10 @@ void ObjectFactory::createImtqComponents(PowerSwitchIF* pwrSwitcher) {
#endif
}
void ObjectFactory::createBpxBatteryComponent() {
void ObjectFactory::createBpxBatteryComponent(bool enableHkSets) {
I2cCookie* bpxI2cCookie = new I2cCookie(addresses::BPX_BATTERY, 100, q7s::I2C_PL_EIVE);
BpxBatteryHandler* bpxHandler =
new BpxBatteryHandler(objects::BPX_BATT_HANDLER, objects::I2C_COM_IF, bpxI2cCookie);
BpxBatteryHandler* bpxHandler = new BpxBatteryHandler(
objects::BPX_BATT_HANDLER, objects::I2C_COM_IF, bpxI2cCookie, enableHkSets);
bpxHandler->setStartUpImmediately();
bpxHandler->setToGoToNormalMode(true);
#if OBSW_DEBUG_BPX_BATT == 1

View File

@ -2,12 +2,16 @@
#define BSP_Q7S_OBJECTFACTORY_H_
#include <fsfw/returnvalues/returnvalue.h>
#include <mission/devices/HeaterHandler.h>
#include <fsfw_hal/linux/spi/SpiComIF.h>
#include <mission/com/CcsdsIpCoreHandler.h>
#include <mission/com/PersistentLogTmStoreTask.h>
#include <mission/genericFactory.h>
#include <mission/system/objects/Stack5VHandler.h>
#include <mission/tmtc/CcsdsIpCoreHandler.h>
#include <mission/tcs/HeaterHandler.h>
#include <mission/tmtc/CfdpTmFunnel.h>
#include <mission/tmtc/PusTmFunnel.h>
#include <atomic>
#include <string>
class LinuxLibgpioIF;
@ -19,30 +23,55 @@ class HealthTableIF;
class AcsBoardAssembly;
class GpioIF;
extern std::atomic_bool PTME_LOCKED;
namespace ObjectFactory {
struct CcsdsComponentArgs {
CcsdsComponentArgs(LinuxLibgpioIF& gpioIF, StorageManagerIF& ipcStore, StorageManagerIF& tmStore,
PersistentTmStores& stores, PusTmFunnel& pusFunnel, CfdpTmFunnel& cfdpFunnel,
CcsdsIpCoreHandler** ipCoreHandler)
: gpioComIF(gpioIF),
ipcStore(ipcStore),
tmStore(tmStore),
stores(stores),
pusFunnel(pusFunnel),
cfdpFunnel(cfdpFunnel),
ipCoreHandler(ipCoreHandler) {}
LinuxLibgpioIF& gpioComIF;
StorageManagerIF& ipcStore;
StorageManagerIF& tmStore;
PersistentTmStores& stores;
PusTmFunnel& pusFunnel;
CfdpTmFunnel& cfdpFunnel;
CcsdsIpCoreHandler** ipCoreHandler;
AcceptsTelemetryIF* liveDestination = nullptr;
};
void setStatics();
void produce(void* args);
void createCommunicationInterfaces(LinuxLibgpioIF** gpioComIF, SerialComIF** uartComIF,
SpiComIF** spiMainComIF, I2cComIF** i2cComIF);
void createPcduComponents(LinuxLibgpioIF* gpioComIF, PowerSwitchIF** pwrSwitcher);
void createPcduComponents(LinuxLibgpioIF* gpioComIF, PowerSwitchIF** pwrSwitcher,
bool enableHkSets);
void createPlPcduComponents(LinuxLibgpioIF* gpioComIF, SpiComIF* spiComIF,
PowerSwitchIF* pwrSwitcher, Stack5VHandler& stackHandler);
void createTmpComponents();
ReturnValue_t createRadSensorComponent(LinuxLibgpioIF* gpioComIF, Stack5VHandler& handler);
void createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialComIF* uartComIF,
PowerSwitchIF& pwrSwitcher);
void createAcsBoardGpios(GpioCookie& cookie);
void createAcsBoardComponents(SpiComIF& spiComIF, LinuxLibgpioIF* gpioComIF, SerialComIF* uartComIF,
PowerSwitchIF& pwrSwitcher, bool enableHkSets);
void createHeaterComponents(GpioIF* gpioIF, PowerSwitchIF* pwrSwitcher, HealthTableIF* healthTable,
HeaterHandler*& heaterHandler);
void createImtqComponents(PowerSwitchIF* pwrSwitcher);
void createBpxBatteryComponent();
void createImtqComponents(PowerSwitchIF* pwrSwitcher, bool enableHkSets);
void createBpxBatteryComponent(bool enableHkSets);
void createStrComponents(PowerSwitchIF* pwrSwitcher);
void createSolarArrayDeploymentComponents(PowerSwitchIF& pwrSwitcher, GpioIF& gpioIF);
void createSyrlinksComponents(PowerSwitchIF* pwrSwitcher);
void createPayloadComponents(LinuxLibgpioIF* gpioComIF, PowerSwitchIF& pwrSwitcher);
void createReactionWheelComponents(LinuxLibgpioIF* gpioComIF, PowerSwitchIF* pwrSwitcher);
ReturnValue_t createCcsdsComponents(LinuxLibgpioIF* gpioComIF, CcsdsIpCoreHandler** ipCoreHandler);
ReturnValue_t createCcsdsComponents(CcsdsComponentArgs& args);
void createMiscComponents();
void createTestComponents(LinuxLibgpioIF* gpioComIF);

View File

@ -0,0 +1,87 @@
#include "WatchdogHandler.h"
#include <fcntl.h>
#include <unistd.h>
#include <cerrno>
#include <cstring>
#include <filesystem>
#include "fsfw/serviceinterface.h"
#include "watchdog/definitions.h"
WatchdogHandler::WatchdogHandler() {}
void WatchdogHandler::periodicOperation() {
if (watchdogFifoFd != 0) {
if (watchdogFifoFd == RETRY_FIFO_OPEN) {
// Open FIFO write only and non-blocking
watchdogFifoFd = open(watchdog::FIFO_NAME.c_str(), O_WRONLY | O_NONBLOCK);
if (watchdogFifoFd < 0) {
if (errno == ENXIO) {
watchdogFifoFd = RETRY_FIFO_OPEN;
// No printout for now, would be spam
return;
} else {
sif::error << "Opening pipe " << watchdog::FIFO_NAME << " write-only failed with "
<< errno << ": " << strerror(errno) << std::endl;
return;
}
}
sif::info << "Opened " << watchdog::FIFO_NAME << " successfully" << std::endl;
performStartHandling();
} else if (watchdogFifoFd > 0) {
// Write to OBSW watchdog FIFO here
const char writeChar = watchdog::first::IDLE_CHAR;
ssize_t writtenBytes = write(watchdogFifoFd, &writeChar, 1);
if (writtenBytes < 0) {
sif::error << "Errors writing to watchdog FIFO, code " << errno << ": " << strerror(errno)
<< std::endl;
}
}
}
}
ReturnValue_t WatchdogHandler::initialize(bool enableWatchdogFunction) {
using namespace std::filesystem;
this->enableWatchFunction = enableWatchdogFunction;
std::error_code e;
if (not std::filesystem::exists(watchdog::FIFO_NAME, e)) {
// Still return returnvalue::OK for now
sif::info << "Watchdog FIFO " << watchdog::FIFO_NAME << " does not exist, can't initiate"
<< " watchdog" << std::endl;
return returnvalue::OK;
}
// Open FIFO write only and non-blocking to prevent SW from killing itself.
watchdogFifoFd = open(watchdog::FIFO_NAME.c_str(), O_WRONLY | O_NONBLOCK);
if (watchdogFifoFd < 0) {
if (errno == ENXIO) {
watchdogFifoFd = RETRY_FIFO_OPEN;
sif::info << "eive-watchdog not running. FIFO can not be opened" << std::endl;
} else {
sif::error << "Opening pipe " << watchdog::FIFO_NAME << " write-only failed with " << errno
<< ": " << strerror(errno) << std::endl;
return returnvalue::FAILED;
}
}
return performStartHandling();
}
ReturnValue_t WatchdogHandler::performStartHandling() {
char startBuf[2];
ssize_t writeLen = 1;
startBuf[0] = watchdog::first::START_CHAR;
if (enableWatchFunction) {
writeLen += 1;
startBuf[1] = watchdog::second::WATCH_FLAG;
}
ssize_t writtenBytes = write(watchdogFifoFd, &startBuf, writeLen);
if (writtenBytes < 0) {
sif::error << "WatchdogHandler: Errors writing to watchdog FIFO, code " << errno << ": "
<< strerror(errno) << std::endl;
return returnvalue::FAILED;
} else if (writtenBytes != writeLen) {
sif::warning << "WatchdogHandler: Not all bytes were written, possible error" << std::endl;
}
return returnvalue::OK;
}

View File

@ -0,0 +1,23 @@
#ifndef BSP_Q7S_CORE_WATCHDOGHANDLER_H_
#define BSP_Q7S_CORE_WATCHDOGHANDLER_H_
#include "fsfw/returnvalues/returnvalue.h"
class WatchdogHandler {
public:
WatchdogHandler();
ReturnValue_t initialize(bool enableWatchFunction);
void periodicOperation();
private:
// Designated value for rechecking FIFO open
static constexpr int RETRY_FIFO_OPEN = -2;
int watchdogFifoFd = 0;
bool enableWatchFunction = false;
ReturnValue_t performStartHandling();
};
#endif /* BSP_Q7S_CORE_WATCHDOGHANDLER_H_ */

View File

@ -3,6 +3,7 @@
#include <fsfw/devicehandlers/DeviceCommunicationIF.h>
#include <fsfw/subsystem/Subsystem.h>
#include <linux/scheduling.h>
#include <mission/tcs/Max31865Definitions.h>
#include <iostream>
#include <vector>
@ -17,9 +18,8 @@
#include "fsfw/tasks/FixedTimeslotTaskIF.h"
#include "fsfw/tasks/PeriodicTaskIF.h"
#include "fsfw/tasks/TaskFactory.h"
#include "mission/core/pollingSeqTables.h"
#include "mission/core/scheduling.h"
#include "mission/devices/devicedefinitions/Max31865Definitions.h"
#include "mission/pollingSeqTables.h"
#include "mission/scheduling.h"
#include "mission/utility/InitMission.h"
/* This is configured for linux without CR */
@ -72,8 +72,9 @@ void scheduling::initTasks() {
#if OBSW_ADD_SA_DEPL == 1
// Could add this to the core controller but the core controller does so many thing that I would
// prefer to have the solar array deployment in a seprate task.
PeriodicTaskIF* solarArrayDeplTask = factory->createPeriodicTask(
"SOLAR_ARRAY_DEPL", 65, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.4, missedDeadlineFunc);
PeriodicTaskIF* solarArrayDeplTask =
factory->createPeriodicTask("SOLAR_ARRAY_DEPL", 65, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.4,
missedDeadlineFunc, &RR_SCHEDULING);
result = solarArrayDeplTask->addComponent(objects::SOLAR_ARRAY_DEPL_HANDLER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("SOLAR_ARRAY_DEPL", objects::SOLAR_ARRAY_DEPL_HANDLER);
@ -81,7 +82,7 @@ void scheduling::initTasks() {
#endif
PeriodicTaskIF* coreCtrlTask = factory->createPeriodicTask(
"CORE_CTRL", 60, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.4, missedDeadlineFunc);
"CORE_CTRL", 55, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.4, missedDeadlineFunc, &RR_SCHEDULING);
result = coreCtrlTask->addComponent(objects::CORE_CONTROLLER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("CORE_CTRL", objects::CORE_CONTROLLER);
@ -89,7 +90,7 @@ void scheduling::initTasks() {
/* TMTC Distribution */
PeriodicTaskIF* tmTcDistributor = factory->createPeriodicTask(
"DIST", 45, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2, missedDeadlineFunc);
"TC_DIST", 45, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2, missedDeadlineFunc, &RR_SCHEDULING);
#if OBSW_ADD_TCPIP_SERVERS == 1
#if OBSW_ADD_TMTC_UDP_SERVER == 1
result = tmTcDistributor->addComponent(objects::UDP_TMTC_SERVER);
@ -116,15 +117,11 @@ void scheduling::initTasks() {
if (result != returnvalue::OK) {
scheduling::printAddObjectError("CFDP_DISTRIBUTOR", objects::CFDP_DISTRIBUTOR);
}
result = tmTcDistributor->addComponent(objects::TM_FUNNEL);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("TM_FUNNEL", objects::TM_FUNNEL);
}
#if OBSW_ADD_TCPIP_SERVERS == 1
#if OBSW_ADD_TMTC_UDP_SERVER == 1
PeriodicTaskIF* udpPollingTask = factory->createPeriodicTask(
"UDP_TMTC_POLLING", 65, PeriodicTaskIF::MINIMUM_STACK_SIZE, 2.0, missedDeadlineFunc);
"UDP_TMTC_POLLING", 0, PeriodicTaskIF::MINIMUM_STACK_SIZE, 2.0, missedDeadlineFunc);
result = udpPollingTask->addComponent(objects::UDP_TMTC_POLLING_TASK);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("UDP_POLLING", objects::UDP_TMTC_POLLING_TASK);
@ -132,7 +129,7 @@ void scheduling::initTasks() {
#endif
#if OBSW_ADD_TMTC_TCP_SERVER == 1
PeriodicTaskIF* tcpPollingTask = factory->createPeriodicTask(
"TCP_TMTC_POLLING", 65, PeriodicTaskIF::MINIMUM_STACK_SIZE, 2.0, missedDeadlineFunc);
"TCP_TMTC_POLLING", 0, PeriodicTaskIF::MINIMUM_STACK_SIZE, 2.0, missedDeadlineFunc);
result = tcpPollingTask->addComponent(objects::TCP_TMTC_POLLING_TASK);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("UDP_POLLING", objects::TCP_TMTC_POLLING_TASK);
@ -140,8 +137,9 @@ void scheduling::initTasks() {
#endif
#endif
PeriodicTaskIF* genericSysTask = factory->createPeriodicTask(
"SYSTEM_TASK", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.5, missedDeadlineFunc);
PeriodicTaskIF* genericSysTask =
factory->createPeriodicTask("SYSTEM_TASK", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.5,
missedDeadlineFunc, &RR_SCHEDULING);
result = genericSysTask->addComponent(objects::EIVE_SYSTEM);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("EIVE_SYSTEM", objects::EIVE_SYSTEM);
@ -150,6 +148,10 @@ void scheduling::initTasks() {
if (result != returnvalue::OK) {
scheduling::printAddObjectError("COM_SUBSYSTEM", objects::COM_SUBSYSTEM);
}
result = genericSysTask->addComponent(objects::SYRLINKS_ASSY);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("SYRLINKS_ASSY", objects::SYRLINKS_ASSY);
}
result = genericSysTask->addComponent(objects::PL_SUBSYSTEM);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PL_SUBSYSTEM", objects::PL_SUBSYSTEM);
@ -171,76 +173,138 @@ void scheduling::initTasks() {
// Runs in IRQ mode, frequency does not really matter
PeriodicTaskIF* pdecHandlerTask = factory->createPeriodicTask(
"PDEC_HANDLER", 75, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, missedDeadlineFunc);
"PDEC_HANDLER", 75, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, nullptr, &RR_SCHEDULING);
result = pdecHandlerTask->addComponent(objects::PDEC_HANDLER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PDEC Handler", objects::PDEC_HANDLER);
}
#endif /* OBSW_ADD_CCSDS_IP_CORE == 1 */
#endif /* OBSW_ADD_CCSDS_IP_CORE == 1 */
// All the TM store tasks run in permanent loops, frequency does not matter
PeriodicTaskIF* liveTmTask = factory->createPeriodicTask(
"LIVE_TM", 55, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, nullptr, &RR_SCHEDULING);
result = liveTmTask->addComponent(objects::LIVE_TM_TASK);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("LIVE_TM", objects::LIVE_TM_TASK);
}
PeriodicTaskIF* logTmTask = factory->createPeriodicTask(
"LOG_PSTORE", 0, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, nullptr);
result = logTmTask->addComponent(objects::LOG_STORE_AND_TM_TASK);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("LOG_STORE_AND_TM", objects::LOG_STORE_AND_TM_TASK);
}
PeriodicTaskIF* hkTmTask =
factory->createPeriodicTask("HK_PSTORE", 0, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, nullptr);
result = hkTmTask->addComponent(objects::HK_STORE_AND_TM_TASK);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("HK_STORE_AND_TM", objects::HK_STORE_AND_TM_TASK);
}
PeriodicTaskIF* cfdpTmTask = factory->createPeriodicTask(
"CFDP_PSTORE", 0, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, nullptr);
result = cfdpTmTask->addComponent(objects::CFDP_STORE_AND_TM_TASK);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("CFDP_STORE_AND_TM", objects::CFDP_STORE_AND_TM_TASK);
}
// TODO: Use user priorities for this task.
#if OBSW_ADD_CFDP_COMPONENTS == 1
PeriodicTaskIF* cfdpTask = factory->createPeriodicTask(
"CFDP Handler", 45, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.4, missedDeadlineFunc);
PeriodicTaskIF* cfdpTask =
factory->createPeriodicTask("CFDP_HANDLER", 40, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.4,
missedDeadlineFunc, &RR_SCHEDULING);
result = cfdpTask->addComponent(objects::CFDP_HANDLER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("CFDP Handler", objects::CFDP_HANDLER);
scheduling::printAddObjectError("CFDP", objects::CFDP_HANDLER);
}
#endif
#if OBSW_ADD_GPS_CTRL == 1
PeriodicTaskIF* gpsTask = factory->createPeriodicTask(
"GPS_TASK", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, 0.4, missedDeadlineFunc);
PeriodicTaskIF* gpsTask =
factory->createPeriodicTask("GPS_TASK", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, 0.4,
missedDeadlineFunc, &RR_SCHEDULING);
result = gpsTask->addComponent(objects::GPS_CONTROLLER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("GPS_CTRL", objects::GPS_CONTROLLER);
}
#endif /* OBSW_ADD_GPS_CTRL */
#if OBSW_ADD_ACS_BOARD == 1
PeriodicTaskIF* acsBrdPolling =
factory->createPeriodicTask("ACS_BOARD_POLLING", 85, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2,
0.4, missedDeadlineFunc, &RR_SCHEDULING);
result = acsBrdPolling->addComponent(objects::ACS_BOARD_POLLING_TASK);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("ACS_BOARD_POLLING", objects::ACS_BOARD_POLLING_TASK);
}
#endif
#if OBSW_ADD_RW == 1
PeriodicTaskIF* rwPolling = factory->createPeriodicTask(
"RW_POLLING_TASK", 85, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, 0.4, missedDeadlineFunc);
PeriodicTaskIF* rwPolling =
factory->createPeriodicTask("RW_POLLING_TASK", 75, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2,
0.4, missedDeadlineFunc, &RR_SCHEDULING);
result = rwPolling->addComponent(objects::RW_POLLING_TASK);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("RW_POLLING_TASK", objects::RW_POLLING_TASK);
}
#endif
#if OBSW_ADD_MGT == 1
PeriodicTaskIF* imtqPolling = factory->createPeriodicTask(
"IMTQ_POLLING_TASK", 85, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, 0.4, missedDeadlineFunc);
PeriodicTaskIF* imtqPolling =
factory->createPeriodicTask("IMTQ_POLLING_TASK", 85, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2,
0.4, missedDeadlineFunc, &RR_SCHEDULING);
result = imtqPolling->addComponent(objects::IMTQ_POLLING);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("IMTQ_POLLING_TASK", objects::IMTQ_POLLING);
}
#endif
PeriodicTaskIF* acsSysTask = factory->createPeriodicTask(
"ACS_SYS_TASK", 55, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, 0.4, missedDeadlineFunc);
static_cast<void>(acsSysTask);
#if OBSW_ADD_SUN_SENSORS == 1
PeriodicTaskIF* susPolling =
factory->createPeriodicTask("SUS_POLLING_TASK", 85, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2,
0.4, missedDeadlineFunc, &RR_SCHEDULING);
result = susPolling->addComponent(objects::SUS_POLLING_TASK);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("SUS_POLLING_TASK", objects::SUS_POLLING_TASK);
}
#endif
PeriodicTaskIF* acsSysTask =
factory->createPeriodicTask("ACS_SYS_TASK", 55, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, 0.4,
missedDeadlineFunc, &RR_SCHEDULING);
result = acsSysTask->addComponent(objects::ACS_SUBSYSTEM);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("ACS_SUBSYSTEM", objects::ACS_SUBSYSTEM);
}
#if OBSW_ADD_ACS_BOARD == 1
result = acsSysTask->addComponent(objects::IMTQ_ASSY);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("IMTQ_ASSY", objects::IMTQ_ASSY);
}
result = acsSysTask->addComponent(objects::ACS_BOARD_ASS);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("ACS_BOARD_ASS", objects::ACS_BOARD_ASS);
}
#endif /* OBSW_ADD_ACS_HANDLERS */
#if OBSW_ADD_RW == 1
result = acsSysTask->addComponent(objects::RW_ASS);
result = acsSysTask->addComponent(objects::RW_ASSY);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("RW_ASS", objects::RW_ASS);
scheduling::printAddObjectError("RW_ASS", objects::RW_ASSY);
}
#endif
#if OBSW_ADD_SUS_BOARD_ASS == 1
result = acsSysTask->addComponent(objects::SUS_BOARD_ASS);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("SUS_BOARD_ASS", objects::SUS_BOARD_ASS);
}
#endif
result = acsSysTask->addComponent(objects::STR_ASSY);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("STR_ASSY", objects::STR_ASSY);
}
result = acsSysTask->addComponent(objects::GPS_0_HEALTH_DEV);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("GPS_0_HEALTH_DEV", objects::GPS_0_HEALTH_DEV);
}
result = acsSysTask->addComponent(objects::GPS_1_HEALTH_DEV);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("GPS_1_HEALTH_DEV", objects::GPS_1_HEALTH_DEV);
}
PeriodicTaskIF* tcsSystemTask = factory->createPeriodicTask(
"TCS_TASK", 55, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.5, missedDeadlineFunc);
"TCS_TASK", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.5, missedDeadlineFunc, &RR_SCHEDULING);
#if OBSW_ADD_THERMAL_TEMP_INSERTER == 1
tcsSystemTask->addComponent(objects::THERMAL_TEMP_INSERTER);
#endif
scheduling::scheduleRtdSensors(tcsSystemTask);
result = tcsSystemTask->addComponent(objects::TCS_SUBSYSTEM);
if (result != returnvalue::OK) {
@ -256,34 +320,45 @@ void scheduling::initTasks() {
scheduling::printAddObjectError("THERMAL_CONTROLLER", objects::THERMAL_CONTROLLER);
}
#endif
#if OBSW_ADD_HEATERS == 1
result = tcsSystemTask->addComponent(objects::HEATER_HANDLER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("HEATER_HANDLER", objects::HEATER_HANDLER);
}
#if OBSW_ADD_SYRLINKS == 1
PeriodicTaskIF* syrlinksCom = factory->createPeriodicTask(
"SYRLINKS_COM", 65, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, missedDeadlineFunc);
result = syrlinksCom->addComponent(objects::SYRLINKS_COM_HANDLER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("SYRLINKS_COM", objects::SYRLINKS_COM_HANDLER);
}
#endif
#if OBSW_ADD_STAR_TRACKER == 1
PeriodicTaskIF* strHelperTask = factory->createPeriodicTask(
"STR_HELPER", 20, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2, missedDeadlineFunc);
result = strHelperTask->addComponent(objects::STR_HELPER);
// Relatively high priority to make sure STR COM works well.
PeriodicTaskIF* strHelperTask =
factory->createPeriodicTask("STR_HELPER", 30, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2,
missedDeadlineFunc, &RR_SCHEDULING);
result = strHelperTask->addComponent(objects::STR_COM_IF);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("STR_HELPER", objects::STR_HELPER);
scheduling::printAddObjectError("STR_HELPER", objects::STR_COM_IF);
}
#endif /* OBSW_ADD_STAR_TRACKER == 1 */
// TODO: Use regular scheduler for this task
#if OBSW_ADD_PLOC_MPSOC == 1
PeriodicTaskIF* mpsocHelperTask = factory->createPeriodicTask(
"PLOC_MPSOC_HELPER", 20, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2, missedDeadlineFunc);
"PLOC_MPSOC_HELPER", 0, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2, missedDeadlineFunc);
result = mpsocHelperTask->addComponent(objects::PLOC_MPSOC_HELPER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PLOC_MPSOC_HELPER", objects::PLOC_MPSOC_HELPER);
}
#endif /* OBSW_ADD_PLOC_MPSOC */
// TODO: Use regular scheduler for this task
#if OBSW_ADD_PLOC_SUPERVISOR == 1
PeriodicTaskIF* supvHelperTask = factory->createPeriodicTask(
"PLOC_SUPV_HELPER", 10, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, missedDeadlineFunc);
"PLOC_SUPV_HELPER", 0, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, missedDeadlineFunc);
result = supvHelperTask->addComponent(objects::PLOC_SUPERVISOR_HELPER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PLOC_SUPV_HELPER", objects::PLOC_SUPERVISOR_HELPER);
@ -291,12 +366,10 @@ void scheduling::initTasks() {
#endif /* OBSW_ADD_PLOC_SUPERVISOR */
PeriodicTaskIF* plTask = factory->createPeriodicTask(
"PL_TASK", 30, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.8, missedDeadlineFunc);
"PL_TASK", 25, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.8, missedDeadlineFunc, &RR_SCHEDULING);
plTask->addComponent(objects::CAM_SWITCHER);
scheduling::addMpsocSupvHandlers(plTask);
#if OBSW_ADD_SCEX_DEVICE == 1
scheduling::scheduleScexDev(plTask);
#endif
#if OBSW_ADD_SCEX_DEVICE == 1
PeriodicTaskIF* scexReaderTask;
@ -348,14 +421,27 @@ void scheduling::initTasks() {
#if OBSW_ADD_CCSDS_IP_CORES == 1
pdecHandlerTask->startTask();
#endif /* OBSW_ADD_CCSDS_IP_CORES == 1 */
liveTmTask->startTask();
logTmTask->startTask();
hkTmTask->startTask();
cfdpTmTask->startTask();
coreCtrlTask->startTask();
#if OBSW_ADD_SA_DEPL == 1
solarArrayDeplTask->startTask();
#endif
#if OBSW_ADD_ACS_BOARD == 1
acsBrdPolling->startTask();
#endif
#if OBSW_ADD_SYRLINKS == 1
syrlinksCom->startTask();
#endif
#if OBSW_ADD_MGT == 1
imtqPolling->startTask();
#endif
#if OBSW_ADD_SUN_SENSORS == 1
susPolling->startTask();
#endif
taskStarter(pstTasks, "PST task vector");
taskStarter(pusTasks, "PUS task vector");
@ -378,9 +464,7 @@ void scheduling::initTasks() {
#if OBSW_ADD_RW == 1
rwPolling->startTask();
#endif
#if OBSW_ADD_GPS_CTRL == 1
gpsTask->startTask();
#endif
acsSysTask->startTask();
if (not tcsSystemTask->isEmpty()) {
tcsSystemTask->startTask();
@ -406,8 +490,9 @@ void scheduling::createPstTasks(TaskFactory& factory, TaskDeadlineMissedFunction
#else
static constexpr float acsPstPeriod = 0.4;
#endif
FixedTimeslotTaskIF* acsTcsPst = factory.createFixedTimeslotTask(
"ACS_TCS_PST", 80, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, acsPstPeriod, missedDeadlineFunc);
FixedTimeslotTaskIF* acsTcsPst =
factory.createFixedTimeslotTask("ACS_TCS_PST", 85, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2,
acsPstPeriod, missedDeadlineFunc, &RR_SCHEDULING);
result = pst::pstTcsAndAcs(acsTcsPst, cfg);
if (result != returnvalue::OK) {
if (result == FixedTimeslotTaskIF::SLOT_LIST_EMPTY) {
@ -421,9 +506,10 @@ void scheduling::createPstTasks(TaskFactory& factory, TaskDeadlineMissedFunction
/* Polling Sequence Table Default */
#if OBSW_ADD_SPI_TEST_CODE == 0
FixedTimeslotTaskIF* spiPst = factory.createFixedTimeslotTask(
"MAIN_SPI", 45, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, 0.5, missedDeadlineFunc);
result = pst::pstSpiAndSyrlinks(spiPst);
FixedTimeslotTaskIF* syrlinksPst =
factory.createFixedTimeslotTask("SYRLINKS", 65, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, 0.5,
missedDeadlineFunc, &RR_SCHEDULING);
result = pst::pstSyrlinks(syrlinksPst);
if (result != returnvalue::OK) {
if (result == FixedTimeslotTaskIF::SLOT_LIST_EMPTY) {
sif::warning << "scheduling::initTasks: SPI PST is empty" << std::endl;
@ -431,14 +517,15 @@ void scheduling::createPstTasks(TaskFactory& factory, TaskDeadlineMissedFunction
sif::error << "scheduling::initTasks: Creating SPI PST failed!" << std::endl;
}
} else {
taskVec.push_back(spiPst);
taskVec.push_back(syrlinksPst);
}
#endif
#if OBSW_ADD_I2C_TEST_CODE == 0
FixedTimeslotTaskIF* i2cPst = factory.createFixedTimeslotTask(
"I2C_PST", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, 0.2, missedDeadlineFunc);
result = pst::pstI2c(i2cPst);
FixedTimeslotTaskIF* i2cPst =
factory.createFixedTimeslotTask("I2C_PS_PST", 60, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, 0.6,
missedDeadlineFunc, &RR_SCHEDULING);
result = pst::pstI2cProcessingSystem(i2cPst);
if (result != returnvalue::OK) {
if (result == FixedTimeslotTaskIF::SLOT_LIST_EMPTY) {
sif::warning << "scheduling::initTasks: I2C PST is empty" << std::endl;
@ -450,9 +537,9 @@ void scheduling::createPstTasks(TaskFactory& factory, TaskDeadlineMissedFunction
}
#endif
#if OBSW_ADD_GOMSPACE_PCDU == 1
FixedTimeslotTaskIF* gomSpacePstTask = factory.createFixedTimeslotTask(
"GS_PST_TASK", 65, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, 1.0, missedDeadlineFunc);
FixedTimeslotTaskIF* gomSpacePstTask =
factory.createFixedTimeslotTask("GS_PST_TASK", 65, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4,
0.25, missedDeadlineFunc, &RR_SCHEDULING);
result = pst::pstGompaceCan(gomSpacePstTask);
if (result != returnvalue::OK) {
if (result != FixedTimeslotTaskIF::SLOT_LIST_EMPTY) {
@ -460,15 +547,15 @@ void scheduling::createPstTasks(TaskFactory& factory, TaskDeadlineMissedFunction
}
}
taskVec.push_back(gomSpacePstTask);
#endif
}
void scheduling::createPusTasks(TaskFactory& factory, TaskDeadlineMissedFunction missedDeadlineFunc,
std::vector<PeriodicTaskIF*>& taskVec) {
ReturnValue_t result = returnvalue::OK;
/* PUS Services */
PeriodicTaskIF* pusHighPrio = factory.createPeriodicTask(
"PUS_HIGH_PRIO", 60, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2, missedDeadlineFunc);
PeriodicTaskIF* pusHighPrio =
factory.createPeriodicTask("PUS_HIGH_PRIO", 60, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2,
missedDeadlineFunc, &RR_SCHEDULING);
result = pusHighPrio->addComponent(objects::PUS_SERVICE_1_VERIFICATION);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS_VERIF", objects::PUS_SERVICE_1_VERIFICATION);
@ -479,16 +566,17 @@ void scheduling::createPusTasks(TaskFactory& factory, TaskDeadlineMissedFunction
}
result = pusHighPrio->addComponent(objects::EVENT_MANAGER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS_MGMT", objects::EVENT_MANAGER);
scheduling::printAddObjectError("EVENT_MGMT", objects::EVENT_MANAGER);
}
result = pusHighPrio->addComponent(objects::PUS_SERVICE_9_TIME_MGMT);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS_9", objects::PUS_SERVICE_9_TIME_MGMT);
scheduling::printAddObjectError("PUS_TIME", objects::PUS_SERVICE_9_TIME_MGMT);
}
taskVec.push_back(pusHighPrio);
PeriodicTaskIF* pusMedPrio = factory.createPeriodicTask(
"PUS_MED_PRIO", 40, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.8, missedDeadlineFunc);
PeriodicTaskIF* pusMedPrio =
factory.createPeriodicTask("PUS_MED_PRIO", 45, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.8,
missedDeadlineFunc, &RR_SCHEDULING);
result = pusMedPrio->addComponent(objects::PUS_SERVICE_3_HOUSEKEEPING);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS_3", objects::PUS_SERVICE_3_HOUSEKEEPING);
@ -497,6 +585,10 @@ void scheduling::createPusTasks(TaskFactory& factory, TaskDeadlineMissedFunction
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS_8", objects::PUS_SERVICE_8_FUNCTION_MGMT);
}
result = pusMedPrio->addComponent(objects::PUS_SERVICE_15_TM_STORAGE);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS_15", objects::PUS_SERVICE_15_TM_STORAGE);
}
result = pusMedPrio->addComponent(objects::PUS_SERVICE_11_TC_SCHEDULER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS_11", objects::PUS_SERVICE_11_TC_SCHEDULER);

View File

@ -4,7 +4,7 @@
#include <vector>
#include "fsfw/tasks/definitions.h"
#include "mission/core/pollingSeqTables.h"
#include "mission/pollingSeqTables.h"
using pst::AcsPstCfg;

View File

@ -1,28 +1,42 @@
#include <bsp_q7s/callbacks/q7sGpioCallbacks.h>
#include <dummies/ComCookieDummy.h>
#include <dummies/PcduHandlerDummy.h>
#include <fsfw/health/HealthTableIF.h>
#include <fsfw/power/DummyPowerSwitcher.h>
#include <mission/devices/devicedefinitions/GomspaceDefinitions.h>
#include <mission/system/tree/system.h>
#include <fsfw_hal/common/gpio/GpioCookie.h>
#include <mission/power/gsDefs.h>
#include <mission/system/systemTree.h>
#include <mission/utility/DummySdCardManager.h>
#include "OBSWConfig.h"
#include "bsp_q7s/core/CoreController.h"
#include "bsp_q7s/core/ObjectFactory.h"
#include "busConf.h"
#include "devConf.h"
#include "dummies/helpers.h"
#include "dummies/helperFactory.h"
#include "eive/objects.h"
#include "fsfw_hal/linux/gpio/LinuxLibgpioIF.h"
#include "linux/ObjectFactory.h"
#include "linux/callbacks/gpioCallbacks.h"
#include "mission/core/GenericFactory.h"
#include "mission/system/tree/comModeTree.h"
#include "mission/genericFactory.h"
#include "mission/system/com/comModeTree.h"
void ObjectFactory::produce(void* args) {
ObjectFactory::setStatics();
HealthTableIF* healthTable = nullptr;
PusTmFunnel* pusFunnel = nullptr;
CfdpTmFunnel* cfdpFunnel = nullptr;
ObjectFactory::produceGenericObjects(&healthTable, &pusFunnel, &cfdpFunnel);
StorageManagerIF* ipcStore = nullptr;
StorageManagerIF* tmStore = nullptr;
bool enableHkSets = false;
#if OBSW_ENABLE_PERIODIC_HK == 1
enableHkSets = true;
#endif
PersistentTmStores stores;
ObjectFactory::produceGenericObjects(&healthTable, &pusFunnel, &cfdpFunnel,
*SdCardManager::instance(), &ipcStore, &tmStore, stores);
LinuxLibgpioIF* gpioComIF = nullptr;
SerialComIF* uartComIF = nullptr;
@ -49,14 +63,15 @@ void ObjectFactory::produce(void* args) {
PowerSwitchIF* pwrSwitcher = nullptr;
#if OBSW_ADD_GOMSPACE_PCDU == 0
pwrSwitcher = new DummyPowerSwitcher(objects::PCDU_HANDLER, 18, 0);
pwrSwitcher = new PcduHandlerDummy(objects::PCDU_HANDLER);
#else
createPcduComponents(gpioComIF, &pwrSwitcher);
createPcduComponents(gpioComIF, &pwrSwitcher, enableHkSets);
#endif
satsystem::EIVE_SYSTEM.setI2cRecoveryParams(pwrSwitcher);
dummy::createDummies(dummyCfg, *pwrSwitcher, gpioComIF);
new CoreController(objects::CORE_CONTROLLER);
new CoreController(objects::CORE_CONTROLLER, enableHkSets);
// Regular FM code, does not work for EM if the hardware is not connected
// createPcduComponents(gpioComIF, &pwrSwitcher);
@ -74,11 +89,16 @@ void ObjectFactory::produce(void* args) {
// createRadSensorComponent(gpioComIF);
#if OBSW_ADD_ACS_BOARD == 1
createAcsBoardComponents(gpioComIF, uartComIF, *pwrSwitcher);
createAcsBoardComponents(*spiMainComIF, gpioComIF, uartComIF, *pwrSwitcher);
#else
// Still add all GPIOs for EM.
GpioCookie* acsBoardGpios = new GpioCookie();
createAcsBoardGpios(*acsBoardGpios);
gpioChecker(gpioComIF->addGpios(acsBoardGpios), "ACS Board");
#endif
#if OBSW_ADD_MGT == 1
createImtqComponents(pwrSwitcher);
createImtqComponents(pwrSwitcher, enableHkSets);
#endif
#if OBSW_ADD_SYRLINKS == 1
@ -90,17 +110,22 @@ void ObjectFactory::produce(void* args) {
#endif
#if OBSW_ADD_BPX_BATTERY_HANDLER == 1
createBpxBatteryComponent();
createBpxBatteryComponent(enableHkSets);
#endif
#if OBSW_ADD_STAR_TRACKER == 1
createStrComponents(pwrSwitcher);
#endif /* OBSW_ADD_STAR_TRACKER == 1 */
#if OBSW_ADD_CCSDS_IP_CORES == 1
CcsdsIpCoreHandler* ipCoreHandler = nullptr;
createCcsdsComponents(gpioComIF, &ipCoreHandler);
CcsdsComponentArgs ccsdsArgs(*gpioComIF, *ipcStore, *tmStore, stores, *pusFunnel, *cfdpFunnel,
&ipCoreHandler);
createCcsdsComponents(ccsdsArgs);
#if OBSW_TM_TO_PTME == 1
ObjectFactory::addTmtcIpCoresToFunnels(*ipCoreHandler, *pusFunnel, *cfdpFunnel);
if (ccsdsArgs.liveDestination != nullptr) {
pusFunnel->addLiveDestination("VC0 LIVE TM", *ccsdsArgs.liveDestination, 0);
}
#endif
#endif /* OBSW_ADD_CCSDS_IP_CORES == 1 */
/* Test Task */
@ -111,9 +136,9 @@ void ObjectFactory::produce(void* args) {
createScexComponents(q7s::UART_SCEX_DEV, pwrSwitcher, *SdCardManager::instance(), false,
pcdu::Switches::PDU1_CH5_SOLAR_CELL_EXP_5V);
#endif
createAcsController(true);
HeaterHandler* heaterHandler = nullptr;
ObjectFactory::createGenericHeaterComponents(*gpioComIF, *pwrSwitcher, heaterHandler);
createAcsController(true, enableHkSets);
HeaterHandler* heaterHandler;
createHeaterComponents(gpioComIF, pwrSwitcher, healthTable, heaterHandler);
createThermalController(*heaterHandler);
satsystem::init();
}

View File

@ -1,5 +1,8 @@
#include <bsp_q7s/callbacks/q7sGpioCallbacks.h>
#include <mission/devices/devicedefinitions/GomspaceDefinitions.h>
#include <fsfw/storagemanager/LocalPool.h>
#include <fsfw/storagemanager/PoolManager.h>
#include <mission/power/gsDefs.h>
#include <mission/system/EiveSystem.h>
#include "OBSWConfig.h"
#include "bsp_q7s/core/CoreController.h"
@ -10,15 +13,26 @@
#include "fsfw_hal/linux/gpio/LinuxLibgpioIF.h"
#include "linux/ObjectFactory.h"
#include "linux/callbacks/gpioCallbacks.h"
#include "mission/core/GenericFactory.h"
#include "mission/system/tree/system.h"
#include "mission/genericFactory.h"
#include "mission/system/systemTree.h"
#include "mission/tmtc/tmFilters.h"
void ObjectFactory::produce(void* args) {
ObjectFactory::setStatics();
HealthTableIF* healthTable = nullptr;
PusTmFunnel* pusFunnel = nullptr;
CfdpTmFunnel* cfdpFunnel = nullptr;
ObjectFactory::produceGenericObjects(&healthTable, &pusFunnel, &cfdpFunnel);
StorageManagerIF* ipcStore = nullptr;
StorageManagerIF* tmStore = nullptr;
bool enableHkSets = false;
#if OBSW_ENABLE_PERIODIC_HK == 1
enableHkSets = true;
#endif
PersistentTmStores stores;
ObjectFactory::produceGenericObjects(&healthTable, &pusFunnel, &cfdpFunnel,
*SdCardManager::instance(), &ipcStore, &tmStore, stores);
LinuxLibgpioIF* gpioComIF = nullptr;
SerialComIF* uartComIF = nullptr;
@ -30,8 +44,10 @@ void ObjectFactory::produce(void* args) {
q7s::gpioCallbacks::initSpiCsDecoder(gpioComIF);
gpioCallbacks::disableAllDecoder(gpioComIF);
new CoreController(objects::CORE_CONTROLLER);
createPcduComponents(gpioComIF, &pwrSwitcher);
new CoreController(objects::CORE_CONTROLLER, enableHkSets);
createPcduComponents(gpioComIF, &pwrSwitcher, enableHkSets);
satsystem::EIVE_SYSTEM.setI2cRecoveryParams(pwrSwitcher);
auto* stackHandler = new Stack5VHandler(*pwrSwitcher);
#if OBSW_ADD_RAD_SENSORS == 1
@ -42,7 +58,7 @@ void ObjectFactory::produce(void* args) {
#endif
#if OBSW_ADD_ACS_BOARD == 1
createAcsBoardComponents(gpioComIF, uartComIF, *pwrSwitcher);
createAcsBoardComponents(*spiMainComIF, gpioComIF, uartComIF, *pwrSwitcher, true);
#endif
HeaterHandler* heaterHandler;
createHeaterComponents(gpioComIF, pwrSwitcher, healthTable, heaterHandler);
@ -58,28 +74,33 @@ void ObjectFactory::produce(void* args) {
createPayloadComponents(gpioComIF, *pwrSwitcher);
#if OBSW_ADD_MGT == 1
createImtqComponents(pwrSwitcher);
createImtqComponents(pwrSwitcher, enableHkSets);
#endif
createReactionWheelComponents(gpioComIF, pwrSwitcher);
#if OBSW_ADD_BPX_BATTERY_HANDLER == 1
createBpxBatteryComponent();
createBpxBatteryComponent(enableHkSets);
#endif
#if OBSW_ADD_STAR_TRACKER == 1
createStrComponents(pwrSwitcher);
#endif /* OBSW_ADD_STAR_TRACKER == 1 */
#if OBSW_ADD_CCSDS_IP_CORES == 1
CcsdsIpCoreHandler* ipCoreHandler = nullptr;
createCcsdsComponents(gpioComIF, &ipCoreHandler);
CcsdsComponentArgs ccsdsArgs(*gpioComIF, *ipcStore, *tmStore, stores, *pusFunnel, *cfdpFunnel,
&ipCoreHandler);
createCcsdsComponents(ccsdsArgs);
#if OBSW_TM_TO_PTME == 1
addTmtcIpCoresToFunnels(*ipCoreHandler, *pusFunnel, *cfdpFunnel);
if (ccsdsArgs.liveDestination != nullptr) {
pusFunnel->addLiveDestination("VC0 LIVE TM", *ccsdsArgs.liveDestination, 0);
}
#endif
#endif /* OBSW_ADD_CCSDS_IP_CORES == 1 */
#if OBSW_ADD_SCEX_DEVICE == 1
createScexComponents(q7s::UART_SCEX_DEV, pwrSwitcher, *SdCardManager::instance(), false,
pcdu::Switches::PDU1_CH5_SOLAR_CELL_EXP_5V);
power::Switches::PDU1_CH5_SOLAR_CELL_EXP_5V);
#endif
/* Test Task */
#if OBSW_ADD_TEST_CODE == 1
@ -88,6 +109,6 @@ void ObjectFactory::produce(void* args) {
createMiscComponents();
createThermalController(*heaterHandler);
createAcsController(true);
createAcsController(true, enableHkSets);
satsystem::init();
}

View File

@ -22,7 +22,7 @@ ReturnValue_t FilesystemHelper::checkPath(std::string path) {
}
} else if (path.substr(0, sizeof(config::SD_1_MOUNT_POINT)) ==
std::string(config::SD_1_MOUNT_POINT)) {
if (!sdcMan->isSdCardUsable(sd::SLOT_0)) {
if (!sdcMan->isSdCardUsable(sd::SLOT_1)) {
sif::warning << "FilesystemHelper::checkPath: SD card 1 not mounted" << std::endl;
return SD_NOT_MOUNTED;
}

View File

@ -2,6 +2,7 @@
#include <fsfw/ipc/MutexGuard.h>
#include <fsfw/timemanager/Countdown.h>
#include <fsfw/timemanager/Stopwatch.h>
#include <unistd.h>
#include <cstring>
@ -20,31 +21,32 @@
SdCardManager* SdCardManager::INSTANCE = nullptr;
SdCardManager::SdCardManager() : SystemObject(objects::SDC_MANAGER), cmdExecutor(256) {
mutex = MutexFactory::instance()->createMutex();
ReturnValue_t result = mutex->lockMutex();
if (result != returnvalue::OK) {
sdLock = MutexFactory::instance()->createMutex();
prefLock = MutexFactory::instance()->createMutex();
defaultLock = MutexFactory::instance()->createMutex();
MutexGuard mg(prefLock, LOCK_TYPE, OTHER_TIMEOUT, LOCK_CTX);
if (mg.getLockResult() != returnvalue::OK) {
sif::error << "SdCardManager::SdCardManager: Mutex lock failed" << std::endl;
}
uint8_t prefSdRaw = 0;
result = scratch::readNumber(scratch::PREFERED_SDC_KEY, prefSdRaw);
if (mutex->unlockMutex() != returnvalue::OK) {
sif::error << "SdCardManager::SdCardManager: Mutex unlock failed" << std::endl;
}
ReturnValue_t result = scratch::readNumber(scratch::PREFERED_SDC_KEY, prefSdRaw);
if (result != returnvalue::OK) {
if (result == scratch::KEY_NOT_FOUND) {
sif::warning << "CoreController::sdCardInit: "
"Preferred SD card not set. Setting to 0"
<< std::endl;
setPreferredSdCard(sd::SdCard::SLOT_0);
sdInfo.pref = sd::SdCard::SLOT_0;
scratch::writeNumber(scratch::PREFERED_SDC_KEY, static_cast<uint8_t>(sd::SdCard::SLOT_0));
prefSdRaw = sd::SdCard::SLOT_0;
} else {
// Should not happen.
// TODO: Maybe trigger event?
sif::error << "SdCardManager::SdCardManager: Reading preferred SD card from scratch"
"buffer failed"
<< std::endl;
sdInfo.pref = sd::SdCard::SLOT_0;
prefSdRaw = sd::SdCard::SLOT_0;
}
}
sdInfo.pref = static_cast<sd::SdCard>(prefSdRaw);
@ -193,28 +195,9 @@ ReturnValue_t SdCardManager::setSdCardState(sd::SdCard sdCard, bool on) {
return result;
}
ReturnValue_t SdCardManager::getSdCardsStatus(SdStatePair& active) {
using namespace std;
MutexGuard mg(mutex);
if (not filesystem::exists(SD_STATE_FILE)) {
return STATUS_FILE_NEXISTS;
}
// Now the file should exist in any case. Still check whether it exists.
fstream sdStatus(SD_STATE_FILE);
if (not sdStatus.good()) {
return STATUS_FILE_NEXISTS;
}
string line;
uint8_t idx = 0;
sd::SdCard currentSd = sd::SdCard::SLOT_0;
// Process status file line by line
while (std::getline(sdStatus, line)) {
processSdStatusLine(active, line, idx, currentSd);
}
if (active.first != sd::SdState::MOUNTED && active.second != sd::SdState::MOUNTED) {
sdCardActive = false;
}
ReturnValue_t SdCardManager::getSdCardsStatus(SdStatePair& sdStates) {
MutexGuard mg(sdLock, LOCK_TYPE, SD_LOCK_TIMEOUT, LOCK_CTX);
sdStates = this->sdStates;
return returnvalue::OK;
}
@ -237,7 +220,8 @@ ReturnValue_t SdCardManager::mountSdCard(sd::SdCard sdCard) {
mountDev = SD_1_DEV_NAME;
mountPoint = config::SD_1_MOUNT_POINT;
}
if (not filesystem::exists(mountDev)) {
std::error_code e;
if (not filesystem::exists(mountDev, e)) {
sif::warning << "SdCardManager::mountSdCard: Device file does not exists. Make sure to"
" turn on the SD card"
<< std::endl;
@ -272,7 +256,8 @@ ReturnValue_t SdCardManager::unmountSdCard(sd::SdCard sdCard) {
} else if (sdCard == sd::SdCard::SLOT_1) {
mountPoint = config::SD_1_MOUNT_POINT;
}
if (not filesystem::exists(mountPoint)) {
std::error_code e;
if (not filesystem::exists(mountPoint, e)) {
sif::error << "SdCardManager::unmountSdCard: Default mount point " << mountPoint
<< "does not exist" << std::endl;
return UNMOUNT_ERROR;
@ -304,10 +289,9 @@ ReturnValue_t SdCardManager::sanitizeState(SdStatePair* statusPair, sd::SdCard p
resetNonBlockingState = true;
}
if (statusPair == nullptr) {
sdStatusPtr = std::make_unique<SdStatePair>();
statusPair = sdStatusPtr.get();
getSdCardsStatus(*statusPair);
return returnvalue::FAILED;
}
getSdCardsStatus(*statusPair);
if (statusPair->first == sd::SdState::ON) {
result = mountSdCard(prefSdCard);
@ -325,8 +309,7 @@ void SdCardManager::resetState() {
currentOp = Operations::IDLE;
}
void SdCardManager::processSdStatusLine(std::pair<sd::SdState, sd::SdState>& active,
std::string& line, uint8_t& idx, sd::SdCard& currentSd) {
void SdCardManager::processSdStatusLine(std::string& line, uint8_t& idx, sd::SdCard& currentSd) {
using namespace std;
istringstream iss(line);
string word;
@ -347,24 +330,26 @@ void SdCardManager::processSdStatusLine(std::pair<sd::SdState, sd::SdState>& act
if (word == "on") {
if (currentSd == sd::SdCard::SLOT_0) {
active.first = sd::SdState::ON;
sdStates.first = sd::SdState::ON;
} else {
active.second = sd::SdState::ON;
sdStates.second = sd::SdState::ON;
}
} else if (word == "off") {
MutexGuard mg(sdLock, LOCK_TYPE, SD_LOCK_TIMEOUT, LOCK_CTX);
if (currentSd == sd::SdCard::SLOT_0) {
active.first = sd::SdState::OFF;
sdStates.first = sd::SdState::OFF;
} else {
active.second = sd::SdState::OFF;
sdStates.second = sd::SdState::OFF;
}
}
}
if (mountLine) {
MutexGuard mg(sdLock, LOCK_TYPE, SD_LOCK_TIMEOUT, LOCK_CTX);
if (currentSd == sd::SdCard::SLOT_0) {
active.first = sd::SdState::MOUNTED;
sdStates.first = sd::SdState::MOUNTED;
} else {
active.second = sd::SdState::MOUNTED;
sdStates.second = sd::SdState::MOUNTED;
}
}
@ -378,7 +363,7 @@ void SdCardManager::processSdStatusLine(std::pair<sd::SdState, sd::SdState>& act
}
std::optional<sd::SdCard> SdCardManager::getPreferredSdCard() const {
MutexGuard mg(mutex);
MutexGuard mg(prefLock, LOCK_TYPE, OTHER_TIMEOUT, LOCK_CTX);
auto res = mg.getLockResult();
if (res != returnvalue::OK) {
sif::error << "SdCardManager::getPreferredSdCard: Lock error" << std::endl;
@ -387,7 +372,7 @@ std::optional<sd::SdCard> SdCardManager::getPreferredSdCard() const {
}
ReturnValue_t SdCardManager::setPreferredSdCard(sd::SdCard sdCard) {
MutexGuard mg(mutex);
MutexGuard mg(prefLock, LOCK_TYPE, OTHER_TIMEOUT, LOCK_CTX);
if (sdCard == sd::SdCard::BOTH) {
return returnvalue::FAILED;
}
@ -396,23 +381,47 @@ ReturnValue_t SdCardManager::setPreferredSdCard(sd::SdCard sdCard) {
}
ReturnValue_t SdCardManager::updateSdCardStateFile() {
using namespace std;
if (cmdExecutor.getCurrentState() == CommandExecutor::States::PENDING) {
return CommandExecutor::COMMAND_PENDING;
}
MutexGuard mg(mutex);
// Use q7hw utility and pipe the command output into the state file
std::string updateCmd = "q7hw sd info all > " + std::string(SD_STATE_FILE);
cmdExecutor.load(updateCmd, blocking, printCmdOutput);
cmdExecutor.load(updateCmd, true, printCmdOutput);
ReturnValue_t result = cmdExecutor.execute();
if (blocking and result != returnvalue::OK) {
if (result != returnvalue::OK) {
utility::handleSystemError(cmdExecutor.getLastError(), "SdCardManager::mountSdCard");
}
return result;
std::error_code e;
if (not filesystem::exists(SD_STATE_FILE, e)) {
return STATUS_FILE_NEXISTS;
}
// Now the file should exist in any case. Still check whether it exists.
fstream sdStatus(SD_STATE_FILE);
if (not sdStatus.good()) {
return STATUS_FILE_NEXISTS;
}
string line;
uint8_t idx = 0;
sd::SdCard currentSd = sd::SdCard::SLOT_0;
// Process status file line by line
while (std::getline(sdStatus, line)) {
processSdStatusLine(line, idx, currentSd);
}
if (sdStates.first != sd::SdState::MOUNTED && sdStates.second != sd::SdState::MOUNTED) {
sdCardActive = false;
}
return returnvalue::OK;
}
const std::string& SdCardManager::getCurrentMountPrefix() const {
MutexGuard mg(mutex);
return currentPrefix;
const char* SdCardManager::getCurrentMountPrefix() const {
MutexGuard mg(defaultLock, LOCK_TYPE, OTHER_TIMEOUT, LOCK_CTX);
if (currentPrefix.has_value()) {
return currentPrefix.value().c_str();
}
return nullptr;
}
SdCardManager::OpStatus SdCardManager::checkCurrentOp(Operations& currentOp) {
@ -461,41 +470,35 @@ void SdCardManager::setPrintCommandOutput(bool print) { this->printCmdOutput = p
bool SdCardManager::isSdCardUsable(std::optional<sd::SdCard> sdCard) {
{
MutexGuard mg(mutex);
MutexGuard mg(defaultLock, LOCK_TYPE, OTHER_TIMEOUT, LOCK_CTX);
if (markedUnusable) {
return false;
}
}
SdCardManager::SdStatePair active;
ReturnValue_t result = this->getSdCardsStatus(active);
if (result != returnvalue::OK) {
sif::debug << "SdCardManager::isSdCardMounted: Failed to get SD card active state";
return false;
}
MutexGuard mg(sdLock, LOCK_TYPE, SD_LOCK_TIMEOUT, LOCK_CTX);
if (not sdCard) {
if (active.first == sd::MOUNTED or active.second == sd::MOUNTED) {
if (sdStates.first == sd::MOUNTED or sdStates.second == sd::MOUNTED) {
return true;
}
return false;
}
if (sdCard == sd::SLOT_0) {
if (active.first == sd::MOUNTED) {
if (sdStates.first == sd::MOUNTED) {
return true;
} else {
return false;
}
}
if (sdCard == sd::SLOT_1) {
if (active.second == sd::MOUNTED) {
if (sdStates.second == sd::MOUNTED) {
return true;
} else {
return false;
}
}
if (sdCard == sd::BOTH) {
if (active.first == sd::MOUNTED && active.second == sd::MOUNTED) {
if (sdStates.first == sd::MOUNTED && sdStates.second == sd::MOUNTED) {
return true;
}
}
@ -505,9 +508,9 @@ bool SdCardManager::isSdCardUsable(std::optional<sd::SdCard> sdCard) {
ReturnValue_t SdCardManager::isSdCardMountedReadOnly(sd::SdCard sdcard, bool& readOnly) {
std::ostringstream command;
if (sdcard == sd::SdCard::SLOT_0) {
command << "grep -q '" << config::SD_0_MOUNT_POINT << " ext4 ro,' /proc/mounts";
command << "grep -q '" << config::SD_0_MOUNT_POINT << " ext4 rw,' /proc/mounts";
} else if (sdcard == sd::SdCard::SLOT_1) {
command << "grep -q '" << config::SD_1_MOUNT_POINT << " ext4 ro,' /proc/mounts";
command << "grep -q '" << config::SD_1_MOUNT_POINT << " ext4 rw,' /proc/mounts";
} else {
return returnvalue::FAILED;
}
@ -516,18 +519,9 @@ ReturnValue_t SdCardManager::isSdCardMountedReadOnly(sd::SdCard sdcard, bool& re
return result;
}
result = cmdExecutor.execute();
if (result != returnvalue::OK) {
int exitStatus = cmdExecutor.getLastError();
if (exitStatus == 1) {
readOnly = false;
return returnvalue::OK;
}
return result;
}
auto& readVec = cmdExecutor.getReadVector();
size_t readLen = strnlen(readVec.data(), readVec.size());
if (readLen == 0) {
if (result == returnvalue::OK) {
readOnly = false;
return result;
}
readOnly = true;
return returnvalue::OK;
@ -566,7 +560,7 @@ ReturnValue_t SdCardManager::performFsck(sd::SdCard sdcard, bool printOutput, in
}
void SdCardManager::setActiveSdCard(sd::SdCard sdCard) {
MutexGuard mg(mutex);
MutexGuard mg(defaultLock, LOCK_TYPE, OTHER_TIMEOUT, LOCK_CTX);
sdInfo.active = sdCard;
if (sdInfo.active == sd::SdCard::SLOT_0) {
currentPrefix = config::SD_0_MOUNT_POINT;
@ -576,7 +570,7 @@ void SdCardManager::setActiveSdCard(sd::SdCard sdCard) {
}
std::optional<sd::SdCard> SdCardManager::getActiveSdCard() const {
MutexGuard mg(mutex);
MutexGuard mg(defaultLock, LOCK_TYPE, OTHER_TIMEOUT, LOCK_CTX);
if (markedUnusable) {
return std::nullopt;
}
@ -584,6 +578,11 @@ std::optional<sd::SdCard> SdCardManager::getActiveSdCard() const {
}
void SdCardManager::markUnusable() {
MutexGuard mg(mutex);
MutexGuard mg(defaultLock, LOCK_TYPE, OTHER_TIMEOUT, LOCK_CTX);
markedUnusable = true;
}
void SdCardManager::markUsable() {
MutexGuard mg(defaultLock, LOCK_TYPE, OTHER_TIMEOUT, LOCK_CTX);
markedUnusable = false;
}

View File

@ -25,7 +25,7 @@ class MutexIF;
* state
*/
class SdCardManager : public SystemObject, public SdCardMountedIF {
friend class SdCardAccess;
friend class CoreController;
public:
using mountInitCb = ReturnValue_t (*)(void* args);
@ -117,16 +117,6 @@ class SdCardManager : public SystemObject, public SdCardMountedIF {
ReturnValue_t switchOffSdCard(sd::SdCard sdCard, bool doUnmountSdCard = true,
SdStatePair* statusPair = nullptr);
/**
* Update the state file or creates one if it does not exist. You need to call this
* function before calling #sdCardActive
* @return
* - returnvalue::OK if the state file was updated successfully
* - CommandExecutor::COMMAND_PENDING: Non-blocking command is pending
* - returnvalue::FAILED: blocking command failed
*/
ReturnValue_t updateSdCardStateFile();
/**
* Get the state of the SD cards. If the state file does not exist, this function will
* take care of updating it. If it does not, the function will use the state file to get
@ -187,7 +177,7 @@ class SdCardManager : public SystemObject, public SdCardMountedIF {
* @param prefSdCardPtr
* @return
*/
const std::string& getCurrentMountPrefix() const override;
const char* getCurrentMountPrefix() const override;
OpStatus checkCurrentOp(Operations& currentOp);
@ -215,24 +205,41 @@ class SdCardManager : public SystemObject, public SdCardMountedIF {
ReturnValue_t performFsck(sd::SdCard sdcard, bool printOutput, int& linuxError);
void markUnusable();
void markUsable();
private:
CommandExecutor cmdExecutor;
SdStatePair sdStates;
Operations currentOp = Operations::IDLE;
bool blocking = false;
bool sdCardActive = true;
bool printCmdOutput = true;
bool markedUnusable = false;
MutexIF* mutex = nullptr;
MutexIF* sdLock = nullptr;
MutexIF* prefLock = nullptr;
MutexIF* defaultLock = nullptr;
static constexpr MutexIF::TimeoutType LOCK_TYPE = MutexIF::TimeoutType::WAITING;
static constexpr uint32_t SD_LOCK_TIMEOUT = 100;
static constexpr uint32_t OTHER_TIMEOUT = 20;
static constexpr char LOCK_CTX[] = "SdCardManager";
SdCardManager();
/**
* Update the state file or creates one if it does not exist. You need to call this
* function before calling #sdCardActive
* @return
* - returnvalue::OK if the state file was updated successfully
* - CommandExecutor::COMMAND_PENDING: Non-blocking command is pending
* - returnvalue::FAILED: blocking command failed
*/
ReturnValue_t updateSdCardStateFile();
ReturnValue_t setSdCardState(sd::SdCard sdCard, bool on);
void processSdStatusLine(SdStatePair& active, std::string& line, uint8_t& idx,
sd::SdCard& currentSd);
void processSdStatusLine(std::string& line, uint8_t& idx, sd::SdCard& currentSd);
std::string currentPrefix;
std::optional<std::string> currentPrefix;
static SdCardManager* INSTANCE;
};

View File

@ -3,6 +3,9 @@
std::filesystem::path fshelpers::getPrefixedPath(SdCardManager &man,
std::filesystem::path pathWihtoutPrefix) {
auto prefix = man.getCurrentMountPrefix();
if (prefix == nullptr) {
return pathWihtoutPrefix;
}
auto resPath = prefix / pathWihtoutPrefix;
return resPath;
}

View File

@ -12,10 +12,10 @@
* @brief This is the main program for the target hardware.
* @return
*/
int main(void) {
int main(int argc, char* argv[]) {
using namespace std;
#if Q7S_SIMPLE_MODE == 0
return obsw::obsw();
return obsw::obsw(argc, argv);
#else
return simple::simple();
#endif

View File

@ -1 +1 @@
target_sources(${OBSW_NAME} PRIVATE scratchApi.cpp)
target_sources(${OBSW_NAME} PRIVATE scratchApi.cpp LocalParameterHandler.cpp)

View File

@ -0,0 +1,41 @@
#include "LocalParameterHandler.h"
#include <fsfw/serviceinterface/ServiceInterface.h>
LocalParameterHandler::LocalParameterHandler(std::string sdRelativeName, SdCardMountedIF* sdcMan)
: NVMParameterBase(), sdRelativeName(sdRelativeName), sdcMan(sdcMan) {}
LocalParameterHandler::~LocalParameterHandler() {}
ReturnValue_t LocalParameterHandler::initialize() {
ReturnValue_t result = updateFullName();
if (result != returnvalue::OK) {
return result;
}
result = readJsonFile();
if (result != returnvalue::OK) {
return result;
}
return returnvalue::OK;
}
ReturnValue_t LocalParameterHandler::writeJsonFile() {
ReturnValue_t result = updateFullName();
if (result != returnvalue::OK) {
return result;
}
return NVMParameterBase::writeJsonFile();
}
ReturnValue_t LocalParameterHandler::updateFullName() {
std::string mountPrefix;
auto activeSd = sdcMan->getActiveSdCard();
if (activeSd and sdcMan->isSdCardUsable(activeSd.value())) {
mountPrefix = sdcMan->getCurrentMountPrefix();
} else {
return SD_NOT_READY;
}
std::string fullname = mountPrefix + "/" + sdRelativeName;
NVMParameterBase::setFullName(fullname);
return returnvalue::OK;
}

View File

@ -0,0 +1,106 @@
#ifndef BSP_Q7S_MEMORY_LOCALPARAMETERHANDLER_H_
#define BSP_Q7S_MEMORY_LOCALPARAMETERHANDLER_H_
#include <mission/memory/NvmParameterBase.h>
#include <mission/memory/SdCardMountedIF.h>
#include <string>
/**
* @brief Class to handle persistent parameters
*
*/
class LocalParameterHandler : public NVMParameterBase {
public:
static constexpr uint8_t INTERFACE_ID = CLASS_ID::LOCAL_PARAM_HANDLER;
static constexpr ReturnValue_t SD_NOT_READY = returnvalue::makeCode(INTERFACE_ID, 0);
/**
* @brief Constructor
*
* @param sdRelativeName Absolute name of json file relative to mount
* directory
* of SD card. E.g. conf/example.json
* @param sdcMan Pointer to SD card manager
*/
LocalParameterHandler(std::string sdRelativeName, SdCardMountedIF* sdcMan);
virtual ~LocalParameterHandler();
/**
* @brief Will initialize the local parameter handler
*
* @return OK if successful, otherwise error return value
*/
ReturnValue_t initialize();
/**
* @brief Function to add parameter to json file. If the json file does
* not yet exist it will be created here.
*
* @param key The string to identify the parameter
* @param value The value to set for this parameter
*
* @return OK if successful, otherwise error return value
*
* @details The function will add the parameter only if it is not already
* present in the json file
*/
template <typename T>
ReturnValue_t addParameter(std::string key, T value);
/**
* @brief Function will update a parameter which already exists in the json
* file
*
* @param key The unique string to identify the parameter to update
* @param value The new new value to set
*
* @return OK if successful, otherwise error return value
*/
template <typename T>
ReturnValue_t updateParameter(std::string key, T value);
private:
// Name relative to mount point of SD card where parameters will be stored
std::string sdRelativeName;
SdCardMountedIF* sdcMan;
virtual ReturnValue_t writeJsonFile();
/**
* @brief This function sets the name of the json file dependent on the
* currently active SD card
*
* @return OK if successful, otherwise error return value
*/
ReturnValue_t updateFullName();
};
template <typename T>
inline ReturnValue_t LocalParameterHandler::addParameter(std::string key, T value) {
ReturnValue_t result = insertValue(key, value);
if (result != returnvalue::OK) {
return result;
}
result = writeJsonFile();
if (result != returnvalue::OK) {
return result;
}
return returnvalue::OK;
}
template <typename T>
inline ReturnValue_t LocalParameterHandler::updateParameter(std::string key, T value) {
ReturnValue_t result = setValue(key, value);
if (result != returnvalue::OK) {
return result;
}
result = writeJsonFile();
if (result != returnvalue::OK) {
return result;
}
return returnvalue::OK;
}
#endif /* BSP_Q7S_MEMORY_LOCALPARAMETERHANDLER_H_ */

View File

@ -9,22 +9,27 @@
#include <iostream>
#include "OBSWConfig.h"
#include "bsp_q7s/core/WatchdogHandler.h"
#include "commonConfig.h"
#include "core/scheduling.h"
#include "fsfw/tasks/TaskFactory.h"
#include "fsfw/version.h"
#include "mission/acsDefs.h"
#include "mission/system/tree/system.h"
#include "mission/acs/defs.h"
#include "mission/com/defs.h"
#include "mission/system/systemTree.h"
#include "q7sConfig.h"
#include "watchdog/definitions.h"
static int OBSW_ALREADY_RUNNING = -2;
static constexpr int OBSW_ALREADY_RUNNING = -2;
#if OBSW_Q7S_EM == 0
static const char* DEV_STRING = "Xiphos Q7S FM";
#else
static const char* DEV_STRING = "Xiphos Q7S EM";
#endif
int obsw::obsw() {
WatchdogHandler WATCHDOG_HANDLER;
int obsw::obsw(int argc, char* argv[]) {
using namespace fsfw;
std::cout << "-- EIVE OBSW --" << std::endl;
std::cout << "-- Compiled for Linux (" << DEV_STRING << ") --" << std::endl;
@ -33,9 +38,10 @@ int obsw::obsw() {
std::cout << "-- " << __DATE__ << " " << __TIME__ << " --" << std::endl;
#if Q7S_CHECK_FOR_ALREADY_RUNNING_IMG == 1
std::error_code e;
// Check special file here. This file is created or deleted by the eive-watchdog application
// or systemd service!
if (std::filesystem::exists(watchdog::RUNNING_FILE_NAME)) {
if (std::filesystem::exists(watchdog::RUNNING_FILE_NAME, e)) {
sif::warning << "File " << watchdog::RUNNING_FILE_NAME
<< " exists so the software might "
"already be running. Check if obsw systemd service has been stopped."
@ -44,14 +50,48 @@ int obsw::obsw() {
}
#endif
// Delay the boot if applicable.
bootDelayHandling();
bool initWatchFunction = false;
std::string fullExecPath = argv[0];
if (fullExecPath.find("/usr/bin") != std::string::npos) {
initWatchFunction = true;
}
ReturnValue_t result = WATCHDOG_HANDLER.initialize(initWatchFunction);
if (result != returnvalue::OK) {
std::cerr << "Initiating EIVE watchdog handler failed" << std::endl;
}
scheduling::initMission();
// Command the EIVE system to safe mode
#if OBSW_COMMAND_SAFE_MODE_AT_STARTUP == 1
// This ensures that the PCDU switches were updated.
TaskFactory::delayTask(1000);
commandComSubsystemRxOnly();
commandEiveSystemToSafe();
#else
announceAllModes();
#endif
for (;;) {
WATCHDOG_HANDLER.periodicOperation();
TaskFactory::delayTask(2000);
}
return 0;
}
void obsw::bootDelayHandling() {
const char* homedir = nullptr;
homedir = getenv("HOME");
if (homedir == nullptr) {
homedir = getpwuid(getuid())->pw_dir;
}
std::filesystem::path bootDelayFile = std::filesystem::path(homedir) / "boot_delay_secs.txt";
std::error_code e;
// Init delay handling.
if (std::filesystem::exists(bootDelayFile)) {
if (std::filesystem::exists(bootDelayFile, e)) {
std::ifstream ifile(bootDelayFile);
std::string lineStr;
unsigned int bootDelaySecs = 0;
@ -71,31 +111,41 @@ int obsw::obsw() {
std::cout << "Delaying OBSW start for " << bootDelaySecs << " seconds" << std::endl;
TaskFactory::delayTask(bootDelaySecs * 1000);
}
}
scheduling::initMission();
// Command the EIVE system to safe mode
void obsw::commandEiveSystemToSafe() {
auto sysQueueId = satsystem::EIVE_SYSTEM.getCommandQueue();
CommandMessage msg;
#if OBSW_COMMAND_SAFE_MODE_AT_STARTUP == 1
ModeMessage::setCmdModeMessage(msg, acs::AcsMode::SAFE, 0);
ReturnValue_t result =
MessageQueueSenderIF::sendMessage(sysQueueId, &msg, MessageQueueIF::NO_QUEUE, false);
if (result != returnvalue::OK) {
sif::error << "Sending safe mode command to EIVE system failed" << std::endl;
sif::error << "obsw: Sending safe mode command to EIVE system failed" << std::endl;
}
#else
}
void obsw::commandComSubsystemRxOnly() {
auto* comSs = ObjectManager::instance()->get<HasModesIF>(objects::COM_SUBSYSTEM);
if (comSs == nullptr) {
sif::error << "obsw: Could not retrieve COM subsystem object" << std::endl;
return;
}
CommandMessage msg;
ModeMessage::setCmdModeMessage(msg, com::RX_ONLY, 0);
ReturnValue_t result = MessageQueueSenderIF::sendMessage(comSs->getCommandQueue(), &msg,
MessageQueueIF::NO_QUEUE, false);
if (result != returnvalue::OK) {
sif::error << "obsw: Sending RX_ONLY mode command to COM subsystem failed" << std::endl;
}
}
void obsw::announceAllModes() {
auto sysQueueId = satsystem::EIVE_SYSTEM.getCommandQueue();
CommandMessage msg;
ModeMessage::setModeAnnounceMessage(msg, true);
ReturnValue_t result =
MessageQueueSenderIF::sendMessage(sysQueueId, &msg, MessageQueueIF::NO_QUEUE, false);
if (result != returnvalue::OK) {
sif::error << "Sending safe mode command to EIVE system failed" << std::endl;
sif::error << "obsw: Sending safe mode command to EIVE system failed" << std::endl;
}
#endif
for (;;) {
/* Suspend main thread by sleeping it. */
TaskFactory::delayTask(5000);
}
return 0;
}

View File

@ -3,8 +3,13 @@
namespace obsw {
int obsw();
int obsw(int argc, char* argv[]);
};
void bootDelayHandling();
void commandEiveSystemToSafe();
void commandComSubsystemRxOnly();
void announceAllModes();
}; // namespace obsw
#endif /* BSP_Q7S_CORE_OBSW_H_ */

View File

@ -63,7 +63,7 @@ static constexpr dur_millis_t ACS_BOARD_CS_TIMEOUT = 50 * CS_FACTOR;
} // namespace spi
namespace uart {
namespace serial {
static constexpr size_t HYPERION_GPS_REPLY_MAX_BUFFER = 1024;
static constexpr UartBaudRate SYRLINKS_BAUD = UartBaudRate::RATE_38400;
@ -73,6 +73,6 @@ static constexpr UartBaudRate PLOC_MPSOC_BAUD = UartBaudRate::RATE_115200;
static constexpr UartBaudRate PLOC_SUPV_BAUD = UartBaudRate::RATE_921600;
static constexpr UartBaudRate STAR_TRACKER_BAUD = UartBaudRate::RATE_921600;
} // namespace uart
} // namespace serial
#endif /* COMMON_CONFIG_DEVCONF_H_ */

View File

@ -102,6 +102,7 @@ enum gpioId_t {
VC2_PAPB_BUSY,
VC3_PAPB_EMPTY,
VC3_PAPB_BUSY,
PTME_RESETN,
PDEC_RESET,

View File

@ -1,6 +1,6 @@
#ifndef FSFWCONFIG_DEVICES_POWERSWITCHERLIST_H_
#define FSFWCONFIG_DEVICES_POWERSWITCHERLIST_H_
#include "mission/devices/devicedefinitions/GomspaceDefinitions.h"
#include <mission/power/gsDefs.h>
#endif /* FSFWCONFIG_DEVICES_POWERSWITCHERLIST_H_ */

View File

@ -15,6 +15,9 @@ static constexpr char OBSW_VERSION_FILE_NAME[] = "obsw_version.txt";
static constexpr char OBSW_PATH[] = "/usr/bin/eive-obsw";
static constexpr char OBSW_VERSION_FILE_PATH[] = "/usr/share/eive-obsw/obsw_version.txt";
// ISO8601 timestamp.
static constexpr char FILE_DATE_FORMAT[] = "%FT%H%M%SZ";
static constexpr uint16_t EIVE_PUS_APID = 0x65;
static constexpr uint16_t EIVE_CFDP_APID = 0x66;
static constexpr uint16_t EIVE_LOCAL_CFDP_ENTITY_ID = EIVE_CFDP_APID;
@ -45,26 +48,33 @@ static constexpr uint32_t SA_DEPL_MAX_BURN_TIME = 180;
static constexpr uint32_t CCSDS_HANDLER_QUEUE_SIZE = 50;
static constexpr uint8_t NUMBER_OF_VIRTUAL_CHANNELS = 4;
static constexpr uint8_t VC0_QUEUE_SIZE = 80;
static constexpr uint8_t VC1_QUEUE_SIZE = 80;
static constexpr uint8_t VC2_QUEUE_SIZE = 50;
static constexpr uint8_t VC3_QUEUE_SIZE = 50;
static constexpr uint32_t VC0_LIVE_TM_QUEUE_SIZE = 300;
// There are three individual log stores!
static constexpr uint32_t MISC_STORE_QUEUE_SIZE = 200;
static constexpr uint32_t OK_STORE_QUEUE_SIZE = 350;
static constexpr uint32_t NOK_STORE_QUEUE_SIZE = 350;
static constexpr uint32_t HK_STORE_QUEUE_SIZE = 300;
static constexpr uint32_t CFDP_STORE_QUEUE_SIZE = 300;
static constexpr uint32_t MAX_PUS_FUNNEL_QUEUE_DEPTH = 100;
static constexpr uint32_t MAX_CFDP_FUNNEL_QUEUE_DEPTH = 80;
static constexpr uint32_t HK_SERVICE_QUEUE_DEPTH = 60;
static constexpr uint32_t MAX_STORED_CMDS_UDP = 120;
static constexpr uint32_t MAX_STORED_CMDS_TCP = 150;
static constexpr uint32_t MAX_STORED_CMDS_UDP = 150;
static constexpr uint32_t MAX_STORED_CMDS_TCP = 180;
namespace acs {
namespace spiSched {
static constexpr uint32_t SCHED_BLOCK_1_SUS_READ_MS = 15;
static constexpr uint32_t SCHED_BLOCK_2_SENSOR_READ_MS = 30;
static constexpr uint32_t SCHED_BLOCK_3_READ_IMTQ_MGM_MS = 42;
static constexpr uint32_t SCHED_BLOCK_3_READ_IMTQ_MGM_MS = 43;
static constexpr uint32_t SCHED_BLOCK_4_ACS_CTRL_MS = 45;
static constexpr uint32_t SCHED_BLOCK_5_ACTUATOR_MS = 50;
static constexpr uint32_t SCHED_BLOCK_6_IMTQ_BLOCK_2_MS = 90;
static constexpr uint32_t SCHED_BLOCK_5_ACTUATOR_MS = 55;
static constexpr uint32_t SCHED_BLOCK_6_IMTQ_BLOCK_2_MS = 105;
static constexpr uint32_t SCHED_BLOCK_RTD = 150;
static constexpr uint32_t SCHED_BLOCK_7_RW_READ_MS = 300;
static constexpr uint32_t SCHED_BLOCK_8_PLPCDU_MS = 320;
static constexpr uint32_t SCHED_BLOCK_9_RAD_SENS_MS = 340;
// 15 ms for FM
static constexpr float SCHED_BLOCK_1_PERIOD = static_cast<float>(SCHED_BLOCK_1_SUS_READ_MS) / 400.0;
@ -76,10 +86,12 @@ static constexpr float SCHED_BLOCK_4_PERIOD = static_cast<float>(SCHED_BLOCK_4_A
static constexpr float SCHED_BLOCK_5_PERIOD = static_cast<float>(SCHED_BLOCK_5_ACTUATOR_MS) / 400.0;
static constexpr float SCHED_BLOCK_6_PERIOD =
static_cast<float>(SCHED_BLOCK_6_IMTQ_BLOCK_2_MS) / 400.0;
static constexpr float SCHED_BLOCK_7_PERIOD = static_cast<float>(SCHED_BLOCK_7_RW_READ_MS) / 400.0;
static constexpr float SCHED_BLOCK_RTD_PERIOD = static_cast<float>(SCHED_BLOCK_RTD) / 400.0;
static constexpr float SCHED_BLOCK_7_PERIOD = static_cast<float>(SCHED_BLOCK_7_RW_READ_MS) / 400.0;
static constexpr float SCHED_BLOCK_8_PERIOD = static_cast<float>(SCHED_BLOCK_8_PLPCDU_MS) / 400.0;
static constexpr float SCHED_BLOCK_9_PERIOD = static_cast<float>(SCHED_BLOCK_9_RAD_SENS_MS) / 400.0;
} // namespace acs
} // namespace spiSched
} // namespace config

View File

@ -37,6 +37,9 @@ enum : uint8_t {
CONFIGHANDLER = 139,
CORE = 140,
TCS_CONTROLLER = 141,
COM_SUBSYSTEM = 142,
PERSISTENT_TM_STORE = 143,
SYRLINKS_COM = 144,
COMMON_SUBSYSTEM_ID_END
};

View File

@ -43,6 +43,8 @@ enum commonObjects : uint32_t {
RW4 = 0x44120350,
STAR_TRACKER = 0x44130001,
GPS_CONTROLLER = 0x44130045,
GPS_0_HEALTH_DEV = 0x44130046,
GPS_1_HEALTH_DEV = 0x44130047,
IMTQ_POLLING = 0x44140013,
IMTQ_HANDLER = 0x44140014,
@ -62,10 +64,14 @@ enum commonObjects : uint32_t {
RAD_SENSOR = 0x443200A5,
PLOC_UPDATER = 0x44330000,
PLOC_MEMORY_DUMPER = 0x44330001,
STR_HELPER = 0x44330002,
STR_COM_IF = 0x44330002,
PLOC_MPSOC_HELPER = 0x44330003,
AXI_PTME_CONFIG = 0x44330004,
PTME_CONFIG = 0x44330005,
PTME_VC0_LIVE_TM = 0x44330006,
PTME_VC1_LOG_TM = 0x44330007,
PTME_VC2_HK_TM = 0x44330008,
PTME_VC3_CFDP_TM = 0x44330009,
PLOC_MPSOC_HANDLER = 0x44330015,
PLOC_SUPERVISOR_HANDLER = 0x44330016,
PLOC_SUPERVISOR_HELPER = 0x44330017,
@ -119,11 +125,13 @@ enum commonObjects : uint32_t {
SUS_11_R_LOC_XBYMZB_PT_ZB = 0x44120043,
SYRLINKS_HANDLER = 0x445300A3,
// might be obsolete, was not used in Q7S FM SW
// CCSDS_IP_CORE_BRIDGE = 0x73500000,
SYRLINKS_COM_HANDLER = 0x445300A4,
/* 0x49 ('I') for Communication Interfaces */
SPI_RTD_COM_IF = 0x49020006,
ACS_BOARD_POLLING_TASK = 0x49060004,
RW_POLLING_TASK = 0x49060005,
SPI_RTD_COM_IF = 0x49060006,
SUS_POLLING_TASK = 0x49060007,
// 0x60 for other stuff
HEATER_0_PLOC_PROC_BRD = 0x60000000,
@ -133,14 +141,17 @@ enum commonObjects : uint32_t {
HEATER_4_CAMERA = 0x60000004,
HEATER_5_STR = 0x60000005,
HEATER_6_DRO = 0x60000006,
HEATER_7_HPA = 0x60000007,
HEATER_7_SYRLINKS = 0x60000007,
// 0x73 ('s') for assemblies and system/subsystem components
ACS_BOARD_ASS = 0x73000001,
SUS_BOARD_ASS = 0x73000002,
TCS_BOARD_ASS = 0x73000003,
RW_ASS = 0x73000004,
RW_ASSY = 0x73000004,
CAM_SWITCHER = 0x73000006,
SYRLINKS_ASSY = 0x73000007,
IMTQ_ASSY = 0x73000008,
STR_ASSY = 0x73000009,
EIVE_SYSTEM = 0x73010000,
ACS_SUBSYSTEM = 0x73010001,
PL_SUBSYSTEM = 0x73010002,
@ -152,6 +163,17 @@ enum commonObjects : uint32_t {
CFDP_TM_FUNNEL = 0x73000102,
CFDP_HANDLER = 0x73000205,
CFDP_DISTRIBUTOR = 0x73000206,
MISC_TM_STORE = 0x73020001,
OK_TM_STORE = 0x73020002,
NOT_OK_TM_STORE = 0x73020003,
HK_TM_STORE = 0x73020004,
CFDP_TM_STORE = 0x73030000,
LIVE_TM_TASK = 0x73040000,
LOG_STORE_AND_TM_TASK = 0x73040001,
HK_STORE_AND_TM_TASK = 0x73040002,
CFDP_STORE_AND_TM_TASK = 0x73040003,
DOWNLINK_RAM_STORE = 0x73040004,
// Other stuff
THERMAL_TEMP_INSERTER = 0x90000003,

View File

@ -35,14 +35,14 @@ enum commonClassIds : uint8_t {
SA_DEPL_HANDLER, // SADPL
MPSOC_RETURN_VALUES_IF, // MPSOCRTVIF
SUPV_RETURN_VALUES_IF, // SPVRTVIF
ACS_KALMAN, // ACSKAL
ACS_SAFE, // ACSSAF
ACS_PTG, // ACSPTG
ACS_DETUMBLE, // ACSDTB
ACS_MEKF, // ACSMEK
ACS_CTRL, // ACSCTRL
ACS_MEKF, // ACSMEKF
SD_CARD_MANAGER, // SDMA
LOCAL_PARAM_HANDLER, // LPH
PERSISTENT_TM_STORE, // PTM
TM_SINK, // TMS
COMMON_CLASS_ID_END // [EXPORT] : [END]
};
}
#endif /* COMMON_CONFIG_COMMONCLASSIDS_H_ */

View File

@ -12,6 +12,7 @@ enum Ids {
PUS_SERVICE_8 = 8,
PUS_SERVICE_9 = 9,
PUS_SERVICE_11 = 11,
PUS_SERVICE_15 = 15,
PUS_SERVICE_17 = 17,
PUS_SERVICE_19 = 19,
PUS_SERVICE_20 = 20,

View File

@ -1,15 +1,15 @@
#include "AcuDummy.h"
#include <mission/devices/devicedefinitions/GomspaceDefinitions.h>
#include <mission/power/gsDefs.h>
AcuDummy::AcuDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {}
AcuDummy::~AcuDummy() {}
void AcuDummy::doStartUp() {}
void AcuDummy::doStartUp() { setMode(MODE_NORMAL); }
void AcuDummy::doShutDown() {}
void AcuDummy::doShutDown() { setMode(MODE_OFF); }
ReturnValue_t AcuDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) { return NOTHING_TO_SEND; }
@ -37,6 +37,7 @@ uint32_t AcuDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return
ReturnValue_t AcuDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(ACU::pool::ACU_TEMPERATURES, new PoolEntry<float>(3));
localDataPoolMap.emplace(ACU::pool::ACU_TEMPERATURES,
new PoolEntry<float>({10.0, 10.0, 10.0}, true));
return returnvalue::OK;
}

View File

@ -1,15 +1,15 @@
#include "BpxDummy.h"
#include <mission/devices/devicedefinitions/BpxBatteryDefinitions.h>
#include <mission/power/bpxBattDefs.h>
BpxDummy::BpxDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {}
BpxDummy::~BpxDummy() {}
void BpxDummy::doStartUp() {}
void BpxDummy::doStartUp() { setMode(MODE_NORMAL); }
void BpxDummy::doShutDown() {}
void BpxDummy::doShutDown() { setMode(MODE_OFF); }
ReturnValue_t BpxDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) { return NOTHING_TO_SEND; }
@ -37,19 +37,19 @@ uint32_t BpxDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return
ReturnValue_t BpxDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(BpxBattery::BATT_TEMP_1, &battTemp1);
localDataPoolMap.emplace(BpxBattery::BATT_TEMP_2, &battTemp2);
localDataPoolMap.emplace(BpxBattery::BATT_TEMP_3, &battTemp3);
localDataPoolMap.emplace(BpxBattery::BATT_TEMP_4, &battTemp4);
localDataPoolMap.emplace(BpxBattery::CHARGE_CURRENT, &chargeCurrent);
localDataPoolMap.emplace(BpxBattery::DISCHARGE_CURRENT, &dischargeCurrent);
localDataPoolMap.emplace(BpxBattery::HEATER_CURRENT, &heaterCurrent);
localDataPoolMap.emplace(BpxBattery::BATT_VOLTAGE, &battVolt);
localDataPoolMap.emplace(BpxBattery::REBOOT_COUNTER, &rebootCounter);
localDataPoolMap.emplace(BpxBattery::BOOTCAUSE, &bootCause);
localDataPoolMap.emplace(bpxBat::BATT_TEMP_1, &battTemp1);
localDataPoolMap.emplace(bpxBat::BATT_TEMP_2, &battTemp2);
localDataPoolMap.emplace(bpxBat::BATT_TEMP_3, &battTemp3);
localDataPoolMap.emplace(bpxBat::BATT_TEMP_4, &battTemp4);
localDataPoolMap.emplace(bpxBat::CHARGE_CURRENT, &chargeCurrent);
localDataPoolMap.emplace(bpxBat::DISCHARGE_CURRENT, &dischargeCurrent);
localDataPoolMap.emplace(bpxBat::HEATER_CURRENT, &heaterCurrent);
localDataPoolMap.emplace(bpxBat::BATT_VOLTAGE, &battVolt);
localDataPoolMap.emplace(bpxBat::REBOOT_COUNTER, &rebootCounter);
localDataPoolMap.emplace(bpxBat::BOOTCAUSE, &bootCause);
localDataPoolMap.emplace(BpxBattery::BATTERY_HEATER_MODE, &battheatMode);
localDataPoolMap.emplace(BpxBattery::BATTHEAT_LOW_LIMIT, &battheatLow);
localDataPoolMap.emplace(BpxBattery::BATTHEAT_HIGH_LIMIT, &battheatHigh);
localDataPoolMap.emplace(bpxBat::BATTERY_HEATER_MODE, &battheatMode);
localDataPoolMap.emplace(bpxBat::BATTHEAT_LOW_LIMIT, &battheatLow);
localDataPoolMap.emplace(bpxBat::BATTHEAT_HIGH_LIMIT, &battheatHigh);
return returnvalue::OK;
}

View File

@ -34,10 +34,10 @@ class BpxDummy : public DeviceHandlerBase {
PoolEntry<uint16_t> dischargeCurrent = PoolEntry<uint16_t>({0});
PoolEntry<uint16_t> heaterCurrent = PoolEntry<uint16_t>({0});
PoolEntry<uint16_t> battVolt = PoolEntry<uint16_t>({0});
PoolEntry<int16_t> battTemp1 = PoolEntry<int16_t>({0});
PoolEntry<int16_t> battTemp2 = PoolEntry<int16_t>({0});
PoolEntry<int16_t> battTemp3 = PoolEntry<int16_t>({0});
PoolEntry<int16_t> battTemp4 = PoolEntry<int16_t>({0});
PoolEntry<int16_t> battTemp1 = PoolEntry<int16_t>({10}, true);
PoolEntry<int16_t> battTemp2 = PoolEntry<int16_t>({10}, true);
PoolEntry<int16_t> battTemp3 = PoolEntry<int16_t>({10}, true);
PoolEntry<int16_t> battTemp4 = PoolEntry<int16_t>({10}, true);
PoolEntry<uint32_t> rebootCounter = PoolEntry<uint32_t>({0});
PoolEntry<uint8_t> bootCause = PoolEntry<uint8_t>({0});
PoolEntry<uint8_t> battheatMode = PoolEntry<uint8_t>({0});

View File

@ -7,6 +7,7 @@ target_sources(
ComCookieDummy.cpp
RwDummy.cpp
Max31865Dummy.cpp
PcduHandlerDummy.cpp
StarTrackerDummy.cpp
SyrlinksDummy.cpp
ImtqDummy.cpp
@ -20,10 +21,11 @@ target_sources(
GyroL3GD20Dummy.cpp
MgmLIS3MDLDummy.cpp
PlPcduDummy.cpp
ExecutableComIfDummy.cpp
ScexDummy.cpp
CoreControllerDummy.cpp
PlocMpsocDummy.cpp
PlocSupervisorDummy.cpp
helpers.cpp
helperFactory.cpp
MgmRm3100Dummy.cpp
Tmp1075Dummy.cpp)

View File

@ -1,7 +1,7 @@
#pragma once
#include <fsfw/controller/ExtendedControllerBase.h>
#include <mission/devices/devicedefinitions/SusDefinitions.h>
#include <mission/acs/susMax1227Helpers.h>
class CoreControllerDummy : public ExtendedControllerBase {
public:

View File

@ -0,0 +1,27 @@
#include <dummies/ExecutableComIfDummy.h>
ExecutableComIfDummy::ExecutableComIfDummy(object_id_t objectId) : SystemObject(objectId) {}
ReturnValue_t ExecutableComIfDummy::initializeInterface(CookieIF *cookie) {
return returnvalue::OK;
}
ReturnValue_t ExecutableComIfDummy::sendMessage(CookieIF *cookie, const uint8_t *sendData,
size_t sendLen) {
return returnvalue::OK;
}
ReturnValue_t ExecutableComIfDummy::getSendSuccess(CookieIF *cookie) { return returnvalue::OK; }
ReturnValue_t ExecutableComIfDummy::requestReceiveMessage(CookieIF *cookie, size_t requestLen) {
return returnvalue::OK;
}
ReturnValue_t ExecutableComIfDummy::performOperation(uint8_t operationCode) {
return returnvalue::OK;
}
ReturnValue_t ExecutableComIfDummy::readReceivedMessage(CookieIF *cookie, uint8_t **buffer,
size_t *size) {
return returnvalue::OK;
}

View File

@ -0,0 +1,21 @@
#ifndef DUMMIES_EXECUTABLECOMIFDUMMY_H_
#define DUMMIES_EXECUTABLECOMIFDUMMY_H_
#include <fsfw/devicehandlers/DeviceCommunicationIF.h>
#include <fsfw/objectmanager/SystemObject.h>
#include <fsfw/tasks/ExecutableObjectIF.h>
class ExecutableComIfDummy : public ExecutableObjectIF,
public DeviceCommunicationIF,
public SystemObject {
public:
ExecutableComIfDummy(object_id_t objectId);
ReturnValue_t performOperation(uint8_t operationCode = 0) override;
ReturnValue_t initializeInterface(CookieIF *cookie) override;
ReturnValue_t sendMessage(CookieIF *cookie, const uint8_t *sendData, size_t sendLen) override;
ReturnValue_t getSendSuccess(CookieIF *cookie) override;
ReturnValue_t requestReceiveMessage(CookieIF *cookie, size_t requestLen) override;
ReturnValue_t readReceivedMessage(CookieIF *cookie, uint8_t **buffer, size_t *size) override;
};
#endif /* DUMMIES_EXECUTABLECOMIFDUMMY_H_ */

View File

@ -1,6 +1,7 @@
#include "GpsCtrlDummy.h"
GpsCtrlDummy::GpsCtrlDummy(object_id_t objectId) : ExtendedControllerBase(objectId, 20) {}
GpsCtrlDummy::GpsCtrlDummy(object_id_t objectId)
: ExtendedControllerBase(objectId, 20), gpsSet(this) {}
ReturnValue_t GpsCtrlDummy::handleCommandMessage(CommandMessage* message) {
return returnvalue::OK;
@ -13,9 +14,23 @@ ReturnValue_t GpsCtrlDummy::checkModeCommand(Mode_t mode, Submode_t submode,
return returnvalue::OK;
}
LocalPoolDataSetBase* GpsCtrlDummy::getDataSetHandle(sid_t sid) { return &gpsSet; }
ReturnValue_t GpsCtrlDummy::initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
LocalDataPoolManager& poolManager) {
localDataPoolMap.emplace(GpsHyperion::ALTITUDE, new PoolEntry<double>({537222.3469}, true));
localDataPoolMap.emplace(GpsHyperion::LONGITUDE, new PoolEntry<double>({-8.8579}, true));
localDataPoolMap.emplace(GpsHyperion::LATITUDE, new PoolEntry<double>({49.5952}, true));
localDataPoolMap.emplace(GpsHyperion::SPEED, new PoolEntry<double>({0}));
localDataPoolMap.emplace(GpsHyperion::YEAR, new PoolEntry<uint16_t>({2023}, true));
localDataPoolMap.emplace(GpsHyperion::MONTH, new PoolEntry<uint8_t>({5}, true));
localDataPoolMap.emplace(GpsHyperion::DAY, new PoolEntry<uint8_t>({16}, true));
localDataPoolMap.emplace(GpsHyperion::HOURS, new PoolEntry<uint8_t>({1}, true));
localDataPoolMap.emplace(GpsHyperion::MINUTES, new PoolEntry<uint8_t>({0}, true));
localDataPoolMap.emplace(GpsHyperion::SECONDS, new PoolEntry<uint8_t>({0}, true));
localDataPoolMap.emplace(GpsHyperion::UNIX_SECONDS, new PoolEntry<uint32_t>({1684191600}, true));
localDataPoolMap.emplace(GpsHyperion::SATS_IN_USE, new PoolEntry<uint8_t>());
localDataPoolMap.emplace(GpsHyperion::SATS_IN_VIEW, new PoolEntry<uint8_t>());
localDataPoolMap.emplace(GpsHyperion::FIX_MODE, new PoolEntry<uint8_t>());
return returnvalue::OK;
}
LocalPoolDataSetBase* GpsCtrlDummy::getDataSetHandle(sid_t sid) { return nullptr; }

View File

@ -2,12 +2,15 @@
#define DUMMIES_GPSCTRLDUMMY_H_
#include <fsfw/controller/ExtendedControllerBase.h>
#include <mission/acs/archive/GPSDefinitions.h>
class GpsCtrlDummy : public ExtendedControllerBase {
public:
GpsCtrlDummy(object_id_t objectId);
private:
GpsPrimaryDataset gpsSet;
ReturnValue_t handleCommandMessage(CommandMessage* message) override;
void performControlOperation() override;
ReturnValue_t checkModeCommand(Mode_t mode, Submode_t submode,

View File

@ -1,5 +1,5 @@
#include <dummies/GpsDhbDummy.h>
#include <mission/devices/devicedefinitions/GPSDefinitions.h>
#include <mission/acs/archive/GPSDefinitions.h>
GpsDhbDummy::GpsDhbDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {}

View File

@ -1,15 +1,15 @@
#include "GyroAdisDummy.h"
#include "mission/devices/devicedefinitions/GyroADIS1650XDefinitions.h"
#include <mission/acs/gyroAdisHelpers.h>
GyroAdisDummy::GyroAdisDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie), dataset(this) {}
GyroAdisDummy::~GyroAdisDummy() {}
void GyroAdisDummy::doStartUp() {}
void GyroAdisDummy::doStartUp() { setMode(MODE_NORMAL); }
void GyroAdisDummy::doShutDown() {}
void GyroAdisDummy::doShutDown() { setMode(MODE_OFF); }
ReturnValue_t GyroAdisDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) {
return NOTHING_TO_SEND;
@ -40,13 +40,13 @@ uint32_t GyroAdisDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { r
ReturnValue_t GyroAdisDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(ADIS1650X::ANG_VELOC_X, new PoolEntry<double>({-0.5}, true));
localDataPoolMap.emplace(ADIS1650X::ANG_VELOC_Y, new PoolEntry<double>({0.2}, true));
localDataPoolMap.emplace(ADIS1650X::ANG_VELOC_Z, new PoolEntry<double>({-1.2}, true));
localDataPoolMap.emplace(ADIS1650X::ACCELERATION_X, new PoolEntry<double>({0.0}));
localDataPoolMap.emplace(ADIS1650X::ACCELERATION_Y, new PoolEntry<double>({0.0}));
localDataPoolMap.emplace(ADIS1650X::ACCELERATION_Z, new PoolEntry<double>({0.0}));
localDataPoolMap.emplace(ADIS1650X::TEMPERATURE, new PoolEntry<float>({0.0}));
localDataPoolMap.emplace(adis1650x::ANG_VELOC_X, new PoolEntry<double>({-0.5}, true));
localDataPoolMap.emplace(adis1650x::ANG_VELOC_Y, new PoolEntry<double>({0.2}, true));
localDataPoolMap.emplace(adis1650x::ANG_VELOC_Z, new PoolEntry<double>({-1.2}, true));
localDataPoolMap.emplace(adis1650x::ACCELERATION_X, new PoolEntry<double>({0.0}));
localDataPoolMap.emplace(adis1650x::ACCELERATION_Y, new PoolEntry<double>({0.0}));
localDataPoolMap.emplace(adis1650x::ACCELERATION_Z, new PoolEntry<double>({0.0}));
localDataPoolMap.emplace(adis1650x::TEMPERATURE, new PoolEntry<float>({10.0}, true));
return returnvalue::OK;
}

View File

@ -2,8 +2,7 @@
#define DUMMIES_GYROADISDUMMY_H_
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include "mission/devices/devicedefinitions/GyroADIS1650XDefinitions.h"
#include <mission/acs/gyroAdisHelpers.h>
class GyroAdisDummy : public DeviceHandlerBase {
public:

View File

@ -1,15 +1,15 @@
#include "GyroL3GD20Dummy.h"
#include "fsfw_hal/devicehandlers/devicedefinitions/GyroL3GD20Definitions.h"
#include <fsfw_hal/devicehandlers/devicedefinitions/gyroL3gHelpers.h>
GyroL3GD20Dummy::GyroL3GD20Dummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {}
GyroL3GD20Dummy::~GyroL3GD20Dummy() {}
void GyroL3GD20Dummy::doStartUp() {}
void GyroL3GD20Dummy::doStartUp() { setMode(MODE_NORMAL); }
void GyroL3GD20Dummy::doShutDown() {}
void GyroL3GD20Dummy::doShutDown() { setMode(MODE_OFF); }
ReturnValue_t GyroL3GD20Dummy::buildNormalDeviceCommand(DeviceCommandId_t *id) {
return NOTHING_TO_SEND;
@ -40,9 +40,9 @@ uint32_t GyroL3GD20Dummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) {
ReturnValue_t GyroL3GD20Dummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(L3GD20H::ANG_VELOC_X, new PoolEntry<float>({1.2}, true));
localDataPoolMap.emplace(L3GD20H::ANG_VELOC_Y, new PoolEntry<float>({-0.1}, true));
localDataPoolMap.emplace(L3GD20H::ANG_VELOC_Z, new PoolEntry<float>({0.7}, true));
localDataPoolMap.emplace(L3GD20H::TEMPERATURE, new PoolEntry<float>({0.0}));
localDataPoolMap.emplace(l3gd20h::ANG_VELOC_X, new PoolEntry<float>({1.2}, true));
localDataPoolMap.emplace(l3gd20h::ANG_VELOC_Y, new PoolEntry<float>({-0.1}, true));
localDataPoolMap.emplace(l3gd20h::ANG_VELOC_Z, new PoolEntry<float>({0.7}, true));
localDataPoolMap.emplace(l3gd20h::TEMPERATURE, new PoolEntry<float>({0.0}));
return returnvalue::OK;
}

View File

@ -1,15 +1,15 @@
#include "ImtqDummy.h"
#include <mission/devices/devicedefinitions/imtqHelpers.h>
#include <mission/acs/imtqHelpers.h>
ImtqDummy::ImtqDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {}
ImtqDummy::~ImtqDummy() = default;
void ImtqDummy::doStartUp() {}
void ImtqDummy::doStartUp() { setMode(MODE_NORMAL); }
void ImtqDummy::doShutDown() {}
void ImtqDummy::doShutDown() { setMode(_MODE_POWER_DOWN); }
ReturnValue_t ImtqDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) { return NOTHING_TO_SEND; }
@ -43,5 +43,7 @@ ReturnValue_t ImtqDummy::initializeLocalDataPool(localpool::DataPool &localDataP
localDataPoolMap.emplace(imtq::ACTUATION_CAL_STATUS, new PoolEntry<uint8_t>({0}));
localDataPoolMap.emplace(imtq::MTM_RAW, new PoolEntry<float>({0.12, 0.76, -0.45}, true));
localDataPoolMap.emplace(imtq::ACTUATION_RAW_STATUS, new PoolEntry<uint8_t>({0}));
localDataPoolMap.emplace(imtq::DIPOLES_ID, new PoolEntry<int16_t>({0, 0, 0}));
localDataPoolMap.emplace(imtq::CURRENT_TORQUE_DURATION, new PoolEntry<uint16_t>({0}));
return DeviceHandlerBase::initializeLocalDataPool(localDataPoolMap, poolManager);
}

View File

@ -1,5 +1,7 @@
#include "Max31865Dummy.h"
#include "fsfw/datapool/PoolReadGuard.h"
using namespace returnvalue;
Max31865Dummy::Max31865Dummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
@ -28,15 +30,20 @@ ReturnValue_t Max31865Dummy::initializeLocalDataPool(localpool::DataPool &localD
LocalDataPoolManager &poolManager) {
using namespace MAX31865;
localDataPoolMap.emplace(static_cast<lp_id_t>(PoolIds::RTD_VALUE), new PoolEntry<float>({0}));
localDataPoolMap.emplace(static_cast<lp_id_t>(PoolIds::TEMPERATURE_C), new PoolEntry<float>({0}));
localDataPoolMap.emplace(static_cast<lp_id_t>(PoolIds::TEMPERATURE_C),
new PoolEntry<float>({10.0}, true));
localDataPoolMap.emplace(static_cast<lp_id_t>(PoolIds::LAST_FAULT_BYTE),
new PoolEntry<uint8_t>({0}));
localDataPoolMap.emplace(static_cast<lp_id_t>(PoolIds::FAULT_BYTE), new PoolEntry<uint8_t>({0}));
return OK;
}
void Max31865Dummy::setTemperature(float temperature) {
set.temperatureCelcius.value = temperature;
void Max31865Dummy::setTemperature(float temperature, bool valid) {
PoolReadGuard pg(&set);
if (pg.getReadResult() == returnvalue::OK) {
set.temperatureCelcius.value = temperature;
set.setValidity(valid, true);
}
}
LocalPoolDataSetBase *Max31865Dummy::getDataSetHandle(sid_t sid) { return &set; }

View File

@ -1,15 +1,16 @@
#ifndef EIVE_OBSW_MAX31865DUMMY_H
#define EIVE_OBSW_MAX31865DUMMY_H
#include <mission/tcs/Max31865Definitions.h>
#include "fsfw/devicehandlers/DeviceHandlerBase.h"
#include "mission/devices/devicedefinitions/Max31865Definitions.h"
class Max31865Dummy : public DeviceHandlerBase {
public:
Max31865Dummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie);
Max31865Dummy(object_id_t objectId, CookieIF *comCookie);
void setTemperature(float temperature);
void setTemperature(float temperature, bool setValid);
private:
MAX31865::PrimarySet set;

View File

@ -1,15 +1,15 @@
#include "MgmLIS3MDLDummy.h"
#include "fsfw_hal/devicehandlers/devicedefinitions/MgmLIS3HandlerDefs.h"
#include <fsfw_hal/devicehandlers/devicedefinitions/mgmLis3Helpers.h>
MgmLIS3MDLDummy::MgmLIS3MDLDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie), dataset(this) {}
MgmLIS3MDLDummy::~MgmLIS3MDLDummy() {}
void MgmLIS3MDLDummy::doStartUp() {}
void MgmLIS3MDLDummy::doStartUp() { setMode(MODE_NORMAL); }
void MgmLIS3MDLDummy::doShutDown() {}
void MgmLIS3MDLDummy::doShutDown() { setMode(MODE_OFF); }
ReturnValue_t MgmLIS3MDLDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) {
return NOTHING_TO_SEND;
@ -40,8 +40,8 @@ uint32_t MgmLIS3MDLDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) {
ReturnValue_t MgmLIS3MDLDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(MGMLIS3MDL::TEMPERATURE_CELCIUS, new PoolEntry<float>({0.0}));
localDataPoolMap.emplace(MGMLIS3MDL::FIELD_STRENGTHS,
localDataPoolMap.emplace(mgmLis3::TEMPERATURE_CELCIUS, new PoolEntry<float>({10.0}, true));
localDataPoolMap.emplace(mgmLis3::FIELD_STRENGTHS,
new PoolEntry<float>({1.02, 0.56, -0.78}, true));
return returnvalue::OK;
}

View File

@ -2,8 +2,7 @@
#define DUMMIES_MGMLIS3MDLDUMMY_H_
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include "fsfw_hal/devicehandlers/devicedefinitions/MgmLIS3HandlerDefs.h"
#include <fsfw_hal/devicehandlers/devicedefinitions/mgmLis3Helpers.h>
class MgmLIS3MDLDummy : public DeviceHandlerBase {
public:
@ -17,7 +16,7 @@ class MgmLIS3MDLDummy : public DeviceHandlerBase {
virtual ~MgmLIS3MDLDummy();
protected:
MGMLIS3MDL::MgmPrimaryDataset dataset;
mgmLis3::MgmPrimaryDataset dataset;
void doStartUp() override;
void doShutDown() override;
ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t *id) override;

View File

@ -7,18 +7,22 @@ MgmRm3100Dummy::MgmRm3100Dummy(object_id_t objectId, object_id_t comif, CookieIF
MgmRm3100Dummy::~MgmRm3100Dummy() = default;
void MgmRm3100Dummy::doStartUp() {}
void MgmRm3100Dummy::doStartUp() { setMode(MODE_NORMAL); }
void MgmRm3100Dummy::doShutDown() {}
void MgmRm3100Dummy::doShutDown() { setMode(MODE_OFF); }
ReturnValue_t MgmRm3100Dummy::buildNormalDeviceCommand(DeviceCommandId_t* id) { return OK; }
ReturnValue_t MgmRm3100Dummy::buildNormalDeviceCommand(DeviceCommandId_t* id) {
return NOTHING_TO_SEND;
}
ReturnValue_t MgmRm3100Dummy::buildTransitionDeviceCommand(DeviceCommandId_t* id) { return OK; }
ReturnValue_t MgmRm3100Dummy::buildTransitionDeviceCommand(DeviceCommandId_t* id) {
return NOTHING_TO_SEND;
}
ReturnValue_t MgmRm3100Dummy::buildCommandFromCommand(DeviceCommandId_t deviceCommand,
const uint8_t* commandData,
size_t commandDataLen) {
return OK;
return NOTHING_TO_SEND;
}
ReturnValue_t MgmRm3100Dummy::scanForReply(const uint8_t* start, size_t len,
@ -36,7 +40,7 @@ uint32_t MgmRm3100Dummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) {
ReturnValue_t MgmRm3100Dummy::initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
LocalDataPoolManager& poolManager) {
localDataPoolMap.emplace(RM3100::FIELD_STRENGTHS,
localDataPoolMap.emplace(mgmRm3100::FIELD_STRENGTHS,
new PoolEntry<float>({0.87, -0.95, 0.11}, true));
return returnvalue::OK;
}

View File

@ -1,8 +1,9 @@
#ifndef DUMMIES_MGMRM3100DUMMY_H_
#define DUMMIES_MGMRM3100DUMMY_H_
#include <fsfw_hal/devicehandlers/devicedefinitions/mgmRm3100Helpers.h>
#include "fsfw/devicehandlers/DeviceHandlerBase.h"
#include "fsfw_hal/devicehandlers/devicedefinitions/MgmRM3100HandlerDefs.h"
class MgmRm3100Dummy : public DeviceHandlerBase {
public:
@ -10,7 +11,7 @@ class MgmRm3100Dummy : public DeviceHandlerBase {
virtual ~MgmRm3100Dummy();
protected:
RM3100::Rm3100PrimaryDataset dataset;
mgmRm3100::Rm3100PrimaryDataset dataset;
void doStartUp() override;
void doShutDown() override;
ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t *id) override;

View File

@ -1,15 +1,17 @@
#include "P60DockDummy.h"
#include <mission/devices/devicedefinitions/GomspaceDefinitions.h>
#include <mission/power/gsDefs.h>
#include "fsfw/datapool/PoolReadGuard.h"
P60DockDummy::P60DockDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {}
P60DockDummy::~P60DockDummy() {}
void P60DockDummy::doStartUp() {}
void P60DockDummy::doStartUp() { setMode(MODE_NORMAL); }
void P60DockDummy::doShutDown() {}
void P60DockDummy::doShutDown() { setMode(MODE_OFF); }
ReturnValue_t P60DockDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) {
return NOTHING_TO_SEND;
@ -40,7 +42,9 @@ uint32_t P60DockDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { re
ReturnValue_t P60DockDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(P60Dock::pool::P60DOCK_TEMPERATURE_1, new PoolEntry<float>({0}));
localDataPoolMap.emplace(P60Dock::pool::P60DOCK_TEMPERATURE_2, new PoolEntry<float>({0}));
localDataPoolMap.emplace(P60Dock::pool::P60DOCK_TEMPERATURE_1,
new PoolEntry<float>({10.0}, true));
localDataPoolMap.emplace(P60Dock::pool::P60DOCK_TEMPERATURE_2,
new PoolEntry<float>({10.0}, true));
return returnvalue::OK;
}

View File

@ -3,6 +3,8 @@
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include "mission/power/gsDefs.h"
class P60DockDummy : public DeviceHandlerBase {
public:
static const DeviceCommandId_t SIMPLE_COMMAND = 1;
@ -15,6 +17,8 @@ class P60DockDummy : public DeviceHandlerBase {
virtual ~P60DockDummy();
protected:
lp_var_t<float> temp1 = lp_var_t<float>(this, P60Dock::pool::P60DOCK_TEMPERATURE_1);
lp_var_t<float> temp2 = lp_var_t<float>(this, P60Dock::pool::P60DOCK_TEMPERATURE_2);
void doStartUp() override;
void doShutDown() override;
ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t *id) override;

View File

@ -0,0 +1,82 @@
#include "PcduHandlerDummy.h"
#include <fsfw/ipc/QueueFactory.h>
#include <mission/power/gsDefs.h>
#include "mission/power/defs.h"
PcduHandlerDummy::PcduHandlerDummy(object_id_t objectId)
: SystemObject(objectId), manager(this, nullptr), dummySwitcher(objectId, 18, 18, false) {
switcherLock = MutexFactory::instance()->createMutex();
queue = QueueFactory::instance()->createMessageQueue(20);
}
PcduHandlerDummy::~PcduHandlerDummy() {}
ReturnValue_t PcduHandlerDummy::initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
LocalDataPoolManager& poolManager) {
return returnvalue::OK;
}
ReturnValue_t PcduHandlerDummy::sendSwitchCommand(power::Switch_t switchNr, ReturnValue_t onOff) {
if (onOff == SWITCH_ON) {
triggerEvent(power::SWITCH_CMD_SENT, true, switchNr);
} else {
triggerEvent(power::SWITCH_CMD_SENT, false, switchNr);
}
{
MutexGuard mg(switcherLock);
// To simulate a real PCDU, remember the switch change to trigger a SWITCH_HAS_CHANGED event
// at a later stage.
switchChangeArray[switchNr] = true;
}
return dummySwitcher.sendSwitchCommand(switchNr, onOff);
}
ReturnValue_t PcduHandlerDummy::sendFuseOnCommand(uint8_t fuseNr) {
return dummySwitcher.sendFuseOnCommand(fuseNr);
}
ReturnValue_t PcduHandlerDummy::getSwitchState(power::Switch_t switchNr) const {
return dummySwitcher.getSwitchState(switchNr);
}
ReturnValue_t PcduHandlerDummy::getFuseState(uint8_t fuseNr) const {
return dummySwitcher.getFuseState(fuseNr);
}
uint32_t PcduHandlerDummy::getSwitchDelayMs(void) const { return dummySwitcher.getSwitchDelayMs(); }
ReturnValue_t PcduHandlerDummy::performOperation(uint8_t opCode) {
// TODO: Handle HK messages in queue.
SwitcherBoolArray switcherChangeCopy{};
{
MutexGuard mg(switcherLock);
std::memcpy(switcherChangeCopy.data(), switchChangeArray.data(), switchChangeArray.size());
}
for (uint8_t idx = 0; idx < switcherChangeCopy.size(); idx++) {
if (switcherChangeCopy[idx]) {
if (dummySwitcher.getSwitchState(idx) == PowerSwitchIF::SWITCH_ON) {
triggerEvent(power::SWITCH_HAS_CHANGED, true, idx);
} else {
triggerEvent(power::SWITCH_HAS_CHANGED, false, idx);
}
MutexGuard mg(switcherLock);
switchChangeArray[idx] = false;
}
}
return returnvalue::OK;
}
object_id_t PcduHandlerDummy::getObjectId() const { return SystemObject::getObjectId(); }
MessageQueueId_t PcduHandlerDummy::getCommandQueue() const { return queue->getId(); }
dur_millis_t PcduHandlerDummy::getPeriodicOperationFrequency() const {
// TODO: dummy value. Retrieve from intiitalize after task creation..
return 400;
}
LocalDataPoolManager* PcduHandlerDummy::getHkManagerHandle() { return &manager; }
LocalPoolDataSetBase* PcduHandlerDummy::getDataSetHandle(sid_t sid) { return nullptr; }

View File

@ -0,0 +1,62 @@
#pragma once
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include <fsfw/power/DummyPowerSwitcher.h>
class PcduHandlerDummy : public PowerSwitchIF,
public HasLocalDataPoolIF,
public SystemObject,
public ExecutableObjectIF {
public:
static const DeviceCommandId_t SIMPLE_COMMAND = 1;
static const DeviceCommandId_t PERIODIC_REPLY = 2;
static const uint8_t SIMPLE_COMMAND_DATA = 1;
static const uint8_t PERIODIC_REPLY_DATA = 2;
PcduHandlerDummy(object_id_t objectId);
virtual ~PcduHandlerDummy();
protected:
MessageQueueIF* queue;
LocalDataPoolManager manager;
MutexIF* switcherLock;
DummyPowerSwitcher dummySwitcher;
using SwitcherBoolArray = std::array<bool, 18>;
ReturnValue_t performOperation(uint8_t opCode) override;
SwitcherBoolArray switchChangeArray{};
ReturnValue_t initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
LocalDataPoolManager& poolManager) override;
ReturnValue_t sendSwitchCommand(power::Switch_t switchNr, ReturnValue_t onOff) override;
ReturnValue_t sendFuseOnCommand(uint8_t fuseNr) override;
ReturnValue_t getSwitchState(power::Switch_t switchNr) const override;
ReturnValue_t getFuseState(uint8_t fuseNr) const override;
uint32_t getSwitchDelayMs(void) const override;
object_id_t getObjectId() const override;
/** Command queue for housekeeping messages. */
MessageQueueId_t getCommandQueue() const override;
dur_millis_t getPeriodicOperationFrequency() const override;
/**
* Every class implementing this interface should have a local data pool manager. This
* function will return a reference to the manager.
* @return
*/
LocalDataPoolManager* getHkManagerHandle() override;
/**
* This function is used by the pool manager to get a valid dataset
* from a SID. This function is protected to prevent users from
* using raw data set pointers which could not be thread-safe. Users
* should use the #ProvidesDataPoolSubscriptionIF.
* @param sid Corresponding structure ID
* @return
*/
LocalPoolDataSetBase* getDataSetHandle(sid_t sid) override;
};

View File

@ -1,15 +1,16 @@
#include "PduDummy.h"
#include <mission/devices/devicedefinitions/GomspaceDefinitions.h>
#include <mission/power/gsDefs.h>
PduDummy::PduDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {}
: DeviceHandlerBase(objectId, comif, comCookie),
coreHk(this, static_cast<uint32_t>(P60System::SetIds::CORE)) {}
PduDummy::~PduDummy() {}
void PduDummy::doStartUp() {}
void PduDummy::doStartUp() { setMode(MODE_NORMAL); }
void PduDummy::doShutDown() {}
void PduDummy::doShutDown() { setMode(MODE_OFF); }
ReturnValue_t PduDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) { return NOTHING_TO_SEND; }
@ -37,6 +38,8 @@ uint32_t PduDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return
ReturnValue_t PduDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(PDU::pool::PDU_TEMPERATURE, new PoolEntry<float>({0}));
localDataPoolMap.emplace(PDU::pool::PDU_TEMPERATURE, new PoolEntry<float>({10.0}, true));
localDataPoolMap.emplace(PDU::pool::PDU_VOLTAGES, &pduVoltages);
localDataPoolMap.emplace(PDU::pool::PDU_CURRENTS, &pduCurrents);
return returnvalue::OK;
}

View File

@ -2,6 +2,7 @@
#define DUMMIES_PDUDUMMY_H_
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include <mission/power/gsDefs.h>
class PduDummy : public DeviceHandlerBase {
public:
@ -15,6 +16,10 @@ class PduDummy : public DeviceHandlerBase {
virtual ~PduDummy();
protected:
PDU::PduCoreHk coreHk;
PoolEntry<int16_t> pduVoltages = PoolEntry<int16_t>(9);
PoolEntry<int16_t> pduCurrents = PoolEntry<int16_t>(9);
void doStartUp() override;
void doShutDown() override;
ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t *id) override;

View File

@ -1,15 +1,15 @@
#include "PlPcduDummy.h"
#include <mission/devices/devicedefinitions/GomspaceDefinitions.h>
#include <mission/power/gsDefs.h>
PlPcduDummy::PlPcduDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {}
PlPcduDummy::~PlPcduDummy() {}
void PlPcduDummy::doStartUp() {}
void PlPcduDummy::doStartUp() { setMode(MODE_NORMAL); }
void PlPcduDummy::doShutDown() {}
void PlPcduDummy::doShutDown() { setMode(MODE_OFF); }
ReturnValue_t PlPcduDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) {
return NOTHING_TO_SEND;
@ -40,6 +40,6 @@ uint32_t PlPcduDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { ret
ReturnValue_t PlPcduDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(plpcdu::PlPcduPoolIds::TEMP, new PoolEntry<float>({0.0}));
localDataPoolMap.emplace(plpcdu::PlPcduPoolIds::TEMP, new PoolEntry<float>({0.0}, true));
return returnvalue::OK;
}

View File

@ -2,7 +2,7 @@
#define DUMMIES_PLPCDUDUMMY_H_
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include <mission/devices/devicedefinitions/payloadPcduDefinitions.h>
#include <mission/payload/payloadPcduDefinitions.h>
class PlPcduDummy : public DeviceHandlerBase {
public:

View File

@ -5,9 +5,9 @@ PlocMpsocDummy::PlocMpsocDummy(object_id_t objectId, object_id_t comif, CookieIF
PlocMpsocDummy::~PlocMpsocDummy() {}
void PlocMpsocDummy::doStartUp() {}
void PlocMpsocDummy::doStartUp() { setMode(MODE_ON); }
void PlocMpsocDummy::doShutDown() {}
void PlocMpsocDummy::doShutDown() { setMode(MODE_OFF); }
ReturnValue_t PlocMpsocDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) {
return NOTHING_TO_SEND;

View File

@ -2,6 +2,8 @@
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include "mission/power/defs.h"
class PlocMpsocDummy : public DeviceHandlerBase {
public:
static const DeviceCommandId_t SIMPLE_COMMAND = 1;

View File

@ -1,14 +1,16 @@
#include "PlocSupervisorDummy.h"
PlocSupervisorDummy::PlocSupervisorDummy(object_id_t objectId, object_id_t comif,
CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {}
CookieIF *comCookie, PowerSwitchIF &pwrSwitcher)
: DeviceHandlerBase(objectId, comif, comCookie) {
setPowerSwitcher(&pwrSwitcher);
}
PlocSupervisorDummy::~PlocSupervisorDummy() {}
void PlocSupervisorDummy::doStartUp() {}
void PlocSupervisorDummy::doStartUp() { setMode(MODE_ON); }
void PlocSupervisorDummy::doShutDown() {}
void PlocSupervisorDummy::doShutDown() { setMode(_MODE_POWER_DOWN); }
ReturnValue_t PlocSupervisorDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) {
return NOTHING_TO_SEND;
@ -42,3 +44,10 @@ ReturnValue_t PlocSupervisorDummy::initializeLocalDataPool(localpool::DataPool &
LocalDataPoolManager &poolManager) {
return returnvalue::OK;
}
ReturnValue_t PlocSupervisorDummy::getSwitches(const uint8_t **switches,
uint8_t *numberOfSwitches) {
*numberOfSwitches = 1;
*switches = reinterpret_cast<const uint8_t *>(&switchId);
return returnvalue::OK;
}

View File

@ -1,6 +1,7 @@
#pragma once
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include <mission/power/defs.h>
class PlocSupervisorDummy : public DeviceHandlerBase {
public:
@ -10,10 +11,13 @@ class PlocSupervisorDummy : public DeviceHandlerBase {
static const uint8_t SIMPLE_COMMAND_DATA = 1;
static const uint8_t PERIODIC_REPLY_DATA = 2;
PlocSupervisorDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie);
PlocSupervisorDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie,
PowerSwitchIF &pwrSwitcher);
virtual ~PlocSupervisorDummy();
protected:
const power::Switches switchId = power::Switches::PDU1_CH6_PLOC_12V;
void doStartUp() override;
void doShutDown() override;
ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t *id) override;
@ -27,4 +31,5 @@ class PlocSupervisorDummy : public DeviceHandlerBase {
uint32_t getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) override;
ReturnValue_t initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) override;
ReturnValue_t getSwitches(const uint8_t **switches, uint8_t *numberOfSwitches) override;
};

View File

@ -1,15 +1,15 @@
#include "RwDummy.h"
#include <mission/devices/devicedefinitions/rwHelpers.h>
#include <mission/acs/rwHelpers.h>
RwDummy::RwDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {}
RwDummy::~RwDummy() {}
void RwDummy::doStartUp() {}
void RwDummy::doStartUp() { setMode(MODE_ON); }
void RwDummy::doShutDown() {}
void RwDummy::doShutDown() { setMode(MODE_OFF); }
ReturnValue_t RwDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) { return NOTHING_TO_SEND; }
@ -37,11 +37,14 @@ uint32_t RwDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return
ReturnValue_t RwDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(rws::RW_SPEED, &rwSpeed);
localDataPoolMap.emplace(rws::RAMP_TIME, &rampTime);
localDataPoolMap.emplace(rws::TEMPERATURE_C, new PoolEntry<int32_t>({0}));
localDataPoolMap.emplace(rws::CURR_SPEED, new PoolEntry<int32_t>({0}));
localDataPoolMap.emplace(rws::REFERENCE_SPEED, new PoolEntry<int32_t>({0}));
localDataPoolMap.emplace(rws::STATE, new PoolEntry<uint8_t>({0}));
localDataPoolMap.emplace(rws::STATE, new PoolEntry<uint8_t>({1}, true));
localDataPoolMap.emplace(rws::CLC_MODE, new PoolEntry<uint8_t>({0}));
localDataPoolMap.emplace(rws::LAST_RESET_STATUS, new PoolEntry<uint8_t>({0}));

View File

@ -15,6 +15,9 @@ class RwDummy : public DeviceHandlerBase {
virtual ~RwDummy();
protected:
PoolEntry<int32_t> rwSpeed = PoolEntry<int32_t>({0});
PoolEntry<uint16_t> rampTime = PoolEntry<uint16_t>({10});
void doStartUp() override;
void doShutDown() override;
ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t *id) override;

View File

@ -5,9 +5,9 @@ ScexDummy::ScexDummy(object_id_t objectId, object_id_t comif, CookieIF *comCooki
ScexDummy::~ScexDummy() {}
void ScexDummy::doStartUp() {}
void ScexDummy::doStartUp() { setMode(MODE_ON); }
void ScexDummy::doShutDown() {}
void ScexDummy::doShutDown() { setMode(MODE_OFF); }
ReturnValue_t ScexDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) { return NOTHING_TO_SEND; }

View File

@ -1,15 +1,15 @@
#include "StarTrackerDummy.h"
#include <linux/devices/devicedefinitions/StarTrackerDefinitions.h>
#include <mission/acs/str/strHelpers.h>
StarTrackerDummy::StarTrackerDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {}
StarTrackerDummy::~StarTrackerDummy() {}
void StarTrackerDummy::doStartUp() {}
void StarTrackerDummy::doStartUp() { setMode(MODE_ON); }
void StarTrackerDummy::doShutDown() {}
void StarTrackerDummy::doShutDown() { setMode(_MODE_POWER_DOWN); }
ReturnValue_t StarTrackerDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) {
return NOTHING_TO_SEND;
@ -40,7 +40,7 @@ uint32_t StarTrackerDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo)
ReturnValue_t StarTrackerDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(startracker::MCU_TEMPERATURE, new PoolEntry<float>({0}));
localDataPoolMap.emplace(startracker::MCU_TEMPERATURE, new PoolEntry<float>({10.0}, true));
localDataPoolMap.emplace(startracker::TICKS_SOLUTION_SET, new PoolEntry<uint32_t>({0}));
localDataPoolMap.emplace(startracker::TIME_SOLUTION_SET, new PoolEntry<uint64_t>({0}));
@ -64,6 +64,7 @@ ReturnValue_t StarTrackerDummy::initializeLocalDataPool(localpool::DataPool &loc
localDataPoolMap.emplace(startracker::LISA_NR_CLOSE, new PoolEntry<uint8_t>({0}));
localDataPoolMap.emplace(startracker::TRUST_WORTHY, new PoolEntry<uint8_t>({0}));
localDataPoolMap.emplace(startracker::STABLE_COUNT, new PoolEntry<uint32_t>({0}));
localDataPoolMap.emplace(startracker::STR_MODE, new PoolEntry<uint8_t>({0}));
localDataPoolMap.emplace(startracker::SOLUTION_STRATEGY, new PoolEntry<uint8_t>({0}));
return returnvalue::OK;
}

View File

@ -5,9 +5,9 @@ SusDummy::SusDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
SusDummy::~SusDummy() {}
void SusDummy::doStartUp() {}
void SusDummy::doStartUp() { setMode(MODE_NORMAL); }
void SusDummy::doShutDown() {}
void SusDummy::doShutDown() { setMode(MODE_OFF); }
ReturnValue_t SusDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) { return NOTHING_TO_SEND; }
@ -35,9 +35,10 @@ uint32_t SusDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return
ReturnValue_t SusDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(SUS::SusPoolIds::TEMPERATURE_C, new PoolEntry<float>({0}, 1, true));
localDataPoolMap.emplace(SUS::SusPoolIds::CHANNEL_VEC,
new PoolEntry<uint16_t>({0, 0, 0, 0, 0, 0}, true));
localDataPoolMap.emplace(susMax1227::SusPoolIds::TEMPERATURE_C,
new PoolEntry<float>({0}, 1, true));
localDataPoolMap.emplace(susMax1227::SusPoolIds::CHANNEL_VEC,
new PoolEntry<uint16_t>({2603, 781, 2760, 2048, 4056, 0}, true));
return returnvalue::OK;
}

View File

@ -2,8 +2,7 @@
#define DUMMIES_SUSDUMMY_H_
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include "mission/devices/devicedefinitions/SusDefinitions.h"
#include <mission/acs/susMax1227Helpers.h>
class SusDummy : public DeviceHandlerBase {
public:
@ -17,7 +16,7 @@ class SusDummy : public DeviceHandlerBase {
virtual ~SusDummy();
protected:
SUS::SusDataset susSet;
susMax1227::SusDataset susSet;
void doStartUp() override;
void doShutDown() override;
ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t *id) override;

View File

@ -1,6 +1,6 @@
#include "SyrlinksDummy.h"
#include <mission/devices/devicedefinitions/SyrlinksDefinitions.h>
#include <mission/com/syrlinksDefs.h>
SyrlinksDummy::SyrlinksDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {}
@ -40,7 +40,7 @@ uint32_t SyrlinksDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { r
ReturnValue_t SyrlinksDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(syrlinks::TEMP_BASEBAND_BOARD, new PoolEntry<float>({0}));
localDataPoolMap.emplace(syrlinks::TEMP_POWER_AMPLIFIER, new PoolEntry<float>({0}));
localDataPoolMap.emplace(syrlinks::TEMP_BASEBAND_BOARD, new PoolEntry<float>({10}, true));
localDataPoolMap.emplace(syrlinks::TEMP_POWER_AMPLIFIER, new PoolEntry<float>({10}, true));
return returnvalue::OK;
}

View File

@ -1,5 +1,6 @@
#include "TemperatureSensorInserter.h"
#include <fsfw/datapool/PoolReadGuard.h>
#include <objects/systemObjectList.h>
#include <cmath>
@ -9,32 +10,104 @@
TemperatureSensorInserter::TemperatureSensorInserter(object_id_t objectId,
Max31865DummyMap tempSensorDummies_,
Tmp1075DummyMap tempTmpSensorDummies_)
: SystemObject(objects::THERMAL_TEMP_INSERTER),
: SystemObject(objectId),
max31865DummyMap(std::move(tempSensorDummies_)),
tmp1075DummyMap(std::move(tempTmpSensorDummies_)) {}
ReturnValue_t TemperatureSensorInserter::initialize() {
if (performTest) {
if (testCase == TestCase::COOL_SYRLINKS) {
}
}
testCase = TestCase::NONE;
return returnvalue::OK;
}
ReturnValue_t TemperatureSensorInserter::performOperation(uint8_t opCode) {
/*
ReturnValue_t result = max31865PlocHeatspreaderSet.read();
if (result != returnvalue::OK) {
sif::warning << "Failed to read temperature from MAX31865 dataset" << std::endl;
// TODO: deviceSensors
if (not tempsWereInitialized) {
for (auto& rtdDummy : max31865DummyMap) {
rtdDummy.second->setTemperature(10, true);
}
for (auto& tmpDummy : tmp1075DummyMap) {
tmpDummy.second->setTemperature(10, true);
}
tempsWereInitialized = true;
}
max31865PlocHeatspreaderSet.rtdValue = value - 5;
max31865PlocHeatspreaderSet.temperatureCelcius = value;
if ((iteration % 100) < 20) {
max31865PlocHeatspreaderSet.setValidity(false, true);
} else {
max31865PlocHeatspreaderSet.setValidity(true, true);
switch (testCase) {
case (TestCase::NONE): {
break;
}
case (TestCase::COLD_SYRLINKS): {
// TODO: How do I insert this?
// Does not work on EM, where a real syrlinks device is connected.
if (cycles == 15) {
lp_var_t<float> tempSyrlinksBasebandBoard =
lp_var_t<float>(objects::SYRLINKS_HANDLER, syrlinks::TEMP_BASEBAND_BOARD);
PoolReadGuard pg(&tempSyrlinksBasebandBoard);
tempSyrlinksBasebandBoard.value = -50;
}
if (cycles == 30) {
lp_var_t<float> tempSyrlinksBasebandBoard =
lp_var_t<float>(objects::SYRLINKS_HANDLER, syrlinks::TEMP_BASEBAND_BOARD);
PoolReadGuard pg(&tempSyrlinksBasebandBoard);
tempSyrlinksBasebandBoard.value = 0;
}
break;
}
case (TestCase::COLD_HPA): {
if (cycles == 15) {
sif::debug << "Setting cold HPA temperature" << std::endl;
max31865DummyMap[objects::RTD_9_IC12_HPA]->setTemperature(-60, true);
}
if (cycles == 30) {
sif::debug << "Setting HPA temperature back to normal" << std::endl;
max31865DummyMap[objects::RTD_9_IC12_HPA]->setTemperature(0, true);
}
break;
}
case (TestCase::COLD_MGT): {
if (cycles == 15) {
sif::debug << "Setting cold MGT temperature" << std::endl;
max31865DummyMap[objects::RTD_15_IC18_IMTQ]->setTemperature(-60, true);
}
if (cycles == 30) {
sif::debug << "Setting MGT temperature back to normal" << std::endl;
max31865DummyMap[objects::RTD_15_IC18_IMTQ]->setTemperature(0, true);
}
break;
}
case (TestCase::COLD_STR):
case (TestCase::COLD_STR_CONSECUTIVE): {
if (cycles == 15) {
sif::debug << "Setting cold STR temperature" << std::endl;
max31865DummyMap[objects::RTD_4_IC7_STARTRACKER]->setTemperature(-40, true);
}
if (cycles == 30) {
sif::debug << "Setting STR temperature back to normal" << std::endl;
max31865DummyMap[objects::RTD_4_IC7_STARTRACKER]->setTemperature(0, true);
}
if (testCase == TestCase::COLD_STR_CONSECUTIVE) {
if (cycles == 45) {
sif::debug << "Setting cold STR temperature again" << std::endl;
max31865DummyMap[objects::RTD_4_IC7_STARTRACKER]->setTemperature(-40, true);
}
if (cycles == 60) {
sif::debug << "Setting STR temperature back to normal again" << std::endl;
max31865DummyMap[objects::RTD_4_IC7_STARTRACKER]->setTemperature(0, true);
}
}
break;
}
case (TestCase::COLD_CAMERA): {
if (cycles == 15) {
sif::debug << "Setting cold CAM temperature" << std::endl;
max31865DummyMap[objects::RTD_2_IC5_4K_CAMERA]->setTemperature(-40, true);
}
if (cycles == 30) {
sif::debug << "Setting CAM temperature back to normal" << std::endl;
max31865DummyMap[objects::RTD_2_IC5_4K_CAMERA]->setTemperature(0, true);
}
}
}
max31865PlocHeatspreaderSet.commit();
*/
cycles++;
return returnvalue::OK;
}
ReturnValue_t TemperatureSensorInserter::initializeAfterTaskCreation() { return returnvalue::OK; }

View File

@ -1,7 +1,8 @@
#pragma once
#include <fsfw/controller/ExtendedControllerBase.h>
#include <mission/devices/devicedefinitions/Max31865Definitions.h>
#include <mission/com/syrlinksDefs.h>
#include <mission/tcs/Max31865Definitions.h>
#include "Max31865Dummy.h"
#include "Tmp1075Dummy.h"
@ -14,6 +15,7 @@ class TemperatureSensorInserter : public ExecutableObjectIF, public SystemObject
Tmp1075DummyMap tempTmpSensorDummies_);
ReturnValue_t initialize() override;
ReturnValue_t initializeAfterTaskCreation() override;
protected:
ReturnValue_t performOperation(uint8_t opCode) override;
@ -21,9 +23,19 @@ class TemperatureSensorInserter : public ExecutableObjectIF, public SystemObject
private:
Max31865DummyMap max31865DummyMap;
Tmp1075DummyMap tmp1075DummyMap;
enum TestCase { NONE = 0, COOL_SYRLINKS = 1 };
enum TestCase {
NONE = 0,
COLD_SYRLINKS = 1,
COLD_HPA = 2,
COLD_MGT = 3,
COLD_STR = 4,
COLD_STR_CONSECUTIVE = 5,
COLD_CAMERA = 6,
};
int iteration = 0;
bool performTest = false;
uint32_t cycles = 0;
bool tempsWereInitialized = false;
TestCase testCase = TestCase::NONE;
// void noise();

View File

@ -1,13 +1,16 @@
#include "Tmp1075Dummy.h"
#include "mission/devices/devicedefinitions/Tmp1075Definitions.h"
#include <fsfw/datapool/PoolReadGuard.h>
#include <mission/tcs/Tmp1075Definitions.h>
using namespace returnvalue;
Tmp1075Dummy::Tmp1075Dummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie), set(this) {}
void Tmp1075Dummy::doStartUp() { setMode(MODE_ON); }
void Tmp1075Dummy::doShutDown() { setMode(_MODE_POWER_DOWN); }
void Tmp1075Dummy::doStartUp() { setMode(MODE_NORMAL); }
void Tmp1075Dummy::doShutDown() { setMode(MODE_OFF); }
ReturnValue_t Tmp1075Dummy::buildNormalDeviceCommand(DeviceCommandId_t *id) {
return NOTHING_TO_SEND;
}
@ -24,11 +27,16 @@ ReturnValue_t Tmp1075Dummy::scanForReply(const uint8_t *start, size_t len,
ReturnValue_t Tmp1075Dummy::interpretDeviceReply(DeviceCommandId_t id, const uint8_t *packet) {
return 0;
}
void Tmp1075Dummy::setTemperature(float temperature, bool valid) {
PoolReadGuard pg(&set);
set.temperatureCelcius.value = temperature;
set.setValidity(valid, true);
}
void Tmp1075Dummy::fillCommandAndReplyMap() {}
uint32_t Tmp1075Dummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return 1000; }
ReturnValue_t Tmp1075Dummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(TMP1075::TEMPERATURE_C_TMP1075, new PoolEntry<float>({0.0}));
localDataPoolMap.emplace(TMP1075::TEMPERATURE_C_TMP1075, new PoolEntry<float>({10.0}, true));
return OK;
}
LocalPoolDataSetBase *Tmp1075Dummy::getDataSetHandle(sid_t sid) { return &set; }

View File

@ -1,12 +1,14 @@
#ifndef EIVE_OBSW_TMP1075DUMMY_H
#define EIVE_OBSW_TMP1075DUMMY_H
#include <mission/tcs/Tmp1075Definitions.h>
#include "fsfw/devicehandlers/DeviceHandlerBase.h"
#include "mission/devices/devicedefinitions/Tmp1075Definitions.h"
class Tmp1075Dummy : public DeviceHandlerBase {
public:
Tmp1075Dummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie);
void setTemperature(float temperature, bool setValid);
private:
TMP1075::Tmp1075Dataset set;

View File

@ -1,10 +1,11 @@
#include "helpers.h"
#include "helperFactory.h"
#include <dummies/AcuDummy.h>
#include <dummies/BpxDummy.h>
#include <dummies/ComCookieDummy.h>
#include <dummies/ComIFDummy.h>
#include <dummies/CoreControllerDummy.h>
#include <dummies/ExecutableComIfDummy.h>
#include <dummies/GpsCtrlDummy.h>
#include <dummies/GpsDhbDummy.h>
#include <dummies/GyroAdisDummy.h>
@ -23,19 +24,23 @@
#include <dummies/StarTrackerDummy.h>
#include <dummies/SusDummy.h>
#include <dummies/SyrlinksDummy.h>
#include <fsfw/devicehandlers/HealthDevice.h>
#include <fsfw_hal/common/gpio/GpioIF.h>
#include <mission/power/gsDefs.h>
#include <mission/system/acs/ImtqAssembly.h>
#include <mission/system/acs/StrAssembly.h>
#include <mission/system/objects/CamSwitcher.h>
#include <mission/system/objects/TcsBoardAssembly.h>
#include <mission/system/tcs/TcsBoardAssembly.h>
#include "TemperatureSensorInserter.h"
#include "dummies/Max31865Dummy.h"
#include "dummies/Tmp1075Dummy.h"
#include "mission/core/GenericFactory.h"
#include "mission/devices/devicedefinitions/GomspaceDefinitions.h"
#include "mission/system/tree/acsModeTree.h"
#include "mission/system/tree/comModeTree.h"
#include "mission/genericFactory.h"
#include "mission/system/acs/acsModeTree.h"
#include "mission/system/com/comModeTree.h"
#include "mission/system/tcs/tcsModeTree.h"
#include "mission/system/tree/payloadModeTree.h"
#include "mission/system/tree/tcsModeTree.h"
#include "mission/tcs/defs.h"
void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitcher, GpioIF* gpioIF) {
new ComIFDummy(objects::DUMMY_COM_IF);
@ -45,7 +50,7 @@ void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitcher, GpioIF* gpio
new CoreControllerDummy(objects::CORE_CONTROLLER);
}
if (cfg.addRtdComIFDummy) {
new ComIFDummy(objects::SPI_RTD_COM_IF);
new ExecutableComIfDummy(objects::SPI_RTD_COM_IF);
}
std::array<object_id_t, 4> rwIds = {objects::RW1, objects::RW2, objects::RW3, objects::RW4};
std::array<DeviceHandlerBase*, 4> rws;
@ -53,19 +58,23 @@ void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitcher, GpioIF* gpio
rws[1] = new RwDummy(objects::RW2, objects::DUMMY_COM_IF, comCookieDummy);
rws[2] = new RwDummy(objects::RW3, objects::DUMMY_COM_IF, comCookieDummy);
rws[3] = new RwDummy(objects::RW4, objects::DUMMY_COM_IF, comCookieDummy);
ObjectFactory::createRwAssy(pwrSwitcher, pcdu::Switches::PDU2_CH2_RW_5V, rws, rwIds);
ObjectFactory::createRwAssy(pwrSwitcher, power::Switches::PDU2_CH2_RW_5V, rws, rwIds);
new SaDeplDummy(objects::SOLAR_ARRAY_DEPL_HANDLER);
auto* strAssy = new StrAssembly(objects::STR_ASSY);
strAssy->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
auto* strDummy =
new StarTrackerDummy(objects::STAR_TRACKER, objects::DUMMY_COM_IF, comCookieDummy);
strDummy->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
strDummy->connectModeTreeParent(*strAssy);
if (cfg.addSyrlinksDummies) {
auto* syrlinksDummy =
new SyrlinksDummy(objects::SYRLINKS_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
syrlinksDummy->connectModeTreeParent(satsystem::com::SUBSYSTEM);
}
auto* imtqAssy = new ImtqAssembly(objects::IMTQ_ASSY);
imtqAssy->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
auto* imtqDummy = new ImtqDummy(objects::IMTQ_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
imtqDummy->enableThermalModule(ThermalStateCfg());
imtqDummy->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
imtqDummy->connectModeTreeParent(*imtqAssy);
if (cfg.addPowerDummies) {
new AcuDummy(objects::ACU_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
new PduDummy(objects::PDU1_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
@ -185,16 +194,19 @@ void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitcher, GpioIF* gpio
tmpSensorDummies.emplace(
objects::TMP1075_HANDLER_PLPCDU_0,
new Tmp1075Dummy(objects::TMP1075_HANDLER_PLPCDU_0, objects::DUMMY_COM_IF, comCookieDummy));
tmpSensorDummies.emplace(
objects::TMP1075_HANDLER_PLPCDU_1,
new Tmp1075Dummy(objects::TMP1075_HANDLER_PLPCDU_1, objects::DUMMY_COM_IF, comCookieDummy));
// damaged.
// tmpSensorDummies.emplace(
// objects::TMP1075_HANDLER_PLPCDU_1,
// new Tmp1075Dummy(objects::TMP1075_HANDLER_PLPCDU_1, objects::DUMMY_COM_IF,
// comCookieDummy));
tmpSensorDummies.emplace(
objects::TMP1075_HANDLER_IF_BOARD,
new Tmp1075Dummy(objects::TMP1075_HANDLER_IF_BOARD, objects::DUMMY_COM_IF, comCookieDummy));
new TemperatureSensorInserter(objects::THERMAL_TEMP_INSERTER, rtdSensorDummies,
tmpSensorDummies);
TcsBoardAssembly* tcsBoardAssy = ObjectFactory::createTcsBoardAssy(pwrSwitcher);
TcsBoardAssembly* tcsBoardAssy =
ObjectFactory::createTcsBoardAssy(pwrSwitcher, tcs::TCS_BOARD_SHORTLY_UNAVAILABLE);
for (auto& rtd : rtdSensorDummies) {
rtd.second->connectModeTreeParent(*tcsBoardAssy);
}
@ -202,19 +214,20 @@ void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitcher, GpioIF* gpio
tmp.second->connectModeTreeParent(satsystem::tcs::SUBSYSTEM);
}
}
auto* camSwitcher = new CamSwitcher(objects::CAM_SWITCHER, pwrSwitcher, power::NO_SWITCH);
camSwitcher->connectModeTreeParent(satsystem::pl::SUBSYSTEM);
auto* camSwitcher =
new CamSwitcher(objects::CAM_SWITCHER, pwrSwitcher, power::Switches::PDU2_CH8_PAYLOAD_CAMERA);
camSwitcher->connectModeTreeParent(satsystem::payload::SUBSYSTEM);
auto* scexDummy = new ScexDummy(objects::SCEX, objects::DUMMY_COM_IF, comCookieDummy);
scexDummy->connectModeTreeParent(satsystem::pl::SUBSYSTEM);
scexDummy->connectModeTreeParent(satsystem::payload::SUBSYSTEM);
auto* plPcduDummy =
new PlPcduDummy(objects::PLPCDU_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
plPcduDummy->connectModeTreeParent(satsystem::pl::SUBSYSTEM);
plPcduDummy->connectModeTreeParent(satsystem::payload::SUBSYSTEM);
if (cfg.addPlocDummies) {
auto* plocMpsocDummy =
new PlocMpsocDummy(objects::PLOC_MPSOC_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
plocMpsocDummy->connectModeTreeParent(satsystem::pl::SUBSYSTEM);
auto* plocSupervisorDummy = new PlocSupervisorDummy(objects::PLOC_SUPERVISOR_HANDLER,
objects::DUMMY_COM_IF, comCookieDummy);
plocSupervisorDummy->connectModeTreeParent(satsystem::pl::SUBSYSTEM);
plocMpsocDummy->connectModeTreeParent(satsystem::payload::SUBSYSTEM);
auto* plocSupervisorDummy = new PlocSupervisorDummy(
objects::PLOC_SUPERVISOR_HANDLER, objects::DUMMY_COM_IF, comCookieDummy, pwrSwitcher);
plocSupervisorDummy->connectModeTreeParent(satsystem::payload::SUBSYSTEM);
}
}

2
fsfw

Submodule fsfw updated: bd208038dd...5eb9ee8bc1

View File

@ -1,2 +1,4 @@
.~lock*
/venv
/.idea/*
!/.idea/runConfigurations

View File

@ -29,11 +29,11 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
2809;0x0af9;MONITORING_LIMIT_EXCEEDED;LOW;No description;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
2810;0x0afa;MONITORING_AMBIGUOUS;HIGH;No description;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
2811;0x0afb;DEVICE_WANTS_HARD_REBOOT;HIGH;No description;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
4201;0x1069;FUSE_CURRENT_HIGH;LOW;No description;fsfw/src/fsfw/power/Fuse.h
4202;0x106a;FUSE_WENT_OFF;LOW;No description;fsfw/src/fsfw/power/Fuse.h
4204;0x106c;POWER_ABOVE_HIGH_LIMIT;LOW;No description;fsfw/src/fsfw/power/Fuse.h
4205;0x106d;POWER_BELOW_LOW_LIMIT;LOW;No description;fsfw/src/fsfw/power/Fuse.h
4300;0x10cc;SWITCH_WENT_OFF;LOW;No description;fsfw/src/fsfw/power/PowerSwitchIF.h
4301;0x10cd;FUSE_CURRENT_HIGH;LOW;No description;fsfw/src/fsfw/power/Fuse.h
4302;0x10ce;FUSE_WENT_OFF;LOW;No description;fsfw/src/fsfw/power/Fuse.h
4304;0x10d0;POWER_ABOVE_HIGH_LIMIT;LOW;No description;fsfw/src/fsfw/power/Fuse.h
4305;0x10d1;POWER_BELOW_LOW_LIMIT;LOW;No description;fsfw/src/fsfw/power/Fuse.h
5000;0x1388;HEATER_ON;INFO;No description;fsfw/src/fsfw/thermal/Heater.h
5001;0x1389;HEATER_OFF;INFO;No description;fsfw/src/fsfw/thermal/Heater.h
5002;0x138a;HEATER_TIMEOUT;LOW;No description;fsfw/src/fsfw/thermal/Heater.h
@ -84,178 +84,209 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
10800;0x2a30;STORE_ERROR;LOW;No description;fsfw/src/fsfw/cfdp/handler/defs.h
10801;0x2a31;MSG_QUEUE_ERROR;LOW;No description;fsfw/src/fsfw/cfdp/handler/defs.h
10802;0x2a32;SERIALIZATION_ERROR;LOW;No description;fsfw/src/fsfw/cfdp/handler/defs.h
11200;0x2bc0;SAFE_RATE_VIOLATION;MEDIUM;No description;mission/acsDefs.h
11201;0x2bc1;SAFE_RATE_RECOVERY;MEDIUM;No description;mission/acsDefs.h
11202;0x2bc2;MULTIPLE_RW_INVALID;HIGH;No description;mission/acsDefs.h
11203;0x2bc3;MEKF_INVALID_INFO;INFO;No description;mission/acsDefs.h
11204;0x2bc4;MEKF_INVALID_MODE_VIOLATION;HIGH;No description;mission/acsDefs.h
11300;0x2c24;SWITCH_CMD_SENT;INFO;Indicates that a FSFW object requested setting a switch P1: 1 if on was requested, 0 for off | P2: Switch Index;mission/devices/devicedefinitions/powerDefinitions.h
11301;0x2c25;SWITCH_HAS_CHANGED;INFO;Indicated that a switch state has changed P1: New switch state, 1 for on, 0 for off | P2: Switch Index;mission/devices/devicedefinitions/powerDefinitions.h
11302;0x2c26;SWITCHING_Q7S_DENIED;MEDIUM;No description;mission/devices/devicedefinitions/powerDefinitions.h
11303;0x2c27;FDIR_REACTION_IGNORED;MEDIUM;No description;mission/devices/devicedefinitions/powerDefinitions.h
11400;0x2c88;GPIO_PULL_HIGH_FAILED;LOW;No description;mission/devices/HeaterHandler.h
11401;0x2c89;GPIO_PULL_LOW_FAILED;LOW;No description;mission/devices/HeaterHandler.h
11402;0x2c8a;HEATER_WENT_ON;INFO;No description;mission/devices/HeaterHandler.h
11403;0x2c8b;HEATER_WENT_OFF;INFO;No description;mission/devices/HeaterHandler.h
11404;0x2c8c;SWITCH_ALREADY_ON;LOW;No description;mission/devices/HeaterHandler.h
11405;0x2c8d;SWITCH_ALREADY_OFF;LOW;No description;mission/devices/HeaterHandler.h
11406;0x2c8e;MAIN_SWITCH_TIMEOUT;MEDIUM;No description;mission/devices/HeaterHandler.h
11407;0x2c8f;FAULTY_HEATER_WAS_ON;LOW;No description;mission/devices/HeaterHandler.h
11500;0x2cec;BURN_PHASE_START;INFO;P1: Burn duration in milliseconds, P2: Dry run flag;mission/devices/SolarArrayDeploymentHandler.h
11501;0x2ced;BURN_PHASE_DONE;INFO;P1: Burn duration in milliseconds, P2: Dry run flag;mission/devices/SolarArrayDeploymentHandler.h
11502;0x2cee;MAIN_SWITCH_ON_TIMEOUT;LOW;No description;mission/devices/SolarArrayDeploymentHandler.h
11503;0x2cef;MAIN_SWITCH_OFF_TIMEOUT;LOW;No description;mission/devices/SolarArrayDeploymentHandler.h
11504;0x2cf0;DEPL_SA1_GPIO_SWTICH_ON_FAILED;HIGH;No description;mission/devices/SolarArrayDeploymentHandler.h
11505;0x2cf1;DEPL_SA2_GPIO_SWTICH_ON_FAILED;HIGH;No description;mission/devices/SolarArrayDeploymentHandler.h
11506;0x2cf2;DEPL_SA1_GPIO_SWTICH_OFF_FAILED;HIGH;No description;mission/devices/SolarArrayDeploymentHandler.h
11507;0x2cf3;DEPL_SA2_GPIO_SWTICH_OFF_FAILED;HIGH;No description;mission/devices/SolarArrayDeploymentHandler.h
11508;0x2cf4;AUTONOMOUS_DEPLOYMENT_COMPLETED;INFO;No description;mission/devices/SolarArrayDeploymentHandler.h
11601;0x2d51;MEMORY_READ_RPT_CRC_FAILURE;LOW;PLOC crc failure in telemetry packet;linux/devices/ploc/PlocMPSoCHandler.h
11602;0x2d52;ACK_FAILURE;LOW;PLOC receive acknowledgment failure report P1: Command Id which leads the acknowledgment failure report P2: The status field inserted by the MPSoC into the data field;linux/devices/ploc/PlocMPSoCHandler.h
11603;0x2d53;EXE_FAILURE;LOW;PLOC receive execution failure report P1: Command Id which leads the execution failure report P2: The status field inserted by the MPSoC into the data field;linux/devices/ploc/PlocMPSoCHandler.h
11604;0x2d54;MPSOC_HANDLER_CRC_FAILURE;LOW;PLOC reply has invalid crc;linux/devices/ploc/PlocMPSoCHandler.h
11605;0x2d55;MPSOC_HANDLER_SEQUENCE_COUNT_MISMATCH;LOW;Packet sequence count in received space packet does not match expected count P1: Expected sequence count P2: Received sequence count;linux/devices/ploc/PlocMPSoCHandler.h
11606;0x2d56;MPSOC_SHUTDOWN_FAILED;HIGH;Supervisor fails to shutdown MPSoC. Requires to power off the PLOC and thus also to shutdown the supervisor.;linux/devices/ploc/PlocMPSoCHandler.h
11701;0x2db5;SELF_TEST_I2C_FAILURE;LOW;Get self test result returns I2C failure P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h
11702;0x2db6;SELF_TEST_SPI_FAILURE;LOW;Get self test result returns SPI failure. This concerns the MTM connectivity. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h
11703;0x2db7;SELF_TEST_ADC_FAILURE;LOW;Get self test result returns failure in measurement of current and temperature. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h
11704;0x2db8;SELF_TEST_PWM_FAILURE;LOW;Get self test result returns PWM failure which concerns the coil actuation. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h
11705;0x2db9;SELF_TEST_TC_FAILURE;LOW;Get self test result returns TC failure (system failure) P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h
11706;0x2dba;SELF_TEST_MTM_RANGE_FAILURE;LOW;Get self test result returns failure that MTM values were outside of the expected range. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h
11707;0x2dbb;SELF_TEST_COIL_CURRENT_FAILURE;LOW;Get self test result returns failure indicating that the coil current was outside of the expected range P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h
11708;0x2dbc;INVALID_ERROR_BYTE;LOW;Received invalid error byte. This indicates an error of the communication link between IMTQ and OBC.;mission/devices/ImtqHandler.h
11801;0x2e19;ERROR_STATE;HIGH;Reaction wheel signals an error state;mission/devices/devicedefinitions/rwHelpers.h
11802;0x2e1a;RESET_OCCURED;LOW;No description;mission/devices/devicedefinitions/rwHelpers.h
11901;0x2e7d;BOOTING_FIRMWARE_FAILED_EVENT;LOW;Failed to boot firmware;linux/devices/startracker/StarTrackerHandler.h
11902;0x2e7e;BOOTING_BOOTLOADER_FAILED_EVENT;LOW;Failed to boot star tracker into bootloader mode;linux/devices/startracker/StarTrackerHandler.h
12001;0x2ee1;SUPV_MEMORY_READ_RPT_CRC_FAILURE;LOW;PLOC supervisor crc failure in telemetry packet;linux/devices/ploc/PlocSupervisorHandler.h
12002;0x2ee2;SUPV_UNKNOWN_TM;LOW;Unhandled event. P1: APID, P2: Service ID;linux/devices/ploc/PlocSupervisorHandler.h
12003;0x2ee3;SUPV_UNINIMPLEMENTED_TM;LOW;No description;linux/devices/ploc/PlocSupervisorHandler.h
12004;0x2ee4;SUPV_ACK_FAILURE;LOW;PLOC supervisor received acknowledgment failure report;linux/devices/ploc/PlocSupervisorHandler.h
12005;0x2ee5;SUPV_EXE_FAILURE;LOW;PLOC received execution failure report P1: ID of command for which the execution failed P2: Status code sent by the supervisor handler;linux/devices/ploc/PlocSupervisorHandler.h
12006;0x2ee6;SUPV_CRC_FAILURE_EVENT;LOW;PLOC supervisor reply has invalid crc;linux/devices/ploc/PlocSupervisorHandler.h
12007;0x2ee7;SUPV_HELPER_EXECUTING;LOW;Supervisor helper currently executing a command;linux/devices/ploc/PlocSupervisorHandler.h
12008;0x2ee8;SUPV_MPSOC_SHUTDOWN_BUILD_FAILED;LOW;Failed to build the command to shutdown the MPSoC;linux/devices/ploc/PlocSupervisorHandler.h
10803;0x2a33;FILESTORE_ERROR;LOW;No description;fsfw/src/fsfw/cfdp/handler/defs.h
10804;0x2a34;FILENAME_TOO_LARGE_ERROR;LOW;P1: Transaction step ID, P2: 0 for source file name, 1 for dest file name;fsfw/src/fsfw/cfdp/handler/defs.h
11200;0x2bc0;SAFE_RATE_VIOLATION;MEDIUM;The limits for the rotation in safe mode were violated.;mission/acs/defs.h
11201;0x2bc1;SAFE_RATE_RECOVERY;MEDIUM;The system has recovered from a safe rate rotation violation.;mission/acs/defs.h
11202;0x2bc2;MULTIPLE_RW_INVALID;HIGH;Multiple RWs are invalid, uncommandable and therefore higher ACS modes cannot be maintained.;mission/acs/defs.h
11203;0x2bc3;MEKF_INVALID_INFO;INFO;MEKF was not able to compute a solution. P1: MEKF state on exit;mission/acs/defs.h
11204;0x2bc4;MEKF_RECOVERY;INFO;MEKF is able to compute a solution again.;mission/acs/defs.h
11205;0x2bc5;MEKF_AUTOMATIC_RESET;INFO;MEKF performed an automatic reset after detection of nonfinite values.;mission/acs/defs.h
11206;0x2bc6;MEKF_INVALID_MODE_VIOLATION;HIGH;MEKF was not able to compute a solution during any pointing ACS mode for a prolonged time.;mission/acs/defs.h
11207;0x2bc7;SAFE_MODE_CONTROLLER_FAILURE;HIGH;The ACS safe mode controller was not able to compute a solution and has failed. P1: Missing information about magnetic field, P2: Missing information about rotational rate;mission/acs/defs.h
11300;0x2c24;SWITCH_CMD_SENT;INFO;Indicates that a FSFW object requested setting a switch P1: 1 if on was requested, 0 for off | P2: Switch Index;mission/power/defs.h
11301;0x2c25;SWITCH_HAS_CHANGED;INFO;Indicated that a switch state has changed P1: New switch state, 1 for on, 0 for off | P2: Switch Index;mission/power/defs.h
11302;0x2c26;SWITCHING_Q7S_DENIED;MEDIUM;No description;mission/power/defs.h
11303;0x2c27;FDIR_REACTION_IGNORED;MEDIUM;No description;mission/power/defs.h
11400;0x2c88;GPIO_PULL_HIGH_FAILED;LOW;No description;mission/tcs/HeaterHandler.h
11401;0x2c89;GPIO_PULL_LOW_FAILED;LOW;No description;mission/tcs/HeaterHandler.h
11402;0x2c8a;HEATER_WENT_ON;INFO;No description;mission/tcs/HeaterHandler.h
11403;0x2c8b;HEATER_WENT_OFF;INFO;No description;mission/tcs/HeaterHandler.h
11404;0x2c8c;SWITCH_ALREADY_ON;INFO;No description;mission/tcs/HeaterHandler.h
11405;0x2c8d;SWITCH_ALREADY_OFF;INFO;No description;mission/tcs/HeaterHandler.h
11406;0x2c8e;MAIN_SWITCH_TIMEOUT;MEDIUM;No description;mission/tcs/HeaterHandler.h
11407;0x2c8f;FAULTY_HEATER_WAS_ON;LOW;No description;mission/tcs/HeaterHandler.h
11500;0x2cec;BURN_PHASE_START;INFO;P1: Burn duration in milliseconds, P2: Dry run flag;mission/SolarArrayDeploymentHandler.h
11501;0x2ced;BURN_PHASE_DONE;INFO;P1: Burn duration in milliseconds, P2: Dry run flag;mission/SolarArrayDeploymentHandler.h
11502;0x2cee;MAIN_SWITCH_ON_TIMEOUT;LOW;No description;mission/SolarArrayDeploymentHandler.h
11503;0x2cef;MAIN_SWITCH_OFF_TIMEOUT;LOW;No description;mission/SolarArrayDeploymentHandler.h
11504;0x2cf0;DEPL_SA1_GPIO_SWTICH_ON_FAILED;HIGH;No description;mission/SolarArrayDeploymentHandler.h
11505;0x2cf1;DEPL_SA2_GPIO_SWTICH_ON_FAILED;HIGH;No description;mission/SolarArrayDeploymentHandler.h
11506;0x2cf2;DEPL_SA1_GPIO_SWTICH_OFF_FAILED;HIGH;No description;mission/SolarArrayDeploymentHandler.h
11507;0x2cf3;DEPL_SA2_GPIO_SWTICH_OFF_FAILED;HIGH;No description;mission/SolarArrayDeploymentHandler.h
11508;0x2cf4;AUTONOMOUS_DEPLOYMENT_COMPLETED;INFO;No description;mission/SolarArrayDeploymentHandler.h
11601;0x2d51;MEMORY_READ_RPT_CRC_FAILURE;LOW;PLOC crc failure in telemetry packet;linux/payload/PlocMpsocHandler.h
11602;0x2d52;ACK_FAILURE;LOW;PLOC receive acknowledgment failure report P1: Command Id which leads the acknowledgment failure report P2: The status field inserted by the MPSoC into the data field;linux/payload/PlocMpsocHandler.h
11603;0x2d53;EXE_FAILURE;LOW;PLOC receive execution failure report P1: Command Id which leads the execution failure report P2: The status field inserted by the MPSoC into the data field;linux/payload/PlocMpsocHandler.h
11604;0x2d54;MPSOC_HANDLER_CRC_FAILURE;LOW;PLOC reply has invalid crc;linux/payload/PlocMpsocHandler.h
11605;0x2d55;MPSOC_HANDLER_SEQUENCE_COUNT_MISMATCH;LOW;Packet sequence count in received space packet does not match expected count P1: Expected sequence count P2: Received sequence count;linux/payload/PlocMpsocHandler.h
11606;0x2d56;MPSOC_SHUTDOWN_FAILED;HIGH;Supervisor fails to shutdown MPSoC. Requires to power off the PLOC and thus also to shutdown the supervisor.;linux/payload/PlocMpsocHandler.h
11701;0x2db5;SELF_TEST_I2C_FAILURE;LOW;Get self test result returns I2C failure P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11702;0x2db6;SELF_TEST_SPI_FAILURE;LOW;Get self test result returns SPI failure. This concerns the MTM connectivity. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11703;0x2db7;SELF_TEST_ADC_FAILURE;LOW;Get self test result returns failure in measurement of current and temperature. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11704;0x2db8;SELF_TEST_PWM_FAILURE;LOW;Get self test result returns PWM failure which concerns the coil actuation. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11705;0x2db9;SELF_TEST_TC_FAILURE;LOW;Get self test result returns TC failure (system failure) P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11706;0x2dba;SELF_TEST_MTM_RANGE_FAILURE;LOW;Get self test result returns failure that MTM values were outside of the expected range. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11707;0x2dbb;SELF_TEST_COIL_CURRENT_FAILURE;LOW;Get self test result returns failure indicating that the coil current was outside of the expected range P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11708;0x2dbc;INVALID_ERROR_BYTE;LOW;Received invalid error byte. This indicates an error of the communication link between IMTQ and OBC.;mission/acs/ImtqHandler.h
11801;0x2e19;ERROR_STATE;HIGH;Reaction wheel signals an error state;mission/acs/rwHelpers.h
11802;0x2e1a;RESET_OCCURED;LOW;No description;mission/acs/rwHelpers.h
11901;0x2e7d;BOOTING_FIRMWARE_FAILED_EVENT;LOW;Failed to boot firmware;mission/acs/str/StarTrackerHandler.h
11902;0x2e7e;BOOTING_BOOTLOADER_FAILED_EVENT;LOW;Failed to boot star tracker into bootloader mode;mission/acs/str/StarTrackerHandler.h
12001;0x2ee1;SUPV_MEMORY_READ_RPT_CRC_FAILURE;LOW;PLOC supervisor crc failure in telemetry packet;linux/payload/PlocSupervisorHandler.h
12002;0x2ee2;SUPV_UNKNOWN_TM;LOW;Unhandled event. P1: APID, P2: Service ID;linux/payload/PlocSupervisorHandler.h
12003;0x2ee3;SUPV_UNINIMPLEMENTED_TM;LOW;No description;linux/payload/PlocSupervisorHandler.h
12004;0x2ee4;SUPV_ACK_FAILURE;LOW;PLOC supervisor received acknowledgment failure report;linux/payload/PlocSupervisorHandler.h
12005;0x2ee5;SUPV_EXE_FAILURE;LOW;PLOC received execution failure report P1: ID of command for which the execution failed P2: Status code sent by the supervisor handler;linux/payload/PlocSupervisorHandler.h
12006;0x2ee6;SUPV_CRC_FAILURE_EVENT;LOW;PLOC supervisor reply has invalid crc;linux/payload/PlocSupervisorHandler.h
12007;0x2ee7;SUPV_HELPER_EXECUTING;LOW;Supervisor helper currently executing a command;linux/payload/PlocSupervisorHandler.h
12008;0x2ee8;SUPV_MPSOC_SHUTDOWN_BUILD_FAILED;LOW;Failed to build the command to shutdown the MPSoC;linux/payload/PlocSupervisorHandler.h
12100;0x2f44;SANITIZATION_FAILED;LOW;No description;bsp_q7s/fs/SdCardManager.h
12101;0x2f45;MOUNTED_SD_CARD;INFO;No description;bsp_q7s/fs/SdCardManager.h
12300;0x300c;SEND_MRAM_DUMP_FAILED;LOW;Failed to send mram dump command to supervisor handler P1: Return value of commandAction function P2: Start address of MRAM to dump with this command;linux/devices/ploc/PlocMemoryDumper.h
12301;0x300d;MRAM_DUMP_FAILED;LOW;Received completion failure report form PLOC supervisor handler P1: MRAM start address of failing dump command;linux/devices/ploc/PlocMemoryDumper.h
12302;0x300e;MRAM_DUMP_FINISHED;LOW;MRAM dump finished successfully;linux/devices/ploc/PlocMemoryDumper.h
12401;0x3071;INVALID_TC_FRAME;HIGH;No description;linux/ipcore/PdecHandler.h
12402;0x3072;INVALID_FAR;HIGH;Read invalid FAR from PDEC after startup;linux/ipcore/PdecHandler.h
12403;0x3073;CARRIER_LOCK;INFO;Carrier lock detected;linux/ipcore/PdecHandler.h
12404;0x3074;BIT_LOCK_PDEC;INFO;Bit lock detected (data valid);linux/ipcore/PdecHandler.h
12405;0x3075;LOST_CARRIER_LOCK_PDEC;INFO;Lost carrier lock;linux/ipcore/PdecHandler.h
12406;0x3076;LOST_BIT_LOCK_PDEC;INFO;Lost bit lock;linux/ipcore/PdecHandler.h
12407;0x3077;TOO_MANY_IRQS;MEDIUM;Too many IRQs over the time window of one second. P1: Allowed TCs;linux/ipcore/PdecHandler.h
12408;0x3078;POLL_SYSCALL_ERROR_PDEC;MEDIUM;No description;linux/ipcore/PdecHandler.h
12409;0x3079;WRITE_SYSCALL_ERROR_PDEC;MEDIUM;No description;linux/ipcore/PdecHandler.h
12500;0x30d4;IMAGE_UPLOAD_FAILED;LOW;Image upload failed;linux/devices/startracker/StrHelper.h
12501;0x30d5;IMAGE_DOWNLOAD_FAILED;LOW;Image download failed;linux/devices/startracker/StrHelper.h
12502;0x30d6;IMAGE_UPLOAD_SUCCESSFUL;LOW;Uploading image to star tracker was successfulop;linux/devices/startracker/StrHelper.h
12503;0x30d7;IMAGE_DOWNLOAD_SUCCESSFUL;LOW;Image download was successful;linux/devices/startracker/StrHelper.h
12504;0x30d8;FLASH_WRITE_SUCCESSFUL;LOW;Finished flash write procedure successfully;linux/devices/startracker/StrHelper.h
12505;0x30d9;FLASH_READ_SUCCESSFUL;LOW;Finished flash read procedure successfully;linux/devices/startracker/StrHelper.h
12506;0x30da;FLASH_READ_FAILED;LOW;Flash read procedure failed;linux/devices/startracker/StrHelper.h
12507;0x30db;FIRMWARE_UPDATE_SUCCESSFUL;LOW;Firmware update was successful;linux/devices/startracker/StrHelper.h
12508;0x30dc;FIRMWARE_UPDATE_FAILED;LOW;Firmware update failed;linux/devices/startracker/StrHelper.h
12509;0x30dd;STR_HELPER_READING_REPLY_FAILED;LOW;Failed to read communication interface reply data P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed;linux/devices/startracker/StrHelper.h
12510;0x30de;STR_HELPER_COM_ERROR;LOW;Unexpected stop of decoding sequence P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed;linux/devices/startracker/StrHelper.h
12511;0x30df;STR_HELPER_NO_REPLY;LOW;Star tracker did not send replies (maybe device is powered off) P1: Position of upload or download packet for which no reply was sent;linux/devices/startracker/StrHelper.h
12512;0x30e0;STR_HELPER_DEC_ERROR;LOW;Error during decoding of received reply occurred P1: Return value of decoding function P2: Position of upload/download packet, or address of flash write/read request;linux/devices/startracker/StrHelper.h
12513;0x30e1;POSITION_MISMATCH;LOW;Position mismatch P1: The expected position and thus the position for which the image upload/download failed;linux/devices/startracker/StrHelper.h
12514;0x30e2;STR_HELPER_FILE_NOT_EXISTS;LOW;Specified file does not exist P1: Internal state of str helper;linux/devices/startracker/StrHelper.h
12515;0x30e3;STR_HELPER_SENDING_PACKET_FAILED;LOW;No description;linux/devices/startracker/StrHelper.h
12516;0x30e4;STR_HELPER_REQUESTING_MSG_FAILED;LOW;No description;linux/devices/startracker/StrHelper.h
12600;0x3138;MPSOC_FLASH_WRITE_FAILED;LOW;Flash write fails;linux/devices/ploc/PlocMPSoCHelper.h
12601;0x3139;MPSOC_FLASH_WRITE_SUCCESSFUL;LOW;Flash write successful;linux/devices/ploc/PlocMPSoCHelper.h
12602;0x313a;MPSOC_SENDING_COMMAND_FAILED;LOW;No description;linux/devices/ploc/PlocMPSoCHelper.h
12603;0x313b;MPSOC_HELPER_REQUESTING_REPLY_FAILED;LOW;Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of MPSoC helper;linux/devices/ploc/PlocMPSoCHelper.h
12604;0x313c;MPSOC_HELPER_READING_REPLY_FAILED;LOW;Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of MPSoC helper;linux/devices/ploc/PlocMPSoCHelper.h
12605;0x313d;MPSOC_MISSING_ACK;LOW;Did not receive acknowledgment report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/devices/ploc/PlocMPSoCHelper.h
12606;0x313e;MPSOC_MISSING_EXE;LOW;Did not receive execution report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/devices/ploc/PlocMPSoCHelper.h
12607;0x313f;MPSOC_ACK_FAILURE_REPORT;LOW;Received acknowledgment failure report P1: Internal state of MPSoC;linux/devices/ploc/PlocMPSoCHelper.h
12608;0x3140;MPSOC_EXE_FAILURE_REPORT;LOW;Received execution failure report P1: Internal state of MPSoC;linux/devices/ploc/PlocMPSoCHelper.h
12609;0x3141;MPSOC_ACK_INVALID_APID;LOW;Expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC;linux/devices/ploc/PlocMPSoCHelper.h
12610;0x3142;MPSOC_EXE_INVALID_APID;LOW;Expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC;linux/devices/ploc/PlocMPSoCHelper.h
12611;0x3143;MPSOC_HELPER_SEQ_CNT_MISMATCH;LOW;Received sequence count does not match expected sequence count P1: Expected sequence count P2: Received sequence count;linux/devices/ploc/PlocMPSoCHelper.h
12612;0x3144;MPSOC_TM_SIZE_ERROR;LOW;No description;linux/devices/ploc/PlocMPSoCHelper.h
12613;0x3145;MPSOC_TM_CRC_MISSMATCH;LOW;No description;linux/devices/ploc/PlocMPSoCHelper.h
12700;0x319c;TRANSITION_BACK_TO_OFF;MEDIUM;Could not transition properly and went back to ALL OFF;mission/devices/PayloadPcduHandler.h
12701;0x319d;NEG_V_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h
12702;0x319e;U_DRO_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h
12703;0x319f;I_DRO_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h
12704;0x31a0;U_X8_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h
12705;0x31a1;I_X8_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h
12706;0x31a2;U_TX_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h
12707;0x31a3;I_TX_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h
12708;0x31a4;U_MPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h
12709;0x31a5;I_MPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h
12710;0x31a6;U_HPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h
12711;0x31a7;I_HPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h
12800;0x3200;TRANSITION_OTHER_SIDE_FAILED;HIGH;No description;mission/system/objects/AcsBoardAssembly.h
12801;0x3201;NOT_ENOUGH_DEVICES_DUAL_MODE;HIGH;No description;mission/system/objects/AcsBoardAssembly.h
12802;0x3202;POWER_STATE_MACHINE_TIMEOUT;MEDIUM;No description;mission/system/objects/AcsBoardAssembly.h
12803;0x3203;SIDE_SWITCH_TRANSITION_NOT_ALLOWED;LOW;Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination;mission/system/objects/AcsBoardAssembly.h
12900;0x3264;TRANSITION_OTHER_SIDE_FAILED;HIGH;No description;mission/system/objects/SusAssembly.h
12901;0x3265;NOT_ENOUGH_DEVICES_DUAL_MODE;HIGH;No description;mission/system/objects/SusAssembly.h
12902;0x3266;POWER_STATE_MACHINE_TIMEOUT;MEDIUM;No description;mission/system/objects/SusAssembly.h
12903;0x3267;SIDE_SWITCH_TRANSITION_NOT_ALLOWED;LOW;Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination;mission/system/objects/SusAssembly.h
13000;0x32c8;CHILDREN_LOST_MODE;MEDIUM;No description;mission/system/objects/TcsBoardAssembly.h
13100;0x332c;GPS_FIX_CHANGE;INFO;Fix has changed. P1: Old fix. P2: New fix 0: Not seen, 1: No Fix, 2: 2D-Fix, 3: 3D-Fix;mission/devices/devicedefinitions/GPSDefinitions.h
13101;0x332d;CANT_GET_FIX;LOW;Could not get fix in maximum allowed time. P1: Maximum allowed time to get a fix after the GPS was switched on.;mission/devices/devicedefinitions/GPSDefinitions.h
13200;0x3390;P60_BOOT_COUNT;INFO;P60 boot count is broadcasted once at SW startup. P1: Boot count;mission/devices/P60DockHandler.h
13201;0x3391;BATT_MODE;INFO;Battery mode is broadcasted at startup. P1: Mode;mission/devices/P60DockHandler.h
13202;0x3392;BATT_MODE_CHANGED;MEDIUM;Battery mode has changed. P1: Old mode. P2: New mode;mission/devices/P60DockHandler.h
13600;0x3520;SUPV_UPDATE_FAILED;LOW;update failed;linux/devices/ploc/PlocSupvUartMan.h
13601;0x3521;SUPV_UPDATE_SUCCESSFUL;LOW;update successful;linux/devices/ploc/PlocSupvUartMan.h
13602;0x3522;SUPV_CONTINUE_UPDATE_FAILED;LOW;Continue update command failed;linux/devices/ploc/PlocSupvUartMan.h
13603;0x3523;SUPV_CONTINUE_UPDATE_SUCCESSFUL;LOW;Continue update command successful;linux/devices/ploc/PlocSupvUartMan.h
13604;0x3524;TERMINATED_UPDATE_PROCEDURE;LOW;Terminated update procedure by command;linux/devices/ploc/PlocSupvUartMan.h
13605;0x3525;SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL;LOW;Requesting event buffer was successful;linux/devices/ploc/PlocSupvUartMan.h
13606;0x3526;SUPV_EVENT_BUFFER_REQUEST_FAILED;LOW;Requesting event buffer failed;linux/devices/ploc/PlocSupvUartMan.h
13607;0x3527;SUPV_EVENT_BUFFER_REQUEST_TERMINATED;LOW;Terminated event buffer request by command P1: Number of packets read before process was terminated;linux/devices/ploc/PlocSupvUartMan.h
13608;0x3528;SUPV_MEM_CHECK_OK;INFO;No description;linux/devices/ploc/PlocSupvUartMan.h
13609;0x3529;SUPV_MEM_CHECK_FAIL;INFO;No description;linux/devices/ploc/PlocSupvUartMan.h
13616;0x3530;SUPV_SENDING_COMMAND_FAILED;LOW;No description;linux/devices/ploc/PlocSupvUartMan.h
13617;0x3531;SUPV_HELPER_REQUESTING_REPLY_FAILED;LOW;Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h
13618;0x3532;SUPV_HELPER_READING_REPLY_FAILED;LOW;Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h
13619;0x3533;SUPV_MISSING_ACK;LOW;Did not receive acknowledgement report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/devices/ploc/PlocSupvUartMan.h
13620;0x3534;SUPV_MISSING_EXE;LOW;Supervisor did not receive execution report P1: Number of bytes missing P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h
13621;0x3535;SUPV_ACK_FAILURE_REPORT;LOW;Supervisor received acknowledgment failure report P1: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h
13622;0x3536;SUPV_EXE_FAILURE_REPORT;LOW;Execution report failure P1:;linux/devices/ploc/PlocSupvUartMan.h
13623;0x3537;SUPV_ACK_INVALID_APID;LOW;Supervisor expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h
13624;0x3538;SUPV_EXE_INVALID_APID;LOW;Supervisor helper expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h
13625;0x3539;ACK_RECEPTION_FAILURE;LOW;Failed to receive acknowledgment report P1: Return value P2: Apid of command for which the reception of the acknowledgment report failed;linux/devices/ploc/PlocSupvUartMan.h
13626;0x353a;EXE_RECEPTION_FAILURE;LOW;Failed to receive execution report P1: Return value P2: Apid of command for which the reception of the execution report failed;linux/devices/ploc/PlocSupvUartMan.h
13627;0x353b;WRITE_MEMORY_FAILED;LOW;Update procedure failed when sending packet. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written;linux/devices/ploc/PlocSupvUartMan.h
13628;0x353c;SUPV_REPLY_SIZE_MISSMATCH;LOW;No description;linux/devices/ploc/PlocSupvUartMan.h
13629;0x353d;SUPV_REPLY_CRC_MISSMATCH;LOW;No description;linux/devices/ploc/PlocSupvUartMan.h
13630;0x353e;SUPV_UPDATE_PROGRESS;INFO;Will be triggered every 5 percent of the update progress. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written;linux/devices/ploc/PlocSupvUartMan.h
13631;0x353f;HDLC_FRAME_REMOVAL_ERROR;INFO;No description;linux/devices/ploc/PlocSupvUartMan.h
13632;0x3540;HDLC_CRC_ERROR;INFO;No description;linux/devices/ploc/PlocSupvUartMan.h
13700;0x3584;FDIR_REACTION_IGNORED;MEDIUM;No description;mission/devices/devicedefinitions/SyrlinksDefinitions.h
13701;0x3585;TX_ON;INFO;Transmitter is on now. P1: Submode, P2: Current default datarate.;mission/devices/devicedefinitions/SyrlinksDefinitions.h
13702;0x3586;TX_OFF;INFO;Transmitter is off now.;mission/devices/devicedefinitions/SyrlinksDefinitions.h
13800;0x35e8;MISSING_PACKET;LOW;No description;mission/devices/devicedefinitions/ScexDefinitions.h
13801;0x35e9;EXPERIMENT_TIMEDOUT;LOW;No description;mission/devices/devicedefinitions/ScexDefinitions.h
13802;0x35ea;MULTI_PACKET_COMMAND_DONE;INFO;No description;mission/devices/devicedefinitions/ScexDefinitions.h
12300;0x300c;SEND_MRAM_DUMP_FAILED;LOW;Failed to send mram dump command to supervisor handler P1: Return value of commandAction function P2: Start address of MRAM to dump with this command;linux/payload/PlocMemoryDumper.h
12301;0x300d;MRAM_DUMP_FAILED;LOW;Received completion failure report form PLOC supervisor handler P1: MRAM start address of failing dump command;linux/payload/PlocMemoryDumper.h
12302;0x300e;MRAM_DUMP_FINISHED;LOW;MRAM dump finished successfully;linux/payload/PlocMemoryDumper.h
12401;0x3071;INVALID_TC_FRAME;HIGH;No description;linux/ipcore/pdec.h
12402;0x3072;INVALID_FAR;HIGH;Read invalid FAR from PDEC after startup;linux/ipcore/pdec.h
12403;0x3073;CARRIER_LOCK;INFO;Carrier lock detected;linux/ipcore/pdec.h
12404;0x3074;BIT_LOCK_PDEC;INFO;Bit lock detected (data valid);linux/ipcore/pdec.h
12405;0x3075;LOST_CARRIER_LOCK_PDEC;INFO;Lost carrier lock;linux/ipcore/pdec.h
12406;0x3076;LOST_BIT_LOCK_PDEC;INFO;Lost bit lock;linux/ipcore/pdec.h
12407;0x3077;TOO_MANY_IRQS;MEDIUM;Too many IRQs over the time window of one second. P1: Allowed TCs;linux/ipcore/pdec.h
12408;0x3078;POLL_SYSCALL_ERROR_PDEC;MEDIUM;No description;linux/ipcore/pdec.h
12409;0x3079;WRITE_SYSCALL_ERROR_PDEC;HIGH;No description;linux/ipcore/pdec.h
12410;0x307a;PDEC_TRYING_RESET_WITH_INIT;LOW;Trying a PDEC reset with complete re-initialization;linux/ipcore/pdec.h
12411;0x307b;PDEC_TRYING_RESET_NO_INIT;LOW;Trying a PDEC reset without re-initialization.;linux/ipcore/pdec.h
12412;0x307c;PDEC_RESET_FAILED;HIGH;Failed to pull PDEC reset to low;linux/ipcore/pdec.h
12413;0x307d;OPEN_IRQ_FILE_FAILED;HIGH;Failed to open the IRQ uio file;linux/ipcore/pdec.h
12414;0x307e;PDEC_INIT_FAILED;HIGH;PDEC initialization failed. This might also be due to the persistent confiuration never becoming available, for example due to SD card issues.;linux/ipcore/pdec.h
12500;0x30d4;IMAGE_UPLOAD_FAILED;LOW;Image upload failed;linux/acs/StrComHandler.h
12501;0x30d5;IMAGE_DOWNLOAD_FAILED;LOW;Image download failed;linux/acs/StrComHandler.h
12502;0x30d6;IMAGE_UPLOAD_SUCCESSFUL;LOW;Uploading image to star tracker was successfulop;linux/acs/StrComHandler.h
12503;0x30d7;IMAGE_DOWNLOAD_SUCCESSFUL;LOW;Image download was successful;linux/acs/StrComHandler.h
12504;0x30d8;FLASH_WRITE_SUCCESSFUL;LOW;Finished flash write procedure successfully;linux/acs/StrComHandler.h
12505;0x30d9;FLASH_READ_SUCCESSFUL;LOW;Finished flash read procedure successfully;linux/acs/StrComHandler.h
12506;0x30da;FLASH_READ_FAILED;LOW;Flash read procedure failed;linux/acs/StrComHandler.h
12507;0x30db;FIRMWARE_UPDATE_SUCCESSFUL;LOW;Firmware update was successful;linux/acs/StrComHandler.h
12508;0x30dc;FIRMWARE_UPDATE_FAILED;LOW;Firmware update failed;linux/acs/StrComHandler.h
12509;0x30dd;STR_HELPER_READING_REPLY_FAILED;LOW;Failed to read communication interface reply data P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed;linux/acs/StrComHandler.h
12510;0x30de;STR_HELPER_COM_ERROR;LOW;Unexpected stop of decoding sequence P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed;linux/acs/StrComHandler.h
12511;0x30df;STR_COM_REPLY_TIMEOUT;LOW;Star tracker did not send a valid reply for a certain timeout. P1: Position of upload or download packet for which the packet wa sent. P2: Timeout;linux/acs/StrComHandler.h
12513;0x30e1;STR_HELPER_DEC_ERROR;LOW;Error during decoding of received reply occurred P1: Return value of decoding function P2: Position of upload/download packet, or address of flash write/read request;linux/acs/StrComHandler.h
12514;0x30e2;POSITION_MISMATCH;LOW;Position mismatch P1: The expected position and thus the position for which the image upload/download failed;linux/acs/StrComHandler.h
12515;0x30e3;STR_HELPER_FILE_NOT_EXISTS;LOW;Specified file does not exist P1: Internal state of str helper;linux/acs/StrComHandler.h
12516;0x30e4;STR_HELPER_SENDING_PACKET_FAILED;LOW;No description;linux/acs/StrComHandler.h
12517;0x30e5;STR_HELPER_REQUESTING_MSG_FAILED;LOW;No description;linux/acs/StrComHandler.h
12600;0x3138;MPSOC_FLASH_WRITE_FAILED;LOW;Flash write fails;linux/payload/PlocMpsocHelper.h
12601;0x3139;MPSOC_FLASH_WRITE_SUCCESSFUL;LOW;Flash write successful;linux/payload/PlocMpsocHelper.h
12602;0x313a;MPSOC_SENDING_COMMAND_FAILED;LOW;No description;linux/payload/PlocMpsocHelper.h
12603;0x313b;MPSOC_HELPER_REQUESTING_REPLY_FAILED;LOW;Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of MPSoC helper;linux/payload/PlocMpsocHelper.h
12604;0x313c;MPSOC_HELPER_READING_REPLY_FAILED;LOW;Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of MPSoC helper;linux/payload/PlocMpsocHelper.h
12605;0x313d;MPSOC_MISSING_ACK;LOW;Did not receive acknowledgment report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/payload/PlocMpsocHelper.h
12606;0x313e;MPSOC_MISSING_EXE;LOW;Did not receive execution report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/payload/PlocMpsocHelper.h
12607;0x313f;MPSOC_ACK_FAILURE_REPORT;LOW;Received acknowledgment failure report P1: Internal state of MPSoC;linux/payload/PlocMpsocHelper.h
12608;0x3140;MPSOC_EXE_FAILURE_REPORT;LOW;Received execution failure report P1: Internal state of MPSoC;linux/payload/PlocMpsocHelper.h
12609;0x3141;MPSOC_ACK_INVALID_APID;LOW;Expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC;linux/payload/PlocMpsocHelper.h
12610;0x3142;MPSOC_EXE_INVALID_APID;LOW;Expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC;linux/payload/PlocMpsocHelper.h
12611;0x3143;MPSOC_HELPER_SEQ_CNT_MISMATCH;LOW;Received sequence count does not match expected sequence count P1: Expected sequence count P2: Received sequence count;linux/payload/PlocMpsocHelper.h
12612;0x3144;MPSOC_TM_SIZE_ERROR;LOW;No description;linux/payload/PlocMpsocHelper.h
12613;0x3145;MPSOC_TM_CRC_MISSMATCH;LOW;No description;linux/payload/PlocMpsocHelper.h
12700;0x319c;TRANSITION_BACK_TO_OFF;MEDIUM;Could not transition properly and went back to ALL OFF;mission/payload/PayloadPcduHandler.h
12701;0x319d;NEG_V_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12702;0x319e;U_DRO_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12703;0x319f;I_DRO_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12704;0x31a0;U_X8_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12705;0x31a1;I_X8_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12706;0x31a2;U_TX_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12707;0x31a3;I_TX_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12708;0x31a4;U_MPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12709;0x31a5;I_MPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12710;0x31a6;U_HPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12711;0x31a7;I_HPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12800;0x3200;TRANSITION_OTHER_SIDE_FAILED;HIGH;No description;mission/system/acs/AcsBoardAssembly.h
12801;0x3201;NOT_ENOUGH_DEVICES_DUAL_MODE;HIGH;No description;mission/system/acs/AcsBoardAssembly.h
12802;0x3202;POWER_STATE_MACHINE_TIMEOUT;MEDIUM;No description;mission/system/acs/AcsBoardAssembly.h
12803;0x3203;SIDE_SWITCH_TRANSITION_NOT_ALLOWED;LOW;Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination;mission/system/acs/AcsBoardAssembly.h
12804;0x3204;DIRECT_TRANSITION_TO_DUAL_OTHER_GPS_FAULTY;MEDIUM;This is triggered when the assembly would have normally switched the board side, but the GPS device of the other side was marked faulty. P1: Current submode.;mission/system/acs/AcsBoardAssembly.h
12900;0x3264;TRANSITION_OTHER_SIDE_FAILED;HIGH;No description;mission/system/acs/SusAssembly.h
12901;0x3265;NOT_ENOUGH_DEVICES_DUAL_MODE;HIGH;No description;mission/system/acs/SusAssembly.h
12902;0x3266;POWER_STATE_MACHINE_TIMEOUT;MEDIUM;No description;mission/system/acs/SusAssembly.h
12903;0x3267;SIDE_SWITCH_TRANSITION_NOT_ALLOWED;LOW;Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination;mission/system/acs/SusAssembly.h
13000;0x32c8;CHILDREN_LOST_MODE;MEDIUM;No description;mission/system/tcs/TcsBoardAssembly.h
13100;0x332c;GPS_FIX_CHANGE;INFO;Fix has changed. P1: Old fix. P2: New fix 0: Not seen, 1: No Fix, 2: 2D-Fix, 3: 3D-Fix;mission/acs/archive/GPSDefinitions.h
13101;0x332d;CANT_GET_FIX;LOW;Could not get fix in maximum allowed time. P1: Maximum allowed time to get a fix after the GPS was switched on.;mission/acs/archive/GPSDefinitions.h
13200;0x3390;P60_BOOT_COUNT;INFO;P60 boot count is broadcasted once at SW startup. P1: Boot count;mission/power/P60DockHandler.h
13201;0x3391;BATT_MODE;INFO;Battery mode is broadcasted at startup. P1: Mode;mission/power/P60DockHandler.h
13202;0x3392;BATT_MODE_CHANGED;MEDIUM;Battery mode has changed. P1: Old mode. P2: New mode;mission/power/P60DockHandler.h
13600;0x3520;SUPV_UPDATE_FAILED;LOW;update failed;linux/payload/PlocSupvUartMan.h
13601;0x3521;SUPV_UPDATE_SUCCESSFUL;LOW;update successful;linux/payload/PlocSupvUartMan.h
13602;0x3522;SUPV_CONTINUE_UPDATE_FAILED;LOW;Continue update command failed;linux/payload/PlocSupvUartMan.h
13603;0x3523;SUPV_CONTINUE_UPDATE_SUCCESSFUL;LOW;Continue update command successful;linux/payload/PlocSupvUartMan.h
13604;0x3524;TERMINATED_UPDATE_PROCEDURE;LOW;Terminated update procedure by command;linux/payload/PlocSupvUartMan.h
13605;0x3525;SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL;LOW;Requesting event buffer was successful;linux/payload/PlocSupvUartMan.h
13606;0x3526;SUPV_EVENT_BUFFER_REQUEST_FAILED;LOW;Requesting event buffer failed;linux/payload/PlocSupvUartMan.h
13607;0x3527;SUPV_EVENT_BUFFER_REQUEST_TERMINATED;LOW;Terminated event buffer request by command P1: Number of packets read before process was terminated;linux/payload/PlocSupvUartMan.h
13608;0x3528;SUPV_MEM_CHECK_OK;INFO;No description;linux/payload/PlocSupvUartMan.h
13609;0x3529;SUPV_MEM_CHECK_FAIL;INFO;No description;linux/payload/PlocSupvUartMan.h
13616;0x3530;SUPV_SENDING_COMMAND_FAILED;LOW;No description;linux/payload/PlocSupvUartMan.h
13617;0x3531;SUPV_HELPER_REQUESTING_REPLY_FAILED;LOW;Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of supervisor helper;linux/payload/PlocSupvUartMan.h
13618;0x3532;SUPV_HELPER_READING_REPLY_FAILED;LOW;Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of supervisor helper;linux/payload/PlocSupvUartMan.h
13619;0x3533;SUPV_MISSING_ACK;LOW;Did not receive acknowledgement report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/payload/PlocSupvUartMan.h
13620;0x3534;SUPV_MISSING_EXE;LOW;Supervisor did not receive execution report P1: Number of bytes missing P2: Internal state of supervisor helper;linux/payload/PlocSupvUartMan.h
13621;0x3535;SUPV_ACK_FAILURE_REPORT;LOW;Supervisor received acknowledgment failure report P1: Internal state of supervisor helper;linux/payload/PlocSupvUartMan.h
13622;0x3536;SUPV_EXE_FAILURE_REPORT;LOW;Execution report failure P1:;linux/payload/PlocSupvUartMan.h
13623;0x3537;SUPV_ACK_INVALID_APID;LOW;Supervisor expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux/payload/PlocSupvUartMan.h
13624;0x3538;SUPV_EXE_INVALID_APID;LOW;Supervisor helper expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux/payload/PlocSupvUartMan.h
13625;0x3539;ACK_RECEPTION_FAILURE;LOW;Failed to receive acknowledgment report P1: Return value P2: Apid of command for which the reception of the acknowledgment report failed;linux/payload/PlocSupvUartMan.h
13626;0x353a;EXE_RECEPTION_FAILURE;LOW;Failed to receive execution report P1: Return value P2: Apid of command for which the reception of the execution report failed;linux/payload/PlocSupvUartMan.h
13627;0x353b;WRITE_MEMORY_FAILED;LOW;Update procedure failed when sending packet. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written;linux/payload/PlocSupvUartMan.h
13628;0x353c;SUPV_REPLY_SIZE_MISSMATCH;LOW;No description;linux/payload/PlocSupvUartMan.h
13629;0x353d;SUPV_REPLY_CRC_MISSMATCH;LOW;No description;linux/payload/PlocSupvUartMan.h
13630;0x353e;SUPV_UPDATE_PROGRESS;INFO;Will be triggered every 5 percent of the update progress. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written;linux/payload/PlocSupvUartMan.h
13631;0x353f;HDLC_FRAME_REMOVAL_ERROR;INFO;No description;linux/payload/PlocSupvUartMan.h
13632;0x3540;HDLC_CRC_ERROR;INFO;No description;linux/payload/PlocSupvUartMan.h
13701;0x3585;TX_ON;INFO;Transmitter is on now. P1: Submode, P2: Current default datarate.;mission/com/syrlinksDefs.h
13702;0x3586;TX_OFF;INFO;Transmitter is off now.;mission/com/syrlinksDefs.h
13800;0x35e8;MISSING_PACKET;LOW;No description;mission/payload/scexHelpers.h
13801;0x35e9;EXPERIMENT_TIMEDOUT;LOW;No description;mission/payload/scexHelpers.h
13802;0x35ea;MULTI_PACKET_COMMAND_DONE;INFO;No description;mission/payload/scexHelpers.h
13901;0x364d;SET_CONFIGFILEVALUE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h
13902;0x364e;GET_CONFIGFILEVALUE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h
13903;0x364f;INSERT_CONFIGFILEVALUE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h
13904;0x3650;WRITE_CONFIGFILE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h
13905;0x3651;READ_CONFIGFILE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h
14000;0x36b0;ALLOC_FAILURE;MEDIUM;No description;bsp_q7s/core/CoreController.h
14001;0x36b1;REBOOT_SW;MEDIUM; Software reboot occurred. Can also be a systemd reboot. P1: Current Chip, P2: Current Copy;bsp_q7s/core/CoreController.h
14002;0x36b2;REBOOT_MECHANISM_TRIGGERED;MEDIUM;The reboot mechanism was triggered. P1: First 16 bits: Last Chip, Last 16 bits: Last Copy, P2: Each byte is the respective reboot count for the slots;bsp_q7s/core/CoreController.h
14003;0x36b3;REBOOT_HW;MEDIUM;No description;bsp_q7s/core/CoreController.h
14004;0x36b4;NO_SD_CARD_ACTIVE;HIGH;No SD card was active. Core controller will attempt to re-initialize a SD card.;bsp_q7s/core/CoreController.h
14005;0x36b5;VERSION_INFO;INFO;P1: Byte 0: Major, Byte 1: Minor, Byte 2: Patch, Byte 3: Has Git Hash P2: First four letters of Git SHA is the last byte of P1 is set.;bsp_q7s/core/CoreController.h
14006;0x36b6;CURRENT_IMAGE_INFO;INFO;P1: Current Chip, P2: Current Copy;bsp_q7s/core/CoreController.h
14100;0x3714;NO_VALID_SENSOR_TEMPERATURE;MEDIUM;No description;mission/controller/ThermalController.h
14101;0x3715;NO_HEALTHY_HEATER_AVAILABLE;MEDIUM;No description;mission/controller/ThermalController.h
14102;0x3716;SYRLINKS_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h
14103;0x3717;PLOC_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h
14104;0x3718;OBC_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h
14105;0x3719;HPA_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h
14106;0x371a;PLPCDU_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h
14000;0x36b0;ALLOC_FAILURE;MEDIUM;No description;mission/sysDefs.h
14001;0x36b1;REBOOT_SW;LOW; Software reboot occurred. Can also be a systemd reboot. P1: Current Chip, P2: Current Copy;mission/sysDefs.h
14002;0x36b2;REBOOT_MECHANISM_TRIGGERED;MEDIUM;The reboot mechanism was triggered. P1: First 16 bits: Last Chip, Last 16 bits: Last Copy, P2: Each byte is the respective reboot count for the slots;mission/sysDefs.h
14003;0x36b3;REBOOT_HW;MEDIUM;No description;mission/sysDefs.h
14004;0x36b4;NO_SD_CARD_ACTIVE;HIGH;No SD card was active. Core controller will attempt to re-initialize a SD card.;mission/sysDefs.h
14005;0x36b5;VERSION_INFO;INFO;P1: Byte 0: Major, Byte 1: Minor, Byte 2: Patch, Byte 3: Has Git Hash P2: First four letters of Git SHA is the last byte of P1 is set.;mission/sysDefs.h
14006;0x36b6;CURRENT_IMAGE_INFO;INFO;P1: Current Chip, P2: Current Copy;mission/sysDefs.h
14007;0x36b7;REBOOT_COUNTER;INFO;Total reboot counter, which is the sum of the boot count of all individual images.;mission/sysDefs.h
14008;0x36b8;INDIVIDUAL_BOOT_COUNTS;INFO;Get the boot count of the individual images. P1: First 16 bits boot count of image 0 0, last 16 bits boot count of image 0 1. P2: First 16 bits boot count of image 1 0, last 16 bits boot count of image 1 1.;mission/sysDefs.h
14010;0x36ba;TRYING_I2C_RECOVERY;HIGH;I2C is unavailable. Trying recovery of I2C bus by power cycling all I2C devices.;mission/sysDefs.h
14011;0x36bb;I2C_REBOOT;HIGH;I2C is unavailable. Recovery did not work, performing full reboot.;mission/sysDefs.h
14012;0x36bc;PDEC_REBOOT;HIGH;PDEC recovery through reset was not possible, performing full reboot.;mission/sysDefs.h
14100;0x3714;NO_VALID_SENSOR_TEMPERATURE;MEDIUM;No description;mission/controller/tcsDefs.h
14101;0x3715;NO_HEALTHY_HEATER_AVAILABLE;MEDIUM;No description;mission/controller/tcsDefs.h
14102;0x3716;SYRLINKS_OVERHEATING;HIGH;No description;mission/controller/tcsDefs.h
14104;0x3718;OBC_OVERHEATING;HIGH;No description;mission/controller/tcsDefs.h
14105;0x3719;CAMERA_OVERHEATING;HIGH;No description;mission/controller/tcsDefs.h
14106;0x371a;PCDU_SYSTEM_OVERHEATING;HIGH;No description;mission/controller/tcsDefs.h
14107;0x371b;HEATER_NOT_OFF_FOR_OFF_MODE;MEDIUM;No description;mission/controller/tcsDefs.h
14108;0x371c;MGT_OVERHEATING;MEDIUM;No description;mission/controller/tcsDefs.h
14201;0x3779;TX_TIMER_EXPIRED;INFO;The transmit timer to protect the Syrlinks expired P1: The current timer value;mission/system/com/ComSubsystem.h
14202;0x377a;BIT_LOCK_TX_ON;INFO;Transmitter will be turned on due to detection of bitlock;mission/system/com/ComSubsystem.h
14300;0x37dc;POSSIBLE_FILE_CORRUPTION;LOW;P1: Result code of TM packet parser. P2: Timestamp of possibly corrupt file as a unix timestamp.;mission/persistentTmStoreDefs.h
14301;0x37dd;FILE_TOO_LARGE;LOW;File in store too large. P1: Detected file size P2: Allowed file size;mission/persistentTmStoreDefs.h
14302;0x37de;BUSY_DUMPING_EVENT;INFO;No description;mission/persistentTmStoreDefs.h
14305;0x37e1;DUMP_OK_STORE_DONE;INFO;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14306;0x37e2;DUMP_NOK_STORE_DONE;INFO;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14307;0x37e3;DUMP_MISC_STORE_DONE;INFO;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14308;0x37e4;DUMP_HK_STORE_DONE;INFO;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14309;0x37e5;DUMP_CFDP_STORE_DONE;INFO;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14310;0x37e6;DUMP_OK_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14311;0x37e7;DUMP_NOK_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14312;0x37e8;DUMP_MISC_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14313;0x37e9;DUMP_HK_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14314;0x37ea;DUMP_CFDP_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h

1 Event ID (dec) Event ID (hex) Name Severity Description File Path
29 2809 0x0af9 MONITORING_LIMIT_EXCEEDED LOW No description fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
30 2810 0x0afa MONITORING_AMBIGUOUS HIGH No description fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
31 2811 0x0afb DEVICE_WANTS_HARD_REBOOT HIGH No description fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
4201 0x1069 FUSE_CURRENT_HIGH LOW No description fsfw/src/fsfw/power/Fuse.h
4202 0x106a FUSE_WENT_OFF LOW No description fsfw/src/fsfw/power/Fuse.h
4204 0x106c POWER_ABOVE_HIGH_LIMIT LOW No description fsfw/src/fsfw/power/Fuse.h
4205 0x106d POWER_BELOW_LOW_LIMIT LOW No description fsfw/src/fsfw/power/Fuse.h
32 4300 0x10cc SWITCH_WENT_OFF LOW No description fsfw/src/fsfw/power/PowerSwitchIF.h
33 4301 0x10cd FUSE_CURRENT_HIGH LOW No description fsfw/src/fsfw/power/Fuse.h
34 4302 0x10ce FUSE_WENT_OFF LOW No description fsfw/src/fsfw/power/Fuse.h
35 4304 0x10d0 POWER_ABOVE_HIGH_LIMIT LOW No description fsfw/src/fsfw/power/Fuse.h
36 4305 0x10d1 POWER_BELOW_LOW_LIMIT LOW No description fsfw/src/fsfw/power/Fuse.h
37 5000 0x1388 HEATER_ON INFO No description fsfw/src/fsfw/thermal/Heater.h
38 5001 0x1389 HEATER_OFF INFO No description fsfw/src/fsfw/thermal/Heater.h
39 5002 0x138a HEATER_TIMEOUT LOW No description fsfw/src/fsfw/thermal/Heater.h
84 10800 0x2a30 STORE_ERROR LOW No description fsfw/src/fsfw/cfdp/handler/defs.h
85 10801 0x2a31 MSG_QUEUE_ERROR LOW No description fsfw/src/fsfw/cfdp/handler/defs.h
86 10802 0x2a32 SERIALIZATION_ERROR LOW No description fsfw/src/fsfw/cfdp/handler/defs.h
87 11200 10803 0x2bc0 0x2a33 SAFE_RATE_VIOLATION FILESTORE_ERROR MEDIUM LOW No description mission/acsDefs.h fsfw/src/fsfw/cfdp/handler/defs.h
88 11201 10804 0x2bc1 0x2a34 SAFE_RATE_RECOVERY FILENAME_TOO_LARGE_ERROR MEDIUM LOW No description P1: Transaction step ID, P2: 0 for source file name, 1 for dest file name mission/acsDefs.h fsfw/src/fsfw/cfdp/handler/defs.h
89 11202 11200 0x2bc2 0x2bc0 MULTIPLE_RW_INVALID SAFE_RATE_VIOLATION HIGH MEDIUM No description The limits for the rotation in safe mode were violated. mission/acsDefs.h mission/acs/defs.h
90 11203 11201 0x2bc3 0x2bc1 MEKF_INVALID_INFO SAFE_RATE_RECOVERY INFO MEDIUM No description The system has recovered from a safe rate rotation violation. mission/acsDefs.h mission/acs/defs.h
91 11204 11202 0x2bc4 0x2bc2 MEKF_INVALID_MODE_VIOLATION MULTIPLE_RW_INVALID HIGH No description Multiple RWs are invalid, uncommandable and therefore higher ACS modes cannot be maintained. mission/acsDefs.h mission/acs/defs.h
92 11300 11203 0x2c24 0x2bc3 SWITCH_CMD_SENT MEKF_INVALID_INFO INFO Indicates that a FSFW object requested setting a switch P1: 1 if on was requested, 0 for off | P2: Switch Index MEKF was not able to compute a solution. P1: MEKF state on exit mission/devices/devicedefinitions/powerDefinitions.h mission/acs/defs.h
93 11301 11204 0x2c25 0x2bc4 SWITCH_HAS_CHANGED MEKF_RECOVERY INFO Indicated that a switch state has changed P1: New switch state, 1 for on, 0 for off | P2: Switch Index MEKF is able to compute a solution again. mission/devices/devicedefinitions/powerDefinitions.h mission/acs/defs.h
94 11302 11205 0x2c26 0x2bc5 SWITCHING_Q7S_DENIED MEKF_AUTOMATIC_RESET MEDIUM INFO No description MEKF performed an automatic reset after detection of nonfinite values. mission/devices/devicedefinitions/powerDefinitions.h mission/acs/defs.h
95 11303 11206 0x2c27 0x2bc6 FDIR_REACTION_IGNORED MEKF_INVALID_MODE_VIOLATION MEDIUM HIGH No description MEKF was not able to compute a solution during any pointing ACS mode for a prolonged time. mission/devices/devicedefinitions/powerDefinitions.h mission/acs/defs.h
96 11400 11207 0x2c88 0x2bc7 GPIO_PULL_HIGH_FAILED SAFE_MODE_CONTROLLER_FAILURE LOW HIGH No description The ACS safe mode controller was not able to compute a solution and has failed. P1: Missing information about magnetic field, P2: Missing information about rotational rate mission/devices/HeaterHandler.h mission/acs/defs.h
97 11401 11300 0x2c89 0x2c24 GPIO_PULL_LOW_FAILED SWITCH_CMD_SENT LOW INFO No description Indicates that a FSFW object requested setting a switch P1: 1 if on was requested, 0 for off | P2: Switch Index mission/devices/HeaterHandler.h mission/power/defs.h
98 11402 11301 0x2c8a 0x2c25 HEATER_WENT_ON SWITCH_HAS_CHANGED INFO No description Indicated that a switch state has changed P1: New switch state, 1 for on, 0 for off | P2: Switch Index mission/devices/HeaterHandler.h mission/power/defs.h
99 11403 11302 0x2c8b 0x2c26 HEATER_WENT_OFF SWITCHING_Q7S_DENIED INFO MEDIUM No description mission/devices/HeaterHandler.h mission/power/defs.h
100 11404 11303 0x2c8c 0x2c27 SWITCH_ALREADY_ON FDIR_REACTION_IGNORED LOW MEDIUM No description mission/devices/HeaterHandler.h mission/power/defs.h
101 11405 11400 0x2c8d 0x2c88 SWITCH_ALREADY_OFF GPIO_PULL_HIGH_FAILED LOW No description mission/devices/HeaterHandler.h mission/tcs/HeaterHandler.h
102 11406 11401 0x2c8e 0x2c89 MAIN_SWITCH_TIMEOUT GPIO_PULL_LOW_FAILED MEDIUM LOW No description mission/devices/HeaterHandler.h mission/tcs/HeaterHandler.h
103 11407 11402 0x2c8f 0x2c8a FAULTY_HEATER_WAS_ON HEATER_WENT_ON LOW INFO No description mission/devices/HeaterHandler.h mission/tcs/HeaterHandler.h
104 11500 11403 0x2cec 0x2c8b BURN_PHASE_START HEATER_WENT_OFF INFO P1: Burn duration in milliseconds, P2: Dry run flag No description mission/devices/SolarArrayDeploymentHandler.h mission/tcs/HeaterHandler.h
105 11501 11404 0x2ced 0x2c8c BURN_PHASE_DONE SWITCH_ALREADY_ON INFO P1: Burn duration in milliseconds, P2: Dry run flag No description mission/devices/SolarArrayDeploymentHandler.h mission/tcs/HeaterHandler.h
106 11502 11405 0x2cee 0x2c8d MAIN_SWITCH_ON_TIMEOUT SWITCH_ALREADY_OFF LOW INFO No description mission/devices/SolarArrayDeploymentHandler.h mission/tcs/HeaterHandler.h
107 11503 11406 0x2cef 0x2c8e MAIN_SWITCH_OFF_TIMEOUT MAIN_SWITCH_TIMEOUT LOW MEDIUM No description mission/devices/SolarArrayDeploymentHandler.h mission/tcs/HeaterHandler.h
108 11504 11407 0x2cf0 0x2c8f DEPL_SA1_GPIO_SWTICH_ON_FAILED FAULTY_HEATER_WAS_ON HIGH LOW No description mission/devices/SolarArrayDeploymentHandler.h mission/tcs/HeaterHandler.h
109 11505 11500 0x2cf1 0x2cec DEPL_SA2_GPIO_SWTICH_ON_FAILED BURN_PHASE_START HIGH INFO No description P1: Burn duration in milliseconds, P2: Dry run flag mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
110 11506 11501 0x2cf2 0x2ced DEPL_SA1_GPIO_SWTICH_OFF_FAILED BURN_PHASE_DONE HIGH INFO No description P1: Burn duration in milliseconds, P2: Dry run flag mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
111 11507 11502 0x2cf3 0x2cee DEPL_SA2_GPIO_SWTICH_OFF_FAILED MAIN_SWITCH_ON_TIMEOUT HIGH LOW No description mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
112 11508 11503 0x2cf4 0x2cef AUTONOMOUS_DEPLOYMENT_COMPLETED MAIN_SWITCH_OFF_TIMEOUT INFO LOW No description mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
113 11601 11504 0x2d51 0x2cf0 MEMORY_READ_RPT_CRC_FAILURE DEPL_SA1_GPIO_SWTICH_ON_FAILED LOW HIGH PLOC crc failure in telemetry packet No description linux/devices/ploc/PlocMPSoCHandler.h mission/SolarArrayDeploymentHandler.h
114 11602 11505 0x2d52 0x2cf1 ACK_FAILURE DEPL_SA2_GPIO_SWTICH_ON_FAILED LOW HIGH PLOC receive acknowledgment failure report P1: Command Id which leads the acknowledgment failure report P2: The status field inserted by the MPSoC into the data field No description linux/devices/ploc/PlocMPSoCHandler.h mission/SolarArrayDeploymentHandler.h
115 11603 11506 0x2d53 0x2cf2 EXE_FAILURE DEPL_SA1_GPIO_SWTICH_OFF_FAILED LOW HIGH PLOC receive execution failure report P1: Command Id which leads the execution failure report P2: The status field inserted by the MPSoC into the data field No description linux/devices/ploc/PlocMPSoCHandler.h mission/SolarArrayDeploymentHandler.h
116 11604 11507 0x2d54 0x2cf3 MPSOC_HANDLER_CRC_FAILURE DEPL_SA2_GPIO_SWTICH_OFF_FAILED LOW HIGH PLOC reply has invalid crc No description linux/devices/ploc/PlocMPSoCHandler.h mission/SolarArrayDeploymentHandler.h
117 11605 11508 0x2d55 0x2cf4 MPSOC_HANDLER_SEQUENCE_COUNT_MISMATCH AUTONOMOUS_DEPLOYMENT_COMPLETED LOW INFO Packet sequence count in received space packet does not match expected count P1: Expected sequence count P2: Received sequence count No description linux/devices/ploc/PlocMPSoCHandler.h mission/SolarArrayDeploymentHandler.h
118 11606 11601 0x2d56 0x2d51 MPSOC_SHUTDOWN_FAILED MEMORY_READ_RPT_CRC_FAILURE HIGH LOW Supervisor fails to shutdown MPSoC. Requires to power off the PLOC and thus also to shutdown the supervisor. PLOC crc failure in telemetry packet linux/devices/ploc/PlocMPSoCHandler.h linux/payload/PlocMpsocHandler.h
119 11701 11602 0x2db5 0x2d52 SELF_TEST_I2C_FAILURE ACK_FAILURE LOW Get self test result returns I2C failure P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA PLOC receive acknowledgment failure report P1: Command Id which leads the acknowledgment failure report P2: The status field inserted by the MPSoC into the data field mission/devices/ImtqHandler.h linux/payload/PlocMpsocHandler.h
120 11702 11603 0x2db6 0x2d53 SELF_TEST_SPI_FAILURE EXE_FAILURE LOW Get self test result returns SPI failure. This concerns the MTM connectivity. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA PLOC receive execution failure report P1: Command Id which leads the execution failure report P2: The status field inserted by the MPSoC into the data field mission/devices/ImtqHandler.h linux/payload/PlocMpsocHandler.h
121 11703 11604 0x2db7 0x2d54 SELF_TEST_ADC_FAILURE MPSOC_HANDLER_CRC_FAILURE LOW Get self test result returns failure in measurement of current and temperature. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA PLOC reply has invalid crc mission/devices/ImtqHandler.h linux/payload/PlocMpsocHandler.h
122 11704 11605 0x2db8 0x2d55 SELF_TEST_PWM_FAILURE MPSOC_HANDLER_SEQUENCE_COUNT_MISMATCH LOW Get self test result returns PWM failure which concerns the coil actuation. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA Packet sequence count in received space packet does not match expected count P1: Expected sequence count P2: Received sequence count mission/devices/ImtqHandler.h linux/payload/PlocMpsocHandler.h
123 11705 11606 0x2db9 0x2d56 SELF_TEST_TC_FAILURE MPSOC_SHUTDOWN_FAILED LOW HIGH Get self test result returns TC failure (system failure) P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA Supervisor fails to shutdown MPSoC. Requires to power off the PLOC and thus also to shutdown the supervisor. mission/devices/ImtqHandler.h linux/payload/PlocMpsocHandler.h
124 11706 11701 0x2dba 0x2db5 SELF_TEST_MTM_RANGE_FAILURE SELF_TEST_I2C_FAILURE LOW Get self test result returns failure that MTM values were outside of the expected range. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA Get self test result returns I2C failure P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA mission/devices/ImtqHandler.h mission/acs/ImtqHandler.h
125 11707 11702 0x2dbb 0x2db6 SELF_TEST_COIL_CURRENT_FAILURE SELF_TEST_SPI_FAILURE LOW Get self test result returns failure indicating that the coil current was outside of the expected range P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA Get self test result returns SPI failure. This concerns the MTM connectivity. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA mission/devices/ImtqHandler.h mission/acs/ImtqHandler.h
126 11708 11703 0x2dbc 0x2db7 INVALID_ERROR_BYTE SELF_TEST_ADC_FAILURE LOW Received invalid error byte. This indicates an error of the communication link between IMTQ and OBC. Get self test result returns failure in measurement of current and temperature. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA mission/devices/ImtqHandler.h mission/acs/ImtqHandler.h
127 11801 11704 0x2e19 0x2db8 ERROR_STATE SELF_TEST_PWM_FAILURE HIGH LOW Reaction wheel signals an error state Get self test result returns PWM failure which concerns the coil actuation. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA mission/devices/devicedefinitions/rwHelpers.h mission/acs/ImtqHandler.h
128 11802 11705 0x2e1a 0x2db9 RESET_OCCURED SELF_TEST_TC_FAILURE LOW No description Get self test result returns TC failure (system failure) P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA mission/devices/devicedefinitions/rwHelpers.h mission/acs/ImtqHandler.h
129 11901 11706 0x2e7d 0x2dba BOOTING_FIRMWARE_FAILED_EVENT SELF_TEST_MTM_RANGE_FAILURE LOW Failed to boot firmware Get self test result returns failure that MTM values were outside of the expected range. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA linux/devices/startracker/StarTrackerHandler.h mission/acs/ImtqHandler.h
130 11902 11707 0x2e7e 0x2dbb BOOTING_BOOTLOADER_FAILED_EVENT SELF_TEST_COIL_CURRENT_FAILURE LOW Failed to boot star tracker into bootloader mode Get self test result returns failure indicating that the coil current was outside of the expected range P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA linux/devices/startracker/StarTrackerHandler.h mission/acs/ImtqHandler.h
131 12001 11708 0x2ee1 0x2dbc SUPV_MEMORY_READ_RPT_CRC_FAILURE INVALID_ERROR_BYTE LOW PLOC supervisor crc failure in telemetry packet Received invalid error byte. This indicates an error of the communication link between IMTQ and OBC. linux/devices/ploc/PlocSupervisorHandler.h mission/acs/ImtqHandler.h
132 12002 11801 0x2ee2 0x2e19 SUPV_UNKNOWN_TM ERROR_STATE LOW HIGH Unhandled event. P1: APID, P2: Service ID Reaction wheel signals an error state linux/devices/ploc/PlocSupervisorHandler.h mission/acs/rwHelpers.h
133 12003 11802 0x2ee3 0x2e1a SUPV_UNINIMPLEMENTED_TM RESET_OCCURED LOW No description linux/devices/ploc/PlocSupervisorHandler.h mission/acs/rwHelpers.h
134 12004 11901 0x2ee4 0x2e7d SUPV_ACK_FAILURE BOOTING_FIRMWARE_FAILED_EVENT LOW PLOC supervisor received acknowledgment failure report Failed to boot firmware linux/devices/ploc/PlocSupervisorHandler.h mission/acs/str/StarTrackerHandler.h
135 12005 11902 0x2ee5 0x2e7e SUPV_EXE_FAILURE BOOTING_BOOTLOADER_FAILED_EVENT LOW PLOC received execution failure report P1: ID of command for which the execution failed P2: Status code sent by the supervisor handler Failed to boot star tracker into bootloader mode linux/devices/ploc/PlocSupervisorHandler.h mission/acs/str/StarTrackerHandler.h
136 12006 12001 0x2ee6 0x2ee1 SUPV_CRC_FAILURE_EVENT SUPV_MEMORY_READ_RPT_CRC_FAILURE LOW PLOC supervisor reply has invalid crc PLOC supervisor crc failure in telemetry packet linux/devices/ploc/PlocSupervisorHandler.h linux/payload/PlocSupervisorHandler.h
137 12007 12002 0x2ee7 0x2ee2 SUPV_HELPER_EXECUTING SUPV_UNKNOWN_TM LOW Supervisor helper currently executing a command Unhandled event. P1: APID, P2: Service ID linux/devices/ploc/PlocSupervisorHandler.h linux/payload/PlocSupervisorHandler.h
138 12008 12003 0x2ee8 0x2ee3 SUPV_MPSOC_SHUTDOWN_BUILD_FAILED SUPV_UNINIMPLEMENTED_TM LOW Failed to build the command to shutdown the MPSoC No description linux/devices/ploc/PlocSupervisorHandler.h linux/payload/PlocSupervisorHandler.h
139 12004 0x2ee4 SUPV_ACK_FAILURE LOW PLOC supervisor received acknowledgment failure report linux/payload/PlocSupervisorHandler.h
140 12005 0x2ee5 SUPV_EXE_FAILURE LOW PLOC received execution failure report P1: ID of command for which the execution failed P2: Status code sent by the supervisor handler linux/payload/PlocSupervisorHandler.h
141 12006 0x2ee6 SUPV_CRC_FAILURE_EVENT LOW PLOC supervisor reply has invalid crc linux/payload/PlocSupervisorHandler.h
142 12007 0x2ee7 SUPV_HELPER_EXECUTING LOW Supervisor helper currently executing a command linux/payload/PlocSupervisorHandler.h
143 12008 0x2ee8 SUPV_MPSOC_SHUTDOWN_BUILD_FAILED LOW Failed to build the command to shutdown the MPSoC linux/payload/PlocSupervisorHandler.h
144 12100 0x2f44 SANITIZATION_FAILED LOW No description bsp_q7s/fs/SdCardManager.h
145 12101 0x2f45 MOUNTED_SD_CARD INFO No description bsp_q7s/fs/SdCardManager.h
146 12300 0x300c SEND_MRAM_DUMP_FAILED LOW Failed to send mram dump command to supervisor handler P1: Return value of commandAction function P2: Start address of MRAM to dump with this command linux/devices/ploc/PlocMemoryDumper.h linux/payload/PlocMemoryDumper.h
147 12301 0x300d MRAM_DUMP_FAILED LOW Received completion failure report form PLOC supervisor handler P1: MRAM start address of failing dump command linux/devices/ploc/PlocMemoryDumper.h linux/payload/PlocMemoryDumper.h
148 12302 0x300e MRAM_DUMP_FINISHED LOW MRAM dump finished successfully linux/devices/ploc/PlocMemoryDumper.h linux/payload/PlocMemoryDumper.h
149 12401 0x3071 INVALID_TC_FRAME HIGH No description linux/ipcore/PdecHandler.h linux/ipcore/pdec.h
150 12402 0x3072 INVALID_FAR HIGH Read invalid FAR from PDEC after startup linux/ipcore/PdecHandler.h linux/ipcore/pdec.h
151 12403 0x3073 CARRIER_LOCK INFO Carrier lock detected linux/ipcore/PdecHandler.h linux/ipcore/pdec.h
152 12404 0x3074 BIT_LOCK_PDEC INFO Bit lock detected (data valid) linux/ipcore/PdecHandler.h linux/ipcore/pdec.h
153 12405 0x3075 LOST_CARRIER_LOCK_PDEC INFO Lost carrier lock linux/ipcore/PdecHandler.h linux/ipcore/pdec.h
154 12406 0x3076 LOST_BIT_LOCK_PDEC INFO Lost bit lock linux/ipcore/PdecHandler.h linux/ipcore/pdec.h
155 12407 0x3077 TOO_MANY_IRQS MEDIUM Too many IRQs over the time window of one second. P1: Allowed TCs linux/ipcore/PdecHandler.h linux/ipcore/pdec.h
156 12408 0x3078 POLL_SYSCALL_ERROR_PDEC MEDIUM No description linux/ipcore/PdecHandler.h linux/ipcore/pdec.h
157 12409 0x3079 WRITE_SYSCALL_ERROR_PDEC MEDIUM HIGH No description linux/ipcore/PdecHandler.h linux/ipcore/pdec.h
158 12500 12410 0x30d4 0x307a IMAGE_UPLOAD_FAILED PDEC_TRYING_RESET_WITH_INIT LOW Image upload failed Trying a PDEC reset with complete re-initialization linux/devices/startracker/StrHelper.h linux/ipcore/pdec.h
159 12501 12411 0x30d5 0x307b IMAGE_DOWNLOAD_FAILED PDEC_TRYING_RESET_NO_INIT LOW Image download failed Trying a PDEC reset without re-initialization. linux/devices/startracker/StrHelper.h linux/ipcore/pdec.h
160 12502 12412 0x30d6 0x307c IMAGE_UPLOAD_SUCCESSFUL PDEC_RESET_FAILED LOW HIGH Uploading image to star tracker was successfulop Failed to pull PDEC reset to low linux/devices/startracker/StrHelper.h linux/ipcore/pdec.h
161 12503 12413 0x30d7 0x307d IMAGE_DOWNLOAD_SUCCESSFUL OPEN_IRQ_FILE_FAILED LOW HIGH Image download was successful Failed to open the IRQ uio file linux/devices/startracker/StrHelper.h linux/ipcore/pdec.h
162 12504 12414 0x30d8 0x307e FLASH_WRITE_SUCCESSFUL PDEC_INIT_FAILED LOW HIGH Finished flash write procedure successfully PDEC initialization failed. This might also be due to the persistent confiuration never becoming available, for example due to SD card issues. linux/devices/startracker/StrHelper.h linux/ipcore/pdec.h
163 12505 12500 0x30d9 0x30d4 FLASH_READ_SUCCESSFUL IMAGE_UPLOAD_FAILED LOW Finished flash read procedure successfully Image upload failed linux/devices/startracker/StrHelper.h linux/acs/StrComHandler.h
164 12506 12501 0x30da 0x30d5 FLASH_READ_FAILED IMAGE_DOWNLOAD_FAILED LOW Flash read procedure failed Image download failed linux/devices/startracker/StrHelper.h linux/acs/StrComHandler.h
165 12507 12502 0x30db 0x30d6 FIRMWARE_UPDATE_SUCCESSFUL IMAGE_UPLOAD_SUCCESSFUL LOW Firmware update was successful Uploading image to star tracker was successfulop linux/devices/startracker/StrHelper.h linux/acs/StrComHandler.h
166 12508 12503 0x30dc 0x30d7 FIRMWARE_UPDATE_FAILED IMAGE_DOWNLOAD_SUCCESSFUL LOW Firmware update failed Image download was successful linux/devices/startracker/StrHelper.h linux/acs/StrComHandler.h
167 12509 12504 0x30dd 0x30d8 STR_HELPER_READING_REPLY_FAILED FLASH_WRITE_SUCCESSFUL LOW Failed to read communication interface reply data P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed Finished flash write procedure successfully linux/devices/startracker/StrHelper.h linux/acs/StrComHandler.h
168 12510 12505 0x30de 0x30d9 STR_HELPER_COM_ERROR FLASH_READ_SUCCESSFUL LOW Unexpected stop of decoding sequence P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed Finished flash read procedure successfully linux/devices/startracker/StrHelper.h linux/acs/StrComHandler.h
169 12511 12506 0x30df 0x30da STR_HELPER_NO_REPLY FLASH_READ_FAILED LOW Star tracker did not send replies (maybe device is powered off) P1: Position of upload or download packet for which no reply was sent Flash read procedure failed linux/devices/startracker/StrHelper.h linux/acs/StrComHandler.h
170 12512 12507 0x30e0 0x30db STR_HELPER_DEC_ERROR FIRMWARE_UPDATE_SUCCESSFUL LOW Error during decoding of received reply occurred P1: Return value of decoding function P2: Position of upload/download packet, or address of flash write/read request Firmware update was successful linux/devices/startracker/StrHelper.h linux/acs/StrComHandler.h
171 12513 12508 0x30e1 0x30dc POSITION_MISMATCH FIRMWARE_UPDATE_FAILED LOW Position mismatch P1: The expected position and thus the position for which the image upload/download failed Firmware update failed linux/devices/startracker/StrHelper.h linux/acs/StrComHandler.h
172 12514 12509 0x30e2 0x30dd STR_HELPER_FILE_NOT_EXISTS STR_HELPER_READING_REPLY_FAILED LOW Specified file does not exist P1: Internal state of str helper Failed to read communication interface reply data P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed linux/devices/startracker/StrHelper.h linux/acs/StrComHandler.h
173 12515 12510 0x30e3 0x30de STR_HELPER_SENDING_PACKET_FAILED STR_HELPER_COM_ERROR LOW No description Unexpected stop of decoding sequence P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed linux/devices/startracker/StrHelper.h linux/acs/StrComHandler.h
174 12516 12511 0x30e4 0x30df STR_HELPER_REQUESTING_MSG_FAILED STR_COM_REPLY_TIMEOUT LOW No description Star tracker did not send a valid reply for a certain timeout. P1: Position of upload or download packet for which the packet wa sent. P2: Timeout linux/devices/startracker/StrHelper.h linux/acs/StrComHandler.h
175 12600 12513 0x3138 0x30e1 MPSOC_FLASH_WRITE_FAILED STR_HELPER_DEC_ERROR LOW Flash write fails Error during decoding of received reply occurred P1: Return value of decoding function P2: Position of upload/download packet, or address of flash write/read request linux/devices/ploc/PlocMPSoCHelper.h linux/acs/StrComHandler.h
176 12601 12514 0x3139 0x30e2 MPSOC_FLASH_WRITE_SUCCESSFUL POSITION_MISMATCH LOW Flash write successful Position mismatch P1: The expected position and thus the position for which the image upload/download failed linux/devices/ploc/PlocMPSoCHelper.h linux/acs/StrComHandler.h
177 12602 12515 0x313a 0x30e3 MPSOC_SENDING_COMMAND_FAILED STR_HELPER_FILE_NOT_EXISTS LOW No description Specified file does not exist P1: Internal state of str helper linux/devices/ploc/PlocMPSoCHelper.h linux/acs/StrComHandler.h
178 12603 12516 0x313b 0x30e4 MPSOC_HELPER_REQUESTING_REPLY_FAILED STR_HELPER_SENDING_PACKET_FAILED LOW Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of MPSoC helper No description linux/devices/ploc/PlocMPSoCHelper.h linux/acs/StrComHandler.h
179 12604 12517 0x313c 0x30e5 MPSOC_HELPER_READING_REPLY_FAILED STR_HELPER_REQUESTING_MSG_FAILED LOW Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of MPSoC helper No description linux/devices/ploc/PlocMPSoCHelper.h linux/acs/StrComHandler.h
180 12605 12600 0x313d 0x3138 MPSOC_MISSING_ACK MPSOC_FLASH_WRITE_FAILED LOW Did not receive acknowledgment report P1: Number of bytes missing P2: Internal state of MPSoC helper Flash write fails linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
181 12606 12601 0x313e 0x3139 MPSOC_MISSING_EXE MPSOC_FLASH_WRITE_SUCCESSFUL LOW Did not receive execution report P1: Number of bytes missing P2: Internal state of MPSoC helper Flash write successful linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
182 12607 12602 0x313f 0x313a MPSOC_ACK_FAILURE_REPORT MPSOC_SENDING_COMMAND_FAILED LOW Received acknowledgment failure report P1: Internal state of MPSoC No description linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
183 12608 12603 0x3140 0x313b MPSOC_EXE_FAILURE_REPORT MPSOC_HELPER_REQUESTING_REPLY_FAILED LOW Received execution failure report P1: Internal state of MPSoC Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of MPSoC helper linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
184 12609 12604 0x3141 0x313c MPSOC_ACK_INVALID_APID MPSOC_HELPER_READING_REPLY_FAILED LOW Expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of MPSoC helper linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
185 12610 12605 0x3142 0x313d MPSOC_EXE_INVALID_APID MPSOC_MISSING_ACK LOW Expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC Did not receive acknowledgment report P1: Number of bytes missing P2: Internal state of MPSoC helper linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
186 12611 12606 0x3143 0x313e MPSOC_HELPER_SEQ_CNT_MISMATCH MPSOC_MISSING_EXE LOW Received sequence count does not match expected sequence count P1: Expected sequence count P2: Received sequence count Did not receive execution report P1: Number of bytes missing P2: Internal state of MPSoC helper linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
187 12612 12607 0x3144 0x313f MPSOC_TM_SIZE_ERROR MPSOC_ACK_FAILURE_REPORT LOW No description Received acknowledgment failure report P1: Internal state of MPSoC linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
188 12613 12608 0x3145 0x3140 MPSOC_TM_CRC_MISSMATCH MPSOC_EXE_FAILURE_REPORT LOW No description Received execution failure report P1: Internal state of MPSoC linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
189 12700 12609 0x319c 0x3141 TRANSITION_BACK_TO_OFF MPSOC_ACK_INVALID_APID MEDIUM LOW Could not transition properly and went back to ALL OFF Expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC mission/devices/PayloadPcduHandler.h linux/payload/PlocMpsocHelper.h
190 12701 12610 0x319d 0x3142 NEG_V_OUT_OF_BOUNDS MPSOC_EXE_INVALID_APID MEDIUM LOW P1: 0 -> too low, 1 -> too high P2: Float value Expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC mission/devices/PayloadPcduHandler.h linux/payload/PlocMpsocHelper.h
191 12702 12611 0x319e 0x3143 U_DRO_OUT_OF_BOUNDS MPSOC_HELPER_SEQ_CNT_MISMATCH MEDIUM LOW P1: 0 -> too low, 1 -> too high P2: Float value Received sequence count does not match expected sequence count P1: Expected sequence count P2: Received sequence count mission/devices/PayloadPcduHandler.h linux/payload/PlocMpsocHelper.h
192 12703 12612 0x319f 0x3144 I_DRO_OUT_OF_BOUNDS MPSOC_TM_SIZE_ERROR MEDIUM LOW P1: 0 -> too low, 1 -> too high P2: Float value No description mission/devices/PayloadPcduHandler.h linux/payload/PlocMpsocHelper.h
193 12704 12613 0x31a0 0x3145 U_X8_OUT_OF_BOUNDS MPSOC_TM_CRC_MISSMATCH MEDIUM LOW P1: 0 -> too low, 1 -> too high P2: Float value No description mission/devices/PayloadPcduHandler.h linux/payload/PlocMpsocHelper.h
194 12705 12700 0x31a1 0x319c I_X8_OUT_OF_BOUNDS TRANSITION_BACK_TO_OFF MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value Could not transition properly and went back to ALL OFF mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
195 12706 12701 0x31a2 0x319d U_TX_OUT_OF_BOUNDS NEG_V_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
196 12707 12702 0x31a3 0x319e I_TX_OUT_OF_BOUNDS U_DRO_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
197 12708 12703 0x31a4 0x319f U_MPA_OUT_OF_BOUNDS I_DRO_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
198 12709 12704 0x31a5 0x31a0 I_MPA_OUT_OF_BOUNDS U_X8_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
199 12710 12705 0x31a6 0x31a1 U_HPA_OUT_OF_BOUNDS I_X8_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
200 12711 12706 0x31a7 0x31a2 I_HPA_OUT_OF_BOUNDS U_TX_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
201 12800 12707 0x3200 0x31a3 TRANSITION_OTHER_SIDE_FAILED I_TX_OUT_OF_BOUNDS HIGH MEDIUM No description P1: 0 -> too low, 1 -> too high P2: Float value mission/system/objects/AcsBoardAssembly.h mission/payload/PayloadPcduHandler.h
202 12801 12708 0x3201 0x31a4 NOT_ENOUGH_DEVICES_DUAL_MODE U_MPA_OUT_OF_BOUNDS HIGH MEDIUM No description P1: 0 -> too low, 1 -> too high P2: Float value mission/system/objects/AcsBoardAssembly.h mission/payload/PayloadPcduHandler.h
203 12802 12709 0x3202 0x31a5 POWER_STATE_MACHINE_TIMEOUT I_MPA_OUT_OF_BOUNDS MEDIUM No description P1: 0 -> too low, 1 -> too high P2: Float value mission/system/objects/AcsBoardAssembly.h mission/payload/PayloadPcduHandler.h
204 12803 12710 0x3203 0x31a6 SIDE_SWITCH_TRANSITION_NOT_ALLOWED U_HPA_OUT_OF_BOUNDS LOW MEDIUM Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination P1: 0 -> too low, 1 -> too high P2: Float value mission/system/objects/AcsBoardAssembly.h mission/payload/PayloadPcduHandler.h
205 12900 12711 0x3264 0x31a7 TRANSITION_OTHER_SIDE_FAILED I_HPA_OUT_OF_BOUNDS HIGH MEDIUM No description P1: 0 -> too low, 1 -> too high P2: Float value mission/system/objects/SusAssembly.h mission/payload/PayloadPcduHandler.h
206 12901 12800 0x3265 0x3200 NOT_ENOUGH_DEVICES_DUAL_MODE TRANSITION_OTHER_SIDE_FAILED HIGH No description mission/system/objects/SusAssembly.h mission/system/acs/AcsBoardAssembly.h
207 12902 12801 0x3266 0x3201 POWER_STATE_MACHINE_TIMEOUT NOT_ENOUGH_DEVICES_DUAL_MODE MEDIUM HIGH No description mission/system/objects/SusAssembly.h mission/system/acs/AcsBoardAssembly.h
208 12903 12802 0x3267 0x3202 SIDE_SWITCH_TRANSITION_NOT_ALLOWED POWER_STATE_MACHINE_TIMEOUT LOW MEDIUM Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination No description mission/system/objects/SusAssembly.h mission/system/acs/AcsBoardAssembly.h
209 13000 12803 0x32c8 0x3203 CHILDREN_LOST_MODE SIDE_SWITCH_TRANSITION_NOT_ALLOWED MEDIUM LOW No description Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination mission/system/objects/TcsBoardAssembly.h mission/system/acs/AcsBoardAssembly.h
210 13100 12804 0x332c 0x3204 GPS_FIX_CHANGE DIRECT_TRANSITION_TO_DUAL_OTHER_GPS_FAULTY INFO MEDIUM Fix has changed. P1: Old fix. P2: New fix 0: Not seen, 1: No Fix, 2: 2D-Fix, 3: 3D-Fix This is triggered when the assembly would have normally switched the board side, but the GPS device of the other side was marked faulty. P1: Current submode. mission/devices/devicedefinitions/GPSDefinitions.h mission/system/acs/AcsBoardAssembly.h
211 13101 12900 0x332d 0x3264 CANT_GET_FIX TRANSITION_OTHER_SIDE_FAILED LOW HIGH Could not get fix in maximum allowed time. P1: Maximum allowed time to get a fix after the GPS was switched on. No description mission/devices/devicedefinitions/GPSDefinitions.h mission/system/acs/SusAssembly.h
212 13200 12901 0x3390 0x3265 P60_BOOT_COUNT NOT_ENOUGH_DEVICES_DUAL_MODE INFO HIGH P60 boot count is broadcasted once at SW startup. P1: Boot count No description mission/devices/P60DockHandler.h mission/system/acs/SusAssembly.h
213 13201 12902 0x3391 0x3266 BATT_MODE POWER_STATE_MACHINE_TIMEOUT INFO MEDIUM Battery mode is broadcasted at startup. P1: Mode No description mission/devices/P60DockHandler.h mission/system/acs/SusAssembly.h
214 13202 12903 0x3392 0x3267 BATT_MODE_CHANGED SIDE_SWITCH_TRANSITION_NOT_ALLOWED MEDIUM LOW Battery mode has changed. P1: Old mode. P2: New mode Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination mission/devices/P60DockHandler.h mission/system/acs/SusAssembly.h
215 13600 13000 0x3520 0x32c8 SUPV_UPDATE_FAILED CHILDREN_LOST_MODE LOW MEDIUM update failed No description linux/devices/ploc/PlocSupvUartMan.h mission/system/tcs/TcsBoardAssembly.h
216 13601 13100 0x3521 0x332c SUPV_UPDATE_SUCCESSFUL GPS_FIX_CHANGE LOW INFO update successful Fix has changed. P1: Old fix. P2: New fix 0: Not seen, 1: No Fix, 2: 2D-Fix, 3: 3D-Fix linux/devices/ploc/PlocSupvUartMan.h mission/acs/archive/GPSDefinitions.h
217 13602 13101 0x3522 0x332d SUPV_CONTINUE_UPDATE_FAILED CANT_GET_FIX LOW Continue update command failed Could not get fix in maximum allowed time. P1: Maximum allowed time to get a fix after the GPS was switched on. linux/devices/ploc/PlocSupvUartMan.h mission/acs/archive/GPSDefinitions.h
218 13603 13200 0x3523 0x3390 SUPV_CONTINUE_UPDATE_SUCCESSFUL P60_BOOT_COUNT LOW INFO Continue update command successful P60 boot count is broadcasted once at SW startup. P1: Boot count linux/devices/ploc/PlocSupvUartMan.h mission/power/P60DockHandler.h
219 13604 13201 0x3524 0x3391 TERMINATED_UPDATE_PROCEDURE BATT_MODE LOW INFO Terminated update procedure by command Battery mode is broadcasted at startup. P1: Mode linux/devices/ploc/PlocSupvUartMan.h mission/power/P60DockHandler.h
220 13605 13202 0x3525 0x3392 SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL BATT_MODE_CHANGED LOW MEDIUM Requesting event buffer was successful Battery mode has changed. P1: Old mode. P2: New mode linux/devices/ploc/PlocSupvUartMan.h mission/power/P60DockHandler.h
221 13606 13600 0x3526 0x3520 SUPV_EVENT_BUFFER_REQUEST_FAILED SUPV_UPDATE_FAILED LOW Requesting event buffer failed update failed linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
222 13607 13601 0x3527 0x3521 SUPV_EVENT_BUFFER_REQUEST_TERMINATED SUPV_UPDATE_SUCCESSFUL LOW Terminated event buffer request by command P1: Number of packets read before process was terminated update successful linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
223 13608 13602 0x3528 0x3522 SUPV_MEM_CHECK_OK SUPV_CONTINUE_UPDATE_FAILED INFO LOW No description Continue update command failed linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
224 13609 13603 0x3529 0x3523 SUPV_MEM_CHECK_FAIL SUPV_CONTINUE_UPDATE_SUCCESSFUL INFO LOW No description Continue update command successful linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
225 13616 13604 0x3530 0x3524 SUPV_SENDING_COMMAND_FAILED TERMINATED_UPDATE_PROCEDURE LOW No description Terminated update procedure by command linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
226 13617 13605 0x3531 0x3525 SUPV_HELPER_REQUESTING_REPLY_FAILED SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL LOW Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of supervisor helper Requesting event buffer was successful linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
227 13618 13606 0x3532 0x3526 SUPV_HELPER_READING_REPLY_FAILED SUPV_EVENT_BUFFER_REQUEST_FAILED LOW Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of supervisor helper Requesting event buffer failed linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
228 13619 13607 0x3533 0x3527 SUPV_MISSING_ACK SUPV_EVENT_BUFFER_REQUEST_TERMINATED LOW Did not receive acknowledgement report P1: Number of bytes missing P2: Internal state of MPSoC helper Terminated event buffer request by command P1: Number of packets read before process was terminated linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
229 13620 13608 0x3534 0x3528 SUPV_MISSING_EXE SUPV_MEM_CHECK_OK LOW INFO Supervisor did not receive execution report P1: Number of bytes missing P2: Internal state of supervisor helper No description linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
230 13621 13609 0x3535 0x3529 SUPV_ACK_FAILURE_REPORT SUPV_MEM_CHECK_FAIL LOW INFO Supervisor received acknowledgment failure report P1: Internal state of supervisor helper No description linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
231 13622 13616 0x3536 0x3530 SUPV_EXE_FAILURE_REPORT SUPV_SENDING_COMMAND_FAILED LOW Execution report failure P1: No description linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
232 13623 13617 0x3537 0x3531 SUPV_ACK_INVALID_APID SUPV_HELPER_REQUESTING_REPLY_FAILED LOW Supervisor expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of supervisor helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
233 13624 13618 0x3538 0x3532 SUPV_EXE_INVALID_APID SUPV_HELPER_READING_REPLY_FAILED LOW Supervisor helper expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of supervisor helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
234 13625 13619 0x3539 0x3533 ACK_RECEPTION_FAILURE SUPV_MISSING_ACK LOW Failed to receive acknowledgment report P1: Return value P2: Apid of command for which the reception of the acknowledgment report failed Did not receive acknowledgement report P1: Number of bytes missing P2: Internal state of MPSoC helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
235 13626 13620 0x353a 0x3534 EXE_RECEPTION_FAILURE SUPV_MISSING_EXE LOW Failed to receive execution report P1: Return value P2: Apid of command for which the reception of the execution report failed Supervisor did not receive execution report P1: Number of bytes missing P2: Internal state of supervisor helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
236 13627 13621 0x353b 0x3535 WRITE_MEMORY_FAILED SUPV_ACK_FAILURE_REPORT LOW Update procedure failed when sending packet. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written Supervisor received acknowledgment failure report P1: Internal state of supervisor helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
237 13628 13622 0x353c 0x3536 SUPV_REPLY_SIZE_MISSMATCH SUPV_EXE_FAILURE_REPORT LOW No description Execution report failure P1: linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
238 13629 13623 0x353d 0x3537 SUPV_REPLY_CRC_MISSMATCH SUPV_ACK_INVALID_APID LOW No description Supervisor expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
239 13630 13624 0x353e 0x3538 SUPV_UPDATE_PROGRESS SUPV_EXE_INVALID_APID INFO LOW Will be triggered every 5 percent of the update progress. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written Supervisor helper expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
240 13631 13625 0x353f 0x3539 HDLC_FRAME_REMOVAL_ERROR ACK_RECEPTION_FAILURE INFO LOW No description Failed to receive acknowledgment report P1: Return value P2: Apid of command for which the reception of the acknowledgment report failed linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
241 13632 13626 0x3540 0x353a HDLC_CRC_ERROR EXE_RECEPTION_FAILURE INFO LOW No description Failed to receive execution report P1: Return value P2: Apid of command for which the reception of the execution report failed linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
242 13700 13627 0x3584 0x353b FDIR_REACTION_IGNORED WRITE_MEMORY_FAILED MEDIUM LOW No description Update procedure failed when sending packet. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written mission/devices/devicedefinitions/SyrlinksDefinitions.h linux/payload/PlocSupvUartMan.h
243 13701 13628 0x3585 0x353c TX_ON SUPV_REPLY_SIZE_MISSMATCH INFO LOW Transmitter is on now. P1: Submode, P2: Current default datarate. No description mission/devices/devicedefinitions/SyrlinksDefinitions.h linux/payload/PlocSupvUartMan.h
244 13702 13629 0x3586 0x353d TX_OFF SUPV_REPLY_CRC_MISSMATCH INFO LOW Transmitter is off now. No description mission/devices/devicedefinitions/SyrlinksDefinitions.h linux/payload/PlocSupvUartMan.h
245 13800 13630 0x35e8 0x353e MISSING_PACKET SUPV_UPDATE_PROGRESS LOW INFO No description Will be triggered every 5 percent of the update progress. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written mission/devices/devicedefinitions/ScexDefinitions.h linux/payload/PlocSupvUartMan.h
246 13801 13631 0x35e9 0x353f EXPERIMENT_TIMEDOUT HDLC_FRAME_REMOVAL_ERROR LOW INFO No description mission/devices/devicedefinitions/ScexDefinitions.h linux/payload/PlocSupvUartMan.h
247 13802 13632 0x35ea 0x3540 MULTI_PACKET_COMMAND_DONE HDLC_CRC_ERROR INFO No description mission/devices/devicedefinitions/ScexDefinitions.h linux/payload/PlocSupvUartMan.h
248 13701 0x3585 TX_ON INFO Transmitter is on now. P1: Submode, P2: Current default datarate. mission/com/syrlinksDefs.h
249 13702 0x3586 TX_OFF INFO Transmitter is off now. mission/com/syrlinksDefs.h
250 13800 0x35e8 MISSING_PACKET LOW No description mission/payload/scexHelpers.h
251 13801 0x35e9 EXPERIMENT_TIMEDOUT LOW No description mission/payload/scexHelpers.h
252 13802 0x35ea MULTI_PACKET_COMMAND_DONE INFO No description mission/payload/scexHelpers.h
253 13901 0x364d SET_CONFIGFILEVALUE_FAILED MEDIUM No description mission/utility/GlobalConfigHandler.h
254 13902 0x364e GET_CONFIGFILEVALUE_FAILED MEDIUM No description mission/utility/GlobalConfigHandler.h
255 13903 0x364f INSERT_CONFIGFILEVALUE_FAILED MEDIUM No description mission/utility/GlobalConfigHandler.h
256 13904 0x3650 WRITE_CONFIGFILE_FAILED MEDIUM No description mission/utility/GlobalConfigHandler.h
257 13905 0x3651 READ_CONFIGFILE_FAILED MEDIUM No description mission/utility/GlobalConfigHandler.h
258 14000 0x36b0 ALLOC_FAILURE MEDIUM No description bsp_q7s/core/CoreController.h mission/sysDefs.h
259 14001 0x36b1 REBOOT_SW MEDIUM LOW Software reboot occurred. Can also be a systemd reboot. P1: Current Chip, P2: Current Copy bsp_q7s/core/CoreController.h mission/sysDefs.h
260 14002 0x36b2 REBOOT_MECHANISM_TRIGGERED MEDIUM The reboot mechanism was triggered. P1: First 16 bits: Last Chip, Last 16 bits: Last Copy, P2: Each byte is the respective reboot count for the slots bsp_q7s/core/CoreController.h mission/sysDefs.h
261 14003 0x36b3 REBOOT_HW MEDIUM No description bsp_q7s/core/CoreController.h mission/sysDefs.h
262 14004 0x36b4 NO_SD_CARD_ACTIVE HIGH No SD card was active. Core controller will attempt to re-initialize a SD card. bsp_q7s/core/CoreController.h mission/sysDefs.h
263 14005 0x36b5 VERSION_INFO INFO P1: Byte 0: Major, Byte 1: Minor, Byte 2: Patch, Byte 3: Has Git Hash P2: First four letters of Git SHA is the last byte of P1 is set. bsp_q7s/core/CoreController.h mission/sysDefs.h
264 14006 0x36b6 CURRENT_IMAGE_INFO INFO P1: Current Chip, P2: Current Copy bsp_q7s/core/CoreController.h mission/sysDefs.h
265 14100 14007 0x3714 0x36b7 NO_VALID_SENSOR_TEMPERATURE REBOOT_COUNTER MEDIUM INFO No description Total reboot counter, which is the sum of the boot count of all individual images. mission/controller/ThermalController.h mission/sysDefs.h
266 14101 14008 0x3715 0x36b8 NO_HEALTHY_HEATER_AVAILABLE INDIVIDUAL_BOOT_COUNTS MEDIUM INFO No description Get the boot count of the individual images. P1: First 16 bits boot count of image 0 0, last 16 bits boot count of image 0 1. P2: First 16 bits boot count of image 1 0, last 16 bits boot count of image 1 1. mission/controller/ThermalController.h mission/sysDefs.h
267 14102 14010 0x3716 0x36ba SYRLINKS_OVERHEATING TRYING_I2C_RECOVERY HIGH No description I2C is unavailable. Trying recovery of I2C bus by power cycling all I2C devices. mission/controller/ThermalController.h mission/sysDefs.h
268 14103 14011 0x3717 0x36bb PLOC_OVERHEATING I2C_REBOOT HIGH No description I2C is unavailable. Recovery did not work, performing full reboot. mission/controller/ThermalController.h mission/sysDefs.h
269 14104 14012 0x3718 0x36bc OBC_OVERHEATING PDEC_REBOOT HIGH No description PDEC recovery through reset was not possible, performing full reboot. mission/controller/ThermalController.h mission/sysDefs.h
270 14105 14100 0x3719 0x3714 HPA_OVERHEATING NO_VALID_SENSOR_TEMPERATURE HIGH MEDIUM No description mission/controller/ThermalController.h mission/controller/tcsDefs.h
271 14106 14101 0x371a 0x3715 PLPCDU_OVERHEATING NO_HEALTHY_HEATER_AVAILABLE HIGH MEDIUM No description mission/controller/ThermalController.h mission/controller/tcsDefs.h
272 14102 0x3716 SYRLINKS_OVERHEATING HIGH No description mission/controller/tcsDefs.h
273 14104 0x3718 OBC_OVERHEATING HIGH No description mission/controller/tcsDefs.h
274 14105 0x3719 CAMERA_OVERHEATING HIGH No description mission/controller/tcsDefs.h
275 14106 0x371a PCDU_SYSTEM_OVERHEATING HIGH No description mission/controller/tcsDefs.h
276 14107 0x371b HEATER_NOT_OFF_FOR_OFF_MODE MEDIUM No description mission/controller/tcsDefs.h
277 14108 0x371c MGT_OVERHEATING MEDIUM No description mission/controller/tcsDefs.h
278 14201 0x3779 TX_TIMER_EXPIRED INFO The transmit timer to protect the Syrlinks expired P1: The current timer value mission/system/com/ComSubsystem.h
279 14202 0x377a BIT_LOCK_TX_ON INFO Transmitter will be turned on due to detection of bitlock mission/system/com/ComSubsystem.h
280 14300 0x37dc POSSIBLE_FILE_CORRUPTION LOW P1: Result code of TM packet parser. P2: Timestamp of possibly corrupt file as a unix timestamp. mission/persistentTmStoreDefs.h
281 14301 0x37dd FILE_TOO_LARGE LOW File in store too large. P1: Detected file size P2: Allowed file size mission/persistentTmStoreDefs.h
282 14302 0x37de BUSY_DUMPING_EVENT INFO No description mission/persistentTmStoreDefs.h
283 14305 0x37e1 DUMP_OK_STORE_DONE INFO P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
284 14306 0x37e2 DUMP_NOK_STORE_DONE INFO P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
285 14307 0x37e3 DUMP_MISC_STORE_DONE INFO P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
286 14308 0x37e4 DUMP_HK_STORE_DONE INFO P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
287 14309 0x37e5 DUMP_CFDP_STORE_DONE INFO P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
288 14310 0x37e6 DUMP_OK_CANCELLED LOW P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
289 14311 0x37e7 DUMP_NOK_CANCELLED LOW P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
290 14312 0x37e8 DUMP_MISC_CANCELLED LOW P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
291 14313 0x37e9 DUMP_HK_CANCELLED LOW P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
292 14314 0x37ea DUMP_CFDP_CANCELLED LOW P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h

View File

@ -30,6 +30,8 @@
0x44120350;RW4
0x44130001;STAR_TRACKER
0x44130045;GPS_CONTROLLER
0x44130046;GPS_0_HEALTH_DEV
0x44130047;GPS_1_HEALTH_DEV
0x44140013;IMTQ_POLLING
0x44140014;IMTQ_HANDLER
0x442000A1;PCDU_HANDLER
@ -42,10 +44,14 @@
0x443200A5;RAD_SENSOR
0x44330000;PLOC_UPDATER
0x44330001;PLOC_MEMORY_DUMPER
0x44330002;STR_HELPER
0x44330002;STR_COM_IF
0x44330003;PLOC_MPSOC_HELPER
0x44330004;AXI_PTME_CONFIG
0x44330005;PTME_CONFIG
0x44330006;PTME_VC0_LIVE_TM
0x44330007;PTME_VC1_LOG_TM
0x44330008;PTME_VC2_HK_TM
0x44330009;PTME_VC3_CFDP_TM
0x44330015;PLOC_MPSOC_HANDLER
0x44330016;PLOC_SUPERVISOR_HANDLER
0x44330017;PLOC_SUPERVISOR_HELPER
@ -74,11 +80,15 @@
0x44420030;RTD_14_IC17_TCS_BOARD
0x44420031;RTD_15_IC18_IMTQ
0x445300A3;SYRLINKS_HANDLER
0x445300A4;SYRLINKS_COM_HANDLER
0x49000001;ARDUINO_COM_IF
0x49000002;DUMMY_COM_IF
0x49010006;SCEX_UART_READER
0x49020006;SPI_RTD_COM_IF
0x49030003;UART_COM_IF
0x49060004;ACS_BOARD_POLLING_TASK
0x49060005;RW_POLLING_TASK
0x49060006;SPI_RTD_COM_IF
0x49060007;SUS_POLLING_TASK
0x50000100;CCSDS_PACKET_DISTRIBUTOR
0x50000200;PUS_PACKET_DISTRIBUTOR
0x50000300;TCP_TMTC_SERVER
@ -104,6 +114,7 @@
0x53000008;PUS_SERVICE_8_FUNCTION_MGMT
0x53000009;PUS_SERVICE_9_TIME_MGMT
0x53000011;PUS_SERVICE_11_TC_SCHEDULER
0x53000015;PUS_SERVICE_15_TM_STORAGE
0x53000017;PUS_SERVICE_17_TEST
0x53000020;PUS_SERVICE_20_PARAMETERS
0x53000200;PUS_SERVICE_200_MODE_MGMT
@ -126,12 +137,15 @@
0x60000004;HEATER_4_CAMERA
0x60000005;HEATER_5_STR
0x60000006;HEATER_6_DRO
0x60000007;HEATER_7_HPA
0x60000007;HEATER_7_SYRLINKS
0x73000001;ACS_BOARD_ASS
0x73000002;SUS_BOARD_ASS
0x73000003;TCS_BOARD_ASS
0x73000004;RW_ASS
0x73000004;RW_ASSY
0x73000006;CAM_SWITCHER
0x73000007;SYRLINKS_ASSY
0x73000008;IMTQ_ASSY
0x73000009;STR_ASSY
0x73000100;TM_FUNNEL
0x73000101;PUS_TM_FUNNEL
0x73000102;CFDP_TM_FUNNEL
@ -142,7 +156,16 @@
0x73010002;PL_SUBSYSTEM
0x73010003;TCS_SUBSYSTEM
0x73010004;COM_SUBSYSTEM
0x73500000;CCSDS_IP_CORE_BRIDGE
0x73020001;MISC_TM_STORE
0x73020002;OK_TM_STORE
0x73020003;NOT_OK_TM_STORE
0x73020004;HK_TM_STORE
0x73030000;CFDP_TM_STORE
0x73040000;LIVE_TM_TASK
0x73040001;LOG_STORE_AND_TM_TASK
0x73040002;HK_STORE_AND_TM_TASK
0x73040003;CFDP_STORE_AND_TM_TASK
0x73040004;DOWNLINK_RAM_STORE
0x90000003;THERMAL_TEMP_INSERTER
0xCAFECAFE;DUMMY_INTERFACE
0xFFFFFFFF;NO_OBJECT

1 0x42694269 TEST_TASK
30 0x44120350 RW4
31 0x44130001 STAR_TRACKER
32 0x44130045 GPS_CONTROLLER
33 0x44130046 GPS_0_HEALTH_DEV
34 0x44130047 GPS_1_HEALTH_DEV
35 0x44140013 IMTQ_POLLING
36 0x44140014 IMTQ_HANDLER
37 0x442000A1 PCDU_HANDLER
44 0x443200A5 RAD_SENSOR
45 0x44330000 PLOC_UPDATER
46 0x44330001 PLOC_MEMORY_DUMPER
47 0x44330002 STR_HELPER STR_COM_IF
48 0x44330003 PLOC_MPSOC_HELPER
49 0x44330004 AXI_PTME_CONFIG
50 0x44330005 PTME_CONFIG
51 0x44330006 PTME_VC0_LIVE_TM
52 0x44330007 PTME_VC1_LOG_TM
53 0x44330008 PTME_VC2_HK_TM
54 0x44330009 PTME_VC3_CFDP_TM
55 0x44330015 PLOC_MPSOC_HANDLER
56 0x44330016 PLOC_SUPERVISOR_HANDLER
57 0x44330017 PLOC_SUPERVISOR_HELPER
80 0x44420030 RTD_14_IC17_TCS_BOARD
81 0x44420031 RTD_15_IC18_IMTQ
82 0x445300A3 SYRLINKS_HANDLER
83 0x445300A4 SYRLINKS_COM_HANDLER
84 0x49000001 ARDUINO_COM_IF
85 0x49000002 DUMMY_COM_IF
86 0x49010006 SCEX_UART_READER
0x49020006 SPI_RTD_COM_IF
87 0x49030003 UART_COM_IF
88 0x49060004 ACS_BOARD_POLLING_TASK
89 0x49060005 RW_POLLING_TASK
90 0x49060006 SPI_RTD_COM_IF
91 0x49060007 SUS_POLLING_TASK
92 0x50000100 CCSDS_PACKET_DISTRIBUTOR
93 0x50000200 PUS_PACKET_DISTRIBUTOR
94 0x50000300 TCP_TMTC_SERVER
114 0x53000008 PUS_SERVICE_8_FUNCTION_MGMT
115 0x53000009 PUS_SERVICE_9_TIME_MGMT
116 0x53000011 PUS_SERVICE_11_TC_SCHEDULER
117 0x53000015 PUS_SERVICE_15_TM_STORAGE
118 0x53000017 PUS_SERVICE_17_TEST
119 0x53000020 PUS_SERVICE_20_PARAMETERS
120 0x53000200 PUS_SERVICE_200_MODE_MGMT
137 0x60000004 HEATER_4_CAMERA
138 0x60000005 HEATER_5_STR
139 0x60000006 HEATER_6_DRO
140 0x60000007 HEATER_7_HPA HEATER_7_SYRLINKS
141 0x73000001 ACS_BOARD_ASS
142 0x73000002 SUS_BOARD_ASS
143 0x73000003 TCS_BOARD_ASS
144 0x73000004 RW_ASS RW_ASSY
145 0x73000006 CAM_SWITCHER
146 0x73000007 SYRLINKS_ASSY
147 0x73000008 IMTQ_ASSY
148 0x73000009 STR_ASSY
149 0x73000100 TM_FUNNEL
150 0x73000101 PUS_TM_FUNNEL
151 0x73000102 CFDP_TM_FUNNEL
156 0x73010002 PL_SUBSYSTEM
157 0x73010003 TCS_SUBSYSTEM
158 0x73010004 COM_SUBSYSTEM
159 0x73500000 0x73020001 CCSDS_IP_CORE_BRIDGE MISC_TM_STORE
160 0x73020002 OK_TM_STORE
161 0x73020003 NOT_OK_TM_STORE
162 0x73020004 HK_TM_STORE
163 0x73030000 CFDP_TM_STORE
164 0x73040000 LIVE_TM_TASK
165 0x73040001 LOG_STORE_AND_TM_TASK
166 0x73040002 HK_STORE_AND_TM_TASK
167 0x73040003 CFDP_STORE_AND_TM_TASK
168 0x73040004 DOWNLINK_RAM_STORE
169 0x90000003 THERMAL_TEMP_INSERTER
170 0xCAFECAFE DUMMY_INTERFACE
171 0xFFFFFFFF NO_OBJECT

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