# 更新日志

## 最新更新 - 多组配置系统

### 主要变更

#### 1. 新增文件

- **config.py** - 配置管理器，支持多组配置
- **gui_config.py** - 可视化配置界面（tkinter）
- **preview.py** - 采集卡预览窗口系统
- **launcher.py** - 统一启动器
- **README.md** - 使用文档
- **config.json** - 配置文件（自动生成）

#### 2. 修改的文件

- **main.py** - 完全重写，支持配置系统
  - 从配置文件加载参数
  - 支持动态读取v值
  - 移除硬编码配置
- **utils/mouse.py** - 移除硬编码串口
  - 新增 `init_mouse_keyboard()` 函数
  - 支持从配置初始化
- **utils/get_image.py** - 支持从配置初始化
  - GetImage改为延迟初始化

### 核心功能

1. **多组配置管理**
   - 支持创建多个配置组
   - 每个配置组独立的串口、采集卡、速度设置
   - 可视化切换活动配置

2. **可视化配置界面**
   - GUI界面管理所有配置
   - 实时编辑和保存
   - 支持添加/删除配置组

3. **采集卡预览系统**
   - 网格方式预览多个采集卡
   - 点击放大查看
   - 实时画面更新

4. **灵活的参数配置**
   - 串口配置（端口、波特率）
   - 采集卡配置（索引、分辨率）
   - 移动速度(v值)配置
   - 预览窗口配置

### 使用方式

#### 旧版本（已保留 main_old.py）
```bash
python main_old.py  # 直接运行，使用硬编码配置
```

#### 新版本
```bash
# 方式1: 使用启动器（推荐）
python launcher.py

# 方式2: 直接运行
python main.py  # 读取config.json的active配置
```

### 配置示例

```json
{
    "groups": [
        {
            "name": "配置组1",
            "serial_port": "COM6",
            "serial_baudrate": 9600,
            "camera_index": 0,
            "camera_width": 1920,
            "camera_height": 1080,
            "move_velocity": 470,  // ← move_to函数中的v值
            "active": true
        }
    ]
}
```

### 兼容性

- ✅ 保留所有原有功能
- ✅ YOLO模型无需修改
- ✅ 游戏逻辑完全兼容
- ⚠️ 旧代码会使用默认配置

### 下一步

如需添加更多配置：
1. 在 `config.py` 的 `default_config` 中添加新字段
2. 在 `gui_config.py` 中添加对应的输入框
3. 在 `main.py` 中读取并使用新配置

