차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
ko:configuration_api [2024/05/28 19:28]
kkshin [BS2FaceConfig]
ko:configuration_api [2025/06/13 10:46] (현재)
줄 92: 줄 92:
   * [[BS2_GetCustomCardConfig]]:​ [+ 2.9.4] Custom smart card 설정을 가져옵니다.   * [[BS2_GetCustomCardConfig]]:​ [+ 2.9.4] Custom smart card 설정을 가져옵니다.
   * [[BS2_SetCustomCardConfig]]:​ [+ 2.9.4] Custom smart card 설정을 저장합니다.   * [[BS2_SetCustomCardConfig]]:​ [+ 2.9.4] Custom smart card 설정을 저장합니다.
 +  * [[BS2_GetMifareCardConfigEx]]:​ [+ 2.9.9] 장치의 Mifare 카드 중 AES128 암호화 된 카드에 사용되는 설정 정보를 가져옵니다.
 +  * [[BS2_SetMifareCardConfigEx]]:​ [+ 2.9.9] 장치의 Mifare 카드 중 AES128 암호화 된 카드에 사용되는 설정 정보를 저장합니다.
 +  * [[BS2_GetFacilityCodeConfig]]:​ [+ 2.9.9] ''​Door Interface(DI-24)''​와 마스터 장치의 OSDP 연결이 끊어진 경우 인증코드로 사용되는 BS2FacilityCode를 가져옵니다.
 +  * [[BS2_SetFacilityCodeConfig]]:​ [+ 2.9.9] ''​Door Interface(DI-24)''​와 마스터 장치의 OSDP 연결이 끊어진 경우 인증코드로 사용되는 BS2FacilityCode 설정을 저장합니다.
 +  * [[BS2_GetRS485ConfigExDynamic]]:​ [+ 2.9.9] ''​CoreStation''​일 경우 RS485 네트워크 설정 정보를 가져옵니다.
 +  * [[BS2_SetRS485ConfigExDynamic]]:​ [+ 2.9.9] ''​CoreStation''​일 경우 RS485 네트워크 설정 정보를 저장합니다.
 ===== 구조체 ===== ===== 구조체 =====
 ==== BS2FactoryConfig ==== ==== BS2FactoryConfig ====
줄 389: 줄 395:
     uint8_t showOsdpResult;​     uint8_t showOsdpResult;​
     uint8_t reserved1[30];​     uint8_t reserved1[30];​
 +    BS2_SHOW_OSDP_RESULT showOsdpResult;​ ///<​ 1 byte
 +    ​
 +    BS2_AUTHMSG_USERINFO authMsgUserName;​ ///<​ 1 byte
 +    BS2_AUTHMSG_USERINFO authMsgUserId;​ ///<​ 1 byte
 +    ​
 +    BS2_SCRAMBLE_KEYBOARD_MODE scrambleKeyboardMode ; ///< 1 byte
 +    ​
 +    uint8_t reserved3[27];​ ///<​ 27 bytes (padding)
 } BS2DisplayConfig;​ } BS2DisplayConfig;​
 </​code>​ </​code>​
줄 503: 줄 517:
 </​WRAP>​ </​WRAP>​
 19. //​reserved1//​ \\  19. //​reserved1//​ \\ 
-예약된 공간입니다. \\  +예약된 공간입니다. ​\\ \\ 
 +20. //​authMsgUserName//​ \\  
 +[+2.9.8] 장치 화면에 표시되는 인증 결과 메시지에 포함된 사용자 이름의 표시 방법을 설정합니다. \\  
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|0  |전체 표시 ​ | 
 +|1  |첫 문자만 표시 ​ | 
 +|2  |표시 안함 ​ | 
 +</​WRAP>​ 
 +21. //​authMsgUserID//​ \\ 
 +[+2.9.8] ​ 장치 화면에 표시되는 인증 결과 메시지에 포함된 사용자 ID의 표시 방법을 설정합니다. \\ 
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|0  |전체 표시 ​ | 
 +|1  |첫 문자만 표시 ​ | 
 +|2  |표시 안함 ​ | 
 +</​WRAP>​ 
 +22. //​scrambleKeyboardMode//​ \\ 
 +[+2.9.8] 스크램블 키패드의 사용 여부를 설정합니다. \\ 
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|0  |사용 ​ | 
 +|1  |사용 안함 ​ | 
 +</​WRAP>​
 ==== BS2IpConfig ==== ==== BS2IpConfig ====
 <code cpp> <code cpp>
