Skip to main content

Module calendar

Module calendar 

Source
Expand description

Clause 21 codecs for BACnetCalendarEntry and BACnetDateRange.

A calendar entry is the element of the Calendar object’s Date_List (Clause 12.9) and the inline period of a Schedule BACnetSpecialEvent (Clause 12.24). It is a CHOICE whose alternatives carry their own context tags:

AlternativeTagEncoding
date[0]primitive, the four Date octets
date-range[1]opening/closing pair around a BACnetDateRange
weekNDay[2]primitive, the three BACnetWeekNDay octets

BACnetDateRange is a SEQUENCE of two untagged Dates, so each is application-tagged: start date, then end date. Unframed, as a Schedule’s Effective_Period carries it, that pair is the whole encoding. A BACnetLIST of calendar entries is the plain concatenation of its elements.

Functions§

decode_calendar_entry
Decode one BACnetCalendarEntry at offset.
decode_calendar_entry_list
Decode a complete BACnetLIST of BACnetCalendarEntry.
decode_date_range
Decode one unframed BACnetDateRange at offset.
encode_calendar_entry
Encode one BACnetCalendarEntry under its CHOICE tag.
encode_calendar_entry_list
Encode a BACnetLIST of BACnetCalendarEntry as concatenated elements.
encode_date_range
Encode one unframed BACnetDateRange: its start and end application Dates.