Jump to content

[1.12.x] Sensible Pumps -- solving an annoying problem of range safety


linuxgurugamer

Recommended Posts

2 hours ago, linuxgurugamer said:

But Stage Recovery does not require anything on it for recovery, unless that is a new requirement.

I should have said "required for my play style". I don't like driving up part count by putting enough parachutes on each discarded stage to ensure that Stage Recovery can recover it. Instead, I have it try to perform a powered recovery. I leave a little Dv and either separate while still on sub-orbital trajectory, or separate in orbit, have control, and establish sub-orbital trajectory and let Stage Recovery do it's thing while I go on with my mission.

 

1 hour ago, linuxgurugamer said:

New release, 1.2.6:

  • Fixed non-working in 1.4.1
  • Major Improvement - Optimized code by using onPartDeCoupleComplete instead of an OnFixedUpdate
  • Updated version to allow all 1.4.1-1.4.99 versions

You're the man!

Link to comment
Share on other sites

8 minutes ago, leatherneck6017 said:

I should have said "required for my play style". I don't like driving up part count by putting enough parachutes on each discarded stage to ensure that Stage Recovery can recover it. Instead, I have it try to perform a powered recovery. I leave a little Dv and either separate while still on sub-orbital trajectory, or separate in orbit, have control, and establish sub-orbital trajectory and let Stage Recovery do it's thing while I go on with my mission.

Ah.  Makes sense, but unfortunately, as long as it has some sort of control, this won't work.

Link to comment
Share on other sites

12 minutes ago, linuxgurugamer said:

Ah.  Makes sense, but unfortunately, as long as it has some sort of control, this won't work.

Haven't had a chance to try out the update, but you're saying it still won't work if I have a BOMP or some other controller on the separated stage?

Link to comment
Share on other sites

11 minutes ago, leatherneck6017 said:

Haven't had a chance to try out the update, but you're saying it still won't work if I have a BOMP or some other controller on the separated stage?

That's correct, that's the way it's written.

For what you want, you may want to look at kOS to see if a simple script can be written to do that

Link to comment
Share on other sites

5 minutes ago, leatherneck6017 said:

Haven't had a chance to try out the update, but you're saying it still won't work if I have a BOMP or some other controller on the separated stage?

From the description of the mod:

Quote

Engines which are part of vessels which cannot be controlled, i.e. are debris, will immediately shut off, and do so only once.

(Emphasis added.)  The engines you're talking about can be controlled.  There is no way for this mod to determine whether you intended for the engines on them to be running or not - and you can always switch to them and shut the engines down.

Just yesterday I was doing something that would look basically identical as far as this mod was concerned - I was setting up a network of comm-sats.   Get to the top of the resonant orbit, drop off the next satellite in the constellation...  Which of course needs it's engine to be running to circularize the orbit.  How is this mod supposed to guess when it should be shutting down the engines if it could be a probe that's just activated them?  The point is to shut down the engines *when you can't.*  You have a controller.  You can do it yourself.

Link to comment
Share on other sites

5 minutes ago, linuxgurugamer said:

That's correct, that's the way it's written.

For what you want, you may want to look at kOS to see if a simple script can be written to do that

 

5 minutes ago, DStaal said:

From the description of the mod:

(Emphasis added.)  The engines you're talking about can be controlled.  There is no way for this mod to determine whether you intended for the engines on them to be running or not - and you can always switch to them and shut the engines down.

Just yesterday I was doing something that would look basically identical as far as this mod was concerned - I was setting up a network of comm-sats.   Get to the top of the resonant orbit, drop off the next satellite in the constellation...  Which of course needs it's engine to be running to circularize the orbit.  How is this mod supposed to guess when it should be shutting down the engines if it could be a probe that's just activated them?  The point is to shut down the engines *when you can't.*  You have a controller.  You can do it yourself.

Got it. I was misunderstanding how it was supposed to (or not supposed to) work. Now that I think about it, this mainly applies to my first stage which I try to separate somewhere in the upper atmo before circulization. In orbit I don't separate under thrust, so it's a non-issue to have a probe on it for the purpose of doing a manual pro-grade burn. I suppose if I'm required by Stage Recovery to have a working controller for powered recovery, I will just have to create an action group for the first stage separation that shuts down the engine and jettisons the stage. Stage Recovery should be able to re-ignite the engine, I hope.

Link to comment
Share on other sites

  • 3 weeks later...

@linuxgurugamer Could it be that this mod only throws exceptions when the decoupled stage allready is out of fuel (the "normal" case)?

