Skip to main content

Integrating DCS (Digital Combat Simulator) planes with Logitech G13/G15/G510/G19 LCD

Project description

image Python CI Coverage Status Codacy Badge License Downloads
Patreon Discord image BCH compliance Maintainability Rating
dcspylogo

dcspy

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

Table of Contents

Aircrafts and instruments

  • F/A-18C Hornet UFC - Up Front Controller
  • F-16C Viper DED - Data Entry Display
  • Ka-50 Black Shark PVI-800 and autopilot channels
  • A-10C Warthog and A-10C II Tank Killer - Radio frequency information
  • F-14B Tomcat - basic support for RIO CAP
  • more to come....

Requirements

Credits

This project has been heavily inspired by 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 from DCS-BIOS

Installation

  1. Install all requirements
  2. During Python installation please select
    • Optional Features:
      • pip
      • tcl/tk and IDLE
      • py launcher
    • Advanced Options:
      • Associate files with Python (requires the py launcher)
      • Add Python to environment variables
      • Customize install location: C:\Python39 or C:\Python
  3. Package is available on PyPI, open Command Prompt and type:
pip install dcspy

or download manually wheel file from releases:

pip install dcspy-1.4.0-py3-none-any.whl

Usage

  1. Run Logitech Gaming Software (it allow to update LCD)
  2. You can check with pip uninstall dcspy (NOTE! answer No to question) where dcspy was installed. Usually pip should install dcspy into you python directory: i.e.:
    • c:\python39\dcspy_data\dcspy.ico
    • c:\python39\scripts\dcspy.exe
  3. You can drag and drop dcspy.exe to desktop and make shortcut (with custom icon, you can find icon in installation directory).
  4. Double click on dcspy icon or type dcspy.exe from Command Prompt
  5. LCD display should update with dcspy basic info, waiting to connect to DCS
  6. Run DCS and start any mission.

Configuration

DCSpy can be configured via config.yaml file. It is located in Python's installation directory (e.g. c:\python39\dcspy_data\config.yaml). This is simple file, most users do not need to touch it at all. However, it can be easily edited directly from GUI. Configuring DCSpy enable some powerful features of DCSpy.
Please check Config button in GUI. Right now there are available options:

  • dcsbios - location of DCS-BIOS folder inside user's Saved Games\DCS.openbeta.
    Set this parameter to correct value allows user check and update DCS-BIOS to the latest release.
    example value: D:\Users\emcek\Saved Games\DCS.openbeta\Scripts\DCS-BIOS
  • keyboard - default Logitech keyboard value, last used value is saved automatically
    possible values: G19, G510, G15 v1/v2, G13
  • show_gui - it allows showing or hiding GUI during start of DCSpy.
    possible values: true or false

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. But right now actions for supported airplanes are hardcoded right now and look like:

F/A-18C Hornet

  • UFC COMM1 channel select decrease
  • UFC COMM1 channel select increase
  • UFC COMM2 channel select decrease
  • UFC COMM2 channel select increase

Ka-50 Black Shark

  • PVI waypoints button
  • PVI fix points button
  • PVI airfield button
  • PVI targets button

F-16C Viper

  • IFF MASTER Knob - OFF/STBY/LOW/NORM/EMER
  • IFF ENABLE Switch - M1/M3 /OFF/ M3/MS
  • IFF M-4 CODE Switch - HOLD/ A/B /ZERO
  • IFF MODE 4 REPLY Switch - OUT/A/B

F-14B Tomcat

  • RIO CAP Clear
  • RIO CAP SW
  • RIO CAP NE
  • RIO CAP Enter

FAQ

  1. Why in F-16C DED instead of triangle up and down arrow I see strange character.
    I didn't find good alternative, so I use unicode character 2666 (I consider 2195 as well, which do not render very well).
  2. I got error: 'pip' is not recognized as an internal or external command, operable program or batch file.
    Probably during installation of Python pip and/or Add Python to environment variables were not selected. Uninstall Python and install again with correct options.

New ideas

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.
You are welcome dcspy Discord server.

Contributing

You want contribute, perfect see: contributing guide.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dcspy-1.4.0.tar.gz (50.9 kB view hashes)

Uploaded Source

Built Distribution

dcspy-1.4.0-py3-none-any.whl (49.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page