## TestBaseVCI 硬件接口二次开发 SDK

### 1. 概述
本手册为 TestBaseVCI 硬件接口的调用方法及二次开发提供说明。

### 2. 环境要求
*   **操作系统：** Windows 7/8/10/11, Ubuntu 20.04/22.04
*   **官方示例语言：** C++, Python, C#

### 3. 文件说明
压缩包包含以下内容：
*   **Bin：** TestBaseVCI 硬件驱动程序。
*   **Examples：** C++、Python、C# 等语言调用 TestBaseVCI 设备的示例代码。
*   **Docs：** TestBaseVCI 硬件接口文档。

### 4. 操作指南：Linux 驱动安装
1.  **安装依赖库：** 执行以下命令安装驱动接口所需的依赖库。
    ```bash
    sudo apt update
    sudo apt install -y libudev-dev libusb-1.0-0-dev libboost-regex-dev # 安装 USB 通信及正则表达式支持库
    ```
2.  **部署驱动接口：** 将驱动程序库文件复制到系统目录。
    ```bash
    sudo cp libhimetal3api.so /usr/lib/ # 复制驱动库文件至系统库目录
    ```
3.  **运行测试程序：** 执行 Python 示例程序验证安装。
    ```bash
    cd Examples/TestBaseVCI_python # 进入示例目录
    sudo python3 TestGetRxService.py  # 以管理员权限运行测试脚本
    ```

### 5. 操作指南：Windows 驱动安装
1.  **安装驱动程序：** 双击并执行Bin/Windows目录下的驱动安装程序。
2.  **运行测试程序：** 执行 Python 示例程序验证安装。
    ```bash
    cd Examples/TestBaseVCI_python # 进入示例目录
    python3 TestGetRxService.py  # 运行测试脚本
    ```

### 5. Linux环境下USB设备权限设置及注意事项
- **权限要求**：为正常访问USB硬件设备，在Linux系统下操作TestBaseVCI设备的程序需满足以下任一条件：
  1. 以管理员权限（如 `sudo`）启动；
  2. 将设备配置为无需管理员权限即可使用（配置方法见下文）。

- **用户权限配置步骤**（以设备 `Bus 004 Device 002: ID 0003:0005 Club Mac FX3` 为例）：
  1. 通过 `lsusb` 命令查看目标USB设备的标识，获取 `idVendor`（厂商ID）和 `idProduct`（产品ID）信息；
  2. 进入udev规则目录：`cd /etc/udev/rules.d`；
  3. 创建自定义规则文件：`sudo touch my_ttyusb.rules`；
  4. 编辑规则文件：`sudo vi my_ttyusb.rules`，并在文件中填入以下内容：
     ```bash
     SUBSYSTEM=="usb", ATTRS{idVendor}=="0003", ATTRS{idProduct}=="0005", MODE="0666"
     ```
  5. 配置完成后，规则将在设备重新连接或系统重启后生效，此后操作该设备无需再依赖管理员权限。
