AT91C_BASE_PDC_SSC->PDC_RCR = sample_count; // transfer this many samples
AT91C_BASE_PDC_SSC->PDC_RNPR = (uint32_t) buf; // next transfer to same memory address
AT91C_BASE_PDC_SSC->PDC_RNCR = sample_count; // ... with same number of samples AT91C_BASE_PDC_SSC->PDC_PTCR = AT91C_PDC_RXTEN; // go!
-
+ AT91C_BASE_PDC_SSC->PDC_PTCR = AT91C_PDC_RXTEN; // go!
return true;
}
{"9F00", APDUCODE_TYPE_NONE, "PIN blocked and Unblock Try Counter is 3"},
{"9F04", APDUCODE_TYPE_NONE, "PIN not succesfully verified, PIN blocked and Unblock Try Counter is 3"},
{"9FXX", APDUCODE_TYPE_NONE, "Command successfully executed; 'xx' bytes of data are available and can be requested using GET RESPONSE."},
- {"9xXX", APDUCODE_TYPE_NONE, "Application related status, (ISO 7816-3)"}
+ {"9XXX", APDUCODE_TYPE_NONE, "Application related status, (ISO 7816-3)"}
};
const size_t APDUCodeTableLen = sizeof(APDUCodeTable)/sizeof(APDUCode);
const APDUCode* const GetAPDUCode(uint8_t sw1, uint8_t sw2) {
char buf[5] = {0};
int res;
- int mineq = 100;
+ int mineq = APDUCodeTableLen;
int mineqindx = 0;
- sprintf(&buf[0], "%02X", sw1);
- sprintf(&buf[2], "%02X", sw2);
+ sprintf(buf, "%02X%02X", sw1, sw2);
for (int i = 0; i < APDUCodeTableLen; i++) {
res = CodeCmp(APDUCodeTable[i].ID, buf);
}
// if we have not equal, but with some 'X'
- if (mineqindx < 100) {
+ if (mineqindx < APDUCodeTableLen) {
return &APDUCodeTable[mineqindx];
}