QTAC is a software suite that enables users to control Qualcomm devices remotely. The device to be controlled must be attached to a Qualcomm approved debug board. The device to be tested, is connected to a host using a USB cable.
Download the QTAC release from the releases
Please review the following guide to build the project from source. For one time setup instructions to build from source, please review software install guide
Use the below command to clone the project source:
git clone https://github.com/qualcomm/qcom-test-automation-controller.git
Execute the build.bat to generate the executables on Windows.
- Debug build will be available at
__Builds/x64/<Debug>
- Release build will be available at
__Builds/x64/<Release>
Execute the build.sh to generate the executables on Linux.
- Debug build will be available at
__Builds/x64/<Debug>
- Release build will be available at
__Builds/x64/<Release>
Note on FTDI libraries
QTAC uses FTDI libraries to control FT4232H chip on the debug board. Find out more about the FTDI D2XX libraries here. FTDI libraries are installed automatically during the cmake configuration step.
Category | Software | Minimum version |
---|---|---|
Operating System | Windows, Debian | Windows 10 & above Ubuntu 22.04 & above |
Software development | Visual Studio Compiler 2022 (Windows) GCC (Linux) |
MSVC 2022 (Windows) GCC-11, G++-11, GLIBC-2.35 (Linux) |
Software development | Qt Open-source | 6.9.0 and above |
Please review the usage policies, license terms, and conditions of the above software before use.
QTAC requires Qt6 and MSVC2022 64-bit. Please review below custom install configuration in Qt to optimize download time.
Required additional libraries:
- Qt Serial Bus
- Qt Serial Port
With the development tools installed on your system, please set up the following environment variables:
QTBIN
:C:\Qt\<version>\msvc2022_64\bin
On Windows:
setx QTBIN C:\Qt\<version>\msvc2022_64\bin
On Linux:
Start a bash terminal at the project root and ensure make is available in the environment. Then, execute the below commands.
export QTBIN=$/path/to/Qt/directory/<version>/gcc_64/bin
QTAC repository has the following sub-directories:
.github
: GitHub CI/CD build pipelinesconfigurations
: Platform specific pin configurations to control devicesdocs
: API documentation and guideexamples
: Example scripts to demonstrate the use of device-control automation APIsinterfaces
: Device control APIs for C++, Python, C# and Javasrc
: Source files containing core libraries, CLI and UI applicationsapplications
: CLI and UI applicationslibraries
: Core libraries referenced by other libraries, CLI & UI applications
third-party
: Contains automation scripts to install external project dependencies
Applications and library in QTAC has the following overall dependency architecture
QTAC requires you to have physical access to Qualcomm approved devices and debug boards. QTAC is device-agnostic and supports all Qualcomm chipsets and form-factors.
The Qualcomm device may be attached directly to the debug board or through cable strip depending on the form-factor or the guidelines outlined in the hardware manual.
If you've questions, suggestions or issues with setup, please do reach out to us on discord.
You will have to install the required drivers correctly. The one-time driver installation step is taken care if you install a release package.
The one-time driver installation step is taken care if you install a release package. If you choose to build from source, configure below drivers:
- FTDI D2XX drivers: to interact with the debug board
- Qualcomm USB Drivers: to view device status (Emergency Download Mode, USB Diagonistics Mode, etc)
QTAC allows you to view the streaming device logs as you transition the device between different states. The debug logs are streamed over USB serial interface(s).
To view these logs, you may install Putty or a similar software. QTAC does not depend or use this software.
Please review the SECURITY.md before reporting vulnerabilities with the project
Please review the Qualcomm product license, code of conduct & terms and conditions before contributing.
If you're interested in compiling the project using Qt Creator, please refer the 01-Build-Using-Qt-Creator guide.