Jump to content
The simFlight Network Forums

Throttle FSX control


Recommended Posts

I see in ESP docs that there is a "Throttle Lower Limit" control (Aircraft Engine Data, Simulation Variables).

It isn't a control, but a value. Variables are not controls! (In the SDK controls are called 'events').

it is available through FSUIPC offset 0B00, as it always has been in fact, and is usually either 0 (idle), or for those aircraft with reverse thrust on the throttle control, something like -4096, but varying depending on the value provided by the Aircraft.CFG file. (for example -0.25 there is -4096, as the possible throttle range is -16384 to +16383).

This value is automatically used as the minimum value (max reverse thrust if you like) applied by FSUIPC's reversers and reverse zone throttle calibrations. And it isn't new in ESP, it's been available in FS and FSUIPC for many FS versions, at least as far back as FS98 I think.

Regards

Pete

Link to comment
Share on other sites

Crystal clear.

Besides learning what is what, I also realised that this will not do the trick I am after.

What I am trying to do is:

while airborne

when PL go lower than a certain point and until full stop >>> keep Flight Idle

(the Ground Idle is at throttle back stop).

That would be for F1 ATR.

1. As far as I understand, this could be done EITHER:

a. through Axis Assignment and setting 3 ranges (using the Key_Throttle_Set control with a parameter suitable for FI for the middle one), OR

b. through Lua sript.

2. A macro would not be an option for this purpose.

I would prefer 1b

a. so I don't have to deassign throttle from FSX, and assign it for each one profile in FSUIPC.

b. range setting can be a little awkward for that use.

Anyhow, could you please confirm that above points 1,2 are valid so I can start working in the right direction?

Thanks again for your support.

Link to comment
Share on other sites

What I am trying to do is:

while airborne

when PL go lower than a certain point and until full stop >>> keep Flight Idle

(the Ground Idle is at throttle back stop).

Sorry, I don't understand. What is PL? And how do you get a "full stop" while airborne?

Are you simply saying you don't want the throttle value to go below a certain positive value whilst in the air, no matter what you do with the throttle lever?

1. As far as I understand, this could be done EITHER:

a. through Axis Assignment and setting 3 ranges (using the Key_Throttle_Set control with a parameter suitable for FI for the middle one), OR

b. through Lua sript.

2. A macro would not be an option for this purpose.

I would prefer 1b

Assuming I understand correct;y, 1b would be the easiest in any case.

Have the Lua loaded and run automatically using the [Auto.<name>] section in the FSUIPC INI file -- aircraft or profile specific so it only applies to the one aircraft.

Make it event driven, on changes to whichever of offsets 332E to 3336 are applicable (generic throttle, and throttles1 to 4). You need to set the relevant bit(s) in offset 310A-310B, to disconnect the relevant throttles, and you also need a timer event at, say, 5 seconds (5000 mSecs) to refresh that..

Then, on intercepting the throttle offset changes, check you are airborne (offset 0366 == 0), and if so check the throttle value provided, and if it is lower than your flight idle, change it to flight idle, then, either way, write it to the correct throttle offsets (088C or as appropriate).

If writing to the throttles directly doesn't work for the particular aircraft (and this is possible if it is doing its own throttle control based of FS Control inputs), you'd need to send it by FS control instead. For that you'd probably need to scale the result back to the -16k to +16k range (i.e. x2 then -16k).

Please do make sure you use the latest FSUIPC version (see Download Links subforum) for this, as the 332E-3336 offsets have had a few problems of late which I've only just sorted properly.

Regards

Pete

Link to comment
Share on other sites

Thanks a lot for clarifying and for guidance on using proper offsets (saved me a lot of time).

Yes, you have understood precisely what I would like to do.

PL=Power Levers

"full stop" read "throttle back stop" (idle)

Latest FSUIPC (4.745) already installed ... ooops, I am going for the 4.746.

Link to comment
Share on other sites

Following your guidance, everything is set and working fine.

Just two points for my better understanding:

  1. when throttle joystick axis is reconnected to controls (so 310A is reset to 0) it seems that 088C and 0924 (twin engine) are "stuck" to the last written value and do not immediately get the current value from joystick axis (and equal 322E). That is in the case the joystick axis is perfectly stationary at any position. A slight "nudge" gets things back to normal. So, best is just after 310A=0, write the content of 322E to 088C and 0924 and let them roll. Is this expected ?
  2. 089A and the like offsets for other engines are always at 0 value (as displayed by monitoring). For which use are they for exactly (I have been through the Offset doc, but I expected them to be updated as 088C et al) ?

vbr

Link to comment
Share on other sites

when throttle joystick axis is reconnected to controls (so 310A is reset to 0) it seems that 088C and 0924 (twin engine) are "stuck" to the last written value and do not immediately get the current value from joystick axis (and equal 322E). That is in the case the joystick axis is perfectly stationary at any position. A slight "nudge" gets things back to normal. So, best is just after 310A=0, write the content of 322E to 088C and 0924 and let them roll. Is this expected ?

Yes, as it stands at present, that is true. The changes in 310A/310B merely tell FSUIPC what to do with further incoming axis values. They don't invoke any action in themselves. Axis inputs are only processed when the axis value changes, as you've noticed.

089A and the like offsets for other engines are always at 0 value (as displayed by monitoring). For which use are they for exactly (I have been through the Offset doc, but I expected them to be updated as 088C et al) ?

They are write-only offsets used instead of writing direct to 088C etc when you want those inputs to be disconnectable. Offsets 310A/B do NOT stop software controlling the throttles via 088C etc (which would defeat the object), so another offset was needed to allow programmed throttles using offsets rather than axis inputs to send their values in a way which could be disconnected by 310A/B. This mechanism is used, for example, in the 737 simulator by Andras Kozma and now at Budapest. In fact it was Andras who requested the facility.

Regards

Pete

Link to comment
Share on other sites

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.

Loading...
 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.