차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
ko:configuration_api [2022/08/24 19:52] kkshin [BS2FaceConfig] |
ko:configuration_api [2025/06/13 10:46] (현재) |
||
|---|---|---|---|
| 줄 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] ''FSF2'' 인증 설정 정보를 가져옵니다. | + | * [[BS2_GetAuthConfigExt]]: [+ 2.7.1] ''Visual Face 기반 장치'' 인증 설정 정보를 가져옵니다. |
| - | * [[BS2_SetAuthConfigExt]]: [+ 2.7.1] ''FSF2'' 인증 설정 정보를 저장합니다. | + | * [[BS2_SetAuthConfigExt]]: [+ 2.7.1] ''Visual Face 기반 장치'' 인증 설정 정보를 저장합니다. |
| - | * [[BS2_GetFaceConfigExt]]: [+ 2.7.1] ''FSF2, FS2'' 열화상 감지와 마스크 착용 체크를 위한 설정 정보를 가져옵니다. | + | * [[BS2_GetFaceConfigExt]]: [+ 2.7.1] 열화상 감지와 마스크 착용 체크를 위한 설정 정보를 가져옵니다. |
| - | * [[BS2_SetFaceConfigExt]]: [+ 2.7.1] ''FSF2, FS2'' 열화상 감지와 마스크 착용 체크를 위한 설정 정보를 저장합니다. | + | * [[BS2_SetFaceConfigExt]]: [+ 2.7.1] 열화상 감지와 마스크 착용 체크를 위한 설정 정보를 저장합니다. |
| - | * [[BS2_GetThermalCameraConfig]]: [+ 2.7.1] ''FSF2, FS2'' 열화상 카메라 설정을 가져옵니다. | + | * [[BS2_GetThermalCameraConfig]]: [+ 2.7.1] 열화상 카메라 설정을 가져옵니다. |
| - | * [[BS2_SetThermalCameraConfig]]: [+ 2.7.1] ''FSF2, FS2'' 열화상 카메라 설정을 저장합니다. | + | * [[BS2_SetThermalCameraConfig]]: [+ 2.7.1] 열화상 카메라 설정을 저장합니다. |
| * [[BS2_GetBarcodeConfig]]: [+ 2.8] ''XS2'' Barcode 관련 설정을 가져옵니다. | * [[BS2_GetBarcodeConfig]]: [+ 2.8] ''XS2'' Barcode 관련 설정을 가져옵니다. | ||
| * [[BS2_SetBarcodeConfig]]: [+ 2.8] ''XS2'' Barcode 관련 설정을 저장합니다. | * [[BS2_SetBarcodeConfig]]: [+ 2.8] ''XS2'' Barcode 관련 설정을 저장합니다. | ||
| 줄 82: | 줄 82: | ||
| * [[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_GetVoipConfigExt]]: [+ 2.8.3] 확장형 VoIP 설정을 가져옵니다. |
| - | * [[BS2_SetVoipConfigExt]]: [+ 2.8.3] ''BS3'' 확장형 VoIP 설정을 저장합니다. | + | * [[BS2_SetVoipConfigExt]]: [+ 2.8.3] 확장형 VoIP 설정을 저장합니다. |
| - | * [[BS2_GetRtspConfig]]: [+ 2.8.3] ''BS3'' RTSP 설정을 가져옵니다. | + | * [[BS2_GetRtspConfig]]: [+ 2.8.3] RTSP 설정을 가져옵니다. |
| - | * [[BS2_SetRtspConfig]]: [+ 2.8.3] ''BS3'' RTSP 설정을 저장합니다. | + | * [[BS2_SetRtspConfig]]: [+ 2.8.3] 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 설정을 저장합니다. | ||
| + | * [[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 ==== | ||
| 줄 193: | 줄 204: | ||
| 예약된 공간입니다. \\ \\ | 예약된 공간입니다. \\ \\ | ||
| 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 | | ||
| 줄 379: | 줄 393: | ||
| 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]; | ||
| + | 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> | ||
| 줄 484: | 줄 507: | ||
| 장치내에서 근태 코드값에 해당하는 아이콘을 보여줄 때 사용합니다. \\ \\ | 장치내에서 근태 코드값에 해당하는 아이콘을 보여줄 때 사용합니다. \\ \\ | ||
| 17. //useScreenSaver// \\ | 17. //useScreenSaver// \\ | ||
| - | ''FaceStation 2'', ''FaceStation F2'' true로 설정 시, 화면보호기가 활성화됩니다. \\ \\ | + | true로 설정 시, 화면보호기가 활성화됩니다. \\ \\ |
| - | 18. //reserved1// \\ | + | 18. //showOsdpResult// \\ |
| - | 예약된 공간입니다. \\ | + | [+ 2.9.6] Intelligent slave나 타사 컨트롤러에 슈프리마 장치를 주변장치로 연결하여 사용하는 환경에서 \\ |
| + | 인증 결과를 장치 화면에 표시하도록 하는 옵션입니다. \\ | ||
| + | <WRAP group 50%> | ||
| + | ^값 ^설명 ^ | ||
| + | |0 |OSDP 인증결과 표시 (기본값) | | ||
| + | |1 |OSDP 인증결과 표시안함 | | ||
| + | </WRAP> | ||
| + | 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> | ||
| 줄 661: | 줄 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> | ||
| 줄 743: | 줄 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 ==== | ||
| 줄 894: | 줄 962: | ||
| <WRAP group 50%> | <WRAP group 50%> | ||
| ^값 ^설명 ^ | ^값 ^설명 ^ | ||
| - | |0 |사용안함 | | ||
| |1 |Master | | |1 |Master | | ||
| |2 |Slave | | |2 |Slave | | ||
| 줄 1100: | 줄 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; | ||
| 줄 1140: | 줄 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의 저항값이 사용자 정의일 경우에만 의미가 있습니다. \\ | ||
| 줄 1214: | 줄 1298: | ||
| uint32_t deviceID; | uint32_t deviceID; | ||
| uint8_t type; | uint8_t type; | ||
| - | uint8_t reserved[3]; | + | uint8_t reserved; |
| + | uint16_t ignoreSignalTime; | ||
| | | ||
| union { | union { | ||
| 줄 1260: | 줄 1345: | ||
| |3|Schedule trigger| | |3|Schedule trigger| | ||
| </WRAP> | </WRAP> | ||
| + | 11. //reserved// \\ | ||
| + | 예약된 공간입니다. \\ \\ | ||
| + | 12. //ignoreSignalTime// \\ | ||
| + | [+2.9.6] 밀리초 단위로 지정하며 일정 시간 내 동일한 입력 신호가 반복적으로 입력되는 것을 무시하기 위한 설정입니다. \\ | ||
| + | 슈프리마 장치가 타사 컨트롤러와 wiegand로 연결된 환경에서 \\ | ||
| + | 특정 모델의 컨트롤러로부터 슈프리마 장치로 인증에 대한 피드백이 반복적으로 입력되는 경우 \\ | ||
| + | 이 설정을 통해 해당 시간만큼 강제로 입력 신호가 무시되도록 지정할 수 있습니다. \\ \\ | ||
| ==== BS2Action ==== | ==== BS2Action ==== | ||
| 줄 1699: | 줄 1791: | ||
| uint8_t unused; | uint8_t unused; | ||
| | | ||
| - | uint8_t reserved[14]; ///< 14 bytes (reserved) | + | uint8_t unableToSaveImageOfVisualFace; |
| + | uint8_t reserved[13]; | ||
| } BS2FaceConfig; | } BS2FaceConfig; | ||
| </code> | </code> | ||
| + | |||
| 1. //securityLevel// \\ | 1. //securityLevel// \\ | ||
| 시스템 전반적으로 사용할 얼굴 인증 보안 레벨입니다. \\ | 시스템 전반적으로 사용할 얼굴 인증 보안 레벨입니다. \\ | ||
| 줄 1717: | 줄 1811: | ||
| |1 |옥외 | | |1 |옥외 | | ||
| |2 |자동 | | |2 |자동 | | ||
| - | |3 |[+ 2.8] 사용 안함 ''(FaceStation F2)'' | | + | |3 |[+ 2.8] 사용 안함 | |
| </WRAP> | </WRAP> | ||
| 3. //enrollThreshold// \\ | 3. //enrollThreshold// \\ | ||
| 줄 1744: | 줄 1838: | ||
| </WRAP> | </WRAP> | ||
| 5. //enrollTimeout// \\ | 5. //enrollTimeout// \\ | ||
| - | ''FaceStation2, FaceLite'' : 얼굴 스캔 대기 시간으로 기본값은 60초입니다. \\ | + | ''IR Face 기반'' : 얼굴 스캔 대기 시간으로 기본값은 60초입니다. \\ |
| <WRAP group 60%> | <WRAP group 60%> | ||
| ^값 ^설명 ^ | ^값 ^설명 ^ | ||
| 줄 1751: | 줄 1845: | ||
| |BS2_FACE_ENROLL_TIMEOUT_DEFAULT |BS2_FACE_ENROLL_TIMEOUT_MAX | | |BS2_FACE_ENROLL_TIMEOUT_DEFAULT |BS2_FACE_ENROLL_TIMEOUT_MAX | | ||
| </WRAP> | </WRAP> | ||
| - | ''FaceStation F2'' : [+ V2.7.1] 얼굴 스캔 대기 시간으로 기본값은 20초입니다. \\ | + | ''Visual Face 기반'' : [+ V2.7.1] 얼굴 스캔 대기 시간으로 기본값은 20초입니다. \\ |
| <WRAP group 70%> | <WRAP group 70%> | ||
| ^값 ^설명 ^ | ^값 ^설명 ^ | ||
| 줄 1760: | 줄 1854: | ||
| 6. //lfdLevel// \\ | 6. //lfdLevel// \\ | ||
| [+ 2.6.3] 위조된 얼굴을 여과할 수 있는 민감도를 설정할 수 있습니다. \\ | [+ 2.6.3] 위조된 얼굴을 여과할 수 있는 민감도를 설정할 수 있습니다. \\ | ||
| - | ''FaceStation2, FaceLite'' : 기본값은 0입니다. \\ | + | ''IR Face 기반'' : 기본값은 0입니다. \\ |
| - | ''FaceStation F2'' : [+ 2.7.1] 기본값이 1입니다. \\ | + | ''Visual Face 기반'' : [+ 2.7.1] 기본값이 1입니다. \\ |
| <WRAP group 50%> | <WRAP group 50%> | ||
| ^값 ^설명 ^ | ^값 ^설명 ^ | ||
| 줄 1785: | 줄 1879: | ||
| [+ 2.6.4] true로 설정하면 중복된 얼굴 정보인지 판단합니다. \\ \\ | [+ 2.6.4] true로 설정하면 중복된 얼굴 정보인지 판단합니다. \\ \\ | ||
| 10. //operationMode// \\ | 10. //operationMode// \\ | ||
| - | [+ 2.7.1] ''FaceStation F2'' 아래의 동작 모드를 설정하며, 기본값은 Fusion 모드입니다. \\ | + | [+ 2.7.1] ''FaceStation F2 V1.0.1''미만은 아래의 동작 모드로 설정가능하며, 기본값은 Fusion 모드입니다. \\ |
| <WRAP group 50%> | <WRAP group 50%> | ||
| ^값 ^모드 ^설명 ^기본값 ^ | ^값 ^모드 ^설명 ^기본값 ^ | ||
| 줄 1791: | 줄 1885: | ||
| |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''이상, ''Visual Face 기반''는 아래와 같은 의미로 사용됩니다. | ||
| + | <WRAP group 50%> | ||
| + | ^값 ^모드 ^설명 ^기본값 ^ | ||
| + | |0 |Fusion 모드 |Visual matching + IR matching |기본 | | ||
| + | |1 |Fast 모드 |Visual matching | | | ||
| </WRAP> | </WRAP> | ||
| 11. //maxRotation// \\ | 11. //maxRotation// \\ | ||
| - | [+ 2.7.1] ''FaceStation F2'' 얼굴 검출 시 보통은 정면 일 것입니다. \\ | + | [+ 2.7.1] ''Visual Face 기반'' 일반적인 상황에서 얼굴을 검출할 때 얼굴의 방향은 정면일 것입니다. \\ |
| - | 하지만 FSF2는 얼굴 검출 시 정면에서 몇도 정도 회전된(외곡된) 이미지인지 판단이 가능합니다. \\ | + | 이 경우 장치는 얼굴 검출 시 정면에서 어느 정도 회전된(왜곡된) 이미지인지 판단할 수 있습니다. \\ |
| - | 이를 통해 일정 각도 이상 회전된 이미지의 경우 검출 실패 처리를 시킬 수 있습니다. \\ | + | 이를 통해 일정 각도 이상 회전된 이미지의 경우 검출 실패 처리를 할 수 있습니다. \\ |
| - | 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// \\ | ||
| - | [+ 2.7.1] ''FaceStation F2'' 얼굴 이미지의 폭을 나타내며, 폭의 최소값, 최대값을 지정할 수 있습니다. \\ | + | [+ 2.7.1] ''Visual Face 기반'' 얼굴 이미지의 폭을 나타내며 폭의 최소값, 최대값을 지정할 수 있습니다. \\ |
| - | 최소값, 최대값은 아래의 값을 기본값으로 갖습니다. \\ | + | 최소값, 최대값의 기본값은 아래와 같습니다. \\ |
| - | [+ 2.8.3] ''BioStation 3'' 해당 설정은 무시됩니다. \\ | + | <WRAP group 30%> |
| - | <WRAP group 20%> | + | |
| ^ ^기본값(min) ^기본값(max) ^ | ^ ^기본값(min) ^기본값(max) ^ | ||
| |FSF2 |66 |250 | | |FSF2 |66 |250 | | ||
| - | |BS3 |- |- | | + | |BS3 |130 |350 | |
| + | |BEW3 |130 |350 | | ||
| </WRAP> | </WRAP> | ||
| 13. //searchRange// \\ | 13. //searchRange// \\ | ||
| - | [+ 2.7.1] ''FaceStation F2'' 얼굴 검색 범위를 나타내며, 범위의 x값(가로 좌표)과 x값 지점으로부터의 폭을 지정할 수 있습니다. \\ | + | [+ 2.7.1] ''Visual Face 기반'' 얼굴 감지 범위를 나타내며 범위의 x값(가로 좌표)과 x값으로부터의 폭을 지정할 수 있습니다. \\ |
| - | x값과 폭은 아래의 값을 기본값으로 갖습니다. \\ | + | x값과 폭의 기본값은 아래와 같습니다. \\ |
| - | [+ 2.8.3] ''BioStation 3'' 해당 설정은 무시됩니다. \\ | + | <WRAP group 30%> |
| - | <WRAP group 20%> | + | |
| ^ ^기본값(x) ^기본값(width) ^ | ^ ^기본값(x) ^기본값(width) ^ | ||
| |FSF2 |144 |432 | | |FSF2 |144 |432 | | ||
| - | |BS3 |- |- | | + | |BS3 |90 |540 | |
| + | |BEW3 |90 |540 | | ||
| </WRAP> | </WRAP> | ||
| 14. //detectDistance// \\ | 14. //detectDistance// \\ | ||
| - | [+ 2.8.3] ''BioStation 3'' 얼굴 감지 거리의 최소값과 최대값을 설정합니다. \\ | + | [+ 2.8.3] ''Visual Face 기반'' 얼굴 감지 거리의 최소값과 최대값을 설정합니다. \\ |
| 픽셀 단위로 얼굴 위치를 지정하는 faceWidth는 사용하기 난해하므로 더 이상 사용하지 않습니다. \\ | 픽셀 단위로 얼굴 위치를 지정하는 faceWidth는 사용하기 난해하므로 더 이상 사용하지 않습니다. \\ | ||
| 대신 피사체(얼굴)의 감지 거리를 얼마로 할지 만 정합니다. 거리는 cm로 설정하며, 10의 배수로 입력하여야 합니다. \\ | 대신 피사체(얼굴)의 감지 거리를 얼마로 할지 만 정합니다. 거리는 cm로 설정하며, 10의 배수로 입력하여야 합니다. \\ | ||
| <WRAP group 80%> | <WRAP group 80%> | ||
| ^ ^최소 감지거리의 최소값 ^최소 감지거리의 최대값 ^최소 감지거리(기본값) ^최대 감지거리의 최소값 ^최대 감지거리의 최대값 ^최대 감지거리(무제한) ^최대 감지거리(기본값) ^ | ^ ^최소 감지거리의 최소값 ^최소 감지거리의 최대값 ^최소 감지거리(기본값) ^최대 감지거리의 최소값 ^최대 감지거리의 최대값 ^최대 감지거리(무제한) ^최대 감지거리(기본값) ^ | ||
| - | |BS3 |30 |100 |60 |40 |100 |255 |100 | | + | |FSF2 |30 |130 |30 |40 |130 |255 |130 | |
| + | |BS3 |30 |100 |30 |40 |100 |255 |100 | | ||
| + | |BEW3 |30 |100 |30 |40 |100 |255 |100 | | ||
| </WRAP> | </WRAP> | ||
| 15. //wideSearch// \\ | 15. //wideSearch// \\ | ||
| - | [+ 2.8.3] ''BioStation 3'' 얼굴 감지 범위를 넓힙니다. \\ | + | [+ 2.8.3] ''BioStation 3, BioEntry W3'' 얼굴 감지 범위를 넓힙니다. \\ |
| x좌표와 width를 지정해야하는 난해한 설정인 searchRange는 더 이상 사용하지 않습니다. \\ | x좌표와 width를 지정해야하는 난해한 설정인 searchRange는 더 이상 사용하지 않습니다. \\ | ||
| 대신 얼굴 감지를 표준(false) 설정으로 할지, 광역(true)으로 할지 여부만 지정합니다. \\ | 대신 얼굴 감지를 표준(false) 설정으로 할지, 광역(true)으로 할지 여부만 지정합니다. \\ | ||
| 줄 1832: | 줄 1947: | ||
| 16. //unused// \\ | 16. //unused// \\ | ||
| 예약된 공간입니다.\\ \\ | 예약된 공간입니다.\\ \\ | ||
| - | 17. //reserved// \\ | + | 17. //unableToSaveImageOfVisualFace// \\ |
| + | [+ 2.9.6] Visual face를 크리덴셜로 사용하는 장치에서 얼굴 이미지를 장치에 저장할 것인지를 나타냅니다. \\ | ||
| + | 이 설정을 키면 장치 내 모든 사용자의 얼굴 정보 중 이미지 정보가 즉시 삭제되며 템플릿만 남게됩니다. \\ | ||
| + | 또한, [[BS2_EnrollUserFaceEx]] API를 통해 사용자 이미지가 포함된 얼굴 정보를 가져오더라도 장치는 이를 무시하게됩니다. \\ | ||
| + | 기본값은 false 이며, 얼굴과 이미지 모두 저장입니다. \\ \\ | ||
| + | 18. //reserved// \\ | ||
| 예약된 공간입니다.\\ \\ | 예약된 공간입니다.\\ \\ | ||
| 줄 1876: | 줄 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// \\ | ||
| 줄 2322: | 줄 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%> | ||
| ^값 ^설명 ^기본값 ^ | ^값 ^설명 ^기본값 ^ | ||
| 줄 2334: | 줄 2455: | ||
| |1 |마스크 착용 감지 사용 (HARD) | | | |1 |마스크 착용 감지 사용 (HARD) | | | ||
| |2 |마스크 착용 감지 사용 (SOFT) | | | |2 |마스크 착용 감지 사용 (SOFT) | | | ||
| + | |3 |마스크 착용 금지 | | | ||
| </WRAP> | </WRAP> | ||
| 3. //reserved// \\ | 3. //reserved// \\ | ||
| 줄 2347: | 줄 2469: | ||
| 예약된 공간입니다. \\ \\ | 예약된 공간입니다. \\ \\ | ||
| 6. //thermalThresholdLow// \\ | 6. //thermalThresholdLow// \\ | ||
| - | ''지원 버전'' : ''FaceStation F2 V1.0.2'', ''FaceStation 2 V1.5.0'' \\ | ||
| 고열 판단 기준의 범위값이며, 설정 할 온도의 100을 곱한 값으로 입력하여야 합니다. \\ | 고열 판단 기준의 범위값이며, 설정 할 온도의 100을 곱한 값으로 입력하여야 합니다. \\ | ||
| 또한 섭씨 기준으로만 입력할 수 있습니다. \\ | 또한 섭씨 기준으로만 입력할 수 있습니다. \\ | ||
| 줄 2360: | 줄 2481: | ||
| 그리고 thermalThresholdLow보다 큰 값을 설정 하여야 합니다. \\ \\ | 그리고 thermalThresholdLow보다 큰 값을 설정 하여야 합니다. \\ \\ | ||
| 8. //maskDetectionLevel// \\ | 8. //maskDetectionLevel// \\ | ||
| - | ''FaceStation F2'' 마스크 착용 감지 수준을 입력합니다. 여기서 감지 수준은 내부적으로 설정된 값에 근거합니다. \\ | + | ''Visual Face 기반'' 마스크 착용 감지 수준을 입력합니다. 여기서 감지 수준은 내부적으로 설정된 값에 근거합니다. \\ |
| - | ''FaceStation 2'' 이 설정은 무시됩니다. \\ | + | |
| <WRAP group 50%> | <WRAP group 50%> | ||
| ^값 ^설명 ^기본값 ^ | ^값 ^설명 ^기본값 ^ | ||
| 줄 2427: | 줄 2547: | ||
| uint8_t treatAsCSN; | uint8_t treatAsCSN; | ||
| - | uint8_t reserved[12]; | + | uint8_t useVisualBarcode; |
| + | uint8_t motionSensitivity; | ||
| + | uint8_t visualCameraScanTimeout; | ||
| + | uint8_t reserved[9]; | ||
| } BS2BarcodeConfig; | } BS2BarcodeConfig; | ||
| </code> | </code> | ||
| 1. //useBarcode// \\ | 1. //useBarcode// \\ | ||
| + | ''XS2-QR 만 지원'' | ||
| Barcode 사용여부 flag입니다. \\ \\ | Barcode 사용여부 flag입니다. \\ \\ | ||
| 2. //scanTimeout// \\ | 2. //scanTimeout// \\ | ||
| Barcode scan 시간을 설정합니다. 단위는 초입니다. \\ | Barcode scan 시간을 설정합니다. 단위는 초입니다. \\ | ||
| 기본값은 4초이며, 4~10초 범위 내로 입력 가능합니다. \\ \\ | 기본값은 4초이며, 4~10초 범위 내로 입력 가능합니다. \\ \\ | ||
| + | <WRAP group 50%> | ||
| + | ^값 ^매크로 ^설명 ^ | ||
| + | |4 |BS2_BARCODE_TIMEOUT_DEFAULT |기본값 | | ||
| + | |4 |BS2_BARCODE_TIMEOUT_MIN |최소값 | | ||
| + | |10 |BS2_BARCODE_TIMEOUT_MAX |최대값 | | ||
| + | </WRAP> | ||
| 3. //bypassData// \\ | 3. //bypassData// \\ | ||
| [+2.8.2] 읽혀진 barcode 정보를 장치에서 처리하지 않고, 서버로 전송하기 위해 사용합니다. \\ | [+2.8.2] 읽혀진 barcode 정보를 장치에서 처리하지 않고, 서버로 전송하기 위해 사용합니다. \\ | ||
| 줄 2447: | 줄 2577: | ||
| 따라서, 특수문자, 영문자가 들어있는 barcode 카드 데이터를 설정하고자 하면 오류를 반환할 수 있습니다. \\ | 따라서, 특수문자, 영문자가 들어있는 barcode 카드 데이터를 설정하고자 하면 오류를 반환할 수 있습니다. \\ | ||
| 이 경우, card type만 다르게, CSN 카드와 barcode 데이터를 동일한 값으로 사용하고자하는 사용자의 목적에 부합할 수 있습니다. \\ \\ | 이 경우, card type만 다르게, CSN 카드와 barcode 데이터를 동일한 값으로 사용하고자하는 사용자의 목적에 부합할 수 있습니다. \\ \\ | ||
| - | 5. //reserved// \\ | + | 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> | ||
| 줄 2455: | 줄 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 { | ||
| 줄 2464: | 줄 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]; | ||
| 줄 2476: | 줄 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%> | ||
| 줄 2487: | 줄 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%> | ||
| 줄 2501: | 줄 2685: | ||
| |254 |Unsupervised(기본값) | | |254 |Unsupervised(기본값) | | ||
| </WRAP> | </WRAP> | ||
| - | 9. //reserved1// \\ | ||
| - | 예약된 공간입니다. \\ \\ | ||
| - | 10. //reserved2// \\ | ||
| - | 예약된 공간입니다. \\ \\ | ||
| 11. //reserved2// \\ | 11. //reserved2// \\ | ||
| + | 예약된 공간입니다. \\ \\ | ||
| + | 12. //reserved2// \\ | ||
| 예약된 공간입니다. \\ \\ | 예약된 공간입니다. \\ \\ | ||
| 줄 2613: | 줄 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> | ||
| 줄 2667: | 줄 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// \\ | ||
| 예약된 공간입니다. \\ \\ | 예약된 공간입니다. \\ \\ | ||
| 줄 2681: | 줄 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> | ||
| 줄 2698: | 줄 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// \\ | ||
| 예약된 공간입니다. \\ \\ | 예약된 공간입니다. \\ \\ | ||
| + | |||
| + | |||
| + | ==== 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// \\ | ||
| + | 예약된 공간입니다. \\ \\ | ||
| + | |||
| + | |||
| + | ==== 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 { | ||
| + | uint8_t primaryKey[16]; | ||
| + | uint8_t secondaryKey[16]; | ||
| + | uint16_t startBlockIndex; | ||
| + | uint8_t dataSize; | ||
| + | uint8_t skipBytes; | ||
| + | uint8_t reserved[16]; | ||
| + | } BS2CustomMifareCardEx; | ||
| + | |||
| + | typedef struct { | ||
| + | BS2_CARD_DATA_TYPE dataType; | ||
| + | BS2_BOOL useSecondaryKey; | ||
| + | uint8_t reserved1[2]; | ||
| + | |||
| + | BS2CustomMifareCard mifare; | ||
| + | BS2CustomDesFireCard desfire; | ||
| + | BS2CustomMifareCardEx mifareEx; | ||
| + | BS2_MIFARE_ENCRYPTION mifareEncType; | ||
| + | uint8_t reserved3[67]; | ||
| + | |||
| + | BS2_CARD_BYTE_ORDER smartCardByteOrder; | ||
| + | uint8_t reserved4[3]; | ||
| + | BS2_UID formatID; | ||
| + | uint8_t reserved5[8]; | ||
| + | } BS2CustomCardConfig; | ||
| + | </code> | ||
| + | 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의 데이터 유형입니다. \\ | ||
| + | <WRAP group 50%> | ||
| + | ^값 ^설명 ^ | ||
| + | |0 |바이너리 | | ||
| + | |1 |아스키 | | ||
| + | |2 |UTF16 | | ||
| + | |3 |BCD | | ||
| + | </WRAP> | ||
| + | 8. //useSecondaryKey// \\ | ||
| + | 두번째 암호화 키 사용 유무를 결정하는 flag입니다. \\ \\ | ||
| + | 9. //reserved1// \\ | ||
| + | 예약된 공간입니다. \\ \\ | ||
| + | 10. //mifare// \\ | ||
| + | Mifare custom card 정보를 설정합니다. \\ \\ | ||
| + | 11. //desfire// \\ | ||
| + | DESFire custom card 정보를 설정합니다. \\ \\ | ||
| + | 12. //mifareEx// \\ | ||
| + | [+2.9.9] 장치의 Mifare Custom Card 중에서 AES128 암호화 된 카드에 사용되는 설정 정보를 저장합니다. \\ \\ | ||
| + | 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// \\ | ||
| + | 예약된 공간입니다. \\ \\ | ||
| + | 15. //smartCardByteOrder// \\ | ||
| + | MSB 또는 LSB로 출력을 지정할 수 있습니다. \\ | ||
| + | <WRAP group 50%> | ||
| + | ^값 ^설명 ^ | ||
| + | |0 |MSB | | ||
| + | |1 |LSB | | ||
| + | </WRAP> | ||
| + | 16. //reserved4// \\ | ||
| + | 예약된 공간입니다. \\ \\ | ||
| + | 17. //formatID// \\ | ||
| + | BioStar 2 애플리케이션에서 card configuration을 데이터베이스 관리할 필요가 있을 경우 사용할 수 있는 식별자입니다. \\ \\ | ||
| + | 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개까지 설정할 수 있습니다.\\ \\ | ||