Jump to content
The simFlight Network Forums
Casen Brashear

Adding two functions to one button.

Recommended Posts

I have tried Googling and searching through the documentation for an answer but I have found nothing that I can understand.

 

My request is to set up one button to do engine 1 and 2 decrease then another button for engine 3 and four decrease.

 

Right now I have this. Button 4 does engine 1 and button 3 does engine two.

0=R1,4,C65966,0
1=R1,3,C65971,0

Here it is when I set up button 4 to do engine 3 decrease and button 3 to do engine 4 decrease.

0=R1,4,C65976,0
1=R1,3,C65981,0

 How do I mix those so button 4 will control 1 & 2 while button 3 controls engine 3 & 4?

 

I have tried 

0=R1,3,C65966,0
1=R1,3,C65971,0

But I never could get it to take hold. I saved the file then opened and closed the FSUIPC module then tested it to no effect. Sometimes the file was even modified by FSUIPC back to the other version even though I never changed anything in FSUIPC itself.

 

Do I continue to number them, as in 0 1 2.... for keys that I want to have multiple effects? Or do I go 0(button3) 0(button3) 1(button4) 1(button4)?

Edited by Casen Brashear

Share this post


Link to post
Share on other sites

Hi,

 

In the "Advanced Manual" on page 21 you will find the samples. So in your case it should look like:

0=R1,4,C65966,0
1=R1,4,C65971,0
2=R1,3,C65976,0
3=R1,3,C65981,0

So button 4 does the two commands for engine 1&2 and button 3 does the same for 3&4 as requested. But these changes only can be made in the editor as advised in the manual. If you reassign values via the interface, you will destroy these manual settings potentially.

 

Rgds

Reinhard

Share this post


Link to post
Share on other sites

Hi,

 

So what if I want to assign to commands to be run separately to one button. Let me explain, I want button 13 to execute command 1 when pushed the first time, then when pushed again, I want it to execute command 2, and then cycle between these two commands back and forth as the button is pushed. Can this be done?

A few months back i managed to do it, but the commands where two different offsets. 

eg.

1=P4,22,Cx0D005629,x01

2=CP(F+4,22)4,22,Cx0D00562A,x01

 

The new commands that i am trying to perform are the same offset, but different bits to read it.

e.g

1=P3,13,Cx010078EB,x01 (this reads the offset 78EB bit 1 and it works, if I want it to read the bit 2 I just change the value from 1 to 2 and it works, and I                                              can do this with all the bits, but if I try to do a compound button like the one above with two different offsets it will not work.)

e.g.

1=P3,13,Cx010078EB,x01

2=CP=(F+3,13)3,13,Cx010078EB,x02 (this should read offset 78EB bit 2, which if I write by itself it works, but when compounded like above it does not.)

 

I have been battling this for the past few days, and I cannot seem to have any clue on how to do it. Any help would be greatly appreciated.

 

Respectfully,

 

Jose

Share this post


Link to post
Share on other sites

Another solution in this case would be to assign one action on the button 'press' and the 2nd action of the button 'release'.

 

This can be done via the FSUIPC4 Buttons + Switches menu but is ONLY applicable for the case of 2 actions for a given button.

 

My implementation on my setup uses multiple actions for each of my switches (many more than 2) so I have become quite

adept at editing the INI file :)

 

As Reinhard indicated above, most 'answers' are available in the FSUIPC4 documentation.

 

  Paul

Share this post


Link to post
Share on other sites

Hi,

 

In the "Advanced Manual" on page 21 you will find the samples. So in your case it should look like:

0=R1,4,C65966,0
1=R1,4,C65971,0
2=R1,3,C65976,0
3=R1,3,C65981,0

So button 4 does the two commands for engine 1&2 and button 3 does the same for 3&4 as requested. But these changes only can be made in the editor as advised in the manual. If you reassign values via the interface, you will destroy these manual settings potentially.

 

Rgds

Reinhard

 

I had something similar to that in the .ini at one point but I could never actually get it to transfer into the game. How I do make FSUIPC load the new .ini edits?

