Crates.io | srix4k |
lib.rs | srix4k |
version | 0.1.0 |
source | src |
created_at | 2023-05-13 17:47:29.897652 |
updated_at | 2023-05-13 17:47:29.897652 |
description | High-level crate for communicating with SRIX4K NFC tags |
homepage | https://github.com/riklus/srix4k |
repository | https://github.com/riklus/srix4k |
max_upload_size | |
id | 863837 |
size | 55,260 |
This crate is a higher-level way to read/write to SRIX4K tags.
The most interesting feature about this crate is the Srix4kCached
struct. This struct caches memory accesses to the connected SRIX4K tag, speeding up read/write operations. To write data to the tag call the .sync()
method on the Srix4kCached
struct.
use nfc1::{Result};
use srix4k::{Srix4kCached, mem};
fn main() -> Result<()> {
let mut context = nfc1::Context::new()?;
let mut device = context.open()?;
device.set_property_bool(nfc1::Property::InfiniteSelect, true)?;
let mut tag = Srix4kCached::connect_from(device)?;
println!("uid: 0x{:X}", tag.uid_get()?);
let block00 = tag.eeprom_get_mut(mem::EEPROM.start)?;
println!("block 00: {:#010X}", block00);
*block00 = 0xDEADBEEF;
tag.sync()?;
Ok(())
}