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/08/28 13:18]
yjjung [BS2FaceConfig]
en:configuration_api [2021/05/26 14:24]
kkshin [BS2DisplayConfig]
Line 35: Line 35:
   * [[BS2_GetWiegandDeviceConfig]]:​ Retrieves Wiegand device settings from the device.   * [[BS2_GetWiegandDeviceConfig]]:​ Retrieves Wiegand device settings from the device.
   * [[BS2_SetWiegandDeviceConfig]]:​ Stores Wiegand device settings on the device.   * [[BS2_SetWiegandDeviceConfig]]:​ Stores Wiegand device settings on the device.
-  * [[BS2_GetInputConfig]]:​ Retrieves input port settings from the device. +  * [[BS2_GetInputConfig]]:​ Retrieves ​supervised ​input port settings from the device. 
-  * [[BS2_SetInputConfig]]:​ Stores input port settings on the device.+  * [[BS2_SetInputConfig]]:​ Stores ​supervised ​input port settings on the device.
   * [[BS2_GetWlanConfig]]:​ Retrieves wireless LAN settings from the device.   * [[BS2_GetWlanConfig]]:​ Retrieves wireless LAN settings from the device.
   * [[BS2_SetWlanConfig]]:​ Stores wireless LAN settings on the device.   * [[BS2_SetWlanConfig]]:​ Stores wireless LAN settings on the device.
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_GetDesFireCardConfigEx]]:​ [+ 2.6.4] Retrieves DesFire advanced configuration from the device. 
-  * [[BS2_SetDesFireCardConfigEx]]:​ [+ V2.6.4] Sets DesFire advanced configuration in the device. +  * [[BS2_SetDesFireCardConfigEx]]:​ [+ 2.6.4] Sets DesFire advanced configuration in the device. 
-  * [[BS2_GetAuthConfigExt]]:​ ''​FaceStation F2''​ Retrieves authentication settings from the device. ​[+ V2.7.1] +  * [[BS2_GetAuthConfigExt]]: ​[+ 2.7.1] ​''​FaceStation F2''​ Retrieves authentication settings from the device. 
-  * [[BS2_SetAuthConfigExt]]:​ ''​FaceStation F2''​ Stores authentication settings from the device. ​[+ V2.7.1] +  * [[BS2_SetAuthConfigExt]]: ​[+ 2.7.1] ​''​FaceStation F2''​ Stores authentication settings from the device. 
-  * [[BS2_GetFaceConfigExt]]:​ ''​FaceStation F2, FaceStation2''​ Retrieves configuration of thermal camera and mask detection. ​[+ V2.7.1] +  * [[BS2_GetFaceConfigExt]]: ​[+ 2.7.1] ​''​FaceStation F2, FaceStation2''​ Retrieves configuration of thermal camera and mask detection. 
-  * [[BS2_SetFaceConfigExt]]:​ ''​FaceStation F2, FaceStation2''​ Stores configuration of thermal camera and mask detection. ​[+ V2.7.1] +  * [[BS2_SetFaceConfigExt]]: ​[+ 2.7.1] ​''​FaceStation F2, FaceStation2''​ Stores configuration of thermal camera and mask detection. 
-  * [[BS2_GetThermalCameraConfig]]:​ ''​FaceStation F2, FaceStation2''​ Retrieves configuration of thermal camera. ​[+ V2.7.1] +  * [[BS2_GetThermalCameraConfig]]: ​[+ 2.7.1] ​''​FaceStation F2, FaceStation2''​ Retrieves configuration of thermal camera. 
-  * [[BS2_SetThermalCameraConfig]]:​ ''​FaceStation F2, FaceStation2''​ Stores configuration of thermal camera. ​[+ V2.7.1]+  * [[BS2_SetThermalCameraConfig]]: ​[+ 2.7.1] ​''​FaceStation F2, FaceStation2''​ Stores configuration of thermal camera.
  
 \\ \\
