fctom1215
2020-02-19 dc2a01d4764efd33a23afcaf4f1d7543dc35c4fa
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);
}