차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
ko:configuration_api [2020/02/13 16:25] kkshin [BS2DesFireCardConfigEx] |
ko:configuration_api [2023/03/02 15:23] kkshin [BS2BarcodeConfig] |
||
---|---|---|---|
줄 35: | 줄 35: | ||
* [[BS2_GetWiegandDeviceConfig]]: Wiegand 신호 설정 정보를 가져옵니다. | * [[BS2_GetWiegandDeviceConfig]]: Wiegand 신호 설정 정보를 가져옵니다. | ||
* [[BS2_SetWiegandDeviceConfig]]: Wiegand 신호 설정 정보를 저장합니다. | * [[BS2_SetWiegandDeviceConfig]]: Wiegand 신호 설정 정보를 저장합니다. | ||
- | * [[BS2_GetInputConfig]]: 입력 포트 설정 정보를 가져옵니다. | + | * [[BS2_GetInputConfig]]: Suprevised 입력 포트 설정 정보를 가져옵니다. |
- | * [[BS2_SetInputConfig]]: 입력 포트 설정 정보를 저장합니다. | + | * [[BS2_SetInputConfig]]: Supervised 입력 포트 설정 정보를 저장합니다. |
* [[BS2_GetWlanConfig]]: 무선랜 설정 정보를 가져옵니다. | * [[BS2_GetWlanConfig]]: 무선랜 설정 정보를 가져옵니다. | ||
* [[BS2_SetWlanConfig]]: 무선랜 설정 정보를 저장합니다. | * [[BS2_SetWlanConfig]]: 무선랜 설정 정보를 저장합니다. | ||
줄 68: | 줄 68: | ||
* [[BS2_GetIPV6ConfigViaUDPEx]]: [+ 2.6.3] IP V6 설정 정보를 UDP broadcasting를 통해 가져옵니다. (host ip 지정) | * [[BS2_GetIPV6ConfigViaUDPEx]]: [+ 2.6.3] IP V6 설정 정보를 UDP broadcasting를 통해 가져옵니다. (host ip 지정) | ||
* [[BS2_SetIPV6ConfigViaUDPEx]]: [+ 2.6.3] IP V6 설정 정보를 UDP broadcasting를 통해 저장합니다. (host ip 지정) | * [[BS2_SetIPV6ConfigViaUDPEx]]: [+ 2.6.3] IP V6 설정 정보를 UDP broadcasting를 통해 저장합니다. (host ip 지정) | ||
- | * [[BS2_GetDesFireConfigEx]]: [+ 2.6.4] DesFire 카드 설정 정보를 가져옵니다. | + | * [[BS2_GetDesFireCardConfigEx]]: [+ 2.6.4] DesFire 카드 고급설정 정보를 가져옵니다. |
- | * [[BS2_SetDesFireConfigEx]]: [+ 2.6.4] DesFire 카드 설정 정보를 저장합니다. | + | * [[BS2_SetDesFireCardConfigEx]]: [+ 2.6.4] DesFire 카드 고급설정 정보를 저장합니다. |
+ | * [[BS2_GetAuthConfigExt]]: [+ 2.7.1] ''FSF2'' 인증 설정 정보를 가져옵니다. | ||
+ | * [[BS2_SetAuthConfigExt]]: [+ 2.7.1] ''FSF2'' 인증 설정 정보를 저장합니다. | ||
+ | * [[BS2_GetFaceConfigExt]]: [+ 2.7.1] ''FSF2, FS2'' 열화상 감지와 마스크 착용 체크를 위한 설정 정보를 가져옵니다. | ||
+ | * [[BS2_SetFaceConfigExt]]: [+ 2.7.1] ''FSF2, FS2'' 열화상 감지와 마스크 착용 체크를 위한 설정 정보를 저장합니다. | ||
+ | * [[BS2_GetThermalCameraConfig]]: [+ 2.7.1] ''FSF2, FS2'' 열화상 카메라 설정을 가져옵니다. | ||
+ | * [[BS2_SetThermalCameraConfig]]: [+ 2.7.1] ''FSF2, FS2'' 열화상 카메라 설정을 저장합니다. | ||
+ | * [[BS2_GetBarcodeConfig]]: [+ 2.8] ''XS2'' Barcode 관련 설정을 가져옵니다. | ||
+ | * [[BS2_SetBarcodeConfig]]: [+ 2.8] ''XS2'' Barcode 관련 설정을 저장합니다. | ||
+ | * [[BS2_GetInputConfigEx]]: [+ 2.8.1] ''IM-120'' Input 관련 확장형 설정을 가져옵니다. | ||
+ | * [[BS2_SetInputConfigEx]]: [+ 2.8.1] ''IM-120'' Input 관련 확장형 설정을 저장합니다. | ||
+ | * [[BS2_GetRelayActionConfig]]: [+ 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 설정을 지정합니다. | ||
===== 구조체 ===== | ===== 구조체 ===== | ||
==== BS2FactoryConfig ==== | ==== BS2FactoryConfig ==== | ||
줄 137: | 줄 158: | ||
bool reserved0; // (write protected) | bool reserved0; // (write protected) | ||
uint8_t reserved[2]; | uint8_t reserved[2]; | ||
- | uint8_t reserved2[20]; | + | uint32_t useCardOperationMask; |
+ | uint8_t reserved2[16]; | ||
} BS2SystemConfig; | } BS2SystemConfig; | ||
</code> | </code> | ||
줄 149: | 줄 171: | ||
예약된 변수입니다. \\ \\ | 예약된 변수입니다. \\ \\ | ||
5. //deviceLocked// \\ | 5. //deviceLocked// \\ | ||
- | 대기 모드에서 잠금화면을 보여줄지 결정하는 flag입니다. \\ \\ | + | 장치의 현재 잠김상태를 나타내는 필드입니다. (읽기전용 필드) \\ \\ |
6. //useInterphone// \\ | 6. //useInterphone// \\ | ||
인터폰을 사용할지 결정하는 flag입니다. \\ \\ | 인터폰을 사용할지 결정하는 flag입니다. \\ \\ | ||
줄 174: | 줄 196: | ||
14. //reserved// \\ | 14. //reserved// \\ | ||
예약된 공간입니다. \\ \\ | 예약된 공간입니다. \\ \\ | ||
- | 15. //reserved2// \\ | + | 15. //useCardOperationMask// \\ |
+ | [+ 2.6.4] 모든 카드를 읽지 않고, 사용자 선택에 의해 카드 타입별로 읽을 수 있도록 옵션을 제공합니다. \\ | ||
+ | MASK값은 조합을 통하여 중복 설정이 가능며, 사용자는 이 옵션을 통하여 카드 타입의 읽기를 추가 또는 제거할 수 있습니다. \\ | ||
+ | 단, 장치가 지원할 수 있는 카드 타입에 한하며, 장치가 지원하지 않는 카드 읽기를 추가하는 경우 해당 설정은 무시됩니다. \\ | ||
+ | 또한, 지원하고자하는 카드 타입의 마스크는 ''CARD_OPERATION_USE''와 조합해야 합니다.\\ | ||
+ | 예를들어 EM카드만 읽을 수 있도록 설정하고자 한다면 useCardOperationMask에는 ''0x80000001''로 설정되어져야 합니다. | ||
+ | <WRAP group 60%> | ||
+ | ^값 ^설명 ^ | ||
+ | |0xFFFFFFFF |CARD_OPERATION_MASK_DEFAULT | | ||
+ | |0x80000000 |CARD_OPERATION_USE | | ||
+ | |0x00000000 |CARD_OPERATION_MASK_NONE | | ||
+ | |0x00000001 |CARD_OPERATION_MASK_LF_EM | | ||
+ | |0x00000002 |CARD_OPERATION_MASK_LF_PROX | | ||
+ | |0x00000004 |CARD_OPERATION_MASK_HF_CSN_MIFARE | | ||
+ | |0x00000008 |CARD_OPERATION_MASK_HF_CSN_ICLASS | | ||
+ | |0x00000010 |CARD_OPERATION_MASK_HF_SMART_MIFARE | | ||
+ | |0x00000020 |CARD_OPERATION_MASK_HF_SMART_MIFARE_DESFIRE | | ||
+ | |0x00000040 |CARD_OPERATION_MASK_HF_SMART_ICLASS | | ||
+ | |0x00000080 |CARD_OPERATION_MASK_HF_SMART_ICLASS_SEOS | | ||
+ | |0x00000100 |CARD_OPERATION_MASK_MOBILE_NFC | | ||
+ | |0x00000200 |CARD_OPERATION_MASK_MOBILE_BLE | | ||
+ | |0x00000400 |CARD_OPERATION_MASK_HF_CSN_OTHERS | | ||
+ | </WRAP> | ||
+ | 16. //reserved2// \\ | ||
예약된 공간입니다. \\ \\ | 예약된 공간입니다. \\ \\ | ||
==== BS2AuthConfig ==== | ==== BS2AuthConfig ==== | ||
줄 336: | 줄 381: | ||
uint8_t homeFormation; | uint8_t homeFormation; | ||
BS2_BOOL useUserPhrase; | BS2_BOOL useUserPhrase; | ||
- | uint8_t reserved[1]; | + | BS2_BOOL queryUserPhrase; |
uint8_t shortcutHome[BS2_MAX_SHORTCUT_HOME]; | uint8_t shortcutHome[BS2_MAX_SHORTCUT_HOME]; | ||
uint8_t tnaIcon[16]; | uint8_t tnaIcon[16]; | ||
- | uint8_t reserved1[32]; | + | uint8_t useScreenSaver; |
+ | uint8_t reserved1[31]; | ||
} BS2DisplayConfig; | } BS2DisplayConfig; | ||
</code> | </code> | ||
줄 379: | 줄 425: | ||
</WRAP> | </WRAP> | ||
6. //menuTimeout// \\ | 6. //menuTimeout// \\ | ||
- | 사용자의 장치 조작이 없을 때 잠금 화면으로 전환되는 시간이며 단위는 초(sec)를 사용합니다. 0-255 sec로 설정할 수 있습으며. 0으로 설정되면 잠금 화면으로 전환되지 않습니다.\\ \\ | + | 사용자의 장치 조작이 없을 때 잠금 화면으로 전환되는 시간이며 단위는 초(sec)를 사용합니다. 0-255 sec로 설정할 수 있습으며. 0으로 설정되면 잠금 화면으로 전환되지 않습니다.\\ |
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^ | ||
+ | |0 |메뉴화면 유지 지속 | | ||
+ | |10 |메뉴화면 유지 10초 | | ||
+ | |20 |메뉴화면 유지 20초 (기본값) | | ||
+ | |30 |메뉴화면 유지 30초 | | ||
+ | |40 |메뉴화면 유지 40초 | | ||
+ | |50 |메뉴화면 유지 50초 | | ||
+ | |60 |메뉴화면 유지 60초 | | ||
+ | </WRAP> | ||
7. //msgTimeout// \\ | 7. //msgTimeout// \\ | ||
- | 메시지 화면이 자동으로 사라지는 시간이며 단위는 밀리초(ms)를 사용합니다. 500-5000 ms로 설정할 수 있습니다.\\ \\ | + | 메시지 화면이 자동으로 사라지는 시간이며 단위는 밀리초(ms)를 사용합니다. 500-5000 ms로 설정할 수 있습니다.\\ |
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^ | ||
+ | |500 |메시지 화면 유지 500밀리초 | | ||
+ | |1000 |메시지 화면 유지 1초 | | ||
+ | |2000 |메시지 화면 유지 2초 (기본값) | | ||
+ | |3000 |메시지 화면 유지 3초 | | ||
+ | |4000 |메시지 화면 유지 4초 | | ||
+ | |5000 |메시지 화면 유지 5초 | | ||
+ | </WRAP> | ||
8. //backlightTimeout// \\ | 8. //backlightTimeout// \\ | ||
- | 백라이트 유지 시간이며 단위는 초(sec)를 사용합니다. \\ \\ | + | 백라이트 유지 시간이며 단위는 초(sec)를 사용합니다. \\ |
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^ | ||
+ | |0 |백라이트 유지 0초 | | ||
+ | |10 |백라이트 유지 10초 | | ||
+ | |20 |백라이트 유지 20초 (기본값) | | ||
+ | |30 |백라이트 유지 30초 | | ||
+ | |40 |백라이트 유지 40초 | | ||
+ | |50 |백라이트 유지 50초 | | ||
+ | |60 |백라이트 유지 60초 | | ||
+ | </WRAP> | ||
9. //displayDateTime// \\ | 9. //displayDateTime// \\ | ||
화면에 시간을 표시할지 결정하는 flag입니다.\\ \\ | 화면에 시간을 표시할지 결정하는 flag입니다.\\ \\ | ||
줄 408: | 줄 483: | ||
13. //useUserPhrase// \\ | 13. //useUserPhrase// \\ | ||
인증시 개인메시지 표시 여부입니다. \\ \\ | 인증시 개인메시지 표시 여부입니다. \\ \\ | ||
- | 14. //reserved// \\ | + | 14. //queryUserPhrase// \\ |
- | 예약된 공간입니다. \\ \\ | + | true로 설정 시, 개인인증 메시지를 서버에 묻습니다. \\ \\ |
15. //shortcutHome// \\ | 15. //shortcutHome// \\ | ||
homeFormation과 관련된 변수로 추후 적용 예정입니다. \\ \\ | homeFormation과 관련된 변수로 추후 적용 예정입니다. \\ \\ | ||
16. //tnaIcon// \\ | 16. //tnaIcon// \\ | ||
장치내에서 근태 코드값에 해당하는 아이콘을 보여줄 때 사용합니다. \\ \\ | 장치내에서 근태 코드값에 해당하는 아이콘을 보여줄 때 사용합니다. \\ \\ | ||
- | 17. //reserved1// \\ | + | 17. //useScreenSaver// \\ |
+ | ''FaceStation 2'', ''FaceStation F2'' true로 설정 시, 화면보호기가 활성화됩니다. \\ \\ | ||
+ | 18. //reserved1// \\ | ||
예약된 공간입니다. \\ | 예약된 공간입니다. \\ | ||
줄 589: | 줄 666: | ||
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> | ||
줄 655: | 줄 733: | ||
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%> | ||
^값 ^설명 ^ | ^값 ^설명 ^ | ||
줄 661: | 줄 739: | ||
|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 ==== | ||
<code cpp> | <code cpp> | ||
typedef struct { | typedef struct { | ||
- | uint8_t securityLevel; | + | uint8_t securityLevel; |
- | uint8_t fastMode; | + | uint8_t fastMode; |
- | uint8_t sensitivity; | + | uint8_t sensitivity; |
- | uint8_t sensorMode; | + | uint8_t sensorMode; |
- | uint16_t templateFormat; | + | uint16_t templateFormat; |
- | uint16_t scanTimeout; | + | uint16_t scanTimeout; |
- | uint8_t successiveScan; | + | uint8_t successiveScan; |
- | uint8_t advancedEnrollment; | + | uint8_t advancedEnrollment; |
- | uint8_t showImage; | + | uint8_t showImage; |
- | uint8_t lfdLevel; | + | uint8_t lfdLevel; |
- | + | bool checkDuplicate; | |
- | uint8_t reserved3[32]; | + | |
+ | uint8_t reserved3[31]; | ||
} BS2FingerprintConfig; | } BS2FingerprintConfig; | ||
</code> | </code> | ||
줄 737: | 줄 825: | ||
|3 |민감도 높음 | | |3 |민감도 높음 | | ||
</WRAP> | </WRAP> | ||
- | 11. //reserved3// \\ | + | 11. //checkDuplicate// \\ |
+ | [+ V2.6.4] true로 설정하면 중복된 지문인지 판단합니다. \\ \\ | ||
+ | 12. //reserved3// \\ | ||
예약된 공간입니다. \\ | 예약된 공간입니다. \\ | ||
- | |||
==== BS2Rs485Config ==== | ==== BS2Rs485Config ==== | ||
<code cpp> | <code cpp> | ||
+ | typedef struct { | ||
+ | uint8_t supportConfig; | ||
+ | uint8_t useExceptionCode; | ||
+ | uint8_t exceptionCode[BS2_RS485_MAX_FAIL_CODE_LEN]; | ||
+ | uint8_t outputFormat; | ||
+ | uint8_t osdpID; | ||
+ | uint8_t reserved[4]; | ||
+ | } BS2IntelligentPDInfo; | ||
+ | |||
typedef struct { | typedef struct { | ||
uint32_t baudRate; | uint32_t baudRate; | ||
줄 755: | 줄 853: | ||
uint8_t numOfChannels; | uint8_t numOfChannels; | ||
uint8_t reserved[2]; | uint8_t reserved[2]; | ||
- | uint8_t reserved1[32]; | + | BS2IntelligentPDInfo intelligentInfo; |
+ | uint8_t reserved1[16]; | ||
BS2Rs485Channel channels[BS2_RS485_MAX_CHANNELS]; | BS2Rs485Channel channels[BS2_RS485_MAX_CHANNELS]; | ||
} BS2Rs485Config; | } BS2Rs485Config; | ||
</code> | </code> | ||
- | 1. //baudRate// \\ | + | 1. //supportConfig// \\ |
+ | ''[+V2.8]'' 이 값이 0으로 전달되면 장치는 아래의 Intelligent PD(Peripheral Device) 관련 설정들을 모두 무시하게 됩니다. \\ \\ | ||
+ | 2. //useExceptionCode// \\ | ||
+ | ''[+V2.8]'' 예외코드를 전송을 사용할지의 여부를 설정합니다. \\ \\ | ||
+ | 3. //exceptionCode// \\ | ||
+ | ''[+V2.8]'' 인증에 실패하거나, 인증 성공이지만 카드가 등록되어있지 않은 사용자의 경우 예외코드를 내보낼 수 있습니다. \\ | ||
+ | 이때 사용할 예외코드를 설정합니다. \\ | ||
+ | 만일 예외코드가 0(0x0000000000000000)이라면 예외코드가 발생되지 않습니다. \\ \\ | ||
+ | 4. //outputFormat// \\ | ||
+ | ''[+V2.8]'' 인증 성공 시 내보내어지는 정보를 지정할 수 있습니다. \\ | ||
+ | 0 이면 카드ID가, 1 이면 사용자ID가 출력됩니다. \\ \\ | ||
+ | 5. //osdpID// \\ | ||
+ | ''[+V2.8]'' 동일한 ACU에 연결된 장치들을 서로 구분시켜주기위해 사용되어지는 값으로, \\ | ||
+ | 0~127 사이의 unique한 값을 설정해 지정하여주면 됩니다. \\ \\ | ||
+ | 6. //reserved// \\ | ||
+ | ''[+V2.8]'' 예약된 공간입니다.\\ \\ | ||
+ | \\ | ||
+ | 7. //baudRate// \\ | ||
RS485 통신 속도이며 설정할 수 있는 범위는 다음과 같습니다. \\ | RS485 통신 속도이며 설정할 수 있는 범위는 다음과 같습니다. \\ | ||
<WRAP group 50%> | <WRAP group 50%> | ||
줄 769: | 줄 885: | ||
|115200 | | |115200 | | ||
</WRAP> | </WRAP> | ||
- | 2. //channelIndex// \\ | + | 8. //channelIndex// \\ |
- | RS485 network의 통신 채널 번호입니다. \\ \\ | + | (사용자 설정 불가) RS485 network의 통신 채널 번호입니다. \\ \\ |
- | 3. //useRegistance// \\ | + | 9. //useRegistance// \\ |
- | 종단 저항을 설정할지 결정하는 flag입니다. \\ \\ | + | 종단 저항을 설정할지 결정하는 flag입니다. - 동작에 영향 없음 \\ \\ |
- | 4. //numOfDevices// \\ | + | 10. //numOfDevices// \\ |
슬레이브 장치의 개수입니다.\\ \\ | 슬레이브 장치의 개수입니다.\\ \\ | ||
- | 5. //slaveDevices// \\ | + | 11. //reserved// \\ |
+ | 예약된 공간입니다.\\ \\ | ||
+ | 12. //slaveDevices// \\ | ||
슬레이브 장치를 나열한 리스트로 최대 32개까지 정의할 수 있습니다.\\ \\ | 슬레이브 장치를 나열한 리스트로 최대 32개까지 정의할 수 있습니다.\\ \\ | ||
- | 6. //mode// \\ | + | \\ |
+ | 13. //mode// \\ | ||
RS485 네트워크에서 어떤 모드로 동작할지 결정하는 flag입니다 .\\ | RS485 네트워크에서 어떤 모드로 동작할지 결정하는 flag입니다 .\\ | ||
<WRAP group 50%> | <WRAP group 50%> | ||
줄 786: | 줄 905: | ||
|3 |Standalone | | |3 |Standalone | | ||
</WRAP> | </WRAP> | ||
- | 7. //numOfChannels// \\ | + | 14. //numOfChannels// \\ |
RS485 채널의 개수입니다.\\ \\ | RS485 채널의 개수입니다.\\ \\ | ||
- | 8. //reserved// \\ | + | 15. //reserved// \\ |
예약된 공간입니다.\\ \\ | 예약된 공간입니다.\\ \\ | ||
- | 9. //reserved1// \\ | + | 16. //intelligentInfo// \\ |
+ | ''[+V2.8]'' Intelligent Slave 기능을 설정하며, mode가 default(Standalone)인 경우에만 동작됩니다. \\ | ||
+ | 이 설정을 이용하면 슈프리마 기기가 타사 컨트롤러와 연결된 환경에서 OSDP로 인증 결과를 출력시켜 줍니다. \\ \\ | ||
+ | 17. //reserved1// \\ | ||
예약된 공간입니다.\\ \\ | 예약된 공간입니다.\\ \\ | ||
- | 10. //channels// \\ | + | 18. //channels// \\ |
RS485 채널을 나열한 리스트로 최대 4개까지 설정할 수 있습니다.\\ \\ | RS485 채널을 나열한 리스트로 최대 4개까지 설정할 수 있습니다.\\ \\ | ||
줄 817: | 줄 939: | ||
uint16_t wiegandCardMask; | uint16_t wiegandCardMask; | ||
uint8_t wiegandCSNIndex; | uint8_t wiegandCSNIndex; | ||
- | uint8_t reserved[27]; | + | uint8_t useWiegandUserID; |
+ | uint8_t reserved[26]; | ||
} BS2WiegandConfig; | } BS2WiegandConfig; | ||
</code> | </code> | ||
줄 888: | 줄 1011: | ||
Mifare 또는 EM 카드를 사용할 때 Wiegand out을 어떤 형식으로 처리할 것인지 결정하는 인덱스입니다. | Mifare 또는 EM 카드를 사용할 때 Wiegand out을 어떤 형식으로 처리할 것인지 결정하는 인덱스입니다. | ||
설정하기 전에 [[configuration api#BS2CardConfig]] 구조체의 //useWiegandFormat// 값을 확인하십시오. \\ \\ | 설정하기 전에 [[configuration api#BS2CardConfig]] 구조체의 //useWiegandFormat// 값을 확인하십시오. \\ \\ | ||
- | 17. //reserved// \\ | + | 17. //useWiegandUserID// \\ |
+ | Wiegand 출력시 Card ID 또는 사용자 ID를 선택적으로 출력할 수 있도록 결정하는 플래그 입니다. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^ | ||
+ | |0 |사용 안함 | | ||
+ | |1 |Card ID | | ||
+ | |2 |사용자 ID | | ||
+ | </WRAP> | ||
+ | 18. //reserved// \\ | ||
예약된 공간입니다.\\ | 예약된 공간입니다.\\ | ||
줄 1292: | 줄 1423: | ||
26. //type// \\ | 26. //type// \\ | ||
Action 유형입니다. \\ | Action 유형입니다. \\ | ||
+ | <WRAP round important 60%> | ||
+ | <wrap em>[DoorModule-20, CoreStation-40]</wrap> \\ | ||
+ | Action type이 relay 또는 TTL(Output)이면서, action 장치가 DM20, CS40 이라면, | ||
+ | action type은 relay action (6) 으로만 설정하여야 합니다. (TTL 설정불가) \\ \\ | ||
+ | <wrap em>[DM20]</wrap> \\ | ||
+ | * Action type : Relay | ||
+ | * relay.relayIndex : 0 ~ 3 (RELAY 0 ~ 3) | ||
+ | * relay.relayIndex : 4 ~ 9 (OUTPUT 0 ~ 5) | ||
+ | <wrap em>[CS40]</wrap> \\ | ||
+ | * Action type : Relay | ||
+ | * relay.relayIndex : 0 ~ 3 (RELAY 0 ~ 3) | ||
+ | * relay.relayIndex : 4 ~ 11 (OUTPUT 0 ~ 7) | ||
+ | </WRAP> | ||
<WRAP group 50%> | <WRAP group 50%> | ||
^값 ^설명 ^ | ^값 ^설명 ^ | ||
줄 1307: | 줄 1451: | ||
|11|Led action| | |11|Led action| | ||
|12|Fire alarm input| | |12|Fire alarm input| | ||
+ | |13|Auth Success(Access granted)| | ||
+ | |14|Auth Fail(Access denied)| | ||
+ | |15|Lift action| | ||
</WRAP> | </WRAP> | ||
27. //stopFlag// \\ | 27. //stopFlag// \\ | ||
줄 1521: | 줄 1668: | ||
예약된 공간입니다.\\ \\ | 예약된 공간입니다.\\ \\ | ||
- | ==== BS2FaceConfig==== | + | ==== BS2FaceConfig ==== |
<code cpp> | <code cpp> | ||
typedef struct { | typedef struct { | ||
- | BS2_FACE_SECURITY_LEVEL securityLevel; | + | uint8_t securityLevel; |
- | BS2_FACE_LIGHT_CONDITON lightCondition; | + | uint8_t lightCondition; |
- | BS2_FACE_ENROLL_THRESHOLD enrollThreshold; | + | uint8_t enrollThreshold; |
- | BS2_FACE_DETECT_SENSITIVITY detectSensitivity; | + | uint8_t detectSensitivity; |
- | uint16_t enrollTimeout; | + | uint16_t enrollTimeout; |
- | BS2_FACE_LFD_LEVEL lfdLevel; | + | uint8_t lfdLevel; |
- | bool quickEnrollment; | + | bool quickEnrollment; |
- | BS2_FACE_PREVIEW_OPTION previewOption; | + | uint8_t previewOption; |
- | uint8_t reserved[3]; | + | bool checkDuplicate; |
+ | uint8_t operationMode; | ||
+ | uint8_t maxRotation; | ||
- | uint8_t reserved2[26]; | + | // Deprecated |
+ | struct { | ||
+ | uint16_t min; | ||
+ | uint16_t max; | ||
+ | } faceWidth; | ||
+ | |||
+ | // Deprecated | ||
+ | struct { | ||
+ | uint16_t x; | ||
+ | uint16_t width; | ||
+ | } searchRange; | ||
+ | |||
+ | 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 reserved[14]; ///< 14 bytes (reserved) | ||
} BS2FaceConfig; | } BS2FaceConfig; | ||
</code> | </code> | ||
줄 1554: | 줄 1723: | ||
|1 |옥외 | | |1 |옥외 | | ||
|2 |자동 | | |2 |자동 | | ||
+ | |3 |[+ 2.8] 사용 안함 ''(FaceStation F2)'' | | ||
</WRAP> | </WRAP> | ||
3. //enrollThreshold// \\ | 3. //enrollThreshold// \\ | ||
- | 얼굴 등록의 임계값입니다.\\ | + | 얼굴 등록의 임계값입니다. 등록시 어느 정도 포즈 움직임을 허용하는지에 대한 값입니다. \\ |
<WRAP group 50%> | <WRAP group 50%> | ||
^값 ^설명 ^ | ^값 ^설명 ^ | ||
- | |0 |THRESHOLD_0 | | + | |0 |THRESHOLD_0 (엄격) | |
|1 |THRESHOLD_1 | | |1 |THRESHOLD_1 | | ||
|2 |THRESHOLD_2 | | |2 |THRESHOLD_2 | | ||
줄 1568: | 줄 1738: | ||
|7 |THRESHOLD_7 | | |7 |THRESHOLD_7 | | ||
|8 |THRESHOLD_8 | | |8 |THRESHOLD_8 | | ||
- | |9 |THRESHOLD_9 | | + | |9 |THRESHOLD_9 (느슨) | |
</WRAP> | </WRAP> | ||
4. //detectSensitivity// \\ | 4. //detectSensitivity// \\ | ||
줄 1580: | 줄 1750: | ||
</WRAP> | </WRAP> | ||
5. //enrollTimeout// \\ | 5. //enrollTimeout// \\ | ||
- | 얼굴 스캔 대기 시간으로 기본값은 60초입니다\\ \\ | + | ''FaceStation2, FaceLite'' : 얼굴 스캔 대기 시간으로 기본값은 60초입니다. \\ |
+ | <WRAP group 60%> | ||
+ | ^값 ^설명 ^ | ||
+ | |BS2_FACE_ENROLL_TIMEOUT_MIN |30 | | ||
+ | |BS2_FACE_ENROLL_TIMEOUT_MAX |60 | | ||
+ | |BS2_FACE_ENROLL_TIMEOUT_DEFAULT |BS2_FACE_ENROLL_TIMEOUT_MAX | | ||
+ | </WRAP> | ||
+ | ''FaceStation F2'' : [+ V2.7.1] 얼굴 스캔 대기 시간으로 기본값은 20초입니다. \\ | ||
+ | <WRAP group 70%> | ||
+ | ^값 ^설명 ^ | ||
+ | |BS2_FACE_EX_ENROLL_TIMEOUT_MIN |10 | | ||
+ | |BS2_FACE_EX_ENROLL_TIMEOUT_MAX |20 | | ||
+ | |BS2_FACE_EX_ENROLL_TIMEOUT_DEFAULT |BS2_FACE_EX_ENROLL_TIMEOUT_MAX | | ||
+ | </WRAP> | ||
6. //lfdLevel// \\ | 6. //lfdLevel// \\ | ||
- | [+ V2.6.4] 위조된 얼굴을 여과할 수 있는 민감도를 설정할 수 있습니다. \\ | + | [+ 2.6.3] 위조된 얼굴을 여과할 수 있는 민감도를 설정할 수 있습니다. \\ |
+ | ''FaceStation2, FaceLite'' : 기본값은 0입니다. \\ | ||
+ | ''FaceStation F2'' : [+ 2.7.1] 기본값이 1입니다. \\ | ||
<WRAP group 50%> | <WRAP group 50%> | ||
^값 ^설명 ^ | ^값 ^설명 ^ | ||
줄 1591: | 줄 1776: | ||
</WRAP> | </WRAP> | ||
7. //quickEnrollment// \\ | 7. //quickEnrollment// \\ | ||
- | [+ V2.6.4] 빠른 얼굴 등록 사용 여부를 설정할 수 있습니다. \\ | + | [+ 2.6.3] 빠른 얼굴 등록 사용 여부를 설정할 수 있습니다. \\ |
이 값을 true로 설정하면 얼굴 등록 절차가 1단계로 설정되며, false로 설정할 경우 3단계로 설정됩니다. \\ | 이 값을 true로 설정하면 얼굴 등록 절차가 1단계로 설정되며, false로 설정할 경우 3단계로 설정됩니다. \\ | ||
고품질의 얼굴 템플릿을 등록하려면 false를 설정하십시오. \\ \\ | 고품질의 얼굴 템플릿을 등록하려면 false를 설정하십시오. \\ \\ | ||
8. //previewOption// \\ | 8. //previewOption// \\ | ||
- | [+ V2.6.4] IR 인증 가이드를 의미하며, 얼굴 인증 시 preview 화면 출력 설정을 변경할 수 있습니다. \\ | + | [+ 2.6.3] IR 인증 가이드를 의미하며, 얼굴 인증 시 preview 화면 출력 설정을 변경할 수 있습니다. \\ |
+ | ''FaceLite''에서만 사용됩니다. \\ | ||
<WRAP group 50%> | <WRAP group 50%> | ||
^값 ^설명 ^ | ^값 ^설명 ^ | ||
줄 1602: | 줄 1788: | ||
|2 |인증 시도 전구간에 걸쳐 preview를 표시 | | |2 |인증 시도 전구간에 걸쳐 preview를 표시 | | ||
</WRAP> | </WRAP> | ||
- | 9. //reserved// \\ | + | 9. //checkDuplicate// \\ |
+ | [+ 2.6.4] true로 설정하면 중복된 얼굴 정보인지 판단합니다. \\ \\ | ||
+ | 10. //operationMode// \\ | ||
+ | [+ 2.7.1] ''FaceStation F2'' 아래의 동작 모드를 설정하며, 기본값은 Fusion 모드입니다. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^값 ^모드 ^설명 ^기본값 ^ | ||
+ | |0 |Fusion 모드 |Visual matching + IR matching |기본 | | ||
+ | |1 |Visual 모드 |Visual matching | | | ||
+ | |2 |Visual + IR검출 |Visual matching, IR은 얼굴 검출만| | | ||
+ | </WRAP> | ||
+ | 11. //maxRotation// \\ | ||
+ | [+ 2.7.1] ''FaceStation F2'' 얼굴 검출 시 보통은 정면 일 것입니다. \\ | ||
+ | 하지만 FSF2는 얼굴 검출 시 정면에서 몇도 정도 회전된(외곡된) 이미지인지 판단이 가능합니다. \\ | ||
+ | 이를 통해 일정 각도 이상 회전된 이미지의 경우 검출 실패 처리를 시킬 수 있습니다. \\ | ||
+ | maxRotation은 이경우의 최대 허용치를 나타내며, 기본값은 15도 입니다. \\ \\ | ||
+ | 12. //faceWidth// \\ | ||
+ | [+ 2.7.1] ''FaceStation F2'' 얼굴 이미지의 폭을 나타내며, 폭의 최소값, 최대값을 지정할 수 있습니다. \\ | ||
+ | 최소값, 최대값은 아래의 값을 기본값으로 갖습니다. \\ | ||
+ | [+ 2.8.3] ''BioStation 3'' 해당 설정은 무시됩니다. \\ | ||
+ | <WRAP group 20%> | ||
+ | ^ ^기본값(min) ^기본값(max) ^ | ||
+ | |FSF2 |66 |250 | | ||
+ | |BS3 |- |- | | ||
+ | </WRAP> | ||
+ | 13. //searchRange// \\ | ||
+ | [+ 2.7.1] ''FaceStation F2'' 얼굴 검색 범위를 나타내며, 범위의 x값(가로 좌표)과 x값 지점으로부터의 폭을 지정할 수 있습니다. \\ | ||
+ | x값과 폭은 아래의 값을 기본값으로 갖습니다. \\ | ||
+ | [+ 2.8.3] ''BioStation 3'' 해당 설정은 무시됩니다. \\ | ||
+ | <WRAP group 20%> | ||
+ | ^ ^기본값(x) ^기본값(width) ^ | ||
+ | |FSF2 |144 |432 | | ||
+ | |BS3 |- |- | | ||
+ | </WRAP> | ||
+ | 14. //detectDistance// \\ | ||
+ | [+ 2.8.3] ''BioStation 3'' 얼굴 감지 거리의 최소값과 최대값을 설정합니다. \\ | ||
+ | 픽셀 단위로 얼굴 위치를 지정하는 faceWidth는 사용하기 난해하므로 더 이상 사용하지 않습니다. \\ | ||
+ | 대신 피사체(얼굴)의 감지 거리를 얼마로 할지 만 정합니다. 거리는 cm로 설정하며, 10의 배수로 입력하여야 합니다. \\ | ||
+ | <WRAP group 80%> | ||
+ | ^ ^최소 감지거리의 최소값 ^최소 감지거리의 최대값 ^최소 감지거리(기본값) ^최대 감지거리의 최소값 ^최대 감지거리의 최대값 ^최대 감지거리(무제한) ^최대 감지거리(기본값) ^ | ||
+ | |BS3 |30 |100 |60 |40 |100 |255 |100 | | ||
+ | </WRAP> | ||
+ | 15. //wideSearch// \\ | ||
+ | [+ 2.8.3] ''BioStation 3'' 얼굴 감지 범위를 넓힙니다. \\ | ||
+ | x좌표와 width를 지정해야하는 난해한 설정인 searchRange는 더 이상 사용하지 않습니다. \\ | ||
+ | 대신 얼굴 감지를 표준(false) 설정으로 할지, 광역(true)으로 할지 여부만 지정합니다. \\ | ||
+ | 광역으로 감지하는 범위에 대한 세부 설정은 장치 내부 설정 값을 따릅니다. 사용자는 이 값을 변경할 수 없습니다. \\ \\ | ||
+ | 이 설정 값이 켜지면(true) 카메라를 통해 넓은 범위의 피사체를 찾아내므로, 피사체가 여럿이 되는 경우 의도치 않은 인증으로 연결될 수 있습니다. \\ | ||
+ | 기본 설정 값은 false입니다. \\ \\ | ||
+ | 16. //unused// \\ | ||
예약된 공간입니다.\\ \\ | 예약된 공간입니다.\\ \\ | ||
- | 10. //reserved2// \\ | + | 17. //reserved// \\ |
예약된 공간입니다.\\ \\ | 예약된 공간입니다.\\ \\ | ||
줄 1917: | 줄 2151: | ||
8. //reserved// \\ | 8. //reserved// \\ | ||
예약된 공간입니다. \\ | 예약된 공간입니다. \\ | ||
+ | |||
+ | |||
+ | ==== BS2AuthConfigExt ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint32_t extAuthSchedule[BS2_MAX_NUM_OF_EXT_AUTH_MODE]; | ||
+ | uint8_t useGlobalAPB; | ||
+ | uint8_t globalAPBFailAction; | ||
+ | uint8_t useGroupMatching; | ||
+ | uint8_t reserved; | ||
+ | |||
+ | uint8_t reserved2[4]; | ||
+ | |||
+ | uint8_t usePrivateAuth; | ||
+ | uint8_t faceDetectionLevel; | ||
+ | uint8_t useServerMatching; | ||
+ | uint8_t useFullAccess; | ||
+ | |||
+ | uint8_t matchTimeout; | ||
+ | uint8_t authTimeout; | ||
+ | uint8_t numOperators; | ||
+ | uint8_t reserved3[1]; | ||
+ | |||
+ | struct { | ||
+ | char userID[BS2_USER_ID_SIZE]; | ||
+ | uint8_t level; | ||
+ | uint8_t reserved[3]; | ||
+ | } operators[BS2_MAX_OPERATORS]; | ||
+ | |||
+ | uint8_t reserved4[256]; | ||
+ | } BS2AuthConfigExt; | ||
+ | </code> | ||
+ | 1. //extAuthSchedule// \\ | ||
+ | 각 인증 모드가 활성화될 때 실행할 일정 식별자입니다. \\ | ||
+ | 배열의 순서대로 아래의 의미를 가지며, \\ | ||
+ | 배열 내의 값이 0보다 큰경우 해당 인증모드는 활성화 되어 있습니다. \\ | ||
+ | 아래 설명 중 생체정보는 장치에 따라 지문 또는 얼굴을 의미합니다. \\ | ||
+ | <WRAP group 70%> | ||
+ | ^순서 ^의미 ^설명 ^ | ||
+ | |11 |BS2_EXT_AUTH_MODE_FACE_ONLY |얼굴 | | ||
+ | |12 |BS2_EXT_AUTH_MODE_FACE_FINGERPRINT |얼굴 + 지문 | | ||
+ | |13 |BS2_EXT_AUTH_MODE_FACE_PIN |얼굴 + PIN | | ||
+ | |14 |BS2_EXT_AUTH_MODE_FACE_FINGERPRINT_OR_PIN |얼굴 + 지문/PIN | | ||
+ | |15 |BS2_EXT_AUTH_MODE_FACE_FINGERPRINT_PIN |얼굴 + 지문 + PIN | | ||
+ | |16 |BS2_EXT_AUTH_MODE_FINGERPRINT_ONLY |지문 | | ||
+ | |17 |BS2_EXT_AUTH_MODE_FINGERPRINT_FACE |지문 + 얼굴 | | ||
+ | |18 |BS2_EXT_AUTH_MODE_FINGERPRINT_PIN |지문 + PIN | | ||
+ | |19 |BS2_EXT_AUTH_MODE_FINGERPRINT_FACE_OR_PIN |지문 + 얼굴/PIN | | ||
+ | |20 |BS2_EXT_AUTH_MODE_FINGERPRINT_FACE_PIN |지문 + 얼굴 + PIN | | ||
+ | |21 |BS2_EXT_AUTH_MODE_CARD_ONLY |카드 | | ||
+ | |22 |BS2_EXT_AUTH_MODE_CARD_FACE |카드 + 얼굴 | | ||
+ | |23 |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT |카드 + 지문 | | ||
+ | |24 |BS2_EXT_AUTH_MODE_CARD_PIN |카드 + PIN | | ||
+ | |25 |BS2_EXT_AUTH_MODE_CARD_FACE_OR_FINGERPRINT |카드 + 얼굴/지문 | | ||
+ | |26 |BS2_EXT_AUTH_MODE_CARD_FACE_OR_PIN |카드 + 얼굴/PIN | | ||
+ | |27 |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_OR_PIN |카드 + 지문/PIN | | ||
+ | |28 |BS2_EXT_AUTH_MODE_CARD_FACE_OR_FINGERPRINT_OR_PIN |카드 + 얼굴/지문/PIN | | ||
+ | |29 |BS2_EXT_AUTH_MODE_CARD_FACE_FINGERPRINT |카드 + 얼굴 + 지문 | | ||
+ | |30 |BS2_EXT_AUTH_MODE_CARD_FACE_PIN |카드 + 얼굴 + PIN | | ||
+ | |31 |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_FACE |카드 + 지문 + 얼굴 | | ||
+ | |32 |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_PIN |카드 + 지문 + PIN | | ||
+ | |33 |BS2_EXT_AUTH_MODE_CARD_FACE_OR_FINGERPRINT_PIN |카드 + 얼굴/지문 + PIN | | ||
+ | |34 |BS2_EXT_AUTH_MODE_CARD_FACE_FINGERPRINT_OR_PIN |카드 + 얼굴 + 지문/PIN | | ||
+ | |35 |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_FACE_OR_PIN |카드 + 지문 + 얼굴/PIN | | ||
+ | |36 |BS2_EXT_AUTH_MODE_ID_FACE |ID + 얼굴 | | ||
+ | |37 |BS2_EXT_AUTH_MODE_ID_FINGERPRINT |ID + 지문 | | ||
+ | |38 |BS2_EXT_AUTH_MODE_ID_PIN |ID + PIN | | ||
+ | |39 |BS2_EXT_AUTH_MODE_ID_FACE_OR_FINGERPRINT |ID + 얼굴/지문 | | ||
+ | |40 |BS2_EXT_AUTH_MODE_ID_FACE_OR_PIN |ID + 얼굴/PIN | | ||
+ | |41 |BS2_EXT_AUTH_MODE_ID_FINGERPRINT_OR_PIN |ID + 지문/PIN | | ||
+ | |42 |BS2_EXT_AUTH_MODE_ID_FACE_OR_FINGERPRINT_OR_PIN |ID + 얼굴/지문/PIN | | ||
+ | |43 |BS2_EXT_AUTH_MODE_ID_FACE_FINGERPRINT |ID + 얼굴 + 지문 | | ||
+ | |44 |BS2_EXT_AUTH_MODE_ID_FACE_PIN |ID + 얼굴 + PIN | | ||
+ | |45 |BS2_EXT_AUTH_MODE_ID_FINGERPRINT_FACE |ID + 지문 + 얼굴 | | ||
+ | |46 |BS2_EXT_AUTH_MODE_ID_FINGERPRINT_PIN |ID + 지문 + PIN | | ||
+ | |47 |BS2_EXT_AUTH_MODE_ID_FACE_OR_FINGERPRINT_PIN |ID + 얼굴/지문 + PIN | | ||
+ | |48 |BS2_EXT_AUTH_MODE_ID_FACE_FINGERPRINT_OR_PIN |ID + 얼굴 + 지문/PIN | | ||
+ | |49 |BS2_EXT_AUTH_MODE_ID_FINGERPRINT_FACE_OR_PIN |ID + 지문 + 얼굴/PIN | | ||
+ | </WRAP> | ||
+ | 2. //useGlobalAPB// \\ | ||
+ | 광역 이중 인증 방지 구역을 활성화할지 결정하는 flag입니다. \\ \\ | ||
+ | 3. //globalAPBFailAction// \\ | ||
+ | 광역 이중 인증 위반인지 BioStar 애플리케이션에 질의를 할 수 없거나 응답이 없을때 기본적으로 수행해야 할 동작입니다. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^ | ||
+ | |0 |APB 검사 안함 | | ||
+ | |1 |Soft APB로 동작 | | ||
+ | |2 |Hard APB로 동작 | | ||
+ | </WRAP> | ||
+ | 4. //useGroupMatching// \\ | ||
+ | 얼굴 그룹 매칭을 사용할지 결정하는 flag입니다. \\ \\ | ||
+ | 5. //reserved// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | 6. //reserved2// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | 7. //usePrivateAuth// \\ | ||
+ | 개별 인증 모드를 사용할지 결정하는 flag입니다. \\ \\ | ||
+ | 8. //faceDetectionLevel// \\ | ||
+ | A2에서 사용자를 인증할 때 얼굴 검출 레벨값이며, 지정한 레벨보다 낮은 레벨로 얼굴이 검출되면 인증 실패로 처리됩니다.\\ | ||
+ | 설정하면 Normal/Strict에 따른 카메라 뷰가 표시되며, 인증 성공 시의 이미지 로그가 얼굴로 인식되지 않으면 접근이 거부됩니다. 기본값은 0입니다. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^ | ||
+ | |0 |얼굴 검출을 하지 않음 | | ||
+ | |1 |Normal mode | | ||
+ | |2 |Strict mode | | ||
+ | </WRAP> | ||
+ | <WRAP info> | ||
+ | A2에서만 설정 가능하며, FaceStation2나 FaceLite에서는 사용되지 않습니다. | ||
+ | </WRAP> | ||
+ | 9. //useServerMatching// \\ | ||
+ | 지문 인증이나 얼굴 인식을 Matching server에서 수행할지 결정하는 flag입니다. \\ \\ | ||
+ | 10. //useFullAccess// \\ | ||
+ | 사용하지 않는 변수입니다. \\ \\ | ||
+ | 11. //matchTimeout// \\ | ||
+ | 지문 인증이나 얼굴 인식에서 최대 응답 시간이며 단위는 초(sec)를 사용합니다. \\ \\ | ||
+ | 12. //authTimeout// \\ | ||
+ | 사용자 인증의 최대 응답 시간이며 단위는 초(sec)를 사용합니다. \\ \\ | ||
+ | 13. //numOperators// \\ | ||
+ | 사용자 권한을 정의하는 operator의 개수입니다. \\ \\ | ||
+ | 14. //reserved3// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | 15. //userID// \\ | ||
+ | 사용자 식별자입니다. \\ \\ | ||
+ | 16. //level// \\ | ||
+ | 사용자가 인증되었을 때 식별자에 해당하는 권한을 지정합니다. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^ | ||
+ | |0 |권한 없음 | | ||
+ | |1 |관리자 권한 | | ||
+ | |2 |시스템 구성을 변경할 수 있는 권한 | | ||
+ | |3 |사용자 정보를 변경할 수 있는 권한 | | ||
+ | </WRAP> | ||
+ | <WRAP alert> | ||
+ | **주의**\\ | ||
+ | Operator 추가 시, 추가하고자 하는 operator의 수를 **//numOperators//** 필드의 값으로 지정해야 합니다. | ||
+ | </WRAP> | ||
+ | 17. //reserved// \\ | ||
+ | 예약된 공간입니다. \\ | ||
+ | 18. //reserved4// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | |||
+ | |||
+ | ==== BS2FaceConfigExt ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint8_t thermalCheckMode; | ||
+ | uint8_t maskCheckMode; | ||
+ | uint8_t reserved[2]; | ||
+ | |||
+ | uint8_t thermalFormat; | ||
+ | uint8_t reserved2; | ||
+ | |||
+ | uint16_t thermalThresholdLow; | ||
+ | uint16_t thermalThresholdHigh; | ||
+ | uint8_t maskDetectionLevel; | ||
+ | uint8_t auditTemperature; | ||
+ | |||
+ | uint8_t useRejectSound; | ||
+ | uint8_t useOverlapThermal; | ||
+ | uint8_t useDynamicROI; | ||
+ | uint8_t faceCheckOrder; | ||
+ | } BS2FaceConfigExt; | ||
+ | </code> | ||
+ | 1. //thermalCheckMode// \\ | ||
+ | 열화상 감지 모드를 설정합니다. \\ | ||
+ | HARD로 설정 시, 고열의 기준인 thermalThreshold를 초과하면, 출입에 영향을 주게됩니다. \\ | ||
+ | SOFT로 설정 시, 고열의 기준인 thermalThreshold를 초과하면, 근거를 로그를 남기고 출입에 영향을 주지 않습니다. \\ | ||
+ | thermalCheckMode가 사용안함(0)으로 설정되면, \\ | ||
+ | thermalFormat, thermalThreshold, auditTemperature, useOverlapThermal 의 설정은 무시됩니다. \\ | ||
+ | 그리고 useRejectSound의 열화상 감지로 인한 sound발생이, faceCheckOrder의 발열 측정이 무시됩니다. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^기본값 ^ | ||
+ | |0 |열화상 감지 사용 안함 |기본값 | | ||
+ | |1 |열화상 감지 사용 (HARD) | | | ||
+ | |2 |열화상 감지 사용 (SOFT) | | | ||
+ | </WRAP> | ||
+ | 2. //maskCheckMode// \\ | ||
+ | ''FaceStation F2'' 마스크 착용 감지 모드를 설정합니다. \\ | ||
+ | ''FaceStation 2'' 이 설정은 무시됩니다. \\ | ||
+ | HARD로 설정 시, maskDetectionLevel에 근거하여 착용 위반이 감지되면, 출입에 영향을 주게됩니다. \\ | ||
+ | SOFT로 설정 시, maskDetectionLevel에 근거하여 착용 위반이 감지되면, 근거를 로그를 남기고 출입에 영향을 주지 않습니다. \\ | ||
+ | maskCheckMode가 사용안함(0)으로 설정되면, \\ | ||
+ | maskDetectionLevel 의 설정은 무시됩니다. \\ | ||
+ | 그리고 useRejectSound의 마스크 착용으로 인한 sound발생이, faceCheckOrder의 마스크 착용 감지가 무시됩니다. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^기본값 ^ | ||
+ | |0 |마스크 착용 감지 사용 안함 |기본값 | | ||
+ | |1 |마스크 착용 감지 사용 (HARD) | | | ||
+ | |2 |마스크 착용 감지 사용 (SOFT) | | | ||
+ | </WRAP> | ||
+ | 3. //reserved// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | 4. //thermalFormat// \\ | ||
+ | 온도 단위를 나타내며, 화면상의 온도 표시를 화씨 또는 섭씨로 나타내도록 선택할 수 있습니다. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^기본값 ^ | ||
+ | |0 |화씨 | | | ||
+ | |1 |섭씨 |기본값 | | ||
+ | </WRAP> | ||
+ | 5. //reserved2// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | 6. //thermalThresholdLow// \\ | ||
+ | ''지원 버전'' : ''FaceStation F2 V1.0.2'', ''FaceStation 2 V1.5.0'' \\ | ||
+ | 고열 판단 기준의 범위값이며, 설정 할 온도의 100을 곱한 값으로 입력하여야 합니다. \\ | ||
+ | 또한 섭씨 기준으로만 입력할 수 있습니다. \\ | ||
+ | 이 값은 인증 거부의 근거가 되며, 설정 범위는 섭씨로 100 (1º)에서 4500 (45º) 사이 입니다. \\ | ||
+ | 기본 값은 3200 (32º)이며, 설정 범위보다 크거나 작은 값을 입력 시 기본 값 3200 (32º)으로 설정됩니다. \\ | ||
+ | 그리고 thermalThresholdHigh보다 작은 값을 설정 하여야 합니다. \\ \\ | ||
+ | 7. //thermalThresholdHigh// \\ | ||
+ | 고열 판단 기준의 범위값이며, 설정 할 온도의 100을 곱한 값으로 입력하여야 합니다. \\ | ||
+ | 또한 섭씨 기준으로만 입력할 수 있습니다. \\ | ||
+ | 이 값은 인증 거부의 근거가 되며, 설정 범위는 섭씨로 100 (1º)에서 4500 (45º) 사이 입니다. \\ | ||
+ | 기본 값은 3800(38º)이며, 설정 범위보다 크거나 작은 값을 입력 시 기본 값 3800 (38º)으로 설정됩니다. \\ | ||
+ | 그리고 thermalThresholdLow보다 큰 값을 설정 하여야 합니다. \\ \\ | ||
+ | 8. //maskDetectionLevel// \\ | ||
+ | ''FaceStation F2'' 마스크 착용 감지 수준을 입력합니다. 여기서 감지 수준은 내부적으로 설정된 값에 근거합니다. \\ | ||
+ | ''FaceStation 2'' 이 설정은 무시됩니다. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^기본값 ^ | ||
+ | |0 |착용 감지 안함 |기본값 | | ||
+ | |1 |감지수준 보통 | | | ||
+ | |2 |감지수준 높음 | | | ||
+ | |3 |감지수준 매우높음 | | | ||
+ | </WRAP> | ||
+ | 9. //auditTemperature// \\ | ||
+ | 측정 온도를 이벤트 로그에 기록할지 여부를 설정합니다. \\ \\ | ||
+ | 10. //useRejectSound// \\ | ||
+ | thermalThreshold 또는 maskDetectionLevel에 의해서 사용자 인증이 거부되는 경우, 효과음을 발생시킬지 여부를 설정합니다. \\ \\ | ||
+ | 11. //useOverlapThermal// \\ | ||
+ | 화면상에 열화상 이미지를 중첩해서 표시합니다. \\ \\ | ||
+ | 12. //useDynamicROI// \\ | ||
+ | true로 설정하면, 온도 측정 시 고정 영역이 아닌 실제 사용자의 이마를 찾아 측정합니다. \\ \\ | ||
+ | 13. //faceCheckOrder// \\ | ||
+ | 발열 측정 및 마스크 착용 감지와 인증절차에 대한 순서를 정의합니다. \\ | ||
+ | ID를 조합한 인증이나, PIN을 조합한 인증의 경우, 장치에 접촉하게되는 절차를 거치게 되므로, \\ | ||
+ | 고위험군을 고려하는 환경이라면, 발열 측정 후 인증을 선택할지, 그 전에 인증을 수행할지에 대한 선택은 매우 중요한 요소입니다. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^기본값 ^ | ||
+ | |0 |인증 후 발열 측정 및 마스크 착용 감지 | 기본값 | | ||
+ | |1 |발열 측정 및 마스크 착용 감지 후 인증 | | | ||
+ | |2 |인증 절차 생략. 발열 검사 및 마스크 착용 감지만 수행 | | | ||
+ | </WRAP> | ||
+ | |||
+ | ==== BS2ThermalCameraConfig ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint8_t distance; | ||
+ | uint8_t emissionRate; | ||
+ | |||
+ | struct { | ||
+ | uint16_t x; | ||
+ | uint16_t y; | ||
+ | uint16_t width; | ||
+ | uint16_t height; | ||
+ | } roi; | ||
+ | |||
+ | uint8_t useBodyCompensation; | ||
+ | int8_t compensationTemperature; | ||
+ | } BS2ThermalCameraConfig; | ||
+ | </code> | ||
+ | 1. //distance// \\ | ||
+ | 열화상 카메라의 체온 측정 거리를 나타냅니다. 단위는 cm이며 기본값은 100 입니다. \\ \\ | ||
+ | 2. //emissionRate// \\ | ||
+ | 피사체가 열을 방사하는 비율을 입력합니다. \\ | ||
+ | [95/97/98] 범위내의 입력을 권장합니다. 피사체가 사람인 경우 적정 권장은 98 입니다. \\ \\ | ||
+ | 3. //roi// \\ | ||
+ | ROI(Region of interest)는 관심영역을 의미하며, 얼굴에서 발열 측정 시, 관심 대상이되는 영역을 \\ | ||
+ | 좌표(x, y)와, 범위(width, height) 값을 통해서 지정할 수 있습니다. \\ \\ | ||
+ | 4. //useBodyCompensation// \\ | ||
+ | 발열 측정된 체온의 보정을 사용할지 여부를 나타냅니다. \\ \\ | ||
+ | 5. //compensationTemperature// \\ | ||
+ | 실제 체온측정값과, 카메라를 통한 체온측정은 약간의 차이가 존재할 수 있으며, 이곳에 값을 설정하여, 그 차이를 보정할 수 있습니다. \\ | ||
+ | 설정할 온도의 10을 곱한 값으로 입력하여야하며, 최소 -50에서 최대 50 사이의 값을 지정할 수 있습니다. \\ \\ | ||
+ | |||
+ | ==== BS2BarcodeConfig ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint8_t useBarcode; | ||
+ | uint8_t scanTimeout; | ||
+ | uint8_t 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 읽기를 지원하며, \\ | ||
+ | 이 기능을 사용하기 위해서는, 별도의 라이선스 활성화가 필요합니다. \\ | ||
+ | 라이선스 활성화는 [[qr_code_api#BS2_EnableBarcodeLicense]]를 통해 지원합니다. \\ \\ | ||
+ | 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 ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint8_t numInputs; | ||
+ | uint8_t numSupervised; | ||
+ | uint8_t reserved[18]; | ||
+ | |||
+ | struct { | ||
+ | uint8_t portIndex; | ||
+ | uint8_t switchType; | ||
+ | uint16_t duration; | ||
+ | | ||
+ | uint8_t reserved; | ||
+ | uint8_t supervisedResistor; | ||
+ | uint8_t reserved1[16]; | ||
+ | | ||
+ | uint8_t reserved2[26]; | ||
+ | } inputs[BS2_MAX_INPUT_NUM_EX]; | ||
+ | |||
+ | uint8_t reserved2[200]; | ||
+ | } BS2InputConfigEx; | ||
+ | </code> | ||
+ | 1. //numInputs// \\ | ||
+ | Input 포트의 개수입니다. \\ \\ | ||
+ | 2. //numSupervised// \\ | ||
+ | supervised input 포트의 개수입니다. \\ \\ | ||
+ | 3. //reserved// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | 4. //portIndex// \\ | ||
+ | Input 포트 번호입니다. \\ \\ | ||
+ | 5. //switchType// \\ | ||
+ | Input 신호 유형입니다. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^ | ||
+ | |0 |Normally Open | | ||
+ | |1 |Normally Closed | | ||
+ | </WRAP> | ||
+ | 6. //duration// \\ | ||
+ | Input 신호의 지속시간으로 단위는 밀리초(ms)입니다. \\ \\ | ||
+ | 7. //reserved// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | 8. //supervisedResistor// \\ | ||
+ | Supervised input 저항 값의 유형을 설정하거나, 해제할 수(unsupervised) 있습니다. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^ | ||
+ | |0 |1K 저항 | | ||
+ | |1 |2.2K 저항 | | ||
+ | |2 |4.7K 저항 | | ||
+ | |3 |10K 저항 | | ||
+ | |254 |Unsupervised(기본값) | | ||
+ | </WRAP> | ||
+ | 9. //reserved1// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | 10. //reserved2// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | 11. //reserved2// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | |||
+ | |||
+ | ==== BS2RelayActionConfig ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint32_t deviceID; ///< 4 bytes | ||
+ | uint8_t reserved[16]; ///< 16 bytes | ||
+ | |||
+ | struct { | ||
+ | uint8_t port; ///< 1 byte (relay port) | ||
+ | uint8_t reserved0; ///< 1 byte | ||
+ | uint8_t disconnEnabled; ///< 1 byte (RS485 disconnection) | ||
+ | uint8_t reserved[9]; ///< 9 bytes | ||
+ | | ||
+ | struct { | ||
+ | uint8_t port; ///< 1 byte (input port) | ||
+ | uint8_t type; ///< 1 byte (linkage/latching/release) | ||
+ | uint8_t mask; ///< 1 byte (alarm/fault) | ||
+ | uint8_t reserved[9]; ///< 9 bytes | ||
+ | } input[BS2_MAX_RELAY_ACTION_INPUT]; ///< 192 bytes | ||
+ | } relay[BS2_MAX_RELAY_ACTION]; ///< 816 bytes | ||
+ | |||
+ | uint8_t reserved2[152]; ///< 152 bytes | ||
+ | } BS2RelayActionConfig; | ||
+ | </code> | ||
+ | 1. //deviceID// \\ | ||
+ | 장치 식별번호 입니다. \\ \\ | ||
+ | 2. //reserved// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | 3. //relay// \\ | ||
+ | Relay에 대한 설정 정보입니다. \\ \\ | ||
+ | 4. //port// \\ | ||
+ | Relay port 번호입니다. \\ \\ | ||
+ | 5. //reserved0// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | 6. //disconnEnabled// \\ | ||
+ | true로 설정하면, RS485 연결이 끊겼을때 신호를 발생시키게 됩니다. \\ \\ | ||
+ | 7. //reserved// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | 8. //input// \\ | ||
+ | 해당 relay port가 어떤 input port들에 대해서 동작할지 정의합니다. \\ \\ | ||
+ | 9. //port// \\ | ||
+ | Input port 식별번호 입니다. \\ \\ | ||
+ | 10. //type// \\ | ||
+ | 해당 input을 어떤 형태의 input으로 동작시킬 것인지 정의합니다. \\ | ||
+ | Linkage로 설정 시 mask로 alarm이 설정되어야 신호가 전달됩니다. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^type ^값 ^설명 ^ | ||
+ | |NONE |0 |사용안함 | | ||
+ | |LINKAGE |1 |해당 input에 대한 relay로의 연결 | | ||
+ | |LATCHING |2 |''미지원'' | | ||
+ | |RELEASE |3 |''미지원'' | | ||
+ | </WRAP> | ||
+ | 11. //mask// \\ | ||
+ | Input 신호정보들에 대해 mask를 설정합니다. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^type ^값 ^설명 ^ | ||
+ | |NONE |0 |사용안함 | | ||
+ | |ALARM |1 |신호 발생 | | ||
+ | |FAULT |2 |단선/단락의 경우 신호 발생 | | ||
+ | </WRAP> | ||
+ | 12. //reserved// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | 13. //reserved2// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | |||
+ | |||
+ | ==== 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 읽기를 지원하며, \\ | ||
+ | 이 기능을 사용하기 위해서는, 별도의 라이선스 활성화가 필요합니다. \\ | ||
+ | 라이선스 활성화는 [[qr_code_api#BS2_EnableBarcodeLicense]]를 통해 지원합니다. \\ \\ | ||
+ | 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개 까지 지정할 수 있습니다. \\ \\ |