Speed brake on ProThrottle
-
Have to bring up this old topic…
I’d like to program the ProThrottle button to:
Button 1 - Normal operation - I will use this to deploy speed brake when operated (when button released the speed brake stops deploying)
Button 2 - Once pressed and released - to command speed brake closed for 6 seconds (as mentioned in post #1 is so that I don’t have to hold the button at SPDBRK closed for 6 seconds for it to completely closed)ewildcat, any idea how to make a script for the above?
-
even the cougar throttle has effectively a switch with with 2 ons and one off , therefore your two button solution should be the same as the real throttle as just like the couger throttle each switch has its own off …button 1= deploy if held off when released same as cougar button 2 = close but unlike the couger you have to hold as there is no switch to hold it in place however everything in an electronically and keystroke wise is the same …
-
I’d like to program the ProThrottle button to:
Button 1 - Normal operation - I will use this to deploy speed brake when operated (when button released the speed brake stops deploying)
Button 2 - Once pressed and released - to command speed brake closed for 6 seconds (as mentioned in post #1 is so that I don’t have to hold the button at SPDBRK closed for 6 seconds for it to completely closed)ewildcat, any idea how to make a script for the above?
Two possible solutions:
– The easier is to assign the AFBrakesOut callback to button 1 and the AFBrakesToggle to button 2, because whenever the speedbrakes are not completely closed any use of the AFBrakesToggle callback closes them fully, without having to hold the button for 6/7 seconds.
– You can assign the AFBrakesOut callback to button 1 and write a script so that each time you depress button 2 the AFBrakesIn callback is activated for 6/7 seconds. The trick is that you have to add a part to the script so as to make sure that any press of button 1 stops the movement.I no longer use the CH Control Manager but if you choose the second solution I guess I’ll be able to work from memory as it’s not a complex script.
-
“– The easier is to assign the AFBrakesOut callback to button 1 and the AFBrakesToggle to button 2, because whenever the speedbrakes are not completely closed any use of the AFBrakesToggle callback closes them fully, without having to hold the button for 6/7 seconds.”
I have tried this before as it does not require scripting. The problem is, if the speedbrakes are already in fully stowed position, and I accidentally pressed button 2 (AFBrakesToggle) then that would cause my speedbrakes to fully deploy, which is not something you want.“– You can assign the AFBrakesOut callback to button 1 and write a script so that each time you depress button 2 the AFBrakesIn callback is activated for 6/7 seconds. The trick is that you have to add a part to the script so as to make sure that any press of button 1 stops the movement.”
Yes ewildcat, I would greatly appreciate if your work out a script for the second option. Pls, pretty pls…
I read through the CH Ctrl Manager help file, but can’t seem to work out the scripting thing… -
Well, here’s an example.
Let’s assume throttle button 3 is assigned to CMS.B5 (AFBrakesIn callback) and throttle button 4 is assigned to CMS.B6 (AFBrakesOut callback).
Then we could try this:
CMS.B6=JS2.B4;
sequence
wait(JS2.B4);
CMS.B5=false;
endsequence
sequence
wait(JS2.B3);
CMS.B5=true;
delay(140);
CMS.B5=false;
endsequenceThe red part means CMS.B6 (AFBrakesOut) is on as long as throttle button 4 is depressed and off whenever button 4 is released.
The green part means CMS.B5 (AFBrakesIn) is deactivated as soon as throttle button 4 is depressed.
The blue part means that when throttle button 3 is depressed CMS.B5 (AFBrakesIn) is kept on (true) for 140x50 ms = 7 s then turned off.Provided my memory is good, I think it should work.
-
Well, here’s an example.
Let’s assume throttle button 3 is assigned to CMS.B5 (AFBrakesIn callback) and throttle button 4 is assigned to CMS.B6 (AFBrakesOut callback).
Then we could try this:
CMS.B6=JS2.B4;
sequence
wait(JS2.B4);
CMS.B5=false;
endsequence
sequence
wait(JS2.B3);
CMS.B5=true;
delay(140);
CMS.B5=false;
endsequenceThe red part means CMS.B6 (AFBrakesOut) is on as long as throttle button 4 is depressed and off whenever button 4 is released.
The green part means CMS.B5 (AFBrakesIn) is deactivated as soon as throttle button 4 is depressed.
The blue part means that when throttle button 3 is depressed CMS.B5 (AFBrakesIn) is kept on (true) for 140x50 ms = 7 s then turned off.Provided my memory is good, I think it should work.
Thanks for your quick reply!
Unfortunately the script didn’t work.
Speed brakes still operated on button press. Release the button and the speed brakes stopped moving…
The script I used:cms.b5=js2.b13;
CMS.B6=JS2.b15;
sequence
wait(JS2.B15);
CMS.B5=false;
endsequence
sequence
wait(JS2.B13);
CMS.B5=true;
delay(140);
CMS.B5=false;
endsequence
Any other ideas pls?Thank you!!!
-
Thanks for your quick reply!
Unfortunately the script didn’t work.
Speed brakes still operated on button press. Release the button and the speed brakes stopped moving…
The script I used:cms.b5=js2.b13;
CMS.B6=JS2.b15;
sequence
wait(JS2.B15);
CMS.B5=false;
endsequence
sequence
wait(JS2.B13);
CMS.B5=true;
delay(140);
CMS.B5=false;
endsequence
Any other ideas pls?Thank you!!!
Apologies to ewildcat, I noticed my mistake, I added a line in the script that was not as per ewildcats ( I added cms.b5=js2.b13). Once I removed that line the speed brake closed function worked as advertised - just press the speedbrake closed button once and release, speed brake moves to closed all by itself. (Just for info, I use cms.b5=js2.b13 and cms.b6=js2.b15 instead of ewildcat’s version)
However, now another problem arises…
Whenever I push the ‘speed brake close’ button, within the 7 seconds (before the delay ends) if I push the ‘speed brake open’, the speed brake will stop closing as advertised, BUT, when I push the ‘speed brake close’ button again within the 7 seconds, it doesn’t want to close. I have to wait for 7 seconds before the ‘speed brake close button’ will work again…
As a matter of fact, when I checked using ‘Key Check’ in CH Ctrl Mgr, I found that whenever ‘speed brake close’ is commanded through it’s full 7 seconds, you cannot command another ‘speed brake close’ command until 7 seconds has passed.I know for me to want to operate the speed brake like that I’m a really fickle minded pilot - “I’m going around, I’m closing my speed brakes. Oh wait, I can land, let me open my speed brakes again. Damn, I think I better just go around, I’m closing my speed brakes. WTF? My speed brakes can’t close!” Boom…
-
Then the best idea would be to use a timer.
However I don’t use the CHCM anymore, since I rather use Joystick Gremlin nowadays. So I can’t read the manual to refresh my memory about the most intricate details of how timers work.IIRC, this may work, but I’m not absolutely certain, writing from memory only:
CMS.B6=JS2.B15;
timer(period,D1,140)=JS2.B13;
sequence
wait(JS2.B15);
D1=false;
endsequence
sequence
wait(D1);
CMS.B5=true;
endsequence
sequence
wait(not D1);
CMS.B5=false;
endsequence -
Then the best idea would be to use a timer.
However I don’t use the CHCM anymore, since I rather use Joystick Gremlin nowadays. So I can’t read the manual to refresh my memory about the most intricate details of how timers work.IIRC, this may work, but I’m not absolutely certain, writing from memory only:
CMS.B6=JS2.B15;
timer(period,D1,140)=JS2.B13;
sequence
wait(JS2.B15);
D1=false;
endsequence
sequence
wait(D1);
CMS.B5=true;
endsequence
sequence
wait(not D5);
CMS.B5=false;
endsequenceThank you again, but really sorry have to trouble you again…
Entered the script above and did a ‘check script’ with the following error message: ENDSEQUENCE expected but D1 found
Also another question: how come there’s a ‘D5’ in the 3rd from bottom line: wait(not D5)?
Thank you again in advance!
-
The D5 is a typo. It should read D1. Sorry for the mistake.
Try with the correction, but then again timers are more complicated than the simple functions used for the trigger or the AP paddle. My memory of what’s possible with them may not be correct. I’ll need the manual if it doesn’t work. -
Nope, after correcting D5 to D1 (3rd line from the bottom), the same error during “check script”: ENDSEQUENCE expected but D1 found
-
Which demonstrates that I don’t remember how timers work well enough, hehe.
However, I thought about it, and I think we could apply a waaaay simpler method.
Here it is :
CMS.B6=JS2.B15;
sequence
wait(JS2.B13);
CMS.B5=true;
endsequence
sequence
wait(JS2.B15):
CMS.B5=false;
endsequenceWith this method it actually works very much like the real button : speedbrakes are ordered to open as long as throttle button 15 is held, and continuously ordered to close as long as throttle button 13 has been depressed even once (the “closed” position having a detent on the real throttle).
If it works (really, I don’t see why it shouldn’t), then you’d better assign a DX function to CMS.B5 instead of a key, so that there’s no possible conflict with other keys. -
ewildcat, YOU DA MAN!!!
It works perfectly! And yes I have to assign CMS.B5 to a DX function. If I did not do that, well, you’ve gotta try it for yourself. You won’t see the effects until after you exit the sim and try to do some typing…
Thank you so much ewildcat! Salute your programming skills!
-
Glad I could help.
-
While the script here is very interesting and helpful why not just using speed brakes toggle? It costs you only one valuable button on your busy HOTAS. And from my experience the toggle covers all your braking needs when flying in formation, hanging on the boom etc.