Skip to main content

Module object_property_reference

Module object_property_reference 

Source
Expand description

BACnetObjectPropertyReference and its BACnetSetpointReference wrapper (ASHRAE 135-2020 Clause 21) — wire codecs for the object-reference properties of the Loop (Clause 12.17) and Pulse Converter (Clause 12.23) objects.

BACnetObjectPropertyReference names one property of an object, and can narrow it to a single element when the property is an array:

FieldTagTypeOptional
object-identifier[0]BACnetObjectIdentifierno
property-identifier[1]BACnetPropertyIdentifierno
property-array-index[2]Unsignedyes; only meaningful for array properties

BACnetSetpointReference wraps at most one such reference:

FieldTagTypeOptional
setpoint-reference[0]BACnetObjectPropertyReferenceyes

Every member is context-tagged, so a property value carries a reference as primitive context tags [0]/[1] (plus optional [2]) concatenated on the wire; the Setpoint_Reference property nests those members in the opening/closing tag 0 frame of BACnetSetpointReference, and leaves the frame out entirely when it holds no reference (an absent optional member has no encoding, Clause 20.2.16). Unlike BACnetDeviceObjectPropertyReference there is NO device member in this production — these references name objects in the local device only — so a device-qualifying [3] element is rejected on decode rather than being silently absorbed (the tranche-J decode_dopr_body codec accepts [3]; this codec narrows it).

Functions§

decode_object_property_reference
Decode a whole property-value payload as the bare BACnetObjectPropertyReference member sequence: the members, read by decode_object_property_reference_at, must use all of data.
decode_object_property_reference_at
Decode the bare BACnetObjectPropertyReference members starting at offset, [0], [1] and the optional [2]; returns the reference and the offset just past its last member.
decode_setpoint_reference
Decode a whole property-value payload as the BACnetSetpointReference form, the frame read by decode_setpoint_reference_at, which must use all of data.
decode_setpoint_reference_at
Decode the BACnetSetpointReference frame at offset holding a reference: opening context tag 0, the bare members, which must fill the frame, and the closing tag. Returns the reference and the offset just past the closing tag; what follows is the caller’s to judge.
encode_object_property_reference
Encode the bare BACnetObjectPropertyReference member sequence: context-tagged [0]/[1] plus [2] when the reference is indexed.
encode_setpoint_reference
Encode the BACnetSetpointReference form: the reference inside an opening/closing context tag 0 frame (the production’s setpoint-reference [0] member).