Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (โ‹ฎ) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

State of Sparky 747

Featured Replies

11 minutes ago, blingthinger said:

What's the difference between:

sim/flightmodel/engine/ENGN_thro

sim/flightmodel/engine/ENGN_thro_use

ย 

One is what comes from the joystick axis/autothrottle, the other is what it sends to the engine, thats exactly where the changes need to go between.

14 minutes ago, blingthinger said:

Also, you've got a (unholy) print statement in there

dont think I take the git blame for that oneย ๐Ÿ˜‡

AutoATC Developer

  • Replies 84
  • Views 20.6k
  • Created
  • Last Reply
18 minutes ago, mSparks said:

where the changes need to go between

So ifย simDR_engn_thro_use is set by the user, the sim ignoresย simDR_engn_thro?

Conversely ifย simDR_engn_thro is set by user, the sim just mirrors that toย simDR_engn_thro_use?

Friendly reminder: WHITELIST AVSIM INย YOUR AD-BLOCKER. Especially if you're on a modern CPU that can run a flight simulator well. These web servers aren't free...

11 minutes ago, blingthinger said:

So ifย simDR_engn_thro_use is set by the user, the sim ignoresย simDR_engn_thro?

Conversely ifย simDR_engn_thro is set by user, the sim just mirrors that toย simDR_engn_thro_use?

by default they are equal.

the 744 sets override throttles to true, which means its up to the lua code to set eng_thro_use.

whats missing is there should be two targets, one set just like now bound to the lever, but another that is the actual target, rather than moving the lever as the actual target changes. (targets being %N1 or EPR depending on engine type, throttle being a ratio from 0 to 1 of fuel going into the engine)

plus as mentioned by bjeorn, there are potentially other issues to. the whole lot needs testing and matching to that cbt i posted.

Edited by mSparks

AutoATC Developer

14 hours ago, mSparks said:

throttle being a ratio from 0 to 1

Ifย override_throttles is set, user can set any engine param (eg n1, which isย writable) and Austin spools accordingly to that point on the turb map?

Normal commands fuel to maintainย n1 (or epr) regardless of Pamb, Tamb. n1 range varies per altitude_ft_in. eec simplyย holds most recentlyย set %n1?

If the levers are then moved during climb (AT off for whatever reason), existing %n1 won't match lever position (because altitude), so eec calmly spools to whatever the new position commands and then holds new %n1 the rest of the way?

N1_high_idle_ratio = 2.6 in PW? Is that because it's still a single spool model?

Edited by blingthinger

Friendly reminder: WHITELIST AVSIM INย YOUR AD-BLOCKER. Especially if you're on a modern CPU that can run a flight simulator well. These web servers aren't free...

1 hour ago, blingthinger said:

Ifย override_throttles is set, user can set any engine param (eg n1, which isย writable) and Austin spools accordingly to that point on the turb map?

perhaps a different example - the F14

Has an autothrottleย that (from my quick understanding) automatically applies thrust to the engines to prevent stall at high angles of attack, XP doesn't have support for it:

https://forums.x-plane.org/index.php?/forums/topic/274111-f14-cold-start/&do=findComment&comment=2466058

override_throttle dataref breaks the link betweenย sim/flightmodel/engine/ENGN_thro andย sim/flightmodel/engine/ENGN_thro_use

So you "could" implement it by detecting a stall, switching toย override_throttle then increasingย ENGN_thro_use to spin the engines faster, leavingย ENGN_thro unchanged.

the ECC code already has a lot of that similar, that changesย ENGN_thro_use to match the various thrust parameters of the different engines.

But at the moment the 744 only has one thrust ref target that it uses - set by moving the throttle lever, when in fact theย thrust ref target set by the throttle, andย thrust ref target being used by the ECC can be two different values.

Edited by mSparks

AutoATC Developer

Why not make use of the default FADEC functionality in XP12?

ย 

Quote

sim/flightmodel/engine/ENGN_fadec_pow_reqย ย  ย int[16]ย ย  ย yย ย  ย enumย ย  ย FADEC throttle mode (0=out of FADEC range, 1 = climb or cruise, 2 = climb or MCT or reduced takeoff, 3 = TOGA).ย ย  ย 
sim/flightmodel/engine/ENGN_fadec_paramterย ย  ย intย ย  ย nย ย  ย enumย ย  ย FADEC primary paramater, 0=thrust/torque, 1=N1, 2=EPRย ย  ย 
sim/flightmodel/engine/ENGN_fadec_targetsย ย  ย float[3]ย ย  ย yย ย  ย ???ย ย  ย FADEC target value, thrust, N1 or EPR as sepecified above, for each notch of the throttle, starting at the highest (usually TOGA).ย ย ย 

Set "pow_req" to engage FADEC at some throttle lever position(s) and then feed "pow_req" (N1) from an engine-specific table. No override needed.

7950X3D + 7900 XT + 64 GB + Linux | 4800H + RTX2060 + 32 GB + Linux
My add-ons from my FS9/FSX days

59 minutes ago, Bjoern said:

Why not make use of the default FADEC functionality in XP12?

ย Have to choose between EPR or N1 as a target by ACFย ๐Ÿ˜’ย 

Edited by mSparks

AutoATC Developer

21 hours ago, mSparks said:

ย Have to choose between EPR or N1 as a target by ACFย ๐Ÿ˜’ย 

Implement a PID controller whose output is the N1 target for the FADEC and the input is EPR.

Or disregard EPR as a target in the first place. Unless Austin worked some miracle for XP12, the indication isn't too accurate anyway.

