Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
en:zone_control_api [2018/03/15 14:34]
yjjung
en:zone_control_api [2018/03/20 15:25]
yjjung
Line 16: Line 16:
   * [[BS2_ClearAntiPassbackZoneStatus]]:​ Updates selected users to be not violating against the Anti Passback zone rule.   * [[BS2_ClearAntiPassbackZoneStatus]]:​ Updates selected users to be not violating against the Anti Passback zone rule.
   * [[BS2_ClearAllAntiPassbackZoneStatus]]:​ Updates all users to be not violating against the Anti Passback zone rule.   * [[BS2_ClearAllAntiPassbackZoneStatus]]:​ Updates all users to be not violating against the Anti Passback zone rule.
- +  * [[BS2_SetCheckGlobalAPBViolationHandler]]:​​ Registers callback function for global determination when an APB violation alarm occurs. 
-----+  * [[BS2_CheckGlobalAPBViolation]]:​​ Transfers Global APB results to the device.
 ==== Timed Anti Passback Zone ==== ==== Timed Anti Passback Zone ====
 To prevent a user from re-entering in a certain time, a Timed Anti Passback zone can be used. This zone offers two options(soft,​ hard) as same as the Anti Passback zone.  To prevent a user from re-entering in a certain time, a Timed Anti Passback zone can be used. This zone offers two options(soft,​ hard) as same as the Anti Passback zone. 
Line 67: Line 67:
   * [[BS2_RemoveIntrusionAlarmZone]]:​ Removes selected Intrusion Alarm zones.   * [[BS2_RemoveIntrusionAlarmZone]]:​ Removes selected Intrusion Alarm zones.
   * [[BS2_RemoveAllIntrusionAlarmZone]]:​ Removes all Intrusion Alarm zones.   * [[BS2_RemoveAllIntrusionAlarmZone]]:​ Removes all Intrusion Alarm zones.
-  * [[BS2_SetIntrusionAlarmZoneArm]]:​ Configures Intrusion Alarm zones status Intrusion On/Off. +
-  * +
 \\ \\
 ---- ----
Line 76: Line 75:
   * [[BS2_GetInterlockZone]]:​ Gets selected Interlock zones.   * [[BS2_GetInterlockZone]]:​ Gets selected Interlock zones.
   * [[BS2_GetInterlockZoneStatus]]:​ Gets selected Interlock zone status.   * [[BS2_GetInterlockZoneStatus]]:​ Gets selected Interlock zone status.
-  * [[BS2_GetAllInterlockZoneStatus]]: ​모든 인터락 구역의 상태 정보를 가져옵니다+  * [[BS2_GetAllInterlockZoneStatus]]: ​Gets all Interlock zone's status information
-  * [[BS2_SetInterlockZone]]: ​인터락 구역을 설정합니다+  * [[BS2_SetInterlockZone]]: ​Sets Interlock Zones
-  * [[BS2_SetInterlockZoneAlarm]]: ​인터락 구역의 경보 상태를 갱신합니다+  * [[BS2_SetInterlockZoneAlarm]]: ​Updates the alarm status in the Interlock zone
-  * [[BS2_RemoveInterlockZone]]: ​주어진 인터락 구역을 제거합니다+  * [[BS2_RemoveInterlockZone]]: ​Removes the selected Interlock zone
-  * [[BS2_RemoveAllInterlockZone]]: ​모든 인터락 구역을 제거합니다.+  * [[BS2_RemoveAllInterlockZone]]: ​Removes all Interlock zones.
 \\ \\
 ---- ----
Line 86: Line 85:
 Not BioStar V2.x server, but specific device acts as Zone Master. Ethernet zone uses Ethernet TCP protocol between devices(Master <-> Members). Not BioStar V2.x server, but specific device acts as Zone Master. Ethernet zone uses Ethernet TCP protocol between devices(Master <-> Members).
  
-Curruently, it only supports ​correspoding ​features to exisiting ​1.x Entrance Limit, Fire Alarm Zone. +Currently, it only supports ​corresponding ​features to existing ​1.x Entrance Limit, Fire Alarm Zone. 
   * [[BS2_GetDeviceZone]]:​ Retrieves selected Ethernet zones..  ​   * [[BS2_GetDeviceZone]]:​ Retrieves selected Ethernet zones..  ​
   * [[BS2_GetAllDeviceZone]]:​ Retrieves all Ethernet zones.   * [[BS2_GetAllDeviceZone]]:​ Retrieves all Ethernet zones.