Line 375: Line 375:
     uint8_t shortcutHome[BS2_MAX_SHORTCUT_HOME];​     uint8_t shortcutHome[BS2_MAX_SHORTCUT_HOME];​
     uint8_t tnaIcon[16];​     uint8_t tnaIcon[16];​
-    uint8_t reserved1[32];+    ​uint8_t useScreenSaver;​ 
 +    ​uint8_t reserved1[31];
 } BS2DisplayConfig;​ } BS2DisplayConfig;​
 </​code>​ </​code>​
Line 415: Line 416:
 </​WRAP>​ </​WRAP>​
 **6. //​menuTimeout//​** \\  **6. //​menuTimeout//​** \\ 
-Timeout in seconds for lock screen when the user is inactive. The timeout can be set from 0 to 255 seconds. 0 means no lock screen.\\ ​\\ +Timeout in seconds for lock screen when the user is inactive. The timeout can be set from 0 to 255 seconds. 0 means no lock screen.\\ ​ 
 +<WRAP group 50%> 
 +^Value ​ ^Description ​ ^ 
 +|0  |No timeout. ​ | 
 +|10  |Menu timeout 10 sec.  | 
 +|20  |Menu timeout 20 sec. (Default) ​ | 
 +|30  |Menu timeout 30 sec.  | 
 +|40  |Menu timeout 40 sec.  | 
 +|50  |Menu timeout 50 sec.  | 
 +|60  |Menu timeout 60 sec.  | 
 +</​WRAP>​
 **7. //​msgTimeout//​** \\  **7. //​msgTimeout//​** \\ 
-Message timeout in milliseconds. The timeout can be set from 500 to 5000 milliseconds.\\ ​\\ +Message timeout in milliseconds. The timeout can be set from 500 to 5000 milliseconds.\\ ​ 
 +<WRAP group 50%> 
 +^Value ​ ^Description ​ ^ 
 +|500  |Message timeout 500 msec.  | 
 +|1000  |Message timeout 1 sec.  | 
 +|2000  |Message timeout 2 sec. (Default) ​ | 
 +|3000  |Message timeout 3 sec.  | 
 +|4000  |Message timeout 4 sec.  | 
 +|5000  |Message timeout 5 sec.  | 
 +</​WRAP>​
 **8. //​backlightTimeout//​** \\  **8. //​backlightTimeout//​** \\ 
-Backlight timeout in seconds. \\ \\ +Backlight timeout in seconds. \\  
 +<WRAP group 50%> 
 +^Value ​ ^Description ​ ^ 
 +|0  |Backlight timeout 0 sec.  | 
 +|10  |Backlight timeout 10 sec.  | 
 +|20  |Backlight timeout 20 sec. (Default) ​ | 
 +|30  |Backlight timeout 30 sec.  | 
 +|40  |Backlight timeout 40 sec.  | 
 +|50  |Backlight timeout 50 sec.  | 
 +|60  |Backlight timeout 60 sec.  | 
 +</​WRAP>​
 **9. //​displayDateTime//​** \\  **9. //​displayDateTime//​** \\ 
 Decides whether to display clock on screen. \\ \\  Decides whether to display clock on screen. \\ \\ 
Line 449: Line 479:
 Home screen layout(Going to apply later, not used currently). \\ \\  Home screen layout(Going to apply later, not used currently). \\ \\ 
 **16. //​tnaIcon//​** \\  **16. //​tnaIcon//​** \\ 
-Icon displayed on the device corresponding ​to the job code. \\ \\ +Icon displayed on the device corresponding ​TNA key. \\ \\ 
-**17. //​reserved1//​** \\ +**17. //​useScreenSaver//​** \\  
 +''​FaceStation 2'',​ ''​FaceStation F2''​ If set true, you can activate the screensaver. \\ \\ 
 +**18. //​reserved1//​** \\ 
 Reserved space. \\  Reserved space. \\ 
  
Line 812: Line 844:
 </​WRAP>​ </​WRAP>​
 **2. //​channelIndex//​** \\  **2. //​channelIndex//​** \\ 
