Firov

[1.0.4] Smart Parts v1.6.6 | DDS Textures and Bug Fixes | July 5

637 posts in this topic

bsYV8a2.jpg

Smart Parts Pack


Parts Overview:

  • Auto-staging device that detects empty tanks and SRBs
  • Timer that triggers stages and action groups after a countdown
  • Remote controller that triggers actions on nearby vessels
  • Altimeter device that triggers actions and stages once a user defined altitude is reached
  • Radial fuel controllers that control fuel lines' flow
  • In-line fuel controller that controls fuel flow
  • A fuel valve to dump excess fuel and produce slight thrust
  • Proximity sensor capable of detecting other proximity sensors

About the Pack:

Smart Parts can trigger all 10 action groups, as well as various other functionality such as SAS, lights, stage, or abort.


Parts:

Staging Controllers

-------------------

The Staging Controllers can be attached to any part that contains a resource. The device detects when the selected resource is depleted on that tank and then fires the selected action group or stage. Fully supports real fuels.

Fuel Breakers and Controllers

-------------------

Controls fuel drain via action groups and a context menu. Breakers break one large fuel tank into segments that fuel lines can individually drain, far less shifting overall center of mass.

Radio Controller

-------------------

Sends events to other radio controllers on a channel. All radio controllers in range (typically < 2000 m) will execute the command if the channel matches. You can also set the throttle and heading of remote vessels.

Timer

-------------------

Triggers a delayed staging or action group event. The staging event is executed on the vessel to which the timer is attached, therefore able to trigger a timed action even on an inactive vessel (e.g., a separated booster). The timer itself can be activated via staging.

Valve

-------------------

Drains any excess resources, except electricity. Attach it to the tank that you would like to drain and then activate via action group or staging. Produces a small amount of thrust, useful for nudging external tanks away from the main craft. Fully supports real fuels.

Altimeter

-------------------

Capable of detecting when the craft hits a specified altitude, and if it's ascending, descending, or either, and then firing an action group or staging. Useful for auto-jettisoning fairings on ascent, or activating parachutes on landing.

Proximity Detector

------------------

Monitors other proximity detectors that are configured on the same 'channel' (20 total) and can fire actions on local and remote craft. As with altimeter, it is capable of firing on approach, departure, or both. Capable of automatic reset.


