Calendar Common#

API and Callbacks for the Calendar Common Component.

This component provides common utility functions that are used by the client and server of the Calendar Cluster.

Modules#

sl_zigbee_af_calendar_day_schedule_entry_struct_t

sl_zigbee_af_calendar_day_struct_t

sl_zigbee_af_calendar_special_day_struct_t

sl_zigbee_af_calendar_week_struct_t

sl_zigbee_af_calendar_season_struct_t

sl_zigbee_af_calendar_struct_t

API#

uint8_t
sl_zigbee_af_calendar_common_get_calendar_by_id(uint32_t calendarId, uint32_t providerId)

Get the calendar by calendar ID.

uint32_t
sl_zigbee_af_calendar_common_end_time_utc(const sl_zigbee_af_calendar_struct_t *calendar)

Get the calendar end time (UTC).

bool
sl_zigbee_af_calendar_common_set_cal_info(uint8_t index, uint32_t providerId, uint32_t issuerEventId, uint32_t issuerCalendarId, uint32_t startTimeUtc, uint8_t calendarType, uint8_t *calendarName, uint8_t numberOfSeasons, uint8_t numberOfWeekProfiles, uint8_t numberOfDayProfiles)

Set the calendar info.

bool
sl_zigbee_af_calendar_common_add_cal_info(uint32_t providerId, uint32_t issuerEventId, uint32_t issuerCalendarId, uint32_t startTimeUtc, uint8_t calendarType, uint8_t *calendarName, uint8_t numberOfSeasons, uint8_t numberOfWeekProfiles, uint8_t numberOfDayProfiles)

Add a new entry corresponding to the PublishCalendar command. Tries to handle the new entry in the following method: 1) Try to apply new data to a matching existing entry. 2) Fields such as providerId, issuerEventId, and startTime, will be used. 3) Overwrite the oldest entry (one with smallest event ID) with new information.

bool
sl_zigbee_af_calendar_server_set_seasons_info(uint8_t index, uint8_t seasonId, sl_zigbee_af_date_t startDate, uint8_t weekIndex)

Set calendar server season info.

bool
sl_zigbee_af_calendar_server_add_seasons_info(uint32_t issuerCalendarId, uint8_t *seasonsEntries, uint8_t seasonsEntriesLength, uint8_t *unknownWeekIdSeasonsMask)

Add calendar server season info.

bool
sl_zigbee_af_calendar_common_set_day_prof_info(uint8_t index, uint8_t dayId, uint8_t entryId, uint16_t minutesFromMidnight, uint8_t data)

Set day profile info.

bool
sl_zigbee_af_calendar_common_add_day_prof_info(uint32_t issuerCalendarId, uint8_t dayId, uint8_t *dayScheduleEntries, uint16_t dayScheduleEntriesLength)

Add day profile info.

bool
sl_zigbee_af_calendar_server_set_week_prof_info(uint8_t index, uint8_t weekId, uint8_t dayIdRefMon, uint8_t dayIdRefTue, uint8_t dayIdRefWed, uint8_t dayIdRefThu, uint8_t dayIdRefFri, uint8_t dayIdRefSat, uint8_t dayIdRefSun)

Set calendar server week profile info.

bool
sl_zigbee_af_calendar_server_add_week_prof_info(uint32_t issuerCalendarId, uint8_t weekId, uint8_t dayIdRefMon, uint8_t dayIdRefTue, uint8_t dayIdRefWed, uint8_t dayIdRefThu, uint8_t dayIdRefFri, uint8_t dayIdRefSat, uint8_t dayIdRefSun)

Add calendar server week profile.

bool
sl_zigbee_af_calendar_common_add_special_days_info(uint32_t issuerCalendarId, uint8_t totalNumberOfSpecialDays, uint8_t *specialDaysEntries, uint16_t specialDaysEntriesLength, uint8_t *unknownSpecialDaysMask)

Updating special days information of the specified calendar. Assumes that the value of totalNumberOfSpecialDays will match up with the information passed in between specialDaysEntries and specialDaysEntriesLength.