Exception handling event onPartCoupleComplete in class SensiblePumps:System.NullReferenceException: Object reference not set to an instance of an object
  at SensiblePumps.SensiblePumps.onPartDecoupleComplete (.Part p) [0x00000] in <filename unknown>:0 
  at EventData`1[Part].Fire (.Part data) [0x00000] in <filename unknown>:0 
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

NullReferenceException: Object reference not set to an instance of an object
  at SensiblePumps.SensiblePumps.onPartDecoupleComplete (.Part p) [0x00000] in <filename unknown>:0 
  at EventData`1[Part].Fire (.Part data) [0x00000] in <filename unknown>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
EventData`1:Fire(Part)
Part:decouple(Single)
ModuleDockingNode:Decouple()
ModuleDockingNode:DecoupleAction(KSPActionParam)
BaseAction:Invoke(KSPActionParam)
ActionGroupList:ToggleGroup(KSPActionGroup)
FlightInputHandler:Update()
 
(Filename:  Line: -1)

This is spammed as long as the decoupled stage is in physics range (as it seems).

Link to comment
Share on other sites

5 hours ago, Gordon Dry said:

@linuxgurugamer Could it be that this mod only throws exceptions when the decoupled stage allready is out of fuel (the "normal" case)?


Exception handling event onPartCoupleComplete in class SensiblePumps:System.NullReferenceException: Object reference not set to an instance of an object
  at SensiblePumps.SensiblePumps.onPartDecoupleComplete (.Part p) [0x00000] in <filename unknown>:0 
  at EventData`1[Part].Fire (.Part data) [0x00000] in <filename unknown>:0 
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

NullReferenceException: Object reference not set to an instance of an object
  at SensiblePumps.SensiblePumps.onPartDecoupleComplete (.Part p) [0x00000] in <filename unknown>:0 
  at EventData`1[Part].Fire (.Part data) [0x00000] in <filename unknown>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
EventData`1:Fire(Part)
Part:decouple(Single)
ModuleDockingNode:Decouple()
ModuleDockingNode:DecoupleAction(KSPActionParam)
BaseAction:Invoke(KSPActionParam)
ActionGroupList:ToggleGroup(KSPActionGroup)
FlightInputHandler:Update()
 
(Filename:  Line: -1)

This is spammed as long as the decoupled stage is in physics range (as it seems).

No, it seems to happen even when the stage has fuel.

But I think I found the problem

New release, 1.2.6.1:

  • Fixed nullref which occurred after decoupling a vessel
Link to comment
Share on other sites

  • 2 months later...
14 minutes ago, linuxgurugamer said:

What do you mean by range safety option?

An option displayed on the probe part that lets you destroy the vessel you're flying, this is implemented in RO/RP-0. It is very useful with unmanned starts, or when you have failure in atmosphere,  so destroying the vessel save you lot of time instead of waiting it crashes on the ground.

Link to comment
Share on other sites

12 minutes ago, linuxgurugamer said:

No, this doesnt.

Sounds like that needs to be on some sort of probe control

Yes ok, I asked because I saw "solving range safety" in the topic's title, thanks linux. :)

Link to comment
Share on other sites

  • 1 year later...

This does not really work with RealFuels and with RCS thrusters which are used for RCS ullage (MechJeb), so a spent stage with avionics still "thinks" it has to burn the engine, the tank is empty so the RCS is used instead (also MechJeb).

Link to comment
Share on other sites

  • 2 months later...

Hi @linuxgurugamer,

I ran into a problem with Sensible Pumps. I use the tweak mentioned here: 

to add the ability to set the name of my vessel by stage using the decouplers (similar to a discussion you and I had regarding PDPN a while back). However, this makes Sensible Pumps fail to function. I tested this on my test environment which was stock + Sensible Pumps + the TriggerAu tweak (which I would upload as my first ever tiny mod to share with the community if I could figure out how!). Note that the decoupled stages *do not* have control. I don't know why the engines won't shut down with the stage having it's own name, but I can replicate it every time.

If this is only going to effect me, then I can just learn to live without Sensible Pumps. But if you have an idea as to what is happening and if it's an easy fix, would you mind taking a look at it? I know you're busy, and this is not a priority.

Logs here: https://1drv.ms/u/s!AoyHZiRU1jT-zbo-HBMR2-GSeVhiqw?e=6hM2h4

Thank you, and please let me know if you have questions or want me to try anything.

Link to comment
Share on other sites

  • 1 month later...
  • 1 year later...
  • 8 months later...
  • 3 months later...

I was forgetting what name this mod was, and I've finally found it again.

Could we get it on CKAN (or have its CKAN entry updated)? I'm on 1.12 and looking at mods compatible back to 1.9, and I'm not seeing it in CKAN when I remember it being on there.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...