# 蓝牙连接测试说明

## 数据流概述

您的应用数据流如下：

1. **蓝牙连接** → **数据接收** → **数据解析** → **信号处理** → **图表显示**

### 详细流程：
- **蓝牙管理器** (BluetoothManager) 负责设备连接和数据接收
- **数据管理器** (DataManager) 负责数据解析和信号处理
- **实时数据回调** 将处理后的数据发送到图表显示
- **ECG图表视图** 实时显示ECG波形

## 测试步骤

### 1. 直接连接测试
1. 启动应用
2. **长按"连接蓝牙"按钮** → 弹出直接连接对话框
3. 输入您的电脑MAC地址：`60:E9:AA:30:8B:0A`（使用冒号分隔符）
4. 点击"连接"按钮
5. 观察连接状态

### 2. 数据收发测试
1. 连接成功后，**长按"发送指令"按钮** → 弹出测试数据对话框
2. 选择测试选项：
   - **发送ECG测试数据**：发送模拟ECG数据包
   - **发送心跳包**：发送简单的心跳数据
   - **发送设备信息查询**：查询设备信息
   - **发送自定义测试数据**：发送自定义十六进制数据

### 3. 图表显示测试
1. 点击"启动程序"按钮 → 立即生成测试数据并显示图表
2. 长按"启动程序"按钮 → 生成更复杂的ECG波形测试
3. 观察ECG双视图的实时更新

## 测试功能说明

### 蓝牙连接功能
- **扫描设备**：自动扫描附近的蓝牙设备
- **直接连接**：通过MAC地址直接连接指定设备
- **连接状态**：实时显示连接状态和错误信息

### 数据发送功能
- **ECG测试数据**：生成符合ECG格式的模拟数据包
- **心跳包**：简单的连接测试数据
- **自定义数据**：支持十六进制格式的自定义数据

### 数据接收功能
- **实时接收**：自动接收蓝牙数据
- **数据解析**：使用原生解析器解析数据包
- **信号处理**：应用滤波和信号处理算法
- **实时显示**：立即更新图表显示

## 调试信息

应用会在日志中输出详细的调试信息：
- 蓝牙连接状态
- 数据接收情况
- 数据解析结果
- 信号处理进度
- 图表更新状态

## 常见问题

### 连接失败
1. 检查蓝牙权限是否已授予
2. 确认设备MAC地址正确（使用冒号分隔符，如：60:E9:AA:30:8B:0A）
3. 确保目标设备在范围内且可发现

### 数据接收问题
1. 检查连接状态
2. 查看日志中的错误信息
3. 尝试发送测试数据验证连接

### 图表不显示
1. 点击"启动程序"按钮生成测试数据
2. 检查图表容器是否可见
3. 查看数据回调是否正常

## 测试建议

1. **先测试连接**：确保能成功连接到您的电脑
2. **再测试发送**：发送各种测试数据验证连接稳定性
3. **最后测试接收**：验证数据接收和图表显示功能
4. **查看日志**：通过Android Studio的Logcat查看详细调试信息

## 数据格式

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

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