Share this post


Link to post
Share on other sites

I had something similar to that in the .ini at one point but I could never actually get it to transfer into the game. How I do make FSUIPC load the new .ini edits?

 

Simply press the "Reload" button on the FSUIPC4 Buttons + Switches menu. That will read the INI file and apply any changes that you

may have made by editing the file.

 

   Paul

Share this post


Link to post
Share on other sites

Could somebody provide some assistance on why this setting for reverse thrust will not work on a 747 upon touchdown but works when standing still on the runway? I have a Saitek Proflight with a 3 lever throttle quadrant with 2 assigned as throttle controls. Buttons 9 thru 16 are the ones I'm concerned about. Thanks for any assist I can get.

[Buttons.Boeing 747]
0=R2,2,C65607,0
1=R2,3,C65615,0
2=P2,4,C65758,0
3=P2,5,C65759,0
4=U2,2,C65759,0
5=P2,7,C65570,0
6=P2,0,C65588,0
7=P2,14,C65752,0
8=P2,18,C66224,0
9=R2,20,C65966,0  
10=U2,20,C65967,0
11=R2,20,C65971,0
12=U2,20,C65972,0
13=R2,21,C65976,0
14=U2,21,C65977,0
15=R2,21,C65981,0
16=U2,21,C65982,0

Share this post


Link to post
Share on other sites

It would help if you showed the annotated entries -- or are you using an old version of FSUIPC before the annotation was added? (If so, please update now, as I cannot support old versions -- current is 4.957b, with 4.958 imminent).

Here I've used a current version of FSUIPC to annotate them:

9=R2,20,C65966,0     -{THROTTLE1_DECR}-
10=U2,20,C65967,0     -{THROTTLE1_CUT}-
11=R2,20,C65971,0     -{THROTTLE2_DECR}-
12=U2,20,C65972,0     -{THROTTLE2_CUT}-

13=R2,21,C65976,0     -{THROTTLE3_DECR}-
14=U2,21,C65977,0     -{THROTTLE3_CUT}-
15=R2,21,C65981,0     -{THROTTLE4_DECR}-
16=U2,21,C65982,0     -{THROTTLE4_CUT}-

No you can see clearly what the problem is: when you press the buttons you are getting repeated DECR, so eventually going into reverse. But immediately you release them you are doing a "CUT" which sets the throttle to idle!

You need to set the throttle to idle first, THEN send repeating DECR, i.e.

9=P2,20,C65967,0     -{THROTTLE1_CUT}-
10=R2,20,C65966,0     -{THROTTLE1_DECR}-
11=P2,20,C65972,0     -{THROTTLE2_CUT}-

12=R2,20,C65971,0     -{THROTTLE2_DECR}-

13=P2,21,C65977,0     -{THROTTLE3_CUT}-

14=R2,21,C65976,0     -{THROTTLE3_DECR}-
15=P2,21,C65982,0     -{THROTTLE4_CUT}-
16=R2,21,C65981,0     -{THROTTLE4_DECR}-

 

No need to send anything when you release the buttons, unless you want to have to keep the button pressed whilst in reverse.

Pete

 

Share this post


Link to post
Share on other sites
  • Pete,
  • Thanks for the quick reply, I have yet to implement the corrections however I do need to apply the update for FSUIPC. I have version FSUIPC4 originally purchased back  in 2011. I have been remiss in getting it updated and I find those annotation features really handy. Can I obtain the updates from you or perhaps a link from where I can download it from. Many Thanks again.

Share this post


Link to post
Share on other sites
11 minutes ago, fuzevt said:

Can I obtain the updates from you or perhaps a link from where I can download it from.

The normal download site, www.schiratti.com/dowson, as pointed to by SimMarket and in the documentation (and I think, on the screen?) always gets you the current supported installer.

There's also the Download Links subforum, here (just look above) not only contains the latest versions, plus interim updates, but many other "goodies".

Pete

 

Share this post


Link to post
Share on other sites

