# 蓝牙连接测试总结

## 您的代码数据流分析

### 完整数据流：
```
蓝牙设备 (60-E9-AA-30-8B-0A) 
    ↓
BluetoothManager (连接管理)
    ↓
DataManager (数据解析和处理)
    ↓
信号处理 (滤波、陷波等)
    ↓
实时图表显示 (ECG双视图)
```

### 各组件功能：

1. **BluetoothManager**：
   - 扫描和连接蓝牙设备
   - 接收蓝牙数据流
   - 发送指令到设备
   - 管理连接状态

2. **DataManager**：
   - 解析接收到的数据包
   - 应用信号处理算法
   - 计算心率等指标
   - 通过回调发送数据到UI

3. **实时显示系统**：
   - ECG节律视图
   - ECG波形视图
   - 实时数据更新
   - 状态信息显示

## 已添加的测试功能

### 1. 直接连接功能
- **长按"连接蓝牙"按钮** → 弹出直接连接对话框
- 预设您的电脑MAC地址：`60:E9:AA:30:8B:0A`（使用冒号分隔符）
- 支持自定义MAC地址输入

### 2. 测试数据发送功能
- **长按"发送指令"按钮** → 弹出测试数据对话框
- 支持多种测试数据类型：
  - ECG测试数据包
  - 心跳包
  - 设备信息查询
  - 自定义十六进制数据

### 3. 图表显示测试
- **点击"启动程序"** → 立即生成测试数据
- **长按"启动程序"** → 生成复杂ECG波形
- **点击"清空数据"** → 清空图表数据

## 测试步骤

### 第一步：连接测试
1. 启动应用
2. **长按"连接蓝牙"按钮**
3. 输入MAC地址：`60:E9:AA:30:8B:0A`（使用冒号分隔符）
4. 点击"连接"
5. 观察连接状态

### 第二步：发送测试
1. 连接成功后，**长按"发送指令"按钮**
2. 选择测试数据类型
3. 发送测试数据
4. 观察发送状态

### 第三步：接收测试
1. 点击"启动程序"按钮
2. 观察图表显示
3. 查看数据接收情况

### 第四步：图表测试
1. 长按"启动程序"按钮
2. 观察ECG波形显示
3. 测试陷波滤波器功能

## 调试信息

### 日志标签：
- `MainActivity`：主要操作日志
- `BluetoothManager`：蓝牙连接日志
- `DataManager`：数据处理日志

### 状态显示：
- 连接状态实时更新
- 数据接收进度显示
- 错误信息详细提示

## 数据格式

### ECG测试数据包：
```
AA 55 01 [长度低字节] [长度高字节] [ECG数据...] [校验和]
```

### 自定义数据：
支持十六进制格式，如：`01 02 03 04 05`

## 测试建议

1. **先测试连接**：确保能连接到您的电脑
2. **再测试发送**：发送各种测试数据验证连接
3. **最后测试接收**：验证数据接收和图表显示
4. **查看日志**：通过Logcat监控详细过程

## 常见问题解决

### 连接失败：
- 检查蓝牙权限
- 确认MAC地址正确
- 确保设备在范围内

### 数据不显示：
- 点击"启动程序"生成测试数据
- 检查连接状态
- 查看日志错误信息

### 图表空白：
- 检查图表容器可见性
- 确认数据回调正常
- 尝试重新生成测试数据

## 下一步操作

1. 编译并运行应用
2. 按照测试步骤进行连接测试
3. 验证数据收发功能
4. 检查图表显示效果
5. 查看日志确认各环节正常

## 技术支持

如果遇到问题，请：
1. 查看Android Studio的Logcat日志
2. 检查权限设置
3. 确认设备MAC地址
4. 验证蓝牙功能正常