줄 678: 줄 714:
     uint8_t cipher;     uint8_t cipher;
     uint8_t smartCardByteOrder;​     uint8_t smartCardByteOrder;​
-    uint8_t reserved[22];+    uint8_t reserved[1]; 
 +    uint8_t mifareEncType;​ 
 +    uint8_t reserved[20];
 } BS2CardConfig;​ } BS2CardConfig;​
 </​code>​ </​code>​
줄 760: 줄 798:
 </​WRAP>​ </​WRAP>​
 25. //​reserved//​ \\  25. //​reserved//​ \\ 
 +예약된 공간입니다. \\ 
 +26. //​mifareEncType//​ \\ 
 +[+2.9.9] Mifare Card의 암호화 방식을 지정합니다. Mifare Classic 카드는 CRYPTO1만 지원하며,​ \\
 +Mifare Plus 카드는 CRYPTO1과 AES128 모두 지원합니다. \\
 +CRYPTO1으로 설정하면 BS2MifareCard의 Mifare 설정이 적용되고,​ AES128로 설정하면 \\
 +BS2_SetMifareCardConfigEx 및 BS2_GetMifareCardConfigEx를 통해 설정할 수 있는 \\
 +BS2MifareCardConfigEx 설정이 적용됩니다. \\ 
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |CRYPTO1 ​ |
 +|1  |AES128 ​ |
 +</​WRAP>​
 +27. //​reserved//​ \\ 
 예약된 공간입니다. \\  예약된 공간입니다. \\ 
 ==== BS2FingerprintConfig ==== ==== BS2FingerprintConfig ====
줄 911: 줄 962:
 <WRAP group 50%> <WRAP group 50%>
 ^값  ^설명 ​ ^ ^값  ^설명 ​ ^
-|0  |사용안함 ​ | 
 |1  |Master ​ | |1  |Master ​ |
 |2  |Slave ​ | |2  |Slave ​ |
줄 1117: 줄 1167:
     uint8_t numInputs;     uint8_t numInputs;
     uint8_t numSupervised;​     uint8_t numSupervised;​
