Software for integrating DCS: F/A-18C, F-16C, Ka-50 and F-14B with LCD of Logitech G13 / G15 / G510 /G19
Software for integrating DCS: F/A-18C, F-16C, Ka-50 anf F-14B with LCD of Logitech G13 / G15 / G510 / G19
I have lots of plans and new ideas how to improve it internally and form user's perspective, but don't hesitate to contact me. Maybe it will motivate me to implement some new stuff. Please open issue if you find bug or have any crazy idea.
DCSpy is able to pull information from DCS aircraft and display on Logitech G-series keyboards LCD. It supports:
* Logitech device with 160x43 px (4 lines) monochrome LCD display - G13, G15 (v1 and v2) and G510
* Logitech device with 320x240 px (8 lines) full RGBA LCD display - G19
* F/A-18C Hornet UFC - Up Front Controller
* F-16C Viper DED - Data Entry Display
* Ka-50 Black Shark PVI-800 and autopilot channels
* F-14B Tomcat - basic support for RIO CAP
* more to come....
* Python 3.8 but 3.6+ (with tcl/tk support, see installation) should be fine, please choose Windows x86-64 version, file should be python-3.8.5-amd64.exe
* Logitech Gaming Software 9.02.65
* Logitech LCD SDK 8.57.148 extract to C:\Program Files\Logitech Gaming Software\LCDSDK_8.57.148
* DCS-BIOS 0.7.34 (or newer)
Package is available on PyPI, open Command Prompt and type:
$ pip install dcspy
or use attached wheel file:
$ pip install dcspy-1.2.1-py3-none-any.whl
1. pip should install into you python installation directory: i.e.:
2. You can drag and drop dcspy.exe to desktop and make shortcut (with custom icon).
3. Double click on dcspy icon or type dcspy.exe from Command Prompt.
4. LCD display should update with dcspy basic info, waiting to connect to DCS.
5. Run DCS and start any mission.
* You want contribute, perfect see: contributing guide
Mono vs. Color
DCSpy do not uses full potential of G19, which support full RGBA, 8-lines LCD with 7 programmable buttons. In contrast to mono devices (like G13, G15 and G510), which support mono, 4-lines LCD with only 4 buttons. Right now DCSpy use only top 4 lines of LCD and 4 buttons. Way in which actions assign to buttons for G13 (4 buttons form left to right) are mapped to G19 looks:
* G13 1st button -> G19 left button
* G13 2nd button -> G19 right button
* G13 3rd button -> G19 down button
* G13 4th button -> G19 up button
Maybe in future when settings via config file will be added, then it allowed usage all 7 buttons in G19.
* F/A-18C shows extra Total Internal Fuel (G19 only)
* Internal refactoring
* Simple Tkinter GUI - to sel ect your Logitech keyboard
* Support for G19 - Big thanks for BrotherBloat who makes this release possible.
He spent countless hours to share his G19 and let me troubleshoot remotely.
* F/A-18C shows Total Fuel instead of Total Internal Fuel
Basic support for F-14B Tomcat RIO CAP (Computer Address Panel):
* CLEAR - button 1
* S-W - button 2
* N+E - button 3
* ENTER - button 4
* dcspy use now UDP multicast connection do DCS-BIOS, since each TCP connection slightly increases
the amount of work that is performed inside of DCS (blocking the rest of the simulation).
* support for integer data to be fetch from DCS-BIOS - using IntegerBuffer()
* bios_data in Airplanes instances allow both StringBuffer() and IntegerBuffer()
* reformat waiting time before DCS connected
* fix Data Entry Display for F-16C Viper - DCS-BIOS 0.7.34 is required
* Ka-50 data from PVI-800 shows (in similar boxes) on LCD
* ProtocolParser for DCS-BIOS has new optimized state machine
* LCD SDK is re-written from scratch:
* low and high level API
* auto-loading C library during importing
* all API is type annotated and well documented
* move loading LCD C library from G13 handler
* refactoring and rename internals of G13 handler module
* add unit tests
* You can drag and drop dcspy.exe to desktop and make shortcut (with custom icon)
* LCD prints current waiting time to connect to DCS
* when DCS exit from plane/mission exception is catch and handle correctly
* lots of internal changes, preparing for new features, most important:
* change structure of AircraftHandler, move subscription to DCS-BIOS changes out of planes
* update and clear methods move from G13 handler to LCD SDK
* G13 handler have display property to send text to LCD
* rename starting script to dcspy.exe
* starting script now show waiting time for DCS connection
* minor code optimization and refactoring
* based on version specelUFC v1.12.1
* added basic handling for Ka-50 PVI-800 data are received but not formatted properly
* F-16C DED should working but not 4 buttons under LCD - I don't have it so it is hard to test
* G13 handler detect 32/64 bit of Python and load correct version of LCD Logitech C library
* adding basic logging for debuging - prints on console
* all defined aircraft are detected and loaded on-the-fly during operation
* define new plane should be easy just use AircraftHandle as base class
* Python LCD SDK was clean-up
* other refactorings and code duplication removal
This project has been heavily inspired by https://github.com/specel/specelUFC
, and I want to thank specel, the author of that project for his work and the inspiring ideas. This software uses:
* DCS-BIOS fork by DCSFlightpanels for exporting data from DCS to local network
* jboecker's parser to read data stream fr om DCS-BIOS