40 #include <sys/select.h> 
   41 #include <sys/types.h> 
   44 #include <mraa/uart.h> 
   46 #define ZFM20_DEFAULT_UART 0 
   49 #define ZFM20_START1 0xef 
   50 #define ZFM20_START2 0x01 
   52 #define ZFM20_MAX_PKT_LEN 256 
   54 #define ZFM20_TIMEOUT 5000 // in ms 
   56 #define ZFM20_DEFAULT_PASSWORD 0x00000000 
   57 #define ZFM20_DEFAULT_ADDRESS  0xffffffff 
  101       CMD_LOAD_TMPL                     = 0x07,
 
  102       CMD_UPLOAD_TMPL                   = 0x08,
 
  103       CMD_DOWNLOAD_TMPL                 = 0x09,
 
  104       CMD_UPLOAD_IMAGE                  = 0x0a,
 
  105       CMD_DOWNLOAD_IMAGE                = 0x0b,
 
  106       CMD_DELETE_TMPL                   = 0x0c,
 
  108       CMD_SET_SYSPARAMS                 = 0x0e,
 
  109       CMD_GET_SYSPARAMS                 = 0x0f,
 
  110       CMD_SET_PASSWORD                  = 0x12,
 
  111       CMD_VERIFY_PASSWORD               = 0x13,
 
  112       CMD_GET_RANDOM_NUMBER             = 0x14,
 
  113       CMD_SET_ADDRESS                   = 0x15,
 
  114       CMD_GET_TMPL_COUNT                = 0x1d,
 
  115       CMD_GET_INDEX_TABLE               = 0x1f
 
  121       ERR_PACKET_RX_ERROR               = 0x01,
 
  122       ERR_NO_FINGER                     = 0x02,
 
  123       ERR_FP_IMAGE_FAILED               = 0x03,
 
  124       ERR_FP_TOO_MESSY                  = 0x06,
 
  125       ERR_FP_IMAGE_FEW_FEATURES         = 0x07,
 
  126       ERR_FP_NOMATCH                    = 0x08,
 
  127       ERR_FP_NOTFOUND                   = 0x09,
 
  128       ERR_FP_ENROLLMISMATCH             = 0x0a,
 
  129       ERR_BAD_LOCATION                  = 0x0b,
 
  131       ERR_UPLOAD_FEAT_FAILED            = 0x0d,
 
  132       ERR_NO_MORE_PACKETS               = 0x0e,
 
  133       ERR_UPLOAD_IMG_FAILED             = 0x0f,
 
  134       ERR_RM_TMPL_FAILED                = 0x10,
 
  135       ERR_EMPTY_DB_FAILED               = 0x11,
 
  136       ERR_INVALID_PWD                   = 0x13,
 
  137       ERR_INVALID_IMAGE                 = 0x15,
 
  138       ERR_RW_FLASH_ERROR                = 0x18,
 
  139       ERR_INVALID_REG                   = 0x1a,
 
  140       ERR_INVALID_ADDR                  = 0x20,
 
  141       ERR_NEEDS_PWD                     = 0x21,
 
  143       ERR_INTERNAL_ERR                  = 0xff  
 
  183     int readData(
char *buffer, 
int len);
 
  356     uint8_t 
search(
int slot, uint16_t *
id, uint16_t *score);
 
  365     uint8_t 
match(uint16_t *score);
 
  369     int ttyFd() { 
return m_ttyFd; };
 
  372     mraa_uart_context m_uart;
 
  376     struct timeval m_startTime;
 
uint8_t search(int slot, uint16_t *id, uint16_t *score)
Definition: zfm20.cxx:543
 
uint8_t match(uint16_t *score)
Definition: zfm20.cxx:582
 
bool getResponse(uint8_t *pkt, int len)
Definition: zfm20.cxx:274
 
int writeData(char *buffer, int len)
Definition: zfm20.cxx:126
 
uint8_t storeModel(int slot, uint16_t id)
Definition: zfm20.cxx:481
 
bool setNewPassword(uint32_t pwd)
Definition: zfm20.cxx:365
 
API for the ZFM-20 Fingerprint Sensor Module. 
Definition: zfm20.hpp:90
 
void setPassword(uint32_t pw)
Definition: zfm20.hpp:247
 
uint8_t deleteDB()
Definition: zfm20.cxx:527
 
uint8_t generateImage()
Definition: zfm20.cxx:425
 
bool verifyPassword()
Definition: zfm20.cxx:320
 
ZFM20(int uart)
Definition: zfm20.cxx:36
 
bool verifyPacket(uint8_t *pkt, int len)
Definition: zfm20.cxx:253
 
uint8_t createModel()
Definition: zfm20.cxx:465
 
void setAddress(uint32_t addr)
Definition: zfm20.hpp:240
 
~ZFM20()
Definition: zfm20.cxx:74
 
uint32_t getMillis()
Definition: zfm20.cxx:225
 
int readData(char *buffer, int len)
Definition: zfm20.cxx:105
 
bool setupTty(speed_t baud=B57600)
Definition: zfm20.cxx:156
 
int getNumTemplates()
Definition: zfm20.cxx:341
 
uint8_t image2Tz(int slot)
Definition: zfm20.cxx:441
 
uint8_t deleteModel(uint16_t id)
Definition: zfm20.cxx:507
 
int writeCmdPacket(uint8_t *pkt, int len)
Definition: zfm20.cxx:186
 
bool setNewAddress(uint32_t addr)
Definition: zfm20.cxx:395
 
void initClock()
Definition: zfm20.cxx:220
 
bool dataAvailable(unsigned int millis)
Definition: zfm20.cxx:82