This commit is contained in:
2025-12-12 08:35:20 +01:00
committed by example
parent 356d7de2cf
commit 0ce45a133b
23 changed files with 616 additions and 135 deletions

View File

@@ -11,6 +11,7 @@ enum FingerLogicState
STATE_INIT_VERIFYPASSWORD,
STATE_INIT_READSYSTEMPARAMETERS,
STATE_INIT_SETSYSTEM_SECURITYLEVEL,
STATE_INIT_READTEMPLATEMAP,
STATE_INIT_VERIFYTEMPLATES,
@@ -33,7 +34,9 @@ enum FingerLogicState
STATE_ENROLL_CREATETEMPLATE,
STATE_ENROLL_STORETEMPLATE,
STATE_ENROLL_LOADTEMPLATE,
STATE_ENROLL_DOWNLOADCHARACTERISTICS
STATE_ENROLL_DOWNLOADCHARACTERISTICS,
STATE_SETSYSTEM_SECURITYLEVEL
};
class CFingerLogic
@@ -41,7 +44,7 @@ class CFingerLogic
public:
CFingerLogic(class CMain *pMain);
void Init(CFingerPrint *pFingerPrint);
void OnFingerInterrupt(bool finger);
void OnFinger(bool finger);
bool FingerSlot(uint16_t index);
bool FingerSlot(uint16_t index, bool value);
@@ -50,6 +53,7 @@ public:
void InitFinger();
static void InitFinger_OnVerifyPassword(CFingerLogic *pThis, FingerPrintError error, const char *errorStr);
static void InitFinger_OnReadSystemParameters(CFingerLogic *pThis, FingerPrintError error, const char *errorStr, CFingerSystemParameters *param);
static void InitFinger_OnSetSystemSecurityLevel(CFingerLogic *pThis, FingerPrintError error, const char *errorStr);
static void InitFinger_OnGetTemplates(CFingerLogic *pThis, FingerPrintError error, const char *errorStr);
static void InitFinger_OnReadTemplateMap(CFingerLogic *pThis, FingerPrintError error, const char *errorStr, uint8_t *pData, uint16_t dataLen);
void InitFinger_VerifyTemplates();
@@ -76,6 +80,9 @@ public:
static void EnrollFinger_OnLoadTemplate(CFingerLogic *pThis, FingerPrintError error, const char *errorStr);
static void EnrollFinger_OnDownloadCharacteristics(CFingerLogic *pThis, FingerPrintError error, const char *errorStr, int8_t *pChar, uint16_t charLen);
void SetSecurityLevel(int securityLevel);
static void SetSecurityLevel_OnSetSystemSecurityLevel(CFingerLogic *pThis, FingerPrintError error, const char *errorStr);
CMain &Main() { return *m_pMain; }
CFingerPrint &FingerPrint() { return *m_pFingerPrint; }
@@ -84,11 +91,13 @@ private:
void PowerOff();
void PowerOn();
void SetState(FingerLogicState state);
Timer m_InitTimer;
Timer m_PowerOffTimer;
CMain *m_pMain;
CFingerPrint *m_pFingerPrint;
FingerLogicState m_State;
int m_ErrorCounter;
bool m_Finger;
CFingerSystemParameters m_FingerParams;
@@ -97,7 +106,6 @@ private:
int32_t m_iBuffer;
Timer m_Timer;
void *m_fnUserCallback;
void *m_pUserData;
};