- Joined
- Oct 26, 2011
- Messages
- 1,226
- Reaction score
- 591
- Points
- 128
A long-term project of mine is finally done, a big update of the Saturn V LVDC. It's mostly a reorganization of the code, but there are some new features. In a way this update to the LVDC code is the same one that happened to the actual LVDC software between Apollo 11 and 12. They called it the "generalized flight program" and its goal was to "
facilitate easier program modification and promote economical utilization of LVDC core memory". To quote the astrionics handbook:
So you could say this update implements a more modern coding standard in the LVDC++, instead of using one large timestep function with lots of goto/label. The most obvious new feature is a minor loop support routine, that calculates attitude increments for the attitude control in the minor loop. In short, it makes the steering smoother.
This update causes the LVDC to not work in old scenarios anymore, so I have created new mission scenarios for the missions where we had scenarios. Old scenarios before liftoff are fine (except Apollo 9) and scenarios after having left behind the S-IVB are also fine, this update causes no CTDs or so. There could be many new bugs, so if you see something unusual, please report it.
facilitate easier program modification and promote economical utilization of LVDC core memory". To quote the astrionics handbook:
The generalized Flight Program System is composed of two basic parts or subsystems; the application subsystem and the control subsystem. The application subsystem is a collection of programs whose sole purpose is to perform the individual actions or functions which comprise the task of an LVDC flight program for a given mission or missions. The control subsystem, however, is mission independent and is itself divided into three parts; an executive control program. a common utility package, and a common communications and data area. The primary purpose of the control subsystem is to control the sequence and order of operation of all programmed functions specified for a particular mission task.
So you could say this update implements a more modern coding standard in the LVDC++, instead of using one large timestep function with lots of goto/label. The most obvious new feature is a minor loop support routine, that calculates attitude increments for the attitude control in the minor loop. In short, it makes the steering smoother.
This update causes the LVDC to not work in old scenarios anymore, so I have created new mission scenarios for the missions where we had scenarios. Old scenarios before liftoff are fine (except Apollo 9) and scenarios after having left behind the S-IVB are also fine, this update causes no CTDs or so. There could be many new bugs, so if you see something unusual, please report it.