Not sure how to start another topic but this time my question is: Can you assign rotary switch functions in FSUIPC? Below are the functions I'm looking at getting some help I like to use the rotary knobs in Saitek X-55 throttle. If somebody could point the right direction I'll really be appreciative ..Thanks

This is the output on my log file as I manually click on the panel:

 281442 *** EVENT: Cntrl= 65806 (0x0001010e), Param= 0 (0x00000000) AP_APR_HOLD_ON
   283610 *** EVENT: Cntrl= 65811 (0x00010113), Param= 0 (0x00000000) AP_NAV1_HOLD_ON
   285123 *** EVENT: Cntrl= 65807 (0x0001010f), Param= 0 (0x00000000) AP_HDG_HOLD_ON
   286262 *** EVENT: Cntrl= 65815 (0x00010117), Param= 0 (0x00000000) AP_HDG_HOLD_OFF
   286262 *** EVENT: Cntrl= 65819 (0x0001011b), Param= 0 (0x00000000) AP_NAV1_HOLD_OFF
   286262 *** EVENT: Cntrl= 65814 (0x00010116), Param= 0 (0x00000000) AP_APR_HOLD_OFF
   286262 *** EVENT: Cntrl= 65818 (0x0001011a), Param= 0 (0x00000000) AP_BC_HOLD_OFF

Share this post


Link to post
Share on other sites
51 minutes ago, fuzevt said:

Not sure how to start another topic

You just click the (oddly named?) "Start New Topic" button at the top of the forum, which is usually pre-selected for you on the assumption that is what you will do.

51 minutes ago, fuzevt said:

Can you assign rotary switch functions in FSUIPC?

If the rotary switch postions are detected as button presses, yes, of course. I think pretty much all such switches are so detected.

51 minutes ago, fuzevt said:

If somebody could point the right direction

Just turn the knob, get it recognised, and assign the button so identified to whichever of the above controls you want assigned there. It's exactly the same as with any other buttons -- except that, usually, one of the positions doesn't have a "button pressed" indication. That's the one for which you have to assign your chosen function to the next position's "button released" indication.

Pete

 

Share this post


Link to post
Share on other sites
1 hour ago, fuzevt said:

The knob I'd like to assign switch functions is a rotary, does the same steps apply or is that even possible?

You already said it was a rotary switch. One of those has distinct selectable positions. Are you now changing that to "rotary encoder", or what?

Pete

 

Share this post


Link to post
Share on other sites

I may have described the "rotary switch" in error, FSUIPC actually senses it as an axis...Its labeled a "Rotary" on the Saitek X-55 Throttle.  

Share this post


Link to post
Share on other sites

Use the 'set ranges' function to assign controls to various 'bands' on the right side of the Axis assignment menu.

You can define up to, 10 zones and assign a control to each.

 

Paul

 

 

Share this post


Link to post
Share on other sites

Yes, as Paul says. This method is used a lot to make a gear lever, using an axis, operate the GEAR UP and GEAR DOWN controls. That's actually given as an example in the User Guide -- see page 46.

Pete

 

Share this post


Link to post
Share on other sites

 Pete/Paul

Thanks for the tips, it took a bit but it works as describe but I'm not seeing the knob on the panel actually move. Below is an extract from the log file:

