chrisjtwomey
Hi @hsanjuan - is this project still active? I've been playing around with this library and I'm suspecting there is an issue with how the TNF byte gets parsed from card data. However, I'm still new to learning RFID and NDEF format so not certain. This is an example of how I'm testing this: ``` message := &Message{} err = classic1k.Read(message) if err != nil { log.WithError(err).Error("Failed reading RFID Card") } log.Debug(message.Inspect()) ``` `classic1k.Read(message)` reads in bytes from the card until it sees a TLV terminator and then unmarshals the bytes into `Message`. It also dumps the rows to the debug log while it's at it. I created an absolute uri message on a mifare classic through an app [NFC Tools](https://play.google.com/store/apps/details?id=com.wakdev.wdnfc) and ran it through the code above: ``` DEBU[0001] 04 S01 B0: 03 FF 01 08 C1 01 00 00 01 01 55 04 61 63 63 6F ..........U.acco DEBU[0001] 05 S01 B1: 75 6E 74 73 2E 73 70 6F 74 69 66 79 2E 63 6F 6D unts.spotify.com DEBU[0001] 06 S01 B2: 2F 61 75 74 68 6F 72 69 7A 65 3F 63 6C 69 65 6E /authorize?clien DEBU[0001] 07 S01 B3: 00 00 00 00 00 00 7F 07 88 40 00 00 00 00 00 00 .........@...... DEBU[0001] 08 S02 B0: 74 5F 69 64 3D 63 62 38 64 64 31 35 38 34 61 64 t_id=cb8dd1584ad DEBU[0001] 09 S02 B1: 63 34 32 38 64 38 33 34 63 63 64 32 62 65 61 30 c428d834ccd2bea0 DEBU[0001] 10 S02 B2: 65 65 30 37 37 26 72 65 64 69 72 65 63 74 5F 75 ee077&redirect_u DEBU[0001] 11 S02 B3: 00 00 00 00 00 00 7F 07 88 40 00 00 00 00 00 00 .........@...... DEBU[0001] 12 S03 B0: 72 69 3D 68 74 74 70 25 33 41 25 32 46 25 32 46 ri=http%3A%2F%2F DEBU[0001] 13 S03 B1: 72 70 69 32 2E 6C 6F 63 61 6C 25 33 41 38 30 38 rpi2.local%3A808 DEBU[0001] 14 S03 B2: 30 25 32 46 63 61 6C 6C 62 61 63 6B 26 72 65 73 0%2Fcallback&res DEBU[0001] 15 S03 B3: 00 00 00 00 00 00 7F 07 88 40 00 00 00 00 00 00 .........@...... DEBU[0001] 16 S04 B0: 70 6F 6E 73 65 5F 74 79 70 65 3D 63 6F 64 65 26 ponse_type=code& DEBU[0001] 17 S04 B1: 73 63 6F 70 65 3D 75 73 65 72 2D 72 65 61 64 2D scope=user-read- DEBU[0001] 18 S04 B2: 63 75 72 72 65 6E 74 6C 79 2D 70 6C 61 79 69 6E currently-playin DEBU[0001] 19 S04 B3: 00 00 00 00 00 00 7F 07 88 40 00 00 00 00 00 00 .........@...... DEBU[0001] 20 S05 B0: 67 2B 75 73 65 72 2D 72 65 61 64 2D 70 6C 61 79 g+user-read-play DEBU[0001] 21 S05 B1: 62 61 63 6B 2D 73 74 61 74 65 2B 75 73 65 72 2D back-state+user- DEBU[0001] 22 S05 B2: 6D 6F 64 69 66 79 2D 70 6C 61 79 62 61 63 6B 2D modify-playback- DEBU[0001] 23 S05 B3: 00 00 00 00 00 00 7F 07 88 40 00 00 00 00 00 00 .........@...... DEBU[0001] 24 S06 B0: 73 74 61 74 65 26 73 74 61 74 65 3D 53 45 7A 4A state&state=SEzJ DEBU[0001] 25 S06 B1: 6D 70 4A 70 66 58 70 56 65 45 63 4D FE 00 00 00 mpJpfXpVeEcM.... DEBU[0001] NDEF Message with 1 records. Record 0: TNF: 1 Type: U ID: MB: true ME: true Payload Length: 257 ``` In the first block, the TNF flag is `0x03` but the bytes get parsed into the `Message`, I see the TNF is at `1`, which isn't the absolute uri type flag byte. Is this expected? Writing an absolute uri message also produces TNF 0x01 which then my smartphone doesn't detect properly. I suspect there is an issue with how the TNF flag is getting read and written.