BACnet.Protocol.Services.Protocol protocol (bacstack v0.0.1)

View Source

Summary

Types

t()

All the types that implement this protocol.

Functions

Get the service name atom.

Whether the service is of type confirmed or unconfirmed.

Get a service request APDU for this service.

Types

t()

@type t() :: term()

All the types that implement this protocol.

Functions

get_name(service)

@spec get_name(t()) :: atom()

Get the service name atom.

is_confirmed(service)

@spec is_confirmed(t()) :: boolean()

Whether the service is of type confirmed or unconfirmed.

to_apdu(service, request_data)

Get a service request APDU for this service.

For confirmed service requests, the following keys default to specific values, if not specified:

  • segmented_response_accepted: true
  • max_segments: :more_than_64
  • max_apdu: 1476
  • invoke_id: 0

These keys can be overriden through request_data. request_data may be ignored for unconfirmed services.

When setting max_segments, do not use :unspecified because it makes it for the server unable to determine if the response is transmittable or not. Thus :unspecified might be as low as maximum two segments. For that reason, always use a specific max segments or :more_than_64.