void SimulateIso14443Tag(void);\r
void AcquireRawAdcSamplesIso14443(DWORD parameter);\r
void ReadSRI512Iso14443(DWORD parameter);\r
+void ReadSRIX4KIso14443(DWORD parameter);
+void ReadSTMemoryIso14443(DWORD parameter,DWORD dwLast);
void SnoopIso14443(void);\r
\r
/// iso14443a.h\r
//-----------------------------------------------------------------------------\r
void ReadSRI512Iso14443(DWORD parameter)\r
{\r
+ ReadSTMemoryIso14443(parameter,0x0F);
+}
+void ReadSRIX4KIso14443(DWORD parameter)
+{
+ ReadSTMemoryIso14443(parameter,0x7F);
+}
+
+void ReadSTMemoryIso14443(DWORD parameter,DWORD dwLast)
+{
BYTE i = 0x00;\r
\r
// Make sure that we start from off, since the tags are stateful;\r
DbpString("Tag memory dump, block 0 to 15");\r
cmd1[0] = 0x08;\r
i = 0x00;\r
+ dwLast++;
for (;;) {\r
- if (i == 0x10) {\r
+ if (i == dwLast) {
DbpString("System area block (0xff):");\r
i = 0xff;\r
}\r
#define CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_14443 0x0301\r
#define CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_14443_SIM 0x0302\r
#define CMD_READ_SRI512_TAG 0x0303\r
-#define CMD_READER_ISO_15693 0x0310\r
+#define CMD_READ_SRIX4K_TAG 0x0304\r
+#define CMD_READER_ISO_15693 0x0310
#define CMD_SIMTAG_ISO_15693 0x0311\r
#define CMD_SIMULATE_TAG_HF_LISTEN 0x0380\r
#define CMD_SIMULATE_TAG_ISO_14443 0x0381\r
c.ext1 = atoi(str);\r
SendCommand(&c, FALSE);\r
}\r
+
+/* New command to read the contents of a SRIX4K tag
+ * SRIX4K tags are ISO14443-B modulated memory tags,
+ * this command just dumps the contents of the memory/
+ */
+static void CmdSrix4kread(char *str)
+{
+ UsbCommand c;
+ c.cmd = CMD_READ_SRIX4K_TAG;
+ c.ext1 = atoi(str);
+ SendCommand(&c, FALSE);
+}
+
+
\r
// ## New command\r
static void CmdHi14areader(char *str)\r
{"setlfdivisor", CmdSetDivisor, 0, "<19 - 255> -- Drive LF antenna at 12Mhz/(divisor+1)"},\r
{"setmux", CmdSetMux, 0, "<loraw|hiraw|lopkd|hipkd> -- Set the ADC mux to a specific value"},\r
{"sri512read", CmdSri512read, 0, "<int> -- Read contents of a SRI512 tag"},\r
+ {"srix4kread", CmdSrix4kread, 0, "<int> -- Read contents of a SRIX4K tag"},
{"tidemod", CmdTIDemod, 1, "Demodulate raw bits for TI-type LF tag"},\r
{"tiread", CmdTIRead, 0, "Read and decode a TI 134 kHz tag"},\r
{"tiwrite", CmdTIWrite, 0, "Write new data to a r/w TI 134 kHz tag"},\r