차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 | 다음 판 양쪽 다음 판 | ||
ko:slave_control_api [2019/05/13 20:08] kkshin |
ko:slave_control_api [2023/02/09 16:09] mashin |
||
---|---|---|---|
줄 31: | 줄 31: | ||
슬레이브 장치를 사용하는지를 결정하는 flag 값입니다. \\ \\ | 슬레이브 장치를 사용하는지를 결정하는 flag 값입니다. \\ \\ | ||
4. //connected// \\ | 4. //connected// \\ | ||
- | 슬레이브 장치가 마스터 장치에 연결되었는지를 나타내는 flag 값입니다. \\ | + | 슬레이브 장치가 마스터 장치에 연결되었는지를 나타내는 flag 값입니다. \\ \\ |
+ | |||
==== BS2Rs485SlaveDeviceEX ==== | ==== BS2Rs485SlaveDeviceEX ==== | ||
<code cpp> | <code cpp> | ||
줄 54: | 줄 56: | ||
슬레이브 장치의 Channel 값입니다. \\ \\ | 슬레이브 장치의 Channel 값입니다. \\ \\ | ||
6. //reserved// \\ | 6. //reserved// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | |||
+ | |||
+ | ==== BS2OsdpStandardDevice ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | BS2_DEVICE_ID deviceID; ///< 4 bytes | ||
+ | BS2_DEVICE_TYPE deviceType; ///< 2 bytes | ||
+ | BS2_BOOL enableOSDP; ///< 1 byte | ||
+ | BS2_BOOL connected; ///< 1 byte | ||
+ | |||
+ | uint8_t channelInfo; ///< 1 byte | ||
+ | uint8_t osdpID; ///< 1 byte | ||
+ | BS2_BOOL supremaSearch; ///< 1 byte | ||
+ | BS2_BOOL activate; ///< 1 byte | ||
+ | |||
+ | BS2_BOOL useSecure; ///< 1 byte | ||
+ | uint8_t vendorCode[3]; ///< 3 bytes | ||
+ | |||
+ | BS2_VERSION fwVersion; ///< 4 bytes | ||
+ | |||
+ | uint8_t modelNumber; ///< 1 byte | ||
+ | uint8_t modelVersion; ///< 1 byte | ||
+ | BS2_BOOL readInfo; ///< 1 byte | ||
+ | uint8_t reserved[25]; ///< 25 byte (packing) | ||
+ | } BS2OsdpStandardDevice; ///< 48 bytes | ||
+ | </code> | ||
+ | 1. //deviceID// \\ | ||
+ | OSDP 장치 식별자입니다. \\ \\ | ||
+ | 2. //deviceType// \\ | ||
+ | 장치 유형입니다. 일반적으로 BS2_DEVICE_TYPE_3RD_OSDP_DEVICE를 갖습니다. \\ \\ | ||
+ | 3. //enableOSDP// \\ | ||
+ | 항상 true로 설정되어집니다. \\ \\ | ||
+ | 4. //connected// \\ | ||
+ | true이면 OSDP 장치가 현재 연결되어 있음을 나타냅니다. \\ \\ | ||
+ | 5. //channelInfo// \\ | ||
+ | 연결된 채널정보입니다. ''CoreStation40''이 0~4 까지 5개의 채널을 가지므로, 이 범위의 채널 값을 갖습니다. \\ \\ | ||
+ | 6. //osdpID// \\ | ||
+ | OSDP 식별자입니다. \\ \\ | ||
+ | 7. //supremaSearch// \\ | ||
+ | OSDP를 지원하지 않는 기존 RS485와 구별되는 정보로, 항상 false를 갖습니다. \\ \\ | ||
+ | 8. //activate// \\ | ||
+ | 장치의 연결 상태와 무관하게, 연결되어있는 장치의 동작여부를 결정할 수 있는데, 동작의 활성화 상태를 나타냅니다. \\ \\ | ||
+ | 9. //useSecure// \\ | ||
+ | 암호화 통신을 사용하는지 여부를 나타냅니다. \\ | ||
+ | 별도의 키를 설정하지 않았다면 기본키로 암호화 통신을 수행하며, [[BS2_SetOsdpStandardDeviceSecurityKey]]로 변경할 수 있습니다. \\ \\ | ||
+ | 10. //vendorCode// \\ | ||
+ | Vendor의 고유 값입니다. \\ \\ | ||
+ | 11. //fwVersion// \\ | ||
+ | OSDP 장치의 FW 버전 정보입니다. \\ \\ | ||
+ | 12. //modelNumber// \\ | ||
+ | OSDP 장치의 모델 번호입니다. \\ \\ | ||
+ | 13. //modelVersion// \\ | ||
+ | OSDP 장치의 모델 버전입니다. \\ \\ | ||
+ | 14. //readInfo// \\ | ||
+ | vendorCode나 fwVersion, model 등, OSDP 장치 정보를 갖고 있는지 나타냅니다. 장치 정보를 갖고 있다는 것은 해당 장치가 master에 연결된 적이 있음을 의미합니다. \\ \\ | ||
+ | 15. //reserved// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | |||
+ | |||
+ | ==== BS2OsdpStandardNotify ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | BS2_DEVICE_ID deviceID; ///< 4 bytes | ||
+ | BS2_DEVICE_TYPE deviceType; ///< 2 bytes | ||
+ | BS2_BOOL enableOSDP; ///< 1 byte | ||
+ | BS2_BOOL connected; ///< 1 byte | ||
+ | |||
+ | uint8_t channelInfo; ///< 1 byte | ||
+ | uint8_t osdpID; ///< 1 byte | ||
+ | BS2_BOOL supremaSearch; ///< 1 byte | ||
+ | BS2_BOOL activate; ///< 1 byte | ||
+ | |||
+ | BS2_BOOL useSecure; ///< 1 byte | ||
+ | uint8_t vendorCode[3]; ///< 3 bytes | ||
+ | |||
+ | BS2_VERSION fwVersion; ///< 4 bytes | ||
+ | |||
+ | uint8_t modelNumber; ///< 1 byte | ||
+ | uint8_t modelVersion; ///< 1 byte | ||
+ | BS2_BOOL readInfo; ///< 1 byte | ||
+ | uint8_t reserved[5]; ///< 5 bytes (packing) | ||
+ | } BS2OsdpStandardNotify; ///< 48 bytes | ||
+ | </code> | ||
+ | 1. //deviceID// \\ | ||
+ | OSDP 장치 식별자입니다. \\ \\ | ||
+ | 2. //deviceType// \\ | ||
+ | 장치 유형입니다. 일반적으로 BS2_DEVICE_TYPE_3RD_OSDP_DEVICE를 갖습니다. \\ \\ | ||
+ | 3. //enableOSDP// \\ | ||
+ | 항상 true로 설정되어집니다. \\ \\ | ||
+ | 4. //connected// \\ | ||
+ | true이면 OSDP 장치가 현재 연결되어 있음을 나타냅니다. \\ \\ | ||
+ | 5. //channelInfo// \\ | ||
+ | 연결된 채널정보입니다. ''CoreStation40''이 0~4 까지 5개의 채널을 가지므로, 이 범위의 채널 값을 갖습니다. \\ \\ | ||
+ | 6. //osdpID// \\ | ||
+ | OSDP 식별자입니다. \\ \\ | ||
+ | 7. //supremaSearch// \\ | ||
+ | OSDP를 지원하지 않는 기존 RS485와 구별되는 정보로, 항상 false를 갖습니다. \\ \\ | ||
+ | 8. //activate// \\ | ||
+ | 장치의 연결 상태와 무관하게, 연결되어있는 장치의 동작여부를 결정할 수 있는데, 동작의 활성화 상태를 나타냅니다. \\ \\ | ||
+ | 9. //useSecure// \\ | ||
+ | 암호화 통신을 사용하는지 여부를 나타냅니다. \\ | ||
+ | 별도의 키를 설정하지 않았다면 기본키로 암호화 통신을 수행하며, [[BS2_SetOsdpStandardDeviceSecurityKey]]로 변경할 수 있습니다. \\ \\ | ||
+ | 10. //vendorCode// \\ | ||
+ | Vendor의 고유 값입니다. \\ \\ | ||
+ | 11. //fwVersion// \\ | ||
+ | OSDP 장치의 FW 버전 정보입니다. \\ \\ | ||
+ | 12. //modelNumber// \\ | ||
+ | OSDP 장치의 모델 번호입니다. \\ \\ | ||
+ | 13. //modelVersion// \\ | ||
+ | OSDP 장치의 모델 버전입니다. \\ \\ | ||
+ | 14. //readInfo// \\ | ||
+ | vendorCode나 fwVersion, model 등, OSDP 장치 정보를 갖고 있는지 나타냅니다. 장치 정보를 갖고 있다는 것은 해당 장치가 master에 연결된 적이 있음을 의미합니다. \\ \\ | ||
+ | 15. //reserved// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | |||
+ | |||
+ | ==== BS2OsdpStandardDeviceAdd ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint8_t osdpID; ///< 1 byte | ||
+ | uint8_t activate; ///< 1 byte | ||
+ | uint8_t useSecureSession; ///< 1 byte | ||
+ | uint8_t deviceType; ///< 1 byte | ||
+ | BS2_DEVICE_ID deviceID; ///< 4 bytes | ||
+ | } BS2OsdpStandardDeviceAdd; ///< 8 bytes | ||
+ | </code> | ||
+ | 1. //osdpID// \\ | ||
+ | OSDP 식별자입니다. 식별자는 사용자가 직접 0~126 사이의 임의의 값을 지정하여야 합니다. \\ | ||
+ | 이 값은 동일 채널 내에서는 중복을 허용하지 않으며, 중복되거나 범위 밖의 값이 지정된 경우 오류를 발생시킬 수 있습니다. \\ | ||
+ | 마스터 장치 내에서 채널이 다르다면 동일한 식별자를 부여하여 장치를 추가 할 수 있습니다. \\ \\ | ||
+ | 2. //activate// \\ | ||
+ | 장치 활성화 상태를 지정합니다. \\ | ||
+ | 장치의 연결 상태와는 무관하며, false로 설정되면 성공적으로 연결이 되어있더라도 해당 장치의 동작은 무시됩니다. \\ \\ | ||
+ | 3. //useSecureSession// \\ | ||
+ | 암호화 통신 여부를 지정합니다. \\ | ||
+ | 별도의 키를 설정하지 않았다면 기본키로 암호화 통신을 수행하며, [[BS2_SetOsdpStandardDeviceSecurityKey]]로 변경할 수 있습니다. \\ \\ | ||
+ | 4. //deviceType// \\ | ||
+ | 장치 유형입니다. BS2_DEVICE_TYPE_3RD_OSDP_DEVICE로 설정되어져야 합니다. \\ \\ | ||
+ | 5. //deviceID// \\ | ||
+ | 장치 식별자입니다. 0으로 설정 시 master 장치가 알아서 할당하여 줍니다. \\ \\ | ||
+ | |||
+ | |||
+ | ==== BS2OsdpStandardDeviceUpdate ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint8_t osdpID; ///< 1 byte | ||
+ | uint8_t activate; ///< 1 byte | ||
+ | uint8_t useSecureSession; ///< 1 byte | ||
+ | uint8_t deviceType; ///< 1 byte | ||
+ | BS2_DEVICE_ID deviceID; ///< 4 bytes | ||
+ | } BS2OsdpStandardDeviceUpdate; ///< 8 bytes | ||
+ | </code> | ||
+ | 1. //osdpID// \\ | ||
+ | OSDP 식별자입니다. 식별자는 사용자가 직접 0~126 사이의 임의의 값을 지정하여야 합니다. \\ | ||
+ | 이 값은 동일 채널 내에서는 중복을 허용하지 않으며, 중복되거나 범위 밖의 값이 지정된 경우 오류를 발생시킬 수 있습니다. \\ | ||
+ | 마스터 장치 내에서 채널이 다르다면 동일한 식별자를 부여하여 장치를 추가 할 수 있습니다. \\ \\ | ||
+ | 2. //activate// \\ | ||
+ | 장치 활성화 상태를 지정합니다. \\ | ||
+ | 장치의 연결 상태와는 무관하며, false로 설정되면 성공적으로 연결이 되어있더라도 해당 장치의 동작은 무시됩니다. \\ \\ | ||
+ | 3. //useSecureSession// \\ | ||
+ | 암호화 통신 여부를 지정합니다. \\ | ||
+ | 별도의 키를 설정하지 않았다면 기본키로 암호화 통신을 수행하며, [[BS2_SetOsdpStandardDeviceSecurityKey]]로 변경할 수 있습니다. \\ \\ | ||
+ | 4. //deviceType// \\ | ||
+ | 장치 유형입니다. BS2_DEVICE_TYPE_3RD_OSDP_DEVICE로 설정되어져야 합니다. \\ \\ | ||
+ | 5. //deviceID// \\ | ||
+ | 장치 식별자입니다. \\ \\ | ||
+ | |||
+ | |||
+ | ==== BS2OsdpStandardDeviceCapability ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint8_t compliance; | ||
+ | uint8_t count; | ||
+ | } BS2OsdpStandardDeviceCapabilityItem; | ||
+ | |||
+ | typedef struct { | ||
+ | BS2OsdpStandardDeviceCapabilityItem input; ///< 2 bytes | ||
+ | BS2OsdpStandardDeviceCapabilityItem output; ///< 2 bytes | ||
+ | BS2OsdpStandardDeviceCapabilityItem led; ///< 2 bytes | ||
+ | BS2OsdpStandardDeviceCapabilityItem audio; ///< 2 bytes | ||
+ | BS2OsdpStandardDeviceCapabilityItem textOutput; ///< 2 bytes | ||
+ | BS2OsdpStandardDeviceCapabilityItem reader; ///< 2 bytes | ||
+ | |||
+ | uint16_t recvBufferSize; ///< 2 bytes | ||
+ | uint16_t largeMsgSize; ///< 2 bytes | ||
+ | |||
+ | uint8_t osdpVersion; ///< 1 byte | ||
+ | uint8_t cardFormat; ///< 1 byte | ||
+ | uint8_t timeKeeping; ///< 1 byte | ||
+ | uint8_t canCommSecure; ///< 1 byte | ||
+ | |||
+ | BS2_BOOL crcSupport; ///< 1 byte | ||
+ | BS2_BOOL smartCardSupport; ///< 1 byte | ||
+ | BS2_BOOL biometricSupport; ///< 1 byte | ||
+ | BS2_BOOL securePinEntrySupport; ///< 1 byte | ||
+ | |||
+ | uint8_t reserved[4]; ///< 4 bytes | ||
+ | } BS2OsdpStandardDeviceCapability; ///< 28 bytes | ||
+ | </code> | ||
+ | 1. //compliance// \\ | ||
+ | PD의 기능(function)에 따른 준수수준(compliance level)을 나타냅니다. \\ | ||
+ | 기능은 input, output, led, audio, textOutput 등이 있으며, 기능 별로 준수수준이 상이하므로 관련 OSDP 문서를 참고바랍니다. \\ \\ | ||
+ | 2. //count// \\ | ||
+ | PD의 기능(function)에 따른 갯수(number of objects)를 의미하는데, 기능 별로 갯수에 부여되는 의미가 다르므로 관련 OSDP 문서를 참고바랍니다. \\ \\ | ||
+ | 3. //input// \\ | ||
+ | 입력(모니터링) 기능을 정의합니다. \\ \\ | ||
+ | 4. //output// \\ | ||
+ | 출력 기능을 정의합니다. \\ \\ | ||
+ | 5. //led// \\ | ||
+ | LED 기능을 정의합니다. \\ \\ | ||
+ | 6. //audio// \\ | ||
+ | Buzzer 기능을 정의합니다. \\ \\ | ||
+ | 7. //textOutput// \\ | ||
+ | 문자 출력 기능을 정의합니다. \\ \\ | ||
+ | 8. //reader// \\ | ||
+ | 지원되는 장치 수를 나타내며, count 정보만 의미를 갖습니다. \\ \\ | ||
+ | 9. //recvBufferSize// \\ | ||
+ | PD가 수신할 수 있는 단문 메시지 크기를 나타냅니다. \\ \\ | ||
+ | 10. //largeMsgSize// \\ | ||
+ | PD가 처리할 수 있는 장문 메시지의 최대 크기입니다. \\ \\ | ||
+ | 11. //osdpVersion// \\ | ||
+ | OSDP 버전입니다. \\ \\ | ||
+ | 12. //cardFormat// \\ | ||
+ | 카드 데이터 포멧 기능을 정의하며, 01, 02, 03 중 하나의 값을 갖습니다. | ||
+ | OSDP 문서의 카드 데이터 포멧관련 compliance level을 참고바랍니다. \\ \\ | ||
+ | 13. //timeKeeping// \\ | ||
+ | PD의 날짜 및 시간 정보 유형과 이를 유지하는 것에 대해 나타냅니다. OSDP 2.2에서 이 기능은 사용되지 않습니다. \\ \\ | ||
+ | 14. //canCommSecure// \\ | ||
+ | 보안통신 지원 여부를 나타냅니다. \\ \\ | ||
+ | 15. //crcSupport// \\ | ||
+ | 체크섬 지원 여부를 나타냅니다. \\ \\ | ||
+ | 16. //smartCardSupport// \\ | ||
+ | 스마트 카드 지원 여부를 나타냅니다. \\ \\ | ||
+ | 17. //biometricSupport// \\ | ||
+ | 생체정보 처리가 가능한지를 나타냅니다. \\ \\ | ||
+ | 18. //securePinEntrySupport// \\ | ||
+ | SPE(Secure PIN Entry) 지원 여부를 나타냅니다. \\ \\ | ||
+ | 19. //reserved// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | |||
+ | |||
+ | ==== BS2OsdpStandardDeviceResult ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | BS2_DEVICE_ID deviceID; | ||
+ | BS2_OSDP_RESULT result; | ||
+ | } BS2OsdpStandardDeviceResult; | ||
+ | </code> | ||
+ | 1. //deviceID// \\ | ||
+ | 장치 식별자입니다. \\ \\ | ||
+ | 2. //result// \\ | ||
+ | OSDP 장치 명령 결과 값을 가집니다. \\ \\ | ||
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^ | ||
+ | |0 |Success | | ||
+ | |1 |Fail | | ||
+ | |2 |Not available | | ||
+ | </WRAP> | ||
+ | |||
+ | |||
+ | ==== BS2OsdpStandardDeviceSecurityKey ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint8_t key[BS2_OSDP_STANDARD_KEY_SIZE]; | ||
+ | uint8_t reserved[32]; | ||
+ | } BS2OsdpStandardDeviceSecurityKey; | ||
+ | </code> | ||
+ | 1. //key// \\ | ||
+ | OSDP 장치에서 사용할 16byte 크기의 보안키 입니다. \\ \\ | ||
+ | 2. //reserved// \\ | ||
예약된 공간입니다. \\ \\ | 예약된 공간입니다. \\ \\ |