7950X3D + 7900 XT + 64 GB + Linux | 4800H + RTX2060 + 32 GB + Linux
My add-ons from my FS9/FSX days

11 minutes ago, Bjoern said:

Implement a PID controller whose output is the N1 target for the FADEC and the input is EPR.

thats done.

https://github.com/mSparks43/747-400/blob/master/plugins/xtlua/scripts/B747.42.xt.EEC/pid.lua

with some speed damping so it doesnt twitch when its close to target

https://github.com/mSparks43/747-400/blob/39d8c322cf0a631177637b49ecd0dc5dfa45c233/plugins/xtlua/scripts/B747.42.xt.EEC/B747.42.xt.EEC.lua#L755

theย issue remaining is it needs twoย pid controllers.

one for the throttle target to get to speed, one to set the used throttle to actually get to the N1/EPR target.

the main cause is that as the environment changes the same used throttle gives a different N1/EPR - especially altitude, atm animating the throttle makes it look like the thrust targetย is changing, when its just the required fuelย flow to get the thrust changing.

ย 

AutoATC Developer

1 hour ago, mSparks said:

one for the throttle target to get to speed, one to set the used throttle to actually get to the N1/EPR target.

I count 3 batches of pid coeffs:ย kias/mach, n1, epr. Each potentially needing secondary dampers.

ย 

1 hour ago, mSparks said:

required fuelย flow to get the thrust changing

eec adjusts fuel flow to maintain n1 (video implies regardless of AT status).ย Lever=1ย would depend on ambient/derate/TO/CLB/CRZ?ย Lever=0 depends on high vs low idle status. Anything in the middle is a linear interpolation between the two?

Friendly reminder: WHITELIST AVSIM INย YOUR AD-BLOCKER. Especially if you're on a modern CPU that can run a flight simulator well. These web servers aren't free...

2 hours ago, blingthinger said:

count 3 batches of pid coeffs:ย kias/mach, n1, epr. Each potentially needing secondary dampers.

it can (and does atm) use the same pidย  coeff for all of them, just changes the in/target used. (n1/speed/epr)

2 hours ago, blingthinger said:

eec adjusts fuel flow to maintain n1 (video implies regardless of AT status).ย Lever=1ย would depend on ambient/derate/TO/CLB/CRZ?ย Lever=0 depends on high vs low idle status. Anything in the middle is a linear interpolation between the two?

yeah, along those kind of lines.

at the momentย there is one pid that feeds into the throttle lever for its output,

My understanding to get the correct behaviour is:

That pid should be "invisible", and just seek an EPR or N1 target (output throttle_use)ย dependant on the engine.

And then a second new pid should set the n1/epr target for it when the auto throttleย is targeting a speed, only this one should move the throttle (with thrust refs just moving the throttle leverย to a known location).

Edited by mSparks

AutoATC Developer

11 minutes ago, mSparks said:

or N1 target

So your preference is to use throttle_use instead of writing directly over n1? In other words, you want to keep using the default XPย spool-up/downย model?

Friendly reminder: WHITELIST AVSIM INย YOUR AD-BLOCKER. Especially if you're on a modern CPU that can run a flight simulator well. These web servers aren't free...

I'm not actually sure if I'd use a pid for speed mode at all, they twitch a lot.

For autoland, the way I solved the flare, was during descent it estimates the pitch that results in a constant rate of descent, then for the flare it sets a pitch target of that plus one degree (or 1.5 I forget) until the wheels hit the ground.

I think something similar for throttle speed control would work well, constantly estimate the throttle setting that would result in a constant speed, then add or take away from that depending on if you need to speed up or slow down.

3 minutes ago, blingthinger said:

instead of writing directly over n1?

oh god no. for a start n1 has lots cool of simulation into it (like windmilling), but also annoying like EGT and N2 coupling, messing with that will break everything...

AutoATC Developer

32 minutes ago, mSparks said:

but also annoying like EGT and N2 coupling

Meh, looks like ...ECC.*.lua already tame thoseย as well as tweak n1 a bit for eicas. That's why I asked. It's a lot more model-specific. Though I now see that's keying off of xp thrust_n for spool rates anyway...

ย 

57 minutes ago, mSparks said:

only this one should move the throttle (with thrust refs just moving the throttle lever

The YT vid wasn't clear on AT setting on/off.ย Watching other boeing AT in action (on), the levers move when the FMC commands a change to target speed/n1/epr. You're saying 744 does the opposite?

Conversely,ย in normal mode with AT off, PIC could set a lever position which gets a preliminary n1/epr and eec would maintain said n1/epr all the way up (short of redline, which itself is dictated by the ย FMC/derate...). This latter behavior seems 744 specific, if I'm reading tea leaves correctly.

ย 

Edited by blingthinger

Friendly reminder: WHITELIST AVSIM INย YOUR AD-BLOCKER. Especially if you're on a modern CPU that can run a flight simulator well. These web servers aren't free...

34 minutes ago, blingthinger said:

You're saying 744 does the opposite?

the bug I talking about right now is the throttle lever is moving based on how much fuel flow it needs to maintain a thrust target,

This function is 100% garbage:

https://github.com/mSparks43/747-400/blob/39d8c322cf0a631177637b49ecd0dc5dfa45c233/plugins/xtlua/scripts/B747.01.xt.manipulators/B747.01.xt.manipulators.lua#L2298

The throttle lever should only set theย target, not move depending on how far away the engines are from target.

AutoATC Developer

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions โ†’ Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.