Jump to content
The simFlight Network Forums

Choose controller profiles ad libitum?


Recommended Posts

This morning I spent some time setting up a joystick profile for several of my aircraft. The trick for me was that I wanted to disable my yoke axes completely when I was using the joystick AND have a different calibration for the joystick (rather than create a loose calibration that would work for both yoke and stick). Solution was to (a) delete FSX assignments altogether (b) assign yoke axes in FSUIPC © for joystick aircraft only, reassign yoke ailerons, elevator, and throttle to unused axes (mixture 2, 3, 4) and (d) for joystick aircraft only, assign joystick axes for ailerons, elevator, and throttle. I couldn't get it to work at first, because I still had yoke axes assigned by FSX (hence step a). Once I had this working, I activated substring/short string names in FSUIPC.ini and copied the relevant calibration and axes sections for several aircraft groups.

Now, when I load one of my helicopters, it reads from my joystick and uses the joystick calibration automatically, with no interference from my sometimes jittery yoke axes. I realize that, for some FSUIPC veterans, this is very basic stuff, but I'm pleased. Thank you, Peter, for continuing to improve your program, and for making it work with FSX.

Now, the question is: what to do with aircraft that I sometimes fly with a yoke (for longer distances) and sometimes with a joystick (for acrobatics). Planes in this category for me: RealAir SF.260, various World War II-era fighters.

What I'd like to be able to do is save a generic yoke profile and a generic joystick profile in FSUIPC, both with calibrations, and load one of them manually. Being able to do this automatically, based on aircraft, is fantastic, and I'm sure it was a lot of work to program. However, would it be possible for the user to do this manually as well, for planes that might use more than one profile? Maybe this is possible already, and I have just missed it in the manual (which I have read several times, at intervals); if so, I apologize -- and welcome advice on how to activate different profiles that are not aircraft-specific.

- David Wilson-Okamura

Link to comment
Share on other sites

... and throttle to unused axes (mixture 2, 3, 4)

You don't have to assign unused axes to anything. just don't assign them. That will actually save FSUIPC time reading themn and sending values to FS to do nothing useful.

Now, the question is: what to do with aircraft that I sometimes fly with a yoke (for longer distances) and sometimes with a joystick (for acrobatics).

