ArtNet. Packet. ArtFileTnMaster
(ArtNet v0.1.0)
View Source
Uploads a user file to a node.
The packet carries file transfer type, block identifiers, and one data block.
Packet layout
| Part | Field | Description | Default | Size | Format |
|---|---|---|---|---|---|
| Header | id | fixed | 8 bytes | "Art-Net\\0" | |
| Header | op_code | 0xF400 | 2 bytes | little-endian OpCode | |
| Header | prot_ver | 14 | 2 bytes | protocol version | |
| Payload | filler1 | Reserved byte, transmitted as zero. | 0 | 1 byte | unsigned integer (8 bits) |
| Payload | filler2 | Reserved byte, transmitted as zero. | 0 | 1 byte | unsigned integer (8 bits) |
| Payload | type | File transfer command type. | required | 1 byte | unsigned integer (8 bits) |
| Payload | block_id | Sequential block identifier for the transfer. | required | 1 byte | unsigned integer (8 bits) |
| Payload | length | Total file length in bytes. | required | 4 bytes | unsigned integer (32 bits) |
| Payload | name | File name associated with the transfer. | required | 14 bytes | null-padded string (14 bytes) |
| Payload | checksum | Checksum for the file transfer block. | required | 2 bytes | unsigned integer (16 bits) |
| Payload | spare | Reserved bytes, transmitted as zero. | <<0, 0, 0, 0>> | 4 bytes | binary (4 bytes) |
| Payload | data | File transfer data block. | required | 512 bytes | binary (512 bytes) |
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
@type t() :: %ArtNet.Packet.ArtFileTnMaster{ block_id: :integer, checksum: :integer, data: :binary, filler1: :integer, filler2: :integer, length: :integer, name: String.t(), spare: :binary, type: :integer }
Functions
Decodes a complete Art-Net binary as this packet type.
Encodes this packet struct into a complete Art-Net binary.
@spec new(map() | Keyword.t()) :: {:ok, t()} | {:error, ArtNet.EncodeError.t()}
Builds a validated packet struct from a map or keyword list.
Builds a validated packet struct from a map or keyword list.
Raises ArtNet.EncodeError when validation fails.
@spec op_code() :: pos_integer()
Returns the Art-Net OpCode value for this packet module.
The OpCode is 0xF400.
@spec require_version_header?() :: boolean()
Returns whether this packet includes the Art-Net protocol version header.
Returns the packet payload schema in declaration order.