Jump to content

FS9 Axis Jitter when buttons assigned via FSUIPC


Recommended Posts

Dear Pete,

I have two joysticks connected to my flightsim, one is a hacked Saitek 4xAxis and 8 buttons and the other is Leo Bodner's 8xJoystick controller card with 36 buttons. In both cases when configuring via FSUIPC3.731 (and earlier versions) I can configure all axis but when I configure any of the buttons the associated joystick axis start jittering all over the place. This doesn't occur if I configure in FS only, however FS doesn't offer enough flexibility. It also doesn't occur when I configure the same axis and buttons in FSX with FSUIPC4.

I have searched forums and connot see anything similar happening. What could be the cause and am I doing something wrong?

Ken.

Link to comment
Share on other sites

OK, I seem to have discovered a workaround by removing the Axis Assignments in FSUIPC and assigning them in FS instead. I then used FSUIPC's Joystick Calibration section to apply the various settings for throttles such as reverse thrust etc. The button allocations on either card no longer cause axis jitter. I guess this is the proper way to do it, instead of using FSUIPC exclusively?

Ken.

Link to comment
Share on other sites

I have two joysticks connected to my flightsim, one is a hacked Saitek 4xAxis and 8 buttons and the other is Leo Bodner's 8xJoystick controller card with 36 buttons. In both cases when configuring via FSUIPC3.731 (and earlier versions) I can configure all axis but when I configure any of the buttons the associated joystick axis start jittering all over the place.

Strange. I've never heard of that before. In FSUIPC3 the same interface is used to scan both axes and buttons, and it is the standard Windows joystick interface. Does the same occur if axes are assigned in FS instead?

In FSUIPC, are you reading the Axes in "RAW" mode? If so try reading them in normal (Windows calibrated) mode, as there is a possibility that the joystick driver might not like the modes switching.

The only other thing I can think of trying is to reduce the button scan somewhat. Put a "PollInterval" parameter into the main [buttons] section of the INI. The default polling rate is 40 per second, set by 25 here (PollInterval is in milliseconds). Try doubling it (to 50, giving 20 scans per second) -- if it has no effect at all then it isn't the answer. If it does you could try intervening values.

Of course if your buttons are only switches to turn things on and off or toggle things, then an even slower scan rate would be worth trying.

This doesn't occur if I configure in FS only, however FS doesn't offer enough flexibility.

FS uses DirectInput for both buttons and axes. It's a different thing altogether. It also never uses RAW modes of course.

It also doesn't occur when I configure the same axis and buttons in FSX with FSUIPC4.

Well the button scanning is identical in FSUIPC4, but the axis scanning is done via DirectInput, just as it is in FS. Evidently there's something about the older mode driver for your devices which isn't very good at reading axis values. I fear most game device developers concentrate on the DirectInput (HID) side of their support to the detriment of the basic Windows facilities.

I'm afraid that the work involved in re-doing FSUIPC3 for DirectInput is far too much for me to undertake at this stage. For FSUIPC4 it was relatively easy as it needed to be written almost from scratch in any case, due to the interaction with SimConnect.

Regards

Pete

Link to comment
Share on other sites

Thanks Pete,

My workaround is working fine at the moment, having Axis assigned in FS and configuring them in FSUIPC which doesn't cause a problem. Yes I was using RAW mode for all axis so I will try the other mode. Interesting also that I have an Open Cockpits Axis card with 5 axis and 24 buttons that I use to have connected and this worked fine exclusively in FSUIPC. I'll try connecting that again to compare. I don't know, too many variables in this game! You get one thing working and another goes. It would also help if FS9 didn't keep assigning my joystick everytime I unplug and change things!!

I am happy using it in this combined mode for the moment, at least everything works. Certainly don't go contemplating a rewrite of version 3 as version 4 certainly has no problem.

By the way, love the program and the support. Worth every dollar of the registration :D

Ken.

Link to comment
Share on other sites

My workaround is working fine at the moment, having Axis assigned in FS and configuring them in FSUIPC which doesn't cause a problem. Yes I was using RAW mode for all axis so I will try the other mode.

Please do, and let me know. Of course you'll need to re-calibrate them.

RAW mode is really only intended for axes which are meant to set values DIRECTLY. For instance, an axis deliberately designed to feed specific values for Flap detentes actually providing the exact value, without calibration, for the correct flap positions. Or one designed to provide values 0-359 to set a heading. Such axes can be built with multiway switches and a set of resistors (trimpots), each preset for the correct reading, or also of course by other electrical means. EPIC cards can be programmed explicitly to send any exact values on any of its possible 16 axes. This is why I support RAW mode, but it really does not have any other applications that I can think of.

Interesting also that I have an Open Cockpits Axis card with 5 axis and 24 buttons that I use to have connected and this worked fine exclusively in FSUIPC.

Sounds like it is using a better driver?

Regards

Pete

Link to comment
Share on other sites

Just reconfigured the joystick in Non-RAW mode and it worked a treat! All axis assigned and configured in FSUIPC along with their buttons and no jitters.

Right. Thanks for confirming.

I know that on any one joystick I cannot read some axes in RAW mode and others not -- they must all be one or the other. I have to impose that in the FSUIPC options (I suppose you would have noticed). When I tried to mix them I was getting really weird incorrect values for one mode or the other (whether it was RAW or calibrated I don't remember).

I didn't actually think that the reading of the buttons only (which is not done in the same call and for which there's really no "RAW" mode as such) would matter whether the RAW flag was set or not, but evidently it does.

One solution in my code might therefore be to read the buttons in "RAW mode" (i.e. set the flag) if the corresponding axes (i.e. the axes on the same joystick) were being read in RAW mode.

Really, unless it becomes necessary, I'm not inclined to do that at this stage. It is no where near as complex as changing over to DirectInput, but it is still non-trivial, and therefore risky. FSUIPC3 is so modified by now, over its seven plus years, that each small change risks introducing bugs in other parts.

Thanks for letting me know in any case. I think I'll note down the possibility of a fix as I described, just in case it arises again.

Regards

Pete

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
 Share

×
×
  • 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.