Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ git clone https://github.com/530china/BitsButton.git
cd BitsButton

# 运行自动化测试用例
./run_tests.bat # Windows
./run_tests.bat # Windows
./test/scripts/run_tests.sh # Linux/macOS
```


Expand Down
34 changes: 19 additions & 15 deletions docs/simulator.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

模拟器是一个用于在PC端模拟硬件按键行为的工具,无需实际硬件即可验证按键检测逻辑,特别适合开发和测试阶段。

> 🔍 **了解更多**:如需深入了解模拟器的技术实现细节,请参阅 [模拟器技术实现文档](../simulator/ButtonSimulator.md)。
> 🔍 **技术详情**:如需了解模拟器的技术实现细节,请参阅 [模拟器技术实现文档](../simulator/ButtonSimulator.md)。



Expand Down Expand Up @@ -105,11 +105,15 @@ python run.py # 默认以软件模式运行GUI界面

## 工作原理

模拟器通过适配层与BitsButton库交互,实现Python界面与C库之间的数据交换。
模拟器通过适配层与BitsButton库交互,实现Python界面与C库之间的数据交换。根据运行模式的不同,交互方式有所区别:

### 数据流向
### 软件模式数据流向

- 用户界面操作 → 按键状态变化 → 传递给BitsButton库 → 生成事件 → 返回显示
- 用户界面操作 → 按键状态变化 → 内部模拟处理 → 生成事件 → 返回显示

### 硬件模式数据流向

- 用户界面操作 → 按键状态变化 → 通过动态库 → 传递给BitsButton库 → 生成事件 → 返回显示

适配层主要负责:
- 将界面的按键操作转换为BitsButton库可识别的格式
Expand Down Expand Up @@ -156,7 +160,7 @@ controller.release_button(1)

## 双模式运行

模拟器支持两种运行模式,以适应不同的开发和测试需求
模拟器支持两种运行模式,以满足不同的验证需求

### 软件模式

Expand All @@ -165,32 +169,32 @@ python run.py # 默认软件模式
python run.py --mode software # 显式指定软件模式
```

软件模式是一种纯Python实现的模拟方案,具有以下特点:
软件模式用于验证按键模拟器自身的功能,它完全在Python环境中运行,具有以下特点:

- **无需编译**:直接运行Python代码,无需安装任何编译工具
- **跨平台兼容**:基于Python和tkinter,可在所有支持Python的平台上运行
- **快速启动**:无需编译时间,启动速度更快
- **易于调试**:纯Python代码便于调试和修改
- **适用场景**:适合算法验证、快速原型开发、功能测试等
- **适用场景**:适合验证模拟器界面、按键映射、事件显示等模拟器本身的各项功能

### 硬件模式

```bash
python run.py --mode hardware # 硬件模式
```

硬件模式通过动态库与底层BitsButton库交互,具有以下特点:
硬件模式用于验证BitsButton库的功能,通过动态库与底层的BitsButton库交互,具有以下特点:

- **真实交互**:与实际的C库进行交互,更接近真实硬件行为
- **编译要求**:需要安装适当的编译工具链(如GCC、MinGW或Xcode)
- **性能优势**:底层库的性能表现更接近实际硬件环境
- **完整功能**:能够测试完整的适配层功能
- **适用场景**:适合性能测试、完整功能验证、与底层库的集成测试等
- **库功能验证**:与实际的BitsButton C库进行交互,验证库的各项功能
- **编译要求**:需要安装适当的编译工具链(如GCC、MinGW或Xcode)来构建动态库
- **真实交互**:模拟器通过动态库调用BitsButton库的函数,更接近实际硬件环境
- **PC验证能力**:让开发者可以在PC上验证库的功能,而无需使用实际的嵌入式开发板
- **适用场景**:适合验证BitsButton库的各种功能、性能测试、功能验证等

### 模式选择建议

- **初学者或快速验证**:使用软件模式
- **完整功能测试或性能评估**:使用硬件模式
- **验证模拟器功能**:使用软件模式
- **验证BitsButton库功能**:使用硬件模式
- **CI/自动化测试**:推荐使用软件模式以减少环境依赖

## 故障排除
Expand Down
4 changes: 2 additions & 2 deletions docs/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

了解如何使用BitsButton的测试框架来验证您的项目是否正常工作,以及如何添加新的测试用例。

> 🔍 **了解更多**:如需深入了解测试框架的技术实现细节,请参阅 [测试框架技术实现文档](../test/README.md)。
> 🔍 **技术详情**:如需了解测试框架的技术实现细节,请参阅 [测试框架技术实现文档](../test/README.md)。



Expand All @@ -24,7 +24,7 @@

```bash
./run_tests.bat clean # Windows
./test/scripts/run_tests.sh clean # Linux/macOS
# Linux/macOS不支持clean参数,直接重新运行即可
```

## 测试覆盖范围
Expand Down
6 changes: 3 additions & 3 deletions simulator/ButtonSimulator.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ python run.py --help # 查看命令行选项

### 组件交互

软件模式下,Python模拟器通过适配层与C库交互,实现按键状态模拟和事件回调。硬件模式下,通过动态库与底层硬件通信
软件模式下,Python模拟器在纯Python环境中运行,用于验证模拟器自身的界面和功能。硬件模式下,通过动态库与BitsButton库交互,用于验证库的功能

## 常见问题解决

Expand Down Expand Up @@ -173,12 +173,12 @@ python run.py --fix-env

> 提示:修改配置文件后需重启应用生效

## 用户指南参考
## 用户使用参考

如需了解模拟器的基本使用方法和应用场景,请参阅主项目的用户文档:

- [使用指南](../docs/usage_guide.md)
- [模拟器使用文档](../docs/simulator.md)
- [模拟器用户文档](../docs/simulator.md)

---

Expand Down
11 changes: 6 additions & 5 deletions test/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ void exit_low_power_mode(void) {

BitsButton库使用位模式编码按键值:
- **单击**: `0b010` (0x2)
- **双击**: `0b01010` (0xA)
- **双击**: `0b01010` (0xA)
- **三连击**: `0b101010` (0x2A)
- **四连击**: `0b10101010` (0xAA)
- **五连击**: `0b1010101010` (0x2AA)
Expand All @@ -146,13 +146,14 @@ BitsButton库使用位模式编码按键值:
# Windows
.\run_tests.bat

# Linux/macOS
# Linux/macOS
./test/scripts/run_tests.sh
```

### 清理重建
```bash
.\run_tests.bat clean
```
.\run_tests.bat clean # Windows
# Linux/macOS不支持clean参数,直接重新运行即可
```

### 手动构建
Expand Down Expand Up @@ -214,7 +215,7 @@ make
- 检查事件缓冲区状态
- 验证时序参数设置

## 用户指南参考
## 用户使用参考

如需了解测试框架的基本使用方法和应用场景,请参阅主项目的用户文档:

Expand Down
Loading