Changelog:

  • v0.1.0 Initial release
  • v0.2.0 Trigger improvements
    • Heading control over radio
    • Improved altimeter device (Thanks to Firov)
    • Bugfix in the timer code
    • Fixed overly long part names
    • Added example craft
    • Corrected size descriptions of fuel breakers

    [*]v1.0.0 Smart Parts Update and New Example Craft

    • Added example craft for smart parts
    • Minor fixes for smart parts
    • Optimized altimeter scale
    • Made fuel detector more robust against remaining fuel in empty tanks
    • New KM_Lib.dll

    [*]v1.1.0 Fuel Valve and Detail Improvements

    • Activation and deactivation action group commands for altimeter and fuel detector
    • Beep command to beep when a condition occurs
    • Fuel valve to drain excess fuel
    • Staging for the timer
    • Improved fuel drain detection (should not fire prematurely)

    [*]v1.2.0 Improved fuel sensor, valve and altimeter

    • The stager now works with any resource (including electric charge and custom resources)
    • The valve now works with any resource (excluding electric charge). Other resources (e.g., real fuels should work, too.)
    • Removed double word in descriptions
    • Tweakable added to allow removal of timer staging icon
    • Altimeter altitude detection logic tweaked. Now works over water and buildings!
    • Altimeter no longer requires specifiying if it fires "above" or "below"
    • Altimeter now supports automatic reset as a result of above change

    [*]v1.3.0 Improved parts and bugfixes

    • Fixed bug that resulted in a lack of physics on parts ejected by altimeter
    • Fixed bug that created an empty stage whenever staging was activated by a SmartPart
    • Fuel valve now generates minimal amount of thrust and can be staged
    • Timer timescales adjusted. Added 0-30 seconds in .2 second increments and .5 to 60 minutes in .5 minute increments

    [*]v1.4.0 Upgraded GUI, Improved parts, and KSP .24 compatibility

    • Compatibility with KSP .24
    • Implemented new GUI to allow more control of Smart Parts
    • Improved Stager
      • Works with any resources, including electricity or custom resources
      • Allows user to select resource to monitor in VAB/SPH
      • Allows user to select target percentage

      [*]Improved Fuel Controller

      • Crossfeed tweakable now accessible in VAB/SPH
      • Removed redundant fuel controller ("ON")

    [*]v1.4.1 KSP .24.1 compatibility

    • KSP .24.1 compatibility

    [*]v1.4.2 KSP .24.2 compatibility

    • KSP .24.2 compatibility

    [*]v1.4.3 Updated KSPAPIExtension and Real Fuels compatbility

    • Updated KSPAPIExtension to 1.7.0
    • Auto stager now fully supports Real Fuels and will auto update on tank resource change
    • No longer dependant on km_lib.dll

    [*]v1.4.4 Updated KSPAPIExtension to add KSP 0.25 compatibility

    • Compatibility update for KSP 0.25
    • Updated KSPAPIExtension to 1.7.1

    [*]v1.4.5 Updated KSPAPIExtension to add KSP 0.90 compatibility and bug fixes

    • Compatibility update for KSP 0.90
    • Updated KSPAPIExtension to 1.7.2
    • Hopefully fixed bug affecting timer firing upon save load or scene change

    [*]v1.5.1 Added support for KSP-AVC and changed "brand"

    • Added full support for Action Groups Extended (Thanks to Diazo)
    • Added support for KSP-AVC
    • Changed "brand" from Klockheed Martian to prevent mod incompatibilities
      • Please delete old Smart Parts folder before installing v1.5.1

    [*]​v1.5.2 Bug Fixes

    • Timer now accounts for timewarp (Thanks to NobodysNightmare)

    [*]v1.5.3 KSP 1.0.2 Compatibility and Bug Fixes

    • KSP 1.0.2 compatibility
    • Auto stager now properly activates when rounding errors result in minor fraction (<= 1%) of resource remaining in tank

    [*]v1.6.0 Proximity Sensor

    • New proximity sensor part
      • Allows up to 20 individual 'channels' to monitor
      • Capable of firing actions on both the remote and local crafts
      • Will select nearest object on the same channel as target
      • Similar logic to altimeter smart part - fire on approach, departure, or both
      • Works out to 2,000 meters
      • As placeholder, shares model with radio. Planned to change in future. Will not break craft.

    [*]v1.6.1 Version File Update

    • Updated SmartParts.version file

    [*]v1.6.2 Proximity Detector Bug Fixes

    • Fixed (hopefully) bug that could prevent proximity detector from firing actions on remote craft

    [*]v1.6.3 KIS Support

    • Added KIS support (Thanks to Diazo)

    [*]v1.6.4 Bug Fixes

    • Fixed bug with name/description of new proximity sensor
    • WARNING! - Will break craft using old proximity sensor! Remove part before upgrading!

    [*]v1.6.5 Altimeter AGL/ASL Selector + Bug Fixes

    • Fixed various bugs with proximity sensor
    • Fixed bug with altimeter that could cause it to trigger prematuraly on planets/moons with no ocean
    • Altimeter now allows user to select AGL or ASL selection
      • ASL mode will still use AGL if over planet with no ocean
      • AGL mode will still use ASL if it is over water

    [*]v1.6.6 KSP 1.0.4 Compatibility, DDS Textures, and Bug Fixes

    • KSP 1.0.4 compatibility
    • Fixed bug with auto stager that could cause premature activation when set to 0%
    • DDS Textures (Thanks to InsanePlumber)
      • Please delete old Smart Parts folder before installing v1.6.6


Installation:

-----------------

Important! Please follow the steps EVERY TIME you update Smart Parts! All public releases are located here:

Smart Parts Release Page

  1. Download the latest version of Smart Parts
  2. If you are updating the mod, delete the old Smart Parts folder (eg. Klockheed_Martian_SmartParts)
  3. Unzip the Release.zip archive into the GameData directory

