AdvancedControllerRemoteCPP - remote control of the AdvancedController from Linux (C++ / Qt 6, RS485, INPUT port) ================================================================================================================ build.sh builds the project and installs binaries into bin/ (bin/AdvancedControllerPanel, bin/remote_test) run.sh starts the virtual front panel: tabs CONTROLLER 1..3, each with its own port and OPEN / CLOSE; IDENTIFY blinks the gear led of that device lib/ protocol client library - integrate into your software RemoteClient (remoteclient.h) blocking, one port ControllerLink (controllerlink.h) RemoteClient in its own thread, Qt signals panel/ the virtual front panel application (Qt Widgets) tools/remote_test.cpp test tool: --list | --scan | --detect | --monitor | -c CMD | --selftest docs/REMOTE_API_EN.txt / REMOTE_API_RU.txt protocol + integration guide docs/PANEL_HELP.txt what every button does (HELP button of the panel) CMakeLists.txt CMake project of lib, panel and tools Requirements (Debian / Ubuntu / Raspberry Pi OS) sudo apt install build-essential cmake qt6-base-dev qt6-serialport-dev The user must be in the dialout group to access serial ports: sudo usermod -a -G dialout $USER (log out and log back in for group changes to take effect). Quick start ./build.sh ./run.sh or ./run.sh -p /dev/ttyUSB0 -p /dev/ttyUSB1 ./bin/remote_test --list ./bin/remote_test --scan ./bin/remote_test -p /dev/ttyUSB0 --detect ./bin/remote_test -p /dev/ttyUSB0 --selftest Manual build with CMake cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_BINDIR=. cmake --build build -j$(nproc) cmake --install build --prefix bin Using the library in your software (Qt 6, CMake) find_package(Qt6 REQUIRED COMPONENTS Core SerialPort) qt_standard_project_setup() add_subdirectory(/lib) target_link_libraries( PRIVATE AdvancedControllerRemote) Or add the four files of lib/ to your target. Examples: docs/REMOTE_API_EN.txt, section 8. Line: 9600 8N1, RS485 two-wire, USB-RS485 adapter with automatic direction control. Firmware: r7.2.6 or later ("PING" -> "OK PONG ADVCTRL" is the detection signature, "ID" shows version and UID, "LEDS" gives the led states for the virtual panel).