-Communication channel index of the RS-485 network. \\ \\+(non configurable index) ​Communication channel index of the RS-485 network. \\ \\
 **3. //​useRegistance//​** \\  **3. //​useRegistance//​** \\ 
-Decides whether to use a resistance. \\ \\+Registance flag - no effect on operation. \\ \\
 **4. //​numOfDevices//​** \\  **4. //​numOfDevices//​** \\ 
 Number of slave devices.\\ \\ Number of slave devices.\\ \\
Line 860: Line 892:
     uint16_t wiegandCardMask;​     uint16_t wiegandCardMask;​
     uint8_t wiegandCSNIndex;​     uint8_t wiegandCSNIndex;​
-    uint8_t reserved[27];+    ​uint8_t useWiegandUserID;​ 
 +    ​uint8_t reserved[26];
 } BS2WiegandConfig;​ } BS2WiegandConfig;​
 </​code>​ </​code>​
Line 930: Line 963:
 **16. //​wiegandCSNIndex//​** \\ **16. //​wiegandCSNIndex//​** \\
 Index that determines in which format the device will send out a wiegand ouput after the card has been read. This field is used only for Mifare and EM devices. Please check the //​useWiegandFormat//​ field of the [[configuration api#​BS2CardConfig]] structure before configuring. \\ \\ Index that determines in which format the device will send out a wiegand ouput after the card has been read. This field is used only for Mifare and EM devices. Please check the //​useWiegandFormat//​ field of the [[configuration api#​BS2CardConfig]] structure before configuring. \\ \\
-**17. //​reserved//​** \\  +**17. //​useWiegandUserID//​** \\ 
-Reserved space\\ \\ +The flag you can select whether card ID or user ID to be sent via Wiegand output. \\ 
 +<WRAP group 50%> 
 +^Value ​ ^Description ​ ^ 
 +|0  |Not use  | 
 +|1  |Card ID  | 
 +|2  |User ID  | 
 +</​WRAP>​ 
 +**18. //​reserved//​** \\  
 +Reserved space.\\ 
  
  
Line 1335: Line 1376:
 26. //type// \\  26. //type// \\ 
 Action types. \\ Action types. \\
 +<WRAP round important 60%>
 +<wrap em>​[DoorModule-20,​ CoreStation-40]</​wrap>​ \\
 +If the action type is relay or TTL (Output) and the action device is DM20, CS40,
 +Action type should be set only as relay action (6). (TTL setting not possible) \\ \\
 +<wrap em>​[DM20]</​wrap>​ \\
 +  * Action type : Relay
 +  * relay.relayIndex : 0 ~ 3 (RELAY 0 ~ 3)
 +  * relay.relayIndex : 4 ~ 9 (OUTPUT 0 ~ 5)
 +<wrap em>​[CS40]</​wrap>​ \\
 +  * Action type : Relay
 +  * relay.relayIndex : 0 ~ 3 (RELAY 0 ~ 3)
 +  * relay.relayIndex : 4 ~ 11 (OUTPUT 0 ~ 7)
 +</​WRAP>​
 <WRAP group 50%> <WRAP group 50%>
 ^Value ​ ^Description ​ ^ ^Value ​ ^Description ​ ^
Line 1614: Line 1668:
 |1  |Outdoor ​ | |1  |Outdoor ​ |
 |2  |Automatic ​ | |2  |Automatic ​ |
 +|3  |[+V2.8] Not used ''​(FaceStation F2)'' ​ |
 </​WRAP>​ </​WRAP>​
 **3. //​enrollThreshold//​** \\  **3. //​enrollThreshold//​** \\ 
Line 1636: Line 1691:
 |0  |Off  | |0  |Off  |
 |1  |Low  | |1  |Low  |
-|2  |Basic  |+|2  |Medium ​ |
 |3  |High  | |3  |High  |
 </​WRAP>​ </​WRAP>​
