PacketUDP

Packs the data for each LED in sequence into a UDP packet, then sends it to a given IP/port.

Input Modes: Discrete 1D
Source Code

Supported Protocols

  • Raw: Outputs the LED data without any headers or packet splitting. Used by cnlohr’s ColorChord and most basic receivers.
  • TPM2.net: Outputs data packets as per the TPM2.net spec, see here, and TPM2 info in German. Usable with WLED. Can split packets for many more LEDs.
  • E1.31: Outputs the LED data in packets as per the E1.31 spec. Useful for DMX systems.

Common to all Protocols

Option NameTypeDefaultRangeControllableDescription
Typestring“PacketUDP”Required: Specifies this output type.
NamestringAny unique nameRequired: A unique identifier used to attach controllers.
VisualizerNamestringValid visualizer instance nameRequired: The Name property of the visualizer instance to attach to.
Protocolstring“Raw”Supported protocols from list aboveDetermines how packets are formatted and split. See below for supported protocols. cnlohr’s version only supports “Raw”.
IPstring127.0.0.1Valid IPsThe IP to send the packets to.
Portint77770~65535The port to send the packets to.
LEDPatternstring“RGB”Any valid patternThe order in which to send data for each LED. Any combination of characters R, G, B, Y is valid, in any order, including repetition. Number of characters determines how many bytes each LED takes up in the packet.
ZigZagboolfalseWhether to reverse every odd line of the output for zig-zag wired LED arrays.
MirrorboolfalseWhether the LED matrix wiring runs left-to-right (false) or right-to-left (true).
RotatedArrayboolfalseRotates the LED data 180 degrees for an upside-down matrix.
SizeXint1How wide the LED matrix is. Leave as default if you’re not using a matrix, otherwise specify correctly.
SizeYint1How tall the LED matrix is. Leave as default if you’re not using a matrix, otherwise specify correctly.
StartIndexint00~Where in the visualizer data to start reading when putting data into the packet. Use this if you want the packet to only contain a subset of the visualizer data.
EndIndexint-1-1~Where in the visualizer data to stop reading when putting data into the packet. Use this if you want the packet to only contain a subset of the visualizer data. -1 means read to the end, regardless of data amount.
EnablebooltrueWhether to use this output.

Configuring an LED Matrix

If you are outputting to an LED matrix, there are several options available to help you make sure the output is correct.

Looking at your LED matrix from the front, match how it is wired with one of the images below to find the correct options for your setup:


ZigZag = false
Mirror = false
RotatedArray = false

ZigZag = false
Mirror = true
RotatedArray = false

ZigZag = false
Mirror = false
RotatedArray = true

ZigZag = false
Mirror = true
RotatedArray = true

ZigZag = true
Mirror = false
RotatedArray = false

ZigZag = true
Mirror = true
RotatedArray = false

ZigZag = true
Mirror = false
RotatedArray = true

ZigZag = true
Mirror = true
RotatedArray = true

Protocol-Specific Configs

Raw

Option NameTypeDefaultRangeControllableDescription
PaddingFrontint00~1000Number of padding bytes to append to the front of the packet.
PaddingBackint00~1000Number of padding bytes to append to the back of the packet.
PaddingContentint00~255What data to put in the padding bytes at the start and end, if present.

TPM2.net

Option NameTypeDefaultRangeControllableDescription
PaddingContentint00~255What data to put in the padding bytes at the start and end, if present.
MaxPacketLengthint-1-1~65535The maximum size of packets before splitting. -1 means use protocol specified limit (1490).
ConstantPacketLengthboolfalseWhether to make all packets the same size, filling blank space with PaddingContent.

E1.31 (sACN)

Option NameTypeDefaultRangeControllableDescription
Universeint11~63999The DMX universe to address packets to.
UUIDhex string9E917B13714044CFB46F7A8298692DE3any 16-byte hex stringUnique sender ID. Change this if you have multiple instances of ColorChord.NET on the network.