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
en:configuration_api [2023/02/28 14:39]
mwkim
en:configuration_api [2024/05/28 19:37] (current)
kkshin
Line 70: Line 70:
   * [[BS2_GetDesFireCardConfigEx]]:​ [+ 2.6.4] Retrieves DesFire advanced configuration from the device.   * [[BS2_GetDesFireCardConfigEx]]:​ [+ 2.6.4] Retrieves DesFire advanced configuration from the device.
   * [[BS2_SetDesFireCardConfigEx]]:​ [+ 2.6.4] Sets DesFire advanced configuration in the device.   * [[BS2_SetDesFireCardConfigEx]]:​ [+ 2.6.4] Sets DesFire advanced configuration in the device.
-  * [[BS2_GetAuthConfigExt]]:​ [+ 2.7.1] ''​FaceStation F2''​ Retrieves authentication settings from the device. +  * [[BS2_GetAuthConfigExt]]:​ [+ 2.7.1] ''​Visual Face-based devices''​ Retrieves authentication settings from the device. 
-  * [[BS2_SetAuthConfigExt]]:​ [+ 2.7.1] ''​FaceStation F2''​ Stores authentication settings from the device. +  * [[BS2_SetAuthConfigExt]]:​ [+ 2.7.1] ''​Visual Face-based devices''​ Stores authentication settings from the device. 
-  * [[BS2_GetFaceConfigExt]]:​ [+ 2.7.1] ​''​FaceStation F2, FaceStation2'' ​Retrieves configuration of thermal camera and mask detection. +  * [[BS2_GetFaceConfigExt]]:​ [+ 2.7.1] Retrieves configuration of thermal camera and mask detection. 
-  * [[BS2_SetFaceConfigExt]]:​ [+ 2.7.1] ​''​FaceStation F2, FaceStation2'' ​Stores configuration of thermal camera and mask detection. +  * [[BS2_SetFaceConfigExt]]:​ [+ 2.7.1] Stores configuration of thermal camera and mask detection. 
-  * [[BS2_GetThermalCameraConfig]]:​ [+ 2.7.1] ​''​FaceStation F2, FaceStation2'' ​Retrieves configuration of thermal camera. +  * [[BS2_GetThermalCameraConfig]]:​ [+ 2.7.1] Retrieves configuration of thermal camera. 
-  * [[BS2_SetThermalCameraConfig]]:​ [+ 2.7.1] ​''​FaceStation F2, FaceStation2'' ​Stores configuration of thermal camera.+  * [[BS2_SetThermalCameraConfig]]:​ [+ 2.7.1] Stores configuration of thermal camera.
   * [[BS2_GetBarcodeConfig]]:​ [+ 2.8] ''​X-Station 2''​ Retrieves configuration of Barcode.   * [[BS2_GetBarcodeConfig]]:​ [+ 2.8] ''​X-Station 2''​ Retrieves configuration of Barcode.
   * [[BS2_SetBarcodeConfig]]:​ [+ 2.8] ''​X-Station 2''​ Stores configuration of Barcode.   * [[BS2_SetBarcodeConfig]]:​ [+ 2.8] ''​X-Station 2''​ Stores configuration of Barcode.
Line 82: Line 82:
   * [[BS2_GetRelayActionConfig]]:​​ [+ 2.8.1] ''​​IM-120''​​ Retrieves Configuration related to the RelayAction.   * [[BS2_GetRelayActionConfig]]:​​ [+ 2.8.1] ''​​IM-120''​​ Retrieves Configuration related to the RelayAction.
   * [[BS2_SetRelayActionConfig]]:​​ [+ 2.8.1] ''​​IM-120''​​ Retrieves Configuration related to the RelayAction.   * [[BS2_SetRelayActionConfig]]:​​ [+ 2.8.1] ''​​IM-120''​​ Retrieves Configuration related to the RelayAction.
 +  * [[BS2_GetVoipConfigExt]]:​ [+ 2.8.3] Gets the extended VoIP settings.
 +  * [[BS2_SetVoipConfigExt]]:​ [+ 2.8.3] Save the extended VoIP settings.
 +  * [[BS2_GetRtspConfig]]:​ [+ 2.8.3] Gets the RTSP settings.
 +  * [[BS2_SetRtspConfig]]:​ [+ 2.8.3] Save the RTSP settings.
 +  * [[BS2_GetLicenseConfig]]:​ [+ 2.9.1] Gets the device license activation information.
 +  * [[BS2_GetOsdpStandardConfig]]:​ [+ 2.9.1] Get the device'​s OSDP setting information.
 +  * [[BS2_GetOsdpStandardActionConfig]]:​ [+ 2.9.1] Get the LED/buzzer settings for each action of the OSDP device.
 +  * [[BS2_SetOsdpStandardActionConfig]]:​ [+ 2.9.1] Specifies the LED/buzzer setting for each action of the OSDP device.
 +  * [[BS2_GetCustomCardConfig]]:​ [+ 2.9.4] Retrieves Custom smart card settings.
 +  * [[BS2_SetCustomCardConfig]]:​ [+ 2.9.4] Stores Custom smart card settings.
 \\ \\
 ===== Structure ===== ===== Structure =====
