차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
ko:configuration_api [2020/06/01 17:06]
kkshin [BS2Action]
ko:configuration_api [2021/05/27 15:39]
kkshin [BS2BarcodeConfig]
줄 35: 줄 35:
   * [[BS2_GetWiegandDeviceConfig]]:​ Wiegand 신호 설정 정보를 가져옵니다.   * [[BS2_GetWiegandDeviceConfig]]:​ Wiegand 신호 설정 정보를 가져옵니다.
   * [[BS2_SetWiegandDeviceConfig]]:​ Wiegand 신호 설정 정보를 저장합니다.   * [[BS2_SetWiegandDeviceConfig]]:​ Wiegand 신호 설정 정보를 저장합니다.
-  * [[BS2_GetInputConfig]]:​ 입력 포트 설정 정보를 가져옵니다. +  * [[BS2_GetInputConfig]]: ​Suprevised ​입력 포트 설정 정보를 가져옵니다. 
-  * [[BS2_SetInputConfig]]:​ 입력 포트 설정 정보를 저장합니다.+  * [[BS2_SetInputConfig]]: ​Supervised ​입력 포트 설정 정보를 저장합니다.
   * [[BS2_GetWlanConfig]]:​ 무선랜 설정 정보를 가져옵니다.   * [[BS2_GetWlanConfig]]:​ 무선랜 설정 정보를 가져옵니다.
   * [[BS2_SetWlanConfig]]:​ 무선랜 설정 정보를 저장합니다.   * [[BS2_SetWlanConfig]]:​ 무선랜 설정 정보를 저장합니다.
줄 70: 줄 70:
   * [[BS2_GetDesFireCardConfigEx]]:​ [+ 2.6.4] DesFire 카드 고급설정 정보를 가져옵니다.   * [[BS2_GetDesFireCardConfigEx]]:​ [+ 2.6.4] DesFire 카드 고급설정 정보를 가져옵니다.
   * [[BS2_SetDesFireCardConfigEx]]:​ [+ 2.6.4] DesFire 카드 고급설정 정보를 저장합니다.   * [[BS2_SetDesFireCardConfigEx]]:​ [+ 2.6.4] DesFire 카드 고급설정 정보를 저장합니다.
 +  * [[BS2_GetAuthConfigExt]]:​ [+ 2.7.1] ''​FaceStation F2''​ 인증 설정 정보를 가져옵니다.
 +  * [[BS2_SetAuthConfigExt]]:​ [+ 2.7.1] ''​FaceStation F2''​ 인증 설정 정보를 저장합니다.
 +  * [[BS2_GetFaceConfigExt]]:​ [+ 2.7.1] ''​FaceStation F2, FaceStation2''​ 열화상 감지와 마스크 착용 체크를 위한 설정 정보를 가져옵니다.
 +  * [[BS2_SetFaceConfigExt]]:​ [+ 2.7.1] ''​FaceStation F2, FaceStation2''​ 열화상 감지와 마스크 착용 체크를 위한 설정 정보를 저장합니다.
 +  * [[BS2_GetThermalCameraConfig]]:​ [+ 2.7.1] ''​FaceStation F2, FaceStation2''​ 열화상 카메라 설정을 가져옵니다.
 +  * [[BS2_SetThermalCameraConfig]]:​ [+ 2.7.1] ''​FaceStation F2, FaceStation2''​ 열화상 카메라 설정을 저장합니다.
 +  * [[BS2_GetBarcodeConfig]]:​ [+ 2.8] ''​X-Station 2''​ Barcode 관련 설정을 가져옵니다.
 +  * [[BS2_SetBarcodeConfig]]:​ [+ 2.8] ''​X-Station 2''​ Barcode 관련 설정을 저장합니다.
 +
 ===== 구조체 ===== ===== 구조체 =====
 ==== BS2FactoryConfig ==== ==== BS2FactoryConfig ====
줄 358: 줄 367:
     uint8_t homeFormation;​     uint8_t homeFormation;​
     BS2_BOOL 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];​
-    uint8_t reserved1[32];+    ​uint8_t useScreenSaver;​ 
 +    ​uint8_t reserved1[31];
 } BS2DisplayConfig;​ } BS2DisplayConfig;​
 </​code>​ </​code>​
줄 401: 줄 411:
 </​WRAP>​ </​WRAP>​
 6. //​menuTimeout//​ \\  6. //​menuTimeout//​ \\ 
-사용자의 장치 조작이 없을 때 잠금 화면으로 전환되는 시간이며 단위는 초(sec)를 사용합니다. 0-255 sec로 설정할 수 있습으며. 0으로 설정되면 잠금 화면으로 전환되지 않습니다.\\ ​\\ +사용자의 장치 조작이 없을 때 잠금 화면으로 전환되는 시간이며 단위는 초(sec)를 사용합니다. 0-255 sec로 설정할 수 있습으며. 0으로 설정되면 잠금 화면으로 전환되지 않습니다.\\ ​ 
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|0  |메뉴화면 유지 지속 ​ | 
 +|10  |메뉴화면 유지 10초  | 
 +|20  |메뉴화면 유지 20초 (기본값) ​ | 
 +|30  |메뉴화면 유지 30초  | 
 +|40  |메뉴화면 유지 40초  | 
 +|50  |메뉴화면 유지 50초  | 
 +|60  |메뉴화면 유지 60초  | 
 +</​WRAP>​
 7. //​msgTimeout//​ \\  7. //​msgTimeout//​ \\ 
