ArtNet.Packet.ArtPoll (ArtNet v0.1.0)

View Source

Discovers Art-Net nodes on the network.

Controllers broadcast this packet to ask nodes to identify themselves. Nodes respond with ArtNet.Packet.ArtPollReply.

Packet layout

PartFieldDescriptionDefaultSizeFormat
Headeridfixed8 bytes"Art-Net\\0"
Headerop_code0x20002 byteslittle-endian OpCode
Headerprot_ver142 bytesprotocol version
Payloadtalk_to_mePoll reply behavior flags.required1 byteArtNet.Packet.BitField.TalkToMe bit field
PayloadpriorityMinimum diagnostic priority requested from nodes.:dp_all1 byteArtNet.Packet.EnumTable.Priority enum
Payloadtarget_port_address_topUpper bound of the targeted Port-Address range.02 bytesunsigned integer (16 bits)
Payloadtarget_port_address_bottomLower bound of the targeted Port-Address range.02 bytesunsigned integer (16 bits)
Payloadesta_manufacturerESTA manufacturer code filter for targeted polling.02 bytesunsigned integer (16 bits)
PayloadoemOEM code filter for targeted polling.02 bytesunsigned integer (16 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.ArtPoll{
  esta_manufacturer: :integer,
  oem: :integer,
  priority: ArtNet.Packet.EnumTable.Priority.type(),
  talk_to_me: ArtNet.Packet.BitField.TalkToMe.t(),
  target_port_address_bottom: :integer,
  target_port_address_top: :integer
}

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 0x2000.

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.