차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
ko:configuration_api [2021/08/07 15:48]
kkshin [BS2InputConfigEx]
ko:configuration_api [2024/04/04 13:53] (현재)
ghshin [BS2FaceConfig]
줄 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_GetAuthConfigExt]]:​ [+ 2.7.1] ''​FSF2''​ 인증 설정 정보를 가져옵니다. 
-  * [[BS2_SetAuthConfigExt]]:​ [+ 2.7.1] ''​FaceStation F2''​ 인증 설정 정보를 저장합니다. +  * [[BS2_SetAuthConfigExt]]:​ [+ 2.7.1] ''​FSF2''​ 인증 설정 정보를 저장합니다. 
-  * [[BS2_GetFaceConfigExt]]:​ [+ 2.7.1] ''​FaceStation F2FaceStation2''​ 열화상 감지와 마스크 착용 체크를 위한 설정 정보를 가져옵니다. +  * [[BS2_GetFaceConfigExt]]:​ [+ 2.7.1] ''​FSF2FS2''​ 열화상 감지와 마스크 착용 체크를 위한 설정 정보를 가져옵니다. 
-  * [[BS2_SetFaceConfigExt]]:​ [+ 2.7.1] ''​FaceStation F2FaceStation2''​ 열화상 감지와 마스크 착용 체크를 위한 설정 정보를 저장합니다. +  * [[BS2_SetFaceConfigExt]]:​ [+ 2.7.1] ''​FSF2FS2''​ 열화상 감지와 마스크 착용 체크를 위한 설정 정보를 저장합니다. 
-  * [[BS2_GetThermalCameraConfig]]:​ [+ 2.7.1] ''​FaceStation F2FaceStation2''​ 열화상 카메라 설정을 가져옵니다. +  * [[BS2_GetThermalCameraConfig]]:​ [+ 2.7.1] ''​FSF2FS2''​ 열화상 카메라 설정을 가져옵니다. 
-  * [[BS2_SetThermalCameraConfig]]:​ [+ 2.7.1] ''​FaceStation F2FaceStation2''​ 열화상 카메라 설정을 저장합니다. +  * [[BS2_SetThermalCameraConfig]]:​ [+ 2.7.1] ''​FSF2FS2''​ 열화상 카메라 설정을 저장합니다. 
-  * [[BS2_GetBarcodeConfig]]:​ [+ 2.8] ''​X-Station 2''​ Barcode 관련 설정을 가져옵니다. +  * [[BS2_GetBarcodeConfig]]:​ [+ 2.8] ''​XS2''​ Barcode 관련 설정을 가져옵니다. 
-  * [[BS2_SetBarcodeConfig]]:​ [+ 2.8] ''​X-Station 2''​ Barcode 관련 설정을 저장합니다.+  * [[BS2_SetBarcodeConfig]]:​ [+ 2.8] ''​XS2''​ Barcode 관련 설정을 저장합니다.
   * [[BS2_GetInputConfigEx]]:​ [+ 2.8.1] ''​IM-120''​ Input 관련 확장형 설정을 가져옵니다.   * [[BS2_GetInputConfigEx]]:​ [+ 2.8.1] ''​IM-120''​ Input 관련 확장형 설정을 가져옵니다.
   * [[BS2_SetInputConfigEx]]:​ [+ 2.8.1] ''​IM-120''​ Input 관련 확장형 설정을 저장합니다.   * [[BS2_SetInputConfigEx]]:​ [+ 2.8.1] ''​IM-120''​ Input 관련 확장형 설정을 저장합니다.
   * [[BS2_GetRelayActionConfig]]:​ [+ 2.8.1] ''​IM-120''​ RelayAction 관련 설정을 가져옵니다.   * [[BS2_GetRelayActionConfig]]:​ [+ 2.8.1] ''​IM-120''​ RelayAction 관련 설정을 가져옵니다.
   * [[BS2_SetRelayActionConfig]]:​ [+ 2.8.1] ''​IM-120''​ RelayAction 관련 설정을 저장합니다.   * [[BS2_SetRelayActionConfig]]:​ [+ 2.8.1] ''​IM-120''​ RelayAction 관련 설정을 저장합니다.
 +  * [[BS2_GetVoipConfigExt]]:​ [+ 2.8.3] ''​BS3''​ 확장형 VoIP 설정을 가져옵니다. 
 +  * [[BS2_SetVoipConfigExt]]:​ [+ 2.8.3] ''​BS3''​ 확장형 VoIP 설정을 저장합니다. 
 +  * [[BS2_GetRtspConfig]]:​ [+ 2.8.3] ''​BS3''​ RTSP 설정을 가져옵니다. 
 +  * [[BS2_SetRtspConfig]]:​ [+ 2.8.3] ''​BS3''​ RTSP 설정을 저장합니다. 
 +  * [[BS2_GetLicenseConfig]]:​ [+ 2.9.1] 장치 라이선스 활성화 정보를 가져옵니다. 
 +  * [[BS2_GetOsdpStandardConfig]]:​ [+ 2.9.1] 장치의 OSDP 설정 정보를 가져옵니다. 
 +  * [[BS2_GetOsdpStandardActionConfig]]:​ [+ 2.9.1] OSDP 장치의 action별 LED/buzzer 설정을 가져옵니다. 
 +  * [[BS2_SetOsdpStandardActionConfig]]:​ [+ 2.9.1] OSDP 장치의 action별 LED/buzzer 설정을 저장합니다. 
 +  * [[BS2_GetCustomCardConfig]]:​ [+ 2.9.4] Custom smart card 설정을 가져옵니다. 
 +  * [[BS2_SetCustomCardConfig]]:​ [+ 2.9.4] Custom smart card 설정을 저장합니다.
 ===== 구조체 ===== ===== 구조체 =====
 ==== BS2FactoryConfig ==== ==== BS2FactoryConfig ====
줄 189: 줄 198:
 예약된 공간입니다. \\ \\  예약된 공간입니다. \\ \\ 
 15. //​useCardOperationMask//​ \\ 15. //​useCardOperationMask//​ \\
-[+ V2.6.4] 모든 카드를 읽지 않고, 사용자 선택에 의해 카드 타입별로 읽을 수 있도록 옵션을 제공합니다. \\+[+ 2.6.4] 모든 카드를 읽지 않고, 사용자 선택에 의해 카드 타입별로 읽을 수 있도록 옵션을 제공합니다. \\
 MASK값은 조합을 통하여 중복 설정이 가능며, 사용자는 이 옵션을 통하여 카드 타입의 읽기를 추가 또는 제거할 수 있습니다. \\ MASK값은 조합을 통하여 중복 설정이 가능며, 사용자는 이 옵션을 통하여 카드 타입의 읽기를 추가 또는 제거할 수 있습니다. \\
 단, 장치가 지원할 수 있는 카드 타입에 한하며, 장치가 지원하지 않는 카드 읽기를 추가하는 경우 해당 설정은 무시됩니다. \\ 단, 장치가 지원할 수 있는 카드 타입에 한하며, 장치가 지원하지 않는 카드 읽기를 추가하는 경우 해당 설정은 무시됩니다. \\
 또한, 지원하고자하는 카드 타입의 마스크는 ''​CARD_OPERATION_USE''​와 조합해야 합니다.\\ 또한, 지원하고자하는 카드 타입의 마스크는 ''​CARD_OPERATION_USE''​와 조합해야 합니다.\\
 예를들어 EM카드만 읽을 수 있도록 설정하고자 한다면 useCardOperationMask에는 ''​0x80000001''​로 설정되어져야 합니다. 예를들어 EM카드만 읽을 수 있도록 설정하고자 한다면 useCardOperationMask에는 ''​0x80000001''​로 설정되어져야 합니다.
