瀏覽代碼

Merge seader from https://github.com/bettse/seader

Willy-JL 1 年之前
父節點
當前提交
76e86268ce
共有 2 個文件被更改,包括 6 次插入2 次删除
  1. 1 1
      seader/ccid.c
  2. 5 1
      seader/seader_worker.c

+ 1 - 1
seader/ccid.c

@@ -265,7 +265,7 @@ size_t seader_ccid_process(Seader* seader, uint8_t* cmd, size_t cmd_len) {
             FURI_LOG_W(
                 TAG,
                 "Invalid LRC.  Recv: %02x vs Calc: %02x",
-                cmd[2 + 10 + message.dwLength + 1],
+                cmd[2 + 10 + message.dwLength],
                 seader_calc_lrc(cmd, 2 + 10 + message.dwLength));
             // TODO: Should I respond with an error?
             return message.consumed;

+ 5 - 1
seader/seader_worker.c

@@ -7,7 +7,7 @@
 
 #define APDU_HEADER_LEN 5
 #define ASN1_PREFIX     6
-#define ASN1_DEBUG      true
+// #define ASN1_DEBUG      true
 
 #define RFAL_PICOPASS_TXRX_FLAGS                                                    \
     (FURI_HAL_NFC_LL_TXRX_FLAGS_CRC_TX_MANUAL | FURI_HAL_NFC_LL_TXRX_FLAGS_AGC_ON | \
@@ -384,6 +384,10 @@ NfcCommand seader_worker_poller_callback_picopass(PicopassPollerEvent event, voi
             seader_worker_poller_conversation(seader, &spc);
         } else if(seader_worker->stage == SeaderPollerEventTypeComplete) {
             ret = NfcCommandStop;
+        } else if(seader_worker->stage == SeaderPollerEventTypeFail) {
+            view_dispatcher_send_custom_event(
+                seader->view_dispatcher, SeaderCustomEventWorkerExit);
+            ret = NfcCommandStop;
         }
     } else if(event.type == PicopassPollerEventTypeFail) {
         ret = NfcCommandStop;