Jump to content
The simFlight Network Forums

Recommended Posts

Posted

Hi,

I have installed and set up FSUIPC7 for use with my Honeycomb Alpha Yoke, Thrustmaster rudder pedals, a Saitek throttle quadrant and a custom made button box.  All is working well and I am generally pleased with it, but I have now hit a snag.  I have a second Siatek throttle quadrant for use with airliners.  The problem is that as soon as I try and plug it in MSFS crashes.

I have tried unplugging everything and reconnecting just the quadrants.  The first one can be plugged in without problem, but the second one causes a crash.

If I use MSFS without FSUIPC installed, I can connect both quadrants and they show up in the options as separate controllers without any crashing.

Are there any suggestions on how I can fix this please?

Many thanks

Posted

Ok,  I've managed to make some progress myself.  I have manually tidied up the [JoyNames] in the FCUIPC7.INI  file and now I can connect my second quadrant.

This has raised another question though.  Why have I got multiple entries for my controllers? Is there an Alpha and Numeric for each controller?

[JoyNames]
A=Alpha Flight Controls
A.GUID={0BCE4370-8CAD-11EB-8001-444553540000}
B=Saitek Pro Flight Quadrant
B.GUID={5E831660-8571-11EB-800E-444553540000}
C=T-Pendular-Rudder
C.GUID={5ECB42F0-8571-11EB-8010-444553540000}
D=Arduino Leonardo
D.GUID={4EEC5280-947F-11EB-8001-444553540000}
E=Controller (Xbox One For Windows)
E.GUID={602DB920-8571-11EB-8011-444553540000}
0=Alpha Flight Controls
0.GUID={0BCE4370-8CAD-11EB-8001-444553540000}
1=Saitek Pro Flight Quadrant
1.GUID={5E831660-8571-11EB-800E-444553540000}
2=T-Pendular-Rudder
2.GUID={5ECB42F0-8571-11EB-8010-444553540000}
3=Arduino Leonardo
3.GUID={4EEC5280-947F-11EB-8001-444553540000}
4=Controller (Xbox One For Windows)
4.GUID={602DB920-8571-11EB-8011-444553540000}
 

Posted
15 minutes ago, Andy Waghorn said:

Why have I got multiple entries for my controllers? Is there an Alpha and Numeric for each controller?

Yes, as described in the documentation. The numerical Id is used internally and the details in this section allow FSUIPC to derive the correct numerical ID to the letter, which is not at all related to anything internal to windows.

Pete

 

Posted

 

On 4/10/2021 at 8:24 PM, Andy Waghorn said:

Thanks Pete.  I've got it sorted now.

I'm impressed with product.  I think it will be very useful.  Keep up the good work...

Yes, this is actually very neat detail within FSUIPC
I remember it from back in the day of studying the FSUIPC documentation, how Mr.Dowson delt with everything related to controllers handling by his FSUIPC, so exciting.

Anyway, removing one of controllers from it's port and reconnecting it to another port (or reinstalling OS or whatever) might and actually WILL change the controllers' numbering.
FSUIPC works at a very deep level within our system and so it reflects that numbering. But he found the solution - add a few more steps and make FSUIPC attach a letter to each controller. But he has to attach every letter to every controller according to something, right ? And that "something" are the controllers' numbers that our OS assigns to controllers, right ? Well, then that accomplishes nothing, because the moment the controller's number changes (due to whatever), how will FSUIPC know which letter was assigned to that controller ?

Easy !

The system assigns numbers to controllers by using something even deeper, and those are so called GUID's....long messed up strings of numbers and letters and those are UNIQUE to our controllers.
And so, FSUIPC assigns our controllers the same numbers the OS does, but then reads each controller's GUID, identifies it with the OS assigned number and then literally mirrors the process that the OS does - FSUIPC reads the GUID of every controller and assigns a LETTER to it.
And that letter will stick !
If your yoke is marked by OS as 0 and by FSUIPC as A, and your rudder pedals 2 by OS and C by FSUIPC - and then your PC blows up, you get a new one, reinstall OS, reconnect your yoke and pedals - the OS might/will assign different numbers to them (eg. 1 and 3) and FSUIPC will present them under those numbers - but thanks to Mr.Dowson's scientific approach to his work FSUIPC will assign the same letters to them as before the PC blew up.
So A for yoke and C for rudder pedals.

Now, there is quite a lot of stuff we can actually accomplish with this, at the first sight simple and less important feature.
One of the simplest things we can do is give our controlers any letters we want. 
In order for FSUIPC to accept that, in the main section of FSUIPC.ini we just add this line:

AutoAssignLetters=no

That way we tell FSUIPC not to give letters in order from A to Z to our controllers, but instead we're gonna assign the letters we want to them.

On 4/10/2021 at 6:42 PM, Pete Dowson said:

Yes, as described in the documentation. The numerical Id is used internally and the details in this section allow FSUIPC to derive the correct numerical ID to the letter, which is not at all related to anything internal to windows.

Pete

 

I have a question Mr.Dowson.
When we're already mentioning joy letters - FSUIPC uses some very low lvl Windows facilities instead of DirectInput for this. I remember that in one of the documents for FSUIPC5 you wrote how that way FSUIPC supports up to 16 devices.
Now you unveiled FSUIPC 7.1.0 beta that supports up to 128 buittons on each device (and more devices ?)..and yes I've read what you wrote about its current limitations and the workarounds you had to make and stuff.

My question is just for the sake of my general knowledge about this, so if you have time:
I'd like to know if you had to use a different approach regarding the detection/registration of devices within FSUIPC 7.1.0, or you did it using the same low level Windows facilities plus some new skills ?

All the best, stay well !

 

Posted
7 hours ago, Milan Putnik said:

When we're already mentioning joy letters - FSUIPC uses some very low Windows facilities instead of DirectInput for this. I remember that in one of the documents for FSUIPC5 you wrote how that way FSUIPC supports up to 16 devices.

It is still DirectInput that FSUIPC uses. I think (bur before my time!) that the 32 button limit was the original limit for DirectInput (and is still the limit for DirectX I believe) due to the use pf the DIJOYSTATE  structure. 

7 hours ago, Milan Putnik said:

I'd like to know if you had to use a different approach regarding the detection/registration of devices within FSUIPC 7.1.0, or you did it using the same low level Windows facilities plus some new skills ?

We're using the same approach, but have updated to use the DIJOYSTATE 2 structure instead, which supports up to 128 buttons. The update was relatively straightforward, but was complicated slightly due to FSUIPC's special use of buttons 32-39 for the POV handling (which is why we decided to number buttons 32 onwards as 132 and onwards).

Cheers!

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.