AdvancedControllerRemoteCPP/README.txt

46 lines
2.5 KiB
Text

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(<path>/lib)
target_link_libraries(<your target> 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).