Sign in to follow this  
E

Flight Limiting Spoilers in XML?

Recommended Posts

I've been playing with this all day. Trying to keep use of the spoiler toggle key, I've tried every combination I can think of using axis_set's, spoilers_set's, spoilers_on/off, and this the best I can do... The first spoiler toggle puts the spoilers at the flight limit. The next opens them to full, and the third closes them. Any of the aforementioned combinations of commands either (pretty much) locks them open or closed. I'm sure it could be fixed with a click sopt, but I'm trying to use only the spoiler toggle.Can anybody tell me how to lose the full open position while in flight and lose the partial position when on the ground?(A:SPOILERS HANDLE POSITION,percent) 0 == if{ 0 (>L:splrs_limited,bool) } (A:SPOILERS HANDLE POSITION,percent) 99 > (A:RADIO HEIGHT,feet) 30 > && (L:splrs_limited,bool) 0 == && if{ 12000 (>K:SPOILERS_SET) 1 (>L:splrs_limited,bool) }

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

Hi Evan,So: - On the ground, you want the SpoilerToggle command to toggle between OFF and FULL.- In the air, you want it to toggle between OFF and LIMITED.- And the aircraft lands with SPOILERS LIMITED, you want them automatically set to FULL, vice versa ..Right ?And do you want the condition to be "On-the-ground" or "Below-30-feet" ??Cheers, Rob

Share this post


Link to post
Share on other sites

