#include "mifaredesfire.h"
#include "des.h"
+#include "BigBuf.h"
#define MAX_APPLICATION_COUNT 28
#define MAX_FILE_COUNT 16
//static uint8_t __res[MAX_FRAME_SIZE];
bool InitDesfireCard(){
-
- byte_t cardbuf[USB_CMD_DATA_SIZE] = {0x00};
- iso14a_card_select_t *card = (iso14a_card_select_t*)cardbuf;
-
- iso14a_set_tracing(TRUE);
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
+ set_tracing(TRUE);
+
+ byte_t cardbuf[USB_CMD_DATA_SIZE] = {0x00};
+ iso14a_card_select_t *card = (iso14a_card_select_t*)cardbuf;
int len = iso14443a_select_card(NULL,card,NULL);
}
if ( flags & CLEARTRACE ){
- iso14a_clear_trace();
+ clear_trace();
}
if ( flags & INIT ){
PCB == 0x0A because sending CID byte.
CID == 0x00 first card?
*/
- iso14a_clear_trace();
- iso14a_set_tracing(TRUE);
+ clear_trace();
+ set_tracing(TRUE);
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
// card select - information
size_t len = 0;
size_t wrappedLen = 0;
- uint8_t wCmd[USB_CMD_DATA_SIZE] = {0};
+ uint8_t wCmd[USB_CMD_DATA_SIZE] = {0x00};
- uint8_t *resp = ((uint8_t *)BigBuf) + RECV_RESP_OFFSET;
- uint8_t *resp_par = ((uint8_t *)BigBuf) + RECV_RESP_PAR_OFFSET;
+ uint8_t resp[MAX_FRAME_SIZE];
+ uint8_t par[MAX_PARITY_SIZE];
wrappedLen = CreateAPDU( cmd, cmd_len, wCmd);
}
ReaderTransmit( wCmd, wrappedLen, NULL);
- len = ReaderReceive(resp, resp_par);
+ len = ReaderReceive(resp, par);
if( len == 0x00 ){
- if (MF_DBGLEVEL >= 4) {
- Dbprintf("fukked");
- }
+ if (MF_DBGLEVEL >= 4) Dbprintf("fukked");
return FALSE; //DATA LINK ERROR
}
// if we received an I- or R(ACK)-Block with a block number equal to the
void OnError(uint8_t reason){
pcb_blocknum = 0;
ReaderTransmit(deselect_cmd, 3 , NULL);
+
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
cmd_send(CMD_ACK,0,reason,0,0,0);
LEDsoff();