Forum Navigation
Please or Register to create posts and topics.

Trim Interfacing Tutorial by Alan Norris

(Original thread started on 05-16-13 by Alan Norris)

I've spent the last few days posting on Pete Dowson's forum in order to get my trim switches to work. To avoid you having to bear the slings and arrows that Pete can throw at you here's what I came up with.  For whatever reason, I could never get the switches programmed properly in InterfaceIT using the offsets for the trim functions. If you have managed to do this -- great but for those who are having problems here is a solution.

 

There are several unpublished (that I could find) offsets that you can use to create a virtual joystick that FSUIPC can read. The offset starts at 3360 and each offset can create nine buttons (0, 1, 2, 4, 8, 16, 32, 62, 128).

 

For Elevator Trim switch:

Within InterfaceIT, find the entry for the UP action and rename it to Elevator Trim Switch Up.  (It's easier to find it if you turn on the Locate function by right clicking on the FDS card name.)

Add an action and select Send to FSUIPC Down (On)

In the window that pops up use these:

Offset: 3360

Type: Byte

Operation: Set bit

Value: 0

 

Add another action and select Send to FSUIPC Up (Off)

In the window that pops up use these:

Offset: 3360

Type: Byte

Operation: Clear bit

Value: 0

 

Within InterfaceIT, find the entry for the DOWN action and rename it to Elevator Trim Switch Down.

Add an action and select Send to FSUIPC Down (On)

In the window that pops up use these:

Offset: 3360

Type: Byte

Operation: Set bit

Value: 1

 

Add another action and select Send to FSUIPC Up (Off)

In the window that pops up use these:

Offset: 3360

Type: Byte

Operation: Clear bit

Value: 1

 

 

For Rudder Trim switch:

Within InterfaceIT, find the entry for the RIGHT action and rename it to RudderTrim Switch Right.

Add an action and select Send to FSUIPC Down (On)

In the window that pops up use these:

Offset: 3360

Type: Byte

Operation: Set bit

Value: 2

 

Add another action and select Send to FSUIPC Up (Off)

In the window that pops up use these:

Offset: 3360

Type: Byte

Operation: Clear bit

Value: 2

 

Within InterfaceIT, find the entry for the LEFT action and rename it to RudderTrim Switch Left.

Add an action and select Send to FSUIPC Down (On)

In the window that pops up use these:

Offset: 3360

Type: Byte

Operation: Set bit

Value: 4

 

Add another action and select Send to FSUIPC Up (Off)

In the window that pops up use these:

Offset: 3360

Type: Byte

Operation: Clear bit

Value: 4

 

Save all.

Now open up FSUIPC and select the Buttons + Switches tab.

Press the Elevator Trim switch UP, FSUIPC will recognize it as Joystick 72 Button 0

Check the Select for FS control box

In the drop down list select Elevator Trim Up

Check the Control to repeat while held box

Put 0 in the Parameter box.

 

Press the Elevator Trim switch DOWN, FSUIPC will recognize it as Joystick 72 Button 1

Check the Select for FS control box

In the drop down list select Elevator Trim Down

Check the Control to repeat while held box

Put 0 in the Parameter box.

 

Now do the same for the Rudder switches which will be recognized as Joystick 72 buttons 2 and 3. Select either Rudder Trim Right or Rudder Trim Left as appropriate and you're all done.

 

To change the sensitivity of the switches go into the Aircraft Configuration file and add these lines (or change the values if they are already present.

 

[flight_tuning]

elevator_trim_effectiveness = 1.4

aileron_trim_effectiveness = 1.0

rudder_trim_effectiveness = 1.0

 

You can play around with these values until you find what works best for you.

 

(Posted by Will Sasse on 05-16-13)

Very interesting! I had always thought there would be unpublished/unused offset somewhere but never had the time to find out. So not only is it true, but they are also useful!!  Well done indeed. Thank you!

 

(Posted by Alan Norris on 05-16-13)

The advantage of using the 3360 and above offsets is that you can hand off the programming from InterfaceIT to FSUIPC. Now that may not seem much but at the moment there are some things that InterfaceIT cannot do and I'll give you an example. On the APU panel there is a MASTER switch and a START/RUN switch. The MASTER is a latching switch and has to be in the down (ON) position before the START/RUN switch can be operable. The only way to do this is to edit the FSUIPC4 INI file and as InterfaceIT writes direct to FSX there are no entries for those switches.

 

By creating actions for these two switches that FSUIPC can recognize as buttons, then you can program them with offsets and there will be an entries in the INI file that you can manipulate.

 

(Posted by Ron Rollo on 05-16-13)

Hey Alan, these look like different offsets than what I used this morning for the trim up and down that you pointed me to earlier this week.

 

Also, do you know the offsets for the LWD and RWD trim? These of course are for the roll or aileron trim.

 

(Posted by Alan Norris on 05-17-13)

The offsets I gave you earlier were the ones I was trying to get to work in InterfaceIT but couldn't and I wanted to see if you could.

 

I'll find the offsets for the aileron trim (LWD and RWD) and post them. What I gave in the example are the rudder trims which of course are used on the center console panel that I got from Vince.

 

BTW I made a few misstatements. The offsets for providing joystick buttons to FSUIPC are from 3340 to 3363 (36 total) and will show up in FSUIPC as Joysticks 64 through 72. Each offset can handle 7 buttons not 9 as I said. In InterfaceIT you use Set Bit and Clear Bit as I said in the example and use these bits to create a joystick button number:

 

0 for joystick button 0

1 for button 1

2 for button 2

3 for button 3

4 for button 4

5 for button 5

6 for button 6

 

(Posted by Ron Rollo on 05-20-13)

Hey Alan, to answer your question you asked in the Engine start thread, I have my pitch trim working fine. The LWD and RWD is another story. Did you say you were able to interface these properly?

 

My issue is I can get left dip (LWD) to go deeper into left trim and then bring it back out of deep left trim until it reaches centered using decrement. But if I want to continue trimming to the right into "Right" trim, (RWD) it will not allow me.

 

I have tried to add a second FSUIPC function line (or what ever we call it) to add the increment values, to see if that would make a difference and it didn't. I can get one side or the other to work, but not both together. I have tried just about every combination I can think of as well.  That's why I ask if you were able to get this to work.

 

I will say this, while I was working on the pitch trim, I had the pilot's and co-pilots pitch trim programed identically, but the pilot side would not work during one of the four elements of it's travel. In case your wondering:

 

When the pitch is at .0 it is natural. If you use pitch up, the numbers will get larger, as an example, 1.5. This is one element of the travel. Using pitch down will bring the numbers back down until it reaches .0 again, another element.

 

But if you want to continue trimming into the negative numbers by continuing to hold down the trim down, your moving into the third element of the switch function. Last bu not least, the forth element would be using trim up to bring the trim back out of negative numbers.

 

I say all that to say this, even though I had my pilots and co pilots yokes identically programmed, one of the elements on the pilots pitch trim switch would not respond, BUT IT WORKED ON THE CO PILOT'S SIDE!!!! after 10 minutes of looking and making sure my 0's weren't o's etc.... I finally just imported the co pilots side into the pilots side. Now it works fine. Anyone ever experience anything like this? This is the kind of stuff that drives me nuts!

 

(Posted by Alan Norris on 05-20-13)

Ron, as I said before I couldn't (or was ignorant) do it in InterfaceIT and have since read the manual and now know that the + button next to the offset box in InterfaceIT opens up the list of FSUIPC actions DUH! When you select Add Action and then Update FSUIPC Down (On) and click that + at the top, can't you select Aileron Trim Right and Aileron Trim Left from the list? Those are what I selected in FSUIPC and they work fine. You should be able to select Repeat action while button is held so you can trim fast.

 

If this is not possible or does not work, then read my tutorial so you can use the 3360 offset to program the switches in FSUIPC instead of InterfaceIT. Worked for me.

 

(Posted by Ron Rollo on 05-20-13)

That sounds like a better idea, but you told me in an email to use offset 0C02 for the aileron trim and you had it working fine. It was the pitch trim that had you stumped. You sent me the information in an email on what you were working with, offset 0BC0. I was able to get it working in less than two minutes.

 

But then I see you did something different with your pitch as well. If I did not know any better, I would swear I was communicating with two different guys!

 

(Posted by Alan Norris on 05-20-13)

Sorry about the confusion. At that time I was still trying to get them programmed in InterfaceIT using offsets. After that didn't work I transferred the programming to FSUIPC using the joystick button emulation offset 3360. It's there that I used the Aileron Trim Right and Left (as well as Elevator Trim Right and Left) from the drop down list. You can probably find those in the InterfaceIT list by pressing that + button (that I missed).

 

(Posted by Ron Rollo on 05-20-13)

Fixed! I used the Aileron Trim Right and Left in the FSUIPC drop down list and they are now working! The offsets are a great idea, (if they worked) because they would allow us to adjust the speed of the trim. Oh well. Thanks again Alan!

 

(Posted by Alan Norris on 07-01-13)

One more thing to look at is the rate at which the pitch trim, or roll trim changes as you hold down the switch. If it moves too fast then change the first value of the 256/16383 in the Parameters box. If you increase this value then the trim changes more rapidly and conversely if you decrease the value it changes more slowly. So play around with it until you get to where it is controlling the pitch. I found out at first that I had the value too high and just pushing the trim switch quickly made trimming the aircraft difficult as it was swinging from nose up to nose down and I couldn't find a neutral position.

 

Hope this helps. I'm finding that having a mouse and keyboard close at hand when I'm flying is making these changes easy. Tough to pause the sim, jump out, make changes, jump back in every time you want to make a change.

 

Okay after making that last post I found something interesting. If you do your programming of the trims in InterfaceIT there doesn't seem to be any way of selecting Action to repeat while button is held as there is in FSUIPC Buttons + Switches. This is why I used the offsets to create virtual joysticks 64 through 72 in InterfaceIT so that I could program the trim functions in FSUIPC. However I discovered yesterday that if in FSUIPC Buttons + Switches you select Elevator Trim Up you don't seem to be able to use the 255/16383 in the Parameters box to adjust the rate at which the trim changes as you press the switch. To overcome this I just used the offsets with SWord Increment and Decrement. This does allow using 255/16383 in the Parameters box. I found that I had to increase the number of steps to get the trim values in the EICAS to move more slowly as the switch was pressed -- 75/16383 worked for me but you may want to play around with it.

 

Here are the offsets to use:

Elevator Trim 0BC0

Aileron Trim 0C02

Rudder Trim 0C04

 

BTW I was given a BETA version of InterfaceIT after I told Steve Cos of the issues I was having (not being able to see the offset list and not being able to select any item in the drop down boxes with my mouse) and it fixed all my problems.

 

(Posted by Ron Rollo on 08-29-14)

I wanted to give mega kudos to Alan Norris for creating this great tutorial on programming the Trim functions in the sim! Thanks Alan!

 

These joystick offsets will come in handy with many other functions in the sim. I have nothing in mind ATM, but the process is very simple. I got a lot of practice being that the are 12 trim selections in the sim!

 

Now all of my trim selections continue to adjust while holding down the buttons. I did find that they were way too fast and I had to adjust the trim effectiveness settings as follows:

 

[flight_tuning]

elevator_trim_effectiveness = 0.3

aileron_trim_effectiveness = 0.2

rudder_trim_effectiveness = 0.2

 

These settings are just a fraction of the original settings of 1.0. I may adjust further if need be. Thanks Again Alan for this tutorial!

 

(Posted by Ron Rollo on 03-09-15)

I had the trim setting set up near perfect in my FSX sim before it went down but now that I am switching over to P3D 2.5, I am finding that most everything works fine in InterfaceIT but the trim settings. After reading over this thread again, I remember what the issue is. And that issue is that the settings imported over into InterfaceIT from the old sim (FSX) are just part one of a two part solution. I still need to go into FSUIPC within P3D and tell it what each of these button assignments are going to do. In this case, trim switches.

 

Wow, this was just six months ago and I forgot already!  Hopefully in the morning I can report that I once again have the trim buttons and settings working properly.

 

The settings in InterfaceIT took and work perfectly I think. (I have not had a chance to test it yet). When I select nose up as an example, it is telling InterfaceIT what to do which, in your words, is to "pass off the work to FSUIPC". (I know, I forgot too until I had to sit down and think about it!)

 

So all I have to do now is tell FSUIPC what it is I want the selection in InterfaceIT to do. When you save the configuration settings in InterfaceIT, it does not save the settings in FSUIPC. However, you can also save your FSUIPC configuration file if nothing more but to refer back to if you get stuck with something. As an example, while setting up my throttle axis, I was not getting satisfactory results like I was before when the throttles were working perfectly in FSX. So I copied the throttle settings from the old FSUIPC configuration file used with FSX and over wrote the ones in the current version of P3D. Now I have my old perfectly working throttles.

 

I thought about just transferring over the entire FSUIPC configuration file but the problem that I see with that is as you are plugging back in each interface card, it gets assigned a name in FSUIPC. So if you do not plug them in the same order you did over the past three years as you were adding cards to expand, you will end up with mismatched card names with button assignments. So to avoid all that, I just started fresh and took a peek at the old FSX configuration file when I needed to.  Still looking for time to finish up with this and confirm.

 

(Posted by Alan Norris on 03-12-15)

You need to edit the FSUIPC INI file to change the line AutoAssignLetters=No to AutoAssignLetters=Yes. This lets FSUIPC assign the joystick letters and if you unplug the joystick and plug it back in then FSUIPC knows which one it is.

 

(Posted by Ron Rollo on 03-12-15)

Thanks for that tip but at this point, I am well on the path to getting everything back up and running. As a matter of fact, it is probably a good exercise to go through the motions when the opportunity arises to help us remember all this stuff.

 

Anyway, I found 30 minutes to finish assigning the trim switches in FSUIPC and everything works 100% as it did before. As a matter of fact, the next thing that I am going to assign in this fashion is the "push to talk" buttons on the yokes. (They are also hardwired to one of the FDS cards.) This is something that has been bugging Greg Branch and myself for months and this is the solution!!

 

Thanks Alan for your help in this and finding those offsets!

 

Quick update, the PTT seems to work fine. I just need to do some more testing to confirm. Having these joystick offsets expands our possibilities and removes limitations!

 

(Posted by Alan Norris on 03-13-15)

I have my PTT button wired to my FDS card. I have one relay left but as I will probably never use any real time ATC I'll leave it as is -- albeit non functional. I assume you programmed the dummy joystick and buttons offsets in InterfaceIT to get FSUIPC to recognize them. They start at offset 3340 with 8 buttons per offset.

 

(Posted by Ron Rollo on 03-13-15)

Yes, that is what I did. Same fashion as the trim buttons. Still need to do the testing and confirming, I keep getting side tracked.

 

Uploaded files:
  • You need to login to have access to uploads.