I was browsing your repository and found this bit of code which is very similar to some of our old code. We had a problem where if one task failed to initialize, the init task would stop trying to initialize the rest of the tasks, resulting in a system that was less useable than it could have been. In particular, I see that your watchdog task initializes last giving it the highest risk for not starting. Since it's such an important feature, it should be allowed to start no matter what. The same is true for any task, in my opinion.
I was browsing your repository and found this bit of code which is very similar to some of our old code. We had a problem where if one task failed to initialize, the init task would stop trying to initialize the rest of the tasks, resulting in a system that was less useable than it could have been. In particular, I see that your watchdog task initializes last giving it the highest risk for not starting. Since it's such an important feature, it should be allowed to start no matter what. The same is true for any task, in my opinion.
https://github.com/USST-RADSAT-SK/software-and-command/blob/6a4c8ffe7854863e1a088f8df216a5a274e290f3/radsat-sk/src/main.c#L285