-<WRAP group 50%>+<WRAP group 60%>
 ^값  ^설명 ​ ^ ^값  ^설명 ​ ^
 |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 ​ |
줄 375: 줄 387:
     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>​
줄 481: 줄 494:
 17. //​useScreenSaver//​ \\  17. //​useScreenSaver//​ \\ 
 ''​FaceStation 2'',​ ''​FaceStation F2''​ true로 설정 시, 화면보호기가 활성화됩니다. \\ \\ ''​FaceStation 2'',​ ''​FaceStation F2''​ true로 설정 시, 화면보호기가 활성화됩니다. \\ \\
-18. //​reserved1//​ \\ +18. //​showOsdpResult//​ \\  
 +[+ 2.9.6] Intelligent slave나 타사 컨트롤러에 슈프리마 장치를 주변장치로 연결하여 사용하는 환경에서 \\ 
 +인증 결과를 장치 화면에 표시하도록 하는 옵션입니다. \\ 
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|0  |OSDP 인증결과 표시 (기본값) ​ | 
 +|1  |OSDP 인증결과 표시안함 ​ | 
 +</​WRAP>​ 
 +19. //​reserved1//​ \\ 
 예약된 공간입니다. \\  예약된 공간입니다. \\ 
  
줄 656: 줄 677:
     uint8_t formatID;     uint8_t formatID;
     uint8_t cipher;     uint8_t cipher;
-    uint8_t reserved[24];+    ​uint8_t smartCardByteOrder;​ 
 +    ​uint8_t reserved[22];
 } BS2CardConfig;​ } BS2CardConfig;​
 </​code>​ </​code>​
줄 722: 줄 744:
 23. //cipher// \\ 23. //cipher// \\
 Keypad로 card id를 입력받을 수 있도록 활성화 합니다. \\ Keypad로 card id를 입력받을 수 있도록 활성화 합니다. \\
-기본 값은 0이며, Xpass D2 Gangbox Keypad 만 유효합니다. \\+기본 값은 0이며, Xpass 2, Xpass D2의 Gangbox Keypad ​모델만 유효합니다. \\
 <WRAP group 50%> <WRAP group 50%>
 ^값  ^설명 ​ ^ ^값  ^설명 ​ ^
줄 728: 줄 750:
 |1  |활성화 ​ | |1  |활성화 ​ |
 </​WRAP>​ </​WRAP>​
-24. //reserved5// \\ +24. //smartCardByteOrder//​ \\ 
 +[+2.8.2] 이전까지 smart card의 data 영역에 쓰여진 카드정보는 MSB 방식으로 고정이었습니다. \\ 
 +이로인해 LSB 방식을 사용하는 일부 controller로의 연동시, byte 정보가 반전되어 전혀 다른값으로 출력되었습니다. \\ 
 +smartCardByteOrder 값으로, MSB/LSB 출력을 유연하게 변경할 수 있습니다. \\ 
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|0  |MSB  | 
 +|1  |LSB  | 
 +</​WRAP>​ 
 +25. //reserved// \\ 
 예약된 공간입니다. \\  예약된 공간입니다. \\ 
 ==== BS2FingerprintConfig ==== ==== BS2FingerprintConfig ====
줄 1200: 줄 1231:
     uint32_t deviceID;     uint32_t deviceID;
     uint8_t type;     uint8_t type;
