Lift를 관리하기 위한 API로 floorLevel 관리를 통해 Lift 제한 및 관리할 수 있습니다.
typedef struct { BS2_LIFT_ID liftID; char name[BS2_MAX_LIFT_NAME_LEN]; BS2_DEVICE_ID deviceID[BS2_MAX_DEVICES_ON_LIFT]; uint32_t activateTimeout; uint32_t dualAuthTimeout; uint8_t numFloors; uint8_t numDualAuthApprovalGroups; BS2_DUAL_AUTH_APPROVAL dualAuthApprovalType; BS2_BOOL tamperOn; BS2_BOOL dualAuthRequired[BS2_MAX_DEVICES_ON_LIFT]; BS2_SCHEDULE_ID dualAuthScheduleID; BS2LiftFloor floor[BS2_MAX_FLOORS_ON_LIFT]; BS2_ACCESS_GROUP_ID dualAuthApprovalGroupID[BS2_MAX_DUAL_AUTH_APPROVAL_GROUP_ON_LIFT]; BS2LiftAlarm alarm[BS2_MAX_ALARMS_ON_LIFT]; BS2LiftAlarm tamper; BS2_LIFT_ALARM_FLAG alarmFlags; uint8_t reserved[3]; } BS2Lift;
1. liftID
lift 식별자입니다.
2. name
BioStar 애플리케이션에서 보여줄 Lift 이름입니다.
3. deviceID
lift 장치와 연결된 장치 식별자입니다.
4. activateTimeout
lift가 열린 후 자동으로 닫힐때까지 걸리는 시간으로 초 단위입니다.
5. dualAuthTimeout
1번째 사용자의 인증이 끝나고 2번째 사용자의 인증을 시도하기까지 대기하는 시간으로 초 단위입니다.
6. numFloors
lift에 속한 Floor의 개수입니다.
7. numDualAuthApprovalGroups
이중 출입 권한을 가지는 그룹의 총 개수입니다.
8. dualAuthApprovalType
출입을 허용할 때 사용자의 출입 그룹이 이중 인증 출입 권한을 가지는 그룹에 속한지 검사하는 flag입니다.
값 | 설명 |
---|---|
0 | 없음 |
1 | 마지막 사용자의 권한 확인 |
9. tamperOn
현재 tamper 상태 여부입니다.
10. dualAuthRequired
장치의 이중 인증 필요 여부입니다.
11. dualAuthScheduleID
이중 인증이 필요한 타임 스케줄로 이중 인증이 필요 없다면 0을, 항상 필요하면 1을, 아니면 적절한 타임 스케줄 식별자를 지정할 수 있습니다.
12. floor
lift의 floor 정보입니다. 최대 255까지 설정할 수 있습니다.
13. dualAuthApprovalGroupID
이중 출입 권한을 가지는 그룹을 나열한 리스트로 최대 16까지 설정할 수 있습니다.
14. alarm
lift의 sensor가 감지되었을 때 동작할 경보로 최대2개까지 설정할 수 있습니다.
15. tamper
lift의 tamper가 감지되었을 때 동작할 경보 정보입니다.
16. alarmFlags
경보 flag입니다.
17. reserved
예약된 공간입니다.
typedef struct { BS2_DEVICE_ID deviceID; uint8_t port; BS2FloorStatus status; } BS2LiftFloor;
1. deviceID
장치 식별자입니다.
2. port
장치의 입력 포트입니다
3. status
Floor 상태 정보입니다.
typedef struct { BS2_BOOL activated; BS2_FLOOR_FLAG activateFlags; BS2_FLOOR_FLAG deactivateFlags; } BS2FloorStatus;
1. activated
대기상태에서 열림과 닫힘의 상태 정보입니다.
2. activateFlags
floor가 열릴 때의 우선 순위로 닫힐 때의 우선 순위보다 낮으면 수행되지 않습니다. 예를 들어, 관리자 권한으로 floor를 닫은 상태라면(OPERATOR), 모든 사용자의 출입이 허용되지 않습니다. 유의해야 할 사항으로 activateFlags와 deactivateFlags는 기본 우선 순위(NONE)를 제외하고는 동일 우선 순위를 가질 수 없습니다.
값 | 설명 | 우선순위 |
---|---|---|
0 | 기본 | 보통 |
1 | 일정 | 약간 높음 |
4 | 관리자 | 높음 |
2 | 긴급 | 매우 높음 |
3. deactivateFlags
floor가 닫힐 때의 우선 순위로 열릴 때의 우선 순위보다 낮으면 수행되지 않습니다
값 | 설명 | 우선순위 |
---|---|---|
0 | 기본 | 보통 |
1 | 일정 | 약간 높음 |
4 | 관리자 | 높음 |
2 | 긴급 | 매우 높음 |
typedef struct { BS2_DEVICE_ID deviceID; uint8_t port; BS2_SWITCH_TYPE switchType; uint16_t duration; BS2_SCHEDULE_ID scheduleID; } BS2LiftSensor;
1. deviceID
장치 식별자입니다.
2. port
장치의 입력 포트입니다.
3. switchType
입력 신호 유형입니다.
값 | 설명 |
---|---|
0 | 대기 상태에서 열림 상태로 유지 |
1 | 대기 상태에서 닫힘 상태로 유지 |
4. duration
입력 신호를 화재 경보 상태로 판단하기까지 걸리는 시간으로 millisecond 단위입니다.
5. scheduleID
lift를 동작하기 위한 타임 스케줄입니다.
typedef struct { BS2LiftSensor sensor; BS2Action action; } BS2LiftAlarm;
1. sensor
lift의 열림/닫힘 상태를 감지하는 센서입니다
2. action
lift가 수행하는 action입니다.
typedef struct { BS2_LIFT_ID liftID; uint16_t numFloors; BS2_LIFT_ALARM_FLAG alarmFlags; BS2_BOOL tamperOn; BS2FloorStatus floors[BS2_MAX_FLOORS_ON_LIFT]; } BS2LiftStatus;
1. liftID
lift 식별자입니다.
2. numFloors
lift에 속한 Floor 개수입니다.
3. alarmFlags
현재 lift의 경보 상태 정보입니다.
값 | 설명 |
---|---|
0 | 경보 없음 |
1 | 첫번째 경보 |
2 | 두번째 경보 |
4 | Tamper |
4. tamperOn
현재 tamper 상태 정보입니다.
5. floors
floor를 나열한 리스트로 최대 255까지 설정할 수 있습니다.
typedef struct { BS2_FLOOR_LEVEL_ID id; // id >= 32768 (BS2_ACCESS_LEVEL_ID < 32768) char name[BS2_MAX_FLOOR_LEVEL_NAME_LEN]; uint8_t numFloorSchedules; uint8_t reserved[3]; BS2FloorSchedule floorSchedules[BS2_MAX_FLOOR_LEVEL_ITEMS]; } BS2FloorLevel;
1. id
Floor 레벨 식별자입니다. id >= 32768 (BS2_ACCESS_LEVEL_ID < 32768)
2. name
BioStar 애플리케이션에서 보여줄 Floor 레벨 이름입니다.
3. numFloorSchedules
Floor 레벨에 속한 Floor 타임 스케줄 개수입니다.
4. reserved
예약된 공간입니다.
5. floorSchedules
Floor 레벨에 속한 Floor 타임 스케줄 리스트입니다
typedef struct { BS2_LIFT_ID liftID; uint16_t floorIndex; uint8_t reserved[2]; BS2_SCHEDULE_ID scheduleID; } BS2FloorSchedule;
1. liftID
lift 식별자입니다.
2. floorIndex
floor 식별자입니다.
3. reserved
예약된 공간입니다.
4. scheduleID
타임 스케줄 식별자입니다.