Jump to content

Recommended Posts

Posted

Hi, so with my 160000m + TWCS throttle, I have a combined 9 axis - but the default TM target script only sets 8 axis.

  

I currently use sedenion's hack for getting more inputs, and I found this part of the script:

image.png

If I enable SLD2, I get an extra virtual axis (remeber to set DXBTCOUNT down from 120 to less) 

image.png

The issue is right now the Slider1 is bound to the same input as Slider0 😞 

 

Slider0 is setup in the following way:

MapAxis(&T16000, THR, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
 

So apparently the DX_SLIDER_AXIS acts for both Slider0 and Slider1 - 

 

How do I split those 2? 

 

Ideally I want to set "MapAxis(&TWCSThrottle, TRDR, *NAME_FOR_SLIDER1*, AXIS_NORMAL, MAP_ABSOLUTE);"

 

-If you dont know how to enable the extra inputs, see here: 

 

Posted

you might see if the latest version helps ? 

 

SYSTEM SPECS: Hardware AMD 9800X3D, 64Gb RAM, 4090 FE, Virpil T50CM3 Throttle, WinWIng Orion 2 & F-16EX + MFG Crosswinds V2, Varjo Aero
SOFTWARE: Microsoft Windows 11, VoiceAttack & VAICOM PRO

YOUTUBE CHANNEL: @speed-of-heat

1569924735_WildcardsBadgerFAASig.jpg.dbb8c2a337e37c2bfb12855f86d70fd5.jpg

Posted

DirectX is limited to 8 axes per device and since Target merged your two devices into a single virtual one it clashes against this limit. There is no workaround for this other than ditching Target and using just DCS to assign axes and buttons.

 

For work: iMac mid-2010 of 27" - Core i7 870 - 6 GB DDR3 1333 MHz - ATI HD5670 - SSD 256 GB - HDD 2 TB - macOS High Sierra

For Gaming: 34" Monitor - Ryzen 3600 - 32 GB DDR4 2400 - nVidia RTX2080 - SSD 1.25 TB - HDD 10 TB - Win10 Pro - TM HOTAS Cougar

Mobile: iPad Pro 12.9" of 256 GB

Posted
1 minute ago, Martin1454 said:

Hmm... so maybe use target/ virtual for buttons and the "real" controller for axis? 


i’m not a Target expert, but I think that you cant use both .. once target creates its virtual device you no longer have access to the real ones.

 

For work: iMac mid-2010 of 27" - Core i7 870 - 6 GB DDR3 1333 MHz - ATI HD5670 - SSD 256 GB - HDD 2 TB - macOS High Sierra

For Gaming: 34" Monitor - Ryzen 3600 - 32 GB DDR4 2400 - nVidia RTX2080 - SSD 1.25 TB - HDD 10 TB - Win10 Pro - TM HOTAS Cougar

Mobile: iPad Pro 12.9" of 256 GB

Posted (edited)

you definately can, you just have to make sure that the device is not disabled 

 

Configure(&Joystick, MODE_KEEPENABLED);

 

they are treated as separate devices Combined Axis and the original, but im not sure this application will "work" in the way that @martin1454  envisaged/...

 

Edited by speed-of-heat

SYSTEM SPECS: Hardware AMD 9800X3D, 64Gb RAM, 4090 FE, Virpil T50CM3 Throttle, WinWIng Orion 2 & F-16EX + MFG Crosswinds V2, Varjo Aero
SOFTWARE: Microsoft Windows 11, VoiceAttack & VAICOM PRO

YOUTUBE CHANNEL: @speed-of-heat

1569924735_WildcardsBadgerFAASig.jpg.dbb8c2a337e37c2bfb12855f86d70fd5.jpg

Posted (edited)

 

On 2/28/2021 at 10:05 AM, Martin1454 said:

Hi, so with my 160000m + TWCS throttle, I have a combined 9 axis - but the default TM target script only sets 8 axis.

  

I currently use sedenion's hack for getting more inputs, and I found this part of the script:

image.png

If I enable SLD2, I get an extra virtual axis (remeber to set DXBTCOUNT down from 120 to less) 

image.png

The issue is right now the Slider1 is bound to the same input as Slider0 😞 

 

Slider0 is setup in the following way:

MapAxis(&T16000, THR, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
 

So apparently the DX_SLIDER_AXIS acts for both Slider0 and Slider1 - 

 

How do I split those 2? 

 

Ideally I want to set "MapAxis(&TWCSThrottle, TRDR, *NAME_FOR_SLIDER1*, AXIS_NORMAL, MAP_ABSOLUTE);"

 

-If you dont know how to enable the extra inputs, see here: 

 

 

Hi,

 

Definitions for virtual buttons and axes assignement values are located in the defines.tmh file, betwenn line 763 to 811, here is the currently defined axes :

 

define DX_X_AXIS        1        
define DX_Y_AXIS        2
define DX_Z_AXIS        3
define DX_XROT_AXIS        4
define DX_YROT_AXIS        5
define DX_ZROT_AXIS        6
define DX_THROTTLE_AXIS 7
define DX_SLIDER_AXIS     8


As you can see the sequence is regular, from 1 to 8. The names does not matter, what matters are the numerical values, which are the true thing used by functions. The "define" keyword is used to substitute a value to a convenient string which is replaced by the true numerical value at compilation time, it is a kind of embelishment to help make thing more readable.

So, in fact, the line :

MapAxis(&T16000, THR, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);


Is strictly equivalent to :

MapAxis(&T16000, THR, 8, AXIS_NORMAL, MAP_ABSOLUTE);

 

It is may be - but not sure - possible to extends values beyond the 8 and before the 1, so, to assign more than 8 axes. To try it, it is simple, you can for example call the mapping function with the value 9 instead of 8:

MapAxis(&TWCSThrottle, TRDR, 9, AXIS_NORMAL, MAP_ABSOLUTE);


At this stage, if you experience a big Blue-Screen-Of-Death, don't panic (nothing is broken, you simply marvelously crashed the kernel), this mean you simply reached the logical limit defined within the drivers, you (your program) tryed an out-of-bound array assigment, which is fatal at this software layer (very close to kernel). This however mean, you cannot go beyond 8 because there is a hard-coded limit in the drivers, which you cannot overstep. However, you may-be can assign the 0 value (maybe this value is reserved for another thing, like HAT, I don't know, but you can try). So you can try this:

MapAxis(&TWCSThrottle, TRDR, 0, AXIS_NORMAL, MAP_ABSOLUTE);


Again, if you got a BSOD, don't panic, reboot, but this mean you can't assign more than 8 axes, because the drivers have an hard-coded limit. At this stage, you cannot do anything.

Once you find a suitable value (if it works), you can create your own define within your script to make thing more readable, for example:
 

define MY_SLIDER2_AXIS     9

// ...

MapAxis(&TWCSThrottle, TRDR, MY_SLIDER2_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);

 

Edited by sedenion
  • Like 1
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...