Jump to content

[1.8, 1.9, 1.10] Davon Throttle Control systems mod Renewed


linuxgurugamer

Recommended Posts

Originally written by @PrivateFlip, I have updated  it for modern versions of KSP.  Original thread is here:  https://forum.kerbalspaceprogram.com/index.php?/topic/35073-16-davon-throttle-control-systems-mod-v088/

 

Davon TC systems supply advanced throttle control capabilities. This includes but is not limited to separate, additional throttles to which individual engines can be slaved and several settings which modify the response of individual engines to throttle input. Allows saving of configuration in separate profile for use in multiple ships. Using technology of a bygone era it also supplies a very functional center thrust mode which adjusts the thrust of individual engines so as to balance asymmetrical or otherwise imbalanced craft and optionally supplies some throttle steering functionality.

Dependencies

  • Click Through Blocker
  • Toolbar Controller

Availability

Available in CKAN

 

zPOSIxs.png

 

  • As of now there are a also number of modes for individual engines. In addition to the Limit Thrust option already provided there is an Level Thrust option which has the engine level of at a certain percentage of its maximum thrust.   There is also an extra functionality to apply these modes to all engines of the similar model/type to save time.
  • The mod supplies four additional throttles to which individual engines can be slaved.
  • There is a center thrust mode which adjust individual engines so the Center of Thrust onto is aligned with the Center of Mass. This balances the thrust of a ship and should make asymmetrical ships more feasible.
  • The center thrust mode also supplies a throttle steering option. When throttle steering is enabled the center thrust mode also offsets the Center of Thrust based on input from controls and SAS. This allows steering of the vessel in combination with controls and stabilization of the vessel in combination with SAS
  • It is possible to save the configuration of engines and all settings in a profile for a vessel. The profile can be loaded again to other vessels of the same type.

Manual at the end of this post

A video by Scott Manley using the mod to attempt an engines only landing with a B9 Strugatsky.

 

 

Shuttle using the center thrust mode by SkyHook:

MsJOGPZ.png

Wiki

The complete manual is available in the wiki, located here:  https://github.com/linuxgurugamer/DavonTCsystemsMod/wiki as well as in the following post

Changes

  • Added support for the ClickThroughBlocker
  • Replaced stock toolbar code with ToolbarController
  • Added support for F2 (hide) to hide the UI
  • Added support for Pause to hide the UI
  • Added AddemblyVersion.tt
  • Added InstallChecker
  • Implemented standardized version number
  • Added .version file
  • Added support for alternate skin
  • Added stock settings page to support altSkin flag
  • Changed the updating of the toolbar from being in OnGUI to a coroutine, 1/second
  • Removed unnecessary functions from the DifferentialThrust.cs, by calling all the display methods from the OnGUI instead of additional methods
  • Added close button at upper right of all windows & removed old X button
  • Moved GUI.DragWindow() to end of each window function
  • Replaced hard-coded window IDs with generated from WindowHelper
  • Made buttons toggle instead of just enabling windows
  • New dependencies
    • ClickThroughBlocker
    • ToolBarController
    • SpaceTuxLibrary
  • Most Linq calls of FirstorDefault have been replaced with an "as" assignment
  • OnUpdate changed to FixedUpdate
Edited by linuxgurugamer
Link to comment
Share on other sites

Manual

#1 Startup

Spoiler

 

Add the part "differential thrust module" to your craft. You can find it under the control tab. It is unlocked with the "Specialized Control" tech tree node.

Before any of the functions of the module can be used it must be activated. The system is initiated by clicking the TC icon in the toolbar or by right clicking on the part and selecting "TC systems".

The module does make a backup of the configuration of the individual engine every ten seconds. When the module is reactivated at a later point, or when switching back to the vessel, it will automatically reload these settings to their respective engines and resume operations.

 

#2 main "Module" window

Spoiler

 

vlvXynb.png

Activating the module will automatically open the main window. From this window you can acces a number of functions.

All normal: Returns all engines on the craft to normal operation.

