December 8, 20223 yr 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
December 8, 20223 yr 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...
December 8, 20223 yr 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 December 8, 20223 yr by mSparks AutoATC Developer
December 8, 20223 yr 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 December 8, 20223 yr 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...
December 8, 20223 yr 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 December 8, 20223 yr by mSparks AutoATC Developer
December 8, 20223 yr 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
December 8, 20223 yr 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 December 8, 20223 yr by mSparks AutoATC Developer
December 9, 20223 yr 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
December 9, 20223 yr 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
December 9, 20223 yr 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...
December 9, 20223 yr 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 December 9, 20223 yr by mSparks AutoATC Developer
December 9, 20223 yr 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...
December 9, 20223 yr 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
December 9, 20223 yr 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 December 9, 20223 yr 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...
December 10, 20223 yr 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.