1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2019年3月10日 |
---|
#2231在嵌入式开发
47KB
809 行
Rust MAX3010x高灵敏度脉冲血氧计和心率传感器可穿戴健康设备驱动程序
这是一个基于embedded-hal
特质的MAX3010x高灵敏度脉冲血氧计和心率传感器跨平台Rust驱动程序,适用于可穿戴健康设备。
此驱动程序允许您
- 获取FIFO中可用的样本数量。见
get_available_sample_count()
。 - 获取从FIFO中丢失的样本数量。见
get_overflow_sample_count()
。 - 从FIFO中读取样本。见
read_fifo()
。 - 执行温度测量。见
read_temperature()
。 - 切换到心率、血氧计或多LED模式。见
into_multi_led()
。 - 设置样本平均。见
set_sample_averaging()
。 - 设置LED脉冲幅度。见
set_pulse_amplitude()
。 - 设置LED脉冲宽度。见
set_pulse_width()
。 - 设置采样率。见
set_sampling_rate()
。 - 设置ADC范围。见
set_adc_range()
。 - 在多LED模式下设置LED时间槽。
set_led_time_slots()
。 - 启用/禁用FIFO回滚。见
enable_fifo_rollover()
。 - 清除FIFO。见
clear_fifo()
。 - 唤醒和关闭设备。见
shutdown()
。 - 执行软件重置。请参阅
reset()
。 - 获取设备部分和版本ID。请参阅
get_part_id()
。 - 中断
- 读取所有中断的状态。请参阅
read_interrupt_status()
。 - 设置FIFO接近满中断级别。请参阅
set_fifo_almost_full_level_interrupt()
。 - 启用/禁用FIFO接近满中断。请参阅
enable_fifo_almost_full_interrupt()
。 - 启用/禁用环境光消除溢出中断。请参阅
enable_alc_overflow_interrupt()
。 - 启用/禁用温度就绪中断。请参阅
enable_temperature_ready_interrupt()
。 - 启用/禁用新FIFO数据就绪中断。请参阅
enable_new_fifo_data_ready_interrupt()
。
- 读取所有中断的状态。请参阅
设备
MAX30102是一款集成的脉搏血氧和心率监控模块。它包括内部LED、光电探测器、光学元件和具有环境光抑制的低噪声电子设备。MAX30102为移动和可穿戴设备的设计简化了整个系统解决方案。
MAX30102使用单个1.8V电源和一个独立的3.3V电源为内部LED供电。通信通过标准I2C兼容接口进行。该模块可以通过软件关闭,无待机电流,使电源始终保持供电状态。
数据表
此驱动程序至少与以下设备兼容:MAX30102。
用法
请在此存储库中找到使用硬件的更多示例:driver-examples
extern crate linux_embedded_hal as hal;
extern crate max3010x;
use max3010x::{Max3010x, Led, SampleAveraging};
fn main() {
let dev = hal::I2cdev::new("/dev/i2c-1").unwrap();
let mut sensor = Max3010x::new_max30102(dev);
let mut sensor = sensor.into_heart_rate().unwrap();
sensor.set_sample_averaging(SampleAveraging::Sa4).unwrap();
sensor.set_pulse_amplitude(Led::All, 15).unwrap();
sensor.enable_fifo_rollover().unwrap();
let mut data = [0; 3];
let samples_read = sensor.read_fifo(&mut data).unwrap();
// get the I2C device back
let dev = max30102.destroy();
}
状态
- 与MAX30102的兼容性
- 与MAX30101的兼容性
- 与MAX30105的兼容性
支持
有关问题、问题、功能请求和其他更改,请在github项目中提交问题。
许可
根据以下任一项许可
- Apache License, Version 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT 或 http://opensource.org/licenses/MIT) 根据您的选择。
贡献
除非您明确声明,否则根据Apache-2.0许可定义的,您有意提交以包含在工作中的任何贡献,应如上所述双重许可,没有任何额外条款或条件。
依赖
~71KB