ArtNet.Packet.BitField.Status3 (ArtNet v0.1.0)

View Source

Status3 bit field used by ArtNet.Packet.ArtPollReply.

This field reports newer discovery, RDMnet, LLRP, and failsafe capabilities.

Bit size

This bit field is encoded in 8 bits.

Bit layout

FieldDescriptionBitsDefaultValue
background_discovery_controlBackground discovery can be controlled.0falseboolean flag
background_queueBackground discovery queue is supported.1falseboolean flag
rdmnetRDMnet is supported.2falseboolean flag
port_direction_switchPort direction can be switched.3falseboolean flag
llrpLLRP is supported.4falseboolean flag
programmable_failsafeFailsafe behavior can be programmed.5falseboolean flag
failsafe_stateActive failsafe state reported by ArtNet.Packet.EnumTable.FailsafeState.6..7:hold_lastArtNet.Packet.EnumTable.FailsafeState enum (2 bits)

Summary

Functions

Returns the bit-field schema in declaration order.

Returns the total number of bits encoded by this bit field.

Decodes an unsigned integer into this bit-field struct.

Encodes this bit-field struct into an unsigned integer.

Types

t()

@type t() :: %ArtNet.Packet.BitField.Status3{
  background_discovery_control: :boolean,
  background_queue: :boolean,
  failsafe_state: ArtNet.Packet.EnumTable.FailsafeState.type(),
  llrp: :boolean,
  port_direction_switch: :boolean,
  programmable_failsafe: :boolean,
  rdmnet: :boolean
}

Functions

bit_field_schema()

@spec bit_field_schema() :: [
  {key :: atom(),
   {ArtNet.Packet.BitField.schema_type(),
    {start_bit :: non_neg_integer(), length :: pos_integer()}}}
]

Returns the bit-field schema in declaration order.

bit_size()

@spec bit_size() :: pos_integer()

Returns the total number of bits encoded by this bit field.

This bit field is encoded in 8 bits.

decode(value)

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

Decodes an unsigned integer into this bit-field struct.

encode(struct)

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

Encodes this bit-field struct into an unsigned integer.