Line 160: Line 170:
 Represents standard time zone in seconds. \\ \\  Represents standard time zone in seconds. \\ \\ 
 **3. //​syncTime//​** \\  **3. //​syncTime//​** \\ 
-Stores when synchronization with BioStar ​has occurred. \\ \\ +This is a FLAG that determines time synchronization with the BioStar ​Server. \\ \\ 
 **4. //​serverSync//​** \\  **4. //​serverSync//​** \\ 
 Reserved variable. \\ \\ Reserved variable. \\ \\
Line 196: Line 206:
 Also, the required card type MASK should be combined with ''​CARD_OPERATION_USE''​. \\ Also, the required card type MASK should be combined with ''​CARD_OPERATION_USE''​. \\
 For example, useCardOperationMask needs to be configured ''​x0x80000001''​ when EM card is selected only. For example, useCardOperationMask needs to be configured ''​x0x80000001''​ when EM card is selected only.
-<WRAP group 50%>+<WRAP group 60%>
 ^Value ​ ^Description ^ ^Value ​ ^Description ^
 |0xFFFFFFFF ​ |CARD_OPERATION_MASK_DEFAULT ​ | |0xFFFFFFFF ​ |CARD_OPERATION_MASK_DEFAULT ​ |
 |0x80000000 ​ |CARD_OPERATION_USE ​ | |0x80000000 ​ |CARD_OPERATION_USE ​ |
 +|0x00000000 ​ |CARD_OPERATION_MASK_NONE ​ |
 +|0x00000800 ​ |CARD_OPERATION_MASK_CUSTOM_DESFIRE_EV1 ​ |
 +|0x00000400 ​ |CARD_OPERATION_MASK_CUSTOM_CLASSIC_PLUS ​ |
 |0x00000200 ​ |CARD_OPERATION_MASK_BLE ​ | |0x00000200 ​ |CARD_OPERATION_MASK_BLE ​ |
 |0x00000100 ​ |CARD_OPERATION_MASK_NFC ​ | |0x00000100 ​ |CARD_OPERATION_MASK_NFC ​ |
Line 381: Line 394:
     uint8_t tnaIcon[16];​     uint8_t tnaIcon[16];​
     uint8_t useScreenSaver;​     uint8_t useScreenSaver;​
-    uint8_t reserved1[31];+    ​uint8_t showOsdpResult;​ 
 +    ​uint8_t reserved1[30];
 } BS2DisplayConfig;​ } BS2DisplayConfig;​
 </​code>​ </​code>​
Line 486: Line 500:
 Icon displayed on the device corresponding TNA key. \\ \\ Icon displayed on the device corresponding TNA key. \\ \\
 **17. //​useScreenSaver//​** \\  **17. //​useScreenSaver//​** \\ 
-''​FaceStation 2'',​ ''​FaceStation F2'' ​If set true, you can activate the screensaver. \\ \\ +If set true, you can activate the screensaver. \\ \\ 
-**18. //reserved1//** \\ +**18. //showOsdpResult//** \\  
 +[+ 2.9.6] In environments where Suprema devices are connected as peripheral devices to Intelligent Slaves or third-party controllers,​ this option allows authentication results to be displayed on the device screen. \\ 
 +<WRAP group 50%> 
 +^Value ​ ^Description ​ ^ 
 +|0  |Display OSDP Authentication Result (Default) ​ | 
 +|1  |Do Not Display OSDP Authentication Result ​ | 
 +</​WRAP>​ 
 +19. //​reserved1// ​\\ 
 Reserved space. \\  Reserved space. \\ 
  
Line 1223: Line 1244:
     uint32_t deviceID;     uint32_t deviceID;
     uint8_t type;     uint8_t type;
