Menu

Tree [8ae7ad] master HEAD develop test_master v0.5.33 /
 History

HTTPS access


File Date Author Commit
 .github 2025-12-03 Kang Lin Kang Lin [8ae7ad] Release v0.5.33
 3th_lib 2025-02-05 Kang Lin Kang Lin [f49393] CMake: replace RabbitCommon_DIR with RabbitComm...
 App 2025-12-03 Kang Lin Kang Lin [8ae7ad] Release v0.5.33
 Docs 2024-12-09 Kang Lin Kang Lin [3cbf85] Donate: add bitcoin
 Install 2025-12-03 Kang Lin Kang Lin [8ae7ad] Release v0.5.33
 Package 2025-09-05 Kang Lin Kang Lin [b18e27] CI: add arm64 in msvc.yml
 Script 2025-11-27 Kang Lin Kang Lin [3f37a6] Script: add install_appimage.sh
 Update 2025-12-03 Kang Lin Kang Lin [8ae7ad] Release v0.5.33
 debian 2025-12-03 Kang Lin Kang Lin [8ae7ad] Release v0.5.33
 etc 2024-08-21 Kang Lin Kang Lin [235cbd] SNAP: Add snap/snapcraft.yaml
 share 2025-11-26 Kang Lin Kang Lin [772e77] Fix task bar icon bug in linux
 snap 2025-12-03 Kang Lin Kang Lin [8ae7ad] Release v0.5.33
 vcpkg 2024-12-04 Kang Lin Kang Lin [f24faa] vcpkg: add cmark
 .gitignore 2025-12-02 Kang Lin Kang Lin [7b9194] Add CStats
 Authors.md 2024-05-29 Kang Lin Kang Lin [e1187f] Modify documents
 Authors_zh_CN.md 2024-05-29 Kang Lin Kang Lin [e1187f] Modify documents
 CMakeLists.txt 2025-12-02 Kang Lin Kang Lin [bcf9ed] CMakeLists: modify CMAKE_CXX_STANDARD
 ChangeLog.md 2025-12-03 Kang Lin Kang Lin [c6a7ec] Modify change log
 ChangeLog_zh_CN.md 2025-12-03 Kang Lin Kang Lin [c6a7ec] Modify change log
 License.md 2019-04-29 KangLin KangLin [41409c] Modify build for linux
 README.md 2025-12-03 Kang Lin Kang Lin [9acbf3] Modify README
 README_zh_CN.md 2025-12-03 Kang Lin Kang Lin [9acbf3] Modify README
 SerialPortAssistant.keystore 2019-11-27 KangLin KangLin [1b06f4] Modify ci
 appveyor.yml 2025-12-03 Kang Lin Kang Lin [8ae7ad] Release v0.5.33
 deploy.sh 2025-09-05 Kang Lin Kang Lin [b18e27] CI: add arm64 in msvc.yml
 vcpkg.json 2025-12-03 Kang Lin Kang Lin [8ae7ad] Release v0.5.33

Read Me

Serial Port Assistant

Author: Kang Lin (kl222@126.com)


🇨🇳 中文

GitHub stars
star

GitHub forks
GitHub issues

Release
Download SerialPortAssistant

All releases downloads
Download SerialPortAssistant

build
Build status


Introduction

See: Qt5 supported platforms, Qt6 supported platforms.
- Multi-language
+ Chinese

![Chinese](Docs/ui-zh.jpg)
  • Englisth

    Englisth

  • Multi style

Download

  • Github release
  • Download from SerialPortAssistant
  • Download from Flathub

Donate

If you are satisfied, you can donate to me

donation

If it cannot be displayed, please open:
- https://gitlab.com/kl222/RabbitCommon/-/raw/master/Src/Resource/image/Contribute.png
- https://sourceforge.net/p/rabbitcommon/code/ci/master/tree/Src/Resource/image/Contribute.png

Developer

Dependence

Compile

  • Download source code

    git clone https://github.com/KangLin/SerialPortAssistant.git
    
  • Compiled with QtCreator

  • Open the project file CMakeLists.txt with QtCreator
  • The RabbitCommon can be downloaded to the same directory of the project.
    If it is a different directory, Set the parameter RabbitCommon_ROOT
  • Direct compilation can generate programs
  • Compile with the command line
  • Download source code and the deplendence in same directory

    git clone https://github.com/KangLin/RabbitCommon.git
    git clone https://github.com/KangLin/SerialPortAssistant.git
    
  • Make the build directory in the project root directory

    cd SerialPortAssistant
    mkdir build
    cd build
    # cmake configure
    cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install [-DRabbitCommon_ROOT=...]
    # compiling
    cmake --build . --config Release --target install
    cd install  # The program is installed in the install/bin directory
    

Script

  • build_debpackage.sh
  • This script generates the deb package under linux.
    Before use, please make sure the following programs are installed

    sudo apt-get install debhelper fakeroot build-essential cmake
    
  • Use system qt

    • qt6

      sudo apt-get install \
      qt6-tools-dev qt6-tools-dev-tools qt6-base-dev qt6-base-dev-tools \
      qt6-l10n-tools qt6-translations-l10n qt6-scxml-dev \
      qt6-webengine-dev qt6-webengine-dev-tools libqt6serialport6-dev

    See: ubuntu.yml
    - qt5

      sudo apt-get install qttools5-dev qttools5-dev-tools \
          qtbase5-dev qtbase5-dev-tools qttranslations5-l10n \
          libqt5scxml5-dev libqt5svg5-dev libqt5serialport5-dev \
          qtwebengine5-dev qtwebengine5-dev-tools qtwebengine5-private-dev
    
  • build_appimage.sh

build AppImage. See: https://github.com/linuxdeploy/linuxdeploy/

  • deploy.sh: This script is used to generate new release version numbers and tag.
    Used only by the program publisher.

Test

  • Ubuntu
  • Install socat

    $ sudo apt update
    $ sudo apt install socat
    
  • Create a pair of virtual serial ports

    $ sudo socat -d -d pty,raw,echo=0 pty,raw,echo=0
    
    • After running, it will display:

      2025/12/03 14:09:27 socat[31902] N PTY is /dev/pts/5
      2025/12/03 14:09:27 socat[31902] N PTY is /dev/pts/6
      2025/12/03 14:09:27 socat[31902] N starting data transfer loop with FDs [5,5] and [7,7]

    • Create symbolic links (optional, for better naming).

      $ sudo ln -sf /dev/pts/2 /dev/ttyVCOM0
      $ sudo ln -sf /dev/pts/3 /dev/ttyVCOM1

    • The above two steps can be combined into the following command.

      $ sudo socat -d -d pty,link=/dev/ttyVCOM0,raw,echo=0 pty,link=/dev/ttyVCOM1,raw,echo=0

  • You can now use this program to open the serial port. /dev/pts/5(/dev/ttyVCOM0) and /dev/pts/6(/dev/ttyVCOM1).
    Because these serial port names are non-standard, this program cannot find them.
    You can enter the following in the "Serial Port" field: /dev/pts/5
    Because the virtual serial port was created with root privileges, this program also needs to be run with root privileges.

    $ sudo serialportassistant
    

    Alternatively, authorize the serial port to the current user:

    $ sudo chown $USER:tty /dev/pts/5
    $ sudo chown $USER:tty /dev/pts/6
    $ serialportassistant