- uint8_t data[512] = {0}; // in case there is a read command received we shouldn't break
- uint8_t flags = ( uid_2nd[selected] > 0x00 ) ? FLAG_7B_UID_IN_DATA : FLAG_4B_UID_IN_DATA;
- num_to_bytes(uid_1st[selected], 3, data);
- num_to_bytes(uid_2nd[selected], 4, data+3);
+
+ uint8_t flags = FLAG_4B_UID_IN_DATA;
+ uint8_t data[USB_CMD_DATA_SIZE] = {0}; // in case there is a read command received we shouldn't break
+
+ memcpy(data, uids[selected].uid, uids[selected].uidlen);
+
+ uint64_t tmpuid = bytes_to_num(uids[selected].uid, uids[selected].uidlen);
+
+ if ( uids[selected].uidlen == 7 ) {
+ flags = FLAG_7B_UID_IN_DATA;
+ Dbprintf("Simulating ISO14443a tag with uid: %02x%08x [Bank: %u]", tmpuid >> 32, tmpuid & 0xFFFFFFFF , selected);
+ } else {
+ Dbprintf("Simulating ISO14443a tag with uid: %08x [Bank: %u]", tmpuid & 0xFFFFFFFF , selected);
+ }