Jump to content
The simFlight Network Forums

annotations for assignments lost when controller is not available


Recommended Posts

Hi!

In 4.951 you added "annotations for assignments in the INI, decoding controls and keys", which is a great feature!

The annotations are only added when the corresponding controller is in use, which is okay for me, but the problem is: Since I sometimes fly with a joystick and sometimes with a yoke, the button annotations for one or the other are lost when I start FSX without having them connected.

One example from my FSUIPC4.ini (Y is my yoke, J is my joystick):
 

1=RY,6,C65880,0        -{HEADING_BUG_DEC}-
27=RJ,4,C65880,0       -{HEADING_BUG_DEC}-

When I start FSX without the yoke connected, this is changed to:
 

1=RY,6,C65880,0
27=RJ,4,C65880,0       -{HEADING_BUG_DEC}-

It would be good if the annotations could survive this.

 

Edit: I was using 4.952

Link to comment
Share on other sites

1 hour ago, ThomasAH said:

It would be good if the annotations could survive this.

Edit: I was using 4.952

First a question. Why disconnect anything? Do you simply not have enough USB sockets?

Second: I certainly didn't intend for the annotations to disappear just because the controller wasn't located on this current session. The annotations ARE generated afresh for each USED assignment (i.e those loaded for action -- the generic ones and those for the current Profile), but those in other Profiles are left untouched. They are only deleted when they are being re-generated after decoding when loading into the internal tables for use.

So, I am puzzled. Maybe my code is cleverer than I thought, and is not loading assignments for missing controllers, so as not to possibly deal with spurious inputs (though those are really impossible because the missing controller is not being polled),

Anyway, I will check here, and fix if necessary.

Thanks for your report.

Pete

 

  • Upvote 1
Link to comment
Share on other sites

5 hours ago, Pete Dowson said:

First a question. Why disconnect anything? Do you simply not have enough USB sockets?

Not enough desk space. If I have the yoke and everything else connected, it looks like this:

setup.jpg

But I need the desktop for other things, e.g. using the computer not for flight simulation, then I store yoke/rudder/... in a cabinet:

stored.jpg

But if the cabinet is closed, the USB cables can't be connected.

As setting up all these things takes some minutes, I often fly just with a simple joystick. Beats not having the time to fly at all.

2 hours ago, Pete Dowson said:

Found this bug and fixed it in version 4.954a, now available from the Download Links subforum above. Please run the 4.953 installer before overwriting the FSUIPC4.DLL with the 4.954a version.

That was quick. Thank you! I'll try it.

Link to comment
Share on other sites

Mostly works with 4.954a, thank you!

There are only four lines with conditions that lost their annotation now:

32=CP(-Y,0)Y,32,K104,8         -{Key press: Num8}-
33=CP(-Y,0)Y,36,K98,8          -{Key press: Num2}-
34=CP(-Y,0)Y,38,K100,8         -{Key press: Num4}-
35=CP(-Y,0)Y,34,K102,8         -{Key press: Num6}-

get truncated to:

32=CP(-Y,0)Y,32,K104,8
33=CP(-Y,0)Y,36,K98,8
34=CP(-Y,0)Y,38,K100,8
35=CP(-Y,0)Y,34,K102,8

 

Link to comment
Share on other sites

10 hours ago, ThomasAH said:

Mostly works with 4.954a, thank you!

There are only four lines with conditions that lost their annotation now:

Hmmm. Strange.

Are those the only conditional ones? That would be a good clue as to where I should look. Aren't there ones conditional on +Y,0, the opposite situation? That's the more usual arrangement for conditions: "do this if this or do this if not this", rather than "do this and that if this or do just that".

BTW, the reason I hadn't discovered your problems before, during testing here, is that normally, when you have different controllers for different Profiles (ie. for different aircraft types, usually), you only have the buttons, axes and calibrations for the specific controllers in the specific Profiles to which they are applicable. Now, I know it doesn't matter for Buttons, which if not connected cannot be activated, but sometimes if joystick axes are scanned but they are disconnected you'd get a spuriously bad return.

Unfortunately, my testing was only for the normal case, different devices for different profiles, and Profiles not being loaded are neither annotated nor have previous annotations removed.

Pete

 

Link to comment
Share on other sites

8 hours ago, Pete Dowson said:

Are those the only conditional ones? That would be a good clue as to where I should look. Aren't there ones conditional on +Y,0, the opposite situation? That's the more usual arrangement for conditions: "do this if this or do this if not this", rather than "do this and that if this or do just that".

BTW, the reason I hadn't discovered your problems before, during testing here, is that normally, when you have different controllers for different Profiles (ie. for different aircraft types, usually), you only have the buttons, axes and calibrations for the specific controllers in the specific Profiles to which they are applicable. Now, I know it doesn't matter for Buttons, which if not connected cannot be activated, but sometimes if joystick axes are scanned but they are disconnected you'd get a spuriously bad return.

Unfortunately, my testing was only for the normal case, different devices for different profiles, and Profiles not being loaded are neither annotated nor have previous annotations removed.

Yes, that are the only conditional ones for disconnected devices. The following conditional settings for the (connected) joystick survived:

18=D07BC=0 RJ,7,C65615,0        -{ELEV_TRIM_UP}-
19=D07BC>0 RJ,7,C66583,0        -{AP_PITCH_REF_INC_UP}-
20=D07BC=0 RJ,6,C65607,0        -{ELEV_TRIM_DN}-
21=D07BC>0 RJ,6,C66584,0        -{AP_PITCH_REF_INC_DN}-
...
47=CP(-J,0)J,32,K104,8  -{Key press: Num8}-
48=CP(-J,0)J,36,K98,8   -{Key press: Num2}-
49=CP(-J,0)J,38,K100,8  -{Key press: Num4}-
50=CP(-J,0)J,34,K102,8  -{Key press: Num6}-
51=D07D0>0 RJ,6,C65804,1        -{AP_ATT_HOLD_ON}- 
52=D07D0>0 RJ,7,C65804,1        -{AP_ATT_HOLD_ON}-

They map the POV hat to numpad keys to trigger specific EZCA actions (switching views), but if I press the button behind the POV hat with my index finger, I can pan around. I have something similar to a +Y,0 conditional configured in EZCA for that, so these are not in FSUIPC.

I don't think that I ever had problems with axes giving ghost inputs or something like that. But yes, if I had such problems, I would probably use different profiles.

Link to comment
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
×
×
  • Create New...

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.