Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Jackistang/max30102_rtt
max30102 packages for RT-Thread
https://github.com/Jackistang/max30102_rtt
Last synced: 16 days ago
JSON representation
max30102 packages for RT-Thread
- Host: GitHub
- URL: https://github.com/Jackistang/max30102_rtt
- Owner: Jackistang
- License: apache-2.0
- Created: 2021-03-01T01:35:08.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-11-16T12:53:46.000Z (2 months ago)
- Last Synced: 2024-11-16T13:34:59.889Z (2 months ago)
- Language: C
- Size: 19.1 MB
- Stars: 2
- Watchers: 3
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-rt-thread - max30102 - Heart rate and oxygen saturation measure. (Packages / Peripherals)
- awesome-rt-thread - max30102 - Heart rate and oxygen saturation measure. (Packages / Peripherals)
README
# max30102_rtt
## 介绍MAX30102 传感器的软件包,已对接 sensor 框架,目前仅支持测量**心率**,血氧饱和度还不支持。
心率波形图如下,软件为 [VOFA+](https://www.vofa.plus/) ,右上角 I0 为红光强度采样值,I2 为动态阈值,I3 为心率值。
![心率](docs/images/心率.gif)
### 目录结构
| 名称 | 说明 |
| -------- | ------------ |
| docs | 文档目录 |
| examples | 使用例程目录 |
| inc | 头文件目录 |
| src | 源代码目录 |
| port | 移植代码目录 |### 许可证
MAX30102 package 遵循 Apache-2.0 License 许可,详见 `LICENSE` 文件。
### 依赖
- RT-Thread 4.0
- RT-Thread I2C 设备框架
- RT-Thread sensor 框架## 如何打开 MAX30102
使用 MAX30102 package 需要在 RT-Thread 的包管理器中选择它,具体路径如下:
```
RT-Thread online packages
peripherals packages --->
[*] sensors package --->
[*] max30102
```然后让 RT-Thread 的包管理器自动更新,或者使用 `pkgs --update` 命令更新包到 BSP 中。
## 使用 MAX30102
利用 `rt_device_find()` 找到传感器设备,然后用 `rt_device_open()` 打开设备,最后利用 `rt_device_read()` 读取设备数据即可。
```C
void heart_rate_example(void)
{
rt_device_t dev = rt_device_find("hr_max30102");
if (dev == RT_NULL) {
LOG_E("Find max30102 error");
return ;
}rt_device_open(dev, RT_DEVICE_FLAG_RDONLY);
struct rt_sensor_data data;
for (int i = 0; i < 10; i++) {
if (rt_device_read(dev, 0, &data, sizeof(data)) == sizeof(data)) {
LOG_D("heart rate: %d", data.data.hr);
}
}rt_device_close(dev);
}
```## 注意事项
- `RT_TICK_PER_SECOND` 的值需要为 1000 (默认值)。
## 联系方式 & 感谢
- 维护:Jackistang
- 主页:[https://github.com/Jackistang](https://github.com/Jackistang)