minor changes to iso15693.c to get rid off all the compile warnings

This commit is contained in:
d18c7db 2009-07-19 00:25:19 +00:00
commit f7c64b570c

View file

@ -21,9 +21,6 @@
// to the FPGA, to transmit that command to the tag. // to the FPGA, to transmit that command to the tag.
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// The sampling rate is 106.353 ksps/s, for T = 18.8 us // The sampling rate is 106.353 ksps/s, for T = 18.8 us
// SOF defined as // SOF defined as
@ -70,9 +67,6 @@
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
}; };
static void CodeIso15693AsReader(BYTE *cmd, int n) static void CodeIso15693AsReader(BYTE *cmd, int n)
{ {
int i, j; int i, j;
@ -173,10 +167,20 @@ static WORD Crc(BYTE *v, int n)
return ~reg; return ~reg;
} }
char *strcat(char *dest, const char *src)
{
size_t dest_len = strlen(dest);
size_t i;
for (i = 0 ; src[i] != '\0' ; i++)
dest[dest_len + i] = src[i];
dest[dest_len + i] = '\0';
return dest;
}
////////////////////////////////////////// code to do 'itoa' ////////////////////////////////////////// code to do 'itoa'
/* reverse: reverse string s in place */ /* reverse: reverse string s in place */
void reverse(char s[]) void reverse(char s[])
{ {
@ -208,7 +212,6 @@ void itoa(int n, char s[])
//////////////////////////////////////// END 'itoa' CODE //////////////////////////////////////// END 'itoa' CODE
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Encode (into the ToSend buffers) an identify request, which is the first // Encode (into the ToSend buffers) an identify request, which is the first
// thing that you must send to a tag to get a response. // thing that you must send to a tag to get a response.
@ -283,7 +286,7 @@ static void BuildSelectRequest( BYTE uid[])
// cmd[7] = uid[5];//0x10; // cmd[7] = uid[5];//0x10;
// cmd[8] = uid[6];//0x05; // cmd[8] = uid[6];//0x05;
cmd[2] = 0x32;// cmd[2] = 0x32;//
cmd[3]= 0x4b; cmd[3] = 0x4b;
cmd[4] = 0x03; cmd[4] = 0x03;
cmd[5] = 0x01; cmd[5] = 0x01;
cmd[6] = 0x00; cmd[6] = 0x00;
@ -332,7 +335,6 @@ static void BuildReadBlockRequest(BYTE *uid, BYTE blockNumber )
CodeIso15693AsReader(cmd, sizeof(cmd)); CodeIso15693AsReader(cmd, sizeof(cmd));
} }
static void BuildReadMultiBlockRequest(BYTE *uid) static void BuildReadMultiBlockRequest(BYTE *uid)
{ {
BYTE cmd[14]; BYTE cmd[14];
@ -400,7 +402,7 @@ static void BuildArbitraryRequest(BYTE *uid,BYTE CmdCode)
CodeIso15693AsReader(cmd, sizeof(cmd)); CodeIso15693AsReader(cmd, sizeof(cmd));
} }
static void BuildArbitraryCustomRequest(BYTE *uid,BYTE CmdCode) static void BuildArbitraryCustomRequest(BYTE uid[], BYTE CmdCode)
{ {
BYTE cmd[14]; BYTE cmd[14];
@ -464,7 +466,6 @@ static void BuildArbitraryCustomRequest(BYTE *uid,BYTE CmdCode)
CodeIso15693AsReader(cmd, sizeof(cmd)); CodeIso15693AsReader(cmd, sizeof(cmd));
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Transmit the command (to the tag) that was placed in ToSend[]. // Transmit the command (to the tag) that was placed in ToSend[].
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -506,7 +507,6 @@ static void TransmitTo15693Tag(const BYTE *cmd, int len, int *samples, int *wait
*samples = (c + *wait) << 3; *samples = (c + *wait) << 3;
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Transmit the command (to the reader) that was placed in ToSend[]. // Transmit the command (to the reader) that was placed in ToSend[].
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -536,18 +536,12 @@ static void TransmitTo15693Reader(const BYTE *cmd, int len, int *samples, int *w
*samples = (c + *wait) << 3; *samples = (c + *wait) << 3;
} }
static int GetIso15693AnswerFromTag(BYTE *receivedResponse, int maxLen, int *samples, int *elapsed) static int GetIso15693AnswerFromTag(BYTE *receivedResponse, int maxLen, int *samples, int *elapsed)
{ {
int c = 0; int c = 0;
BYTE *dest = (BYTE *)BigBuf; BYTE *dest = (BYTE *)BigBuf;
int getNext = 0; int getNext = 0;
SBYTE prev = 0; SBYTE prev = 0;
// NOW READ RESPONSE // NOW READ RESPONSE
@ -599,11 +593,10 @@ static int GetIso15693AnswerFromTag(BYTE *receivedResponse, int maxLen, int *sam
////////////////////////////////////////// //////////////////////////////////////////
int i, j; int i, j;
int max = 0, maxPos; int max = 0, maxPos=0;
int skip = 4; int skip = 4;
// if(GraphTraceLen < 1000) return; // THIS CHECKS FOR A BUFFER TO SMALL // if(GraphTraceLen < 1000) return; // THIS CHECKS FOR A BUFFER TO SMALL
// First, correlate for SOF // First, correlate for SOF
@ -687,7 +680,6 @@ static int GetIso15693AnswerFromTag(BYTE *receivedResponse, int maxLen, int *sam
/// DbpString("CRC=%04x", Iso15693Crc(outBuf, k-2)); /// DbpString("CRC=%04x", Iso15693Crc(outBuf, k-2));
} }
// Now the GetISO15693 message from sniffing command // Now the GetISO15693 message from sniffing command
@ -697,7 +689,6 @@ static int GetIso15693AnswerFromSniff(BYTE *receivedResponse, int maxLen, int *s
BYTE *dest = (BYTE *)BigBuf; BYTE *dest = (BYTE *)BigBuf;
int getNext = 0; int getNext = 0;
SBYTE prev = 0; SBYTE prev = 0;
// NOW READ RESPONSE // NOW READ RESPONSE
@ -749,11 +740,10 @@ static int GetIso15693AnswerFromSniff(BYTE *receivedResponse, int maxLen, int *s
////////////////////////////////////////// //////////////////////////////////////////
int i, j; int i, j;
int max = 0, maxPos; int max = 0, maxPos=0;
int skip = 4; int skip = 4;
// if(GraphTraceLen < 1000) return; // THIS CHECKS FOR A BUFFER TO SMALL // if(GraphTraceLen < 1000) return; // THIS CHECKS FOR A BUFFER TO SMALL
// First, correlate for SOF // First, correlate for SOF
@ -836,12 +826,8 @@ static int GetIso15693AnswerFromSniff(BYTE *receivedResponse, int maxLen, int *s
return k; // return the number of bytes demodulated return k; // return the number of bytes demodulated
/// DbpString("CRC=%04x", Iso15693Crc(outBuf, k-2)); /// DbpString("CRC=%04x", Iso15693Crc(outBuf, k-2));
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Start to read an ISO 15693 tag. We send an identify request, then wait // Start to read an ISO 15693 tag. We send an identify request, then wait
// for the response. The response is not demodulated, just left in the buffer // for the response. The response is not demodulated, just left in the buffer
@ -927,8 +913,6 @@ void AcquireRawAdcSamplesIso15693(void)
} }
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Simulate an ISO15693 reader, perform anti-collision and then attempt to read a sector // Simulate an ISO15693 reader, perform anti-collision and then attempt to read a sector
// all demodulation performed in arm rather than host. - greg // all demodulation performed in arm rather than host. - greg
@ -940,7 +924,6 @@ void ReaderIso15693(DWORD parameter)
LED_C_OFF(); LED_C_OFF();
LED_D_OFF(); LED_D_OFF();
//DbpString(parameter); //DbpString(parameter);
BYTE *receivedAnswer0 = (((BYTE *)BigBuf) + 3560); // allow 100 bytes per reponse (way too much) BYTE *receivedAnswer0 = (((BYTE *)BigBuf) + 3560); // allow 100 bytes per reponse (way too much)
@ -948,7 +931,7 @@ void ReaderIso15693(DWORD parameter)
BYTE *receivedAnswer2 = (((BYTE *)BigBuf) + 3760); BYTE *receivedAnswer2 = (((BYTE *)BigBuf) + 3760);
BYTE *receivedAnswer3 = (((BYTE *)BigBuf) + 3860); BYTE *receivedAnswer3 = (((BYTE *)BigBuf) + 3860);
//BYTE *TagUID= (((BYTE *)BigBuf) + 3960); // where we hold the uid for hi15reader //BYTE *TagUID= (((BYTE *)BigBuf) + 3960); // where we hold the uid for hi15reader
int responseLen0 = 0; // int responseLen0 = 0;
int responseLen1 = 0; int responseLen1 = 0;
int responseLen2 = 0; int responseLen2 = 0;
int responseLen3 = 0; int responseLen3 = 0;
@ -990,7 +973,6 @@ void ReaderIso15693(DWORD parameter)
// THIS MEANS WE CAN PRE-BUILD REQUESTS TO SAVE CPU TIME // THIS MEANS WE CAN PRE-BUILD REQUESTS TO SAVE CPU TIME
BYTE TagUID[7]; // where we hold the uid for hi15reader BYTE TagUID[7]; // where we hold the uid for hi15reader
// BuildIdentifyRequest(); // BuildIdentifyRequest();
// //TransmitTo15693Tag(ToSend,ToSendMax+3,&tsamples, &wait); // //TransmitTo15693Tag(ToSend,ToSendMax+3,&tsamples, &wait);
// TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait); // No longer ToSendMax+3 // TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait); // No longer ToSendMax+3
@ -1029,14 +1011,14 @@ void ReaderIso15693(DWORD parameter)
TagUID[6] = receivedAnswer1[8]; // IC Manufacturer code TagUID[6] = receivedAnswer1[8]; // IC Manufacturer code
// Now send the SELECT command // Now send the SELECT command
BuildSelectRequest(*TagUID); BuildSelectRequest(TagUID);
TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait); // No longer ToSendMax+3 TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait); // No longer ToSendMax+3
// Now wait for a response // Now wait for a response
responseLen2 = GetIso15693AnswerFromTag(receivedAnswer2, 100, &samples, &elapsed); responseLen2 = GetIso15693AnswerFromTag(receivedAnswer2, 100, &samples, &elapsed);
// Now send the MULTI READ command // Now send the MULTI READ command
// BuildArbitraryRequest(*TagUID,parameter); // BuildArbitraryRequest(*TagUID,parameter);
BuildArbitraryCustomRequest(*TagUID,parameter); BuildArbitraryCustomRequest(TagUID,parameter);
// BuildReadBlockRequest(*TagUID,parameter); // BuildReadBlockRequest(*TagUID,parameter);
// BuildSysInfoRequest(*TagUID); // BuildSysInfoRequest(*TagUID);
//TransmitTo15693Tag(ToSend,ToSendMax+3,&tsamples, &wait); //TransmitTo15693Tag(ToSend,ToSendMax+3,&tsamples, &wait);
@ -1046,9 +1028,7 @@ void ReaderIso15693(DWORD parameter)
} }
char str1 [4];
BYTE str1 [4];
//char str2 [200]; //char str2 [200];
int i; int i;
@ -1073,7 +1053,6 @@ void ReaderIso15693(DWORD parameter)
DbpIntegers(receivedAnswer3[i],receivedAnswer3[i+1],receivedAnswer3[i+2]); DbpIntegers(receivedAnswer3[i],receivedAnswer3[i+1],receivedAnswer3[i+2]);
} }
// str2[0]=0; // str2[0]=0;
// for(i = 0; i < responseLen3; i++) { // for(i = 0; i < responseLen3; i++) {
// itoa(str1,receivedAnswer3[i]); // itoa(str1,receivedAnswer3[i]);
@ -1085,12 +1064,8 @@ void ReaderIso15693(DWORD parameter)
LED_B_OFF(); LED_B_OFF();
LED_C_OFF(); LED_C_OFF();
LED_D_OFF(); LED_D_OFF();
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Simulate an ISO15693 TAG, perform anti-collision and then print any reader commands // Simulate an ISO15693 TAG, perform anti-collision and then print any reader commands
// all demodulation performed in arm rather than host. - greg // all demodulation performed in arm rather than host. - greg
@ -1102,7 +1077,6 @@ void SimTagIso15693(DWORD parameter)
LED_C_OFF(); LED_C_OFF();
LED_D_OFF(); LED_D_OFF();
//DbpString(parameter); //DbpString(parameter);
BYTE *receivedAnswer0 = (((BYTE *)BigBuf) + 3560); // allow 100 bytes per reponse (way too much) BYTE *receivedAnswer0 = (((BYTE *)BigBuf) + 3560); // allow 100 bytes per reponse (way too much)
@ -1110,10 +1084,10 @@ void SimTagIso15693(DWORD parameter)
BYTE *receivedAnswer2 = (((BYTE *)BigBuf) + 3760); BYTE *receivedAnswer2 = (((BYTE *)BigBuf) + 3760);
BYTE *receivedAnswer3 = (((BYTE *)BigBuf) + 3860); BYTE *receivedAnswer3 = (((BYTE *)BigBuf) + 3860);
//BYTE *TagUID= (((BYTE *)BigBuf) + 3960); // where we hold the uid for hi15reader //BYTE *TagUID= (((BYTE *)BigBuf) + 3960); // where we hold the uid for hi15reader
int responseLen0 = 0; // int responseLen0 = 0;
int responseLen1 = 0; int responseLen1 = 0;
int responseLen2 = 0; // int responseLen2 = 0;
int responseLen3 = 0; // int responseLen3 = 0;
// Blank arrays // Blank arrays
int j; int j;
@ -1150,41 +1124,34 @@ void SimTagIso15693(DWORD parameter)
// FIRST WE RUN AN INVENTORY TO GET THE TAG UID // FIRST WE RUN AN INVENTORY TO GET THE TAG UID
// THIS MEANS WE CAN PRE-BUILD REQUESTS TO SAVE CPU TIME // THIS MEANS WE CAN PRE-BUILD REQUESTS TO SAVE CPU TIME
BYTE TagUID[7]; // where we hold the uid for hi15reader // BYTE TagUID[7]; // where we hold the uid for hi15reader
// Now send the IDENTIFY command // Now send the IDENTIFY command
// BuildIdentifyRequest(); // BuildIdentifyRequest();
// TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait); // No longer ToSendMax+3 // TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait); // No longer ToSendMax+3
// Now wait for a command from the reader // Now wait for a command from the reader
responseLen1=0; responseLen1=0;
// while(responseLen1=0) { // while(responseLen1=0) {
// if(BUTTON_PRESS()) break; // if(BUTTON_PRESS()) break;
responseLen1 = GetIso15693AnswerFromSniff(receivedAnswer1, 100, &samples, &elapsed) ; responseLen1 = GetIso15693AnswerFromSniff(receivedAnswer1, 100, &samples, &elapsed) ;
// } // }
if (responseLen1 >=1) // we should do a better check than this if (responseLen1 >=1) // we should do a better check than this
{ {
// Build a suitable reponse to the reader INVENTORY cocmmand // Build a suitable reponse to the reader INVENTORY cocmmand
BuildInventoryResponse; BuildInventoryResponse();
TransmitTo15693Reader(ToSend,ToSendMax,&tsamples, &wait); TransmitTo15693Reader(ToSend,ToSendMax,&tsamples, &wait);
// Now wait for a command from the reader // Now wait for a command from the reader
// responseLen2 = GetIso15693AnswerFromTag(receivedAnswer2, 100, &samples, &elapsed); // responseLen2 = GetIso15693AnswerFromTag(receivedAnswer2, 100, &samples, &elapsed);
// Now wait for a command from the reader // Now wait for a command from the reader
// responseLen3 = GetIso15693AnswerFromTag(receivedAnswer3, 100, &samples, &elapsed) ; // responseLen3 = GetIso15693AnswerFromTag(receivedAnswer3, 100, &samples, &elapsed) ;
} }
char str1 [4];
BYTE str1 [4];
//char str2 [200]; //char str2 [200];
int i; int i;
@ -1209,7 +1176,6 @@ void SimTagIso15693(DWORD parameter)
// DbpIntegers(receivedAnswer3[i],receivedAnswer3[i+1],receivedAnswer3[i+2]); // DbpIntegers(receivedAnswer3[i],receivedAnswer3[i+1],receivedAnswer3[i+2]);
// } // }
// str2[0]=0; // str2[0]=0;
// for(i = 0; i < responseLen3; i++) { // for(i = 0; i < responseLen3; i++) {
// itoa(str1,receivedAnswer3[i]); // itoa(str1,receivedAnswer3[i]);
@ -1221,6 +1187,4 @@ void SimTagIso15693(DWORD parameter)
LED_B_OFF(); LED_B_OFF();
LED_C_OFF(); LED_C_OFF();
LED_D_OFF(); LED_D_OFF();
} }