From dc2a01d4764efd33a23afcaf4f1d7543dc35c4fa Mon Sep 17 00:00:00 2001
From: fctom1215 <fctom1215@outlook.com>
Date: 星期三, 19 二月 2020 15:32:57 +0800
Subject: [PATCH] 上坡地图修正

---
 lib/src/main/cpp/mcu/mcu_if.cpp |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/lib/src/main/cpp/mcu/mcu_if.cpp b/lib/src/main/cpp/mcu/mcu_if.cpp
index 9821685..d9bb96a 100644
--- a/lib/src/main/cpp/mcu/mcu_if.cpp
+++ b/lib/src/main/cpp/mcu/mcu_if.cpp
@@ -72,6 +72,7 @@
 static void SendDfuFile(int fileLen, int sentLen, int blockLen, const uint8_t *data);
 static void GoNextDfuLater(union sigval sig);
 static void GoNextDfu(void);
+static void ReadCardTimeout(union sigval sig);
 
 void ParseMcuInit(void)
 {
@@ -369,6 +370,10 @@
             break;
         case ID_MC_RFCARD_RSP:
             DEBUG("ID_MC_RFCARD_RSP");
+            AppTimer_delete(ReadCardTimeout);
+
+            if (lenth > 0)
+                PlatformStatusChanged(CARD_UPDATE_EVT, data, lenth);
             break;
         default:
             break;
@@ -484,3 +489,28 @@
         GoNextDfu();
     }
 }
+
+static int readCartCnt = 0;
+
+static void ReadCardTimeout(union sigval sig) {
+    AppTimer_delete(ReadCardTimeout);
+
+    readCartCnt++;
+
+    if (readCartCnt < 2) {
+        AppTimer_add(ReadCardTimeout, D_SEC(3));
+        SendMcuCommand(ID_CM_READ_RFCARD, NULL, 0);
+    } else {
+        uint8_t data[8] = {0};
+        PlatformStatusChanged(CARD_UPDATE_EVT, data, sizeof(data));
+    }
+}
+
+void ReadCard(void)
+{
+    readCartCnt = 0;
+
+    AppTimer_delete(ReadCardTimeout);
+    AppTimer_add(ReadCardTimeout, D_SEC(3));
+    SendMcuCommand(ID_CM_READ_RFCARD, NULL, 0);
+}

--
Gitblit v1.8.0