-메시지 화면이 자동으로 사라지는 시간이며 단위는 밀리초(ms)를 사용합니다. 500-5000 ms로 설정할 수 있습니다.\\ ​\\ +메시지 화면이 자동으로 사라지는 시간이며 단위는 밀리초(ms)를 사용합니다. 500-5000 ms로 설정할 수 있습니다.\\ ​ 
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|500  |메시지 화면 유지 500밀리초 ​ | 
 +|1000  |메시지 화면 유지 1초  | 
 +|2000  |메시지 화면 유지 2초 (기본값) ​ | 
 +|3000  |메시지 화면 유지 3초  | 
 +|4000  |메시지 화면 유지 4초  | 
 +|5000  |메시지 화면 유지 5초  | 
 +</​WRAP>​
 8. //​backlightTimeout//​ \\  8. //​backlightTimeout//​ \\ 
-백라이트 유지 시간이며 단위는 초(sec)를 사용합니다. \\ \\ +백라이트 유지 시간이며 단위는 초(sec)를 사용합니다. \\  
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|0  |백라이트 유지 0초  | 
 +|10  |백라이트 유지 10초  | 
 +|20  |백라이트 유지 20초 (기본값) ​ | 
 +|30  |백라이트 유지 30초  | 
 +|40  |백라이트 유지 40초  | 
 +|50  |백라이트 유지 50초  | 
 +|60  |백라이트 유지 60초  | 
 +</​WRAP>​
 9. //​displayDateTime//​ \\  9. //​displayDateTime//​ \\ 
 화면에 시간을 표시할지 결정하는 flag입니다.\\ \\  화면에 시간을 표시할지 결정하는 flag입니다.\\ \\ 
줄 430: 줄 469:
 13. //​useUserPhrase//​ \\ 13. //​useUserPhrase//​ \\
 인증시 개인메시지 표시 여부입니다. \\ \\  인증시 개인메시지 표시 여부입니다. \\ \\ 
-14. //reserved// \\  +14. //queryUserPhrase// \\  
-예약된 공간입니다. \\ \\ +true로 설정 시, 개인인증 메시지를 서버에 묻습니다. \\ \\ 
 15. //​shortcutHome//​ \\  15. //​shortcutHome//​ \\ 
 homeFormation과 관련된 변수로 추후 적용 예정입니다. \\ \\  homeFormation과 관련된 변수로 추후 적용 예정입니다. \\ \\ 
 16. //tnaIcon// \\  16. //tnaIcon// \\ 
 장치내에서 근태 코드값에 해당하는 아이콘을 보여줄 때 사용합니다. \\ \\  장치내에서 근태 코드값에 해당하는 아이콘을 보여줄 때 사용합니다. \\ \\ 
-17. //​reserved1//​ \\ +17. //​useScreenSaver//​ \\  
 +''​FaceStation 2'',​ ''​FaceStation F2''​ true로 설정 시, 화면보호기가 활성화됩니다. \\ \\ 
 +18. //​reserved1//​ \\ 
 예약된 공간입니다. \\  예약된 공간입니다. \\ 
  
줄 766: 줄 807:
 ==== BS2Rs485Config ==== ==== BS2Rs485Config ====
 <code cpp> <code cpp>
 +typedef struct {
 +    uint8_t supportConfig;​
 +    uint8_t useExceptionCode;​
 +    uint8_t exceptionCode[BS2_RS485_MAX_FAIL_CODE_LEN];​
 +    uint8_t outputFormat;​
 +    uint8_t osdpID;
 +    uint8_t reserved[4];​
 +} BS2IntelligentPDInfo;​
 +
 typedef struct { typedef struct {
     uint32_t baudRate;     uint32_t baudRate;
줄 779: 줄 829:
     uint8_t numOfChannels;​     uint8_t numOfChannels;​
     uint8_t reserved[2];​     uint8_t reserved[2];​
-    uint8_t reserved1[32];+    ​BS2IntelligentPDInfo intelligentInfo;​ 
 +    ​uint8_t reserved1[16];
     BS2Rs485Channel channels[BS2_RS485_MAX_CHANNELS];​     BS2Rs485Channel channels[BS2_RS485_MAX_CHANNELS];​
 } BS2Rs485Config;​ } BS2Rs485Config;​
 </​code>​ </​code>​