-    uint16_t ​reseved;+    ​union { 
 + uint16_t ​value; 
 + struct { 
 + uint16_t tamperAuxIndex : 4; 
 + uint16_t acFailAuxIndex : 4; 
 + uint16_t aux0Type : 1; 
 + uint16_t aux1Type : 1; 
 + uint16_t reserved : 6; 
 + } field; 
 +    } aux;
     struct {     struct {
         uint8_t portIndex;         uint8_t portIndex;
줄 1157: 줄 1216:
 |255  |사용자 정의 ​ | |255  |사용자 정의 ​ |
 </​WRAP>​ </​WRAP>​
-12. //reserved// \\  +12. //aux// \\ 
-예약된 공간입니다. \\ \\ +[+2.9.8] Aux의 동작을 설정합니다. 
 +<WRAP group 70%> 
 +^비트위치 ​ ^비트 수  ^멤버명 ​ ^설명 ​ ^ 
 +|0  |4  |tamperAuxIndex ​ |Tamper로 사용할 Aux 번호 (0:None, 1:Aux0, 2:​Aux1) ​ | 
 +|7  |4  |acFailAuxIndex ​ |AC Fail로 사용할 Aux 번호 (0:None, 1:Aux0, 2:​Aux1) ​ | 
 +|8  |1  |aux0Type ​ |Aux 0의 타입 (0: NO, 1:NC)  | 
 +|9  |1  |aux1Type ​ |Aux 1의 타입 (0: NO, 1:NC)  | 
 +|10  |6  |reserved ​ |예약된 공간 ​ | 
 +</​WRAP>​
 13. //config// \\  13. //config// \\ 
 supervised 입력 신호 유형을 판단하는 설정값으로,​ supervised input의 저항값이 사용자 정의일 경우에만 의미가 있습니다. \\  supervised 입력 신호 유형을 판단하는 설정값으로,​ supervised input의 저항값이 사용자 정의일 경우에만 의미가 있습니다. \\ 
줄 1929: 줄 1996:
 <WRAP group 50%> <WRAP group 50%>
 ^값  ^설명 ​ ^ ^값  ^설명 ​ ^
-|0  |사용안함 ​ | 
 |1  |Master ​ | |1  |Master ​ |
 |2  |Slave ​ | |2  |Slave ​ |
 |3  |Standalone ​ | |3  |Standalone ​ |
 +</​WRAP>​
 +<WRAP info>
 +CoreStation은 Master로만 사용 가능합니다. 다른 값은 설정할 수 없습니다.
 </​WRAP>​ </​WRAP>​
 7. //​numOfChannels//​ \\  7. //​numOfChannels//​ \\ 
줄 2375: 줄 2444:
 </​WRAP>​ </​WRAP>​
 2. //​maskCheckMode//​ \\  2. //​maskCheckMode//​ \\ 
-''​FaceStation F2''​ 마스크 착용 감지 모드를 설정합니다. \\  +''​Visual Face 기반''​ 마스크 착용 감지 모드를 설정합니다. \\  
-''​FaceStation 2''​ 이 설정은 무시됩니다. \\  +HARD로 설정 시 maskDetectionLevel에 ​따라 마스크 ​착용 위반이 감지될 경우 ​출입에 영향을 주게됩니다. \\ 
-HARD로 설정 시maskDetectionLevel에 ​근거하여 ​착용 위반이 감지되면, ​출입에 영향을 주게됩니다. \\ +SOFT로 설정 시 maskDetectionLevel에 ​따라 마스크 ​착용 위반이 감지될 경우 ​로그가 록되고 출입에는 영향을 주지 않습니다. \\ 
-SOFT로 설정 시maskDetectionLevel에 ​근거하여 ​착용 위반이 감지되면, 근거를 ​로그를 남기고 출입에 영향을 주지 않습니다. \\ +maskCheckMode가 사용안함(0)으로 설정되면,​ maskDetectionLevel의 설정은 무시됩니다. \\ 
-maskCheckMode가 사용안함(0)으로 설정되면, ​\\ +또한 ​useRejectSound의 마스크 착용으로 인한 ​소리 ​발생과 faceCheckOrder의 마스크 착용 감지가 무시됩니다. \\ 
-maskDetectionLevel 의 설정은 무시됩니다. \\ +[+2.9.8] 마스크 착용 금지(3)는 Mask Check Mode가 Check Before Authentication 인 경우만 설정 가능하며,​ maskDetectionLevel에 따라 마스크를 착용한 사용자는 인증이 실패됩니다. 이 옵션은 [[device_api#​bs2devicecapabilities|BS2DeviceCapabilities - authDenyMaskSupported]]를 지원하는 장치만 사용할 수 있습니다. \\
-그리고 ​useRejectSound의 마스크 착용으로 인한 ​sound발생이, faceCheckOrder의 마스크 착용 감지가 무시됩니다. \\+
 <WRAP group 50%> <WRAP group 50%>
 ^값  ^설명 ​ ^기본값 ​ ^ ^값  ^설명 ​ ^기본값 ​ ^
줄 2387: 줄 2455:
 |1  |마스크 착용 감지 사용 (HARD) ​ |  | |1  |마스크 착용 감지 사용 (HARD) ​ |  |
 |2  |마스크 착용 감지 사용 (SOFT) ​ |  | |2  |마스크 착용 감지 사용 (SOFT) ​ |  |
 +|3  |마스크 착용 금지 ​ |  |
 </​WRAP>​ </​WRAP>​
 3. //​reserved//​ \\  3. //​reserved//​ \\ 
줄 2400: 줄 2469:
 예약된 공간입니다. \\ \\ 예약된 공간입니다. \\ \\
 6. //​thermalThresholdLow//​ \\ 6. //​thermalThresholdLow//​ \\
-''​지원 버전''​ : ''​FaceStation F2 V1.0.2'',​ ''​FaceStation 2 V1.5.0''​ \\  
 고열 판단 기준의 범위값이며,​ 설정 할 온도의 100을 곱한 값으로 입력하여야 합니다. \\ 고열 판단 기준의 범위값이며,​ 설정 할 온도의 100을 곱한 값으로 입력하여야 합니다. \\
 또한 섭씨 기준으로만 입력할 수 있습니다. \\ 또한 섭씨 기준으로만 입력할 수 있습니다. \\
줄 2413: 줄 2481:
 그리고 thermalThresholdLow보다 큰 값을 설정 하여야 합니다. \\ \\ 그리고 thermalThresholdLow보다 큰 값을 설정 하여야 합니다. \\ \\
 8. //​maskDetectionLevel//​ \\ 8. //​maskDetectionLevel//​ \\
-''​FaceStation F2''​ 마스크 착용 감지 수준을 입력합니다. 여기서 감지 수준은 내부적으로 설정된 값에 근거합니다. \\ +''​Visual Face 기반''​ 마스크 착용 감지 수준을 입력합니다. 여기서 감지 수준은 내부적으로 설정된 값에 근거합니다. \\
-''​FaceStation 2''​ 이 설정은 무시됩니다. \\ +
 <WRAP group 50%> <WRAP group 50%>
 ^값  ^설명 ​ ^기본값 ​ ^ ^값  ^설명 ​ ^기본값 ​ ^
줄 2545: 줄 2612:
     uint8_t ​   numInputs;     uint8_t ​   numInputs;
     uint8_t ​   numSupervised;​     uint8_t ​   numSupervised;​
-    ​uint8_t ​   ​reserved[18];+    ​union { 
 +        uint16_t value; 
 +        struct { 
 +            uint16_t tamperAuxIndex : 4; 
 +            uint16_t acFailAuxIndex : 4; 
 +            uint16_t aux0Type : 1; 
 +            uint16_t aux1Type : 1; 
 +            uint16_t aux2Type : 1; 
 +            uint16_t reserved : 1; 
 +            uint16_t fireAuxIndex : 4; 
 +        } field; 
 +    } aux; 
 +    uint8_t ​    reserved[16];
  
     struct {     struct {
줄 2554: 줄 2633:
         uint8_t ​   reserved;         uint8_t ​   reserved;
         uint8_t ​   supervisedResistor;​         uint8_t ​   supervisedResistor;​
-        ​uint8_t ​   reserved1[16];+        ​BS2SupervisedInputConfig ​ supervisedConfig;
     ​     ​
         uint8_t ​   reserved2[26];​         uint8_t ​   reserved2[26];​
줄 2566: 줄 2645:
 2. //​numSupervised//​ \\ 2. //​numSupervised//​ \\
 supervised input 포트의 개수입니다. \\ \\ supervised input 포트의 개수입니다. \\ \\
-3. //​reserved//​ \\+3. //​tamperAuxIndex,​ acFailAuxIndex,​ fireAuxIndex//​ \\ 
 +[+2.9.9] Aux 입력을 설정합니다. 4bit 크기이며 CS20, DI24는 고정되어 있고 변경할 수 없습니다. \\ 
 +<WRAP group 50%> 
 +^Aux이름 ​ ^인덱스 ​ ^ 
 +|AC Fail  |0  | 
 +|TAMPER ​ |1  | 
 +|FIRE  |2  | 
 +</​WRAP>​  
 +4. //aux0Type, aux1Type, aux2Type// \\ 
 +[+2.9.9] Aux 입력 신호 유형을 설정합니다. \\ 
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|0  |Normally Open  | 
 +|1  |Normally Closed ​ | 
 +</​WRAP>​ 
 +5. //​reserved//​ \\
 예약된 공간입니다. \\ \\ 예약된 공간입니다. \\ \\
-4. //​portIndex//​ \\ +6. //​portIndex//​ \\ 
 Input 포트 번호입니다. \\ \\ Input 포트 번호입니다. \\ \\
-5. //​switchType//​ \\+7. //​switchType//​ \\
 Input 신호 유형입니다. \\  Input 신호 유형입니다. \\ 
 <WRAP group 50%> <WRAP group 50%>
줄 2577: 줄 2671:
 |1  |Normally Closed ​ | |1  |Normally Closed ​ |
 </​WRAP> ​ </​WRAP> ​
-6. //​duration//​ \\ +8. //​duration//​ \\ 
 Input 신호의 지속시간으로 단위는 밀리초(ms)입니다. \\ \\ Input 신호의 지속시간으로 단위는 밀리초(ms)입니다. \\ \\
-7. //​reserved//​ \\+9. //​reserved//​ \\
 예약된 공간입니다. \\ \\ 예약된 공간입니다. \\ \\
-8. //​supervisedResistor//​ \\+10. //​supervisedResistor//​ \\
 Supervised input 저항 값의 유형을 설정하거나,​ 해제할 수(unsupervised) 있습니다. \\ Supervised input 저항 값의 유형을 설정하거나,​ 해제할 수(unsupervised) 있습니다. \\
 <WRAP group 50%> <WRAP group 50%>
줄 2591: 줄 2685:
 |254  |Unsupervised(기본값) ​ | |254  |Unsupervised(기본값) ​ |
 </​WRAP> ​ </​WRAP> ​
-9. //reserved1// \\+11. //reserved2// \\
 예약된 공간입니다. \\ \\ 예약된 공간입니다. \\ \\
-10. //​reserved2//​ \\ +12. //​reserved2//​ \\
-예약된 공간입니다. \\ \\ +
-11. //​reserved2//​ \\+
 예약된 공간입니다. \\ \\ 예약된 공간입니다. \\ \\
  
줄 2703: 줄 2795:
     BS2ExtensionNumber phonebook[128];​     BS2ExtensionNumber phonebook[128];​
  
-    uint8_t reserved2[32];        ///< ​32 bytes (reserved)+    ​uint8_t resolution;​ 
 +    uint8_t transport;​ 
 +    ​uint8_t reserved2[30]; ///< ​30 bytes (reserved)
 } BS2VoipConfigExt;​ } BS2VoipConfigExt;​
 </​code>​ </​code>​
줄 2757: 줄 2851:
 22. //​phonebook//​ \\ 22. //​phonebook//​ \\
 128개까지 내선 번호들을 전화번호부로 지정할 수 있습니다. \\ \\ 128개까지 내선 번호들을 전화번호부로 지정할 수 있습니다. \\ \\
-23. //​reserved2//​ \\+23. //​resolution//​ \\ 
 +[+2.9.8] 송신 비디오 해상도를 설정합니다. 
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|0  |360 x 640  | 
 +|1  |720 x 480  | 
 +</​WRAP>​  
 +24. //​transport//​ \\ 
 +[+2.9.8] 데이터 전송 방식을 설정합니다. 
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|0  |UDP  | 
 +|1  |TCP  | 
 +|2  |SSL  | 
 +</​WRAP>​ 
 +25. //​reserved2//​ \\
 예약된 공간입니다. \\ \\ 예약된 공간입니다. \\ \\
  
줄 2771: 줄 2880:
     BS2_PORT port;     BS2_PORT port;
     BS2_BOOL enabled;     BS2_BOOL enabled;
-    uint8_t reserved; +    uint8_t reserved; ///< 1 byte (packing) 
- +     
-    uint8_t reserved2[32];+    uint8_t resolution; 
 +    uint8_t reserved2[31]; ///< 31 bytes (reserved)
 } BS2RtspConfig;​ } BS2RtspConfig;​
 </​code>​ </​code>​
줄 2788: 줄 2898:
 6. //​reserved//​ \\ 6. //​reserved//​ \\
 예약된 공간입니다. \\ \\ 예약된 공간입니다. \\ \\
-7. //​reserved2//​ \\+7. //​resolution//​ \\ 
 +[+2.9.8] 송신 비디오 해상도를 설정합니다. 
 +<WRAP group 30%> 
 +^값  ^설명 ​ ^ 
 +|0  |180 x 320  | 
 +|1  |720 x 480  | 
 +</​WRAP>​  
 +8. //​reserved2//​ \\
 예약된 공간입니다. \\ \\ 예약된 공간입니다. \\ \\
  
줄 2860: 줄 2977:
 5. //​reserved1//​ \\  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//​ \\  
-예약된 공간입니다. \\ 
  
  
줄 3236: 줄 3283:
 ==== BS2CustomCardConfig ==== ==== BS2CustomCardConfig ====
 <code cpp> <code cpp>
 +typedef struct {
 + uint8_t primaryKey[16];​
 + uint8_t secondaryKey[16];​
 + uint16_t startBlockIndex;​
 + uint8_t dataSize;
 + uint8_t skipBytes;
 + uint8_t reserved[16];​
 +} BS2CustomMifareCardEx;  ​
 +
 typedef struct { typedef struct {
  BS2_CARD_DATA_TYPE dataType;  BS2_CARD_DATA_TYPE dataType;
줄 3243: 줄 3299:
  BS2CustomMifareCard mifare;  BS2CustomMifareCard mifare;
  BS2CustomDesFireCard desfire;  BS2CustomDesFireCard desfire;
- uint8_t reserved2[24]+ BS2CustomMifareCardEx mifareEx; 
- uint8_t reserved3[96];+ BS2_MIFARE_ENCRYPTION mifareEncType
 + uint8_t reserved3[67]; 
  
  BS2_CARD_BYTE_ORDER smartCardByteOrder;​  BS2_CARD_BYTE_ORDER smartCardByteOrder;​
줄 3252: 줄 3309:
 } BS2CustomCardConfig;​ } BS2CustomCardConfig;​
 </​code>​ </​code>​
-1. //​dataType//​ \\ +1. //​primaryKey//​ \\ 
 +Mifare card 정보에 접근하기 위한 첫번째 암호화 키입니다. \\ \\ 
 +2. //​secondaryKey//​ \\ 
 +Mifare card 정보에 접근하기 위한 두번째 암호화 키입니다. \\ \\ 
 +3. //​startBlockIndex//​ \\ 
 +Mifare data storage에서의 start block index입니다. \\ \\ 
 +4. //​datasize//​ \\ 
 +카드 데이터가 몇 byte의 크기를 갖는지를 나타냅니다. \\ \\ 
 +5. //​skipBytes//​ \\ 
 +카드 데이터가 나타나는 위치를 의미합니다. \\ 
 +카드 데이터를 읽어들일 시작점 입니다. 처음부터 읽을경우 0이고, 첫번째 이후일 경우 건너뛴 byte 수를 나타냅니다. \\ \\ 
 +6. //​reserved//​ \\ 
 +예약된 공간입니다. \\ \\ 
 + 
 +7. //​dataType//​ \\ 
 Card의 데이터 유형입니다. \\  Card의 데이터 유형입니다. \\ 
 <WRAP group 50%> <WRAP group 50%>
줄 3261: 줄 3332:
 |3  |BCD  | |3  |BCD  |
 </​WRAP>​ </​WRAP>​
-2. //​useSecondaryKey//​ \\ +8. //​useSecondaryKey//​ \\ 
 두번째 암호화 키 사용 유무를 결정하는 flag입니다. \\ \\  두번째 암호화 키 사용 유무를 결정하는 flag입니다. \\ \\ 
-3. //​reserved1//​ \\ +9. //​reserved1//​ \\ 
 예약된 공간입니다. \\ \\  예약된 공간입니다. \\ \\ 
-4. //mifare// \\ +10. //mifare// \\ 
 Mifare custom card 정보를 설정합니다. \\ \\  Mifare custom card 정보를 설정합니다. \\ \\ 
-5. //desfire// \\ +11. //desfire// \\ 
 DESFire custom card 정보를 설정합니다. \\ \\  DESFire custom card 정보를 설정합니다. \\ \\ 
-6. //reserved2// \\  +12. //mifareEx// \\ 
-예약된 공간입니다. \\ \\  +[+2.9.9] 장치의 Mifare Custom Card 중에서 AES128 암호화 ​된 카드에 사용되는 설정 정보를 저장합니다. \\ \\ 
-7. //​reserved3//​ \\ +13. //​mifareEncType//​ \\ 
 +[+2.9.9] Mifare Custom Card의 암호화 방식을 지정합니다. Mifare Classic 카드는 CRYPTO1만 지원하며,​ Mifare Plus 카드는 CRYPTO1과 AES128 모두 지원합니다. \\ 
 +CRYPTO1으로 설정하면 BS2CustomMifareCard의 Mifare 설정이 적용되고,​ AES128로 설정하면 BS2CustomMifareConfigEx의 mifareEx 설정이 적용됩니다. \\  
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|0  |CRYPTO1 ​ | 
 +|1  |AES128 ​ | 
 +</​WRAP>​ 
 +14. //​reserved3//​ \\ 
 예약된 공간입니다. \\ \\  예약된 공간입니다. \\ \\ 
-8. //​smartCardByteOrder//​ \\+15. //​smartCardByteOrder//​ \\
 MSB 또는 LSB로 출력을 지정할 수 있습니다. \\ MSB 또는 LSB로 출력을 지정할 수 있습니다. \\
 <WRAP group 50%> <WRAP group 50%>
줄 3280: 줄 3359:
 |1  |LSB  | |1  |LSB  |
 </​WRAP>​ </​WRAP>​
-9. //​reserved4//​ \\ +16. //​reserved4//​ \\ 
 예약된 공간입니다. \\ \\  예약된 공간입니다. \\ \\ 
-10. //​formatID//​ \\ +17. //​formatID//​ \\ 
 BioStar 2 애플리케이션에서 card configuration을 데이터베이스 관리할 필요가 있을 경우 사용할 수 있는 식별자입니다. \\ \\  BioStar 2 애플리케이션에서 card configuration을 데이터베이스 관리할 필요가 있을 경우 사용할 수 있는 식별자입니다. \\ \\ 
-11. //​reserved5//​ \\ +18. //​reserved5//​ \\ 
 예약된 공간입니다. \\ \\ 예약된 공간입니다. \\ \\
 +
 +==== BS2MifareCardConfigEx ====
 +<code cpp>
 +typedef struct {
 +    uint8_t primaryKey[16];​
 +    uint8_t secondaryKey[16];​
 +    uint16_t startBlockIndex;​
 +    uint8_t reserved[14];​
 +} BS2MifareCardEx; ​
 +
 +typedef struct {
 +    BS2MifareCardEx mifareEx;
 +    uint8_t reserved[16];​
 +} BS2MifareCardConfigEx;​
 +</​code>​
 +1. //​primaryKey//​ \\ 
 +Mifare card 정보에 접근하기 위한 첫번째 암호화 키입니다. \\
 +\\
 +2. //​secondaryKey//​ \\
 +Mifare card 정보에 접근하기 위한 두번째 암호화 키입니다. \\
 +\\
 +3. //​startBlockIndex//​ \\
 +Mifare data storage에서의 start block index입니다. \\
 +\\
 +4. //​reserved//​ \\
 +예약된 공간입니다.
 +
 +==== BS2FacilityCodeConfig ====
 +<code cpp>
 +typedef struct{
 +    uint8_t code[4]; ​
 +} BS2FacilityCode; ​
 +
 +typedef struct{
 +        uint8_t numFacilityCode;​
 +        uint8_t reserved0[3];​
 +        BS2FacilityCode facilityCodes[16]; ​
 +        uint8_t reserved1[128]; ​
 +} BS2FacilityCodeConfig;​
 +</​code>​
 +1. //​numFacilityCode//​ \\
 +설정할 FacilityCode의 개수를 설정합니다. 최대 16개까지 지원합니다. \\ \\
 +2. //​reserved0//​ \\
 +예약된 공간입니다. \\ \\
 +3. //​BS2FacilityCode//​ \\
 +Door Interface(DI-24)와 마스터 장치의 OSDP 연결이 끊어진 경우 인증코드로 사용됩니다. \\ \\
 +4. //​reserved1//​ \\
 +예약된 공간입니다. \\ \\
 +
 +==== BS2Rs485ConfigEXDynamic ====
 +<code cpp>
 +typedef struct {
 +    uint32_t ​  ​deviceID; ​      ///< ​
 +    uint16_t ​  ​deviceType; ​    ///<​ 2 bytes
 +    uint8_t ​   enableOSDP; ​    ///<​ 1 byte
 +    uint8_t ​   connected; ​     ///< 1 bytes (packing)
 +
 +    union {
 +            uint8_t ​        ​channelInfo;​
 +            uint32_t ​       parentID;
 +    };
 +} BS2Rs485SlaveDeviceEX;​
 +
 +typedef struct {
 +    uint32_t ​               baudRate;
 +    uint8_t ​                ​channelIndex;​
 +    uint8_t ​                ​useRegistance;​
 +    uint8_t ​                ​numOfDevices;​
 +    uint8_t ​                ​channelType;​
 +    BS2Rs485SlaveDeviceEX ​ *slaveDevices;​
 +} BS2Rs485ChannelEXDynamic;​
 +
 +typedef struct {
 +    BS2_RS485_MODE mode[8];
 +    uint16_t numOfChannels;​
 +    uint8_t reserved[2];​
 +    uint8_t reserved1[32];​
 +    BS2Rs485ChannelEXDynamic channels[8];​
 +} BS2Rs485ConfigEXDynamic;​
 +</​code>​
 +<WRAP info>
 +baudRate을 제외한 모든 값은 읽기 전용으로 변경이 불가능합니다. \\
 +''​지원 장치'':​ CoreStation 20(CS-20, CS-20P), Door Interface(DI-24)
 +</​WRAP>​
 +1. //​baudRate//​ \\ 
 +RS485 통신 속도이며 설정할 수 있는 범위는 다음과 같습니다. \\
 +<WRAP group 50%>
 +^값  ^
 +|9600  |
 +|19200 ​ |
 +|38400 ​ |
 +|57600 ​ |
 +|115200 ​ |
 +</​WRAP>​
 +2. //​channelIndex//​ \\ 
 +RS485 network의 통신 채널 번호입니다. \\ \\
 +3. //​useRegistance//​ \\ 
 +종단 저항을 설정할지 결정하는 flag입니다. \\ \\
 +4. //​numOfDevices//​ \\ 
 +슬레이브 장치의 개수입니다. \\ \\
 +5. //​channelType//​ \\
 +해당 포트에 연결된 슬레이브 장치타입을 나타냅니다. \\
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |연결이 없음 ​ |
 +|1  |슈프리마 장치 ​ |
 +|2  |OSDP 표준 장치 ​ |
 +|3  |더 이상 연결할 수 없음 ​ |
 +</​WRAP>​
 +6. //​slaveDevices//​ \\ 
 +장치에 연결된 슬레이브 장치를 나열한 포인터 \\
 +<WRAP group 50%>
 +포트별 연결가능한 최대 장치
 +|Host 포트 ​ |16개 ​ |
 +|0번 포트 ​ |2개  |
 +|1번 포트 ​ |2개  |
 +</​WRAP>​
 +7. //mode// \\ 
 +RS485 네트워크에서 어떤 모드로 동작할지 결정하는 flag입니다. \\
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|1  |Master ​ |
 +|2  |Slave ​ |
 +|3  |Standalone ​ |
 +</​WRAP>​
 +<WRAP info>
 +CoreStation은 Master로만 사용 가능합니다. 다른 값은 설정할 수 없습니다.
 +</​WRAP>​
 +8. //​numOfChannels//​ \\ 
 +RS485 채널의 개수입니다.\\ \\ 
 +9. //​reserved//​ \\ 
 +예약된 공간입니다.\\ \\ 
 +10. //​reserved1//​ \\ 
 +예약된 공간입니다.\\ \\
 +11. //​channels//​ \\ 
 +RS485 채널을 나열한 리스트로 최대 8개까지 설정할 수 있습니다.\\ \\ 
 +