Jump to content
The simFlight Network Forums

Problem passing values to offset 3BAA


Recommended Posts

We developed our own driver a while ago that passes values for a joystick  (via .NET and Wideclient) to offset 3BAA.

This was working fine on Prepar3D V3, but we are just trying to get it running on Prepar3D V4 and seeing some strange things.

The value we pass to the offset is in the range -16384 to +16384

If i use FSUIPC logging to monitor the offset, it shows the exact value we have passed in.  So for example, we pass -2000, the logging shows a value of -2000 in 3BAA.

However when assigning the AXIS in FSUIPC, the "IN" values displayed, they are in the range -14,000 to +22000.  I am not sure what the logic is for this as I had assumed the IN value would mirror exactly what we pass to the offset (and what displays in the logging screen).   

We then see a further problem because the Axis Calibration page maxes out the IN value at 16384 so we cant realise the full range of movement we are passing in... and in fact anything past the centre position of the axis is effectively discarded.

I know the above is probably not a very clear explanation - but this code was working fine on V3 of Prepard3D so it seems to be a change in how these values are being passed to the offset that is causing the problem.

If anyone has any ideas on what might be happening or what we could try I would be very grateful!

Regards,

Rob

Link to comment
Share on other sites

Just an update on this.

I tried it again using the older 32 bit version of Prepar3D, and what ever value we send in to offset 3BAA is what shows as the "IN" value in the Joystick Axis Assignment page in FSUIPC.

So I think that is the real issue - why doesn't the value we send not get seen as the IN value with 64 bit Prepar3D on - again keeping in mind it does show our value correctly when we turn on logging for the offset.

Regards,

Link to comment
Share on other sites

On 1/24/2020 at 1:21 AM, rs3tier said:

The value we pass to the offset is in the range -16384 to +16384

If i use FSUIPC logging to monitor the offset, it shows the exact value we have passed in.  So for example, we pass -2000, the logging shows a value of -2000 in 3BAA.

Of course, because that's what you wrote to it.

On 1/24/2020 at 1:21 AM, rs3tier said:

the "IN" values displayed, they are in the range -14,000 to +22000.  I am not sure what the logic is for this as I had assumed the IN value would mirror exactly what we pass to the offset (and what displays in the logging screen).   

Only if you select "RAW". see this part of the explanation about those offsets:

 

Note that by default FSUIPC assumes that the normal
input here is in the range 0–127, and scales it accordingly. For
applications supplying a greater range, possibly up to the
maximum allowed for joysticks (–1 6383 to +16383) you can
either use the “RAW” option, or, better, let FSUIPC adjust its
scaling to suit the range being input. It will adjust this
automatically upon seeing the extreme values, or you can preset
the scaling using a parameter added to the axis assignments line
in the INI file.

On 1/24/2020 at 1:21 AM, rs3tier said:

We then see a further problem because the Axis Calibration page maxes out the IN value at 16384 so we cant realise the full range of movement we are passing in... and in fact anything past the centre position of the axis is effectively discarded.

But 16384 is the maximum possible value for an axis! Your +22000 seems to be an uncalibrated input. Unless you use RAW you need to operate the axis a few times to let the auto-scaling operate.

17 hours ago, rs3tier said:

I tried it again using the older 32 bit version of Prepar3D, and what ever value we send in to offset 3BAA is what shows as the "IN" value in the Joystick Axis Assignment page in FSUIPC.

Is that with an identical FSUIPC INI file? If so then there's something odd, because nothing in FSUIPC has been changed in that area. Could you confirm what version numbers you were using, both in P3D3 and P3D4?

Pete

 

Link to comment
Share on other sites

As always, I am very grateful for your time Pete.

I had tried moving our axis across the full extents but that did not seem to help in getting it properly scaled. I can test it again of course.

Before getting into that though, I should mention that when I had ticked ‘raw’ prior to injecting any value into the axis, the raw check box immediately dimmed out and became unselectable as soon as it saw a value being passed.  Is that strange? It definitely doesn’t happen when I use a ‘normal’ input from a Bodnar card (and it wasn’t happening on the P3D v3 instance).

Our preference would be to pass the raw values from -16k to +16k if possible.

Regards,

Rob

 

Link to comment
Share on other sites

  • 3 weeks later...
On 1/26/2020 at 12:32 AM, Pete Dowson said:

I think you need to show me the two INI files, the one from when you say it was okay and the one from now. and i still do really need version numbers, please.

Pete

Hello Pete!

I will have a similar problem with FSUIPC and axis alignment. 

I have to change our flightsever now from Win8 to Win10 and latest FSUIPC and I will send the value of the FDS-A320-trimwheel to an offset to receive that value in my own trim wheel control software.

I have calibrated the axis on OS and the values will be shown in full range in Win 10 - but FSUIPC seems to cut the raw value and show me only a small part within a range of -16384 to +16384.

So I thought that I will be able to scale the axis with the RAW-button- but the RAW button is light grey and not select-able.

Any ideas would be great, because I don't want to change my controller software to read the axis direct from OS. I used this function in FSUIPC now over 5 years in my flightdeck without problems and a lot of fun.

 

CIAO Robert

 

 

 

On 1/26/2020 at 12:32 AM, Pete Dowson said:

 

 

Link to comment
Share on other sites

On 2/13/2020 at 2:56 PM, fisfro said:

I have calibrated the axis on OS and the values will be shown in full range in Win 10 - but FSUIPC seems to cut the raw value and show me only a small part within a range of -16384 to +16384.

FSUIPC's axis assignmnet tab shows the values received from Windows DirectInput. FSUIPC does not manipuate these in any way. If they are "cut off" it is Windows which is doing it. I suggest a full uninstall of the device in Device Manager, including any driver software, and a re-boot of the PC.

On 2/13/2020 at 2:56 PM, fisfro said:

So I thought that I will be able to scale the axis with the RAW-button- but the RAW button is light grey and not select-able.

I think the RAW button needs to be set BEFORE making an assignment. Just remove the assignment and try again.

However, RAW mode still uses DirectInput. It simply tells Windows not to use its calibration.

On 2/13/2020 at 2:56 PM, fisfro said:

I used this function in FSUIPC now over 5 years in my flightdeck without problems and a lot of fun.

There's been no change in FSUIPC to make a difference. It must be something in your new install of Windows.

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.