Expand description
Full ASN.1 framing codecs for constructed Clause-21 types whose property values are CHOICE/SEQUENCE productions — context-tagged framing per ASHRAE 135-2020 Clause 20.2.1.5/20.2.1.6.
These codecs encode to and decode from raw application-layer bytes, the
same bytes carried by bacnet_types::primitives::PropertyValue::ApplicationData.
Objects serve framed properties (e.g. Event_Parameters,
Fault_Parameters, Recipient_List) by encoding with these functions;
the flat application-tagged model in crate::primitives::encode_property_value
cannot express their wire form.
Tag-form rules applied here:
- A CHOICE alternative over a
SEQUENCEis an opening/closing context tag pair around the SEQUENCE’s members. - A CHOICE alternative over a primitive base type is a context-specific
primitive tag holding the raw contents (e.g.
none [0] NULL). - A context-tagged inner
CHOICEis always explicitly tagged: an opening/closing pair around the alternative’s own encoding. - Inner members declared
[n] Tover primitiveTare context-tagged primitives; innerSEQUENCE OF/ embeddedSEQUENCEmembers are constructed opening/closing pairs holding application-tagged elements.
Re-exports§
pub use cov_subscription::encode_cov_subscription;pub use cov_subscription::encode_cov_subscription_list;pub use event_parameter::decode_event_parameter;pub use event_parameter::encode_event_parameter;pub use fault_parameter::decode_fault_parameters;pub use fault_parameter::encode_fault_parameters;pub use object_property_reference::decode_object_property_reference;pub use object_property_reference::decode_setpoint_reference;pub use object_property_reference::encode_object_property_reference;pub use object_property_reference::encode_setpoint_reference;pub use recipient::decode_destination;pub use recipient::decode_destination_list;pub use recipient::decode_recipient;pub use recipient::encode_destination;pub use recipient::encode_destination_list;pub use recipient::encode_recipient;pub use staging::decode_device_object_reference;pub use staging::decode_stage_limit_value;pub use staging::encode_device_object_reference;pub use staging::encode_stage_limit_value;
Modules§
- cov_
subscription - Encode the constructed value carried by Device
Active_COV_Subscriptions. - event_
parameter BACnetEventParameterfull ASN.1 framing.- fault_
parameter BACnetFaultParameterfull ASN.1 framing.- object_
property_ reference BACnetObjectPropertyReferenceand itsBACnetSetpointReferencewrapper (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.- recipient
Recipient_Listfull ASN.1 framing (ASHRAE 135-2020 Clauses 12.21, 21).- staging
- Clause 21 codecs used by the Staging object.
Functions§
- decode_
audit_ log_ record - Decode a complete bare
BACnetAuditLogRecordfield sequence. - decode_
audit_ log_ record_ result_ at - Decode one adjacent result sequence starting at
offset. - decode_
audit_ notification_ at - Decode one bare
BACnetAuditNotificationstarting atoffset. - decode_
property_ state - Decode one
BACnetPropertyStatesCHOICE element atoffset. - encode_
audit_ log_ record - Encode one bare
BACnetAuditLogRecordfield sequence. - encode_
audit_ log_ record_ result - Encode one adjacent
BACnetAuditLogRecordResultsequence. - encode_
audit_ notification - Encode one bare
BACnetAuditNotificationfield sequence. - encode_
property_ state - Encode a
BACnetPropertyStatesusing the Standard 135-2020 Clause 21 tags. - validate_
tlv_ sequence - Validate a BACnet TLV sequence without normalizing its encoded values.