Center thrust: This button opens the "Center Thrust" window. This feature allows you to have the module automatically adjust the output of individual engines to bring the Center of Thrust behind the Center of Mass. See paragraph 4.

Throttle 1-4: This button opens the throttle window. This window will give four additional throttles in the form of sliders. Engines can be slaved to these extra throttles, giving more sophisticated manual control over engines. See paragraph 5.

Profiles: See paragraph 6

Deactivate: This button deactivates the entire module. Note that this button is also the only way to completely deactivate the module. Clicking on the TC icon in the toolbar will only close any open windows but the module will keep on functioning.

 

#3 Individual engine configuration

Spoiler

BLaSV10.png

After activation each engine will have a number of additional settings. These settings have been integrated into the right click menu of the engine. From top to bottom.

Thrust Limit: This setting is present in the stock game. This setting will have the engine operate at a percentage of the requested thrust.

Level Thrust: This setting will level off the thrust when the engine output reaches the set percentage of the maximum thrust. For example: if this is set at 50% of an engine with a maximum thrust of 150 kN, the engine will operate normally up until 75 kn, above this level the engine will however hold at this thrust.

Throttle: This setting allows you to select the throttle which should control this engine. 0 is the stock throttle while 1 through 4 correspond to the extra throttles this mod supplies. See parahraph 5 for further information.

Center Thrust: This toggle will determines the center thrust mode for the engine. It has three settings:

available: the default setting. In this setting the engine is available for center thrust mode corrections.

designated: In this setting the engine is designated as a center thrust engine. If the center thrust mode is set to only make use of designated engines, see paragraph 4, only these engines will be adjusted to center the thrust.

ignore: Engines set to this setting will not be taken into account in center of thrust calculations. This should only be used for engines facing in altogether different directions. This might be the case in certain VTOL designs.

net: This setting can toggled between connected and isolated. When set to 'Isolated' the engine will prevent the engine from being effected by the differential thrust module, additional throttles or other engines. By default this setting is set to 'Connected'.

Sync all: Copies the settings of this engine to all engines of the same model. (unless these other engines are set to Isolated)

#4 Center Thrust

Spoiler

 

3JGLChL.png

This mode alters the thrust of individual engines to provide a centered thrust to an otherwise unbalanced craft. Although the mode can be used to successfully balance the thrust with a wide variety of vessels you do need some background information for its correct operation and you should read this section in full.

The center thrust window can be opened by right clicking on the part and selecting and selecting "TC systems" and then clicking the Center thrust mode button. This opens the center thrust config window. (The main "Module" window can be closed if desired.)

The "Center Thrust" window presents a number of options.

Designated/All: This toggle determines whether the center thrust mode uses all engines to center the thrust or only designated engines. See paragraph 3 on how to designate an engine to center thrust mode.

Off/On: Toggles the center thrust mode on and off. When turned on all or a number of engines, depending on whether the mode is set to Designated or All, will be set to center thrust mode. (After turning on the center thrust mode the "Center Thrust" window can itself be closed if desired.)

Direction: This option opens the "Direction" window. If your engines are facing in another direction then backward in relation to the command module the ship is currently controlled from, you should first try to select another command module or docking port. If this is not possible you can use the this window to select the direction the engines are facing in relation to the command module.

This mode makes incremental adjustments to individual engines to over time move the Center of Thrust onto the Center of Mass. In the current version these adjustments are done fast enough to give a near instant corrections when necessary

The center thrust mode assumes all active engines are facing the same direction. This might cause issues in certain VTOL designs which have separate engines for vertical and forward movement. For these specific situations the engines facing other directions should be set to "ignore"; this will cause these engines to be ignored in Center of Thrust calculations.

For VTOL designs Diazo's Automated Vertical Velocity and Altitude Control can be use alongside this mod. It requires the vertical engines to be slaved to the main throttle. This mod can be used to automatically control the main throttle to have the VTOL craft to maintain a hover, or a gradual ascend or descend.

Throttle Steering: When this option is enabled the center thrust mode will offset the center of thrust based on input from the controls and SAS. It will also be used by SAS to stabilize the craft.