Credits and Acknowledgments

-----------------

SmartParts uses Swamp-Ig's KSPAPIExtensions

SmartParts uses cybutek's Add-on Version Checker

Notices

-----------------

This mod includes version checking using MiniAVC. If you opt-in, it will use the internet to check whether there is a new version available. Data is only read from the internet and no personal information is sent. For a more comprehensive version checking experience, please download the KSP-AVC Plugin.

License

-----------------

This work is shared under Creative Commons CC BY-NC-SA 3.0 license.

Author: dtobi and Firov

Edited by Firov
15 people like this

Share this post


Link to post
Share on other sites

Uh, awesome? I have to ask though, some of these parts, the fuel breaks, are part of your SSE pack. Will they conflict? ... Ah heck, I'll just give it a try. I think I speak for EVERYONE when I say, "A timer? Uh ... YES. FINALLY."

EDIT: I see you also updated SSE, still, I can give feedback on these parts here.

Edited by Hyomoto

Share this post


Link to post
Share on other sites
Uh, awesome? I have to ask though, some of these parts, the fuel breaks, are part of your SSE pack. Will they conflict? ... Ah heck, I'll just give it a try.

These parts are also part of SSE. I just updated SSE to contain all of these. Just make sure you run SSE 0.9.1 and you'll be fine.

Share this post


Link to post
Share on other sites
How does "Remote control" work?

The readme says:

How to use the Radio Controller

-----------------------------------

The radio controller can send events to remote vessels with other radio controllers that operate on the same channel. All radio controllers in range (typically < 2000 m) will execute the command if the channel matches. You can also set the throttle of remote vessels.

....

basically you just slap one radio on each vessel and as soon as they are in rendering range (~ 2 km) you can issues commands to the other vessel. You can also bind transmission events to action groups. So you can just hit a key (say 7) and trigger transmission of Action Group 7 (or 5 or any other) to it. The radio will transmit it to ALL ships in range on the same channel and they will execute the action group 7 binding (or 5 or any other you specify). You can also set RCS, SAS, fire stages, turn on and off lights...

Share this post


Link to post
Share on other sites
The readme says:

How to use the Radio Controller

-----------------------------------

The radio controller can send events to remote vessels with other radio controllers that operate on the same channel. All radio controllers in range (typically < 2000 m) will execute the command if the channel matches. You can also set the throttle of remote vessels.

....

basically you just slap one radio on each vessel and as soon as they are in rendering range (~ 2 km) you can issues commands to the other vessel. You can also bind transmission events to action groups. So you can just hit a key (say 7) and trigger transmission of Action Group 7 (or 5 or any other) to it. The radio will transmit it to ALL ships in range on the same channel and they will execute the action group 7 binding (or 5 or any other you specify). You can also set RCS, SAS, fire stages, turn on and off lights...

Can I make it have a hot pot of coffee waiting for me after rendezvous and docking?

Share this post


Link to post
Share on other sites
Can I make it have a hot pot of coffee waiting for me after rendezvous and docking?

Well, if you can bind the coffee maker to an action group, sure! ;-)

Share this post


Link to post
Share on other sites

Can you change fuel flow braker dimensions 1, 1.5, 2, 3.25m -> 0.625, 1.25, 2.5, 3.75, 5m ?

Share this post


Link to post
Share on other sites
Can you change fuel flow braker dimensions 1, 1.5, 2, 3.25m -> 0.625, 1.25, 2.5, 3.75, 5m ?

Actually, the 1m part is a 1.25 and the 2m part is a 2.5. KSP has its internal conversion f..ed up and I got confused. Do you intend to use it with some specific mod for larger rockets?

The 0.625 could be an issue. Either it has to be quite heavy or it will wobble like crazy (wobble and flexibility depend on the part weight).

Share this post


Link to post
Share on other sites

Just all standart fuel tanks and engines usually (in stock and most modes) 0.625, 1.25, 2.5, 3.75, 5m.

Of course, we can use StretchTank...but it's not good idea, non-standart dimension.

