scriptotek / nfcbookscanner

Demonstration Android app for reading NfcV (ISO 15693) tags
MIT License
26 stars 9 forks source link

Support NXP chips #5

Open danmichaelo opened 8 years ago

danmichaelo commented 8 years ago

like NXP PN547 on Samsung S5

rsirres commented 5 years ago

I was able to read the RFID with my Honor 8 that has also a NXP Chip.

It seems that the NXP Chip does not support Multiple Block Reading (according to ISO 15693 it is optional).

Single Block Reading is working on my Honor.

                    byte[] userdata2;
                    String first4byte = "";
                    for (int block=0; block<8; block++){
                        cmd = new byte[]{
                                (byte)0x20,  // FLAGS
                                (byte)0x20,  // READ_SINGLE_BLOCK
                                0, 0, 0, 0, 0, 0, 0, 0,
                                (byte)(block & 0x0ff)};
                        System.arraycopy(tag.getId(), 0, cmd, 2, 8);

                        userdata2 = nfcvTag.transceive(cmd);

                        // Chop off the initial 0x00 byte:
                        userdata2 = Arrays.copyOfRange(userdata2, 0, userdata2.length);

                        first4byte += new String(userdata2);
                    }