DCSpy uses multicast UDP to receive/send data from/to the DCS-BIOS, as describe here
Main modules of DCSpy:
run.pymain script: it starts GUI in Qt6/PySide6starter.pyresponsible to initialise DCS-BIOS parser, Logitech G13/G15/G510 Mono handler and G19 Color handler, as well as running connection to DCSlog.pydumb simple logger configurationlogitech.pyhandling Logitech keyboards with LCD and buttons, loading dynamically aircraft used in DCSaircraft.pydefine all supported aircraft with details how and what display from DCS, draws bitmap that will be passed to LCD keyboard handler and returns input data for buttonsdcsbios.pyBIOS protocol parser and two buffers to fetching integer and string valuesIntegerBufferandStringBufferrespectively.qt_gui.pyGUI with widgets, layouts and events. It allows configuring DCSpy as wellutils.pyvarious useful tools - load and save config, check an online version, download file, update DCS-BIOS using git, etc.models.pypydantic models of internal data structures, some additional enums and other types definition used across DCSpysdkpython interface for Logitech C/C++ libraries to access keyboard LCD, G-keys and LED backlight