Jump to content
The simFlight Network Forums

Conditional Axis Sensitivity?


ark1320

Recommended Posts

Can the sensitivity of an axis be made conditional? In particular, to enhance ground steering without impacting the effectiveness of the rudder in flight, if possible I'd like to make the sensitivity of the rudder axis conditional on whether or not the a/c is on the ground (Offset 0x0366). Perhaps by adjusting the slope of the rudder curve somehow with a Lua script.....

 

Thanks for any ideas.

Al

Link to comment
Share on other sites

Hi Al,

it is not possible to make the axis sensitivity conditional on whether the a/c is on the ground, and calibration slopes can't be changed or adjusted once assigned.

Of course, you can always use lua to intercept the axis and do your own calibration (or slope adjustment) there, but you would have to implement this yourself (i.e. you cannot use FSUIPC's built-in slope calibration).

For adjusting sensitivity between the rudder and tiller when on the ground, take a look at the MaxSteerSpeed and RudderBlendLowest ini parameters (documented in the Advanced User guide).

John

Link to comment
Share on other sites

6 hours ago, John Dowson said:

Hi Al,

it is not possible to make the axis sensitivity conditional on whether the a/c is on the ground, and calibration slopes can't be changed or adjusted once assigned.

Of course, you can always use lua to intercept the axis and do your own calibration (or slope adjustment) there, but you would have to implement this yourself (i.e. you cannot use FSUIPC's built-in slope calibration).

For adjusting sensitivity between the rudder and tiller when on the ground, take a look at the MaxSteerSpeed and RudderBlendLowest ini parameters (documented in the Advanced User guide).

John

Hi John,

Thanks for the info, I was not aware of the MaxSteerSpeed and RudderBlendLowest parameters.

My main interest is in reducing the sensitivity of ground steering in aircraft that don't have a steering tiller, like the Beech Baron or TMB 930, etc. because I find them hard to control during takeoff and landing roll. In these aircraft ground steering is strictly through use of the rudder peddles.

For such aircraft, what do you think of the idea of editing the FSUIPC7.ini file so rudder peddles are assigned to both the rudder and steering tiller axes like the below. Does this cause some undesirable conflicts?

Under [AXES]

2=RR,128,D,36,0,0,0    -{ DIRECT: SteeringTiller }-
3=RR,128,D,3,0,0,0    -{ DIRECT: Rudder }-

and under [JoystickCalibration]

Rudder=-16380,-256,256,16380
SteeringTiller=-20380,-256,256, 20380  (range expanded to desensitize the ground steering)

I have not changed the MaxSteerSpeed and RudderBlendLowest parameters from their default values. What would you suggest given the above setting?

Thanks,

Al

Link to comment
Share on other sites

Hi Al,

you can assign your rudder axis to the steering tiller in the FSUIPC assignments panel (together with the rudder) - you can assign up to 4 axes controls to any one axis. The steering tiller is actually am FSUIPC-added axis that uses the rudder control, but allows a separate calibration in FSUIPC's calibration page. It won't have any affect above the MaxSteerSpeed, where your standard rudder calibration will kick-in. Please see the box on P34 of the FSUIPC6 User Guide.

I would also try just using the steering tiller calibration initially, if thats not good enough then yes, by all means extend the range to de-sensitize around the centre.

John

Link to comment
Share on other sites

59 minutes ago, John Dowson said:

you can assign your rudder axis to the steering tiller in the FSUIPC assignments panel (together with the rudder) - you can assign up to 4 axes controls to any one axis

John,

When I assign the rudder and steering tiller to the same axis as shown in the pic below, I don't get a range entry (-16380 to 16380) for the steering tiller under [JoystickCalibration] but just a range entry for the rudder, and if I go to the FSUIPC7 Joystick Calibration tab it says the Steering Axis is not processed. I do see the entry 1=RR,256,D,3,36,0,0    -{ DIRECT: Rudder, SteeringTiller } under [AXES]. however.

I also see there is a parameter SteeringTillerControl=0 under [JoystickCalibration], do I need to change that?

Thanks,

Al

 

RudderSteeringTiller.png

Link to comment
Share on other sites

8 minutes ago, ark1320 said:

I don't get a range entry (-16380 to 16380) for the steering tiller under [JoystickCalibration]

Did you calibrate? Steering tiller calibration is on screen 9 of the calibration screens.

10 minutes ago, ark1320 said:

Joystick Calibration tab it says the Steering Axis is not processed.

Then click 'Set' and calibrate!

10 minutes ago, ark1320 said:

I also see there is a parameter SteeringTillerControl=0 under [JoystickCalibration], do I need to change that?

No, I wouldn't do that. I'm not actually sure what that is....! I'll check the code for that.

John

Link to comment
Share on other sites

52 minutes ago, John Dowson said:

Then click 'Set' and calibrate!

Ah! 😮  Didn't realize what I was being told by FSUIPC!  ☹️

Al

Update: Got the Steering Tiller axis calibrated and assigned to the rudder peddles, set a slope of +8 to the axis to desensitize the steering and all seems to be working well.

Thanks very much for the great support, John!

 

Link to comment
Share on other sites

14 minutes ago, pilotjohn said:

This is an interest feature. Any chance this could made so that these are based on the stall speed (e.g. a fraction) instead of absolute values?

I like that idea. Making MaxSteerSpeed default to a fraction of the stall speed (say 70%) would prevent having to reset the value for different aircraft, e.g., a Piper Cub vs an A320.

Al

Link to comment
Share on other sites

11 minutes ago, pilotjohn said:

Any chance this could made so that these are based on the stall speed (e.g. a fraction) instead of absolute values?

Possibly. But what do you mean by "fraction"? 
I could determine the speed from one of the "stall speed" offsets, 0x0538 or 0x0540, or maybe from a user-defined offset? How would you like this determined?
I'm pretty busy at the moment but will take a look when I get a chance.

Link to comment
Share on other sites

1 minute ago, ark1320 said:

Making MaxSteerSpeed default to a fraction of the stall speed (say 70%) would prevent having to reset the value for different aircraft

If I read this from a user-specified offset, then you could have a simple lua to write the max steer speed needed to that offset. The lua could then also read whatever offset it likes to base this value on, and also take a fraction or apply any other type of calibration, also updating when the aircraft changes.

Link to comment
Share on other sites

30 minutes ago, John Dowson said:

If I read this from a user-specified offset, then you could have a simple lua to write the max steer speed needed to that offset. The lua could then also read whatever offset it likes to base this value on, and also take a fraction or apply any other type of calibration, also updating when the aircraft changes.

I think that's a great idea, it makes it completely customizable.

  • Like 1
Link to comment
Share on other sites

2 hours ago, John Dowson said:

If I read this from a user-specified offset, then you could have a simple lua to write the max steer speed needed to that offset. The lua could then also read whatever offset it likes to base this value on, and also take a fraction or apply any other type of calibration, also updating when the aircraft changes.

Lua scripts under [Auto] and/or [Auto.profile_name] would be all you would need.

Al

Link to comment
Share on other sites

Thinking about this further, I'm not sure if this is needed or helpful as it only applies when on the ground (if you were thinking that this could be used for a 2nd calibration when flying at slow speeds). Also, the MaxSteerSpeed is already configurable for different profiles, and you can probably achieve the calibration you require by playing around with this parameter - from the Advanced User Guide:

Quote

MaxSteerSpeed=60: This parameter appears only in [JoystickCalibration] sections, and deals with FSUIPC's facility to 'blend' its steering tiller control into rudder control as speed increases whilst on the ground. Both tiller (the FSUIPC direct control, not MSFS's own), and rudder need to be assigned in FSUIPC by the "direct to FSUIPC calibration" method, and both be properly calibrated for any blending to be active.

The MaxSteerSpeed parameter includes more complex facilities to restrict the rudder effect in different groundspeed ranges. The simplest of these keeps the rudder at 10% of its input until half way to the full threshold speed, then increase linearly to 100%. This is intended to make reasonably easy to check the rudder pedals whilst taxiing without causing bad swerves, and also allows some use of rudder even at very slow speeds at the end of the landing ground roll. The value of 10% minimum comes from the 737NG where at taxi speeds the rudder deflection is a maximum of 7 degrees compared with 67 degrees fully.

To make FSUIPC do this blending instead of the normal 0-100% linear method, just change the MaxSteerSpeed parameter in the relevant [JoystickCalibration] section of the INI file to a negative value, eg -60 for the default 60 knot threshold.

A more complex specification can be provided which allows the user even more scope. The MaxSteerSpeed parameter can be given as MaxSteerSpeed = Qn1,n2,n3,n4 where n1 to n4 are numbers used as follows:

  • If n1 is not zero, then rudder effect is 0% (ie eliminated) until a groundspeed of n1 knots. Then the effect rises linearly from 0% at n1 knots to 10% at n2 knots.

  • If n1 is zero, then rudder effect is 10% until the groundspeed reaches n2 knots. n2 is not allowed to be zero.

  • If n3 is not zero, then rudder effect rises linearly from 10% at n2 knots to 30% at n3 knots, then linearly again from 30% at n3 knots to 100% at n4 knots.

  • If n3 is zero, then rudder effect rises linearly from 10% at n2 knots to 100% at n4 knots. n4 is not allowed to be zero.

Note that apart from the option for n1 and n3 to be zero, n4 > n3 > n2 > n1. You should see that the option: MaxSteerSpeed=-60 is in fact the same as specifying MaxSteerSpeed=Q0,30,0,60.

There is one shortcut. MaxSteerSpeed=Q is the same as specifying MaxSteerSpeed=Q10,20,30,60

Given this, do you still think that this would be a useful addition?

Link to comment
Share on other sites

4 hours ago, John Dowson said:

Given this, do you still think that this would be a useful addition?

I have been aware of this info for the MaxSteerSpeed from the Advanced users guide since you pointed me to it at the top of this thread.  I assumed a tiller axis would only be available on the ground since a tiller is used for taxiing!

The fact you can already set different values for the MaxSteerSpeed  under different profiles is a valid point. So the question is is there utility in being able to set different MaxSteerSpeeds  within a profile. Not all profiles are specific to a particular aircraft, but rather to an aircraft category, eg, Jet Aircraft, and the aircraft in that category may have different stall speeds and you may want to set the MaxSteerSpeed based on stall speed or maybe aircraft type name. And I think there usually is a wide range of aircraft in the non-profile category, so again being able to set the MaxSteerSpeed based on some characteristic such as stall speed would be good. I would not want to have to create a new aircraft profile just to be able to tailor the MaxSteerSpeed to what I want. I don't like to have more profiles than I really need.

I think when it comes down to it being able to set the MaxSteerSpeed based on some fraction of aircraft stall speed would provide ample flexibility, and there is already an Offset for stall speed. So an additional Offset for the MaxSteerSpeedStallFraction would be all that is needed.  That Offset could default to some value like 0.7.

I guess, John, it comes down to how hard it would be, or how much time it would take, to implement something like this.  I would put having this capability in the "useful to have " but not critical category.

Al

Link to comment
Share on other sites

  • 4 weeks later...

@ark1320, @pilotjohn I've added this feature in the attached build. To use, you must specify the offset (starting with 'x' not '0x') as the MaxSteerSpeed ini parameter, i.e.
    MaxSteerSpeed=x66C0
The offset should hold (and is read as) a signed word (2 byte) integer. The maxSteerSpeed will be updated on every change of this user defined offset, so you can have a profile-specific auto-started lua to set this for your profile, or a long running lua monitoring the aircraft name (or stall speed) and updating the value when this changes.

I've not had time to do too much testing so please report back once tried.

John

P.S. Changes to the MaxSteerSpeed are logged when Extras logging is activated.

 

FSUIPC7.exe

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.