Jump to content
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

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

Take a few hours... I'm outta' here for a bit. *grin*

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

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  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...