-    uint8_t reserved[3];+    uint8_t reserved
 +    uint16_t ignoreSignalTime;
     ​     ​
     union {     union {
Line 1269: Line 1291:
 |3|Schedule trigger| |3|Schedule trigger|
 </​WRAP>​ </​WRAP>​
 +11. //​reserved//​ \\ 
 +Reserved space. \\ \\
 +12. //​ignoreSignalTime//​ \\ 
 +[+2.9.6] This setting is specified in milliseconds and is used to ignore repetitive input signals within a certain time frame. \\
 +In environments where Suprema devices are connected to third-party controllers via Wiegand, \\
 +if the feedback for authentication is repetitively input to the Suprema device from a specific model of the controller, \\
 +this feature allows you to forcibly ignore the input signal for the specified duration. \\ \\
  
 ==== BS2Action ==== ==== BS2Action ====
Line 1673: Line 1702:
 Reserved space.\\ \\ Reserved space.\\ \\
  
-==== BS2FaceConfig====+==== BS2FaceConfig ====
 <code cpp> <code cpp>
 typedef struct { typedef struct {
Line 1690: Line 1719:
     uint8_t ​      ​maxRotation;​     uint8_t ​      ​maxRotation;​
  
 +    // Deprecated
     struct {     struct {
         uint16_t ​ min;         uint16_t ​ min;
Line 1695: Line 1725:
     } faceWidth;     } faceWidth;
  
 +    // Deprecated
     struct {     struct {
         uint16_t ​ x;         uint16_t ​ x;
Line 1700: Line 1731:
     } searchRange;​     } searchRange;​
  
-    uint8_t ​      reserved2[18];+    ​struct { 
 +        ​uint8_t ​min; // 30 ~ 100 
 +        uint8_t max; // 40 ~ 100, 255 
 +    } detectDistance;​ ////<​ 2 bytes 
 +     
 +    BS2_BOOL wideSearch;​ ///<​ 1 byte 
 +    uint8_t unused; 
 +     
 +    uint8_t unableToSaveImageOfVisualFace;​ 
 +    uint8_t reserved[13];
 } BS2FaceConfig;​ } BS2FaceConfig;​
 </​code>​ </​code>​
Line 1718: Line 1758:
 |1  |Outdoor ​ | |1  |Outdoor ​ |
 |2  |Automatic ​ | |2  |Automatic ​ |
-|3  |[+ 2.8] Not used ''​(FaceStation F2 v1.1.0 or higher version)'' ​ |+|3  |[+ 2.8] Not used  |
 </​WRAP>​ </​WRAP>​
 [Note]\\ [Note]\\
Line 1751: Line 1791:
 </​WRAP>​ </​WRAP>​
 **5. //​enrollTimeout//​** \\  **5. //​enrollTimeout//​** \\ 
-''​FaceStation2,​ FaceLite''​ : Timeout period of face scanning which is 60 seconds by default.\\ \\+''​IR Face supported''​ : Timeout period of face scanning which is 60 seconds by default.\\ \\
 <WRAP group 60%> <WRAP group 60%>
 ^Value ​ ^Description ​ ^ ^Value ​ ^Description ​ ^
Line 1758: Line 1798:
 |BS2_FACE_ENROLL_TIMEOUT_DEFAULT ​ |BS2_FACE_ENROLL_TIMEOUT_MAX ​ | |BS2_FACE_ENROLL_TIMEOUT_DEFAULT ​ |BS2_FACE_ENROLL_TIMEOUT_MAX ​ |
 </​WRAP>​ </​WRAP>​
-''​FaceStation F2''​ : [+ 2.7.1] Face scan wait time, default is 20 seconds. \\ +''​Visual Face supported''​ : [+ 2.7.1] Face scan wait time, default is 20 seconds. \\ 
 <WRAP group 70%> <WRAP group 70%>
 ^Value ​ ^Description ​ ^ ^Value ​ ^Description ​ ^
Line 1769: Line 1809:
 **6. //​lfdLevel//​** \\ **6. //​lfdLevel//​** \\
 [+ 2.6.3] Configuration for the LFD(Live Face Detection - fake face detection) sensitivity. \\ [+ 2.6.3] Configuration for the LFD(Live Face Detection - fake face detection) sensitivity. \\
-''​FaceStation2,​ FaceLite''​ : Default is 0. \\ +''​IR Face supported''​ : Default is 0. \\ 
-''​FaceStation F2''​ : [+ 2.7.1] Default is 1. \\+''​Visual Face supported''​ : [+ 2.7.1] Default is 1. \\
 <WRAP group 50%> <WRAP group 50%>
 ^Value ​ ^Description ​ ^ ^Value ​ ^Description ​ ^
Line 1796: Line 1836:
  
 **10. //​operationMode//​** \\  **10. //​operationMode//​** \\ 
-[+ 2.7.1] ''​FaceStation F2'' ​Configures ​operation ​mode with below values, default is Fusion mode. \\ +[+ 2.7.1] ''​FaceStation F2 V1.0.0'' ​can be set to the following ​operation ​modes, default is Fusion mode. \\ 
 <WRAP group 50%> <WRAP group 50%>
 ^Value ​ ^Mode  ^Description ​ ^Default ​ ^ ^Value ​ ^Mode  ^Description ​ ^Default ​ ^
Line 1803: Line 1843:
 |2  |Visual + IR |Visual matching, IR detects only face| | |2  |Visual + IR |Visual matching, IR detects only face| |
 </​WRAP> ​ </​WRAP> ​
 +
 +''​FaceStation F2 V1.0.1''​ or later versions, ''​Visual Face based''​ are used in the following sense.
 +<WRAP group 50%>
 +|0  |Fusion Mode |Visual matching + IR matching |Default |
 +|1  |Fast Mode |Visual matching | |
 +</​WRAP>​
  
 **11. //​maxRotation//​** \\  **11. //​maxRotation//​** \\ 
-[+ 2.7.1] ''​FaceStation F2''​ When face is recognized normally it's front side. \\ +[+ 2.7.1] ''​Visual Face based''​ 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. \\+Still, it is possible to determine how many degrees the image has been rotated from the front when device ​detects a face. \\
 This enables detection failure in the case of images rotated over a certain angle. \\ 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. \\ \\ maxRotation represents the maximum allowable value in this case, and the default value is 15 degrees. \\ \\
 +[+ 2.9.6] Additional definitions of Angle \\
 +<WRAP group 40%>
 +^Definition ​ ^Value ​ ^
 +|BS2_MAX_ROTATION_DEFAULT ​ | 15  |
 +|BS2_MAX_ROTATION_ANGLE_15 ​ | 15  |
 +|BS2_MAX_ROTATION_ANGLE_30 ​ | 30  |
 +|BS2_MAX_ROTATION_ANGLE_45 ​ | 45  |
 +|BS2_MAX_ROTATION_ANGLE_60 ​ | 60  |
 +|BS2_MAX_ROTATION_ANGLE_75 ​ | 75  |
 +|BS2_MAX_ROTATION_ANGLE_90 ​ | 90  |
 +|BS2_MAX_ROTATION_ANGLE_MAX ​ | 90  |
 +</​WRAP> ​
  
 **12. //​faceWidth//​** \\  **12. //​faceWidth//​** \\ 
-[+ 2.7.1] ''​FaceStation F2''​ This indicates the width of the face image, and you can specify the minimum and maximum values. \\+[+ 2.7.1] ''​Visual Face based''​ This indicates the width of the face image, and you can specify the minimum and maximum values. \\ 
 The default values of min and max are as follows. \\ The default values of min and max are as follows. \\
-[+ 2.8.3] ''​BioStation 3''​ The settings are ignored. \\ 
 <WRAP group 30%> <WRAP group 30%>
 ^  ^Default(min) ​ ^Default(max) ​ ^ ^  ^Default(min) ​ ^Default(max) ​ ^
 |FSF2  |66  |250  | |FSF2  |66  |250  |
-|BS3  | | |+|BS3  |130  |350  | 
 +|BEW3  |130  |350  |
 </​WRAP> ​ </​WRAP> ​
  
 **13. //​searchRange//​** \\ **13. //​searchRange//​** \\
-[+ 2.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. \\+[+ 2.7.1] ''​Visual Face based''​ 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 of x and width are as follows. \\ The default values of x and width are as follows. \\
-[+ 2.8.3] ''​BioStation 3''​ The settings are ignored. \\ 
 <WRAP group 30%> <WRAP group 30%>
 ^  ^Default(x) ​ ^Default(width) ​ ^ ^  ^Default(x) ​ ^Default(width) ​ ^
 |FSF2  |144  |432  | |FSF2  |144  |432  |
-|BS3  | | |+|BS3  |90  |540  | 
 +|BEW3  |90  |540  |
 </​WRAP> ​ </​WRAP> ​
  
 **14. //​detectDistance//​** \\ **14. //​detectDistance//​** \\
-[+ 2.8.3] ''​BioStation 3''​ This configures the minimum and maximum detection range for facial recognition. \\+[+ 2.8.3] ''​Visual Face based''​ This configures the minimum and maximum detection range for facial recognition. \\
 We no longer support faceWidth to pinpoint the face location using pixel units due to its complexity. \\ We no longer support faceWidth to pinpoint the face location using pixel units due to its complexity. \\
 Instead, we set the detection range of the subject(face). The unit is set to cm, and the value must be inputted as a multiple of 10. \\ Instead, we set the detection range of the subject(face). The unit is set to cm, and the value must be inputted as a multiple of 10. \\
 <WRAP group 80%> <WRAP group 80%>
-^  ^Min limit for min detection range  ^Max limit for min detection range  ^Min detection range(Default) ​ ^Min limit for max detection range  ^Max limit for max detection range  ^Max sensing range(No limit) ​ ^Max sensing range(Default) ​ ^ +^  ^Min limit for min detection range  ^Max limit for min detection range  ^Min detection range(Default) ^Min limit for max detection range  ^Max limit for max detection range  ^Max sensing range(No limit) ​ ^Max sensing range(Default) ​ ^ 
-|BS3  |30  |100  |60  ​|40 ​ |100  |255  |100  |+|FSF2 |30  |130  |30  |40  |130  |255  |130  | 
 +|BS3  |30  |100  |30  |40  |100  |255  |100  | 
 +|BEW3  |30  |100  |30  ​|40 ​ |100  |255  |100  |
 </​WRAP> ​ </​WRAP> ​
  
 **15. //​wideSearch//​** \\ **15. //​wideSearch//​** \\
-[+ 2.8.3] ''​BioStation 3''​ This can increase the detection range for facial recognition. \\+[+ 2.8.3] ''​BioStation 3, BioEntry W3''​ This can increase the detection range for face detection. \\
 We no longer support searchRange to set the x-coordinate and width due to its complexity. \\ We no longer support searchRange to set the x-coordinate and width due to its complexity. \\
 Instead, we set the face detection setting as default(FALSE),​ or a wide area(TRUE). \\ Instead, we set the face detection setting as default(FALSE),​ or a wide area(TRUE). \\
 The details of the settings and protocols for the detection of wide area is set within the device, which the user cannot change. \\ \\ The details of the settings and protocols for the detection of wide area is set within the device, which the user cannot change. \\ \\
-If this setting is set to TRUE, the camera detects subjects within a large range, and unintentionally detect and authenticate multiple subjects at once. Therefore, the default setting is at FALSE. \\ \\+If this setting is set to TRUE, the camera detects subjects within a large range, and unintentionally detect and authenticate multiple subjects at once. \\ 
 +Therefore, the default setting is at FALSE. \\ \\
  
 16. //unused// \\ 16. //unused// \\
 Reserved space.\\ \\ Reserved space.\\ \\
-17. //​reserved//​ \\+17. //​unableToSaveImageOfVisualFace//​ \\ 
 +[+ 2.9.6] Indicates whether devices that use visual face as a credential will store facial images on the device. \\ 
 +Enabling this setting will immediately delete image information from all users' facial data stored in the device, leaving only the templates. \\ 
 +Additionally,​ even if face information containing user images is obtained through the [[BS2_EnrollUserFaceEx]] API, the device will ignore it. \\ 
 +The default value is false, which means both facial data and images are stored. \\ \\ 
 +18. //​reserved//​ \\
 Reserved space.\\ \\ Reserved space.\\ \\
 ==== BS2Rs485ConfigEX ==== ==== BS2Rs485ConfigEX ====
Line 2335: Line 2401:
 </​WRAP>​ </​WRAP>​
 2. //​maskCheckMode//​ \\  2. //​maskCheckMode//​ \\ 
-''​FaceStation F2''​ Sets the Mask Check Mode. \\  +''​Visual Face based''​ Sets the Mask Check Mode. \\ 
-''​FaceStation 2''​ This setting is ignored. \\ +
 When set to HARD, access is denied if not detecting any mask on the face based on maskDetectionLevel. \\ When set to HARD, access is denied if not detecting any mask on the face based on maskDetectionLevel. \\
 When set to SOFT, access is not affected even if not detecting any mask on the face based on maskDetectionLevel but leaves a related log. \\ When set to SOFT, access is not affected even if not detecting any mask on the face based on maskDetectionLevel but leaves a related log. \\
Line 2360: Line 2425:
 Reserved \\ \\ Reserved \\ \\
 6. //​thermalThresholdLow//​ \\ 6. //​thermalThresholdLow//​ \\
-''​Supported version''​ : ''​FaceStation F2 V1.0.2'',​ ''​FaceStation 2 V1.5.0''​ \\  
 This is the range value for determining high temperature and must be entered as a value multiplied by 100 of the temperature to be set. \\ This is the range value for determining high temperature and must be entered as a value multiplied by 100 of the temperature to be set. \\
 Also, you can only enter in degrees Celsius. \\ Also, you can only enter in degrees Celsius. \\
Line 2373: Line 2437:
 And you must set a value greater than thermalThresholdLow. \\ \\ And you must set a value greater than thermalThresholdLow. \\ \\
 8. //​maskDetectionLevel//​ \\ 8. //​maskDetectionLevel//​ \\
-''​FaceStation F2''​ Sets the mask detection level. The detecting level is based on internal setting value. \\ +''​Visual Face based''​ Sets the mask detection level. The detecting level is based on internal setting value. \\
-''​FaceStation 2''​ This setting is ignored. \\ +
 <WRAP group 50%> <WRAP group 50%>
 ^Value ^Description ​ ^Default ​ ^ ^Value ^Description ​ ^Default ​ ^
Line 2444: Line 2507:
     uint8_t treatAsCSN;     uint8_t treatAsCSN;
  
-    uint8_t reserved[12];+    ​uint8_t useVisualBarcode;​ 
 +    uint8_t motionSensitivity;​ 
 +    uint8_t visualCameraScanTimeout;​ 
 +    ​uint8_t reserved[9];
 } BS2BarcodeConfig;​ } BS2BarcodeConfig;​
 </​code>​ </​code>​
 1. //​useBarcode//​ \\  1. //​useBarcode//​ \\ 
 +''​Supports XS2-QR models only''​
 Barcode usage flag. \\ \\  Barcode usage flag. \\ \\ 
 2. //​scanTimeout//​ \\  2. //​scanTimeout//​ \\ 
 Set the Barcode scan time. The unit is in seconds. \\ Set the Barcode scan time. The unit is in seconds. \\
-The default is 4 seconds, and can be entered within a range of 4 to 10 seconds.\\ \\+The default is 4 seconds, and can be entered within a range of 4 to 10 seconds. \\ \\ 
 +<WRAP group 50%> 
 +^Value ​ ^Macro ​ ^Description ​ ^ 
 +|4  |BS2_BARCODE_TIMEOUT_DEFAULT ​ |Default ​ | 
 +|4  |BS2_BARCODE_TIMEOUT_MIN ​ |Min Value  | 
 +|10  |BS2_BARCODE_TIMEOUT_MAX ​ |Max Value  | 
 +</​WRAP>​
 3. //​bypassData//​ \\  3. //​bypassData//​ \\ 
 [+2.8.2] Used to send read barcode information to the server, not processed by the device. \\ [+2.8.2] Used to send read barcode information to the server, not processed by the device. \\
 If the barcode value is stored in the user information structure for user authentication,​ \\ If the barcode value is stored in the user information structure for user authentication,​ \\
-There is a size constraint of 32 bytes ([[smartcard_api#​BS2CSNCard|BS2CSNCard data]])\\+There is a size constraint of 32 bytes ([[smartcard_api#​BS2CSNCard|BS2CSNCard data]]) \\
 Call the [[BS2_SetBarcodeScanListener]],​ use this option to send barcodes up to 512 bytes of size to the server. \\ \\ Call the [[BS2_SetBarcodeScanListener]],​ use this option to send barcodes up to 512 bytes of size to the server. \\ \\
 4. //​treatAsCSN//​ \\ 4. //​treatAsCSN//​ \\
 [+2.8.2] Indicates whether the Barcode should be treated the same as a regular CSN card. \\ [+2.8.2] Indicates whether the Barcode should be treated the same as a regular CSN card. \\
 It is applied from XS2-QR 1.1.3 and in the case of false, it is treated the same as before. \\ It is applied from XS2-QR 1.1.3 and in the case of false, it is treated the same as before. \\
-This allows you to freely specify character sets that can be treated as barcodes from ASCII codes 32 to 126.  (See description in [[qr_code_api#​BS2_WriteQRCode|BS2_WriteQRCode]]) \\+This allows you to freely specify character sets that can be treated as barcodes from ASCII codes 32 to 126. (See description in [[qr_code_api#​BS2_WriteQRCode|BS2_WriteQRCode]]) \\
 If set to true, the barcode is treated like a number just like the existing CSN. \\ If set to true, the barcode is treated like a number just like the existing CSN. \\
 Therefore, if you want to set the bar code card data with special characters and English characters. \\ Therefore, if you want to set the bar code card data with special characters and English characters. \\
-In this case, only the card type may be different, and the CSN card and barcode data may be used in the same value. \\ +In this case, only the card type may be different, and the CSN card and barcode data may be used in the same value. \\ \\ 
- +5. //​useVisualBarcode//​ \\ 
-5. //​reserved//​ \\  +[+2.9.1] Visual barcode usage flag. \\ 
-Reserved ​space. \\+<WRAP group 50%> 
 +^Supported devices ​ ^Firmware ​ ^ 
 +|XS2-Finger ​ |V1.2.0 ​ | 
 +|XS2-Card ​ |V1.2.0 ​ | 
 +|BS3  |V1.1.0 ​ | 
 +</​WRAP>​ 
 +Visual barcode scans QR code with a general visual camera instead of a QR code sensor, \\ 
 +and a separate license activation is required to use this feature. \\ 
 +License activation is supported through [[BS2_EnableDeviceLicense]]. \\ \\ 
 +6. //​motionSensitivity//​ \\ 
 +[+2.9.1] Set the sensitivity of motion sensor for visual barcode. \\ 
 +<WRAP group 50%> 
 +^Value ​ ^Macro ​ ^Description ​ ^ 
 +|0  |BS2_MOTION_SENSITIVITY_LOW ​ |Low  | 
 +|1  |BS2_MOTION_SENSITIVITY_NORMAL ​ |Normal ​ | 
 +|2  |BS2_MOTION_SENSITIVITY_HIGH ​ |High  | 
 +</​WRAP>​ 
 +7. //​visualCameraScanTimeout//​ \\ 
 +[+2.9.1] Set the scan time for the visual camera. Units are seconds. \\ 
 +The default is 10 seconds, and can be entered within a range of 3 to 20 seconds. \\ 
 +<WRAP group 50%> 
 +^Value ​ ^Macro ​ ^Description ​ ^ 
 +|10  |BS2_VISUAL_BARCODE_TIMEOUT_DEFAULT ​ |Default ​ | 
 +|3  |BS2_VISUAL_BARCODE_TIMEOUT_MIN ​ |Min Value  | 
 +|20  |BS2_VISUAL_BARCODE_TIMEOUT_MAX ​ |Max Value  | 
 +</​WRAP>​ 
 +8. //​reserved//​ \\  
 +Reserved ​Space\\ \\
  
 ==== BS2InputConfigEx ==== ==== BS2InputConfigEx ====
Line 2785: Line 2885:
 License information and can be set up to 16. \\ \\ License information and can be set up to 16. \\ \\
 5. //​reserved1//​ \\  5. //​reserved1//​ \\ 
-Reserved Space. \\ \\ 
- 
- 
-==== BS2BarcodeConfig ==== 
-<code cpp> 
-typedef struct { 
-    uint8_t useBarcode; 
-    uint8_t scanTimeout;​ 
-    uint8_t bypassData; 
-    uint8_t treatAsCSN; 
- 
- uint8_t useVisualBarcode;​ 
- uint8_t motionSensitivity;​ 
-    uint8_t visualCameraScanTimeout;​ 
-    uint8_t reserved[9];​ 
-} BS2BarcodeConfig;​ 
-</​code>​ 
-1. //​useBarcode//​ \\  
-''​Supports XS2-QR models only''​ 
-Barcode usage flag. \\ \\  
-2. //​scanTimeout//​ \\  
-Set the Barcode scan time. The unit is in seconds. \\ 
-The default is 4 seconds, and can be entered within a range of 4 to 10 seconds. \\ \\ 
-<WRAP group 50%> 
-^Value ​ ^Macro ​ ^Description ​ ^ 
-|4  |BS2_BARCODE_TIMEOUT_DEFAULT ​ |Default ​ | 
-|4  |BS2_BARCODE_TIMEOUT_MIN ​ |Min Value  | 
-|10  |BS2_BARCODE_TIMEOUT_MAX ​ |Max Value  | 
-</​WRAP>​ 
-3. //​bypassData//​ \\  
-[+2.8.2] Used to send read barcode information to the server, not processed by the device. \\ 
-If the barcode value is stored in the user information structure for user authentication,​ \\ 
-There is a size constraint of 32 bytes ([[smartcard_api#​BS2CSNCard|BS2CSNCard data]]) \\ 
-Call the [[BS2_SetBarcodeScanListener]],​ use this option to send barcodes up to 512 bytes of size to the server. \\ \\ 
-4. //​treatAsCSN//​ \\ 
-[+2.8.2] Indicates whether the Barcode should be treated the same as a regular CSN card. \\ 
-It is applied from XS2-QR 1.1.3 and in the case of false, it is treated the same as before. \\ 
-This allows you to freely specify character sets that can be treated as barcodes from ASCII codes 32 to 126. (See description in [[qr_code_api#​BS2_WriteQRCode|BS2_WriteQRCode]]) \\ 
-If set to true, the barcode is treated like a number just like the existing CSN. \\ 
-Therefore, if you want to set the bar code card data with special characters and English characters. \\ 
-In this case, only the card type may be different, and the CSN card and barcode data may be used in the same value. \\ \\ 
-5. //​useVisualBarcode//​ \\ 
-[+2.9.1] Visual barcode usage flag. \\ 
-<WRAP group 50%> 
-^Supported devices ​ ^Firmware ​ ^ 
-|XS2-Finger ​ |V1.2.0 ​ | 
-|XS2-Card ​ |V1.2.0 ​ | 
-|BS3  |V1.1.0 ​ | 
-</​WRAP>​ 
-Visual barcode scans QR code with a general visual camera instead of a QR code sensor, \\ 
-and a separate license activation is required to use this feature. \\ 
-License activation is supported through [[qr_code_api#​BS2_EnableBarcodeLicense]]. \\ \\ 
-6. //​motionSensitivity//​ \\ 
-[+2.9.1] Set the sensitivity of motion sensor for visual barcode. \\ 
-<WRAP group 50%> 
-^Value ​ ^Macro ​ ^Description ​ ^ 
-|0  |BS2_MOTION_SENSITIVITY_LOW ​ |Low  | 
-|1  |BS2_MOTION_SENSITIVITY_NORMAL ​ |Normal ​ | 
-|2  |BS2_MOTION_SENSITIVITY_HIGH ​ |High  | 
-</​WRAP>​ 
-7. //​visualCameraScanTimeout//​ \\ 
-[+2.9.1] Set the scan time for the visual camera. Units are seconds. \\ 
-The default is 10 seconds, and can be entered within a range of 3 to 20 seconds. \\ 
-<WRAP group 50%> 
-^Value ​ ^Macro ​ ^Description ​ ^ 
-|10  |BS2_VISUAL_BARCODE_TIMEOUT_DEFAULT ​ |Default ​ | 
-|3  |BS2_VISUAL_BARCODE_TIMEOUT_MIN ​ |Min Value  | 
-|20  |BS2_VISUAL_BARCODE_TIMEOUT_MAX ​ |Max Value  | 
-</​WRAP>​ 
-8. //​reserved//​ \\  
 Reserved Space. \\ \\ Reserved Space. \\ \\
  
Line 3082: Line 3112:
 29. //actions// \\  29. //actions// \\ 
 LED/buzzer information for OSDP devices, up to 32 can be designated. \\ \\ LED/buzzer information for OSDP devices, up to 32 can be designated. \\ \\
 +
 +
 +==== BS2CustomMifareCard ====
 +<code cpp>
 +typedef struct {
 + uint8_t primaryKey[6];​
 + uint8_t reserved1[2];​
 + uint8_t secondaryKey[6];​
 + uint8_t reserved2[2];​
 + uint16_t startBlockIndex;​
 + uint8_t dataSize;
 + uint8_t skipBytes;
 + uint8_t reserved[4];​
 +} BS2CustomMifareCard;​
 +</​code>​
 +1. //​primaryKey//​ \\ 
 +Primary encryption key to access the Mifare card information. \\ \\
 +2. //​reserved1//​ \\ 
 +Reserved space.\\ \\ 
 +3. //​secondaryKey//​ \\ 
 +Secondary encryption key to access the Mifare card information. \\ \\
 +4. //​reserved2//​ \\ 
 +Reserved space.\\ \\ 
 +5. //​startBlockIndex//​ \\ 
 +Start block index on the Mifare data storage.\\ \\ 
 +6. //​dataSize//​ \\ 
 +The size in bytes of the card data. \\ \\
 +7. //​skipBytes//​ \\ 
 +This is where the card data appears. \\
 +This is the starting point to read card data. It is 0 when reading from the starting point, and indicates the number of bytes skipped after the first. \\ \\
 +8. //​reserved//​ \\ 
 +Reserved space.\\ \\
 +
 +
 +==== BS2CustomDesFireCard ====
 +<code cpp>
 +typedef struct {
 + uint8_t primaryKey[16];​
 + uint8_t secondaryKey[16];​
 + uint8_t appID[3];
 + uint8_t fileID;
 + uint8_t encryptionType; ​                // 0: DES/3DES, 1: AES
 + uint8_t operationMode; ​                 // 0: legacy(use picc master key), 1: new mode(use app master, file read, file write key)
 + uint8_t dataSize;
 + uint8_t skipBytes;
 + uint8_t reserved[4];​
 + BS2DesFireAppLevelKey desfireAppKey;​ ///<​52 bytes
 +} BS2CustomDesFireCard; ​                          ///<​96 Bytes
 +</​code>​
 +1. //​primaryKey//​ \\ 
 +Primary encryption key to access the DesFire card information. (General settings) \\ \\
 +2. //​secondaryKey//​ \\ 
 +Secondary encryption key to access the Desfire card information. (General settings) \\ \\
 +3. //appID// \\ 
 +Application Id that is stored inside the DesFire card for user authentication.\\ \\ 
 +4. //fileID// \\ 
 +File ID that is stored inside the DesFire card, which will be used by the application to read and write data.\\ \\ 
 +5. //​encryptionType//​ \\ 
 +Type of data encryption.\\ ​
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |DES/​3DES ​ |
 +|1  |AES  |
 +</​WRAP>​
 +6. //​operationMode//​ \\ 
 +Operation mode. \\ 
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |Using general settings (Using PICC master key)  |
 +|1  |Using advanced settings (Using App master key)  |
 +</​WRAP>​
 +7. //​dataSize//​ \\ 
 +The size in bytes of the card data. \\ \\
 +8. //​skipBytes//​ \\ 
 +This is where the card data appears. \\
 +This is the starting point to read card data. It is 0 when reading from the starting point, and indicates the number of bytes skipped after the first. \\ \\
 +9. //​reserved//​ \\ 
 +Reserved space.\\ \\ 
 +10. //​desfireAppKey//​ \\ 
 +Indicates key information to access DesFire card information. (Advanced settings) \\ \\
 +
 +
 +==== BS2CustomCardConfig ====
 +<code cpp>
 +typedef struct {
 + BS2_CARD_DATA_TYPE dataType;
 + BS2_BOOL useSecondaryKey;​
 + uint8_t reserved1[2];​
 +
 + BS2CustomMifareCard mifare;
 + BS2CustomDesFireCard desfire;
 + uint8_t reserved2[24];​
 + uint8_t reserved3[96];​
 +
 + BS2_CARD_BYTE_ORDER smartCardByteOrder;​
 + uint8_t reserved4[3];​
 + BS2_UID formatID;
 + uint8_t reserved5[8];​
 +} BS2CustomCardConfig;​
 +</​code>​
 +1. //​dataType//​ \\ 
 +Type of card data. \\ 
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |Binary ​ |
 +|1  |ASCII ​ |
 +|2  |UTF16 ​ |
 +|3  |BCD  |
 +</​WRAP>​
 +2. //​useSecondaryKey//​ \\ 
 +Decides whether to use the secondary encryption key. \\ \\ 
 +3. //​reserved1//​ \\ 
 +Reserved space. \\ \\ 
 +4. //mifare// \\ 
 +Set the Mifare custom card information. \\ \\ 
 +5. //desfire// \\ 
 +Set the DESFire custom card information. \\ \\ 
 +6. //​reserved2//​ \\ 
 +Reserved space. \\ \\ 
 +7. //​reserved3//​ \\ 
 +Reserved space. \\ \\ 
 +8. //​smartCardByteOrder//​ \\
 +The output method can be selected from MSB or LSB. \\
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |MSB  |
 +|1  |LSB  |
 +</​WRAP>​
 +9. //​reserved4//​ \\ 
 +Reserved space. \\ \\
 +10. //​formatID//​ \\ 
 +This is an identifier that can be used when the BioStar 2 application needs to manage the card configuration as a database. \\ \\ 
 +11. //​reserved5//​ \\ 
 +Reserved space. \\ \\