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 ::= SEQUENCE {
object-identifier [0] BACnetObjectIdentifier,
property-identifier [1] BACnetPropertyIdentifier,
property-array-index [2] Unsigned OPTIONAL -- used only with array datatype
}
BACnetSetpointReference ::= SEQUENCE {
setpoint-reference [0] BACnetObjectPropertyReference OPTIONAL
}Every member is context-tagged, so a property write 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. 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 [super::decode_dopr_body] codec accepts
[3]; this codec narrows it).
Functions§
- decode_
object_ property_ reference - Decode a whole property-value payload as the bare
BACnetObjectPropertyReferencemember sequence. - decode_
setpoint_ reference - Decode a whole property-value payload as the
BACnetSetpointReferenceform: an opening/closing context tag 0 frame whose content is the bare reference, decoded withdecode_object_property_reference’s strictness. - encode_
object_ property_ reference - Encode the bare
BACnetObjectPropertyReferencemember sequence: context-tagged [0]/[1] plus [2] when the reference is indexed. - encode_
setpoint_ reference - Encode the
BACnetSetpointReferenceform: the reference inside an opening/closing context tag 0 frame (the production’ssetpoint-reference [0]member).