prestonflying Posted February 5, 2023 Posted February 5, 2023 (edited) Fun little update, was experimenting with the UFC and was able to get custom characters to appear without SimApp Pro or DCS. Here is an example of "HI" being shown in window 1. Possible applications of this include showing data for other modules on these displays such as altitude when flying the Huey, ODU in the Harrier, Gun count left in MIG 21, etc. This would require some extra steps(export lua script + an application to convert lua data into custom UFC data). It is also possible to control other "feedback" related functions on other Winwing devices such as backlight brightness, button lights, stick vibration, and now LCD displays. I have nothing concrete to share, just a idea if others want to explore and add on. If anyone has any questions let me know and I can share what I have learned so far. I used HDD USB Monitor to capture the data sent from SimApp Pro to the UFC to help understand what data the UFC requires for certain actions. I then used C++ and `hidapi` to write data to the UFC as seen below. Edited February 5, 2023 by prestonflying edit 3
weasel1088 Posted February 5, 2023 Posted February 5, 2023 Awesome. One thing missing I noticed from the UFC is the inverted triangle that appears when comm1 or comm2 receives radio transmissions. Is that something that can be edited to show properly?
ANDR0ID Posted February 5, 2023 Posted February 5, 2023 Very interesting... I would love to explore this more if/when time allows. Any information you can share, in addition to what you have already, would certainly be apricated.
weasel1088 Posted February 5, 2023 Posted February 5, 2023 2 hours ago, ANDR0ID said: Very interesting... I would love to explore this more if/when time allows. Any information you can share, in addition to what you have already, would certainly be apricated. I haven’t put too much effort into looking at a solution. I’m not entirely sure how the DCS export for the screens works in terms of what is shown in the cockpit. I assumed the Winwing is essentially just re projecting what shows on the ufc screens. But maybe the radios function slightly differently in that they only show the channel. It might be that DCS doesn’t export that symbol properly. I’ll have to dig into the lua and see what I can find.
prestonflying Posted February 6, 2023 Author Posted February 6, 2023 7 hours ago, weasel1088 said: Awesome. One thing missing I noticed from the UFC is the inverted triangle that appears when comm1 or comm2 receives radio transmissions. Is that something that can be edited to show properly? Regarding the inverted triangle, DCS can emit that state via export lua. But the issue lies with the WinWing UFC COM LCD display. The LCD does not have enough segments to allow for the inverted triangle above the number (like in DCS). In this photo you can see the segments that make up the LCD display and note the lack of room for any additional symbology aside from channel number. RE how the UFC LCD displays work - DCS exports the scratch pad and UFC windows data as strings. For example, the Tacan menu in window 1 might say T/R. There are other strings for each window. This data is exported to SimApp Pro. SimApp Pro then looks at the displayed text, and sends USB data to the UFC to write to the according window. The payload of the USB write data contains bytes, but not the bytes in the string "T/R". These bytes instead instruct the LCD which segment to turn on. For example, section 0, data: 0b0001 would light up one bar on the segment for the scratch pad. Then 0b00010 would light up another segment. 0xF would light up all the corresponding segments for that position. Each bit corresponds to an LCD segment. So by knowing the desired output, for example "T/R", this string is converted into the required bytes which would enable the correct segments to make the LCD show "T/R" (This is done in SimApp Pro). There is also some more data in the USB write payload that specifies which portion of the segment display to update.null
rob10 Posted February 6, 2023 Posted February 6, 2023 2 hours ago, prestonflying said: Regarding the inverted triangle, DCS can emit that state via export lua. But the issue lies with the WinWing UFC COM LCD display. The LCD does not have enough segments to allow for the inverted triangle above the number (like in DCS). In this photo you can see the segments that make up the LCD display and note the lack of room for any additional symbology aside from channel number. That's not really true, because in DCS when you have the transmission triangle you DON'T have the preset number showing.
markturner1960 Posted February 6, 2023 Posted February 6, 2023 I am always in awe at the skills and ability of some of the guys here, this is so above by head........Hats off to you Preston...... System specs: PC1 :Scan 3XS Ryzen 5900X, 64GB Corsair veng DDR4 3600, EVGA GTX 3090 Win 10, Quest Pro, Samsung Odyssey G9 Neo monitor.
prestonflying Posted February 6, 2023 Author Posted February 6, 2023 8 hours ago, rob10 said: That's not really true, because in DCS when you have the transmission triangle you DON'T have the preset number showing. Interesting, I had assumed the channel stayed present. Thanks for pointing this out, ill test out later this week.
weasel1088 Posted February 8, 2023 Posted February 8, 2023 Just now, prestonflying said: Interesting, I had assumed the channel stayed present. Thanks for pointing this out, ill test out later this week. Great info above! and it looks like it was pointed out about the channel number going away and only the inverted triangle showing. Looking closely at the winwing UFC it has the correct LEDs to mimic what the Hornet UFC shows in DCS. Great work on the harrier as well! I plan to download the info you posted and play around with a custom export as well. Keep up the great work!
prestonflying Posted February 8, 2023 Author Posted February 8, 2023 @weasel1088Thanks, I looked a bit into this, DCS export sends the triangle state to SimApp Pro. So a small change in SimApp Pro would allow for the "triangle" to appear. But I do not have access to that code. But it would be straight forward if Winwing added this feature. The value for com1 and com2 going to SimApp Pro are "d" when the triangle appears, but SimApp Pro does not draw the "triangle" even thought the state is correct. 1
weasel1088 Posted February 8, 2023 Posted February 8, 2023 11 minutes ago, prestonflying said: @weasel1088Thanks, I looked a bit into this, DCS export sends the triangle state to SimApp Pro. So a small change in SimApp Pro would allow for the "triangle" to appear. But I do not have access to that code. But it would be straight forward if Winwing added this feature. The value for com1 and com2 going to SimApp Pro are "d" when the triangle appears, but SimApp Pro does not draw the "triangle" even thought the state is correct. @WINWING Any chance this can get updated to display the radio receive triangle in the next simapp update?
WINWING Posted February 10, 2023 Posted February 10, 2023 Creative and imaginative. Websit:http://WWW.WINWING.CN FULL METAL F/A-18 HOTAS MANUFACTURER (Include F18 Joystick/Throttle/Grip/Panels) FACEBOOK GROUP:https://www.facebook.com/groups/HOTAS/ OFFICIAL FACEBOOK :https://www.facebook.com/winwing.cn/ [sIGPIC][/sIGPIC]
AlphaDecay Posted September 4, 2023 Posted September 4, 2023 On 2/4/2023 at 7:50 PM, prestonflying said: Fun little update, was experimenting with the UFC and was able to get custom characters to appear without SimApp Pro or DCS... I'd like to get some static text onto the UFC for another game, if I have DCS installed, is there a way to use your github project for DCS to get the text on the screens or would I need to take the approach you describe here? I was just thinking that while it might be tedious, I could load DCS with the github module to get some text on the screens, then close DCS and go into the other game.
prestonflying Posted September 7, 2023 Author Posted September 7, 2023 @AlphaDecay if you want to use the UFC standalone from DCS you have 2 options. 1. write a script spoofs SimApp Pro messages from DCS to set some default text. Example, SimApp pro listens for a start message, then an aircraft message, then the export lua sends the ufc payload like in my GitHub project. 2. write a program described in this post that mimics SimApp pro and writes straight to the UFC HID Device if I have time later this week I can update my GitHub project to include a python script that mocks the messages so SimApp Pro sets the ufc device text properly
AlphaDecay Posted November 11, 2023 Posted November 11, 2023 On 9/7/2023 at 4:32 PM, prestonflying said: @AlphaDecay if you want to use the UFC standalone from DCS you have 2 options. 1. write a script spoofs SimApp Pro messages from DCS to set some default text. Example, SimApp pro listens for a start message, then an aircraft message, then the export lua sends the ufc payload like in my GitHub project. 2. write a program described in this post that mimics SimApp pro and writes straight to the UFC HID Device if I have time later this week I can update my GitHub project to include a python script that mocks the messages so SimApp Pro sets the ufc device text properly Sorry, I didn't see this response and sent a direct message. I'll look at your repository and see if you get a python script for it. I'll help however I can as it would be nice to get more value out of the UFC beyond even DCS (which benefits from your considerable work there already).
prestonflying Posted November 13, 2023 Author Posted November 13, 2023 @AlphaDecayHere is a small repo that does the python script where it mocks SimApp Pro messsages https://github.com/llamaXc/winwing_ufc_custom_text I can help on discord, but you need to nullrun the python file and you can edit the contents it sends to the UFC. See the image of the example being run on the UFC and what each text window represents Launch SimApp Pro first, then run the `python main.py` script to send the UFC data message. You can custom the UFC static text in the `main.py` file, just edit the `ufc_payload` dictionary values. No super user-friendly, but can make easier to use if people end up using this. I created this just to show how it is done and an easy example to follow along 1
Recommended Posts