Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
en:configuration_api [2020/02/18 10:16]
yjjung [BS2SystemConfig]
en:configuration_api [2020/08/28 13:18]
yjjung [BS2FaceConfig]
Line 68: Line 68:
   * [[BS2_GetIPV6ConfigViaUDPEx]]:​ [+ 2.6.3] Retrieves IPv6 configuration through UDP broadcast with host IP.    * [[BS2_GetIPV6ConfigViaUDPEx]]:​ [+ 2.6.3] Retrieves IPv6 configuration through UDP broadcast with host IP. 
   * [[BS2_SetIPV6ConfigViaUDPEx]]:​ [+ 2.6.3] Stores IPv6 configuration through UDP broadcast with host IP.    * [[BS2_SetIPV6ConfigViaUDPEx]]:​ [+ 2.6.3] Stores IPv6 configuration through UDP broadcast with host IP. 
 +  * [[BS2_GetDesFireCardConfigEx]]:​ [+ V2.6.4] Retrieves DesFire advanced configuration from the device.
 +  * [[BS2_SetDesFireCardConfigEx]]:​ [+ V2.6.4] Sets DesFire advanced configuration in the device.
 +  * [[BS2_GetAuthConfigExt]]:​ ''​FaceStation F2''​ Retrieves authentication settings from the device. [+ V2.7.1]
 +  * [[BS2_SetAuthConfigExt]]:​ ''​FaceStation F2''​ Stores authentication settings from the device. [+ V2.7.1]
 +  * [[BS2_GetFaceConfigExt]]:​ ''​FaceStation F2, FaceStation2''​ Retrieves configuration of thermal camera and mask detection. [+ V2.7.1]
 +  * [[BS2_SetFaceConfigExt]]:​ ''​FaceStation F2, FaceStation2''​ Stores configuration of thermal camera and mask detection. [+ V2.7.1]
 +  * [[BS2_GetThermalCameraConfig]]:​ ''​FaceStation F2, FaceStation2''​ Retrieves configuration of thermal camera. [+ V2.7.1]
 +  * [[BS2_SetThermalCameraConfig]]:​ ''​FaceStation F2, FaceStation2''​ Stores configuration of thermal camera. [+ V2.7.1]
 +
 \\ \\
 ===== Structure ===== ===== Structure =====
Line 121: Line 130:
  
 ==== BS2SystemConfig ==== ==== BS2SystemConfig ====
