+ FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);\r
+ LEDsoff();\r
+}\r
+\r
+\r
+void MifareUC_Auth1(uint8_t arg0, uint8_t *datain){\r
+\r
+ byte_t isOK = 0;\r
+ byte_t dataoutbuf[16] = {0x00};\r
+ uint8_t uid[10] = {0x00};\r
+ uint32_t cuid;\r
+\r
+ LED_A_ON();\r
+ LED_B_OFF();\r
+ LED_C_OFF();\r
+ \r
+ clear_trace();\r
+ iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);\r
+\r
+ if(!iso14443a_select_card(uid, NULL, &cuid)) {\r
+ if (MF_DBGLEVEL >= MF_DBG_ERROR)\r
+ Dbprintf("Can't select card");\r
+ //OnError(0);\r
+ return;\r
+ };\r
+ \r
+ if(mifare_ultra_auth1(cuid, dataoutbuf)){\r
+ if (MF_DBGLEVEL >= MF_DBG_ERROR) \r
+ Dbprintf("Authentication part1: Fail.");\r
+ //OnError(1);\r
+ return;\r
+ }\r
+\r
+ isOK = 1;\r
+ if (MF_DBGLEVEL >= MF_DBG_EXTENDED)\r
+ DbpString("AUTH 1 FINISHED");\r
+ \r
+ cmd_send(CMD_ACK,isOK,cuid,0,dataoutbuf,11);\r
+ LEDsoff();\r
+}\r
+void MifareUC_Auth2(uint32_t arg0, uint8_t *datain){\r
+\r
+ uint32_t cuid = arg0;\r
+ uint8_t key[16] = {0x00};\r
+ byte_t isOK = 0;\r
+ byte_t dataoutbuf[16] = {0x00};\r
+ \r
+ memcpy(key, datain, 16);\r
+ \r
+ LED_A_ON();\r
+ LED_B_OFF();\r
+ LED_C_OFF();\r
+ \r
+ if(mifare_ultra_auth2(cuid, key, dataoutbuf)){\r
+ if (MF_DBGLEVEL >= MF_DBG_ERROR) \r
+ Dbprintf("Authentication part2: Fail...");\r
+ //OnError(1);\r
+ return; \r
+ }\r
+ \r
+ isOK = 1;\r
+ if (MF_DBGLEVEL >= MF_DBG_EXTENDED)\r
+ DbpString("AUTH 2 FINISHED");\r
+ \r
+ cmd_send(CMD_ACK,isOK,0,0,dataoutbuf,11);\r