Full working creature card scan

This commit is contained in:
2026-08-01 00:03:47 +02:00
parent 76dc34b115
commit 78fc70bd31
3 changed files with 36 additions and 1 deletions
Generated
+30
View File
@@ -125,6 +125,7 @@ dependencies = [
"esp-rtos", "esp-rtos",
"ili9341", "ili9341",
"log", "log",
"ndef",
"pn532", "pn532",
"smoltcp", "smoltcp",
] ]
@@ -255,6 +256,26 @@ dependencies = [
"syn 2.0.119", "syn 2.0.119",
] ]
[[package]]
name = "derive_more"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05"
dependencies = [
"derive_more-impl",
]
[[package]]
name = "derive_more-impl"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.119",
]
[[package]] [[package]]
name = "digest" name = "digest"
version = "0.10.7" version = "0.10.7"
@@ -1186,6 +1207,15 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8d5439c4ad607c3c23abf66de8c8bf57ba8adcd1f129e699851a6e43935d339d" checksum = "8d5439c4ad607c3c23abf66de8c8bf57ba8adcd1f129e699851a6e43935d339d"
[[package]]
name = "ndef"
version = "0.5.0"
dependencies = [
"derive_more",
"heapless 0.8.0",
"rustversion",
]
[[package]] [[package]]
name = "num-derive" name = "num-derive"
version = "0.4.2" version = "0.4.2"
+1
View File
@@ -52,6 +52,7 @@ embedded-hal-bus = "0.3.0"
embedded-graphics = "0.8.2" embedded-graphics = "0.8.2"
embedded-graphics-core = "0.4.1" embedded-graphics-core = "0.4.1"
pn532 = "0.5.0" pn532 = "0.5.0"
ndef = { version = "0.5.0", path = "./ndef-rs" }
# For fine tuning these settings, please refer to https://doc.rust-lang.org/cargo/reference/profiles.html # For fine tuning these settings, please refer to https://doc.rust-lang.org/cargo/reference/profiles.html
+5 -1
View File
@@ -166,7 +166,7 @@ fn main() -> ! {
) { ) {
Ok(uid) => { Ok(uid) => {
info!("uid = {uid:?}"); info!("uid = {uid:?}");
for i in (0x0b..=230) { for i in (0x04..=230) {
let mut parse_result = Err(()); let mut parse_result = Err(());
while parse_result.is_err() { while parse_result.is_err() {
let Ok(result) = pn532.process(&Request::ntag_read(i), 17, ms_1000) else { let Ok(result) = pn532.process(&Request::ntag_read(i), 17, ms_1000) else {
@@ -178,6 +178,10 @@ fn main() -> ! {
data.extend(bytes); data.extend(bytes);
} }
info!("Full data: {data:02x?}"); info!("Full data: {data:02x?}");
match ndef::Message::try_from(&data[4..4 + 883]) {
Ok(m) => info!("Parsed: {m:02x?}"),
Err(e) => info!("Failed to parse: {e:?}"),
}
data.clear(); data.clear();
} }
Err(e) => { Err(e) => {