Hi there!
So, after a long time of on-and-off development I think I have something that is going (more or less) in the right direction regarding the SSMEs.
It's not perfect, it's not particularly efficient and certainly not final, but right now I just want to create the skeleton of the thing and make it do something. Then I'll change and improve things as I get more data and I understand how things work. This is too complex and I don't know nearly enough to try and make a final version strait from the start.
But before I upload the code I have some problems that need to be addressed:
(1) The scenario and mission files. Somewhere there needs to be a definition of the version of the engine, the version of the controller and the version of the software that is going to run. And that needs to come before the subsystems start reading the scenario file, so that the classes also get to load their states. I tested putting those defs in the mission file and only creating the SSMEs after the mission file is read, and it worked (also had to move the RealizeSubsystemConnections call). But that is dependant on the mission file existing...
(2) There is also the problem of talking/listening to the engines. First I need some pointers about the BusController and associated classes that are going to be talking to the EIUs. Also what exactly are the EIUs going to be receiving? I have created some command tables to be read by the controller but is 100% made up... Then come the GPCs. I found some diagrams explaining (more or less) what is done in the SSME SOP, so I think I could write it, but I know nothing about the GPCs as they stand right now.