Line 107: Line 106:
 \\ \\
 ---- ----
 +==== Callback Function ====
 +==== OnCheckGlobalAPBViolation ====
 +Callback function for global determination when an APB violation alarm occurs.
 +<code cpp>
 +typedef void (*OnCheckGlobalAPBViolation)(uint32_t deviceId, uint16_t seq, const char* userID_1, const char* userID_2, bool isDualAuth);​
 +</​code>​
 +\\
  
 +1. //​deviceId//​ \\ 
 +Device ID  \\ \\ 
 +2. //seq// \\ 
 +Packet sequence number \\ \\ 
 +3. //​userID_1//​ \\ 
 +User ID 1  \\ \\ 
 +4. //​userID_2//​ \\ 
 +User ID 2  \\ \\ 
 +5. //​isDualAuth//​ \\ 
 +Indicates whether to Dual authentication. ​ \\ \\ 
  
 ===== Structure ====== ===== Structure ======
Line 468: Line 484:
  as **IntrusionAlarmZone.numDoors**. ​ \\ \\   as **IntrusionAlarmZone.numDoors**. ​ \\ \\ 
 7. //​groupIDs//​ \\  7. //​groupIDs//​ \\ 
-Access group list which belongs to Intrusion alarm zone. It needs to exist as much +Access group list which belongs to Intrusion alarm zone. It needs to exist as much as **IntrusionAlarmZone.numGroups**.  \\ \\  
- as **IntrusionAlarmZone.numGroups**. ​ \\ \\ +==== BS2InterlockZone==== 
 +<code cpp> 
 +typedef struct { 
 +    uint32_t zoneID; 
 +    char name[BS2_MAX_ZONE_NAME_LEN];​ 
 +    uint8_t disabled; 
 +    uint8_t numInputs;​ 
 +    uint8_t numOutputs;​ 
 +    uint8_t numDoors; 
 +    uint8_t reserved[8]; ​    
 +} BS2InterlockZone;​ 
 +</​code>​ 
 +1. //zoneID// \\  
 +Zone ID which needs to have a value higher than 1.\\ \\   
 +2. //name// \\  
 +Name of the zone that will be displayed on the BioStar application.. \\ \\ 
 +3. //​disabled//​ \\  
 +Decides whether the zone is disabled. ​ \\ \\  
 +4. //​numInputs//​ \\  
 +Number of intrusion detecting sensor inputs belonging to Interlock alarm zone. \\ \\  
 +5. //​numOutputs//​ \\  
 +Number of outputs belonging to Interlock alarm zone. \\ \\ 
 +6. //​numDoors//​ \\  
 +Number of doors belonging to Interlock alarm zone.  \\ \\  
 +7. //​reserved//​ \\  
 +Reserved space. ​ \\ \\ 
 + 
 +==== BS2InterlockZoneBlob==== 
 +<code cpp> 
 +typedef struct { 
 +    BS2InterlockZone InterlockZone;​ 
 +    BS2InterlockZoneInput* inputObjs;​ 
 +    BS2InterlockZoneOutput* outputObjs;​ 
 +    BS2_DOOR_ID* doorIDs; 
 +} BS2InterlockZoneBlob;​ 
 +</​code>​ 
 +1. //​InterlockZone//​ \\  
 +Structure that defines the basic Interlock alarm zone information. ​ \\ \\  
 +2. //​inputObjs//​ \\  
 +Input list which belongs to Interlock alarm zone. It needs to exist as much as **InterlockAlarmZone.numInputs**. ​ \\ \\ 
 +3. //​outputObjs//​ \\  
 +Output list which belongs to Interlock alarm zone. It needs to exist as much as **InterlockAlarmZone.numOutputs**. ​ \\ \\  
 +4. //doorIDs// \\  
 +Door list which belongs to Interlock alarm zone. It needs to exist as much as **InterlockAlarmZone.numDoors**.  \\ \\ 
  
 ==== BS2DeviceZoneEntranceLimitMaster==== ==== BS2DeviceZoneEntranceLimitMaster====