-1. //​baudRate//​ \\ +1. //​supportConfig//​ \\  
 +''​[+V2.8]''​ 이 값이 0으로 전달되면 장치는 아래의 Intelligent PD(Peripheral Device) 관련 설정들을 모두 무시하게 됩니다. \\ \\ 
 +2. //​useExceptionCode//​ \\  
 +''​[+V2.8]''​ 예외코드를 전송을 사용할지의 여부를 설정합니다. \\ \\ 
 +3. //​exceptionCode//​ \\  
 +''​[+V2.8]''​ 인증에 실패하거나,​ 인증 성공이지만 카드가 등록되어있지 않은 사용자의 경우 예외코드를 내보낼 수 있습니다. \\ 
 +이때 사용할 예외코드를 설정합니다. \\ 
 +만일 예외코드가 0(0x0000000000000000)이라면 예외코드가 발생되지 않습니다. \\ \\ 
 +4. //​outputFormat//​ \\  
 +''​[+V2.8]''​ 인증 성공 시 내보내어지는 정보를 지정할 수 있습니다. \\ 
 +0 이면 카드ID가,​ 1 이면 사용자ID가 출력됩니다. \\ \\ 
 +5. //osdpID// \\  
 +''​[+V2.8]''​ 동일한 ACU에 연결된 장치들을 서로 구분시켜주기위해 사용되어지는 값으로, \\ 
 +0~127 사이의 unique한 값을 설정해 지정하여주면 됩니다. \\ \\ 
 +6. //​reserved//​ \\  
 +''​[+V2.8]''​ 예약된 공간입니다.\\ \\  
 +\\ 
 +7. //​baudRate//​ \\ 
 RS485 통신 속도이며 설정할 수 있는 범위는 다음과 같습니다. \\ RS485 통신 속도이며 설정할 수 있는 범위는 다음과 같습니다. \\
 <WRAP group 50%> <WRAP group 50%>
줄 793: 줄 861:
 |115200 ​ | |115200 ​ |
 </​WRAP>​ </​WRAP>​
-2. //​channelIndex//​ \\  +8. //​channelIndex//​ \\  
-RS485 network의 통신 채널 번호입니다. \\ \\ +(사용자 설정 불가) ​RS485 network의 통신 채널 번호입니다. \\ \\ 
-3. //​useRegistance//​ \\  +9. //​useRegistance//​ \\  
-종단 저항을 설정할지 결정하는 flag입니다. \\ \\ +종단 저항을 설정할지 결정하는 flag입니다. ​- 동작에 영향 없음 ​\\ \\ 
-4. //​numOfDevices//​ \\ +10. //​numOfDevices//​ \\ 
 슬레이브 장치의 개수입니다.\\ \\ 슬레이브 장치의 개수입니다.\\ \\
-5. //​slaveDevices//​ \\ +11. //​reserved//​ \\  
 +예약된 공간입니다.\\ \\  
 +12. //​slaveDevices//​ \\ 
 슬레이브 장치를 나열한 리스트로 최대 32개까지 정의할 수 있습니다.\\ \\ 슬레이브 장치를 나열한 리스트로 최대 32개까지 정의할 수 있습니다.\\ \\
-6. //mode// \\ +\\ 
 +13. //mode// \\ 
 RS485 네트워크에서 어떤 모드로 동작할지 결정하는 flag입니다 .\\ RS485 네트워크에서 어떤 모드로 동작할지 결정하는 flag입니다 .\\
 <WRAP group 50%> <WRAP group 50%>
줄 810: 줄 881:
 |3  |Standalone ​ | |3  |Standalone ​ |
 </​WRAP>​ </​WRAP>​
-7. //​numOfChannels//​ \\ +14. //​numOfChannels//​ \\ 
 RS485 채널의 개수입니다.\\ \\  RS485 채널의 개수입니다.\\ \\ 
-8. //​reserved//​ \\ +15. //​reserved//​ \\ 
 예약된 공간입니다.\\ \\  예약된 공간입니다.\\ \\ 
-9. //​reserved1//​ \\ +16. //​intelligentInfo//​ \\  
 +''​[+V2.8]''​ Intelligent PD 정보입니다.\\ 
 +mode가 default(Standalone)인 경우에만 동작됩니다. \\ \\ 
 +17. //​reserved1//​ \\ 
 예약된 공간입니다.\\ \\ 예약된 공간입니다.\\ \\
-10. //​channels//​ \\ +18. //​channels//​ \\ 
 RS485 채널을 나열한 리스트로 최대 4개까지 설정할 수 있습니다.\\ \\  RS485 채널을 나열한 리스트로 최대 4개까지 설정할 수 있습니다.\\ \\ 
  
줄 841: 줄 915:
     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>​
