Jump to content

ctytler

Members
  • Posts

    67
  • Joined

  • Last visited

4 Followers

Personal Information

  • Location
    USA
  • Occupation
    Engineer
  • Website
    https://github.com/charlestytler/streamdeck-dcs-interface

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. There are multiple versions of DCS-BIOS out there. I believe this one is the most actively maintained: https://github.com/DCSFlightpanels/dcs-bios
  2. It should be available in the most recent version of DCS BIOS. If you haven’t updated the files lately re-download and update them in your Scripts/ folder. (If using the DCS-flightpanels fork version)
  3. @Toni Carrera what do you mean when you say load the DCS BIOS program. Is this starting up the "DCS BIOS Hub" executable? Would you be able to confirm that it does not work before opening this and does work after opening? I may have to look into some DCS BIOS startup steps I'm missing. @Chacal_IX could you check if you're able to command A4E-C from the DCS BIOS web interface? (As seen in Mordants March 5th post). When I last tried it, it doesn't seem the A4 was working with DCS BIOS, I think we'll need to reach out to the BIOS maintainers.
  4. Hi Mordants, do any other button commands work for you? The reason I asked was I tested the PLT_FAN one in the Streamdeck and thought it wasn't working at first when looking at the fan, but when looking at the left panel switch itself I would see it move on and off again with a press/release. I'm curious if it's all commands or just one. Thanks
  5. So the issue right now is the Configure window can only be opened once for a button until you deselect then reselect that button. So for now I added a "Beta limitation" message with a v1.1.4, as this will take a bit of refactoring for me to manage the websocket differently so it works correctly. v1.1.4 - Changes: Disabled "Configure" button with Beta limitation message until button unselected and re-focused Fixed the "Disable" checkbox setting not restoring on window reopen
  6. @Mordants I was able to test the PLT_FAN button and it works for me. One thing to note though... with your settings right now it will set the fan to ON while pressed, then OFF when released (You should see the cockpit switch moving with button press if so). Check the box (Disable) for the Release to change this from a momentary to a latched button press. [Right now I only have momentary/held command available, switch is not yet added]. ^ I've been able to recreate this now as well, will look into a fix.
  7. Thanks for the update. I suspect I may have forgotten to handle the new global setting in the DCS-ExportScript buttons. Does the username persist if you go between DCS-BIOS buttons, but reset after opening an old DCS-ExportScript one? EDIT: I just tested this and doesn’t appear to be the case on my end. Would you be able to share the log details when this happens? Also the search term is designed to persist across buttons (so users can fill in details for many buttons of the same category easily) As for the command not working, would you be able to use the DCS-BIOS Control-Reference page (the web browser tool) to see if it performs as expected there?
  8. OK, I think I have resolved the issue. I unfortunately had to remove my "Auto-Open" checkbox -- which I quite liked -- until I can find a better way to implement that, but feel free to download and install the latest (reads Version 1.1.3 on a right-click of menu) from the same link and see if it works
  9. Thanks @automag928 that aligns with my expectations of the current bug I see. The config window that pops up talks to the main Streamdeck application via a websocket. So when the window opens it connects to the websocket and needs to get all the stored information through this. So the sequence goes like this (you can follow along with the log print out above): Send a request to Streamdeck app for Global settings (these are settings that apply to all buttons of the dcs-interface plugin, including dcs_bios_installation_path) Send a request to Streamdeck app for Settings (these are settings unique to each button, generally the IDs to monitor and what to send on press) [HERE is where the bug is occuring and the Websocket closes that I need to figure out why] Config window Receives Global settings response which it uses to fill in stored information (e.g. dcs bios path which replaces the default "username") Config window Receives Settings response which it uses to fill in last stored Command, Title Monitor, State Monitor settings After user inputs path, Send a request to Set Global Settings and store the newly provided DCS Bios path When the dcs bios path updates, Send a request to plugin (this is a background .exe) of "Request Module List" at a DCS Bios path location Config window Receives message with the ModuleList it uses to populate the dropdown selector After getting a module list, Send a request to plugin of "RequestControlReferenceJson" with path of a selected module in ModuleList Config window Receives message with contents of the json file it uses to populate the table data So the websocket connection is closing early, and the window still works it's just not getting any information, and also not able to store any inputted information (since all info needs to be stored in the Streamdeck app itself and not the Config window).
  10. Thanks @Mordants! So I tried a lot of steps to recreate this issue and even did a clean Windows installation on my laptop, and finally found a way to reproduce the issue on my end. I have a Streamdeck setting set that outputs logging information, and when I disabled that, my plugin stops working and matches the log Mordants shared. I don't know the problem yet, but I should be able to track it down on my end now that I can reproduce it. Will report back here when I find out more.
  11. I haven't been able to recreate the failure, but I've uploaded a newer build that has debug logging for all of the communications that query for and populate the DCS-BIOS json data. This should work for any install location, and just needs to find a directory that has the json files inside it somewhere, so either DCS-BIOS version should work. (The DCS Install path is only relevant for DCS-ExportScript buttons, there's no need for the DCS-BIOS buttons to know where DCS itself is installed) I would appreciate if one of you could install the new build (at the same link location) and share what you see in the log output. Here is a video of the steps I do when installing and the log it outputs on my machine: 2022-03-02 22-38-42.mp4 Log file contents at C:\Users\ctytler\AppData\Roaming\Elgato\StreamDeck\logs\com.ctytler.dcs0.log 22:38:45.084 Successfully connected to Simulator Interface UDP port 22:38:45.084 Successfully connected to Simulator Interface UDP port 22:38:50.150 Send message: {"event":"getGlobalSettings","context":"004AB4C83BCC0737A25DB483075189CF"} 22:38:50.150 Send message: {"event":"getSettings","context":"004AB4C83BCC0737A25DB483075189CF"} 22:38:50.151 Received message (didReceiveGlobalSettings) 22:38:50.151 Received message (didReceiveSettings) 22:38:50.155 Send message: {"event":"setSettings","context":"004AB4C83BCC0737A25DB483075189CF","payload":{"send_identifier":"","send_address":"","press_value":"1","release_value":"0","disable_release_check":false,"string_monitor_identifier":"","dcs_id_string_monitor":"","string_monitor_address":0,"string_monitor_mask":0,"string_monitor_shift":0,"string_monitor_max_length":0,"string_monitor_vertical_spacing":"0","string_monitor_passthrough_check":true,"string_monitor_mapping":"","compare_monitor_identifier":"","dcs_id_compare_monitor":"","compare_monitor_address":0,"compare_monitor_mask":0,"compare_monitor_shift":0,"compare_monitor_max_length":0,"dcs_id_compare_condition":"GREATER_THAN","dcs_id_comparison_value":"0"}} 22:38:50.155 Send message to plugin: {"action":"com.ctytler.dcs.dcs-bios","event":"sendToPlugin","context":"004AB4C83BCC0737A25DB483075189CF","payload":{"event":"SettingsUpdate","settings":{"send_identifier":"","send_address":"","press_value":"1","release_value":"0","disable_release_check":false,"string_monitor_identifier":"","dcs_id_string_monitor":"","string_monitor_address":0,"string_monitor_mask":0,"string_monitor_shift":0,"string_monitor_max_length":0,"string_monitor_vertical_spacing":"0","string_monitor_passthrough_check":true,"string_monitor_mapping":"","compare_monitor_identifier":"","dcs_id_compare_monitor":"","compare_monitor_address":0,"compare_monitor_mask":0,"compare_monitor_shift":0,"compare_monitor_max_length":0,"dcs_id_compare_condition":"GREATER_THAN","dcs_id_comparison_value":"0"}}} 22:38:58.842 Send message: {"event":"setGlobalSettings","context":"004AB4C83BCC0737A25DB483075189CF","payload":{"autoOpenConfigureWindow":false,"ip_address":"","listener_port":"","send_port":"","last_search_query":"","last_selected_module":"","dcs_install_path":"","dcs_bios_install_path":"C:\\Users\\ctytler\\Saved Games\\DCS.openbeta\\Scripts\\DCS-BIOS"}} 22:38:58.842 Send message to plugin: {"action":"com.ctytler.dcs.dcs-bios","event":"sendToPlugin","context":"004AB4C83BCC0737A25DB483075189CF","payload":{"event":"requestModuleList","path":"C:\\Users\\ctytler\\Saved Games\\DCS.openbeta\\Scripts\\DCS-BIOS"}} 22:38:58.843 Successfully found json modules at: C:\Users\ctytler\Saved Games\DCS.openbeta\Scripts\DCS-BIOS 22:38:58.843 Received message (sendToPropertyInspector) 22:38:58.843 - ModuleList 22:38:58.846 Send message to plugin: {"action":"com.ctytler.dcs.dcs-bios","event":"sendToPlugin","context":"004AB4C83BCC0737A25DB483075189CF","payload":{"event":"requestControlReferenceJson","filename":"C:\\Users\\ctytler\\Saved Games\\DCS.openbeta\\Scripts\\DCS-BIOS\\doc\\json\\A-10C.json"}} 22:38:58.882 Successfully read in json file from: C:\Users\ctytler\Saved Games\DCS.openbeta\Scripts\DCS-BIOS\doc\json\A-10C.json 22:38:58.885 Received message (sendToPropertyInspector) 22:38:58.885 - JsonFile
  12. @Toni Carrera Moving question from https://forums.eagle.ru/topic/230609-new-streamdeck-plugin/?do=findComment&comment=4891698 to this thread. The table is populated by reading in contents of the DCS-BIOS json files within the specified directory, so DCS does not need to be running to get it setup. "Saved Games" has a space in it and works, so I wouldn't see an issue with spaces specifically, but it will fail if quotes are added. Could you try the following: Try without surrounding quotes if you haven't already, copy-paste your path into a windows explorer and check that it is a valid path (no misspellings) Check if there are indeed ".json" files in that path, I would expect them at, for example, "...\DCS-BIOS\doc\json\A-10C.json" You can also in Windows Explorer go to %APPDATA%\Elgato\StreamDeck\logs and the latest log file com.ctytler.dcs.0.log should show something like: 18:09:18.031 Successfully connected to Simulator Interface UDP port 18:21:52.267 Get list of json modules failed at: E:\..just for privacy....\Personal-Systems\System-Profiles\TC-I7-ASUS\Saved Games\DCS\Scripts\DCS-BIOS
  13. Hi All, sorry I haven't been as responsive on this thread lately, but I have pushed up a beta test version of DCS-BIOS compatibility. It still supports your existing DCS-ExportScript buttons if you'd like to try it out and share feedback I've started a new thread for that topic here: For now I plan to keep supporting DCS-ExportScript since there's a lot of functionality people have worked into the export scripts here, but I'd like to see if the DCS-BIOS functionality can mature to accomplish everything as a full replacement at some point. Right now it just has core functionality to do the basics.
  14. I have created an early beta build of the Streamdeck Plugin with DCS BIOS support. You can download and install it from here: https://github.com/enertial/streamdeck-dcs-interface/blob/master/Release/com.ctytler.dcs.streamDeckPlugin First time setup: After downloading and installing the plugin, Create a DCS-BIOS Button Click "Configure" button Click on "Setup" in top right of the "Configure" window and specify path to DCS BIOS installation and click Update. If successful, a table of Control References should populate as seen below. If you don't have DCS BIOS installed there is a link to follow in the Setup window New Feature: This has one new button option: "DCS-BIOS Button" and uses a new User Interface for that button only. There is some limited functionality right now and be warned that newer versions of the DCS-BIOS button may need you to re-create settings until the beta testing period is over. I have kept compatibility with DCS-ExportScript and the plugin can run with both backends at the same time if desired. Please share any comments, suggestions, or bug reports in this thread or submit an Issue on Github. Thanks!
  15. I've been working on the DCS-BIOS backend addition, and tested out that it's working with the A-4E. For some reason exports from the game work well, but input commands to the game for the A-4 aren't working for me. Standard modules like the A-10C work great though, and even slightly faster than DCS-ExportScript for text displays. Anyways here's a preview video. I'm still working on the user interface, but I can try share an early version of the plugin to download so people can play around with if they really want A-4 or other DCS-BIOS capability. @rem27 @bones1014 dcs-bios-a-4e.mp4
×
×
  • Create New...