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