The exact amount of torque supplied can be set. The resulting torque will linearly scale with the size of the input. This allows precise control when used in combination with joystick. When used in combination with SAS this will result in a smooth and constant engine output.

The possible torque of throttle steering will in many cases be far greater than what can be supplied by other forms of control.

The default torque value is relatively low, but when the torque is set sufficiently high it can be used in combination with SAS to balance the thrust in response to drag for large unsymmetrical crafts. This is something which the center thrust functionality alone could not do because it does not compensate for drag and drag forces on unsymmetrical vessels are often to strong to compensate by conventional controls. When using the throttle steering in in combination with SAS, monitor KSP's control indicators in the lower left of the screen. When any of the these indicators nearing their maximum it is an indication the current torque setting is too low to compensate for drag forces.

#5 Throttles

Spoiler

yW53mQb.png

The module can supply four additional throttles. To access these throttles right click on the module and select TC systems and then click the Throttles button. After setting engines to one of the additional throttles, see paragraph 3, these engines can be controlled by the corresponding sliders in this window.

Controls: this button opens the Controls window:

buB35CE.png

Here you can link keyboard keys or joystick axis to a throttle. Select the throttle you want to set.

Enter the keys for throttle up and throttle down. The names of keys follow this convention (without "):

Normal keys: "a", "b", "c" ...

Number keys: "1", "2", "3", ...

Arrow keys: "up", "down", "left", "right"

Keypad keys: "[1]", "[2]", "[3]", "[+]", "[equals]"

Modifier keys: "right shift", "left shift", "right ctrl", "left ctrl", "right alt", "left alt", "right cmd", "left cmd"

Mouse Buttons: "mouse 0", "mouse 1", "mouse 2", ...

Joystick Buttons (from any joystick): "joystick button 0", "joystick button 1", "joystick button 2", ...

Joystick Buttons (from a specific joystick): "joystick 1 button 0", "joystick 1 button 1", "joystick 2 button 0", ...

Special keys: "backspace", "tab", "return", "escape", "space", "delete", "enter", "insert", "home", "end", "page up", "page down"

Function keys: "f1", "f2", "f3", ...

Alternatively enter the joystick number and axis number. This can be usually be accomplished with trial an error. Both joystick number and axis number start of from 0. So if you have one joystick with three axis the joystick number is likely 0 and the correct axis number is either 0, 1 or 2.

Press 'Set' to commit the chosen controls. If both data for keys and for joystick is enter the throttle will default to keys.

Press 'Clear' to remove current control settings from a throttle.

#6 Creating a ship profile

Spoiler

 

wTkfKzt.png

Right click on the module and select TC systems and then click the Profiles button. In this window you can save and load profiles for use in multiple ships of the same type. In addition to the configuration of individual engines this mode also saves all the other module settings.

Pro tips.

Spoiler

 

-If engines burn a different speed they will run out of fuel a different times.

-Be careful when trying to switch engines to different throttles while mid burn. This will hardly never work out exactly like imagined.

-The configuration of individual engines is only backed up into the central module every ten seconds. This should be taken into account when saving the game. For example: after making prelaunch adjustments to engines configuration you should wait ten seconds before making a your prelaunch quicksave.

 

Edited by linuxgurugamer
Link to comment
Share on other sites

On 9/3/2020 at 12:51 AM, DerekL1963 said:

Bug:  Module Manager informs me the mod is not compatible with this version of KSP.  (1.10.1)  Using Module Manager 4.1.4  Click Through Blocker (0.1.10.11) and Toolbar Controller (0.1.9.4) are both installed.

Log: https://www.dropbox.com/s/gtzdxi6yrpmjjvm/output_log.txt?dl=0

(screnshot about DavonTCsystemsMod.dll)

MM is a bit trigger happy while labeling DLLs as "incompatible". Most of the time, the DLL only suffered an Exception on the wrong place, triggering the Exception in a way that MM thinks its due incompatibility - but it can be anything else, from a corrupted or missing file being read while initializing the DLL, to a missing dependency.

Unfortunately, MM also masks the error on the output_log.txt - so I will need the KSP.log and most of the time also the files on <KSP>/Logs/ModuleManager in order to check exactly where and why the DLL had borked, so I can try to propose a fix.

Link to comment
Share on other sites

On 9/5/2020 at 11:46 PM, Lisias said:

MM is a bit trigger happy while labeling DLLs as "incompatible". Most of the time, the DLL only suffered an Exception on the wrong place, triggering the Exception in a way that MM thinks its due incompatibility - but it can be anything else, from a corrupted or missing file being read while initializing the DLL, to a missing dependency.

Unfortunately, MM also masks the error on the output_log.txt - so I will need the KSP.log and most of the time also the files on <KSP>/Logs/ModuleManager in order to check exactly where and why the DLL had borked, so I can try to propose a fix.


Here they are:  https://www.dropbox.com/s/vg04g746c8jzbk2/Throttle Mod Troubleshooting 01.zip?dl=0

Link to comment
Share on other sites

1 hour ago, DerekL1963 said:

Pretty comprehensive report, thank you!

[ERR 11:51:57.054] ADDON BINDER: Cannot resolve assembly: KSP_Log, Culture=neutral, PublicKeyToken=null

[ERR 11:51:57.054] ADDON BINDER: Cannot resolve assembly: KSP_Log, Culture=neutral, PublicKeyToken=null

[WRN 11:51:57.055] The script 'DifferentialThrustMod.DifferentialThrust' could not be instantiated!
[ERR 11:51:57.055] Cannot create a PartModule of typename 'DifferentialThrust'

You are missing a thingy called KSP_LOG. It's a dependency for DifferentialThrustMod (apparently), and since this thing must be instantiated on one of that "special" places I mentioned, MM improperly flags it as "incompatible".

I think you need to install this thing - but I failed to locate the source code on the DifferentialThrustMod where it's being used - so perhaps the DifferentialThrustMod is borking due something else that needs the KSP_LOG thingy and had borked first, and so the DifferentialThrustMod ended up taking the blame. :)

Install the SpaceTuxLibrary and see if things work now.

Cheers!

Link to comment
Share on other sites

19 hours ago, Lisias said:

Install the SpaceTuxLibrary and see if things work now.

Did so and it works gangbusters!  Thanks!

- Links need to be added to the first post for Click Through Blocker and Toolbar Controller.
- Space Tux Library needs to be added to the first post as a dependency.  (It's in the changelog, but not in the dependency list.)

Wishlist:

That the throttle window could be open without having to have the main window open .  (I know I can drag it out of the way, but then the next time I open it, it's in the out of the way position.)

Link to comment
Share on other sites

  • 1 month later...

Hey @linuxgurugamer! When installing Davon TC on my 1.9 install, ModuleManager tells me that the .DLL is incompatible with that version of KSP (1.9.1 to be exact), preventing the game from loading. How can I fix this? Is there a specific 1.9 version I can get?

(btw I got the mod from the Github releases page)

 

EDIT: nevermind, I'm an idiot. The solution is literally three posts above.

Edited by Emilius73
Link to comment
Share on other sites

14 minutes ago, Emilius73 said:

Following the instructions in the second post, I enable the center thrust module but it locks the thrust on all my engines to zero. How can I fix this?

(btw if you need me to send anything else, ask)

Do you have a joystick?  
What happens when you try to raise the throttle?

Link to comment
Share on other sites

51 minutes ago, linuxgurugamer said:

Do you have a joystick?  
What happens when you try to raise the throttle?

I was trying it with mouse and keyboard, and when I raise the throttle the mod keeps the engines' thrust limiters at 0.

Link to comment
Share on other sites

  • 2 weeks later...
On 10/16/2020 at 5:46 PM, Emilius73 said:

I was trying it with mouse and keyboard, and when I raise the throttle the mod keeps the engines' thrust limiters at 0.

Sorry, RL interfered.

Do you have a joystick attached to the computer?  It's possible that if there is one attached, it may be overriding the throttle

Link to comment
Share on other sites

  • 11 months later...
  • 1 year later...
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...