Jump to content
The simFlight Network Forums

Proposals concerning Saitek X-52 problems


Recommended Posts

Hi,

the Saitek X-52 is a good joystick with lots of features, however, it has some really nasty problems with complex aircraft, that feature autopilot/autothrottle options.

The reason for this, as I found out, is the very bad habit of the X52 to update ALL of its axis, even if only one is processed.

For example, if you try to takeoff with the Flight1 ATR72, you should leave the throttle at idle and rightclick on the Thrustlever on the panel, to get autothrottle and automatic propeller control. So far, everything works fine, the engines spool up and off you go. The problem begins if f.e. you have to steer a little to stay on the runway: This gives a little rudder axis input and the X52 will update not only the rudder, but also the throttle axis, putting it to zero, since the throttle lever is still at idle. So, abruptly, you will lose all power. The F1ATR AP/AT logic will try to compensate by adjusting the power, but this takes its time and at the next rudder or elevator input, the X52 will kill the throttle again. So in the end you get a big struggle between the X52 and the AP/AT logic and an aircraft that has to takeoff with 30 to 50 percent of the possible TO-Thrust.

This whole problem becomes especially funny, if you assign a mixture axis to the x52. Since internally FS9 uses the mixture axis to regulate the fuel flow to the engines of a jet, the X52 logic will kill the engines of a given jet at any joystick movement if you forgot to turn the mixture controll up to 100% after your last prop flight. (And if you did put the mixture to 100%, X52 will open the fuel valves to the engine on every movement...)

BTW, the updating of all axis' at a time also gives FSUIPC problems to identify the right axis in "axis assignments": Most of the time, I get the Z-axis, even if I try elevator or aileron. I presume, the Z-axis is processed first by the X52 logic, so it will be recognized most of the time. So always verify that the values react as they should, otherways try again!

Now, what can we do?

I first tried to solve the problem using the X52 profile editor. Since the X52 can change between profiles in flight, I thought I would make one profile without throttle control and one with throttle control to be able to change inbetween those two as required.

Since it is not possible to directly disable an axis in the profile, I assigned a blank keyboard command to the throttle. Unfortunately, I learned that the axis will be updated anyway, so it didn't help.

I tried to deactivate the joystick in the FS9 menu and access the axis' directly through FSUIPC, but it was just the same. My workaround at this time is to deactivate the Throttle axis assignment and reactivate it as requiredon the FSUIPC axis assignment page. This works, but it is a little annoying to have to go through FSUIPC calibration everytime I turn on the AP/AT.

Here are some proposals to FSUIPC:

1. It would be great to assign a joystick button to turn on/off the processing of a given axis. This could help on a lot of axis conflicts and would be the most practical solution. Such an option on the button page would be great.

