diff -r d4ff49d86531 -r 18c461237630 src/dmx.c --- a/src/dmx.c Tue Dec 02 00:21:46 2014 +0200 +++ b/src/dmx.c Tue Dec 02 00:23:48 2014 +0200 @@ -39,17 +39,26 @@ // mark-after-break (MAB) dmx_high(); - dmx_pause(2); + dmx_pause(3); // min 2, recommended 3 } #include "dmx_frame.c" +/* + * Send out a full DMX packet, including the start-code frame and a frame for each channel given. + * + * Uses 3-bit mark-times between frames, since some fixtures don't seem happy with 2-bit mark-times. + */ static void dmx_packet (byte count, byte *out) { dmx_break(); dmx_frame(0); + dmx_pause(1); // MTBF 2+1 = 3 for (byte i = 0; i < count; i++) { dmx_frame(out[i]); + + // MTBF 2+1 = 3 + dmx_pause(1); } }