-[[BS2_SetSystemConfig]] must be called after calling [[BS2_GetSystemConfig]] and completing necessary settings except for tamperOn. ​ \\ 
 <code cpp> <code cpp>
 typedef struct { typedef struct {
Line 151: Line 159:
 Reserved variable. \\ \\ Reserved variable. \\ \\
 **5. //​deviceLocked//​** \\  **5. //​deviceLocked//​** \\ 
-Decides whether to show lock screen in stand-by mode. \\ \\ +Indicates the current locked state of the device(Read only filed) ​\\ \\ 
 **6. //​useInterphone//​** \\  **6. //​useInterphone//​** \\ 
 Decides whether to use intercom. \\ \\  Decides whether to use intercom. \\ \\ 
Line 177: Line 185:
 **14. //​reserved//​** \\  **14. //​reserved//​** \\ 
 Reserved space. \\ \\  Reserved space. \\ \\ 
-15. //​useCardOperationMask//​ \\+**15. //​useCardOperationMask//​** \\
 [+ V2.6.4] Provides a card selective option not to read all kinds of cards from the device. \\ [+ V2.6.4] Provides a card selective option not to read all kinds of cards from the device. \\
 You can select multiple cards using MASK. The user can select or deselect of a specific card reading option using this option. \\ You can select multiple cards using MASK. The user can select or deselect of a specific card reading option using this option. \\
Line 363: Line 371:
     uint8_t timeFormat;     uint8_t timeFormat;
     uint8_t homeFormation;​     uint8_t homeFormation;​
-    ​uint8_t ​useUserPhrase;​ +    ​BS2_BOOL ​useUserPhrase;​ 
-    ​uint8_t reserved[1];+    ​BS2_BOOL queryUserPhrase;
     uint8_t shortcutHome[BS2_MAX_SHORTCUT_HOME];​     uint8_t shortcutHome[BS2_MAX_SHORTCUT_HOME];​
     uint8_t tnaIcon[16];​     uint8_t tnaIcon[16];​
Line 436: Line 444:
 **13. //​useUserPhrase//​** \\  **13. //​useUserPhrase//​** \\ 
 Flag that determines whether to use the user phrase feature. \\ \\  Flag that determines whether to use the user phrase feature. \\ \\ 
-**14. //​shortcutHome//​** \\  +**13. //​queryUserPhrase//​** \\  
-Home screen layout(Currently, not used). \\ \\  +If set true, asks for the user phrase to the server. \\ \\  
-**15. //​tnaIcon//​** \\ +**15. //​shortcutHome//​** \\  
 +Home screen layout(Going to apply later, not used currently). \\ \\  
 +**16. //​tnaIcon//​** \\ 
 Icon displayed on the device corresponding to the job code. \\ \\ Icon displayed on the device corresponding to the job code. \\ \\
-**16. //​reserved1//​** \\ +**17. //​reserved1//​** \\ 
 Reserved space. \\  Reserved space. \\ 
  
Line 691: Line 701:
 Reserved space. \\  ​ Reserved space. \\  ​
 </​WRAP>​ </​WRAP>​
 +
 ==== BS2FingerprintConfig ==== ==== BS2FingerprintConfig ====
 <code cpp> <code cpp>
 typedef struct { typedef struct {
-    uint8_t securityLevel;​ +    uint8_t ​     securityLevel;​ 
-    uint8_t fastMode; +    uint8_t ​     fastMode; 
-    uint8_t sensitivity;​ +    uint8_t ​     sensitivity;​ 
-    uint8_t sensorMode;​ +    uint8_t ​     sensorMode;​ 
-    uint16_t templateFormat;​ +    uint16_t ​    ​templateFormat;​ 
-    uint16_t scanTimeout;​ +    uint16_t ​    ​scanTimeout;​ 
-    uint8_t successiveScan;​ +    uint8_t ​     successiveScan;​ 
-    uint8_t advancedEnrollment;​ +    uint8_t ​     advancedEnrollment;​ 
-    uint8_t showImage;​ +    uint8_t ​     showImage;​ 
-    uint8_t lfdLevel; +    uint8_t ​     lfdLevel; 
-    uint8_t ​reserved1[32];+    bool         ​checkDuplicate;​ 
 + 
 +    uint8_t ​     ​reserved3[31];
 } BS2FingerprintConfig;​ } BS2FingerprintConfig;​
 </​code>​ </​code>​
Line 756: Line 769:
 Decides whether to display scanned fingerprint image on the screen. \\ \\  Decides whether to display scanned fingerprint image on the screen. \\ \\ 
 **10. //​lfdLevel//​** \\  **10. //​lfdLevel//​** \\ 
-Configuration for the LFD sensitivity. \\+Configuration for the LFD(Live Fingerprint Detection - fake fingerprint detection) ​sensitivity. \\
 <WRAP group 50%> <WRAP group 50%>
 ^Value ​ ^Description ​ ^ ^Value ​ ^Description ​ ^
Line 764: Line 777:
 |3  |Most Strict ​ | |3  |Most Strict ​ |
 </​WRAP>​ </​WRAP>​
-**11. //reserved1//** \\  +**11. //checkDuplicate//​** \\ 
-Reserved space.+[+ V2.6.4] If set to true, it will determine if the fingerprint is a duplicate. \\ \\ 
 +**12. //reserved3//** \\  
 +Reserved space. ​\\ \\
  
 ==== BS2Rs485Config ==== ==== BS2Rs485Config ====
Line 1335: Line 1350:
 |11|Led action| |11|Led action|
 |12|Fire alarm input| |12|Fire alarm input|
 +|13|Auth Success(Access granted)|
 +|14|Auth Fail(Access denied)|
 +|15|Lift action|
 </​WRAP>​ </​WRAP>​
 27. //​stopFlag//​ \\  27. //​stopFlag//​ \\ 
Line 1554: Line 1572:
 <code cpp> <code cpp>
 typedef struct { typedef struct {
- BS2_FACE_SECURITY_LEVEL ​      securityLevel;​  +    uint8_t ​      securityLevel;​ 
- BS2_FACE_LIGHT_CONDITON ​      lightCondition;​  +    ​uint8_t ​      lightCondition;​ 
- BS2_FACE_ENROLL_THRESHOLD ​    enrollThreshold;​  +    ​uint8_t ​      enrollThreshold;​ 
- BS2_FACE_DETECT_SENSITIVITY ​  detectSensitivity;​ +    ​uint8_t ​      detectSensitivity;​
  
- uint16_t ​                     enrollTimeout;​  +    ​uint16_t ​     enrollTimeout;​ 
- uint8_t ​                      reserved3[32]; +    uint8_t ​      lfdLevel; 
 +    bool          quickEnrollment;​ 
 + 
 +    uint8_t ​      ​previewOption;​ 
 +    bool          checkDuplicate;​ 
 +    uint8_t ​      ​operationMode;​ 
 +    uint8_t ​      ​maxRotation;​ 
 + 
 +    struct { 
 +        uint16_t ​ min; 
 +        uint16_t ​ max; 
 +    } faceWidth;​ 
 + 
 +    struct { 
 +        uint16_t ​ x; 
 +        uint16_t ​ width; 
 +    } searchRange;​ 
 + 
 +    uint8_t ​      ​reserved2[18];
 } BS2FaceConfig;​ } BS2FaceConfig;​
 </​code>​ </​code>​
-1. //​securityLevel//​ \\ +**1. //​securityLevel//​** \\ 
 Face authentication security level. This is used across the system. . \\  Face authentication security level. This is used across the system. . \\ 
 <WRAP group 50%> <WRAP group 50%>
Line 1571: Line 1607:
 |2  |Most highly secure ​ | |2  |Most highly secure ​ |
 </​WRAP>​ </​WRAP>​
-2. //​lightCondition//​ \\ +**2. //​lightCondition//​** \\ 
 Configuration of the light condition.\\ ​ Configuration of the light condition.\\ ​
 <WRAP group 50%> <WRAP group 50%>
Line 1579: Line 1615:
 |2  |Automatic ​ | |2  |Automatic ​ |
 </​WRAP>​ </​WRAP>​
-3. //​enrollThreshold//​ \\  +**3. //​enrollThreshold//​** \\  
-Threshold of face enrollment.\\ ​+Threshold of face enrollment. ​It determines how much movement of pose is allowed when enrolling the face.  ​\\ 
 <WRAP group 50%> <WRAP group 50%>
 ^Value ​ ^Description ​ ^ ^Value ​ ^Description ​ ^
-|0  |THRESHOLD_0 ​ |+|0  |THRESHOLD_0 ​(Most strict) ​|
 |1  |THRESHOLD_1 | |1  |THRESHOLD_1 |
 |2  |THRESHOLD_2 ​ | |2  |THRESHOLD_2 ​ |
Line 1592: Line 1628:
 |7  |THRESHOLD_7 ​ | |7  |THRESHOLD_7 ​ |
 |8  |THRESHOLD_8 ​ | |8  |THRESHOLD_8 ​ |
-|9  |THRESHOLD_9 ​ |+|9  |THRESHOLD_9 ​(Least strict) ​|
 </​WRAP> ​ </​WRAP> ​
-4. //​detectSensitivity//​ \\ +**4. //​detectSensitivity//​** \\ 
 Configuration of sensitivity on detecting the face. \\  Configuration of sensitivity on detecting the face. \\ 
 <WRAP group 50%> <WRAP group 50%>
Line 1603: Line 1639:
 |3  |High  | |3  |High  |
 </​WRAP>​ </​WRAP>​
-5. //​enrollTimeout//​ \\  +**5. //​enrollTimeout//​** \\  
-Timeout period of face scanning which is 60 seconds by default.\\ \\ +''​FaceStation2,​ FaceLite''​ : Timeout period of face scanning which is 60 seconds by default.\\ \\ 
-6. //​reserved3//​ \\  +<WRAP group 60%> 
-Reserved space.\\ \\+^Value ​ ^Description ​ ^ 
 +|BS2_FACE_ENROLL_TIMEOUT_MIN ​ |30  | 
 +|BS2_FACE_ENROLL_TIMEOUT_MAX ​ |60  | 
 +|BS2_FACE_ENROLL_TIMEOUT_DEFAULT ​ |BS2_FACE_ENROLL_TIMEOUT_MAX ​ | 
 +</WRAP> 
 +''​FaceStation F2''​ : [+ V2.7.1] Face scan wait time, default is 20 seconds. \\  
 +<WRAP group 70%> 
 +^Value ​ ^Description ​ ^ 
 +|BS2_FACE_EX_ENROLL_TIMEOUT_MIN ​ |10  | 
 +|BS2_FACE_EX_ENROLL_TIMEOUT_MAX ​ |20  | 
 +|BS2_FACE_EX_ENROLL_TIMEOUT_DEFAULT ​ |BS2_FACE_EX_ENROLL_TIMEOUT_MAX ​ | 
 +</​WRAP>​
  
 +
 +**6. //​lfdLevel//​** \\
 +[+ V2.6.3] Configuration for the LFD(Live Face Detection - fake face detection) sensitivity. \\
 +''​FaceStation2,​ FaceLite''​ : Default is 0. \\
 +''​FaceStation F2''​ : [+ V2.7.1] Default is 1. \\
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |Not Use  |
 +|1  |Strict ​ |
 +|2  |More Strict ​ |
 +|3  |Most Strict ​ |
 +</​WRAP>​
 +**7. //​quickEnrollment//​** \\
 +[+ V2.6.3] Quick face enrollment process. \\
 +True - Face enrollment process with a single step.\\
 +False - Face enrollment process with 3 steps.\\
 +Please use false if you want to enroll with a high quality of face templates. \\ \\
 +**8. //​previewOption//​** \\
 +[+ V2.6.3] IR camera preview option when you authenticate with the face. \\
 +Only used to ''​FaceLite''​. \\
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |Preview not used  |
 +|1  |Preview not used at first of authentication,​ preview at 1/2 stage  |
 +|2  |Preview of all stages on authentication ​ |
 +</​WRAP>​
 +**9. //​checkDuplicate//​** \\
 +[+ V2.6.4] Check whether the scanned face is duplicated in the device. \\ \\
 +
 +**10. //​operationMode//​** \\ 
 +[+ V2.7.1] ''​FaceStation F2''​ Configures operation mode with below values, default is Fusion mode. \\ 
 +<WRAP group 50%>
 +^Value ​ ^Mode  ^Description ​ ^Default ​ ^
 +|0  |Fusion Mode |Visual matching + IR matching |Default |
 +|1  |Visual Mode |Visual matching | |
 +|2  |Visual + IR |Visual matching, IR detects only face| |
 +</​WRAP> ​
 +
 +**11. //​maxRotation//​** \\ 
 +[+ V2.7.1] ''​FaceStation F2''​ When face is recognized normally it's front side. \\
 +Still, it is possible to determine how many degrees the image has been rotated from the front when FSF2 detects a face. \\
 +This enables detection failure in the case of images rotated over a certain angle. \\
 +maxRotation represents the maximum allowable value in this case, and the default value is 15 degrees. \\ \\
 +
 +**12. //​faceWidth//​** \\ 
 +[+ V2.7.1] ''​FaceStation F2''​ This indicates the width of the face image, and you can specify the minimum and maximum values. \\
 +The minimum and maximum values default to 66 and 250. \\ \\
 +
 +**13. //​searchRange//​** \\
 +[+ V2.7.1] ''​FaceStation F2''​ Represents the face search range, and you can specify the x value (horizontal coordinate) of the range and the width from the x value point. \\
 +The default values for x value and width are 144 and 432. \\ \\
 +14. //​reserved2//​ \\ 
 +Reserved space.\\ \\
 ==== BS2Rs485ConfigEX ==== ==== BS2Rs485ConfigEX ====
 <code cpp> <code cpp>
Line 1824: Line 1924:
 |0xFFFFFFFF|All configuration| |0xFFFFFFFF|All configuration|
 </​WRAP>​ </​WRAP>​
 +
 +==== BS2IPV6Config ====
 +<code cpp>
 +enum {
 +    BS2_MAX_IPV6_ALLOCATED_ADDR = 8,
 +};
 +
 +typedef struct {
 +    uint8_t useIPV6;
 +    uint8_t reserved1;
 +    uint8_t useDhcpV6;
 +    uint8_t useDnsV6;
 +    uint8_t reserved[1];​
 +    char staticIpAddressV6[BS2_IPV6_ADDR_SIZE];​
 +    char staticGatewayV6[BS2_IPV6_ADDR_SIZE];​
 +    char dnsAddrV6[BS2_IPV6_ADDR_SIZE];​
 +    char serverIpAddressV6[BS2_IPV6_ADDR_SIZE];​
 +    uint16_t serverPortV6;​
 +    uint16_t sslServerPortV6;​
 +    uint16_t portV6;
 +    uint8_t numOfAllocatedAddressV6;​
 +    uint8_t numOfAllocatedGatewayV6;​
 +    uint8_t reserved[8];​
 +    char allocatedIpAddressV6[BS2_IPV6_ADDR_SIZE][BS2_MAX_IPV6_ALLOCATED_ADDR];​
 +    char allocatedGatewayV6[BS2_IPV6_ADDR_SIZE][BS2_MAX_IPV6_ALLOCATED_ADDR];​
 +} BS2IpConfig;​
 +</​code>​
 +1. //useIPV6// \\ 
 +Flag indicating whether to use IP V6. \\ \\ 
 +2. //​reserved1//​ \\ 
 +Reserved space. \\ \\
 +3. //​useDhcpV6//​ \\ 
 +Flag indicating whether to use DHCP. \\ \\ 
 +4. //​useDnsV6//​ \\ 
 +Decides whether to use server address or server URL. \\ \\ 
 +5. //​staticIpAddressV6//​ \\ 
 +Static IP V6 address of current device. \\ \\ 
 +6. //​staticGatewayV6//​ \\ 
 +Static IP V6 address of gateway. \\ \\ 
 +7. //​dnsAddrV6//​ \\ 
 +DNS address. \\ \\ 
 +8. //​serverIpAddressV6//​ \\ 
 +IP address of BioStar. Used only in the server mode. \\ \\ 
 +9. //​serverPortV6//​ \\ 
 +Port number of BioStar. Used only in the server mode. \\ \\ 
 +10. //​sslServerPortV6//​ \\ 
 +Used when the connectionMode is set as server SSL mode, which is the port of the SDK application. \\ \\ 
 +11. //portV6// \\ 
 +Port number of the device. \\ \\ 
 +12. //​numOfAllocatedAddressV6//​ \\ 
 +The number of IP V6 address currently assigned to the device. \\ \\ 
 +13. //​numOfAllocatedGatewayV6//​ \\ 
 +The number of gateway address currently assigned to the device. \\ \\ 
 +14. //​reserved//​ \\ 
 +Reserved space. \\ \\
 +15. //​allocatedIpAddressV6//​ \\ 
 +The IP V6 address currently assigned to the device. \\ \\
 +16. //​allocatedGatewayV6//​ \\ 
 +The gateway address currently assigned to the device.\\ \\
 +
 +==== BS2DesFireCardConfigEx ====
 +<code cpp>
 +typedef struct {
 +    uint8_t appMasterKey[16];​
 +    uint8_t fileReadKey[16];​
 +    uint8_t fileWriteKey[16];​
 +    uint8_t fileReadKeyNumber;​
 +    uint8_t fileWriteKeyNumber;​
 +    uint8_t reserved[2];​
 +} BS2DesFireAppLevelKey; ​                ///<​ 52 bytes
 +
 +typedef struct {
 +    BS2DesFireAppLevelKey desfireAppKey; ​   ///< 52 bytes
 +    uint8_t reserved[16];​
 +} BS2DesFireCardConfigEx; ​                  ///<​ 68 bytes
 +</​code>​
 +1. //​appMasterKey//​ \\ 
 +Application master key of DesFire. \\ \\ 
 +2. //​fileReadKey//​ \\ 
 +The key used to read the file. \\ \\ 
 +3. //​fileWriteKey//​ \\ 
 +The key used to write the file. \\ \\ 
 +4. //​fileReadKeyNumber//​ \\ 
 +The index of the key for reading the file. \\ \\ 
 +5. //​fileWriteKeyNumber//​ \\ 
 +The index of the key for writing the file. \\ \\ 
 +6. //​reserved//​ \\ 
 +Reserved space. \\ \\
 +7. //​desfireAppKey//​ \\ 
 +A structure containing DesFire key information. \\ \\ 
 +8. //​reserved//​ \\
 +Reserved space. \\