Added the new SRIX4K reading routine, thanks to jonor. Regression tested against SRI512 tags,

but I do not have SRIX4K tags to test this with.
This commit is contained in:
edouard@lafargue.name 2009-11-23 09:34:57 +00:00
commit c86cc30801
6 changed files with 34 additions and 2 deletions

View file

@ -582,6 +582,9 @@ void UsbPacketReceived(BYTE *packet, int len)
case CMD_READ_SRI512_TAG:
ReadSRI512Iso14443(c->ext1);
break;
case CMD_READ_SRIX4K_TAG:
ReadSRIX4KIso14443(c->ext1);
break;
#endif
#ifdef WITH_ISO14443a

View file

@ -81,6 +81,8 @@ void SimulateTagLowFrequencyBidir(int divisor, int max_bitlen);
void SimulateIso14443Tag(void);
void AcquireRawAdcSamplesIso14443(DWORD parameter);
void ReadSRI512Iso14443(DWORD parameter);
void ReadSRIX4KIso14443(DWORD parameter);
void ReadSTMemoryIso14443(DWORD parameter,DWORD dwLast);
void SnoopIso14443(void);
/// iso14443a.h

View file

@ -873,6 +873,15 @@ void AcquireRawAdcSamplesIso14443(DWORD parameter)
//-----------------------------------------------------------------------------
void ReadSRI512Iso14443(DWORD parameter)
{
ReadSTMemoryIso14443(parameter,0x0F);
}
void ReadSRIX4KIso14443(DWORD parameter)
{
ReadSTMemoryIso14443(parameter,0x7F);
}
void ReadSTMemoryIso14443(DWORD parameter,DWORD dwLast)
{
BYTE i = 0x00;
// Make sure that we start from off, since the tags are stateful;
@ -961,8 +970,9 @@ void ReadSRI512Iso14443(DWORD parameter)
DbpString("Tag memory dump, block 0 to 15");
cmd1[0] = 0x08;
i = 0x00;
dwLast++;
for (;;) {
if (i == 0x10) {
if (i == dwLast) {
DbpString("System area block (0xff):");
i = 0xff;
}