Happy New Year, folk!:wink:

Edited by katalex-3

Share this post


Link to post
Share on other sites

I'm starting to feel old. As soon as I saw your radio control mod claims, I flashed on Captain Kirk lecturing "you have to learn how things work on a starship . . . . "

I will definitely be trying these toys out. These look like new commands to a programmer -- and a rocket is a lot like a program, where you create it, execute it, see what blew up and went wrong, and go back and fix that. So these are just automatic traps for events . . . . fits right into my thinking on how I like to do rockets.

Share this post


Link to post
Share on other sites

Ohh this looks very interresting. Quick question about the timer module. You can use it to trigger chutes on SRB's after having decoupled them off the main craft but what if the SRB's become further than 2km away in kerbin? Will it still dissapear like anything other debris or will it force the game not to remove it and can actually land the SRB while my ship is far away in orbit?

Share this post


Link to post
Share on other sites

I'm having some trouble using the altitude trigger device. No matter what I set as the target altitude it fires at just under 18 kilometers from Kerbin's surface. I'm trying to have it auto deploy antennas and jettison fairings at an altitude of between 40 and 50 kilometers, but it fires off way to early. Any idea what might be causing this?

Edit - Hmm. Never mind. It appears it's not scaled in thousands of meters as I originally thought. It's literally between 0 and 100 meters. dtobi, any chance you might consider adding an altitude multiplier tweakable for these so we can use them during ascent?

Edited by Firov

Share this post


Link to post
Share on other sites

So.. that 99km load distance LazorSystem has... Plus this = insane fun.

Share this post


Link to post
Share on other sites
Edit - Hmm. Never mind. It appears it's not scaled in thousands of KM as I originally thought. It's literally between 0 and 100 kilometers. dtobi, any chance you might consider adding an altitude multiplier tweakable for these so we can use them during ascent?

For what kind of ascent do you need that trigger at more than 100km up? atmosphere cutoff is at 70, and even around 40 it's already mostly irrelevant.

Share this post


Link to post
Share on other sites

Ohh, this opens worlds, thanks! I shall, however, paint some blue over the orange casings to be more stock-alike; my Kerbals fear change.

For what kind of ascent do you need that trigger at more than 100km up? atmosphere cutoff is at 70, and even around 40 it's already mostly irrelevant.

Something like that could be useful as a simple SOI change detector when someone doesn't want to use kOS or the like.

Edited by Andersenman

Share this post


Link to post
Share on other sites
For what kind of ascent do you need that trigger at more than 100km up? atmosphere cutoff is at 70, and even around 40 it's already mostly irrelevant.

Sorry, that was a typo on my part. I mean it currently triggers only between 0 to 100 meters. I'm just used to typing out kilometers.

So a tweakable multiplier value that allows us to multiply by 1,000, for example would be handy if we wanted to trigger stuff at higher altitudes during ascent, such as dropping fairings or deploying remote tech antennas, which I usually do between 50 and 60 kilometers.

Share this post


Link to post
Share on other sites

How to use the Timer

----------------------

The timer device that can trigger a delayed staging or action group event. The staging event is executed on the vessel the timer is attached to. So you can even trigger a timed action on an _inactive_ vessel (e.g., a separated booster). You can use the timer to start a retro rocket on a spent stage after a time or to delay the release of a parachute on a decoupled booster (no more dancing detached parachuted booster stages).

How exactly is this supposed to work? I am having trouble replicating just that functionality: Decouple spent boosters and have their chutes deploy with a delay.

Problem: The Timer starts running when the stage is activated where it is attached. However, if the Timer is attached to the NEXT stage, it cannot trigger the action groups of the detached boosters.

[table=width: auto]

[tr]

[td]Steps to reproduce:

1. Launch game, visit VAB.

2. Pick any probe body

3. attach an SRB underneath

4. attach a radial decoupler to the SRB

5. attach an SRB to the decoupler

6. attach a chute to the radial SRB

7. attach the TIMER to the radial SRB

8. grab decoupler, use Symmetry to multiply them to have at least two strap-on boosters.