줄 912: 줄 987:
 Mifare 또는 EM 카드를 사용할 때 Wiegand out을 어떤 형식으로 처리할 것인지 결정하는 인덱스입니다. Mifare 또는 EM 카드를 사용할 때 Wiegand out을 어떤 형식으로 처리할 것인지 결정하는 인덱스입니다.
 설정하기 전에 [[configuration api#​BS2CardConfig]] 구조체의 //​useWiegandFormat//​ 값을 확인하십시오. \\ \\ 설정하기 전에 [[configuration api#​BS2CardConfig]] 구조체의 //​useWiegandFormat//​ 값을 확인하십시오. \\ \\
-17. //​reserved//​ \\ +17. //​useWiegandUserID//​ \\ 
 +Wiegand 출력시 Card ID 또는 사용자 ID를 선택적으로 출력할 수 있도록 결정하는 플래그 입니다. \\ 
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|0  |사용 안함 ​ | 
 +|1  |Card ID  | 
 +|2  |사용자 ID  | 
 +</​WRAP>​ 
 +18. //​reserved//​ \\ 
 예약된 공간입니다.\\ ​ 예약된 공간입니다.\\ ​
  
줄 1316: 줄 1399:
 26. //type// \\  26. //type// \\ 
 Action 유형입니다. \\ Action 유형입니다. \\
 +<WRAP round important 60%>
 +<wrap em>​[DoorModule-20,​ CoreStation-40]</​wrap>​ \\
 +Action type이 relay 또는 TTL(Output)이면서,​ action 장치가 DM20, CS40 이라면, ​
 +action type은 relay action (6) 으로만 설정하여야 합니다. (TTL 설정불가) \\ \\
 +<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%>
 ^값  ^설명 ​ ^ ^값  ^설명 ​ ^
줄 1548: 줄 1644:
 예약된 공간입니다.\\ \\ 예약된 공간입니다.\\ \\
  
-==== BS2FaceConfig====+==== BS2FaceConfig ====
 <code cpp> <code cpp>
 typedef struct { typedef struct {
줄 1562: 줄 1658:
     uint8_t ​      ​previewOption;​     uint8_t ​      ​previewOption;​
     bool          checkDuplicate;​     bool          checkDuplicate;​
-    uint8_t ​      reserved[2];+    uint8_t ​      operationMode;​ 
 +    uint8_t ​      ​maxRotation;
  
-    uint8_t ​      ​reserved2[26];+    ​struct { 
 +        uint16_t ​ min; 
 +        uint16_t ​ max; 
 +    } faceWidth;​ 
 + 
 +    struct { 
 +        uint16_t ​ x; 
 +        uint16_t ​ width; 
 +    } searchRange;​ 
 + 
 +    ​uint8_t ​      ​reserved2[18];
 } BS2FaceConfig;​ } BS2FaceConfig;​
 </​code>​ </​code>​
줄 1582: 줄 1689:
 |1  |옥외 ​ | |1  |옥외 ​ |
 |2  |자동 ​ | |2  |자동 ​ |
 +|3  |[+V2.8] 사용 안함 ''​(FaceStation F2)'' ​ |
 </​WRAP>​ </​WRAP>​
 3. //​enrollThreshold//​ \\  3. //​enrollThreshold//​ \\ 
줄 1608: 줄 1716:
 </​WRAP>​ </​WRAP>​
 5. //​enrollTimeout//​ \\  5. //​enrollTimeout//​ \\ 
-얼굴 스캔 대기 시간으로 기본값은 60초입니다\\ \\+''​FaceStation2,​ FaceLite''​ : 얼굴 스캔 대기 시간으로 기본값은 60초입니다\\  
 +<WRAP group 60%> 
 +^값  ^설명 ​ ^ 
 +|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] ​ 얼굴 스캔 대기 시간으로 기본값은 20초입니다. ​\\  
 +<WRAP group 70%> 
 +^값  ^설명 ​ ^ 
 +|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//​ \\ 6. //​lfdLevel//​ \\
 [+ V2.6.3] 위조된 얼굴을 여과할 수 있는 민감도를 설정할 수 있습니다. \\ [+ V2.6.3] 위조된 얼굴을 여과할 수 있는 민감도를 설정할 수 있습니다. \\
 +''​FaceStation2,​ FaceLite''​ : 기본값은 0입니다. \\
 +''​FaceStation F2''​ : [+ V2.7.1] 기본값이 1입니다. \\
 <WRAP group 50%> <WRAP group 50%>
 ^값  ^설명 ​ ^ ^값  ^설명 ​ ^
줄 1633: 줄 1756:
 9. //​checkDuplicate//​ \\ 9. //​checkDuplicate//​ \\
 [+ V2.6.4] true로 설정하면 중복된 얼굴 정보인지 판단합니다. \\ \\ [+ V2.6.4] true로 설정하면 중복된 얼굴 정보인지 판단합니다. \\ \\
-10. //reserved// \\  +10. //operationMode// \\  
-예약된 공간입니다.\\ \\ +[+ V2.7.1] ''​FaceStation F2''​ 아래의 동작 모드를 설정하며,​ 기본값은 Fusion 모드입니다. \\  
-11. //​reserved2//​ \\ +<WRAP group 50%> 
 +^값  ^모드 ​ ^설명 ​ ^기본값 ​ ^ 
 +|0  |Fusion 모드 |Visual matching + IR matching |기본 | 
 +|1  |Visual 모드 |Visual matching | | 
 +|2  |Visual + IR검출 |Visual matching, IR은 얼굴 검출만| | 
 +</​WRAP>​  
 +11. //​maxRotation//​ \\  
 +[+ V2.7.1] ''​FaceStation F2''​ 얼굴 검출 시 보통은 정면 일 것입니다. \\ 
 +하지만 FSF2는 얼굴 검출 시 정면에서 몇도 정도 회전(외곡된) 이미지인지 판단이 가능합니다. \\ 
 +이를 통해 일정 각도 이상 회전된 이미지의 경우 검출 실패 처리를 시킬 수 있습니다. \\ 
 +maxRotation은 이경우의 최대 허용치를 나타내며,​ 기본값은 15도 입니다. \\ \\ 
 +12. //​faceWidth//​ \\  
 +[+ V2.7.1] ''​FaceStation F2''​ 얼굴 이미지의 폭을 나타내며,​ 폭의 최소값, 최대값을 지정할 수 있습니다. \\ 
 +최소값, 최대값은 각각 66과 250를 기본값으로 갖습니다. \\ \\ 
 +13. //​searchRange//​ \\ 
 +[+ V2.7.1] ''​FaceStation F2''​ 얼굴 검색 범위를 나타내며,​ 범위의 x값(가로 좌표)과 x값 지점으로부터의 폭을 지정할 수 있습니다. \\ 
 +x값과 폭의 기본값은 각각 144, 432를 기본값으로 갖습니다. \\ \\ 
 +14. //​reserved2//​ \\ 
 예약된 공간입니다.\\ \\ 예약된 공간입니다.\\ \\
 +
 ==== BS2Rs485ConfigEX ==== ==== BS2Rs485ConfigEX ====
 <code cpp> <code cpp>
줄 1947: 줄 2088:
 8. //​reserved//​ \\ 8. //​reserved//​ \\
 예약된 공간입니다. \\  예약된 공간입니다. \\ 
 +
 +
 +==== 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//​ \\ 
 +각 인증 모드가 활성화될 때 실행할 일정 식별자입니다. \\ 
 +배열의 순서대로 아래의 의미를 가지며, \\
 +배열 내의 값이 0보다 큰경우 해당 인증모드는 활성화 되어 있습니다. \\
 +아래 설명 중 생체정보는 장치에 따라 지문 또는 얼굴을 의미합니다. \\
 +<WRAP group 70%>
 +^순서 ^의미 ​ ^설명 ​ ^
 +|11  |BS2_EXT_AUTH_MODE_FACE_ONLY ​ |얼굴 ​ |
 +|12  |BS2_EXT_AUTH_MODE_FACE_FINGERPRINT ​ |얼굴 + 지문 ​ |
 +|13  |BS2_EXT_AUTH_MODE_FACE_PIN ​ |얼굴 + PIN  |
 +|14  |BS2_EXT_AUTH_MODE_FACE_FINGERPRINT_OR_PIN ​ |얼굴 + 지문/​PIN ​ |
 +|15  |BS2_EXT_AUTH_MODE_FACE_FINGERPRINT_PIN ​ |얼굴 + 지문 + PIN  |
 +|16  |BS2_EXT_AUTH_MODE_FINGERPRINT_ONLY ​ |지문 ​ |
 +|17  |BS2_EXT_AUTH_MODE_FINGERPRINT_FACE ​ |지문 + 얼굴 ​ |
 +|18  |BS2_EXT_AUTH_MODE_FINGERPRINT_PIN ​ |지문 + PIN  |
 +|19  |BS2_EXT_AUTH_MODE_FINGERPRINT_FACE_OR_PIN ​ |지문 + 얼굴/​PIN ​ |
 +|20  |BS2_EXT_AUTH_MODE_FINGERPRINT_FACE_PIN ​ |지문 + 얼굴 + PIN  |
 +|21  |BS2_EXT_AUTH_MODE_CARD_ONLY ​ |카드 ​ |
 +|22  |BS2_EXT_AUTH_MODE_CARD_FACE ​ |카드 + 얼굴 ​ |
 +|23  |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT ​ |카드 + 지문 ​ |
 +|24  |BS2_EXT_AUTH_MODE_CARD_PIN ​ |카드 + PIN  |
 +|25  |BS2_EXT_AUTH_MODE_CARD_FACE_OR_FINGERPRINT ​ |카드 + 얼굴/​지문 ​ |
 +|26  |BS2_EXT_AUTH_MODE_CARD_FACE_OR_PIN ​ |카드 + 얼굴/​PIN ​ |
 +|27  |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_OR_PIN ​ |카드 + 지문/​PIN ​ |
 +|28  |BS2_EXT_AUTH_MODE_CARD_FACE_OR_FINGERPRINT_OR_PIN ​ |카드 + 얼굴/​지문/​PIN ​ |
 +|29  |BS2_EXT_AUTH_MODE_CARD_FACE_FINGERPRINT ​ |카드 + 얼굴 + 지문 ​ |
 +|30  |BS2_EXT_AUTH_MODE_CARD_FACE_PIN ​ |카드 + 얼굴 + PIN  |
 +|31  |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_FACE ​ |카드 + 지문 + 얼굴 ​ |
 +|32  |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_PIN ​ |카드 + 지문 + PIN  |
 +|33  |BS2_EXT_AUTH_MODE_CARD_FACE_OR_FINGERPRINT_PIN ​ |카드 + 얼굴/​지문 + PIN  |
 +|34  |BS2_EXT_AUTH_MODE_CARD_FACE_FINGERPRINT_OR_PIN ​ |카드 + 얼굴 + 지문/​PIN ​ |
 +|35  |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_FACE_OR_PIN ​ |카드 + 지문 + 얼굴/​PIN ​ |
 +|36  |BS2_EXT_AUTH_MODE_ID_FACE ​ |ID + 얼굴 ​ |
 +|37  |BS2_EXT_AUTH_MODE_ID_FINGERPRINT ​ |ID + 지문 ​ |
 +|38  |BS2_EXT_AUTH_MODE_ID_PIN ​ |ID + PIN  |
 +|39  |BS2_EXT_AUTH_MODE_ID_FACE_OR_FINGERPRINT ​ |ID + 얼굴/​지문 ​ |
 +|40  |BS2_EXT_AUTH_MODE_ID_FACE_OR_PIN ​ |ID + 얼굴/​PIN ​ |
 +|41  |BS2_EXT_AUTH_MODE_ID_FINGERPRINT_OR_PIN ​ |ID + 지문/​PIN ​ |
 +|42  |BS2_EXT_AUTH_MODE_ID_FACE_OR_FINGERPRINT_OR_PIN ​ |ID + 얼굴/​지문/​PIN ​ |
 +|43  |BS2_EXT_AUTH_MODE_ID_FACE_FINGERPRINT ​ |ID + 얼굴 + 지문 ​ |
 +|44  |BS2_EXT_AUTH_MODE_ID_FACE_PIN ​ |ID + 얼굴 + PIN  |
 +|45  |BS2_EXT_AUTH_MODE_ID_FINGERPRINT_FACE ​ |ID + 지문 + 얼굴 ​ |
 +|46  |BS2_EXT_AUTH_MODE_ID_FINGERPRINT_PIN ​ |ID + 지문 + PIN  |
 +|47  |BS2_EXT_AUTH_MODE_ID_FACE_OR_FINGERPRINT_PIN ​ |ID + 얼굴/​지문 + PIN  |
 +|48  |BS2_EXT_AUTH_MODE_ID_FACE_FINGERPRINT_OR_PIN ​ |ID + 얼굴 + 지문/​PIN ​ |
 +|49  |BS2_EXT_AUTH_MODE_ID_FINGERPRINT_FACE_OR_PIN ​ |ID + 지문 + 얼굴/​PIN ​ |
 +</​WRAP>​
 +2. //​useGlobalAPB//​ \\ 
 +광역 이중 인증 방지 구역을 활성화할지 결정하는 flag입니다. \\ \\ 
 +3. //​globalAPBFailAction//​ \\ 
 +광역 이중 인증 위반인지 BioStar 애플리케이션에 질의를 할 수 없거나 응답이 없을때 기본적으로 수행해야 할 동작입니다. \\
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |APB 검사 안함 ​ |
 +|1  |Soft APB로 동작 ​ |
 +|2  |Hard APB로 동작 ​ |
 +</​WRAP>​
 +4. //​useGroupMatching//​ \\
 +얼굴 그룹 매칭을 사용할지 결정하는 flag입니다. \\ \\
 +5. //​reserved//​ \\ 
 +예약된 공간입니다. \\ \\ 
 +6. //​reserved2//​ \\ 
 +예약된 공간입니다. \\ \\ 
 +7. //​usePrivateAuth//​ \\ 
 +개별 인증 모드를 사용할지 결정하는 flag입니다. \\ \\ 
 +8. //​faceDetectionLevel//​ \\ 
 +A2에서 사용자를 인증할 때 얼굴 검출 레벨값이며,​ 지정한 레벨보다 낮은 레벨로 얼굴이 검출되면 인증 실패로 처리됩니다.\\
 +설정하면 Normal/​Strict에 따른 카메라 뷰가 표시되며,​ 인증 성공 시의 이미지 로그가 얼굴로 인식되지 않으면 접근이 거부됩니다. 기본값은 0입니다. \\
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |얼굴 검출을 하지 않음 ​ |
 +|1  |Normal mode  |
 +|2  |Strict mode  |
 +</​WRAP>​
 +<WRAP info>
 +A2에서만 설정 가능하며,​ FaceStation2나 FaceLite에서는 사용되지 않습니다. ​
 +</​WRAP>​
 +9. //​useServerMatching//​ \\ 
 +지문 인증이나 얼굴 인식을 Matching server에서 수행할지 결정하는 flag입니다. \\ \\ 
 +10. //​useFullAccess//​ \\ 
 +사용하지 않는 변수입니다. \\ \\ 
 +11. //​matchTimeout//​ \\ 
 +지문 인증이나 얼굴 인식에서 최대 응답 시간이며 단위는 초(sec)를 사용합니다. \\ \\ 
 +12. //​authTimeout//​ \\ 
 +사용자 인증의 최대 응답 시간이며 단위는 초(sec)를 사용합니다. \\ \\ 
 +13. //​numOperators//​ \\ 
 +사용자 권한을 정의하는 operator의 개수입니다. \\ \\ 
 +14. //​reserved3//​ \\ 
 +예약된 공간입니다. \\ \\ 
 +15. //userID// \\ 
 +사용자 식별자입니다. \\ \\ 
 +16. //level// \\ 
 +사용자가 인증되었을 때 식별자에 해당하는 권한을 지정합니다. \\ 
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |권한 없음 ​ |
 +|1  |관리자 권한 ​ |
 +|2  |시스템 구성을 변경할 수 있는 권한 ​ |
 +|3  |사용자 정보를 변경할 수 있는 권한 ​ |
 +</​WRAP>​
 +<WRAP alert>
 +**주의**\\
 +Operator 추가 시, 추가하고자 하는 operator의 수를 **//​numOperators//​** 필드의 값으로 지정해야 합니다.
 +</​WRAP>​
 +17. //​reserved//​ \\ 
 +예약된 공간입니다. \\ 
 +18. //​reserved4//​ \\ 
 +예약된 공간입니다. \\ \\ 
 +
 +
 +==== 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//​ \\ 
 +열화상 감지 모드를 설정합니다. \\ 
 +HARD로 설정 시, 고열의 기준인 thermalThreshold를 초과하면,​ 출입에 영향을 주게됩니다. \\
 +SOFT로 설정 시, 고열의 기준인 thermalThreshold를 초과하면,​ 근거를 로그를 남기고 출입에 영향을 주지 않습니다. \\
 +thermalCheckMode가 사용안함(0)으로 설정되면,​ \\
 +thermalFormat,​ thermalThreshold,​ auditTemperature,​ useOverlapThermal 의 설정은 무시됩니다. \\
 +그리고 useRejectSound의 열화상 감지로 인한 sound발생이,​ faceCheckOrder의 발열 측정이 무시됩니다. \\
 +<WRAP group 50%>
 +^값  ^설명 ​ ^기본값 ​ ^
 +|0  |열화상 감지 사용 안함 ​ |기본값 ​ |
 +|1  |열화상 감지 사용 (HARD) ​ |  |
 +|2  |열화상 감지 사용 (SOFT) ​ |  |
 +</​WRAP>​
 +2. //​maskCheckMode//​ \\ 
 +''​FaceStation F2''​ 마스크 착용 감지 모드를 설정합니다. \\ 
 +''​FaceStation 2''​ 이 설정은 무시됩니다. \\ 
 +HARD로 설정 시, maskDetectionLevel에 근거하여 착용 위반이 감지되면,​ 출입에 영향을 주게됩니다. \\
 +SOFT로 설정 시, maskDetectionLevel에 근거하여 착용 위반이 감지되면,​ 근거를 로그를 남기고 출입에 영향을 주지 않습니다. \\
 +maskCheckMode가 사용안함(0)으로 설정되면,​ \\
 +maskDetectionLevel 의 설정은 무시됩니다. \\
 +그리고 useRejectSound의 마스크 착용으로 인한 sound발생이,​ faceCheckOrder의 마스크 착용 감지가 무시됩니다. \\
 +<WRAP group 50%>
 +^값  ^설명 ​ ^기본값 ​ ^
 +|0  |마스크 착용 감지 사용 안함 ​ |기본값 ​ |
 +|1  |마스크 착용 감지 사용 (HARD) ​ |  |
 +|2  |마스크 착용 감지 사용 (SOFT) ​ |  |
 +</​WRAP>​
 +3. //​reserved//​ \\ 
 +예약된 공간입니다. \\ \\
 +4. //​thermalFormat//​ \\
 +온도 단위를 나타내며,​ 화면상의 온도 표시를 화씨 또는 섭씨로 나타내도록 선택할 수 있습니다. \\
 +<WRAP group 50%>
 +^값  ^설명 ​ ^기본값 ​ ^
 +|0  |화씨 ​ |  |
 +|1  |섭씨 ​ |기본값 ​ |
 +</​WRAP>​
 +5. //​reserved2//​ \\ 
 +예약된 공간입니다. \\ \\
 +6. //​thermalThresholdLow//​ \\
 +''​지원 버전''​ : ''​FaceStation F2 V1.0.2'',​ ''​FaceStation 2 V1.5.0''​ \\ 
 +고열 판단 기준의 범위값이며,​ 설정 할 온도의 100을 곱한 값으로 입력하여야 합니다. \\
 +또한 섭씨 기준으로만 입력할 수 있습니다. \\
 +이 값은 인증 거부의 근거가 되며, 설정 범위는 섭씨로 100 (1º)에서 4500 (45º) 사이 입니다. \\
 +기본 값은 3200 (32º)이며,​ 설정 범위보다 크거나 작은 값을 입력 시 기본 값 3200 (32º)으로 설정됩니다. \\
 +그리고 thermalThresholdHigh보다 작은 값을 설정 하여야 합니다. \\ \\
 +7. //​thermalThresholdHigh//​ \\
 +고열 판단 기준의 범위값이며,​ 설정 할 온도의 100을 곱한 값으로 입력하여야 합니다. \\
 +또한 섭씨 기준으로만 입력할 수 있습니다. \\
 +이 값은 인증 거부의 근거가 되며, 설정 범위는 섭씨로 100 (1º)에서 4500 (45º) 사이 입니다. \\
 +기본 값은 3800(38º)이며,​ 설정 범위보다 크거나 작은 값을 입력 시 기본 값 3800 (38º)으로 설정됩니다. \\
 +그리고 thermalThresholdLow보다 큰 값을 설정 하여야 합니다. \\ \\
 +8. //​maskDetectionLevel//​ \\
 +''​FaceStation F2''​ 마스크 착용 감지 수준을 입력합니다. 여기서 감지 수준은 내부적으로 설정된 값에 근거합니다. \\
 +''​FaceStation 2''​ 이 설정은 무시됩니다. \\ 
 +<WRAP group 50%>
 +^값  ^설명 ​ ^기본값 ​ ^
 +|0  |착용 감지 안함 ​ |기본값 ​ |
 +|1  |감지수준 보통 ​ |  |
 +|2  |감지수준 높음 ​ |  |
 +|3  |감지수준 매우높음 ​ |  |
 +</​WRAP>​
 +9. //​auditTemperature//​ \\ 
 +측정 온도를 이벤트 로그에 기록할지 여부를 설정합니다. \\ \\
 +10. //​useRejectSound//​ \\
 +thermalThreshold 또는 maskDetectionLevel에 의해서 사용자 인증이 거부되는 경우, 효과음을 발생시킬지 여부를 설정합니다. \\ \\
 +11. //​useOverlapThermal//​ \\
 +화면상에 열화상 이미지를 중첩해서 표시합니다. \\ \\
 +12. //​useDynamicROI//​ \\ 
 +true로 설정하면,​ 온도 측정 시 고정 영역이 아닌 실제 사용자의 이마를 찾아 측정합니다. \\ \\
 +13. //​faceCheckOrder//​ \\ 
 +발열 측정 및 마스크 착용 감지와 인증절차에 대한 순서를 정의합니다. \\
 +ID를 조합한 인증이나,​ PIN을 조합한 인증의 경우, 장치에 접촉하게되는 절차를 거치게 되므로, \\
 +고위험군을 고려하는 환경이라면,​ 발열 측정 후 인증을 선택할지,​ 그 전에 인증을 수행할지에 대한 선택은 매우 중요한 요소입니다. \\
 +<WRAP group 50%>
 +^값  ^설명 ​ ^기본값 ​ ^
 +|0  |인증 후 발열 측정 및 마스크 착용 감지 ​ | 기본값 ​ |
 +|1  |발열 측정 및 마스크 착용 감지 후 인증 ​ |  |
 +|2  |인증 절차 생략. 발열 검사 및 마스크 착용 감지만 수행 ​ |  |
 +</​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//​ \\ 
 +열화상 카메라의 체온 측정 거리를 나타냅니다. 단위는 cm이며 기본값은 100 입니다. \\ \\
 +2. //​emissionRate//​ \\
 +피사체가 열을 방사하는 비율을 입력합니다. \\
 +[95/97/98] 범위내의 입력을 권장합니다. 피사체가 사람인 경우 적정 권장은 98 입니다. \\ \\
 +3. //roi// \\
 +ROI(Region of interest)는 관심영역을 의미하며,​ 얼굴에서 발열 측정 시, 관심 대상이되는 영역을 \\
 +좌표(x, y)와, 범위(width,​ height) 값을 통해서 지정할 수 있습니다. \\ \\
 +4. //​useBodyCompensation//​ \\ 
 +발열 측정된 체온의 보정을 사용할지 여부를 나타냅니다. \\ \\
 +5. //​compensationTemperature//​ \\
 +실제 체온측정값과,​ 카메라를 통한 체온측정은 약간의 차이가 존재할 수 있으며, 이곳에 값을 설정하여,​ 그 차이를 보정할 수 있습니다. \\
 +설정할 온도의 10을 곱한 값으로 입력하여야하며,​ 최소 -50에서 최대 50 사이의 값을 지정할 수 있습니다. \\ \\
 +
 +==== BS2BarcodeConfig ====
 +<code cpp>
 +typedef struct {
 +    uint8_t useBarcode;
 +    uint8_t scanTimeout;​
 +    uint8_t reserved[14];​
 +} BS2BarcodeConfig;​
 +</​code>​
 +1. //​useBarcode//​ \\ 
 +Barcode 사용여부 flag입니다. \\ \\ 
 +2. //​scanTimeout//​ \\ 
 +Barcode scan 시간을 설정합니다. 단위는 초입니다. \\
 +기본값은 4초이며, 4~10초 범위 내로 입력 가능합니다. \\ \\
 +3. //​reserved//​ \\ 
 +예약된 공간입니다. \\
 +