Enumerations#

enum
SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_FLAGS_SENT = 0x01
}

API Documentation#

sl_zigbee_af_calendar_common_get_calendar_by_id#

uint8_t sl_zigbee_af_calendar_common_get_calendar_by_id (uint32_t calendarId, uint32_t providerId)

Get the calendar by calendar ID.

Parameters
N/AcalendarId

Ver.: always

N/AproviderId

Ver.: always

Returns

  • uint8_t Calender index


Definition at line 149 of file app/framework/plugin/calendar-common/calendar-common.h

sl_zigbee_af_calendar_common_end_time_utc#

uint32_t sl_zigbee_af_calendar_common_end_time_utc (const sl_zigbee_af_calendar_struct_t * calendar)

Get the calendar end time (UTC).

Parameters
N/Acalendar

pointer to the calendar struct Ver.: always

Returns

  • uint32_t end UTC time in seconds


Definition at line 159 of file app/framework/plugin/calendar-common/calendar-common.h

sl_zigbee_af_calendar_common_set_cal_info#

bool sl_zigbee_af_calendar_common_set_cal_info (uint8_t index, uint32_t providerId, uint32_t issuerEventId, uint32_t issuerCalendarId, uint32_t startTimeUtc, uint8_t calendarType, uint8_t * calendarName, uint8_t numberOfSeasons, uint8_t numberOfWeekProfiles, uint8_t numberOfDayProfiles)

Set the calendar info.

Parameters
N/Aindex

Ver.: always

N/AproviderId

Ver.: always

N/AissuerEventId

Ver.: always

N/AissuerCalendarId

Ver.: always

N/AstartTimeUtc

Ver.: always

N/AcalendarType

Ver.: always

N/AcalendarName

Ver.: always

N/AnumberOfSeasons

Ver.: always

N/AnumberOfWeekProfiles

Ver.: always

N/AnumberOfDayProfiles

Ver.: always

Returns

  • bool true if success


Definition at line 176 of file app/framework/plugin/calendar-common/calendar-common.h

sl_zigbee_af_calendar_common_add_cal_info#

bool sl_zigbee_af_calendar_common_add_cal_info (uint32_t providerId, uint32_t issuerEventId, uint32_t issuerCalendarId, uint32_t startTimeUtc, uint8_t calendarType, uint8_t * calendarName, uint8_t numberOfSeasons, uint8_t numberOfWeekProfiles, uint8_t numberOfDayProfiles)

Add a new entry corresponding to the PublishCalendar command. Tries to handle the new entry in the following method: 1) Try to apply new data to a matching existing entry. 2) Fields such as providerId, issuerEventId, and startTime, will be used. 3) Overwrite the oldest entry (one with smallest event ID) with new information.

Parameters
N/AproviderId

Ver.: always

N/AissuerEventId

Ver.: always

N/AissuerCalendarId

Ver.: always

N/AstartTimeUtc

Ver.: always

N/AcalendarType

Ver.: always

N/AcalendarName

Ver.: always

N/AnumberOfSeasons

Ver.: always

N/AnumberOfWeekProfiles

Ver.: always

N/AnumberOfDayProfiles

Ver.: always

Returns

  • bool true if success


Definition at line 206 of file app/framework/plugin/calendar-common/calendar-common.h

sl_zigbee_af_calendar_server_set_seasons_info#

bool sl_zigbee_af_calendar_server_set_seasons_info (uint8_t index, uint8_t seasonId, sl_zigbee_af_date_t startDate, uint8_t weekIndex)

Set calendar server season info.

Parameters
N/Aindex

Ver.: always

N/AseasonId

Ver.: always

N/AstartDate

Ver.: always

N/AweekIndex

Ver.: always

Returns

  • bool true if success


Definition at line 226 of file app/framework/plugin/calendar-common/calendar-common.h

sl_zigbee_af_calendar_server_add_seasons_info#

