Luiz Renault Posted March 28, 2022 Share Posted March 28, 2022 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. 3 Link to comment Share on other sites More sharing options...
Luiz Renault Posted March 28, 2022 Author Share Posted March 28, 2022 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 More sharing options...
Luiz Renault Posted March 28, 2022 Author Share Posted March 28, 2022 Cougar MFD's USB HID descriptors are as folllows: Interface 0 HID Report Descriptor Game Pad 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 More sharing options...
Luiz Renault Posted August 2, 2022 Author Share Posted August 2, 2022 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. WhatsApp Video 2022-08-01 at 23.02.42.mp4 WhatsApp Video 2022-08-01 at 23.01.13.mp4 Link to comment Share on other sites More sharing options...
hreich Posted August 2, 2022 Share Posted August 2, 2022 Superb...cant wait to try on my TM Warthog [sIGPIC][/sIGPIC] Pilot from Croatia Link to comment Share on other sites More sharing options...
Luiz Renault Posted August 2, 2022 Author Share Posted August 2, 2022 2 hours ago, hreich said: Superb...cant wait to try on my TM Warthog 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 1 Link to comment Share on other sites More sharing options...
hreich Posted August 2, 2022 Share Posted August 2, 2022 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 More sharing options...
wiggles5289 Posted August 2, 2022 Share Posted August 2, 2022 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. Link to comment Share on other sites More sharing options...
Luiz Renault Posted August 2, 2022 Author Share Posted August 2, 2022 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 More sharing options...
hreich Posted August 3, 2022 Share Posted August 3, 2022 (edited) 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 August 3, 2022 by hreich [sIGPIC][/sIGPIC] Pilot from Croatia Link to comment Share on other sites More sharing options...
Acolyte Posted August 23, 2022 Share Posted August 23, 2022 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 Link to comment Share on other sites More sharing options...
Shanji Posted September 3, 2022 Share Posted September 3, 2022 Loving the mod, it works great, cant wait to see more features added to it, stuff like the RWR warning making the LEDs flash would be simply amazing! You should definitely upload this to the user files website. Link to comment Share on other sites More sharing options...
thekow Posted September 11, 2022 Share Posted September 11, 2022 Hi I only get one MFD to do with the brightness the second is "mapped" to the bottom AMP screen so only one frame dims. I guess this is because the bottom screen is on a different brightness knob to the two tops ones? Link to comment Share on other sites More sharing options...
Zigaitis Posted October 14, 2022 Share Posted October 14, 2022 I can't get this to work. I have the HID icon on the home screen of DCS but it does nothing in the Hornet cockpit. I can dim the backlighting manually holding button 14 and 15 then adjusting brightness. Any idea? Link to comment Share on other sites More sharing options...
Recommended Posts