#i2c #sensirion #sensors #crc-8

无std sensirion-i2c

Sensirion基于I2C传感器的通用功能

5个版本 (3个重大更新)

0.4.0 2024年7月17日
0.3.0 2024年2月16日
0.2.0 2022年11月29日
0.1.1 2020年9月2日
0.1.0 2020年8月21日

#127硬件支持

Download history 110/week @ 2024-04-16 150/week @ 2024-04-23 141/week @ 2024-04-30 176/week @ 2024-05-07 96/week @ 2024-05-14 155/week @ 2024-05-21 99/week @ 2024-05-28 70/week @ 2024-06-04 50/week @ 2024-06-11 130/week @ 2024-06-18 192/week @ 2024-06-25 74/week @ 2024-07-02 89/week @ 2024-07-09 520/week @ 2024-07-16 242/week @ 2024-07-23 249/week @ 2024-07-30

1,101 每月下载
用于 12 crate

BSD-3-Clause

12KB
182 代码行

sensirion-i2c-rs

Crates.io Version Crates.io Downloads No Std

Sensirion基于I2C传感器的通用功能的Rust库。


lib.rs:

基于embedded-hal traits的Sensirion基于I2C传感器的通用功能的库。

用法

CRC8计算/验证

use sensirion_i2c::crc8;

let data = [0xbe, 0xef];
let crc = crc8::calculate(&data);

let data = [0xbe, 0xef, crc];
assert_eq!(Ok(()), crc8::validate(&data));

I2C

I2C助手与任何embedded_hal::i2c实现兼容。

use embedded_hal_mock::eh1::i2c::{Mock as I2cMock, Transaction as I2cTransaction};
use sensirion_i2c::i2c;

let expectations = [I2cTransaction::write(0x12, vec![0x34, 0x56])];
let mut i2c_mock = I2cMock::new(&expectations);
i2c::write_command_u16(&mut i2c_mock, 0x12, 0x3456);
i2c_mock.done();

embedded-hal-async

i2c_async模块提供了此crate中I2C助手的版本,使用embedded-hal-async crate,而不是embedded-hal中的阻塞I2C traits。

此模块仅在启用embedded-hal-async Cargo功能时可用。

依赖关系

~62KB