-    uint8_t reserved[3];+    uint8_t reserved
 +    uint16_t ignoreSignalTime;
     ​     ​
     union {     union {
줄 1246: 줄 1278:
 |3|Schedule trigger| |3|Schedule trigger|
 </​WRAP>​ </​WRAP>​
 +11. //​reserved//​ \\ 
 +예약된 공간입니다. \\ \\
 +12. //​ignoreSignalTime//​ \\ 
 +[+2.9.6] 밀리초 단위로 지정하며 일정 시간 내 동일한 입력 신호가 반복적으로 입력되는 것을 무시하기 위한 설정입니다. \\
 +슈프리마 장치가 타사 컨트롤러와 wiegand로 연결된 환경에서 \\
 +특정 모델의 컨트롤러로부터 슈프리마 장치로 인증에 대한 피드백이 반복적으로 입력되는 경우 \\
 +이 설정을 통해 해당 시간만큼 강제로 입력 신호가 무시되도록 지정할 수 있습니다. \\ \\
  
 ==== BS2Action ==== ==== BS2Action ====
줄 1665: 줄 1704:
     uint8_t ​      ​maxRotation;​     uint8_t ​      ​maxRotation;​
  
 +    // Deprecated
     struct {     struct {
         uint16_t ​ min;         uint16_t ​ min;
줄 1670: 줄 1710:
     } faceWidth;     } faceWidth;
  
 +    // Deprecated
     struct {     struct {
         uint16_t ​ x;         uint16_t ​ x;
줄 1675: 줄 1716:
     } 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>​
 +
 1. //​securityLevel//​ \\  1. //​securityLevel//​ \\ 
 시스템 전반적으로 사용할 얼굴 인증 보안 레벨입니다. \\  시스템 전반적으로 사용할 얼굴 인증 보안 레벨입니다. \\ 
줄 1693: 줄 1744:
 |1  |옥외 ​ | |1  |옥외 ​ |
 |2  |자동 ​ | |2  |자동 ​ |
-|3  |[+V2.8] 사용 안함 ''​(FaceStation F2)'' ​ |+|3  |[+ 2.8] 사용 안함 ''​(FaceStation F2)'' ​ |
 </​WRAP>​ </​WRAP>​
 3. //​enrollThreshold//​ \\  3. //​enrollThreshold//​ \\ 
줄 1735: 줄 1786:
 </​WRAP>​ </​WRAP>​
 6. //​lfdLevel//​ \\ 6. //​lfdLevel//​ \\
-[+ V2.6.3] 위조된 얼굴을 여과할 수 있는 민감도를 설정할 수 있습니다. \\+[+ 2.6.3] 위조된 얼굴을 여과할 수 있는 민감도를 설정할 수 있습니다. \\
 ''​FaceStation2,​ FaceLite''​ : 기본값은 0입니다. \\ ''​FaceStation2,​ FaceLite''​ : 기본값은 0입니다. \\
-''​FaceStation F2''​ : [+ V2.7.1] 기본값이 1입니다. \\+''​FaceStation F2''​ : [+ 2.7.1] 기본값이 1입니다. \\
 <WRAP group 50%> <WRAP group 50%>
 ^값  ^설명 ​ ^ ^값  ^설명 ​ ^
줄 1746: 줄 1797:
 </​WRAP>​ </​WRAP>​
 7. //​quickEnrollment//​ \\ 7. //​quickEnrollment//​ \\
-[+ V2.6.3] 빠른 얼굴 등록 사용 여부를 설정할 수 있습니다. \\+[+ 2.6.3] 빠른 얼굴 등록 사용 여부를 설정할 수 있습니다. \\
 이 값을 true로 설정하면 얼굴 등록 절차가 1단계로 설정되며,​ false로 설정할 경우 3단계로 설정됩니다. \\ 이 값을 true로 설정하면 얼굴 등록 절차가 1단계로 설정되며,​ false로 설정할 경우 3단계로 설정됩니다. \\
 고품질의 얼굴 템플릿을 등록하려면 false를 설정하십시오. \\ \\ 고품질의 얼굴 템플릿을 등록하려면 false를 설정하십시오. \\ \\
 8. //​previewOption//​ \\ 8. //​previewOption//​ \\
-[+ V2.6.3] IR 인증 가이드를 의미하며,​ 얼굴 인증 시 preview 화면 출력 설정을 변경할 수 있습니다. \\+[+ 2.6.3] IR 인증 가이드를 의미하며,​ 얼굴 인증 시 preview 화면 출력 설정을 변경할 수 있습니다. \\
 ''​FaceLite''​에서만 사용됩니다. \\ ''​FaceLite''​에서만 사용됩니다. \\
 <WRAP group 50%> <WRAP group 50%>
줄 1759: 줄 1810:
 </​WRAP>​ </​WRAP>​
 9. //​checkDuplicate//​ \\ 9. //​checkDuplicate//​ \\
-[+ V2.6.4] true로 설정하면 중복된 얼굴 정보인지 판단합니다. \\ \\+[+ 2.6.4] true로 설정하면 중복된 얼굴 정보인지 판단합니다. \\ \\
 10. //​operationMode//​ \\  10. //​operationMode//​ \\ 
-[+ V2.7.1] ''​FaceStation F2''​ 아래의 동작 모드를 설정하며,​ 기본값은 Fusion 모드입니다. \\ +[+ 2.7.1] ''​FaceStation F2 V1.0.1''​미만은 ​아래의 동작 모드로 설정가능하며, 기본값은 Fusion 모드입니다. \\ 
 <WRAP group 50%> <WRAP group 50%>
 ^값  ^모드 ​ ^설명 ​ ^기본값 ​ ^ ^값  ^모드 ​ ^설명 ​ ^기본값 ​ ^
줄 1767: 줄 1818:
 |1  |Visual 모드 |Visual matching | | |1  |Visual 모드 |Visual matching | |
 |2  |Visual + IR검출 |Visual matching, IR은 얼굴 검출만| | |2  |Visual + IR검출 |Visual matching, IR은 얼굴 검출만| |
 +</​WRAP> ​
 +
 +''​FaceStation F2 V1.0.1''​이상,​ ''​BioStatoin 3'',​ ''​BioEntry W3''​는 아래와 같은 의미로 사용됩니다.
 +<WRAP group 50%>
 +^값  ^모드 ​ ^설명 ​ ^기본값 ​ ^
 +|0  |Fusion 모드 |Visual matching + IR matching |기본 |
 +|1  |Fast 모드 |Visual matching | |
 </​WRAP> ​ </​WRAP> ​
 11. //​maxRotation//​ \\  11. //​maxRotation//​ \\ 
-[+ V2.7.1] ''​FaceStation F2''​ 얼굴 검출 ​시 보통은 정면 일 것입니다. \\ +[+ 2.7.1] ''​FaceStation F2'' ​일반적인 상황에서 ​얼굴을 검출할 때 얼굴의 방향은 정면일 것입니다. \\ 
-하지만 FSF2는 얼굴 검출 시 정면에서 ​몇도 ​정도 회전된(곡된) 이미지인지 판단이 가능합니다. \\ +FaceStation F2는 얼굴 검출 시 정면에서 ​어느 ​정도 회전된(곡된) 이미지인지 판단할 수 있습니다. \\ 
-이를 통해 일정 각도 이상 회전된 이미지의 경우 검출 실패 처리를 ​시킬 ​수 있습니다. \\ +이를 통해 일정 각도 이상 회전된 이미지의 경우 검출 실패 처리를 ​할 수 있습니다. \\ 
-maxRotation은 이경우의 최대 허용치를 나타내며기본값은 15도 입니다. \\ \\+maxRotation은 이런 경우의 최대 허용치를 나타내며 기본값은 15도입니다. \\ \\ 
 +[+ 2.9.6] Angle 추가 정의 \\ 
 +<WRAP group 40%> 
 +^정의 ​ ^값  ^ 
 +|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//​ \\ 
-[+ V2.7.1] ''​FaceStation F2''​ 얼굴 이미지의 폭을 나타내며폭의 최소값, 최대값을 지정할 수 있습니다. \\ +[+ 2.7.1] ''​FaceStation F2''​ 얼굴 이미지의 폭을 나타내며 폭의 최소값, 최대값을 지정할 수 있습니다. \\  
-최소값, 최대값은 각각 66과 250를 ​기본값으로 갖습니다. \\ \\+최소값, 최대값의 기본값은 아래와 같습니다. \\ 
 +<WRAP group 30%> 
 +^  ^기본값(min) ​ ^기본값(max) ​ ^ 
 +|FSF2  |66  |250  | 
 +|BS3  |130  |350  | 
 +|BEW3  |130  |350  | 
 +</​WRAP> ​
 13. //​searchRange//​ \\ 13. //​searchRange//​ \\
-[+ V2.7.1] ''​FaceStation F2''​ 얼굴 ​검색 ​범위를 나타내며범위의 x값(가로 좌표)과 x값 지점으로부터의 폭을 지정할 수 있습니다. \\ +[+ 2.7.1] ''​FaceStation F2''​ 얼굴 ​감지 ​범위를 나타내며 범위의 x값(가로 좌표)과 x값으로부터의 폭을 지정할 수 있습니다. \\  
-x값과 폭의 기본값은 ​각각 ​144432를 기본값으로 ​습니다. \\ \\ +x값과 폭의 기본값은 ​아래와 같습니다. \\ 
-14. //reserved2// \\ +<WRAP group 30%> 
 +^  ^기본값(x) ​ ^기본값(width) ​ ^ 
 +|FSF2  |144  |432  | 
 +|BS3  |90  |540  | 
 +|BEW3  |90  |540  | 
 +</​WRAP>​  
 +14. //​detectDistance//​ \\ 
 +[+ 2.8.3] ''​BioStation 3''​ 얼굴 감지 거리의 최소값과 최대값을 설정합니다. \\ 
 +[+ 2.9.6] ''​FaceStation F2''​ ''​BioEntry W3''​ 기능추가. \\ 
 +픽셀 단위로 얼굴 위치를 지정하는 faceWidth는 사용하기 난해하므로 더 이상 사용하지 않습니다. \\ 
 +대신 피사체(얼굴)의 감지 거리를 얼마로 할지 만 정합니다. 거리는 cm로 설정하며,​ 10의 배수로 입력하여야 합니다. \\ 
 +<WRAP group 80%> 
 +^  ^최소 감지거리의 최소값 ​ ^최소 감지거리의 최대값 ​ ^최소 감지거리(기본값)  ^최대 감지거리의 최소값 ​ ^최대 감지거리의 최대값 ​ ^최대 감지거리(무제한) ​ ^최대 감지거리(기본값) ​ ^ 
 +|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>​  
 +15. //​wideSearch//​ \\ 
 +[+ 2.8.3] ''​BioStation 3''​ 얼굴 감지 범위를 넓힙니다. \\ 
 +x좌표와 width를 지정해야하는 난해한 설정인 searchRange는 더 이상 사용하지 않습니다. \\ 
 +대신 얼굴 감지를 표준(false) 설정으로 ​할지, 광역(true)으로 할지 여부만 지정합니다. \\ 
 +광역으로 감지하는 범위에 대한 세부 설정은 장치 내부 설정 값을 따릅니다. 사용자는 이 값을 변경할 수 없습니다. \\ \\ 
 +이 설정 값이 켜지면(true) 카메라를 통해 넓은 범위의 피사체를 찾아내므로,​ 피사체가 여럿이 되는 경우 의도치 않은 인증으로 연결될 수 있습니다. \\ 
 +기본 설정 값은 false입니다. \\ \\ 
 +16. //unused// \\ 
 +예약된 공간입니다.\\ \\ 
 +17. //​unableToSaveImageOfVisualFace//​ \\ 
 +[+ 2.9.6] Visual face를 크리덴셜로 사용하는 장치에서 얼굴 이미지를 장치에 저장할 것인지를 나타냅니다. \\ 
 +이 설정을 키면 장치 내 모든 사용자의 얼굴 정보 중 이미지 정보가 즉시 삭제되며 템플릿만 남게됩니다. \\ 
 +또한, [[BS2_EnrollUserFaceEx]] API를 통해 사용자 이미지가 포함된 얼굴 정보를 가져오더라도 장치는 이를 무시하게됩니다. \\ 
 +기본값은 false 이며, 얼굴과 이미지 모두 저장입니다. \\ \\ 
 +18. //reserved// \\
 예약된 공간입니다.\\ \\ 예약된 공간입니다.\\ \\
  
줄 2371: 줄 2478:
     uint8_t useBarcode;     uint8_t useBarcode;
     uint8_t scanTimeout;​     uint8_t scanTimeout;​
-    uint8_t reserved[14];+    ​uint8_t bypassData;​ 
 +    uint8_t treatAsCSN;​ 
 + 
 +    uint8_t useVisualBarcode;​ 
 +    uint8_t motionSensitivity;​ 
 +    uint8_t visualCameraScanTimeout;​ 
 +    ​uint8_t reserved[9];
 } BS2BarcodeConfig;​ } BS2BarcodeConfig;​
 </​code>​ </​code>​
 1. //​useBarcode//​ \\  1. //​useBarcode//​ \\ 
 +''​XS2-QR 만 지원''​
 Barcode 사용여부 flag입니다. \\ \\  Barcode 사용여부 flag입니다. \\ \\ 
 2. //​scanTimeout//​ \\  2. //​scanTimeout//​ \\ 
 Barcode scan 시간을 설정합니다. 단위는 초입니다. \\ Barcode scan 시간을 설정합니다. 단위는 초입니다. \\
 기본값은 4초이며, 4~10초 범위 내로 입력 가능합니다. \\ \\ 기본값은 4초이며, 4~10초 범위 내로 입력 가능합니다. \\ \\
-3. //​reserved//​ \\ +<WRAP group 50%> 
 +^값  ^매크로 ​ ^설명 ​ ^ 
 +|4  |BS2_BARCODE_TIMEOUT_DEFAULT ​ |기본값 ​ | 
 +|4  |BS2_BARCODE_TIMEOUT_MIN ​ |최소값 ​ | 
 +|10  |BS2_BARCODE_TIMEOUT_MAX ​ |최대값 ​ | 
 +</​WRAP>​ 
 +3. //​bypassData//​ \\  
 +[+2.8.2] 읽혀진 barcode 정보를 장치에서 처리하지 않고, 서버로 전송하기 위해 사용합니다. \\ 
 +사용자 인증을 위해 사용자 정보 구조체에 barcode 값을 저장하게되는 경우, \\ 
 +32 byte의 크기 제약([[smartcard_api#​BS2CSNCard|BS2CSNCard data 참조]])이 있으나, \\ 
 +[[BS2_SetBarcodeScanListener]]를 호출하고,​ 이 옵션을 사용하면 최대 512 byte크기의 barcode를 서버로 전송할 수 있습니다. \\ \\ 
 +4. //​treatAsCSN//​ \\ 
 +[+2.8.2] Barcode를 일반 CSN 카드와 동일하게 처리할지의 여부를 나타냅니다. \\ 
 +XS2-QR 1.1.3부터 적용되며,​ false의 경우, 이전과 동일하게 처리됩니다. \\ 
 +이방식은 barcode로 처리될 수 있는 문자셋을 ASCII code 32에서 126까지 자유롭게 지정할 수 있습니다. ([[qr_code_api#​BS2_WriteQRCode|BS2_WriteQRCode의 설명 참조]]) \\ 
 +true로 설정하면,​ barcode를 기존 CSN과 동일하게 숫자로만 취급하게 됩니다. \\ 
 +따라서, 특수문자,​ 영문자가 들어있는 barcode 카드 데이터를 설정하고자 하면 오류를 반환할 수 있습니다. \\ 
 +이 경우, card type만 다르게, CSN 카드와 barcode 데이터를 동일한 값으로 사용하고자하는 사용자의 목적에 부합할 수 있습니다. \\ \\ 
 +5. //​useVisualBarcode//​ \\ 
 +[+ 2.9.1] Visual barcode 사용여부 flag입니다. \\ 
 +<WRAP group 50%> 
 +^지원장치 ​ ^펌웨어 ​ ^ 
 +|XS2-Finger ​ |V1.2.0 ​ | 
 +|XS2-Card ​ |V1.2.0 ​ | 
 +|BS3  |V1.1.0 ​ | 
 +</​WRAP>​ 
 +Visual barcode는 QR code sensor가 아닌, 일반 visual camera를 통해 QR code 읽기를 지원하며,​ \\ 
 +이 기능을 사용하기 위해서는,​ 별도의 라이선스 활성화가 필요합니다. \\ 
 +라이선스 활성화는 [[BS2_EnableDeviceLicense]]를 통해 지원합니다. \\ \\ 
 +6. //​motionSensitivity//​ \\ 
 +[+ 2.9.1] Visual barcode에 대한, 모션 센서의 감도를 설정합니다. \\ 
 +<WRAP group 50%> 
 +^값  ^매크로 ​ ^설명 ​ ^ 
 +|0  |BS2_MOTION_SENSITIVITY_LOW ​ |낮음 ​ | 
 +|1  |BS2_MOTION_SENSITIVITY_NORMAL ​ |중간 ​ | 
 +|2  |BS2_MOTION_SENSITIVITY_HIGH ​ |높음 ​ | 
 +</​WRAP>​ 
 +7. //​visualCameraScanTimeout//​ \\ 
 +[+ 2.9.1] Visual camera에대한 scan 시간을 설정합니다. 단위는 초입니다. \\ 
 +기본값은 10초이며,​ 3~20초 범위 내로 입력 가능합니다. \\ 
 +<WRAP group 50%> 
 +^값  ^매크로 ​ ^설명 ​ ^ 
 +|10  |BS2_VISUAL_BARCODE_TIMEOUT_DEFAULT ​ |기본값 ​ | 
 +|3  |BS2_VISUAL_BARCODE_TIMEOUT_MIN ​ |최소값 ​ | 
 +|20  |BS2_VISUAL_BARCODE_TIMEOUT_MAX ​ |최대값 ​ | 
 +</​WRAP>​ 
 +8. //​reserved//​ \\ 
 예약된 공간입니다. \\ 예약된 공간입니다. \\
- 
- 
 ==== BS2InputConfigEx ==== ==== BS2InputConfigEx ====
 <code cpp> <code cpp>
줄 2506: 줄 2664:
 예약된 공간입니다. \\ \\ 예약된 공간입니다. \\ \\
  
 +
 +==== BS2VoipConfigExt ====
 +<code cpp>
 +typedef struct {
 +    BS2_USER_ID phoneNumber;​
 +    char description[48 * 3];
 +
 +    uint8_t reserved[32];​
 +} BS2ExtensionNumber;​
 +
 +typedef struct {
 +    BS2_BOOL enabled;
 +    BS2_BOOL useOutboundProxy;​
 +    uint16_t registrationDuration;​
 +
 +    BS2_URL address;
 +    BS2_PORT port;
 +
 +    struct {
 +        uint8_t speaker;​ //​ 0 ~ 100
 +        uint8_t mic; // 0 ~ 100
 +    } volume;​ ///<​ 2 bytes
 +
 +    BS2_USER_ID id;
 +    BS2_USER_ID password;
 +    BS2_USER_ID authorizationCode;​
 +
 +    struct {
 +        BS2_URL address;
 +        BS2_PORT port;
 +        uint8_t reserved[2];​
 +    } outboundProxy;​
 +
 +    uint8_t exitButton; ​           /// *, #, 0~9
 +    uint8_t reserved1;
 +    uint8_t numPhoneBook;​
 +    BS2_BOOL showExtensionNumber;​
 +
 +    BS2ExtensionNumber phonebook[128];​
 +
 +    uint8_t reserved2[32]; ​       ///< 32 bytes (reserved)
 +} BS2VoipConfigExt;​
 +</​code>​
 +1. //​phoneNumber//​ \\ 
 +내선 번호입니다. \\ \\
 +2. //​description//​ \\
 +표시 정보입니다. \\ \\
 +3. //​reserved//​ \\
 +예약된 공간입니다. \\ \\
 +4. //enabled// \\
 +VoIP extension 기능을 사용할 것인지 여부를 설정합니다. \\ \\
 +5. //​useOutboundProxy//​ \\ 
 +Outbound 프록시 서버를 구성할 것인지 여부를 설정합니다. \\ \\
 +6. //​registrationDuration//​ \\
 +SIP 서버에 관련 정보를 업데이트 시키는 주기입니다. \\
 +초단위로 설정하며,​ 60~600 범위의 값으로 지정하여야 합니다. \\ \\
 +7. //address// \\ 
 +SIP 서버(일반적으로 BioStar)의 IP 주소를 입력합니다. \\ \\
 +8. //port// \\
 +SIP 서버 포트를 입력합니다. 기본 포트는 5060번입니다. \\ \\
 +9. //speaker// \\
 +인터폰의 스피커 음량 정보를 0에서 100까지 범위로 입력합니다. 기본 값은 50입니다. \\ \\
 +10. //mic// \\
 +인터폰의 마이크 음량 정보를 0에서 100까지 범위로 입력합니다. 기본 값은 50입니다. \\ \\
 +11. //id// \\
 +SIP 서버에 연결하는 ID를 입력합니다. \\
 +12. //​password//​ \\
 +SIP 서버에 연결하는 비밀번호를 지정합니다. \\ \\
 +13. //​authorizationCode//​ \\
 +SIP 서버에 연결에 필요한 인증코드 값입니다. \\ \\
 +14. //​outboundProxy//​ \\
 +Outbound 프록시 서버 정보를 입력합니다. \\ \\
 +15. //address// \\ 
 +Outbound 프록시 서버의 IP 주소를 입력합니다. \\ \\
 +16. //port// \\
 +Outbound 프록시 서버 포트를 입력합니다. \\ \\
 +17. //​reserved//​ \\
 +예약된 공간입니다. \\ \\
 +18. //​exitButton//​ \\
 +퇴실버튼으로 사용할 버튼 기호입니다. \\
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|*  |'​*'​ ASCII code 42  |
 +|#  |'#'​ ASCII code 35  |
 +|0~9  |'​0'​~'​9'​ ASCII code (48~57) ​ |
 +</​WRAP> ​
 +19. //​reserved1//​ \\
 +예약된 공간입니다. \\ \\
 +20. //​numPhoneBook//​ \\
 +전화번호부 갯수입니다. \\ \\
 +21. //​showExtensionNumber//​ \\
 +전화번호부를 보여줄지 여부를 결정합니다. \\ \\
 +22. //​phonebook//​ \\
 +128개까지 내선 번호들을 전화번호부로 지정할 수 있습니다. \\ \\
 +23. //​reserved2//​ \\
 +예약된 공간입니다. \\ \\
 +
 +
 +==== BS2RtspConfig ====
 +<code cpp>
 +typedef struct {
 +    BS2_USER_ID id;
 +    BS2_USER_ID password;
 +
 +    BS2_URL address;
 +
 +    BS2_PORT port;
 +    BS2_BOOL enabled;
 +    uint8_t reserved;
 +
 +    uint8_t reserved2[32];​
 +} BS2RtspConfig;​
 +</​code>​
 +1. //id// \\
 +RTSP 서버 연결시, 계정 정보입니다. \\ \\
 +2. //​password//​ \\
 +RTSP 서버 연결시, 비밀번호입니다. \\ \\
 +3. //address// \\ 
 +RTSP 서버의 주소를 입력합니다. \\ \\
 +4. //port// \\
 +RTSP 서버 연결 포트를 입력합니다. 기본 포트는 554입니다. \\ \\
 +5. //enabled// \\
 +RTSP 연결을 사용할 것인지 여부를 설정합니다. \\ \\
 +6. //​reserved//​ \\
 +예약된 공간입니다. \\ \\
 +7. //​reserved2//​ \\
 +예약된 공간입니다. \\ \\
 +
 +
 +==== BS2License ====
 +<code cpp>
 +typedef struct {
 +    uint8_t ​              ​index;​
 +    uint8_t ​              ​hasCapability;​
 +    uint8_t ​              ​enable;​
 +    uint8_t ​              ​reserved;​
 +    BS2_LICENSE_TYPE ​     licenseType;​
 +    BS2_LICENSE_SUB_TYPE ​ licenseSubType;​
 +    uint32_t ​             enableTime;
 +    uint32_t ​             expiredTime;​
 +    uint32_t ​             issueNumber;​
 +    uint8_t ​              ​name[BS2_USER_ID_SIZE];​
 +} BS2License;
 +</​code>​
 +1. //index// \\ 
 +라이선스 인덱스입니다. \\ \\  ​
 +2. //​hasCapability//​ \\ 
 +장치가 해당 라이선스를 지원하는지 여부를 나타냅니다. \\
 +통상적으로 1을 갖습니다. \\ \\ 
 +3. //enable// \\ 
 +라이선스가 활성화 되어있는지 여부를 나타냅니다. \\ \\
 +4. //​reserved//​ \\ 
 +예약된 공간입니다. \\ \\
 +5. //​licenseType//​ \\ 
 +라이선스의 종류를 나타냅니다. \\ 
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0x0000 ​ |None  |
 +|0x0001 ​ |Visual QR  |
 +</​WRAP>​
 +6. //​licenseSubType//​ \\ 
 +licenseType의 세부 형태를 나타냅니다. \\ \\
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |None  |
 +|1  |Visual QR (CodeCorp) ​ |
 +</​WRAP>​
 +7. //​enableTime//​ \\ 
 +라이선스 활성화 개시 시간이며,​ POSIX time으로 표현됩니다. \\ \\
 +8. //​expiredTime//​ \\ 
 +라이선스 활성화 종료 시간이며,​ 0은 제한 없음을 의미합니다. \\ \\ 
 +9. //​issueNumber//​ \\ 
 +발급 고유 번호를 의미합니다. \\ \\
 +10. //name// \\ 
 +라이선스 명칭입니다. \\ \\
 +
 +
 +==== BS2LicenseConfig ====
 +<code cpp>
 +typedef struct {
 +    uint8_t ​        ​version;​
 +    uint8_t ​        ​numOfLicense;​
 +    uint8_t ​        ​reserved[2];​
 +    BS2License ​     license[BS2_MAX_LICENSE_COUNT];​
 +    uint8_t ​        ​reserved1[16];​
 +} BS2LicenseConfig;​
 +</​code>​
 +1. //version// \\ 
 +라이선스 설정 정보의 버전 정보입니다. \\ \\  ​
 +2. //​numOfLicense//​ \\ 
 +등록된 라이선스 갯수를 의미합니다. \\ \\
 +3. //​reserved//​ \\ 
 +예약된 공간입니다. \\ \\
 +4. //license// \\ 
 +라이선스 정보이며,​ 최대 16개까지 설정될 수 있습니다. \\ \\
 +5. //​reserved1//​ \\ 
 +예약된 공간입니다. \\ \\
 +
 +
 +==== 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//​ \\ 
 +''​XS2-QR 만 지원''​
 +Barcode 사용여부 flag입니다. \\ \\ 
 +2. //​scanTimeout//​ \\ 
 +Barcode scan 시간을 설정합니다. 단위는 초입니다. \\
 +기본값은 4초이며, 4~10초 범위 내로 입력 가능합니다. \\ \\
 +<WRAP group 50%>
 +^값  ^매크로 ​ ^설명 ​ ^
 +|4  |BS2_BARCODE_TIMEOUT_DEFAULT ​ |기본값 ​ |
 +|4  |BS2_BARCODE_TIMEOUT_MIN ​ |최소값 ​ |
 +|10  |BS2_BARCODE_TIMEOUT_MAX ​ |최대값 ​ |
 +</​WRAP>​
 +3. //​bypassData//​ \\ 
 +[+2.8.2] 읽혀진 barcode 정보를 장치에서 처리하지 않고, 서버로 전송하기 위해 사용합니다. \\
 +사용자 인증을 위해 사용자 정보 구조체에 barcode 값을 저장하게되는 경우, \\
 +32 byte의 크기 제약([[smartcard_api#​BS2CSNCard|BS2CSNCard data 참조]])이 있으나, \\
 +[[BS2_SetBarcodeScanListener]]를 호출하고,​ 이 옵션을 사용하면 최대 512 byte크기의 barcode를 서버로 전송할 수 있습니다. \\ \\
 +4. //​treatAsCSN//​ \\
 +[+2.8.2] Barcode를 일반 CSN 카드와 동일하게 처리할지의 여부를 나타냅니다. \\
 +XS2-QR 1.1.3부터 적용되며,​ false의 경우, 이전과 동일하게 처리됩니다. \\
 +이방식은 barcode로 처리될 수 있는 문자셋을 ASCII code 32에서 126까지 자유롭게 지정할 수 있습니다. ([[qr_code_api#​BS2_WriteQRCode|BS2_WriteQRCode의 설명 참조]]) \\
 +true로 설정하면,​ barcode를 기존 CSN과 동일하게 숫자로만 취급하게 됩니다. \\
 +따라서, 특수문자,​ 영문자가 들어있는 barcode 카드 데이터를 설정하고자 하면 오류를 반환할 수 있습니다. \\
 +이 경우, card type만 다르게, CSN 카드와 barcode 데이터를 동일한 값으로 사용하고자하는 사용자의 목적에 부합할 수 있습니다. \\ \\
 +5. //​useVisualBarcode//​ \\
 +[+ 2.9.1] Visual barcode 사용여부 flag입니다. \\
 +<WRAP group 50%>
 +^지원장치 ​ ^펌웨어 ​ ^
 +|XS2-Finger ​ |V1.2.0 ​ |
 +|XS2-Card ​ |V1.2.0 ​ |
 +|BS3  |V1.1.0 ​ |
 +</​WRAP>​
 +Visual barcode는 QR code sensor가 아닌, 일반 visual camera를 통해 QR code 읽기를 지원하며,​ \\
 +이 기능을 사용하기 위해서는,​ 별도의 라이선스 활성화가 필요합니다. \\
 +라이선스 활성화는 [[BS2_EnableDeviceLicense]]를 통해 지원합니다. \\ \\
 +6. //​motionSensitivity//​ \\
 +[+ 2.9.1] Visual barcode에 대한, 모션 센서의 감도를 설정합니다. \\
 +<WRAP group 50%>
 +^값  ^매크로 ​ ^설명 ​ ^
 +|0  |BS2_MOTION_SENSITIVITY_LOW ​ |낮음 ​ |
 +|1  |BS2_MOTION_SENSITIVITY_NORMAL ​ |중간 ​ |
 +|2  |BS2_MOTION_SENSITIVITY_HIGH ​ |높음 ​ |
 +</​WRAP>​
 +7. //​visualCameraScanTimeout//​ \\
 +[+ 2.9.1] Visual camera에대한 scan 시간을 설정합니다. 단위는 초입니다. \\
 +기본값은 10초이며,​ 3~20초 범위 내로 입력 가능합니다. \\
 +<WRAP group 50%>
 +^값  ^매크로 ​ ^설명 ​ ^
 +|10  |BS2_VISUAL_BARCODE_TIMEOUT_DEFAULT ​ |기본값 ​ |
 +|3  |BS2_VISUAL_BARCODE_TIMEOUT_MIN ​ |최소값 ​ |
 +|20  |BS2_VISUAL_BARCODE_TIMEOUT_MAX ​ |최대값 ​ |
 +</​WRAP>​
 +8. //​reserved//​ \\ 
 +예약된 공간입니다. \\
 +
 +
 +==== BS2OsdpStandardConfig ====
 +<code cpp>
 +typedef struct {
 + uint32_t baudRate;​ ///<​ 4 bytes
 + uint8_t channelIndex;​ ///<​ 1 byte
 + uint8_t useRegistance;​ ///<​ 1 byte
 + uint8_t numOfDevices;​ ///<​ 1 byte
 + BS2_OSDP_CHANNEL_TYPE channelType;​ ///<​ 1 byte
 + BS2OsdpStandardDevice slaveDevices[BS2_RS485_MAX_SLAVES_PER_CHANNEL];​ ///<​ 28 * 32 = 896 bytes
 + uint8_t reserved[4];​ ///<​ 4 bytes
 +} BS2OsdpStandardChannel; ​   ///<​ 908 bytes
 +
 +typedef struct {
 +    uint8_t mode[BS2_RS485_MAX_CHANNELS_EX];​ ///<​ 8 byte
 +    uint16_t numOfChannels;​ ///<​ 2 byte
 +    uint8_t reserved[2];​ ///<​ 2 bytes (packing)
 +    uint8_t reserved1[32];​ ///<​ 32 bytes (reserved)
 +    BS2OsdpStandardChannel channels[BS2_RS485_MAX_CHANNELS_EX];​ ///< 908 * 8 bytes  = 7264 bytes
 +} BS2OsdpStandardConfig; ​  ​ ///<​ 7308 bytes
 +</​code>​
 +1. //​baudRate//​ \\ 
 +OSDP 장치의 통신 속도이며 설정할 수 있는 범위는 다음과 같습니다. \\
 +<WRAP group 50%>
 +^값  ^
 +|9600  |
 +|19200 ​ |
 +|38400 ​ |
 +|57600 ​ |
 +|115200 ​ |
 +</​WRAP>​
 +2. //​channelIndex//​ \\ 
 +OSDP 장치가 RS485 통신을 할때 채널 번호입니다. \\ \\
 +3. //​useRegistance//​ \\ 
 +종단 저항을 설정할지 결정하는 flag입니다. - 동작에 영향 없음. \\ \\
 +4. //​numOfDevices//​ \\ 
 +슬레이브 장치의 개수입니다.\\ \\
 +5. //​channelType//​ \\ 
 +RS485 통신을 하는 장치가 어떠한 방식으로 연결되어 있는지를 나타냅니다. \\ 
 +CoreStation40 기준으로,​ 할당 가능한 채널은 0~4까지 5개인데, 각 채널내에서는 슈프리마 장치와 OSDP 장치가 혼용되어 운용될어질 수 없습니다. \\
 +특정 채널에 연결된 장치가 없는 경우, Suprema 장치든, OSDP 장치이든 연결될 수 있음을 나타내는 0을 갖습니다. \\
 +만일 특정 채널로 Suprema 장치가 연결되면,​ 이후 해당 채널은 Suprema 장치들의 연결만 허용되며,​ channelType은 1을 갖습니다. OSDP 장치가 연결되어 있더라도 무시되어집니다. \\
 +만일 특정 채널로 OSDP 장치가 연결되면,​ 이후 해당 채널은 OSDP 장치 연결만 허용되며,​ channelType은 2를 갖습니다. Suprema 장치가 연결되어 있더라도 무시되어집니다. \\
 +CoreStation40 각각의 채널들은 Suprema 장치 채널, OSDP 장치 채널들로 혼용되어 운용될 수 있습니다. \\
 +채널에 OSDP로 장치가 연결이되면 허용이 가능한 최대 장치수는 2대로 제한되며,​ 이미 해당 채널이 최대치에 도달했으면 channelType은 3을 갖으며 더이상 연결이 불가함을 나타냅니다. \\
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |Normal ​ |
 +|1  |Suprema 장치 ​ |
 +|2  |OSDP 장치 ​ |
 +|3  |OSDP 장치 FULL  |
 +</​WRAP>​
 +6. //​slaveDevices//​ \\ 
 +채널내의 슬레이브 장치 정보입니다. \\ \\
 +7. //​reserved//​ \\ 
 +예약된 공간입니다. \\ \\
 +8. //mode// \\ 
 +RS485 네트워크에서 어떤 모드로 동작할지 결정하는 flag인데, 문서 작성일 2023/​1/​12일 기준으로 Osdp standard config를 지원하는 장치는 CoreStation40 뿐이므로 항상 master 값을 갖습니다. \\ \\  ​
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |사용안함 ​ |
 +|1  |Master ​ |
 +|2  |Slave ​ |
 +|3  |Standalone (기본값) ​ |
 +</​WRAP>​
 +9. //​numOfChannels//​ \\ 
 +채널의 개수입니다. CoreStation40은 총 5개의 채널을 갖습니다. \\ \\ 
 +10. //​reserved//​ \\ 
 +예약된 공간입니다. \\ \\
 +11. //​reserved1//​ \\ 
 +예약된 공간입니다. \\ \\
 +12. //​channels//​ \\ 
 +채널별 OSDP 장치정보입니다. \\
 +최대 8개까지 채널정보를 가질 수 있으나, CoreStation40이 5개의 채널을 가지므로 0~4번까지만 유의미합니다. \\ \\
 +
 +
 +==== BS2OsdpStandardActionConfig ====
 +<code cpp>
 +typedef struct{
 +    BS2_BOOL ​                          ​use; ​           ///< 1 byte
 +    uint8_t ​                           readerNumber; ​  ///<​ 1 byte
 +    uint8_t ​                           ledNumber; ​     ///< 1 byte
 +
 +    BS2_OSDP_STANDARD_LED_COMMAND ​     tempCommand; ​   ///< 1 byte
 +    uint8_t ​                           tempOnTime; ​    ///<​ 1 byte
 +    uint8_t ​                           tempOffTime; ​   ///< 1 byte
 +    BS2_OSDP_STANDARD_COLOR ​           tempOnColor; ​   ///< 1 byte
 +    BS2_OSDP_STANDARD_COLOR ​           tempOffColor; ​  ///<​ 1 byte
 +    uint16_t ​                          ​tempRunTime; ​   ///< 2 bytes
 +
 +    BS2_OSDP_STANDARD_LED_COMMAND ​     permCommand; ​   ///< 1 byte
 +    uint8_t ​                           permOnTime; ​    ///<​ 1 byte
 +    uint8_t ​                           permOffTime; ​   ///< 1 byte
 +    BS2_OSDP_STANDARD_COLOR ​           permOnColor; ​   ///< 1 byte
 +    BS2_OSDP_STANDARD_COLOR ​           permOffColor; ​  ///<​ 1 byte
 +
 +    uint8_t ​                           reserved; ​      ///<​ 1 byte
 +} BS2OsdpStandardLedAction; ​           ///< 16 bytes
 +
 +typedef struct {
 +    BS2_BOOL ​                   use;            ///< 1 byte
 +    uint8_t ​                    ​readerNumber; ​  ///<​ 1 byte
 +    BS2_OSDP_STANDARD_TONE ​     tone;           ///<​ 1 byte
 +    uint8_t ​                    ​onTime; ​        ///<​ 1 byte
 +    uint8_t ​                    ​offTime; ​       ///< 1 byte
 +    uint8_t ​                    ​numOfCycle; ​    ///<​ 1 byte
 +    uint8_t ​                    ​reserved[2]; ​   ///< 2 bytes
 +} BS2OsdpStandardBuzzerAction; ​                 ///< 8 bytes
 +
 +typedef struct {
 +    BS2_OSDP_STANDARD_ACTION_TYPE ​  ​actionType; ​    ///<​ 1 byte     
 +    uint8_t ​                        ​reserved[3]; ​   ///< 3 bytes
 +    BS2OsdpStandardLedAction ​       led[2]; ​        ///<​ 16 x 2 = 32 bytes
 +    BS2OsdpStandardBuzzerAction ​    ​buzzer; ​        ///<​ 8 bytes
 +} BS2OsdpStandardAction; ​                           ///< 44 bytes
 +
 +typedef struct ​
 +{
 +    uint8_t ​                ​version; ​               ///< 1 byte 
 +    uint8_t ​                ​reserved[3]; ​           ///< 3 byes
 +    BS2OsdpStandardAction ​  ​actions[BS2_OSDP_STANDARD_ACTION_MAX_COUNT];​ ///< 44 x 32  = 1408
 +} BS2OsdpStandardActionConfig; ​                     ///< 1412 bytes
 +</​code>​
 +1. //use// \\ 
 +해당 LED action을 사용할 것인지 여부를 나타냅니다. \\ \\  ​
 +2. //​readerNumber//​ \\
 +OSDP 장치의 순번입니다. \\ \\
 +3. //​ledNumber//​ \\
 +OSDP 장치가 갖고 있는 LED 순번입니다. \\ \\
 +4. //​tempCommand//​ \\
 +Temporary command 입니다. \\
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |No Operation ​ |
 +|1  |Cancel ​ |
 +|2  |Set  |
 +</​WRAP>​
 +5. //​tempOnTime//​ \\
 +Temporary command에 대해서 LED가 켜져있는 시간을 의미하며,​ 100ms 단위로 설정합니다. \\
 +예를 들어 2초간 LED on 상태를 유지시키려면 20을 입력하면 됩니다. \\ \\
 +6. //​tempOffTime//​ \\
 +Temporary command에 대해서 LED가 꺼져있는 시간을 의미하며,​ 100ms 단위로 설정합니다. \\
 +예를 들어 1초간 LED off 상태를 유지시키려면 10을 입력하면 됩니다. \\ \\
 +7. //​tempOnColor//​ \\
 +Temporary command에 대해서 On 상태의 LED 색상을 지정합니다. \\
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |BLACK ​ |
 +|1  |RED  |
 +|2  |GREEN ​ |
 +|3  |AMBER ​ |
 +|4  |BLUE  |
 +|5  |MAGENTA ​ |
 +|6  |CYAN  |
 +|7  |WHITE ​ |
 +</​WRAP>​
 +8. //​tempOffColor//​ \\
 +Temporary command에 대해서 Off 상태의 LED 색상을 지정합니다. \\
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |BLACK ​ |
 +|1  |RED  |
 +|2  |GREEN ​ |
 +|3  |AMBER ​ |
 +|4  |BLUE  |
 +|5  |MAGENTA ​ |
 +|6  |CYAN  |
 +|7  |WHITE ​ |
 +</​WRAP>​
 +9. //​tempRunTime//​ \\
 +Temporary command에 대해 LED On/Off를 얼마나 지속시킬지를 100ms 단위로 설정합니다. \\
 +tempOnTime/​tempOffTime,​ tempOnColor/​tempOffColor로 설정한 색상과 시간으로 번갈아 깜빡이며,​ 이 깜빡임은 tempRunTime 만큼 유지됩니다. \\ \\
 +10. //​permCommand//​ \\
 +Permanent command 입니다.
 +11. //​permOnTime//​ \\
 +Permanent command에 대해서 LED가 켜져있는 시간을 의미하며,​ 100ms 단위로 설정합니다. \\ \\
 +12. //​permOffTime//​ \\
 +Permanent command에 대해서 LED가 꺼져있는 시간을 의미하며,​ 100ms 단위로 설정합니다. \\ \\
 +13. //​permOnColor//​ \\
 +Permanent command에 대해서 On 상태의 LED 색상을 지정합니다. \\ \\
 +14. //​permOffColor//​ \\
 +Permanent command에 대해서 Off 상태의 LED 색상을 지정합니다. \\ \\
 +15. //​reserved//​ \\ 
 +예약된 공간입니다. \\ \\
 +16. //use// \\ 
 +해당 tone action을 사용할 것인지 여부를 나타냅니다. \\ \\ 
 +17. //​readerNumber//​
 +OSDP 장치의 순번입니다. \\ \\
 +18. //tone// \\
 +Buzzer를 설정합니다. \\
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |None  |
 +|1  |Off  |
 +|2  |On  |
 +</​WRAP>​
 +19. //onTime// \\ 
 +tone에 대해서 On 상태 유지시간을 100ms 단위로 설정합니다. \\ \\ 
 +20. //offTime// \\ 
 +tone에 대해서 Off 상태 유지시간을 100ms 단위로 설정합니다. \\ \\ 
 +21. //​numOfCycle//​ \\ 
 +tone On/Off를 얼마나 반복할지 횟수를 지정합니다. 0으로 설정 시 무한 반복을 의미합니다. \\ \\ 
 +22. //​reserved//​ \\ 
 +예약된 공간입니다. \\ \\
 +23. //​actionType//​ \\ 
 +action을 지정합니다. \\ 
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |None  |
 +|1  |Success ​ |
 +|2  |Fail  |
 +|3  |Wait input  |
 +</​WRAP>​
 +24. //​reserved//​ \\ 
 +예약된 공간입니다. \\ \\
 +25. //led// \\ 
 +OSDP 장치의 LED 설정 정보입니다. \\ \\ 
 +26. //buzzer// \\ 
 +OSDP 장치의 buzzer 설정 정보입니다. \\ \\ 
 +27. //version// \\ 
 +Action configuration에 대한 버전 정보입니다. 현재는 0입니다. \\ \\
 +28. //​reserved//​ \\ 
 +예약된 공간입니다. \\ \\
 +29. //actions// \\ 
 +OSDP 장치에 대한 LED/buzzer 정보이며,​ 최대 32개 까지 지정할 수 있습니다. \\ \\
 +
 +
 +==== 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//​ \\ 
 +Mifare card 정보에 접근하기 위한 첫번째 암호화 키입니다. \\ \\
 +2. //​reserved1//​ \\ 
 +예약된 공간입니다.\\ \\ 
 +3. //​secondaryKey//​ \\ 
 +Mifare card 정보에 접근하기 위한 두번째 암호화 키입니다. \\ \\
 +4. //​reserved2//​ \\ 
 +예약된 공간입니다.\\ \\ 
 +5. //​startBlockIndex//​ \\ 
 +Mifare data storage에서의 start block index입니다.\\ \\ 
 +6. //​dataSize//​ \\ 
 +카드 데이터가 몇 byte의 크기를 갖는지를 나타냅니다. \\ \\
 +7. //​skipBytes//​ \\ 
 +카드 데이터가 나타나는 위치를 의미합니다. \\
 +카드 데이터를 읽어들일 시작점 입니다. 처음부터 읽을경우 0이고, 첫번째 이후일 경우 건너뛴 byte 수를 나타냅니다. \\ \\
 +8. //​reserved//​ \\ 
 +예약된 공간입니다.\\ \\
 +==== 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//​ \\ 
 +DesFire card 정보에 접근하기 위한 첫번째 암호화 키입니다. (일반설정) \\ \\
 +2. //​secondaryKey//​ \\ 
 +DesFire card 정보에 접근하기 위한 두번째 암호화 키입니다. (일반설정) \\ \\
 +3. //appID// \\ 
 +사용자 인증을 위해 DESFire 카드내에 내장된 사용할 애플리케이션 식별자입니다.\\ \\ 
 +4. //fileID// \\ 
 +DESFire 카드내에 내장된 사용할 애플리케이션이 데이터를 읽고 쓰기 위한 파일 식별자입니다.\\ \\ 
 +5. //​encryptionType//​ \\ 
 +데이터 암호화 방식을 나타냅니다.\\ ​
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |DES/​3DES ​ |
 +|1  |AES  |
 +</​WRAP>​
 +6. //​operationMode//​ \\ 
 +운영 방식을 지정합니다. \\ 
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |일반설정 사용 (PICC master key를 사용) ​ |
 +|1  |고급설정 사용 (App master key를 사용) ​ |
 +</​WRAP>​
 +7. //​dataSize//​ \\ 
 +카드 데이터가 몇 byte의 크기를 갖는지를 나타냅니다. \\ \\
 +8. //​skipBytes//​ \\ 
 +카드 데이터가 나타나는 위치를 의미합니다. \\
 +카드 데이터를 읽어들일 시작점 입니다. 처음부터 읽을경우 0이고, 첫번째 이후일 경우 건너뛴 byte 수를 나타냅니다. \\ \\
 +9. //​reserved//​ \\ 
 +예약된 공간입니다.\\ \\ 
 +10. //​desfireAppKey//​ \\ 
 +DesFire card 정보에 접근하기 위한 키 정보를 나타냅니다. (고급설정) \\ \\
 +==== 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//​ \\ 
 +Card의 데이터 유형입니다. \\ 
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |바이너리 ​ |
 +|1  |아스키 ​ |
 +|2  |UTF16 ​ |
 +|3  |BCD  |
 +</​WRAP>​
 +2. //​useSecondaryKey//​ \\ 
 +두번째 암호화 키 사용 유무를 결정하는 flag입니다. \\ \\ 
 +3. //​reserved1//​ \\ 
 +예약된 공간입니다. \\ \\ 
 +4. //mifare// \\ 
 +Mifare custom card 정보를 설정합니다. \\ \\ 
 +5. //desfire// \\ 
 +DESFire custom card 정보를 설정합니다. \\ \\ 
 +6. //​reserved2//​ \\ 
 +예약된 공간입니다. \\ \\ 
 +7. //​reserved3//​ \\ 
 +예약된 공간입니다. \\ \\ 
 +8. //​smartCardByteOrder//​ \\
 +MSB 또는 LSB로 출력을 지정할 수 있습니다. \\
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |MSB  |
 +|1  |LSB  |
 +</​WRAP>​
 +9. //​reserved4//​ \\ 
 +예약된 공간입니다. \\ \\ 
 +10. //​formatID//​ \\ 
 +BioStar 2 애플리케이션에서 card configuration을 데이터베이스 관리할 필요가 있을 경우 사용할 수 있는 식별자입니다. \\ \\ 
 +11. //​reserved5//​ \\ 
 +예약된 공간입니다. \\ \\