ArtNet.Packet.ArtDiagData (ArtNet v0.1.0)

View Source

Carries diagnostic and data logging text from a node.

The priority field classifies the diagnostic severity, and data contains the diagnostic payload bytes.

Packet layout

PartFieldDescriptionDefaultSizeFormat
Headeridfixed8 bytes"Art-Net\\0"
Headerop_code0x23002 byteslittle-endian OpCode
Headerprot_ver142 bytesprotocol version
Payloadfiller1Reserved byte, transmitted as zero.01 byteunsigned integer (8 bits)
PayloadpriorityDiagnostic priority level.required1 byteArtNet.Packet.EnumTable.Priority enum
Payloadlogical_portLogical port associated with the diagnostic data.01 byteunsigned integer (8 bits)
Payloadfiller3Reserved byte, transmitted as zero.01 byteunsigned integer (8 bits)
PayloadlengthNumber of diagnostic data bytes.required2 bytesunsigned integer (16 bits)
PayloaddataDiagnostic text or binary data bytes.requiredvariable (1 byte each)list of unsigned integer (8 bits)

Summary

Functions

Decodes a complete Art-Net binary as this packet type.

Encodes this packet struct into a complete Art-Net binary.

Builds a validated packet struct from a map or keyword list.

Builds a validated packet struct from a map or keyword list.

Returns the Art-Net OpCode value for this packet module.

Returns whether this packet includes the Art-Net protocol version header.

Returns the packet payload schema in declaration order.

Types

t()

@type t() :: %ArtNet.Packet.ArtDiagData{
  data: [:integer],
  filler1: :integer,
  filler3: :integer,
  length: :integer,
  logical_port: :integer,
  priority: ArtNet.Packet.EnumTable.Priority.type()
}

Functions

decode(data)

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

Decodes a complete Art-Net binary as this packet type.

encode(packet)

@spec encode(t()) :: {:ok, binary()} | :error

Encodes this packet struct into a complete Art-Net binary.

new(attrs)

@spec new(map() | Keyword.t()) :: {:ok, t()} | {:error, ArtNet.EncodeError.t()}

Builds a validated packet struct from a map or keyword list.

new!(attrs)

@spec new!(map() | Keyword.t()) :: t()

Builds a validated packet struct from a map or keyword list.

Raises ArtNet.EncodeError when validation fails.

op_code()

@spec op_code() :: pos_integer()

Returns the Art-Net OpCode value for this packet module.

The OpCode is 0x2300.

require_version_header?()

@spec require_version_header?() :: boolean()

Returns whether this packet includes the Art-Net protocol version header.

schema()

Returns the packet payload schema in declaration order.