UniFinger SFM series Application Notes [ Fingerprint enrollment using SFR SDK ] Version 1.0 2009 by Suprema Inc.
A. Overview SFR fingerprint readers can be used as enroll station for SFM series. SFR SDK is used to acquire fingerprint templates from SFR readers, then the templates are transferred to SFM modules using UniFinger Packet Protocol or SFM SDK. This application note describes how to enroll templates onto SFM modules using SFR SDK. Especially, it focuses on enrollment procedure for two templates mode, which is the default mode of SFM modules. B. Related documents UniFinger SFM Series Packet Protocol Manual V2.7 UniFinger Engine SFR300 SDK Manual V2.6 UniFinger Engine SFR300 Enroll SDK Manual V2.6 SFM SDK Reference Manual V1.3 C. Enroll mode Five enroll modes are supported, which are divided into 2 categories, one template and two template modes as One template mode Two template mode one time, two times, two times II two templates, two tempates II It is strongly recommended to use two template mode since much better authenticatioin performance is expected in this mode. In the process of enrollment by scan on the module itself, such as ES(Enroll by Scan) process, two templates are automatically stored on the module with the same user ID. When the process of template enrollment is used, such as ET(Enroll by Template) process, two templates should be prepared at host PC and both of them should be 2009 by Suprema Inc. 1
transferred to the module with the same same ID. D. Template acquisition using SFR SDK SFR300 SDK or SFR300 Enroll SDK is used to acquire templates using SFR fingerprint reader. SF_Capture() function should be called to get scanned image on the reader. SF_Enroll() function extracts template for the scanned fingerprint image. For two template modes, repeated process of SF_Capture() and SF_Enroll() is required. It is necessary to check that two fingers are same. Verification can be done by checking return values of SF_EnrollWithVerify() or SF_EnrollTwice2(). [Example Code] int ret; unsigned char m_enrolltemplate1[ SF_TEMPLATESIZE ]; unsigned char m_enrolltemplate2[ SF_TEMPLATESIZE ]; unsigned char m_temptemplate[ SF_TEMPLATESIZE ]; while ( 1 ) { if (!SF_Capture() ) { return; // Error: The acquisition of an image fails. ret = SF_Enroll ( m_enrolltemplate1, NULL, TRUE ); if ( ret == SF_SUCCESS ) { break; // 1 st enrollment succeeds. if ( ret == SF_NOTGOODIMAGE ) { // Warning: The fingerprint image is not good enough for enrollment. // Warning: The core of fingerprint should be placed in the center of SFR reader 2009 by Suprema Inc. 2
while ( SF_IsFingerOn() ); // Wait until a finger is removed on the SFR reader. while ( 1 ) { if (!SF_Capture() ) { return; // Error: The acquisition of an image fails. ret = SF_Enroll ( m_enrolltemplate2, NULL, TRUE ); if ( ret == SF_SUCCESS ) { break; // 2 nd enrollment succeeds if ( ret == SF_NOTGOODIMAGE ) { // Warning: The fingerprint image is not good enough for enrollment. // Warning: The core of fingerprint should be placed in the center of SFR reader If( SF_EnrollTwice2( m_temptemplate, NULL, TRUE ) == SF_SUCCESS ) { // Two fingerprints are verified. Template acquisition complete // Error : Fingerprint mismatch. E. Template enrollment onto the module Templates can be enrolled on the module by ET (Enroll by Template) or ETX (ET with extended data protocol). Two templates can be enrolled simply by sending ET command twice with the same user ID. It is possible to send two templates simultaneously using ETX command with extended data protocol. [ Example ] Enroll first template ( user ID = 0x0123, No option ) 2009 by Suprema Inc. 3
Start Command Param Size Flag Checksum End 0x40 0x07 0x0123 0x180 0x00 0xEC 0x0A + First Template 0x0A Enroll second template ( ADD_NEW option ) Start Command Param Size Flag Checksum End 0x40 0x07 0x0123 0x180 0x71 0x5D 0x0A + Second Template 0x0A Instead of using Packet Protocol directly, SFM SDK can be used to enroll templates on the module. By simply using UF_EnrollMultipleTemplates( ) function, templates can be enrolled on the module from host PC. 2009 by Suprema Inc. 4