9. assign action group 'ABORT' to chutes

10. make the TIMERS trigger action group 'ABORT'

11. move all chutes to separate stage 0 so that they are not opened by regular staging

12. leave other staging at default (should be: 3. strap-on SRB, 2. radial decouplers, 1. center SRB) and launch vehicle

13. note chutes triggering after strap-on boosters have ignited

14. Revert to VAB

15. remove TIMERS, attach them to central SRB

16. leave staging unchanged and launch vehicle

17. proceed through staging until central SRB lights up

18. note TIMER activating after set time (see light) but booster's chutes remain closed[/td]

[td]6bybaSQ.jpg[/td]

[/tr]

[/table]

So how do I do this exactly?

Edited by Andersenman

Share this post


Link to post
Share on other sites
How exactly is this supposed to work? I am having trouble replicating just that functionality: Decouple spent boosters and have their chutes deploy with a delay.

Problem: The Timer starts running when the stage is activated where it is attached. However, if the Timer is attached to the NEXT stage, it cannot trigger the action groups of the detached boosters.

[table=width: auto]

[tr]

[td]Steps to reproduce:

1. Launch game, visit VAB.

2. Pick any probe body

3. attach an SRB underneath

4. attach a radial decoupler to the SRB

5. attach an SRB to the decoupler

6. attach a chute to the radial SRB

7. attach the TIMER to the radial SRB

8. grab decoupler, use Symmetry to multiply them to have at least two strap-on boosters.

9. assign action group 'ABORT' to chutes

10. make the TIMERS trigger action group 'ABORT'

11. move all chutes to separate stage 0 so that they are not opened by regular staging

12. leave other staging at default (should be: 3. strap-on SRB, 2. radial decouplers, 1. center SRB) and launch vehicle

13. note chutes triggering after strap-on boosters have ignited

14. Revert to VAB

15. remove TIMERS, attach them to central SRB

16. leave staging unchanged and launch vehicle

17. proceed through staging until central SRB lights up

18. note TIMER activating after set time (see light) but booster's chutes remain closed[/td]

[td]http://i.imgur.com/6bybaSQ.jpg[/td]

[/tr]

[/table]

So how do I do this exactly?

Ouch you're right. The part is somewhat broken because it activates accidentally during staging. It should only activate with an action group. I'll upload a fixed version soon. Thanks for reporting the issue.

Edited by dtobi

Share this post


Link to post
Share on other sites
Ouch you're right. The part is somewhat broken because it activates accidentally during staging. It should only activate with an action group.

Maybe not quite. Instead of not activating at all during staging, maybe it should merely start listening for AG events? That way one wouldn't need to waste an action group to trigger the timer for something that is being dropped by staging anyhow - this, and binding the timer to Action Group "Stage" would fire the countdown during ANY staging even when the timer isn't needed until much later.

So, the default behaviour could be "Start listening upon staging", and a Tweakable switch could offer the two other possible modes "Dont' react to staging at all" and "Start countdown right away".

Edited by Andersenman

Share this post


Link to post
Share on other sites
Maybe not quite. Instead of not activating at all during staging, maybe it should merely start listening for AG events? That way one wouldn't need to waste an action group to trigger the timer for something that is being dropped by staging anyhow - this, and binding the timer to Action Group "Stage" would fire the countdown during ANY staging even when the timer isn't needed until much later.

So, the default behaviour could be "Start listening upon staging", and a Tweakable switch could offer the two other possible modes "Dont' react to staging at all" and "Start countdown right away".

I'll consider that for a future release. Right now I have some trouble with setting up a stagable timer properly (that's why it doesn't shpw up and wor properly with staging). I'll remove the staging actions completely. As yoiu say: one has to waste an action group then but it works reliably.

Share this post


Link to post
Share on other sites

A new update is out. Thanks to everyone who made suggestions and comments!

V0.2 Trigger improvements

* Heading control over radio

* Improved altimeter device (thanks to Firov)

* Bugfix in the timer code

* Fixed overly long part names

* Added example craft

* Corrected size descriptions of fuel breakers

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now