View Source KNXex.DIB (knxex v0.1.0)

KNX Data Information Block (DIB).

Implements parsing/decoding of DIBs.

Link to this section Summary

Types

Data Information Block.

Service Family name.

Functions

Encodes a single DIB into a binary.

Parses the DIBs from the given binary DIB data.

Link to this section Types

@type dib() ::
  {:device_info, KNXex.DIB.DeviceInfo.t()}
  | {:supported_svc_families, [{service_family_name(), version :: integer()}]}
  | {:ip_config, KNXex.DIB.IPConfig.t()}
  | {:ip_cur_config, KNXex.DIB.IPConfig.t()}
  | {:knx_addresses,
     {KNXex.IndividualAddress.t(), additional :: [KNXex.IndividualAddress.t()]}}
  | {:manufacturer_data, binary()}

Data Information Block.

Always a two-item tuple, with the first item being the DIB identifier and the second item being the DIB data.

@type service_family_name() ::
  :search_request
  | :search_response
  | :description_request
  | :description_response
  | :connect_request
  | :connect_response
  | :connectionstate_request
  | :connectionstate_response
  | :disconnect_request
  | :disconnect_response
  | :device_configuration_request
  | :device_configuration_ack
  | :tunneling_request
  | :tunneling_ack
  | :routing_indication
  | :routing_lost_message

Service Family name.

Link to this section Functions

@spec encode(dib()) :: binary()

Encodes a single DIB into a binary.

@spec parse(bitstring()) :: [dib()]

Parses the DIBs from the given binary DIB data.