You could assign both to the same functions at the same time. This will work fine PROVDED that when left alone, untouched, they provide no changed values (or, with FSUIPC's assignments, that the changes are within the "delta" value, below which changes are ignored).

What I'd like to be able to do is save a generic yoke profile and a generic joystick profile in FSUIPC, both with calibrations, and load one of them manually. Being able to do this automatically, based on aircraft, is fantastic, and I'm sure it was a lot of work to program. However, would it be possible for the user to do this manually as well, for planes that might use more than one profile?

The easiest way is to create an extra variant of the aircraft in the AIRCRAFT.CFG file, making some change or addition to the Title so that FSUIPC will select the correct settings automatically. e.g. just duplicate the [Aircraft.0] section as [Aircraft.1] and add "Yoke" to one title and "Joy" to the other, then use this difference to identify the aircraft. If you are already using a short-name section (substring) for this, obviously the change will need to go next to it in the title.

Regards

Pete

Link to comment
Share on other sites

Thank you, Pete, for the correction (on what I don't need to assign) and for the suggested solution. The only real drawback that I foresee is that it multiplies the number of items that FSX has to work through when choosing aircraft (which, in my case, is already considerable), and the number of items that the user has to sort through when choosing what to fly (again, a considerable number; I wish that FSX would allow bigger thumbnails). On the other hand, it will work with what's available NOW.

Reason I'm not assigning two controllers to one axis: delta would diminish the stick's responsiveness.

Link to comment
Share on other sites

Reason I'm not assigning two controllers to one axis: delta would diminish the stick's responsiveness.

The default delta of 256 might cover any minor jitters. Modern digital joysticks on USB ports are a lot freer of jitter in any case. The main things which used to cause this (dirt, temperature, humidity, fluctuating power supply?) don't seem to affect the modern kit much. so it would be worth a try.

To see exactly what your kit it doing, temporarily enable "Raw" mode in the Axis assignment and watch the input values.

Regards

Pete

Link to comment
Share on other sites

You may like to know that I've devised a way for multiple axes assigned to the same FS function via FSUIPC4's axis assignments, direct to FSUIPC calibratiion, to be arbitrated just like those using the special control number assignments facility.

The maximum deflection is the one which is used, but the check is only performed when a change occurs on an axis. So once one axis is used instead of another, it remains in use for that function provided that the others assigned to the same function are either quiescent, or only provide values of less significance than the last one from the current axis.

This avoids the need to assign larger "delta" values to stop jitter interference from the axes currently not being used. They simply need to stay "parked" (centred for control axes like aileron, elevator, rudder and their trims, full off for axes like throttles, spoilers, flaps, mixture and prop pitch).

I've also changed the way the "Direct to FSUIPC" assignment works, to avoid using simconnect altogether, on the assumption that this is responsible for some of the problems reported in a parallel thread near here.

Look for a new release in the FSX Downloads announcement above in a day or two, after I've tested it thoroughly.

Regards

Pete

Link to comment
Share on other sites

Thank you, Pete. Your program just gets more and more useful.

Download this and try it, please:

http://fsuipc.simflight.com/beta/FSUIPC4289.zip

It has the arbitration i mentioned. It also avoids using SimConnect for direct-assigns, so hopefully it won't cause other problems. I'll not release it formally till I know.

Thanks,

Pete

Link to comment
Share on other sites

Thank you, Pete; I'm testing now. Is there a way to calibrate the second assignment. In my case, I have yoke already primary for X and Y. Can I also calibrate joystick for X and Y, or will the one calibration be used for both devices?

Link to comment
Share on other sites

I just loaded up with the beta. I didn't get far I'm afraid. Twice after installing, the sim stopped responding to input of any kind after about one minute (including TrackIR). To restart, I had to end FSX in task manager. I deactivated the beta version (by renaming the dll) and reactivated the current public version (with my working fsuipc.ini). Back to normal. Since it happened twice with the beta, and since it didn't happen after I reinstalled the working version, I am wondering if there is something wrong in the beta. If it helps, my system is:

Core2Duo E6600 @ 2.4 GHz

4 gigabytes RAM

Nvidia 8800 GT (512 Mb)

Samsung 20” widescreen LCD (1680 x 1050)

Windows XP Pro SP2

TrackIR 3 with Vector Expansion

CH pedals, yoke

Saitek X45 throttle

Sidewinder Precision Pro joystick

Belkin Nostromo N52 (another USB controller, no sliders or axes)

Buttkicker Gamer

Sound Blaster X-Fi XtremeGamer sound card

FSX with Acceleration (SP2)

Link to comment
Share on other sites

Thank you, Pete; I'm testing now. Is there a way to calibrate the second assignment. In my case, I have yoke already primary for X and Y. Can I also calibrate joystick for X and Y, or will the one calibration be used for both devices?

Sorry, the calibration part only sees one axis. the arbitration isn't there. you need reasonably matched axes, as you do with the other method.

Pete

Link to comment
Share on other sites

I just loaded up with the beta. I didn't get far I'm afraid. Twice after installing, the sim stopped responding to input of any kind after about one minute (including TrackIR). To restart, I had to end FSX in task manager. I deactivated the beta version (by renaming the dll) and reactivated the current public version (with my working fsuipc.ini). Back to normal. Since it happened twice with the beta, and since it didn't happen after I reinstalled the working version, I am wondering if there is something wrong in the beta.

Strange. It works fine here. The main difference is that it is simpler -- the axes sent "direct to FSUIPC calibration" are then posted directly to FSX without using SimConnect. It's much much more efficient, using much less processor and resources -- the same method was used in FS2004 and before. I haven't used it before with FSX because i was "trying to be a good boy" and use the "official" SimConnect routing.

I'm at a loss at present. Have you anything to show me, like an FSUIPC4.LOG for example? Does it still lock up with your version of FSUIPC.INI not using "direct to FSUIPC" assignments?

Pete

Link to comment
Share on other sites

I reactivated beta and enabled logging; same lockup. The sim doesn't crash, it just stops responding to all input. (Also, any tooltip onscreen at the time of lockup stays on screen.) I'm attaching FSUIPC4.log.

Two other things in the mix here which I forgot to mention in describing my system:

- I am flying the new Hughes Racer from Aerosoft

- Am using ActiveSky X

FSUIPC4 log, using beta.zip

Link to comment
Share on other sites

I reactivated beta and enabled logging; same lockup. The sim doesn't crash, it just stops responding to all input.

Looks like it is in a tight loop repeating similar axis controlsI'm wondering if this is also what causes the problems for some folks with Simconnect. Look:

324477 *** AXIS: Cntrl= 65923 (0x00010183), Param= 16384 (0x00004000) PROP_PITCH1_SET

324528 *** AXIS: Cntrl= 65923 (0x00010183), Param= 16384 (0x00004000) PROP_PITCH1_SET

324578 *** AXIS: Cntrl= 65923 (0x00010183), Param= 16384 (0x00004000) PROP_PITCH1_SET

324628 *** AXIS: Cntrl= 65923 (0x00010183), Param= 16384 (0x00004000) PROP_PITCH1_SET

324679 *** AXIS: Cntrl= 65923 (0x00010183), Param= 16384 (0x00004000) PROP_PITCH1_SET

324729 *** AXIS: Cntrl= 65923 (0x00010183), Param= 16384 (0x00004000) PROP_PITCH1_SET

324779 *** AXIS: Cntrl= 65923 (0x00010183), Param= 16384 (0x00004000) PROP_PITCH1_SET

324830 *** AXIS: Cntrl= 65923 (0x00010183), Param= 16384 (0x00004000) PROP_PITCH1_SET

324880 *** AXIS: Cntrl= 65923 (0x00010183), Param= 16384 (0x00004000) PROP_PITCH1_SET

324931 *** AXIS: Cntrl= 65923 (0x00010183), Param= 16384 (0x00004000) PROP_PITCH1_SET

324981 *** AXIS: Cntrl= 65923 (0x00010183), Param= 16384 (0x00004000) PROP_PITCH1_SET

325032 *** AXIS: Cntrl= 65923 (0x00010183), Param= 16384 (0x00004000) PROP_PITCH1_SET

325082 *** AXIS: Cntrl= 65923 (0x00010183), Param= 16384 (0x00004000) PROP_PITCH1_SET

325141 *** AXIS: Cntrl= 65923 (0x00010183), Param= 16384 (0x00004000) PROP_PITCH1_SET

Since the value in each case is the same (16384) is shouldn't really be continually sending them.

I'm guessing that the raw value for this axis is actually jittering more than the Delta, and so feeding different values to the calibrator, and that is seeing them all in a dead zone and so setting the max (16384). Fine. but it looks like i am missing the final check that says "if I sent this before don't send it again".

I'll check. Look out for another link -- I'll remove 4.289 for now. the next one will be 4.291.

Thanks,

Pete

Link to comment
Share on other sites

Since the value in each case is the same (16384) is shouldn't really be continually sending them.

Whilst changing this might be an improvement, I think it's a red herring.

I've managed to reproduce your symptoms -- by Mapping my one throttle to 4 throttles. Everything works fine but as soon as i do that, hang ...

It looks like something I'm now doing is causing a loop when any single axis is mapped to more than one. I assume you have some? Perhaps you could show me your [Joystick] section parameters -- not all, just the section you use by default.

I'll look at this later, after dinner. it may not be tomorrow till I have it solved.

Regards

Pete

Link to comment
Share on other sites

Here are my assignments:

[Axes]

0=0X,256,D,1,0,0,0

1=0Y,256,D,2,0,0,0

2=0Z,256,D,4,0,0,0

[Axes.h1a2] (the same for all specialized planes; just uses HOTAS instead of yoke for ailerons, elevator, and throttle)

0=1X,256,D,1,0,0,0

1=1Y,256,D,2,0,0,0

2=1S,256,D,29,0,0,0

These are my working assignments, before I tried to use the new feature.

As you can see, I do NOT have an axis mapped to multiple axes. Most assignments are done through FSX; axes mapped here, though, are direct through FSUIPC (so, for example, FSX is not mapping my ailerons at all).

Link to comment
Share on other sites

Here are my assignments:

These are my working assignments, before I tried to use the new feature.

As you can see, I do NOT have an axis mapped to multiple axes.

No, sorry, you misunderstand. Mapping isn't registered in the [Axes] section but in the [JoystickCalibration] section. I'm referring to the mapping of, for example, a throttle to 4 throttles, or Throttle 1 to 1,2 and 2 to 3,4, etc. All the mapping facilities are in the calibration section. you are confusing "assignment" and 2mapping".

I cannot induce a problem UNLESS I set some mapping. Immediately i set mapping I get exactly the same symptoms as you. that's why I wanted to see your joysdtick section, not your Axes.

Thanks,

Pete

Link to comment
Share on other sites

[JoystickCalibration]

ExcludeThrottleSet=Yes

ExcludeMixtureSet=Yes

ExcludePropPitchSet=Yes

SepRevsJetsOnly=No

ApplyHeloTrim=No

FlapsSetControl=0

FlapDetents=No

ReverserControl=66292

Reverser1Control=66422

Reverser2Control=66425

Reverser3Control=66428

Reverser4Control=66431

MaxThrottleForReverser=256

AileronTrimControl=66731

RudderTrimControl=66732

CowlFlaps1Control=66162

CowlFlaps2Control=66163

CowlFlaps3Control=66164

CowlFlaps4Control=66165

SteeringTillerControl=0

MaxSteerSpeed=60

ElevatorTrim=-16193,-1341,-298,16192/8

Aileron=-16384,-390,128,16256/8

Elevator=-16380,350,2451,16383/8

SlopeAileron=-4

SlopeElevator=2

SlopeElevatorTrim=2

Throttle=-16253,16256/8

[JoystickCalibration.h1a2]

ExcludeThrottleSet=Yes

ExcludeMixtureSet=Yes

ExcludePropPitchSet=Yes

SepRevsJetsOnly=No

ApplyHeloTrim=No

FlapsSetControl=0

FlapDetents=No

ReverserControl=66292

Reverser1Control=66422

Reverser2Control=66425

Reverser3Control=66428

Reverser4Control=66431

MaxThrottleForReverser=256

AileronTrimControl=66731

RudderTrimControl=66732

CowlFlaps1Control=66162

CowlFlaps2Control=66163

CowlFlaps3Control=66164

CowlFlaps4Control=66165

SteeringTillerControl=0

MaxSteerSpeed=60

Aileron=-16383,-507,1002,16383/8

ElevatorTrim=-16193,-1342,-339,16192/8

SlopeElevatorTrim=2

Elevator=-16383,-64,127,16383/8

Throttle=-16383,16256/8

CowlFlaps1=-16384,16383

Link to comment
Share on other sites

[JoystickCalibration]

...

Hmmm. No mappings, so I'm not really sure which aspect caused the loop -- but it will be something I missed, posting the control and intercepting it and re-posting etc. That's what was happening here.

Anyway, I've worked through it logically and re-written the relevant part. I've re-tested all the combinations I've had time to do this evening and will continue tomorrow, but meanwhile maybe you'd like to try it.

http://fsuipc.simflight.com/beta/FSUIPC4291.zip

Regards

Pete

Link to comment
Share on other sites

Thank you, Pete, for the fast turnaround. I downloaded and installed 2.91 and flew for 60 mins without a control freeze. Haven't tested dual controls yet, but the latest beta seems to be working.

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.