Jump to content

In Game Thrustmaster Warthog and Cougar MFD Brightness Control mod


Luiz Renault

Recommended Posts

Hey folks. I'm starting to develop a Tech Mod for in game brightness control for Thrustmaster Hotas and MFDs. Will use this forum topic to log some of development steps.

The goal is to detect such USB controls plugged in and set the brightness and leds according in game plane's panels brightness settings.

Maybe in the future develop an mod config menu for custom settings.

Please feel free to contribute or add suggestions.

Warning: Technical content will be published here for the lack of other platform to share it.

  • Like 3
Link to comment
Share on other sites

So let's start with the Cougar MFDs, because they are the ones that are more annoyingly bright with default settings.

Cougar MFDs are USB 1.1 HID devices. Here follow some of it's device descriptor fields:

Device Descriptor F16 MFD 1

Offset Field Size Value Description
0 bLength 1 12h  
1 bDescriptorType 1 01h Device
2 bcdUSB 2 0110h USB Spec 1.1
4 bDeviceClass 1 00h Class info in Ifc Descriptors
5 bDeviceSubClass 1 00h  
6 bDeviceProtocol 1 00h  
7 bMaxPacketSize0 1 40h 64 bytes
8 idVendor 2 044Fh  
10 idProduct 2 B351h  
12 bcdDevice 2 0100h 1.00
14 iManufacturer 1 01h "Thrustmaster"
15 iProduct 1 02h "F16 MFD 1"
16 iSerialNumber 1 00h  
17 bNumConfigurations 1 01h

 Note that on the pair pack one is labeled as MFD 1 and the other as MFD2.

They both differ by the idProduct and iProduct fields. MFD 2 has idProduct equals B352h.

For the time being, I don't know a way to change the idProduct of a specific device. I have two sets and use MFD1 for the left MFD, MFD2 for the right counterpart and a second MFD1 for the central CMFD as the F/A-18C layout. My setup can be seen here, but the pictures are a little oudated: https://www.instagram.com/myezsimpit/

Sometimes DCS (or Windows, I don't know for sure) messes up my key bindings between both MFD1 devices. This is also annoying. If anyone has a solution for that, please tell. But this is another story.

 

Link to comment
Share on other sites

Cougar MFD's USB HID descriptors are as folllows:

Item Tag (Value) Raw Data
Usage Page (Generic Desktop) 05 01 
Usage (Game Pad) 09 05 
Collection (Application) A1 01 
    Usage Page (Button) 05 09 
    Usage Minimum (Button 1) 19 01 
    Usage Maximum (Button 28) 29 1C 
    Logical Minimum (0) 15 00 
    Logical Maximum (1) 25 01 
    Physical Minimum (0) 35 00 
    Physical Maximum (1) 45 01 
    Report Size (1) 75 01 
    Report Count (28) 95 1C 
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02 
    Report Size (4) 75 04 
    Report Count (1) 95 01 
    Input (Cnst,Ary,Abs) 81 01 
    Usage Page (Vendor-Defined 1) 06 00 FF 
    Usage (Vendor-Defined 1) 09 01 
    Report Size (16) 75 10 
    Report Count (1) 95 01 
    Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) B1 02 
End Collection C0 

 

Consisting in a 4 bytes long HID Input Report for 28 buttons (OSS 1 to 20, Gain+/-, Sym+/-, Brt+/-, Con+/-) and a 2 bytes long Feature report.

Analyzing the USB traffic during TM Target software controlling the MFDs and with the aid of USBLyzer (https://www.usblyzer.com/) I could figure out that the first byte of the Feature report can be 00h to set individually each of the two round leds on the top and 01h to set the MFD brightness.

In this fashion, a SetFeature operation with 00h 00h shuts down both leds, while 00h 01h, 00h 02h, 00h 03h turns on the left led, the right led and both leds respectively.

Additionally, a SetFeature operation with 01h XXh controls the brightness of the device from XX=00h being all lights off and XX=FFh the brightest setting.

Note that the brightness setting also applies to both round leds, if they are set as lit.

 

This way, the only thing that the Mod needs to do is to look for Cougar MFDs in the USB HID devices list, open it for writing and use SetFeature operations according to the plane's panels brightness settings. And if the user doesn't need the round leds to indicate the MFD number, they can benefit from using them as indicator for other status lights like landing gear and master arm states for example. These settings could potentially be customized in the mod's settings dialog. 

Another challenge for the mod would be to detect which aircraft is being used and where to look for the backlight state brightness information. i.e. if all electric systems are off, it would have to turn off all leds.

Link to comment
Share on other sites

  • 4 months later...

This is the result.

I've created a Service Mod that controls  ThrustMaster Warthog and Cougar MFD brightness using the DCS cockpit console and panel brightness setting.
no need to install any additional software rather than the mod folder in Saved Games\DCS\Mods\Services
Since i want to make this public and have very little time, i'm looking for contributors for creating Theme icons and options UI dialogs.
TM throttle 5 leds and Cougar MFD 2 leds each can also be used for configurable indications like gear, master arm and so on.
I think that something similar can be done for X52 and X52 Pro.
Even with UFCP text on the LCD display.

Link to comment
Share on other sites

I tried it ...I see DCS-HID icon inside DCS, but i tried ah-64 and f-18 and chaning light panel knob settings doesnt sync the light on my warthog throttle...Do i need to do something else?

 

[sIGPIC][/sIGPIC]

Pilot from Croatia

Link to comment
Share on other sites

1 hour ago, hreich said:

I tried it ...I see DCS-HID icon inside DCS, but i tried ah-64 and f-18 and chaning light panel knob settings doesnt sync the light on my warthog throttle...Do i need to do something else?

 

Are you using custom axis/button mapping with TM Target software?

26 minutes ago, wiggles5289 said:

This is actually pretty neat. Do you have source code? I want to see if it can be incorporated into custom HID Joystick panels to adjust backlight. Could also be a way to make(IMO) better cockpit panels with PnP capability.

Will try to release source code that don't exposes what i can't disclose.

Link to comment
Share on other sites

Yes - i am using profiles for every plane i fly..because i like scripting options i can use with TARGET software. I just tried it again, it kinda works, but it's messing with my other mods (it presses TX send command for VOICE ATTACK program, and shut down my apu during startup and so on)..For now i  am disableing it.


Edited by hreich

[sIGPIC][/sIGPIC]

Pilot from Croatia

Link to comment
Share on other sites

  • 3 weeks later...
02.08.2022 в 13:55, Luiz Renault сказал:

Copy the contents to "Saved Games\Your DCS Folder\Mods\Services".

Very early access. Works with TM Warthog, Cougar MFD, A-29B, F/A-18C and other untested modules.

Please provide the feedback to improve it.

DCS-HID.zip 2.05 \u041c\u0431 · 18 скачиваний

When I use it with my Cougar MFD, it sets ingame MFD brithgtness to maximum, and I can do nothing with it. Strange, but on device (IRL MFD Monitor) brithgtness almost correct.
Great mod, btw, really enjoying it!null
nullnull

image.png

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
  • 1 month later...
  • Recently Browsing   0 members

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