nigelsimm Posted October 2, 2010 Report Share Posted October 2, 2010 FSUIPC Version: 3.98a FS Version: 9.1 Hardware: CH Yoke OS: Windows XP (SP3) Hello, me again! This is what I'm trying to achieve: 1. Press button on yoke to display ATC window 2. Press another button on yoke the required number of times to select an ATC menu option (eg: press button twice for option 3 etc...) This is what I have so far, from my FSUIPC.ini [buttons] section: 12=P0,9,Cx510066C0,x00090001 13=B66C0=0 P0,9,C66172,0 14=B66C0=1 P0,9,C66173,0 15=B66C0=2 P0,9,C66174,0 16=B66C0=3 P0,9,C66175,0 17=B66C0=4 P0,9,C66176,0 18=B66C0=5 P0,9,C66177,0 19=B66C0=6 P0,9,C66178,0 20=B66C0=7 P0,9,C66179,0 21=B66C0=8 P0,9,C66180,0 22=B66C0=9 P0,9,C66181,0 This works to a degree, but of course, after each menu option has been chosen the offset needs to be cleared, or reset (I think), so that all the options on any subsequent menu are available. Do I need a line after each button to reset this (example below), or could I/should I use another method? 19=B66C0=6 P0,9,C66178,0 20=B66C0=6 U0,9,[reset offset],0 Any advice gratefully received! Thanks Nige Link to comment Share on other sites More sharing options...
Pete Dowson Posted October 2, 2010 Report Share Posted October 2, 2010 1. Press button on yoke to display ATC window2. Press another button on yoke the required number of times to select an ATC menu option (eg: press button twice for option 3 etc...) This is what I have so far, from my FSUIPC.ini [buttons] section: 12=P0,9,Cx510066C0,x00090001 13=B66C0=0 P0,9,C66172,0 14=B66C0=1 P0,9,C66173,0 15=B66C0=2 P0,9,C66174,0 16=B66C0=3 P0,9,C66175,0 17=B66C0=4 P0,9,C66176,0 18=B66C0=5 P0,9,C66177,0 19=B66C0=6 P0,9,C66178,0 20=B66C0=7 P0,9,C66179,0 21=B66C0=8 P0,9,C66180,0 22=B66C0=9 P0,9,C66181,0 This works to a degree, but of course, after each menu option has been chosen the offset needs to be cleared, or reset (I think), so that all the options on any subsequent menu are available. Three things: (a) You increment the byte at 66C0 before testing it, so the first option selected is the "14=B66C0=1" line, not the first listed. (b) You should reset the byte at 66C0 to 0 when you press the button for the ATC menu. © In order to select, say, the 4th option you seem to need to select the preceding three first. Is that what you are intending? If not then I think you need another button to increment 66C0, not have it increment each time you make a selection. Do I need a line after each button to reset this (example below), or could I/should I use another method? After each button? How many others? You only show one button above, 0,9. Your description says you are using two buttonsif you mean reset the count every time, you'd never get past 1 would you? 19=B66C0=6 P0,9,C66178,020=B66C0=6 U0,9,[reset offset],0 By "reset offset" you mean the "Offset byte set" I presume? There's no "reset offset" control. One way to do it with two buttons would be to program the ATC Menu button to do the above conditional actions on button release, and use the other button only to increment 66C0. So the sequence would be: Press and hold pressed the ATC Menu button -- this sets 66C0 to 0 and opens the ATC menu Then, whilst it is pressed, use the other button to go to the 2nd and subsequent entries (else you'll get the 1st) Release the ATC Menu button so that the correct conditional entry (as above) actions the selection. Regards Pete Link to comment Share on other sites More sharing options...
nigelsimm Posted October 3, 2010 Author Report Share Posted October 3, 2010 Pete, Thanks for the reply. I understand the principle, but the syntax is defeating me at the moment. Yes, I do need to increment the offset using a different button, but how to pass the results of those presses to the ATC button on release? This is what I have so far, but according to the log the offset never changes from the first entry. Where have I gone wrong? Logic tells me that I need to pass on the value of the offset to the conditional lines on the ATC button release, rather than using offset increment, but I'm at a loss as to how to do that! 10=P0,0,Cx010066C0,x00 11=P0,0,C65564,0 12=U0,0,Cx5100660C,x000A0001 13=B66C0=0 U0,0,C65564,0 14=B66C0=1 U0,0,C66172,0 15=B66C0=2 U0,0,C66173,0 16=B66C0=3 U0,0,C66174,0 17=B66C0=4 U0,0,C66175,0 18=B66C0=5 U0,0,C66176,0 19=B66C0=6 U0,0,C66177,0 20=B66C0=7 U0,0,C66178,0 21=B66C0=8 U0,0,C66179,0 22=B66C0=9 U0,0,C66180,0 23=B66C0=10 U0,0,C66181,0 24=P0,9,Cx5100660C,x000A0001 Link to comment Share on other sites More sharing options...
nigelsimm Posted October 3, 2010 Author Report Share Posted October 3, 2010 Hi again! I just rechecked the syntax for this on page 24 of the Advanced Users manual and changed the fsuipc.ini entries accordingly: 10=P0,0,Cx010066C0,x00 11=P0,0,C65564,0 12=P0,9,Cx5100660C,x000A0001 13=B66C0=0 U0,0,C65564,0 14=B66C0=1 U0,0,C66172,0 15=B66C0=2 U0,0,C66173,0 16=B66C0=3 U0,0,C66174,0 17=B66C0=4 U0,0,C66175,0 18=B66C0=5 U0,0,C66176,0 19=B66C0=6 U0,0,C66177,0 20=B66C0=7 U0,0,C66178,0 21=B66C0=8 U0,0,C66179,0 22=B66C0=9 U0,0,C66180,0 23=B66C0=10 U0,0,C66181,0 But it's still not working. The offset doesn't look as though it's incrementing: 11144812 Button changed: bRef=0, Joy=0, Btn=0, Pressed 11144812 [buttons] 10=P0,0,Cx010066C0,x00 11144812 IPC Offsets Control: Ctrl=x0100, Length=1, Offset=66C0, Param=x0 11144812 [buttons] 11=P0,0,C65564,0 11144812 FS Control Sent: Ctrl=65564, Param=0 11149906 Button changed: bRef=0, Joy=0, Btn=9, Pressed 11149906 [buttons] 12=P0,9,Cx5100660C,x000A0001 11149906 IPC Offsets Control: Ctrl=x5100, Length=1, Offset=660C, Param=xA0001 11149906 [buttons] 29=P0,9,Cx5100660C,x000A0001 11149906 IPC Offsets Control: Ctrl=x5100, Length=1, Offset=660C, Param=xA0001 11150218 Button changed: bRef=0, Joy=0, Btn=9, Released 11150703 Button changed: bRef=0, Joy=0, Btn=9, Pressed 11150703 [buttons] 12=P0,9,Cx5100660C,x000A0001 11150703 IPC Offsets Control: Ctrl=x5100, Length=1, Offset=660C, Param=xA0001 11150703 [buttons] 29=P0,9,Cx5100660C,x000A0001 11150703 IPC Offsets Control: Ctrl=x5100, Length=1, Offset=660C, Param=xA0001 11151031 Button changed: bRef=0, Joy=0, Btn=9, Released 11151468 Button changed: bRef=0, Joy=0, Btn=9, Pressed 11151468 [buttons] 12=P0,9,Cx5100660C,x000A0001 11151468 IPC Offsets Control: Ctrl=x5100, Length=1, Offset=660C, Param=xA0001 11151468 [buttons] 29=P0,9,Cx5100660C,x000A0001 11151468 IPC Offsets Control: Ctrl=x5100, Length=1, Offset=660C, Param=xA0001 11151750 Button changed: bRef=0, Joy=0, Btn=9, Released 11152281 Button changed: bRef=0, Joy=0, Btn=9, Pressed 11152281 [buttons] 12=P0,9,Cx5100660C,x000A0001 11152281 IPC Offsets Control: Ctrl=x5100, Length=1, Offset=660C, Param=xA0001 11152281 [buttons] 29=P0,9,Cx5100660C,x000A0001 11152281 IPC Offsets Control: Ctrl=x5100, Length=1, Offset=660C, Param=xA0001 11152593 Button changed: bRef=0, Joy=0, Btn=9, Released 11153218 Button changed: bRef=0, Joy=0, Btn=0, Released 11153218 [buttons] 13=B66C0=0 U0,0,C65564,0 11153218 .... Offset check: x66C0/1 = 0? (0), Result = TRUE 11153218 FS Control Sent: Ctrl=65564, Param=0 11153218 [buttons] 14=B66C0=1 U0,0,C66172,0 11153218 .... Offset check: x66C0/1 = 1? (0), Result = FALSE 11153218 [buttons] 15=B66C0=2 U0,0,C66173,0 11153218 .... Offset check: x66C0/1 = 2? (0), Result = FALSE 11153218 [buttons] 16=B66C0=3 U0,0,C66174,0 11153218 .... Offset check: x66C0/1 = 3? (0), Result = FALSE 11153218 [buttons] 17=B66C0=4 U0,0,C66175,0 11153218 .... Offset check: x66C0/1 = 4? (0), Result = FALSE 11153218 [buttons] 18=B66C0=5 U0,0,C66176,0 11153218 .... Offset check: x66C0/1 = 5? (0), Result = FALSE 11153218 [buttons] 19=B66C0=6 U0,0,C66177,0 11153218 .... Offset check: x66C0/1 = 6? (0), Result = FALSE 11153218 [buttons] 20=B66C0=7 U0,0,C66178,0 11153218 .... Offset check: x66C0/1 = 7? (0), Result = FALSE 11153218 [buttons] 21=B66C0=8 U0,0,C66179,0 11153218 .... Offset check: x66C0/1 = 8? (0), Result = FALSE 11153218 [buttons] 22=B66C0=9 U0,0,C66180,0 11153218 .... Offset check: x66C0/1 = 9? (0), Result = FALSE 11153218 [buttons] 23=B66C0=10 U0,0,C66181,0 11153218 .... Offset check: x66C0/1 = 10? (0), Result = FALSE Link to comment Share on other sites More sharing options...
nigelsimm Posted October 3, 2010 Author Report Share Posted October 3, 2010 Got it! 10=P0,0,Cx010066C0,x00 11=P0,0,C65564,0 13=B66C0=0 U0,0,C65564,0 14=B66C0=1 U0,0,C66172,0 15=B66C0=2 U0,0,C66173,0 16=B66C0=3 U0,0,C66174,0 17=B66C0=4 U0,0,C66175,0 18=B66C0=5 U0,0,C66176,0 19=B66C0=6 U0,0,C66177,0 20=B66C0=7 U0,0,C66178,0 21=B66C0=8 U0,0,C66179,0 22=B66C0=9 U0,0,C66180,0 23=B66C0=10 U0,0,C66181,0 29=P0,9,Cx510066C0,x000A0001 Works fine now! Thanks v. much. Regards, Nige Link to comment Share on other sites More sharing options...
Pete Dowson Posted October 3, 2010 Report Share Posted October 3, 2010 I understand the principle, but the syntax is defeating me at the moment. It's pretty much the same as you have already. Yes, I do need to increment the offset using a different button, but how to pass the results of those presses to the ATC button on release? You have those lines already. Release is just a "U" at the start instead of a "P". You know that already too! This is what I have so far, but according to the log the offset never changes from the first entry. Where have I gone wrong? Logic tells me that I need to pass on the value of the offset to the conditional lines on the ATC button release You don't "pass on" an offset. Whatever the value stored there is the value you get! Like a post box, or more a file. 10=P0,0,Cx010066C0,x0011=P0,0,C65564,0 This sets 66C0 to zero, and calls up the ATC menu, when you press 0,0. So far, so good. 12=U0,0,Cx5100660C,x000A0001 But this increments 66C0 when you release 0,0. Why? This is a waste -- next time you press it it will be zeroed again, so why increment it on the ATC selection button? 13=B66C0=0 U0,0,C65564,0 You are sending the ATC select control AGAIN when releasing 0,0. Why? Won't that simply clear the menu? What are you thinking here? 14=B66C0=1 U0,0,C66172,015=B66C0=2 U0,0,C66173,0 16=B66C0=3 U0,0,C66174,0 17=B66C0=4 U0,0,C66175,0 18=B66C0=5 U0,0,C66176,0 19=B66C0=6 U0,0,C66177,0 20=B66C0=7 U0,0,C66178,0 21=B66C0=8 U0,0,C66179,0 22=B66C0=9 U0,0,C66180,0 23=B66C0=10 U0,0,C66181,0 These are all okay -- but what about when 66C0 is 0, as it is initially? You weon't do anything UNLESS you increment 66C0 (with the other button). Is that what you want? If so, fine. 24=P0,9,Cx5100660C,x000A0001 So, you ARE incrementing on 0,9 as well as when releasing 0,0. Don't you think the 0,0 one is rather redundant? Regards Pete Link to comment Share on other sites More sharing options...
nigelsimm Posted October 3, 2010 Author Report Share Posted October 3, 2010 Thanks again Peter! The first line is set to toggle the ATC window so that there's a logic to the number of button presses for each ATC option (1 for option 1, and so on). Otherwise, it's press once for menu option 2, twice for option 3 etc... I decided to tweak the arrangement from my last post - having the commands sent on release of the ATC button was problematic with ATC sub-menus (eg: parking options) that appear automatically without closing the ATC window. I have now an arrangement on the 3 buttons on the left side of the CH Throttle: Button 0 - Toggles the ATC window and resets the offset. Button 9 - Increments the offset on press. Button 8 - Send the command on press and resets the offset on release. 10=P0,0,Cx010066C0,x00 11=P0,0,C65564,0 29=P0,9,Cx510066C0,x000A0001 30=B66C0=0 P0,8,C65564,0 31=B66C0=1 P0,8,C66172,0 32=B66C0=2 P0,8,C66173,0 33=B66C0=3 P0,8,C66174,0 34=B66C0=4 P0,8,C66175,0 35=B66C0=5 P0,8,C66176,0 36=B66C0=6 P0,8,C66177,0 37=B66C0=7 P0,8,C66178,0 38=B66C0=8 P0,8,C66179,0 39=B66C0=9 P0,8,C66180,0 40=B66C0=10 P0,8,C66181,0 41=U0,8,Cx010066C0,x00 It's all working as I wanted now. Thanks again for your advice. Regards, Nige Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now