Delta-V isn't labeled when the next staging doesn't contain propelling equipment
KSPanier opened this issue ยท 6 comments
Basically what the title says: When the next staging would only jettison useless stuff, that doesn't propell the craft but has extra mass (e.g. fairings) the vessel-information don't show the delta-V and related values of the current stage.
I have the same problem.
After some tests, I noticed it only occurs when the control unit is not the last thing to be jettisoned.
No payload: vac deltaV 3871
If I add some RCS tanks to simulate a payload, MechJeb does not recalculate deltaV (or does with wrong parameters).
Note: Rocket/Jet fuel tanks don't have this problem
1.1t payload: vac deltaV 3871 (the same)
However, if I reset the stages, it apparently calculates correctly.
1.1t payload: vac deltaV 2912
Also, when adding a functional stage (control unit+fuel tank+engine), MechJeb doesn't show deltaV for that stage.
Stage 0 is the LV909.
Stage 2 is the LVT45.
Hope this help
Thanks for the nice test case! I'm looking into it now. Some comments:
In @benneralan's first image, the dV is displayed for stage 0 and not stage 1, even though the engine is in stage 1. This is intentional. MechJeb anticipates that stage 1 will be staged away immediately, and the entire burn will occur during stage 0, so the dV is displayed for stage 0. If this is what @KSPanier was originally talking about, this is intended behavior and not a bug.
@benneralan's second image is still correct (or at least intended) behavior. As before, MJ anticipates immediately dropping stage 1, so it is not affecting the dV estimates.
@benneralan's third image shows a bug. The extra weight is going to be dropped before the engine ever fires, yet the extra weight is somehow affecting the displayed dV.
@benneralan's fourth image shows correct (or at least intended) behavior. MJ won't show any dV estimate for the LV909 probe, because it is going to be decoupled from the main vessel before its engine ever fires.
OK, cbaf5e6 should fix the problem in @benneralan's third image. The issue was that if there was a decoupler in the first stage, the dV simulation was not simulating its activation, so the extra weight wasn't being decoupled in the simulation.
I'll mark this issue as fixed; please comment if there's some aspect of this that I have missed that is still broken.
In the situation shown in the second image, why would MechJeb assume that decoupler will be immediately fired to drop the RCS tanks? The auto-staging system won't automatically decouple those parts, right? (Based on my understanding from the discussion of auto-staging in another issue thread...)
It appears the ghost of this issue has appeared in the latest version.
Storyline
- Mechjeb executing all nodes as if craft has 0 delta v (delta v stats shows no information, no stages at all)
- Found this, have a craft with loads of fuel only stages
- Dropped a few engines into the next stage. Everything works fine, all delta v stats as they should be.
This is only since upgrading to 0.23.5 and mechjeb 2.2