bool sl_zigbee_af_calendar_server_add_seasons_info (uint32_t issuerCalendarId, uint8_t * seasonsEntries, uint8_t seasonsEntriesLength, uint8_t * unknownWeekIdSeasonsMask)

Add calendar server season info.

Parameters
N/AissuerCalendarId

Ver.: always

N/AseasonsEntries

Ver.: always

N/AseasonsEntriesLength

Ver.: always

N/AunknownWeekIdSeasonsMask

Ver.: always

Returns

  • bool true if success


Definition at line 241 of file app/framework/plugin/calendar-common/calendar-common.h

sl_zigbee_af_calendar_common_set_day_prof_info#

bool sl_zigbee_af_calendar_common_set_day_prof_info (uint8_t index, uint8_t dayId, uint8_t entryId, uint16_t minutesFromMidnight, uint8_t data)

Set day profile info.

Parameters
N/Aindex

Ver.: always

N/AdayId

Ver.: always

N/AentryId

Ver.: always

N/AminutesFromMidnight

Ver.: always

N/Adata

Ver.: always

Returns

  • bool true if success


Definition at line 256 of file app/framework/plugin/calendar-common/calendar-common.h

sl_zigbee_af_calendar_common_add_day_prof_info#

bool sl_zigbee_af_calendar_common_add_day_prof_info (uint32_t issuerCalendarId, uint8_t dayId, uint8_t * dayScheduleEntries, uint16_t dayScheduleEntriesLength)

Add day profile info.

Parameters
N/AissuerCalendarId

Ver.: always

N/AdayId

Ver.: always

N/AdayScheduleEntries

Ver.: always

N/AdayScheduleEntriesLength

Ver.: always

Returns

  • bool true if success


Definition at line 272 of file app/framework/plugin/calendar-common/calendar-common.h

sl_zigbee_af_calendar_server_set_week_prof_info#

bool sl_zigbee_af_calendar_server_set_week_prof_info (uint8_t index, uint8_t weekId, uint8_t dayIdRefMon, uint8_t dayIdRefTue, uint8_t dayIdRefWed, uint8_t dayIdRefThu, uint8_t dayIdRefFri, uint8_t dayIdRefSat, uint8_t dayIdRefSun)

Set calendar server week profile info.

Parameters
N/Aindex

Ver.: always

N/AweekId

Ver.: always

N/AdayIdRefMon

Ver.: always

N/AdayIdRefTue

Ver.: always

N/AdayIdRefWed

Ver.: always

N/AdayIdRefThu

Ver.: always

N/AdayIdRefFri

Ver.: always

N/AdayIdRefSat

Ver.: always

N/AdayIdRefSun

Ver.: always

Returns

  • bool true if success


Definition at line 291 of file app/framework/plugin/calendar-common/calendar-common.h

sl_zigbee_af_calendar_server_add_week_prof_info#

bool sl_zigbee_af_calendar_server_add_week_prof_info (uint32_t issuerCalendarId, uint8_t weekId, uint8_t dayIdRefMon, uint8_t dayIdRefTue, uint8_t dayIdRefWed, uint8_t dayIdRefThu, uint8_t dayIdRefFri, uint8_t dayIdRefSat, uint8_t dayIdRefSun)

Add calendar server week profile.

Parameters
N/AissuerCalendarId

Ver.: always

N/AweekId

Ver.: always

N/AdayIdRefMon

Ver.: always

N/AdayIdRefTue

Ver.: always

N/AdayIdRefWed

Ver.: always

N/AdayIdRefThu

Ver.: always

N/AdayIdRefFri

Ver.: always

N/AdayIdRefSat

Ver.: always

N/AdayIdRefSun

Ver.: always

Returns

  • bool true if success


Definition at line 316 of file app/framework/plugin/calendar-common/calendar-common.h

sl_zigbee_af_calendar_common_add_special_days_info#

bool sl_zigbee_af_calendar_common_add_special_days_info (uint32_t issuerCalendarId, uint8_t totalNumberOfSpecialDays, uint8_t * specialDaysEntries, uint16_t specialDaysEntriesLength, uint8_t * unknownSpecialDaysMask)