2. Helpful could also be an option, that disables the throttle axis as soon as the autothrottle is activated, and reactivates it if it is turned off again. (This will, of course, not work in all cases, since several complex addons don't use the FS9 AT parameters, but have their own logic)

3. An option, that disables mixture (and prop?) axis, if a jet aircraft is used.

4. An interface, that allows gauge programmers to disable given axis' on a given time. I see that a lot of addon designers have the problem of conflicts between joysticks and their autoflight logic, so this could be most helpful.

Just my opinions, I would be glad if some of this could be realized, or maybe someone has an even better idea...

Good flying,

Torsten

Link to comment
Share on other sites

you should leave the throttle at idle and rightclick on the Thrustlever on the panel, to get autothrottle and automatic propeller control. So far, everything works fine, the engines spool up and off you go. The problem begins if f.e. you have to steer a little to stay on the runway: This gives a little rudder axis input and the X52 will update not only the rudder, but also the throttle axis, putting it to zero, since the throttle lever is still at idle. So, abruptly, you will lose all power.

You simply need a larger null zone in the idle position so that there's no change in the values.

BTW, the updating of all axis' at a time also gives FSUIPC problems to identify the right axis in "axis assignments"

That's exactly why I added the facility to temporarily ignore axes. Didn't you try using that?

1. It would be great to assign a joystick button to turn on/off the processing of a given axis.

Well, I don't think you need it, but there is already an assignable FSUIPC control to turn the throttles on and off. In fact there are three -- 'off', 'on' and 'toggle'.

2. Helpful could also be an option, that disables the throttle axis as soon as the autothrottle is activated, and reactivates it if it is turned off again.

Autothrottle has always been a problem with "jittery" throttle axes, ever since I can remember (FS4?). The solution which always works is to make sure you have good reliable dead zones at both max and min positions, and park the throttle when engaging autothrottle. I normally park it at max on climb-out, and reduce it to min at the start of the descent.

This works because FS ignores axes which don't change.

The same answer applies to your 3.

4. An interface, that allows gauge programmers to disable given axis' on a given time. I see that a lot of addon designers have the problem of conflicts between joysticks and their autoflight logic, so this could be most helpful.

FSUIPC has offered such facilities now for years, and they are fully utilised in a number of aircraft, including some "fly by wire" implementations.

Regards,

Pete

Link to comment
Share on other sites

Thanks for the fast reply, Pete.

this was a big help!

you should leave the throttle at idle and rightclick on the Thrustlever on the panel, to get autothrottle and automatic propeller control. So far, everything works fine, the engines spool up and off you go. The problem begins if f.e. you have to steer a little to stay on the runway: This gives a little rudder axis input and the X52 will update not only the rudder, but also the throttle axis, putting it to zero, since the throttle lever is still at idle. So, abruptly, you will lose all power.

You simply need a larger null zone in the idle position so that there's no change in the values.

It is not a problem of the calibration of the throttle axis. The problem is, that the throttle axis will be updated after any movement on any OTHER axis. I am not touching the throttle at all, but as soon as I lift the elevator, or steer the rudder, the throttle will be killed.

BTW, the updating of all axis' at a time also gives FSUIPC problems to identify the right axis in "axis assignments"

That's exactly why I added the facility to temporarily ignore axes. Didn't you try using that?

Thanks for the hint, however, this is not a big problem for me, I manged the assignments allright.

1. It would be great to assign a joystick button to turn on/off the processing of a given axis.

Well, I don't think you need it, but there is already an assignable FSUIPC control to turn the throttles on and off. In fact there are three -- 'off', 'on' and 'toggle'.

This did the trick, I didn't know of this option. FSUIPC is simply amazing!

2. Helpful could also be an option, that disables the throttle axis as soon as the autothrottle is activated, and reactivates it if it is turned off again.

Autothrottle has always been a problem with "jittery" throttle axes, ever since I can remember (FS4?). The solution which always works is to make sure you have good reliable dead zones at both max and min positions, and park the throttle when engaging autothrottle. I normally park it at max on climb-out, and reduce it to min at the start of the descent.

This works because FS ignores axes which don't change.

This is, as I just learned, not exactly correct. The DRIVERS of most joysticks ignore axes that do not change. When - as on the X52 - the driver sends a new zero value for the throttle, FS will accept this, even if the throttle wasn't moved.

My old Sidewinder Joystick worked: as long as I didn't touch the throttle lever, no throttle value was transmitted to the computer. When you opened the Sidewinder driver calibration window, the throttle was put to 100% by default, even if the throttle lever was at zero. You could play around with elevators and ailerons and rudders, their values changing accordingly, but the throttle stayed with 100%. Only when you moved the throttle, was the value adjusted.

On the X52, you get the same picture on the driver calibration window at first, but as soon as you touch any one of the axes or buttons, the whole control set is updated, resulting in the throttle going down to 0% without having touched the Lever.

Nevertheless, I am glad I could solve this with the throttles on/off option, thank you again for this great utility.

Torsten

Link to comment
Share on other sites

It is not a problem of the calibration of the throttle axis. The problem is, that the throttle axis will be updated after any movement on any OTHER axis. I am not touching the throttle at all, but as soon as I lift the elevator, or steer the rudder, the throttle will be killed.

But if it supplies the same value each time (like 0) then it won't have any effect as it was the same as last time.

The only occasion I can think of where that will have an effect is if the cockpit you are using is "emulating" the throttle control and sending throttle axis controls to FS -- if it is doing that then it is fooling FS. Any software which does that need to disconnect the actual axis input if it is going to provide its own. That's a must.

Your device is not unique. It might for for a USB device (I don't know), but all Game Port axes are polled. They don't send information regularly or when it changes, but are polled continuously by Windows' joystick drivers and the values fed through to whatever program wants them, which will also be polling. Hence, as you must see, a joystick throttle is always providing values. The secret has always been not to have them change, then they are ignored.

I think you've already proven to me that your joystick IS changing all the time -- you said that it was hard to get FSUIPC's axes page to register another axis because it always sees Z, but my code, which is polling by the way, IGNORES unchanging axes.

Your throttle is obviously wobbling away and providing changing values. Calibrate it with a bigger null zone and park it.

This is, as I just learned, not exactly correct. The DRIVERS of most joysticks ignore axes that do not change. When - as on the X52 - the driver sends a new zero value for the throttle, FS will accept this, even if the throttle wasn't moved.

No, that really isn't true. Sorry. FS ignores successive identical values, as does FSUIPC. You have got something else changing them.

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