This is a refactored and updated version of PR #35 by @Aram1d.
Since I was unable to resolve merge conflicts in his original PR, which also contained several unrelated changes, I decided to manually rewrite Wilfried's code on top of the most current state. This commit, although slightly different, contains only his code (modulo a few minor fixes) and is still authored by him.
Overall, this PR as a whole does something a bit larger than the original PR:
the entire passive guidance loop has been factored out to a separate new module, pegas_atmo
pitch program configuration has been simplified: now it's a single pitchProgram entry
control config checks have been introduced
slight documentation improvements
This means there are now two ways to control atmospheric ascent:
the old way, using verticalAscentTime and pitchOverAngle,
the new way, using pitchProgram.
I'd say this fulfills the requirements described in #9 so...
Closes #9
Thank you @Aram1d for the contribution, and thank you @Patrykz94 for the original code review!
This is a refactored and updated version of PR #35 by @Aram1d.
Since I was unable to resolve merge conflicts in his original PR, which also contained several unrelated changes, I decided to manually rewrite Wilfried's code on top of the most current state. This commit, although slightly different, contains only his code (modulo a few minor fixes) and is still authored by him.
Overall, this PR as a whole does something a bit larger than the original PR:
pegas_atmo
pitchProgram
entrycontrol
config checks have been introducedThis means there are now two ways to control atmospheric ascent:
verticalAscentTime
andpitchOverAngle
,pitchProgram
.I'd say this fulfills the requirements described in #9 so...
Closes #9
Thank you @Aram1d for the contribution, and thank you @Patrykz94 for the original code review!