Updating special days information of the specified calendar. Assumes that the value of totalNumberOfSpecialDays will match up with the information passed in between specialDaysEntries and specialDaysEntriesLength.

Parameters
N/AissuerCalendarId

Ver.: always

N/AtotalNumberOfSpecialDays

Ver.: always

N/AspecialDaysEntries

Ver.: always

N/AspecialDaysEntriesLength

Ver.: always

N/AunknownSpecialDaysMask

Ver.: always

Returns

  • bool true if success


Definition at line 340 of file app/framework/plugin/calendar-common/calendar-common.h

Enumeration Documentation#

sl_zigbee_af_plugin_calendar_common_flags_t#

sl_zigbee_af_plugin_calendar_common_flags_t
Enumerator
SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_FLAGS_SENT

Definition at line 93 of file app/framework/plugin/calendar-common/calendar-common.h

Variable Documentation#

calendars#

sl_zigbee_af_calendar_struct_t calendars[]

Definition at line 127 of file app/framework/plugin/calendar-common/calendar-common.h

Macro Definition Documentation#

fieldLength#

#define fieldLength
Value:
(field)

Definition at line 39 of file app/framework/plugin/calendar-common/calendar-common.h

SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_INVALID_SCHEDULE_ENTRY#

#define SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_INVALID_SCHEDULE_ENTRY
Value:
0xFFFF

Definition at line 42 of file app/framework/plugin/calendar-common/calendar-common.h

SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_INVALID_ID#

#define SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_INVALID_ID
Value:
0xFF

Definition at line 43 of file app/framework/plugin/calendar-common/calendar-common.h

SL_ZIGBEE_AF_PLUGIN_CALENDAR_MAX_CALENDAR_NAME_LENGTH#

#define SL_ZIGBEE_AF_PLUGIN_CALENDAR_MAX_CALENDAR_NAME_LENGTH
Value:
12

Definition at line 44 of file app/framework/plugin/calendar-common/calendar-common.h

SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_INVALID_INDEX#

#define SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_INVALID_INDEX
Value:
0xFF

Definition at line 45 of file app/framework/plugin/calendar-common/calendar-common.h

SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_MONDAY_INDEX#

#define SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_MONDAY_INDEX
Value:
(0)

Definition at line 72 of file app/framework/plugin/calendar-common/calendar-common.h

SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_SUNDAY_INDEX#

#define SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_SUNDAY_INDEX
Value:
(6)

Definition at line 73 of file app/framework/plugin/calendar-common/calendar-common.h

SL_ZIGBEE_AF_DAYS_IN_THE_WEEK#

#define SL_ZIGBEE_AF_DAYS_IN_THE_WEEK
Value:
(7)

Definition at line 74 of file app/framework/plugin/calendar-common/calendar-common.h

SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_INVALID_CALENDAR_ID#

#define SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_INVALID_CALENDAR_ID
Value:
0xFFFFFFFF

Definition at line 86 of file app/framework/plugin/calendar-common/calendar-common.h

SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_WILDCARD_CALENDAR_ID#

#define SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_WILDCARD_CALENDAR_ID
Value:
0x00000000

Definition at line 87 of file app/framework/plugin/calendar-common/calendar-common.h

SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_WILDCARD_PROVIDER_ID#

#define SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_WILDCARD_PROVIDER_ID
Value:
0xFFFFFFFF

Definition at line 88 of file app/framework/plugin/calendar-common/calendar-common.h

SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_WILDCARD_ISSUER_ID#

#define SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_WILDCARD_ISSUER_ID
Value:
0xFFFFFFFF

Definition at line 89 of file app/framework/plugin/calendar-common/calendar-common.h

SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_WILDCARD_CALENDAR_TYPE#

#define SL_ZIGBEE_AF_PLUGIN_CALENDAR_COMMON_WILDCARD_CALENDAR_TYPE
Value:
0xFF

Definition at line 90 of file app/framework/plugin/calendar-common/calendar-common.h