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

Download history 29/week @ 2024-03-11 5/week @ 2024-03-18 14/week @ 2024-03-25 37/week @ 2024-04-01 17/week @ 2024-04-08 2/week @ 2024-04-15 6/week @ 2024-04-22 9/week @ 2024-04-29 23/week @ 2024-05-06 14/week @ 2024-05-13 49/week @ 2024-05-20 27/week @ 2024-05-27 38/week @ 2024-06-03 15/week @ 2024-06-10 45/week @ 2024-06-17 22/week @ 2024-06-24

每月下载量122
4crate中使用(其中3个直接使用)

MIT许可证

52KB
1.5K SLoC

nfc1

Crates.io

libnfc的高级安全Rust绑定。

此crate提供了一个对nfc1-sys的安全包装。

nfc相比,此crate还提供

  • 额外的安全性
    • 没有暴露原始指针
    • 没有在它不保证成功的地方使用.unwrap()
    • 用于常用常量的枚举
  • 对于可能失败的方法提供Result<T, Error>
  • 提供nfc1-sys的所有内容,而nfc-sys没有提供的内容
    • 公开一些内部方法(例如,pn53x_*,这对于访问NFC设备的厂商特定功能很有用)

用法

在项目的Cargo.toml文件中将nfc1添加为依赖项

[dependencies]
nfc1 = "0.5"

在项目中导入nfc1crate,然后您可以使用来自libnfc的所有包装函数。

有关如何使用libnfc的信息,请参阅libnfc wikilibnfc 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