rem27 Posted July 13, 2020 Posted July 13, 2020 I recently created a JF-17 UFCP profile for the Streamdeck XL, and put up a video on how to build up more export info than just the clickabledata in one of the modules that doesn't have an official plugin yet. The first video is on exploring what data is possbile to be extracted: And the second video is adding the display text of interest (from the UFCP) to the JF-17 module export script: Attached is the profile with an updated .lua script and icon images. Thank you Ctytler for sharing your work on theses plugin :thumbup: Great job here. Intel® Core i7-7700K @4,20GHz - 64 Go RAM - GeForce GTX 1070 Ti - Windows Pro 64 bit - Stream Deck - HOTAS Warthog
Chacal_IX Posted July 13, 2020 Posted July 13, 2020 Thank you very much Ctytler.:thumbup: Your app is a real bonus for our Stream Deck. I can't get enough of it.
davidp57 Posted July 15, 2020 Posted July 15, 2020 Thanks Charles, your plugin and your explanations changed my pilot life ! Zip - VEAF :pilotfly: If you want to learn, talk and fly with french-speaking friends, the Virtual European Air Force is here for you ! Meet us on our Discord and our forum If you're a mission creator, you may want to check the VEAF Mission Creation Tools (and its GitHub repository) a set of open-source scripts and tools that make creating a dynamic mission a breeze !
darrentoogood991 Posted July 16, 2020 Posted July 16, 2020 This is a great utility but I'm having issues. I also use the Dcs UFC App and I can't seem to get the interface and the UFC app working together. Tried moving entries etc in the export.lua but no luck. Anyone else using both? Any suggestions?
PickleMonster Posted July 18, 2020 Posted July 18, 2020 (edited) DCS UFC's export scripts are based on the same scripts that the streamdeck plugin uses. Unfortunately the guy who wrote the app cut out a bunch of stuff not relevent to his own project and modified it. The end result is that both export scripts are similar enough that they can't be used at the same time, but are significantly different enough that you can't run both apps off the same export scripts. It's kinda rubbed me the wrong way, the original export scripts power at least three different applications (Ikarus, dcs flight panels and the streamdeck plugin). The DCS UFC guy is profiting off those scripts but doesn't appear to be making any attempt at maintaining compatibility or merging his changes back into the project. It's a shame really because I really liked the app. Edited July 18, 2020 by PickleMonster
aviramad Posted July 18, 2020 Posted July 18, 2020 Installing DCS-BIOS HUB delete the DCS BIOS from Export.lua Thanks. I did look at DCS-BIOS when trying things out, however it seemed geared towards Serial communication with external hardware, such as Arduino boards. The documented API as well seems focused on providing a library of function calls that, while well-documented and understandable, also appeared more suited for a piece of hardware with buttons that have clearly defined functionality. I'm saying "seemed" and "appeared" because that's as far as I got in consideration before looking at the other options. For good measure, I tried installing the DCS-BIOS hub just now, but got to the point where it wants to connect to a COM port to do anything, and I'm not interested in making a virtual COM bus to communicate with it. Some of this may be misunderstanding some of the capability, but that's my perspective as someone who hasn't used DCS-BIOS before. There is also a DCSFlightpanels/dcs-bios fork I came across that has Lua export scripts, but doesn't seem to do anything any more advanced than the other options. The primary examples I had tried working with DCS externally were Ikarus and Helios which provide recreated gauges and virtual recreation of buttons and switches. These were the main examples of user interface I had in mind while creating the Streamdeck interface. The Helios software had a nice GUI, but the Export scripts were all a bit spread out and individually created. Ikarus used an already partitioned Github project, DCS-ExportScript, as it's DCS communication and it had a good collection of scripts for most aircraft defined, including interpretation of strings for module text displays. It also had a simple, but effective, API where it just publishes and receives everything in a {key:value} format over UDP ports. This seemed ideal to communicate with as another program running on the same machine. Both Ikarus and Helios use the same format for their message payloads actually, so I think I can add an option to be able to support both methods. I've also tried to keep the module specifics or things that can get out of date external to the Streamdeck plugin, so at the core everything is set by ID values and the user can edit them if they wish. The way Streamdeck packages its plugins it's not easy to include a set of database files that can be modified (at least not in a way straight-forward for users to edit). I do have ID Lookup done within the program for modules, but I do this by reading directly from the installed module's clickabledata.lua file so it should hopefully be stable with any changed values in updates. For the indicators and lamps, I just rely on users looking them up in their preferred export lua scripts, as I couldn't find a reliable way to extract them from a DCS World installation. However I found, in my use at least, that for most of the buttons I was creating referencing the clickabledata table was sufficient, with occasionally having to reference the export lua. Hi Aviram_AD
aviramad Posted July 18, 2020 Posted July 18, 2020 Hi Ctytler, I installed the DCS-BIOS HUB as required for the plugin profiles for the Stream Deck that i just purchased, but during the installation I got the message that it will delete the line "dofile(lfs.writedir()..[[scripts\DCS-BIOS\BIOS.lua]]) " from my Export.lua (that used by the Flight Panels PZ55 and PZ70) with the DCS BIOS for. After the installation of the DCS-BIOS HUB , while I start the DCS , I found that there are not and communication between the DCS World openbeta and the Flight Panels (pZ55 and PZ70). Because i would like to use with my flight panels and with my new Stream Deck , i returned the deleted line to Export.lua file that is looking now : "- load the DCS ExportScript for DAC and Ikarus dofile(lfs.writedir()..[[scripts\DCS-ExportScript\ExportScript.lua]]) dofile(lfs.writedir()..[[scripts\DCS-BIOS\BIOS.lua]]) local dwlfs=require('lfs'); dofile(dwlfs.writedir()..[[scripts\DEVICEWORKS\DEVICEWORKS.lua]]) local Tacviewlfs=require('lfs');dofile(Tacviewlfs.writedir()..'Scripts/TacviewGameExport.lua') BIOS = {}; BIOS.LuaScriptDir = [[D:\Program Files\DCS-BIOS\dcs-lua\]]; BIOS.PluginDir = [[C:\Users\Adi Aviram\AppData\Roaming/DCS-BIOS/Plugins\]]; if lfs.attributes(BIOS.LuaScriptDir..[[bIOS.lua]]) ~= nil then dofile(BIOS.LuaScriptDir..[[bIOS.lua]]) end --[[DCS-BIOS Automatic Setup]] " But the Flight panels still do not communicated with the DCS World openbeta , Can you help in this case, what i should do that didn't and how can i fix it? Thank you in advance Best regards, Aviram_AD
aviramad Posted July 18, 2020 Posted July 18, 2020 Hello, I installed the DCS-BIOS HUB as required for the plugin profiles for the Stream Deck that i just purchased, but during the installation I got the message that it will delete the line "dofile(lfs.writedir()..[[scripts\DCS-BIOS\BIOS.lua]]) " from my Export.lua (that used by the Flight Panels PZ55 and PZ70) with the DCS BIOS for. After the installation of the DCS-BIOS HUB , while I start the DCS , I found that there are not and communication between the DCS World openbeta and the Flight Panels (pZ55 and PZ70). Because i would like to use with my flight panels and with my new Stream Deck , i returned the deleted line to Export.lua file that is looking now : "- load the DCS ExportScript for DAC and Ikarus dofile(lfs.writedir()..[[scripts\DCS-ExportScript\ExportScript.lua]]) dofile(lfs.writedir()..[[scripts\DCS-BIOS\BIOS.lua]]) local dwlfs=require('lfs'); dofile(dwlfs.writedir()..[[scripts\DEVICEWORKS\DEVICEWORKS.lua]]) local Tacviewlfs=require('lfs');dofile(Tacviewlfs.writedir()..'Scripts/TacviewGameExport.lua') BIOS = {}; BIOS.LuaScriptDir = [[D:\Program Files\DCS-BIOS\dcs-lua\]]; BIOS.PluginDir = [[C:\Users\Adi Aviram\AppData\Roaming/DCS-BIOS/Plugins\]]; if lfs.attributes(BIOS.LuaScriptDir..[[bIOS.lua]]) ~= nil then dofile(BIOS.LuaScriptDir..[[bIOS.lua]]) end --[[DCS-BIOS Automatic Setup]] " But the Flight panels still do not communicated with the DCS World openbeta , Can you help in this case, what i should do that didn't and how can i fix it? Thank you in advance Best regards, Aviram_AD
aviramad Posted July 18, 2020 Posted July 18, 2020 DCS UFC's export scripts are based on the same scripts that the streamdeck plugin uses. Unfortunately the guy who wrote the app cut out a bunch of stuff not relevent to his own project and modified it. The end result is that both export scripts are similar enough that they can't be used at the same time, but are significantly different enough that you can't run both apps off the same export scripts. It's kinda rubbed me the wrong way, the original export scripts power at least three different applications (Ikarus, dcs flight panels and the streamdeck plugin). The DCS UFC guy is profiting off those scripts but doesn't appear to be making any attempt at maintaining compatibility or merging his changes back into the project. It's a shame really because I really liked the app. Hello PickleMonster, I installed the DCS-BIOS HUB as required for the plugin profiles for the Stream Deck that i just purchased, but during the installation I got the message that it will delete the line "dofile(lfs.writedir()..[[scripts\DCS-BIOS\BIOS.lua]]) " from my Export.lua (that used by the Flight Panels PZ55 and PZ70) with the DCS BIOS for. After the installation of the DCS-BIOS HUB , while I start the DCS , I found that there are not and communication between the DCS World openbeta and the Flight Panels (pZ55 and PZ70). Because i would like to use with my flight panels and with my new Stream Deck , i returned the deleted line to Export.lua file that is looking now : "- load the DCS ExportScript for DAC and Ikarus dofile(lfs.writedir()..[[scripts\DCS-ExportScript\ExportScript.lua]]) dofile(lfs.writedir()..[[scripts\DCS-BIOS\BIOS.lua]]) local dwlfs=require('lfs'); dofile(dwlfs.writedir()..[[scripts\DEVICEWORKS\DEVICEWORKS.lua]]) local Tacviewlfs=require('lfs');dofile(Tacviewlfs.writedir()..'Scripts/TacviewGameExport.lua') BIOS = {}; BIOS.LuaScriptDir = [[D:\Program Files\DCS-BIOS\dcs-lua\]]; BIOS.PluginDir = [[C:\Users\Adi Aviram\AppData\Roaming/DCS-BIOS/Plugins\]]; if lfs.attributes(BIOS.LuaScriptDir..[[bIOS.lua]]) ~= nil then dofile(BIOS.LuaScriptDir..[[bIOS.lua]]) end --[[DCS-BIOS Automatic Setup]] " But the Flight panels still do not communicated with the DCS World openbeta , Can you help in this case, what i should do that didn't and how can i fix it? Thank you in advance Best regards, Aviram_AD
darrentoogood991 Posted July 18, 2020 Posted July 18, 2020 Thanks Picklemonster that makes perfect sense. Annoying and a shame. If your going to use a script already available you should keep compatibility with other programs. I'll try and contact the guy. Perhaps if enough ppl hassle him it will get changed.
Olddog Posted July 18, 2020 Posted July 18, 2020 This plugin has been working great for the last couple of months. Now since the last OB update, after a couple of missions it will basically quit working. I have to reboot the computer and everything will be fine for a couple missions and then stops again. In the Export.log file: 07:54:18:863 : UDPListenerReceivefrom protect: nil , string: "refused" 07:54:18:863 : createUDPListner protect: nil , string: "address already in use" Anyone have any ideas what I could check/change ? ThanksExport.log
davidp57 Posted July 19, 2020 Posted July 19, 2020 @ctytler, you changed my life ! This plugin you created, along with the tutorial videos and excellent support here, makes flying my Hog so immersive I could not go back to not using a Streamdeck. I'd compare this with the TrackIR - yes, that's how much I feel my experience has changed ! Thanks a lot ! Zip - VEAF :pilotfly: If you want to learn, talk and fly with french-speaking friends, the Virtual European Air Force is here for you ! Meet us on our Discord and our forum If you're a mission creator, you may want to check the VEAF Mission Creation Tools (and its GitHub repository) a set of open-source scripts and tools that make creating a dynamic mission a breeze !
crispy12 Posted July 21, 2020 Posted July 21, 2020 I'm trying to find a way to output the raw data from DCS Export to display in a custom way. My first project is to convert the raw nozzle output to nozzle angle. [271] = "%.4f", --NOZZLE POINTER [487] = "%.4f", --Nozzle Control Lever These are the two values i'm looking at. How can I get DCS Interface to multiple the value by 100 and display it on stream deck?
Bisch Posted July 24, 2020 Posted July 24, 2020 Wow! Awesome tool. Ordered a stream deck xl. Can’t wait to try out. Way better than my crappy DSD Button Box. Anyway, would it be even possible to make another device like the DSD Button Box mappable within tool like Target or Streamdeck software? Guess I need another software for that. Too bad Autohotkey doesn’t support games so it’s tough to get help using this solution Win 10 Pro | Trustmaster Warthog | MFG Rudders | VivePro Wireless Gear Lens modded | 1080ti OC Asus | 32 GB DD4 RAM | i7 9700 | Razer Chroma Orbweaver Keypad | Corsair KB | Derek Switchbox | USB Keypad | Logitech 502 | Jetseat with SimShaker Software | TrackIR5 | Autotkey | Thrustmaster Cougar MFDs | Monstertech Mounts | Saitek Throttle Quadrant
Weegie Posted July 24, 2020 Posted July 24, 2020 Ctytler this is nothing short of amazing a fantastic tool Atelphobia There are probably a few if it outputs as Dx buttons that might fit the bill, RS Mapper, Joystick Gremlin. Personally because I have it and really like it I use Voice Attack. It would be able to map to keystrokes and is powerful enough to do a lot more than many realize. With VA you can assign up to 4 devices to use that will be recognized. However if you want to Dx map as opposed to keystrokes that's a different ball game entirely Just a thought
Bisch Posted July 24, 2020 Posted July 24, 2020 I also have Voiceattack and Vaicom Pro and after two failed attempts I tried again few weeks ago and made it by upgrading to WinPro and setting Windows to english. Didn’t know it can also be a tool to get more out of my devices in general Win 10 Pro | Trustmaster Warthog | MFG Rudders | VivePro Wireless Gear Lens modded | 1080ti OC Asus | 32 GB DD4 RAM | i7 9700 | Razer Chroma Orbweaver Keypad | Corsair KB | Derek Switchbox | USB Keypad | Logitech 502 | Jetseat with SimShaker Software | TrackIR5 | Autotkey | Thrustmaster Cougar MFDs | Monstertech Mounts | Saitek Throttle Quadrant
Gizzy Posted July 24, 2020 Posted July 24, 2020 CTyler plugin is great and uses DCS export script which, for me, is not so good as I use Helios with it's own export scripting... I use a VJoy plugin for Streamdeck, unlimited virtual joysticks with 128 buttons + POV Axes etc as well. It outputs DX codes which are of course picked up by DCS without entering new keybindings for some functions etc... It can interface direct with VA as well if VJoy device assigned... then you have a choice... use the streamdeck functions for pauses, states etc or use VA for full scripting functionality... And yes I too use a custom button box (similar to DSD) via VA - makes things so easy to programme - VA is not essential for all DX codes you can have a mixture, some direct to DCS or picked up by VA and manipulated... Best of all worlds....
Bisch Posted July 24, 2020 Posted July 24, 2020 CTyler plugin is great and uses DCS export script which, for me, is not so good as I use Helios with it's own export scripting... I use a VJoy plugin for Streamdeck, unlimited virtual joysticks with 128 buttons + POV Axes etc as well. It outputs DX codes which are of course picked up by DCS without entering new keybindings for some functions etc... It can interface direct with VA as well if VJoy device assigned... then you have a choice... use the streamdeck functions for pauses, states etc or use VA for full scripting functionality... And yes I too use a custom button box (similar to DSD) via VA - makes things so easy to programme - VA is not essential for all DX codes you can have a mixture, some direct to DCS or picked up by VA and manipulated... Best of all worlds.... Sounds interesting! Can you go more into details? Win 10 Pro | Trustmaster Warthog | MFG Rudders | VivePro Wireless Gear Lens modded | 1080ti OC Asus | 32 GB DD4 RAM | i7 9700 | Razer Chroma Orbweaver Keypad | Corsair KB | Derek Switchbox | USB Keypad | Logitech 502 | Jetseat with SimShaker Software | TrackIR5 | Autotkey | Thrustmaster Cougar MFDs | Monstertech Mounts | Saitek Throttle Quadrant
Gizzy Posted July 24, 2020 Posted July 24, 2020 vJoy is a device driver that bridges the gap between any device that is not a joystick and an application that requires a joystick. Info and downlinks plenty on Google. Simply put VJoy can create as many virtual joysticks as you wish each having up to 128 buttons and full POV, Sliders and Axes etc... It hardly touches resources and runs all the time.... you can see them in Control Panel > Devices etc just like joystick.... DCS and VA recognise them as such. Streamdeck has a plugin similar to CTylers without the great graphics in that you can assign buttons to output via vjoy [whatever no] device... so push a streamdeck button or toggle and vjoy outputs the defined DX code to DCS or VA... no need to use keybindings... Picking up the DX code button by VA and manipulating it through coding or whatever is fine if not long winded. I have also a plugin for VA that outputs to VJoy .... so voice activate whatever and VA via VJOY throws a DX code at DCS avoiding having to use keybindings in game... The list is endless.... you can bring in VJoy devices to Helios and assign them to functions so a screen touch can send a bespoke DX code at DCS.... You can get lost easily and the trick is knowing what you want and the best way of achieving it. Hopes this helps some and not muddies the water...
speed-of-heat Posted July 25, 2020 Posted July 25, 2020 Sounds interesting! Can you go more into details? here you go https://forums.eagle.ru/showthread.php?t=279785&highlight=vjoy 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
Bisch Posted July 25, 2020 Posted July 25, 2020 (edited) Thanks Gizzy and Speed of heat! This is great input. Tried a lot of tools incl virtual devices but they often annoyed me. I’m motivated now to dig deep in again and now even deeper. As my stream deck is still shipping... is it sensible to use two plugins for DCS as this here and the one you mentioned both sound great Edited July 25, 2020 by Atelophobia Spelling Win 10 Pro | Trustmaster Warthog | MFG Rudders | VivePro Wireless Gear Lens modded | 1080ti OC Asus | 32 GB DD4 RAM | i7 9700 | Razer Chroma Orbweaver Keypad | Corsair KB | Derek Switchbox | USB Keypad | Logitech 502 | Jetseat with SimShaker Software | TrackIR5 | Autotkey | Thrustmaster Cougar MFDs | Monstertech Mounts | Saitek Throttle Quadrant
speed-of-heat Posted July 25, 2020 Posted July 25, 2020 So I use my stream deck in vr ... so the graphics have and button state has very little impact on me... but I see no reason you couldn’t use both approaches 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
Weegie Posted July 25, 2020 Posted July 25, 2020 Anybody have any joy with the Viggen I've been programming the Hornet and it's a breeze I can get nothing to work with the Viggen :helpsmilie:
Flying Panda Posted July 31, 2020 Posted July 31, 2020 Hey, I'm having a small issue with the hornet's radar altimeter minimum altitude axis, I've looked into the plugin's documentation and the different luas it points you to, and I think I've got the device ID (30) and the button ID (291), but I can't get it to work. I am however able to read the value when I set 291 as the DCS ID in the title text change on the stream deck button. I must be missing something, but I have no idea what. Apart from this small roadblock though, this plugin is a real help with the streamdeck, both for knowing what state your command is in (is my gear still down?) and for the few functions I wasn't able to map to a keyboard command (like the ECM for the hornet)!
Bisch Posted August 1, 2020 Posted August 1, 2020 Finally my streamdeck xl has arrived. Now I did have a more detailed lookat ctylers great plugin. This time I am even more impressed. As a twice VR quitter streamdeck in combination with this awesome tool this seems to blow out everything out of the water. It‘s insane! However, as far as I have understood you can get icons from ctylers releases but no profiles or ready to map profiles, right? There are streamdeck profiles in other threads here but as a streamdeck noob: Are they always compatible? Do they all depend on the same export script like ctyler script? Like..... ctylers script is „just“ the (awesome) editor/authoring software and the final results dont need the scripts anymore? Sorry for my lack of understanding :( Win 10 Pro | Trustmaster Warthog | MFG Rudders | VivePro Wireless Gear Lens modded | 1080ti OC Asus | 32 GB DD4 RAM | i7 9700 | Razer Chroma Orbweaver Keypad | Corsair KB | Derek Switchbox | USB Keypad | Logitech 502 | Jetseat with SimShaker Software | TrackIR5 | Autotkey | Thrustmaster Cougar MFDs | Monstertech Mounts | Saitek Throttle Quadrant
Recommended Posts