Line 2016: Line 2071:
 8. //​reserved//​ \\ 8. //​reserved//​ \\
 Reserved space. \\  Reserved space. \\ 
 +
 +
 +==== BS2AuthConfigExt ====
 +<code cpp>
 +typedef struct {
 +    uint32_t extAuthSchedule[BS2_MAX_NUM_OF_EXT_AUTH_MODE];​
 +    uint8_t useGlobalAPB;​
 +    uint8_t globalAPBFailAction;​
 +    uint8_t useGroupMatching;​
 +    uint8_t reserved;
 +
 +    uint8_t reserved2[4];​
 +
 +    uint8_t usePrivateAuth;​
 +    uint8_t faceDetectionLevel;​
 +    uint8_t useServerMatching;​
 +    uint8_t useFullAccess;​
 +
 +    uint8_t matchTimeout;​
 +    uint8_t authTimeout;​
 +    uint8_t numOperators;​
 +    uint8_t reserved3[1];​
 +
 +    struct {
 +        char userID[BS2_USER_ID_SIZE];​
 +        uint8_t level;
 +        uint8_t reserved[3];​
 +    } operators[BS2_MAX_OPERATORS];​
 +
 +    uint8_t reserved4[256];​
 +} BS2AuthConfigExt;​
 +</​code>​
 +**1. //​extAuthSchedule//​** \\ 
 +Schedule values to operate when each authentication mode is activated. \\
 +It has the following meanings for each value. \\
 +If the value in the array is greater than 0, the authentication mode is activated. \\
 +In the explanations below, biometric information means fingerprints or faces depending on the device. \\
 +<WRAP group 70%>
 +^Value ^Code  ^Description ​ ^
 +|11  |BS2_EXT_AUTH_MODE_FACE_ONLY ​ |Face |
 +|12  |BS2_EXT_AUTH_MODE_FACE_FINGERPRINT ​ |Face + Fingerprint ​ |
 +|13  |BS2_EXT_AUTH_MODE_FACE_PIN ​ |Face + PIN  |
 +|14  |BS2_EXT_AUTH_MODE_FACE_FINGERPRINT_OR_PIN ​ |Face + Fingerprint/​PIN ​ |
 +|15  |BS2_EXT_AUTH_MODE_FACE_FINGERPRINT_PIN ​ |Face + Fingerprint + PIN  |
 +|16  |BS2_EXT_AUTH_MODE_FINGERPRINT_ONLY ​ |Fingerprint |
 +|17  |BS2_EXT_AUTH_MODE_FINGERPRINT_FACE ​ |Fingerprint + Face |
 +|18  |BS2_EXT_AUTH_MODE_FINGERPRINT_PIN ​ |Fingerprint + PIN  |
 +|19  |BS2_EXT_AUTH_MODE_FINGERPRINT_FACE_OR_PIN ​ |Fingerprint + Face/​PIN ​ |
 +|20  |BS2_EXT_AUTH_MODE_FINGERPRINT_FACE_PIN ​ |Fingerprint + Face + PIN  |
 +|21  |BS2_EXT_AUTH_MODE_CARD_ONLY ​ |Card |
 +|22  |BS2_EXT_AUTH_MODE_CARD_FACE ​ |Cardn + Face  |
 +|23  |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT ​ |Card + Fingerprint ​ |
 +|24  |BS2_EXT_AUTH_MODE_CARD_PIN ​ |Card + PIN  |
 +|25  |BS2_EXT_AUTH_MODE_CARD_FACE_OR_FINGERPRINT ​ |Card + Face/​Fingerprint ​ |
 +|26  |BS2_EXT_AUTH_MODE_CARD_FACE_OR_PIN ​ |Card + Face/​PIN ​ |
 +|27  |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_OR_PIN ​ |Card + Fingerprint/​PIN ​ |
 +|28  |BS2_EXT_AUTH_MODE_CARD_FACE_OR_FINGERPRINT_OR_PIN ​ |Card + Face/​Fingerprint/​PIN ​ |
 +|29  |BS2_EXT_AUTH_MODE_CARD_FACE_FINGERPRINT ​ |Card + Face + Fingerprint ​ |
 +|30  |BS2_EXT_AUTH_MODE_CARD_FACE_PIN ​ |Card + Face + PIN  |
 +|31  |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_FACE ​ |Card + Fingerprint + Face  |
 +|32  |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_PIN ​ |Card + Fingerprint + PIN  |
 +|33  |BS2_EXT_AUTH_MODE_CARD_FACE_OR_FINGERPRINT_PIN ​ |Card + Face/​Fingerprint + PIN  |
 +|34  |BS2_EXT_AUTH_MODE_CARD_FACE_FINGERPRINT_OR_PIN ​ |Card + Face + Fingerprint/​PIN ​ |
 +|35  |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_FACE_OR_PIN ​ |Card + Fingerprint + Face/​PIN ​ |
 +|36  |BS2_EXT_AUTH_MODE_ID_FACE ​ |ID + Face  |
 +|37  |BS2_EXT_AUTH_MODE_ID_FINGERPRINT ​ |ID + Fingerprint ​ |
 +|38  |BS2_EXT_AUTH_MODE_ID_PIN ​ |ID + PIN  |
 +|39  |BS2_EXT_AUTH_MODE_ID_FACE_OR_FINGERPRINT ​ |ID + Face/​Fingerprint ​ |
 +|40  |BS2_EXT_AUTH_MODE_ID_FACE_OR_PIN ​ |ID + Face/​PIN ​ |
 +|41  |BS2_EXT_AUTH_MODE_ID_FINGERPRINT_OR_PIN ​ |ID + Fingerprint/​PIN ​ |
 +|42  |BS2_EXT_AUTH_MODE_ID_FACE_OR_FINGERPRINT_OR_PIN ​ |ID + Face/​Fingerprint/​PIN ​ |
 +|43  |BS2_EXT_AUTH_MODE_ID_FACE_FINGERPRINT ​ |ID + Face + Fingerprint ​ |
 +|44  |BS2_EXT_AUTH_MODE_ID_FACE_PIN ​ |ID + Face + PIN  |
 +|45  |BS2_EXT_AUTH_MODE_ID_FINGERPRINT_FACE ​ |ID + Fingerprint + Face  |
 +|46  |BS2_EXT_AUTH_MODE_ID_FINGERPRINT_PIN ​ |ID + Fingerprint + PIN  |
 +|47  |BS2_EXT_AUTH_MODE_ID_FACE_OR_FINGERPRINT_PIN ​ |ID + Face/​Fingerprint + PIN  |
 +|48  |BS2_EXT_AUTH_MODE_ID_FACE_FINGERPRINT_OR_PIN ​ |ID + Face + Fingerprint/​PIN ​ |
 +|49  |BS2_EXT_AUTH_MODE_ID_FINGERPRINT_FACE_OR_PIN ​ |ID + Fingerprint + Face/​PIN ​ |
 +</​WRAP>​
 +2. //​useGlobalAPB//​ \\ 
 +This flag determines whether to enable Global APB zone. \\ \\ 
 +3. //​globalAPBFailAction//​ \\ 
 +This is a basic action to be performed when the device cannot query the server for Global APB violation. ​ \\
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |Do not check APB  |
 +|1  |Soft APB  |
 +|2  |Hard APB  |
 +</​WRAP>​
 +4. //​useGroupMatching//​ \\
 +Enables facial group matching. \\ \\
 +5. //​reserved//​ \\ 
 +Reserved space. \\ \\ 
 +6. //​reserved2//​ \\ 
 +Reserved space. \\ \\ 
 +7. //​usePrivateAuth//​ \\ 
 +Enable private authentication mode. \\ \\ 
 +8. //​faceDetectionLevel//​ \\ 
 +This is the face detection level value when authenticating the user in BioStation A2, and if a face is detected at a level lower than the specified level, it is treated as an authentication failure.\\
 +When enabled, the camera view according to Normal/​Strict is displayed, and access is denied if the image log is not recognized as a face when successful authentication. The default is 0. \\
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |Do not detect face  |
 +|1  |Normal mode  |
 +|2  |Strict mode  |
 +</​WRAP>​
 +<WRAP info>
 +It is available only in BioStation A2, not available in FaceStation2 or FaceLite. ​
 +</​WRAP>​
 +9. //​useServerMatching//​ \\ 
 +Enable server matching for fingerprint matching or facial matching. \\ \\ 
 +10. //​useFullAccess//​ \\ 
 +This parameter is not in use. \\ \\ 
 +11. //​matchTimeout//​ \\ 
 +The maximum response time in fingerprint or facial matching and the unit is seconds(sec). \\ \\
 +12. //​authTimeout//​ \\ 
 +The maximum response time in user authentication and the unit is seconds(sec). ​ \\ \\
 +13. //​numOperators//​ \\ 
 +The number of operators. \\ \\ 
 +14. //​reserved3//​ \\ 
 +Reserved \\ \\ 
 +15. //userID// \\ 
 +User ID \\ \\ 
 +16. //level// \\ 
 +It specifies the corresponding level of the user when the user is authenticated.\\ ​
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |No level  |
 +|1  |Operator level  |
 +|2  |System configuration level  |
 +|3  |User information level  |
 +</​WRAP>​
 +<WRAP alert>
 +**CAUTION**\\
 +You must specify the number of operators to be added in the field **//​numOperators//​** when adding operators. ​
 +</​WRAP>​
 +17. //​reserved//​ \\ 
 +Reserved \\ 
 +18. //​reserved4//​ \\ 
 +Reserved \\ \\ 
 +
 +
 +==== BS2FaceConfigExt ====
 +<code cpp>
 +typedef struct {
 +    uint8_t thermalCheckMode;​
 +    uint8_t maskCheckMode;​
 +    uint8_t reserved[2];​
 +
 +    uint8_t thermalFormat;​
 +    uint8_t reserved2;
 +
 +    uint16_t thermalThresholdLow;​
 +    uint16_t thermalThresholdHigh;​
 +    uint8_t maskDetectionLevel;​
 +    uint8_t auditTemperature;​
 +
 +    uint8_t useRejectSound;​
 +    uint8_t useOverlapThermal;​
 +    uint8_t useDynamicROI;​
 +    uint8_t faceCheckOrder;​
 +} BS2FaceConfigExt;​
 +</​code>​
 +1. //​thermalCheckMode//​ \\ 
 +Sets the thermal check mode. \\
 +When set to HARD, access is denied if exceeding the thermalThreshold. \\
 +When set to SOFT, access is not affected even if exceeding the thermalThreshold but leaves a related log. \\
 +If thermalCheckMode is set to No use(0), \\
 +The settings of thermalFormat,​ thermalThreshold,​ auditTemperature,​ and useOverlapThermal are ignored. \\
 +And the reject sound due to thermal check by useRejectSound,​ the temperature check by faceCheckOrder is ignored. \\
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^Default ​ ^
 +|0  |No use  |Default ​ |
 +|1  |Thermal Check Mode (HARD) ​ |  |
 +|2  |Thermal Check Mode (SOFT) ​ |  |
 +</​WRAP>​
 +2. //​maskCheckMode//​ \\ 
 +''​FaceStation F2''​ 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 SOFT, access is not affected even if not detecting any mask on the face based on maskDetectionLevel but leaves a related log. \\
 +If maskCheckMode is set to No use(0), \\
 +The setting of maskDetectionLevel is ignored. \\
 +And the reject sound due to mask detection check by useRejectSound,​ the mask detection check by faceCheckOrder is ignored. \\
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^Default ​ ^
 +|0  |No use  |Default ​ |
 +|1  |Mask Check Mode (HARD) ​ |  |
 +|2  |Mask Check Mode (SOFT) ​ |  |
 +</​WRAP>​
 +3. //​reserved//​ \\ 
 +Reserved \\ \\
 +4. //​thermalFormat//​ \\
 +Represents the temperature unit. You may choose the unit in Fahrenheit or Celsius \\
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^Default ​ ^
 +|0  |Fahrenheit ​  ​| ​ |
 +|1  |Celsius |Default ​ |
 +</​WRAP>​
 +5. //​reserved2//​ \\ 
 +Reserved \\ \\
 +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. \\
 +Also, you can only enter in degrees Celsius. \\
 +This value is the basis for the denial of authentication,​ and the setting range is between 100 (1º) and 4500 (45º). \\
 +The default value is 3200 (32º), and if a value larger or smaller than the setting range is entered, the default value a set to 3200 (32º). \\
 +And you must set a value less than thermalThresholdHigh. \\ \\
 +7. //​thermalThresholdHigh//​ \\
 +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. \\
 +This value is the basis for the denial of authentication,​ and the setting range is between 100 (1º) and 4500 (45º). \\
 +The default value is 3800 (38º), and if a value larger or smaller than the setting range is entered, the default value a set to 3800 (38º). \\
 +And you must set a value greater than thermalThresholdLow. \\ \\
 +8. //​maskDetectionLevel//​ \\
 +''​FaceStation F2''​ Sets the mask detection level. The detecting level is based on internal setting value. \\
 +''​FaceStation 2''​ This setting is ignored. \\ 
 +<WRAP group 50%>
 +^Value ^Description ​ ^Default ​ ^
 +|0  |No detection ​ |Default ​ |
 +|1  |Detection level (Normal) ​ |  |
 +|2  |Detection level (High) ​ |  |
 +|3  |Detection level (Very high)  |  |
 +</​WRAP>​
 +9. //​auditTemperature//​ \\ 
 +Decides whether the measured temperature is recorded in the log or not. \\ \\
 +10. //​useRejectSound//​ \\
 +Decides whether it sounds when rejecting a user due to thermalThreshold or maskDetectionLevel. \\ \\
 +11. //​useOverlapThermal//​ \\
 +Displays a thermal image overlaid on the screen. \\ \\
 +12. //​useDynamicROI//​ \\ 
 +When set to true, when measuring temperature,​ the user's forehead is found and measured, not a fixed area. \\ \\
 +13. //​faceCheckOrder//​ \\ 
 +It defines the sequence of thermal check and mask detection and authentication. \\
 +Because the user should touch the device in the case of ID combination authentication or PIN combination authentication,​\\
 +it is important to decide whether the device authenticates before all check modes or afterward especially in a high-risk environment.\\
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^Default ​ ^
 +Authentication before Temperature check or Mask detection check 
 +|0  |Check after authentication | Default ​ |
 +|1  |Check before authentication ​ |  |
 +|2  |No authentication,​ check only  |  |
 +</​WRAP>​
 +
 +
 +
 +
 +==== BS2ThermalCameraConfig ====
 +<code cpp>
 +typedef struct {
 +    uint8_t distance;
 +    uint8_t emissionRate;​
 +
 +    struct {
 +        uint16_t x;
 +        uint16_t y;
 +        uint16_t width;
 +        uint16_t height;
 +    } roi;
 +
 +    uint8_t useBodyCompensation;​
 +    int8_t compensationTemperature;​
 +} BS2ThermalCameraConfig;​
 +</​code>​
 +1. //​distance//​ \\ 
 +The distance measured by the thermal imaging camera. The unit is cm, and the default is 100. \\ \\
 +2. //​emissionRate//​ \\
 +The emissivity of the subject reflecting heat. \\
 +It is recommended to enter within the [95/97/98] range. If the subject is a human, 98 is recommended. \\ \\
 +3. //roi// \\
 +ROI (Region of interest) refers to the region of interest. \\
 +It can be specified through coordinates (x, y) and range (width, height) values when measuring temperature on the face. \\ \\
 +4. //​useBodyCompensation//​ \\ 
 +It decides whether to use the compensate the body temperature. \\ \\
 +5. //​compensationTemperature//​ \\
 +There may be a slight difference between the actual body temperature and the body temperature measurement using the camera, and you can correct the difference by setting a value here. \\
 +It must be as the value multiplied by 10 of the temperature to be set. The value is available -50 ~ +50 \\ \\
 +