Setting things up. Example: Three DMX lights at address 1,5,9 DMX lights are "Par38A" DIP switches light 1: dip 1 and 10 on light 2: dip 1, 3 and 10 on light 3: dip 1, 4, and 10 on each light has blue, green, red, and dimmer/stobe channels Wiring diagram between RS-485 port and 3-pin DIN connector on the DB9/10-pin connector, pins 1 and 6 are the X+/X- pins, pin 5 is ground on the DIN, pin 1 is ground, pin 2 is X-, pin 3 is X+ termination between X+ and X- may be required at end of the chain Running dmxctl demo if xuart being used, run xuartctl first! dmxctl --device /dev/<485 port> --demo EXPLANATION OF DMXCTL OPTIONS -l | --listen (seconds) captures DMX packets for the specified length of time, then prints out the events required to reproduce the DMX stream in the format used by the --replay option. After the specified number of seconds the events are printed on standard output. -r | --replay (file) reads events from the specified file and plays them over DMX -a | --autosend automatically sends DMX packets continuously, even if no events are changing the DMX state. the default is to only send a DMX packet when an event occurs. -c | --channels (num_channels) send the specified number of DMX channels. The default is the maximum of 512. Some devices may not correctly receive events if fewer than 512 channels are sent. -s | --server (port) daemonize and run as a server on the specified port. If not specified, the default port is 7033. in server mode, the daemon listens to a TCP stream on the specified port and looks for 8-byte commands. These commands are encoded in little-endian as a 32-bit value containing the number of hundredths of a second after start for the event to occur, a 16-bit value containing the channel number, an 8-bit value containing the value for the channel at that time, and an 8-bit command byte: u32 tick; u16 channel; u8 value; u8 command; The following commands are recognized: 0 = queue event 1 = ignore tick value, assign value immediately 2 = run all queued events at their specified times The server will return a one-byte value for each command which will increment sequentially for each command processed, and will roll over when it reaches 256. When command 2 is run, this value will not be returned until all queued events have been played. -d | --device port | device_file the --client option is required if --server is not used. Either a DMX server must be specified, or a local device file connect to (e.g.) an XUART. -i | --client port | device_file the --client option is required if --server is not used. Either a DMX server must be specified, or a local device file connect to (e.g.) an XUART. -m | --demo Play a demo DMX sequence to flash three DMX lights as described above