BACnet.Protocol.BvlcFunction (bacstack v0.0.1)

View Source

Summary

Functions

Decodes BACnet Virtual Link Control Functions into a struct.

Encodes BACnet Virtual Link Control Functions into binary data.

Types

t()

@type t() :: %BACnet.Protocol.BvlcFunction{
  data:
    [BACnet.Protocol.BroadcastDistributionTableEntry.t()]
    | [BACnet.Protocol.ForeignDeviceTableEntry.t()]
    | (delete_foreign_device_table_entry ::
         BACnet.Protocol.ForeignDeviceTableEntry.t())
    | (read_broadcast_distribution_table :: nil)
    | (read_foreign_device_table :: nil)
    | (register_foreign_device :: non_neg_integer()),
  function: BACnet.Protocol.Constants.bvlc_result_purpose()
}

Functions

decode(bvlc_function, data)

@spec decode(non_neg_integer(), binary()) :: {:ok, t()} | {:error, term()}

Decodes BACnet Virtual Link Control Functions into a struct.

Supported are the following BVLC functions:

  • Delete-Foreign-Device-Table-Entry
  • Read-Broadcast-Distribution-Table
  • Read-Broadcast-Distribution-Table-Ack
  • Read-Foreign-Device-Table
  • Read-Foreign-Device-Table-Ack
  • Register-Foreign-Device
  • Write-Broadcast-Distribution-Table

encode(bvlc)

@spec encode(t()) ::
  {:ok, {bvlc_function :: non_neg_integer(), data :: binary()}}
  | {:error, term()}

Encodes BACnet Virtual Link Control Functions into binary data.

Supported are the following BVLC functions:

  • Delete-Foreign-Device-Table-Entry
  • Read-Broadcast-Distribution-Table
  • Read-Broadcast-Distribution-Table-Ack
  • Read-Foreign-Device-Table
  • Read-Foreign-Device-Table-Ack
  • Register-Foreign-Device
  • Write-Broadcast-Distribution-Table