{"id":30694132,"url":"https://github.com/qualcomm/qcom-test-automation-controller","last_synced_at":"2026-04-15T20:03:13.722Z","repository":{"id":308662448,"uuid":"995866999","full_name":"qualcomm/qcom-test-automation-controller","owner":"qualcomm","description":"Qualcomm Test Automation Controller allows you to remotely control Qualcomm devices connected using debug board","archived":false,"fork":false,"pushed_at":"2025-09-01T21:23:19.000Z","size":3949,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-01T22:21:21.356Z","etag":null,"topics":["automation-framework","qt6"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause-clear","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qualcomm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-04T06:00:23.000Z","updated_at":"2025-08-27T21:28:44.000Z","dependencies_parsed_at":"2025-08-25T18:22:53.594Z","dependency_job_id":null,"html_url":"https://github.com/qualcomm/qcom-test-automation-controller","commit_stats":null,"previous_names":["qualcomm/qcom-test-automation-controller"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/qualcomm/qcom-test-automation-controller","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualcomm%2Fqcom-test-automation-controller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualcomm%2Fqcom-test-automation-controller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualcomm%2Fqcom-test-automation-controller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualcomm%2Fqcom-test-automation-controller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qualcomm","download_url":"https://codeload.github.com/qualcomm/qcom-test-automation-controller/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualcomm%2Fqcom-test-automation-controller/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273238762,"owners_count":25069762,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation-framework","qt6"],"created_at":"2025-09-02T06:02:17.952Z","updated_at":"2026-04-15T20:03:13.715Z","avatar_url":"https://github.com/qualcomm.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Qualcomm Test Automation Controller (QTAC)\n\n[![CMake Build](https://github.com/qualcomm/qcom-test-automation-controller/actions/workflows/build.yml/badge.svg)](https://github.com/qualcomm/qcom-test-automation-controller/actions/workflows/build.yml)\n\n## Table of Contents\n- [Introduction](#introduction)\n- [What You Get](#what-you-get)\n- [Hardware Requirements](#hardware-requirements)\n- [Common Prerequisites](#common-prerequisites)\n- [Windows Guide](#windows-guide)\n- [Linux Guide](#linux-guide)\n- [Repository Structure](#repository-structure)\n- [Application Dependency Architecture](#application-dependency-architecture)\n- [Advanced Topics](#advanced-topics)\n- [Support \u0026 Contributing](#support--contributing)\n\n## Introduction\n\nQTAC is a software suite that enables users to control Qualcomm devices remotely via a Qualcomm approved debug board connected to a host.\n\n## What You Get\n\n| Application | Description |\n| :--- | :--- |\n| **Test Automation Controller (TAC)** | Control Qualcomm devices remotely using UI |\n| **TAC Configuration Editor** | Design configurable TAC UI based on GPIO use-cases |\n| **Device Catalog** | Program debug board and view supported Qualcomm platforms |\n| **Command-line utilities** | DevList, FTDICheck, LITEProgrammer, PSOCProgrammer, TACDump, UpdateDeviceList |\n\n![QTAC UI Overview](./docs/resources/qtac-sw-suite.png)\n\n## Hardware Requirements\n\n**Required Hardware**:\n- Qualcomm approved debug board (FTDI, Cypress PSoC5LP or Microchip PIC32CX SG41-based)\n- Qualcomm device to be controlled\n- USB Cables: Type B Micro-USB (Board to Host) \u0026 Type-C (Device to Host)\n\n**Setup**: Connect the device to the debug board (directly or via cable strip) and both to the host.\n\n\u003e [!IMPORTANT]\n\u003e PSOC debug boards must be factory-programmed with firmware. If the board isn't recognized, it likely lacks programming.\n\n![QTAC Hardware Software Setup](./docs/resources/qtac-setup-overview.drawio.png)\n\n## Common Prerequisites\n\n### Development Tools\n\n| Category | Software | Minimum Version |\n| :-- | :-- | :-- |\n| **OS** | Windows / Debian | Windows 10+ / Ubuntu 22.04+ |\n| **Compiler** | [MSVC 2022](https://aka.ms/vs/17/release/vs_community.exe) / GCC | MSVC 2022 / GCC-11, G++-11, GLIBC-2.35 |\n| **UI Framework** | [Qt Open-source](https://www.qt.io/download-qt-installer-oss) | 6.9.0+ |\n\n\u003e [!NOTE]\n\u003e Review license terms for [Visual Studio](https://visualstudio.microsoft.com/license-terms/) and [Qt](https://www.qt.io/development/download-open-source). MSVC 2022 is linked as Qt doesn't support MSVC 2026 yet.\n\n### Drivers\n\n- **[FTDI D2XX drivers](https://ftdichip.com/drivers/d2xx-drivers/)**: For debug board interaction.\n- **[Qualcomm USB Drivers](https://softwarecenter.qualcomm.com/catalog/item/Qualcomm_Userspace_Driver)**: To view device status.\n\n\u003e [!NOTE]\n\u003e FTDI libraries are installed _automatically_ during the cmake configuration step when building from source.\n\n### Optional Software\n\nQTAC allows you to view streaming device logs as you transition the device between different states. The debug logs are streamed over USB serial interface(s).\n\nTo view these logs, you may install [Putty](https://www.putty.org/) or similar terminal software. QTAC does not depend on or use this software.\n\n### Clone Repository\n\n```bash\ngit clone https://github.com/qualcomm/qcom-test-automation-controller.git\n```\n\n## Windows Guide\n\n### Configuration\n\n1. **Visual Studio**: Install **Desktop development with C++** and **.NET desktop development**.\n   ![Desktop development with C++](./docs/resources/qtac-msvc-2022-requirements.png)\n2. **Qt**: Install Qt 6.9+ for **MSVC 2022 64-bit**, **Qt Serial Port** and **Qt Multimedia** components.\n   \n\u003e [!NOTE]\n\u003e Installation using Qt Online Installer will require users to create a Qt account.\n3. **Environment Variable**:\n   ```cmd\n   setx QTBIN C:\\Qt\\\u003cversion\u003e\\msvc2022_64\\bin\n   ```\n\n### Build \u0026 Usage\n\nExecute `build.bat` to generate executables:\n\n```cmd\nbuild.bat\n```\n\n**Build output**:\n- Debug: `__Builds\\x64\\Debug`\n- Release: `__Builds\\x64\\Release`\n\n**Usage**:\n```cmd\n__Builds\\x64\\Release\\QTAC.exe\n```\n\n## Linux Guide\n\n### Configuration\n\n\u003e [!IMPORTANT]\n\u003e - Installation using Qt Online Installer will require users to create a Qt account.\n\u003e - If you're frequently working with Qt on Linux, consider adding the environment variables to `.bashrc`.\n\u003e - Using `sudo apt install \u003cpackage\u003e` will update setup packages. Review command usage to prevent issues with other applications.\n\n1. **Qt Installation** (choose one):\n   \n   **Option A**: Qt Online Installer\n   - Install Qt 6.9+ for **GCC 64-bit** and **Qt Serial Port** component using [Qt Online Installer](https://www.qt.io/download-qt-installer-oss)\n   \n   **Option B**: Quick Installation via apt\n   ```bash\n   sudo apt install qt6-base-dev qt6-serialport-dev\n   ```\n2. **Runtime Dependencies**:\n   ```bash\n   sudo apt install libxcb-cursor0 libpcre2-16-0 libxkbcommon-x11-0 libxcb-xkb1 libxcb-icccm4 libxcb-shape0 libxcb-keysyms1 libgl1 libegl-dev libxcb-xinerama0 libpulse-dev\n   ```\n3. **Environment Variable**:\n   ```bash\n   export QTBIN=/path/to/Qt/directory/\u003cversion\u003e/gcc_64/bin\n   ```\n\n### Build \u0026 Usage\n\nExecute `build.sh` to generate executables:\n\n```bash\n./build.sh\n```\n\n**Build output**:\n- Debug: `__Builds/x64/Debug`\n- Release: `__Builds/x64/Release`\n\n\u003e [!NOTE]\n\u003e Ensure that [make](https://www.gnu.org/software/make/) is available in your environment before building.\n\n**Usage**:\n```bash\n./__Builds/x64/Release/QTAC\n```\n\n## Repository Structure\n\n| Directory | Content |\n| :-- | :-- |\n| `.github` | CI/CD build pipelines |\n| `configurations` | Platform-specific pin configurations |\n| `docs` | Documentation and guides |\n| `examples` | Device-control automation scripts |\n| `interfaces` | APIs for C++, Python, C#, and Java |\n| `src` | Source files (Applications \u0026 Libraries) |\n| `third-party` | External dependency scripts |\n\n## Application Dependency Architecture\n\n![App dependency](./docs/resources/app-dependency.drawio.png)\n\n## Advanced Topics\n\n- [Build Using Qt Creator](./docs/getting-started/01-Build-Using-Qt-Creator.md)\n- [Python API Guide](./docs/bootcamp/01-Bootcamp.md)\n\n## Support \u0026 Contributing\n\n- **Security**: Review [SECURITY.md](./.github/SECURITY.md) for vulnerability reporting.\n- **Contributing**: Review [License](./LICENSE) and [Code of Conduct](./CODE-OF-CONDUCT.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqualcomm%2Fqcom-test-automation-controller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqualcomm%2Fqcom-test-automation-controller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqualcomm%2Fqcom-test-automation-controller/lists"}