Exactly right as far as positions and toggling. (although I'm still playing with the exact flight limit angle... trade off between real numbers and visual aesthetics *grin*).What I've figured out is that if the spoilers are not already fully deployed, toggling them will send them toward open, no matter where I stopped them or their current angle. I wasn't able to get the timing right to "catch" the handle on it's way up to stop them and restart them. So I've only been able to "catch" it at zero or 100%. As for below 30 ft, it's just a bad habit I picked up before learning of "sim on ground." Squat switch engaged would probably be more correct. *grin*

Share this post


Link to post
Share on other sites

>OK>Give me 15 minutes :-)>>Cheers, ROb>Do me a favor... take 20 minutes. (I've been trying everything ***ALL*** ***DAY*** long. *grin*)

Share this post


Link to post
Share on other sites

Hi Evan,This should do it (untested). (A:SIM ON GROUND,bool) if{ (A:SPOILERS HANDLE POSITION,percent) 1 > (A:SPOILERS HANDLE POSITION,percent) 99 < && if{ 16384 (>K:AXIS_SPOILER_SET) } } els{ (A:SPOILERS HANDLE POSITION,percent) 99 > if{ 12000 (>K:AXIS_SPOILER_SET) } } There's a few notes to be made. I'm just making a new reply now.Rob

Share this post


Link to post
Share on other sites

Okay, a quick airborne-only test of it leaves me locked in the flight limit open position (once I open them from zero, I can't shut them). FWIW, from my experiments, there doesn't seem to be any difference in results between AXIS_SPOILERS_SET and SPOILERS_SET.I think the problem is as I noted above... if the spoilers aren't at 100%, a toggle will send them open to/toward 100%. In the air, once opened and then toggled again, they go back to 99% and get caught in your code again.

Share this post


Link to post
Share on other sites

So you're saying:When in the air (with spoilers LIMITED):- a toggle command will set spoilers to FULL, but is mmediately corrected by the gauge to LIMITED.- so the secound toggle command does the same again, hence a toggle command cannot set the spoilers Off again.Right ??NOW I understand it :-)Let me chew on that a bit ..Rob

Share this post


Link to post
Share on other sites

Yeppers... that's why I had to use a variable to get past the 100% position after being at the flight limit.

Share this post


Link to post
Share on other sites

OK :-)I need another 20 minutes ...LOLGet back to you soon...Cheers, Rob

Share this post


Link to post
Share on other sites

(15 minutes only ...LOL)Will this do ?? (A:SIM ON GROUND,bool) if{ (L:splrs_limited,bool) if{ 0 (>L:splrs_limited,bool) 16384 (>K:AXIS_SPOILER_SET) } els{ (A:SPOILERS HANDLE POSITION,percent) 99 > if{ (L:splrs_limited,bool) ! if{ 1 (>L:splrs_limited,bool) 12000 (>K:AXIS_SPOILER_SET) } els{ 0 (>L:splrs_limited,bool) -16384 (>K:AXIS_SPOILER_SET) } } This also allows the spoilers to be ARMED when airborne.Some remarks about Spoiler variables:1. The AXIS_SPOILER_SET event takes values from -16384 (OFF) to +16384 (Fully deployed)This gives a value for SPOILERS HANDLE POSITION from 0 % resp. 100 %, and is linear.(so 0 AXIS_SPOILER_SET gives value 50%)However, the actual spoiler position is NOT lineair in with the SPOILERS HANDLE POSITIONThis is because of the ARM area position.So:- SPOILERS HANDLE POSITION 0 - 30% (appr.) will give an actual spoiler position of 0%- SPOILERS HANDLE POSITION 30 - 100% will lineairly increase spoiler position from 0 - 100 %(position can be read with eg. (A:SPOILERS LEFT POSITION,percent) )E.g.0 (>K:AXIS_SPOILER_SET) will give:- (A:SPOILERS HANDLE POSITION,percent) = 50 %- (A:SPOILERS LEFT POSITION,percent) = 29.3 %2. Another thing you should be aware of (although not relevant for your function):FS9 has a "feature": when the aircraft is on the ground AND the throttle is idle, and you ARM the spoiler (so to a SPOILERS HANDLE POSITION of less than appr. 30%, e.g. via default key "Shift-/"), it doesn't set the spoiler to ARM but to FULL instead.And, if throttle NOT idle, and spoiler ARMED: if you set Throttle to idle, FS9 automatically set spoilers to Full.I bet you didn't know that ...LOLCheers, Rob

Share this post


Link to post
Share on other sites

This one is interesting... in the air the spoilers operate full closed to full open. On the ground they operate full closed to a continously bouncing angle that varies between 82% and 95%. *shrug* (although it is entertaining to watch the VC spoiler handle animation *grin*)

Share this post


Link to post
Share on other sites

Ok Ok ...:-)I will start testing myself now. Obviously I misread your observations, so I come the wrong conclusions (and therefore wrong solution :-) )I'll be back.This is a matter of "honour" now :-)Cheers, Rob

Share this post


Link to post
Share on other sites

OK, Got it now.And tested with several aircraft.... (A:SIM ON GROUND,bool) if{ (L:splrs_limited,bool) if{ 0 (>L:splrs_limited,bool) 16384 (>K:AXIS_SPOILER_SET) } } els{ (A:SPOILERS HANDLE POSITION,percent) 99 > if{ (L:splrs_limited,bool) ! if{ 1 (>L:splrs_limited,bool) 12000 (>K:AXIS_SPOILER_SET) } els{ 0 (>L:splrs_limited,bool) -16384 (>K:AXIS_SPOILER_SET) } } Two errors: one mine, one (maybe?) yours.- Mine: I forgot an enclosing "}" - Yours: (maybe): for a control gauge that tests&sets variables, ALWAYS use the Update Frequency statement in an XML gauge, with at least value 4.See my explanation in my "Initialisation sequence problem ...." post (and referring link) in this forum.In this case:With a low framerate (< 20 fps) and high (=default 55 msec) update frequency of the gauge, the line: 16384 (>K:AXIS_SPOILER_SET)may NOT result in the SpoilerHandlePosition being read as > 99% in the next schedule cycle of the gauge.Cheers, Rob

Share this post


Link to post
Share on other sites

It was the Update Frequency... it was set to blank/default (I caught the missing bracket).I can now see why I couldn't progress beyond my working three position version... I didn't know that setting the axis_spoiler_set to maximum negative range was the way to reset it from what I had set it to. FWIW, while your perfect track record may have been in jeopardy, your honour was never in question... any possible failures were negated by your attempts to help! (Read: Thank You very much! *grin*)And an additional bonus for me is that very similar code will help me overcome a brake failure problem/dilemma/decision! *grin*

Share this post


Link to post
Share on other sites

Glad this one's finally sorted out; I already started to question my abilities ...LOL.This "XML-Variables-Copy" process and the related timing is a real pain-in-the-neck, and it wasn't untill a few months ago untill I really fully understood this mechanism and it's consequences.I even made a special testgauge for it ..Success with your development !Cheers, Rob

Share this post


Link to post
Share on other sites

Thanks again! (everytime you help me, I learn more *grin*). As I said at the beginning, I was stuck (with a three position toggle *grin*), so it's heartening to know you had to work it out! LOL

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
Sign in to follow this