Old revisions Add to book Export to PDF Table of Contents Access Control API Structure BS2AccessGroup BS2DoorSchedule BS2AccessLevel BS2TimePeriod BS2DaySchedule BS2WeeklySchedule BS2DailySchedule BS2HolidaySchedule BS2Schedule BS2Holiday BS2HolidayGroup Book Creator Add this page to your book Book Creator Remove this page from your book Manage book (0 page(s)) Help Access Control API API for access control, which can manage access authority by individual, group, time schedules. BS2_GetAccessGroup: Retrieves selected access groups. BS2_GetAllAccessGroup: Retrieves all access groups. BS2_SetAccessGroup: Configures an access group. BS2_RemoveAccessGroup: Removes selected access groups. BS2_RemoveAllAccessGroup: Removes all access groups. BS2_GetAccessLevel: Retrieves selected access levels. BS2_GetAllAccessLevel: Retrieves all access levels. BS2_SetAccessLevel: Configures an access level. BS2_RemoveAccessLevel: Removes selected access levels. BS2_RemoveAllAccessLevel: Removes all access levels. BS2_GetAccessSchedule: Retrieves selected time schedules. BS2_GetAllAccessSchedule: Retrieves all time schedules. BS2_SetAccessSchedule: Configures a time schedule. BS2_RemoveAccessSchedule: Removes selected time schedules. BS2_RemoveAllAccessSchedule: Removes all time schedules. BS2_GetHolidayGroup: Retrieves selected holiday groups. BS2_GetAllHolidayGroup: Retrieves all holiday groups. BS2_SetHolidayGroup: Configures a holiday group. BS2_RemoveHolidayGroup: Removes selected holiday groups. BS2_RemoveAllHolidayGroup: Removes all holiday groups. Structure BS2AccessGroup typedef struct { uint32_t id; char name[BS2_MAX_ACCESS_GROUP_NAME_LEN]; uint8_t numAccessLevels; uint8_t reserved[3]; uint32_t accessLevels[BS2_MAX_ACCESS_LEVEL_PER_ACCESS_GROUP]; } BS2AccessGroup; 1. id Access group ID. 2. name Name of the access group that will be displayed on the BioStar application. 3. numAccessLevels Number of access levels that belongs to an access group. 4. reserved Reserved space. 5. accessLevels List of access levels that belongs to an access group. BS2DoorSchedule typedef struct { uint32_t doorID; uint32_t scheduleID; } BS2DoorSchedule ; 1. doorID Door ID. 2. scheduleID Schedule ID. BS2AccessLevel typedef struct { uint32_t id; char name[BS2_MAX_ACCESS_GROUP_NAME_LEN]; uint8_t numDoorSchedules; uint8_t reserved[3]; BS2DoorSchedule doorSchedules[BS2_MAX_ACCESS_LEVEL_PER_ACCESS_GROUP]; } BS2AccessLevel; 1. id Access level ID. The ID should be a number less than 32768(0x7FFF). This is due to a limitation where this ID needs to be shared with floor levels for lift control. 2. name Name of the access level that will be displayed on the BioStar application. 3. numDoorSchedules Number of schedules allocated to a door that belongs to an access level. 4. reserved Reserved space. 5. doorSchedules List of schedules allocated to a door that belongs to an access level. BS2TimePeriod typedef struct { int16_t startTime; int16_t endTime; } BS2TimePeriod; 1. startTime Starting time of the time period. The unit of the value is minutes. 2. endTime Ending time of the time period. The unit of the value is minutes. BS2DaySchedule typedef struct { uint8_t numPeriods; uint8_t reserved[3]; BS2TimePeriod periods[BS2_MAX_TIME_PERIODS_PER_DAY]; } BS2DaySchedule; 1. numPeriods Number of time periods. 2. reserved Reserved space. 3. periods List of time periods, which can be configured up to 5 time periods. BS2WeeklySchedule typedef struct { BS2DaySchedule schedule[BS2_NUM_WEEKDAYS]; } BS2WeeklySchedule; 1. schedule Weekly schedule that has total 7 daily schedules. BS2DailySchedule typedef struct { uint32_t startDate; uint8_t numDays; uint8_t reserved[3]; BS2DaySchedule schedule[BS2_MAX_DAYS_PER_DAILY_SCHEDULE]; } BS2DailySchedule; 1. startDate Starting date of the schedule. 2. numDays Number of the daily schedule. 3. reserved Reserved space. 4. schedule List of daily schedules starting from the startDate. BS2HolidaySchedule typedef struct { uint32_t id; BS2DaySchedule schedule; } BS2HolidaySchedule; 1. startDate Holiday schedule ID. 2. schedule Holiday daily schedule. BS2Schedule typedef struct { uint32_t id; char name[BS2_MAX_SCHEDULE_NAME_LEN]; uint8_t isDaily; uint8_t numHolidaySchedules; uint8_t reserved[2]; union { BS2WeeklySchedule weekly; BS2DailySchedule daily; }schedule; BS2HolidaySchedule holidaySchedules[BS2_MAX_HOLIDAY_GROUPS_PER_SCHEDULE]; }BS2Schedule; 1. id Schedule ID. CAUTION You should avoid using 0 and 1 as the schedule ID. Schedule ID 0 is recognized as 'Not used' and Schedule ID 1 is recognized as 'Always' for every device. 2. name Name of the schedule that will be displayed on the BioStar application. 3. isDaily Decides whether it's a daily schedule or a weekly schedule. 4. numHolidaySchedules Number of holiday schedules. 5. reserved Reserved space. 6. weekly Weekly schedule. This will be valid only when isDaily is set to 0. 7. daily Daily schedule. This will be valid when isDaily has a value rather than 0. 8. holidaySchedules List of holiday schedules. BS2Holiday typedef struct { uint32_t date; uint8_t recurrence; } BS2Holiday; 1. date Date of the holiday. 2. recurrence The value of repetition. Value Description 0 Does not repeat 1 Repeat yearly 2 Repeat monthly 3 Repeat weekly BS2HolidayGroup typedef struct { uint32_t id; char name[BS2_MAX_SCHEDULE_NAME_LEN]; uint8_t numHolidays; uint8_t reserved[3]; BS2Holiday holidays[BS2_MAX_HOLIDAYS_PER_GROUP]; }BS2HolidayGroup; 1. id Holiday group ID. 2. name Name of the holiday group that will be displayed on the BioStar application. 3. numHolidays Number of holidays. 4. reserved Reserved space. 5. holidays List of holidays.