Recent commit breaks auto-staging for some separatron placements
Tallinu opened this issue ยท 7 comments
After commit 7bc8cd8 several of my rocket designs no longer auto-stage properly, because they include separatrons or equivalent mod parts that are aligned within 30 degrees of the ship's axis.
I've just confirmed that these craft work fine with the 2.0.8 release on KSP 0.20 - only the dev build has this problem.
Here is an example stock craft which illustrates two separatron arrangements that will no longer be auto-staged by MechJeb: https://dl.dropboxusercontent.com/u/203721/MJ%20Separatron%20Example.craft
Any sensible ascent AP settings should be fine for testing as long as auto-staging is enabled.
Wouldn't it make more sense to check whether the engine had been activated yet during the flight? Especially in cases where staging would both activate it and decouple it. And even if it wouldn't be activated by the next stage, there are cases where it could be useful to have SRBs and MJ / probe parts on some booster stages so that they could be deorbited later.
Yes, good idea, I suppose if an engine gets decoupled in the same stage in which it is activated, we should always guess that it is a sepratron. Presumably that will correctly recognize sepratrons most of the time.
Assuming the staging is set up correctly, that would definitely catch separatrons - or any other kind of SRB being used to separate a stage. Seps that aren't being activated upon decoupling would be missed and would still block staging - would be nice if it would allow decoupling of unused SRBs (that aren't being simultaneously activated) or of inaccessible fuel tanks as well, but that's a separate issue.
OK, 0166345 implements your suggestion; grab it from here if you want :http://jenkins.mumech.com/job/MechJeb2/
Okay, tested with several craft, and so far all my separatrons are working again.
Question about the logic it's using now: It's no longer checking if the engine is an SRB? Does this mean that liquid fueled engines could be used as separation motors during ascent, and would be auto-staged even though the stage they're decoupling has fuel onboard (fuel which cannot be accessed by any other engine besides those which are activating on separation)?
Well, as you are worrying, it probably still won't autostage liquid separation motors because of the presence of fuel in the discarded stage. Maybe at some point we will implement a smarter algorithm that checks what fuel is actually accessible by the active engines, but we haven't done it yet.