chore: migrate project into clean repository

This commit is contained in:
yuuux
2026-08-13 16:50:52 +08:00
commit d1d25a09e7
27405 changed files with 9422808 additions and 0 deletions

115
modules/ebus/readme.md Normal file
View File

@@ -0,0 +1,115 @@
# EBUS - 轻量级软件总线通讯框架
## 简介
EBUS是一个轻量级的软件总线通讯框架用于组件间的消息传递。它实现了发布-订阅模式,支持同步消息处理,为嵌入式系统提供了一种高效、灵活的组件间通信机制。
## 特性
- **轻量级设计**:针对资源受限的嵌入式系统优化
- **总线-通道-订阅者模型**:清晰的层次结构
- **同步消息处理**:简化并发控制
- **跨平台支持**支持FreeRTOS和POSIX环境
- **简单易用的API**:易于集成到现有项目中
## 架构
EBUS框架基于以下核心概念
- **总线(Bus)**:顶层通信实体,可以包含多个通道
- **通道(Channel)**:特定类型消息的传输通道
- **订阅者(Subscriber)**:接收并处理通道消息的实体
```
+-------------+
| 总线 |
+-------------+
|
+-------------+ +-------------+ +-------------+
| 通道1 | | 通道2 | | 通道3 |
+-------------+ +-------------+ +-------------+
| | |
+-------------+ +-------------+ +-------------+
| 订阅者1-1 | | 订阅者2-1 | | 订阅者3-1 |
+-------------+ +-------------+ +-------------+
| 订阅者1-2 | | 订阅者2-2 |
+-------------+ +-------------+
```
## 使用示例
### 完整示例
请参考 `examples/main.c` 文件中的完整示例程序,该示例展示了如何创建总线、通道,以及在进程间进行消息传递。
## 编译与配置
### 配置选项
`Kconfig` 文件中提供了以下配置选项:
```
config EBUS
bool "ebus support"
default n
help
Enable ebus support
choice
prompt "Select Operating System"
default EBUS_ENV_OS_FREERTOS
config EBUS_ENV_OS_POSIX
bool "POSIX"
config EBUS_ENV_OS_FREERTOS
bool "FreeRTOS"
endchoice
```
### 编译方法
#### 在扫描笔工程中编译
EBUS已集成到扫描笔工程中可以通过配置`CONFIG_EBUS=y`来启用。
#### 独立编译Linux环境
```bash
mkdir build && cd build
cmake ..
make
```
#### 编译示例程序
```bash
cd examples
mkdir build && cd build
cmake ..
make
./ebus_example
```
## 移植指南
EBUS框架设计为易于移植到不同操作系统。目前支持POSIX和FreeRTOS环境。
### 移植到新平台
1.`port/` 目录下创建新的平台适配文件
2. 实现 `platform.h` 中定义的接口
3. 修改 `CMakeLists.txt``Kconfig` 添加新平台支持
## 许可证
EBUS框架采用Apache 2.0许可证。
## 贡献
欢迎提交问题报告和改进建议。
## 联系方式
如有问题,请联系项目维护者。