clj-artnet.impl.protocol.codec.domain.common

Common utilities shared across domain encode/decode modules.

compose-port-address

(compose-port-address net sub-net universe)

Compose a 15-bit port address from Net/Sub-Net/Universe values.

datarequest-type

(datarequest-type code)

Resolve data request type from code.

decode-generic-payload

(decode-generic-payload op buf)

Decode a generic Art-Net packet with an opaque payload.

encode-generic-packet!

(encode-generic-packet! buf op {:keys [data], :as packet})

Encode a generic Art-Net packet with an opaque payload.

encode-vlc-flags

(encode-vlc-flags {:keys [flags ieee? reply? beacon?]})

Encode VLC flags from map.

flag-set?

(flag-set? flags mask)

Check if the flag bit is set.

normalize-array

(normalize-array coll len)

Normalize a collection to vector of specified length.

normalize-ip

(normalize-ip ip)

Normalize IP address to vector of 4 bytes.

normalize-mac

(normalize-mac mac)

Normalize MAC address to vector of 6 bytes.

normalize-uid

(normalize-uid uid)

Normalize RDM UID to a vector of 6 bytes.

rdmsub-command-code

(rdmsub-command-code {:keys [command-class command]})

Resolve RDM sub command code from a packet map.

resolve-datarequest-code

(resolve-datarequest-code {:keys [request request-code request-type], :as packet})

Resolve data request code from packet map.

split-port-address

(split-port-address port-address)

Split a 15-bit port address into {:net :sub-net :universe}.

trigger-key-byte

(trigger-key-byte {:keys [key key-type], :as packet})

Resolve trigger key byte from packet map.