11个版本
0.5.2 | 2023年4月27日 |
---|---|
0.5.1 | 2023年3月8日 |
0.5.0 | 2022年12月7日 |
0.4.1 | 2022年8月8日 |
0.2.0 | 2021年5月2日 |
在Rust模式中排名第458
每月下载量122
在4个crate中使用(其中3个直接使用)
52KB
1.5K SLoC
nfc1
libnfc的高级安全Rust绑定。
此crate提供了一个对nfc1-sys
的安全包装。
与nfc
相比,此crate还提供
- 额外的安全性
- 没有暴露原始指针
- 没有在它不保证成功的地方使用
.unwrap()
- 用于常用常量的枚举
- 对于可能失败的方法提供
Result<T, Error>
- 提供
nfc1-sys
的所有内容,而nfc-sys
没有提供的内容- 公开一些内部方法(例如,
pn53x_*
,这对于访问NFC设备的厂商特定功能很有用)
- 公开一些内部方法(例如,
用法
在项目的Cargo.toml
文件中将nfc1
添加为依赖项
[dependencies]
nfc1 = "0.5"
在项目中导入nfc1
crate,然后您可以使用来自libnfc
的所有包装函数。
有关如何使用libnfc
的信息,请参阅libnfc
wiki或libnfc
1.8.0示例。
用法示例
fn main() -> nfc1::Result<()> {
println!("libnfc v{}", nfc1::version());
let mut context = nfc1::Context::new()?;
let mut device = context.open()?;
println!("NFC device {:?} opened through connection {:?}", device.name(), device.connstring());
println!("- Initiator modulations: {:?}", device.get_supported_modulation(nfc1::Mode::Initiator)?);
println!("- Target modulations: {:?}", device.get_supported_modulation(nfc1::Mode::Target)?);
Ok(())
}
依赖项
~0.9–3MB
~64K SLoC