38 #include <sys/select.h> 39 #include <sys/types.h> 43 #include "upm_utilities.h" 45 #define ZFM20_DEFAULT_UART 0 48 #define ZFM20_START1 0xef 49 #define ZFM20_START2 0x01 51 #define ZFM20_MAX_PKT_LEN 256 53 #define ZFM20_TIMEOUT 5000 // in ms 55 #define ZFM20_DEFAULT_PASSWORD 0x00000000 56 #define ZFM20_DEFAULT_ADDRESS 0xffffffff 100 CMD_LOAD_TMPL = 0x07,
101 CMD_UPLOAD_TMPL = 0x08,
102 CMD_DOWNLOAD_TMPL = 0x09,
103 CMD_UPLOAD_IMAGE = 0x0a,
104 CMD_DOWNLOAD_IMAGE = 0x0b,
105 CMD_DELETE_TMPL = 0x0c,
107 CMD_SET_SYSPARAMS = 0x0e,
108 CMD_GET_SYSPARAMS = 0x0f,
109 CMD_SET_PASSWORD = 0x12,
110 CMD_VERIFY_PASSWORD = 0x13,
111 CMD_GET_RANDOM_NUMBER = 0x14,
112 CMD_SET_ADDRESS = 0x15,
113 CMD_GET_TMPL_COUNT = 0x1d,
114 CMD_GET_INDEX_TABLE = 0x1f
120 ERR_PACKET_RX_ERROR = 0x01,
121 ERR_NO_FINGER = 0x02,
122 ERR_FP_IMAGE_FAILED = 0x03,
123 ERR_FP_TOO_MESSY = 0x06,
124 ERR_FP_IMAGE_FEW_FEATURES = 0x07,
125 ERR_FP_NOMATCH = 0x08,
126 ERR_FP_NOTFOUND = 0x09,
127 ERR_FP_ENROLLMISMATCH = 0x0a,
128 ERR_BAD_LOCATION = 0x0b,
130 ERR_UPLOAD_FEAT_FAILED = 0x0d,
131 ERR_NO_MORE_PACKETS = 0x0e,
132 ERR_UPLOAD_IMG_FAILED = 0x0f,
133 ERR_RM_TMPL_FAILED = 0x10,
134 ERR_EMPTY_DB_FAILED = 0x11,
135 ERR_INVALID_PWD = 0x13,
136 ERR_INVALID_IMAGE = 0x15,
137 ERR_RW_FLASH_ERROR = 0x18,
138 ERR_INVALID_REG = 0x1a,
139 ERR_INVALID_ADDR = 0x20,
140 ERR_NEEDS_PWD = 0x21,
142 ERR_INTERNAL_ERR = 0xff
158 ZFM20(
int uart,
int baud = 57600);
166 ZFM20(std::string uart_raw,
int baud = 57600);
183 int readData(
char *buffer,
int len);
201 bool setupTty(uint32_t baud = 57600);
356 uint8_t
search(
int slot, uint16_t &
id, uint16_t &score);
365 uint8_t
match(uint16_t &score);
uint8_t search(int slot, uint16_t &id, uint16_t &score)
Definition: zfm20.cxx:404
bool getResponse(uint8_t *pkt, int len)
Definition: zfm20.cxx:157
int writeData(char *buffer, int len)
Definition: zfm20.cxx:77
uint8_t storeModel(int slot, uint16_t id)
Definition: zfm20.cxx:345
bool setNewPassword(uint32_t pwd)
Definition: zfm20.cxx:238
bool setupTty(uint32_t baud=57600)
Definition: zfm20.cxx:93
API for the ZFM-20 Fingerprint Sensor Module.
Definition: zfm20.hpp:89
void setPassword(uint32_t pw)
Definition: zfm20.hpp:247
uint8_t deleteDB()
Definition: zfm20.cxx:388
uint8_t generateImage()
Definition: zfm20.cxx:292
bool verifyPassword()
Definition: zfm20.cxx:197
bool verifyPacket(uint8_t *pkt, int len)
Definition: zfm20.cxx:142
ZFM20(int uart, int baud=57600)
Definition: zfm20.cxx:36
uint8_t createModel()
Definition: zfm20.cxx:329
C++ API wrapper for the bh1749 driver.
Definition: a110x.hpp:29
void setAddress(uint32_t addr)
Definition: zfm20.hpp:240
uint32_t getMillis()
Definition: zfm20.cxx:137
int readData(char *buffer, int len)
Definition: zfm20.cxx:63
virtual ~ZFM20()
Definition: zfm20.hpp:171
int getNumTemplates()
Definition: zfm20.cxx:218
uint8_t image2Tz(int slot)
Definition: zfm20.cxx:308
uint8_t deleteModel(uint16_t id)
Definition: zfm20.cxx:368
int writeCmdPacket(uint8_t *pkt, int len)
Definition: zfm20.cxx:98
bool setNewAddress(uint32_t addr)
Definition: zfm20.cxx:265
uint8_t match(uint16_t &score)
Definition: zfm20.cxx:440
void initClock()
Definition: zfm20.cxx:132