64459 *** EVENT: Cntrl= 65810 (0x00010112), Param= 0 (0x00000000) AP_BC_HOLD_ON
    64459 *** EVENT: Cntrl= 65814 (0x00010116), Param= 0 (0x00000000) AP_APR_HOLD_OFF
    66425 *** EVENT: Cntrl= 65818 (0x0001011a), Param= 0 (0x00000000) AP_BC_HOLD_OFF
    66425 *** EVENT: Cntrl= 65806 (0x0001010e), Param= 0 (0x00000000) AP_APR_HOLD_ON
    67423 *** EVENT: Cntrl= 65810 (0x00010112), Param= 0 (0x00000000) AP_BC_HOLD_ON
    67423 *** EVENT: Cntrl= 65814 (0x00010116), Param= 0 (0x00000000) AP_APR_HOLD_OFF
    68063 *** EVENT: Cntrl= 65818 (0x0001011a), Param= 0 (0x00000000) AP_BC_HOLD_OFF
    68063 *** EVENT: Cntrl= 65806 (0x0001010e), Param= 0 (0x00000000) AP_APR_HOLD_ON
    68235 *** EVENT: Cntrl= 65814 (0x00010116), Param= 0 (0x00000000) AP_APR_HOLD_OFF
    68235 *** EVENT: Cntrl= 65807 (0x0001010f), Param= 0 (0x00000000) AP_HDG_HOLD_ON
    68734 *** EVENT: Cntrl= 65806 (0x0001010e), Param= 0 (0x00000000) AP_APR_HOLD_ON
    68734 *** EVENT: Cntrl= 65815 (0x00010117), Param= 0 (0x00000000) AP_HDG_HOLD_OFF
    68859 *** EVENT: Cntrl= 65810 (0x00010112), Param= 0 (0x00000000) AP_BC_HOLD_ON
    68859 *** EVENT: Cntrl= 65814 (0x00010116), Param= 0 (0x00000000) AP_APR_HOLD_OFF
    69935 *** EVENT: Cntrl= 65818 (0x0001011a), Param= 0 (0x00000000) AP_BC_HOLD_OFF
    69935 *** EVENT: Cntrl= 65806 (0x0001010e), Param= 0 (0x00000000) AP_APR_HOLD_ON
    70029 *** EVENT: Cntrl= 65807 (0x0001010f), Param= 0 (0x00000000) AP_HDG_HOLD_ON
    70575 *** EVENT: Cntrl= 65815 (0x00010117), Param= 0 (0x00000000) AP_HDG_HOLD_OFF
    70809 *** EVENT: Cntrl= 65810 (0x00010112), Param= 0 (0x00000000) AP_BC_HOLD_ON
    70840 *** EVENT: Cntrl= 65814 (0x00010116), Param= 0 (0x00000000) AP_APR_HOLD_OFF
    71651 *** EVENT: Cntrl= 65806 (0x0001010e), Param= 0 (0x00000000) AP_APR_HOLD_ON
    71729 *** EVENT: Cntrl= 65818 (0x0001011a), Param= 0 (0x00000000) AP_BC_HOLD_OFF
   115082 *** EVENT: Cntrl= 65732 (0x000100c4), Param= 0 (0x00000000) EXIT

Share this post


Link to post
Share on other sites
4 hours ago, fuzevt said:

it took a bit but it works as describe but I'm not seeing the knob on the panel actually move. Below is an extract from the log file:

Well if the FS controls are being sent, as shown, then the problem with the graphic knob is specific to the code in the gauge. The commands would be the same no matter how you assigned them. If your gauge only operates the graphics with a mouse click, then you'd have to use a mouse click -- or just possibly mouse macros may work if the gauge is written in a specific way.

Pete

 

Share this post


Link to post
Share on other sites

It sounds to me like the code is using an L:Variable to cause the VC knob to rotate and then send the

actual FSX Control. A dump of the aircrafts L:Vars and inspection there of may yield the answer and

a solution.

     Paul

Share this post


Link to post
Share on other sites
Just now, Gypsy Baron said:

It sounds to me like the code is using an L:Variable to cause the VC knob to rotate and then send the

actual FSX Control. A dump of the aircrafts L:Vars and inspection there of may yield the answer and

a solution.

Ah, good thought Paul.

fuzevt: you can list the L:vars being used as a static list in the Log by assigning a keypress to the "List local panel variables" control in FSUIPC.  If you list for each switch position you might see whether one is changing value, and also get the values, which you can use in a Macro File to write the appropriate values.

There's also a slightly smarter way to see what the L:Vars are doing. Get the Log lvars.lua plug-in from the Examples ZIP in your FSUIPC Documents folder, assign that to a key, and when it is running it will display on-screen the L:vars as they change.

Pete

 

 

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

×

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.