DDF-Tutorial 4-Spot-Bar DMXC3

From English DMXC-Wiki
Books.png DDF-Tutorial 4-Spot-Bar DMXC3 Article describes
DMXControl 3.2.3
Arrow back.png LED Fixtures
Moving Head Arrow forw.png
Table of Contents
Part 1: Basics
Part 2: Functions
Part 3: Procedures
Part 4: Examples
Eurolite LED KLS-2500.png

In the second example, we focus on a 4-LED bar (not a strip), specifically the Eurolite KLS-2500. This 4-LED bar consists of four individual LED fixtures, all securely mounted on a bar. Each LED fixture can be freely positioned. This example builds partially on the first example for LED fixtures.

We have chosen this LED bar as an example because, firstly, it uses Penta-color LEDs. This means that each LED chip contains five different colors: red, green, blue, white, and amber. Secondly, this 4-LED bar has different DMX modes. We want to discuss the nuances involved in this example and therefore create DDF files directly for two DMX modes. At the same time, we will revisit parts from the first example.

Initial Data: the User Manual

Once again, let's start by examining the user manual. Here, in the "DMX Protocol" chapter, we notice that there are multiple tables detailing channel assignments. In total, there are seven different channel assignments (or DMX modes) possible.

Different channel assignments are usually provided to give you, the user, the choice of whether you want to control each fixture individually like a separate LED PAR fixture akin to example 1, using DMX. This corresponds to the 28-channel mode. The other alternative is to use the 3-channel mode to access the internal programs of the 4-LED bar and adjust brightness and playback speed.

In any case, it's important to note: whichever channel assignment you set on the device, you must add the corresponding DDF to your project in DMXControl 3. DMXControl doesn't know which channel assignment (DMX mode) you have activated on your device.

Channel Assignments

The channel assignments are printed in the user manual as follows. Here, we'll only focus on the two channel assignments for which we will create the DDF files.

3-Channel Mode

DMX Channel DMX Value Function
1 000 - 009 No function
010 - 029 Program 1
030 - 049 Program 2
050 - 069 Program 3
070 - 089 Program 4
090 - 109 Program 5
110 - 129 Program 6
130 - 149 Program 7
150 - 169 Program 8
170 - 189 Program 9
190 - 209 Program 10
210 - 229 Program 11
230 - 249 Program 0
250 - 255 Music control
2 000 - 255 Dimming from 0 – 100%
3 000 - 255 Program 0-11 execution speed slow → fast or
000 - 010 No microphone sensitivity
011 - 255 Microphone sensitivity low → high

23-Kanal-Modus ```

DMX Channel DMX Value Function
1 000 - 009 No function
010 - 029 Program 1
030 - 049 Program 2
050 - 069 Program 3
070 - 089 Program 4
090 - 109 Program 5
110 - 129 Program 6
130 - 149 Program 7
150 - 169 Program 8
170 - 189 Program 9
190 - 209 Program 10
210 - 229 Program 11
230 - 249 Program 0
250 - 255 Music control
2 000 - 255 Dimming from 0 – 100%
3 000 - 009 No function
010 - 255 Strobe slow → fast
4 000 - 255 Red 0 – 100% or

Execution speed slow → fast (if channel 1 is set to a program)

Spot 1
5 000 - 255 Green 0 – 100% or

Fade time fast → slow (if channel 1 is set to a program)

6 000 - 255 Blue 0 – 100%
7 000 - 255 Amber 0 – 100%
8 000 - 255 White 0 – 100%
9 000 - 255 Red 0 – 100% Spot 2
10 000 - 255 Green 0 – 100%
11 000 - 255 Blue 0 – 100%
12 000 - 255 Amber 0 – 100%
13 000 - 255 White 0 – 100%
14 000 - 255 Red 0 – 100% Spot 3
15 000 - 255 Green 0 – 100%
16 000 - 255 Blue 0 – 100%
17 000 - 255 Amber 0 – 100%
18 000 - 255 White 0 – 100%
19 000 - 255 Red 0 – 100% Spot 4
20 000 - 255 Green 0 – 100%
21 000 - 255 Blue 0 – 100%
22 000 - 255 Amber 0 – 100%
23 000 - 255 White 0 – 100%

Technical Specifications

What was already the case in the first example also applies to our second example. The channel assignment does not indicate the maximum strobe frequency of the LED PAR spotlight.

  • Power supply: 100-240 V AC, 50/60 Hz ~
  • Total power consumption: 190 W
  • DMX control channels: 2/3/4/7/20/23/28
  • DMX512 connection: 3-pin XLR
  • QuickDMX connection: 5-pin XLR
  • Music control: via built-in microphone
  • Number of LEDs: 28
  • LED type: 10-W-PCL (RGBAW)
  • Beam angle: 28°
  • TV pin: D = 28 mm
  • Music control: via built-in microphone
  • Maximum ambient temperature Ta: 45°C
  • Max. luminaire temperature in steady state TC: 75°C
  • Minimum distance to flammable surfaces: 0.50 m
  • Minimum distance to illuminated object: 0.10 m
  • Fuses: T3.15A/250V mains input, 2 x T5A/250V mains outputs
  • Dimensions (LxWxH): 1160 x 60 x 320 mm
  • Weight: 12 kg

Unfortunately, with these specifications, we cannot find any information about the maximum strobe frequency. Therefore, there are only two options available at this point to compile all the information for the DDF:

  • We estimate the maximum strobe frequency. Note: Values above 25 Hz make no sense, as our eyes can perceive these frequencies only as "on."
  • You already have another device where the maximum strobe frequency is known. Place both devices side by side and observe at which DMX value the 4-LED bar has the same strobe frequency as the "reference device." You may need to use mathematical calculations initially to determine the maximum strobe frequency of the 4-LED bar if it can strobe faster than the "reference device."

For now, let's estimate the maximum strobe frequency and take 18 Hz as the value. This value can be corrected later if necessary.

Programming Part 1: the 3-channel mode

As with the first example, we open our trusted text editor and create a new XML file. We start with the DDF for the 3-channel mode. It should be noted at this point that in all following examples, only details that have not already been extensively discussed in the preceding examples will be explained in more detail.

Basic Part

The first line is again:

<?xml version="1.0" encoding="utf-8"?>

In the element with the tag device, only a few details change compared to the first example. The image file is named Eurolite LED KLS-2500.png, and the device has 3 DMX channels in the current mode.

<device image="Eurolite LED KLS-2500.png" type="DMXDevice" dmxaddresscount="3" dmxcversion="3.2.3" ddfversion="1.0.0">


Information Part

The information part that we created in the first example is completely modified to reflect the details for the 4-LED bar. Special attention is given to the subordinate element mode, which we need for this device for the first time. Here, we provide a brief and clear description of the DMX mode for which we are creating the DDF. In this example, we enter 3 channel mode. If we later program the DDFs for the 23-channel mode and only the details in the mode element differ, DMXControl 3 will automatically categorize all DDFs under the LED KLS-2500. In addition, details about the channel mode are only provided in the mode element. The model element is reserved solely for the designation of the device, so information about channel assignment should not be entered there. Otherwise, the sorting of the individual DMX modes of a device will not work. Therefore, you should also check beforehand in the Device Manager or the DDFLib how the current or a similar device from the same manufacturer is named.

  <information>
    <model>LED KLS-2500</model>
    <vendor>Eurolite</vendor>
    <author>Stefan Kistner</author>
    <mode>3 channel mode</mode>
  </information>


Function Part

Channel for selecting internal programs

With the first DMX channel, you call up the internal programs of the 4-LED bar. As you can see from the channel assignment in the user manual, only the selection takes place on this channel. There is no adjustment of the internal programs via this channel. The appropriate element for calling up the individual programs is also the rawstep element. Since no explicit name is given, we name this channel Programs.

  <functions>
    <rawstep dmxchannel="0" name="Programs">
      <step caption="No function" mindmx="0" maxdmx="9" />
      <step caption="Program 1" mindmx="10" maxdmx="29" />
      <step caption="Program 2" mindmx="30" maxdmx="49" />
      <step caption="Program 3" mindmx="50" maxdmx="69" />
      <step caption="Program 4" mindmx="70" maxdmx="89" />
      <step caption="Program 5" mindmx="90" maxdmx="109" />
      <step caption="Program 6" mindmx="110" maxdmx="129" />
      <step caption="Program 7" mindmx="130" maxdmx="149" />
      <step caption="Program 8" mindmx="150" maxdmx="169" />
      <step caption="Program 9" mindmx="170" maxdmx="189" />
      <step caption="Program 10" mindmx="190" maxdmx="209" />
      <step caption="Program 11" mindmx="210" maxdmx="229" />
      <step caption="Program 0" mindmx="230" maxdmx="249" />
      <step caption="Sound-to-light" mindmx="250" maxdmx="255" />
    </rawstep>


Dimmer Channel

The second DMX channel is a simple dimmer channel in the 3-channel mode, used to control the brightness of the internal programs. In the XML code, you write this as follows:

    <dimmer dmxchannel="1" />


Channel for Speed of Internal Programs

At first glance, the third DMX channel may seem more complicated than it actually is. You can easily represent this DMX channel with a raw element in the DDF, as you only need one slider in both cases. The name of the slider, or the raw element, is Speed. To ensure that DMXControl 3 displays a slider in the Device Control, the subordinate element of the raw element must be a range element. The behavior of the slider is linear, which is the value for the attribute type. At DMX value 0, the speed of the internal programs is at its slowest – for simplicity, let's say at 0% here. These are the specifications for the attributes mindmx and minval. The maximum speed of simplified 100%` (attribute maxval) is reached at DMX value 255 (attribute maxdmx).

    <raw dmxchannel="2" name="Speed">
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="100" />
    </raw>


Procedures

In the 3-channel mode, the 4-LED bar does not have any special functions, such as initiating a device reset. Therefore, the Procedures element is completely omitted. Finally, the `<device>` element must be closed using the end tag `</device>`.

Programming Part 2: the 23-Channel Mode

Background Information to Get Started

Although the 23-channel mode is more extensive in terms of the number of DMX channels, if you look closely, you'll notice that Spots 2 to 4 are just copies of the first Spot. This brings us directly to why creating the DDF for the 23-channel mode might seem a bit more complicated at first glance: in the end, we're actually writing two DDFs for the 23-channel mode!

Multibeam and Pixel Mapping

The reason for this is what has been referred to in some places as "Multibeam" support. Multibeam refers to all devices where you can control more than one light beam per device individually. The devices also look completely different. The "Multibeam" topic is not limited to a specific type of device. Another keyword is "Pixel Mapping," which is also related to the Multibeam topic. Pixel mapping comes into play when you want to reproduce complex lighting effects on a large number of (usually) identical devices. Instead of manually programming these effects point by point (pixel by pixel), you use videos or animations and simply tell the lighting control which device should display which part of the video or animation. This defining process is called pixel mapping.

Typical devices with multiple light beams that are often included in pixel mapping are:

  • 4-LED bars with individually controllable LED fixtures
  • LED bars with individually controllable LEDs
  • Wash moving heads with LEDs as the light source
  • Various lighting effects
  • Digital LED strips


Important Hint Alternatively, the DDFs, especially for LED bars and wash-moving-heads with LEDs as the light source, in DMXControl 3 can also be defined as a matrix device. However, the method of control changes fundamentally here, as fanning over individual pixels of a matrix is not provided. How the DDF for the matrix variant looks is described in the article Matrix (DDF-Syntax DMXControl 3).


Multibeam and DMXControl 3

As mentioned earlier, Multibeam support is not integrated into DMXControl 3 at this time. However, to fully utilize the functionalities of the HAL for Multibeam devices today, you need to create multiple DDFs here. For our 4-LED bar from the current example, there are two DDFs for the 23-channel mode. The DDFs are divided into two categories:

  • Control DDF: This is where all functions that control the entire device are stored. For the 4-LED bar, these include the channel for calling up internal programs, the master dimmer for the entire device, and the strobe function. The Control DDF is present once per device in the project.
  • Beam DDF: The Beam DDF includes the functions that apply only to a single spotlight / light beam. In this case, these are the channels for controlling the red, green, blue, amber, and white LEDs. Unlike the Control DDF, you need to add the Beam DDF to your project multiple times – four times in this case, as the 4-LED bar has four spotlights.

Basic Part

Control DDF In the Control DDF, the basic part only changes in the number of DMX channels from 3 in the 3-channel mode to 5 in the Control DDF for the 23-channel mode. The reason we have five DMX channels here is that channels 4 and 5 are assigned differently depending on which function is selected on the first DMX channel. This is expressed in the manual by the note "if channel 1 is set to a program." Consequently, there will later be an overlap of these two DMX channels with the Beam DDF.

<?xml version="1.0" encoding="utf-8"?>
<device image="Eurolite LED KLS-2500.png" type="DMXDevice" dmxaddresscount="5" dmxcversion="3.2.3" ddfversion="1.0.0">


Beam DDF The Beam DDF starts with much less explanation: for each LED spotlight, five DMX channels need to be controlled. To distinguish the Beam DDF from the Control DDF better in the Stage View, we modify the icon. The image file is now named Eurolite LED KLS-2500 (Beam).png.

<?xml version="1.0" encoding="utf-8"?>
<device image="Eurolite LED KLS-2500 (Beam).png" type="DMXDevice" dmxaddresscount="5" dmxcversion="3.2.3" ddfversion="1.0.0">


Information Part

The Information Part differs only slightly for both DDFs. In the subordinate element mode, we add appropriate additions so that we always select the correct DDF when adding it.

Control-DDF

  <information>
    <model>LED KLS-2500</model>
    <vendor>Eurolite</vendor>
    <author>Stefan Kistner</author>
    <mode>23 channel mode (Control)</mode>
  </information>


Beam-DDF

  <information>
    <model>LED KLS-2500</model>
    <vendor>Eurolite</vendor>
    <author>Stefan Kistner</author>
    <mode>23 channel mode (Beam)</mode>
  </information>


Functional Section

In the functional section, we first discuss the Control-DDF. The last section then focuses on the Beam-DDF.

DMX Channels 1 and 2

Control-DDF When comparing the 3-channel mode with the 23-channel mode, you'll notice that DMX channels 1 and 2 are identical. Therefore, you can copy the XML code exactly into the file for the Control-DDF of the 23-channel mode.

  <functions>
    <rawstep dmxchannel="0" name="Programs">
      <step caption="No function" mindmx="0" maxdmx="9" />
      <step caption="Program 1" mindmx="10" maxdmx="29" />
      <step caption="Program 2" mindmx="30" maxdmx="49" />
      <step caption="Program 3" mindmx="50" maxdmx="69" />
      <step caption="Program 4" mindmx="70" maxdmx="89" />
      <step caption="Program 5" mindmx="90" maxdmx="109" />
      <step caption="Program 6" mindmx="110" maxdmx="129" />
      <step caption="Program 7" mindmx="130" maxdmx="149" />
      <step caption="Program 8" mindmx="150" maxdmx="169" />
      <step caption="Program 9" mindmx="170" maxdmx="189" />
      <step caption="Program 10" mindmx="190" maxdmx="209" />
      <step caption="Program 11" mindmx="210" maxdmx="229" />
      <step caption="Program 0" mindmx="230" maxdmx="249" />
      <step caption="Sound-to-light" mindmx="250" maxdmx="255" />
    </rawstep>
    <dimmer dmxchannel="1" />


Strobe Channel

Control-DDF For the strobe channel, it's important to note that the strobe function is activated on DMX channel 3 only from DMX value 10 onwards. You must convey this information to DMXControl accordingly. You add another subordinate element to the strobe element, the step element. Here, by using the value open for the type attribute, you indicate that the strobe function is deactivated between DMX values 0 for mindmx and 9 for maxdmx, and thus the light is output normally. Adjust the values for the range element according to the user manual and technical specifications.

    <strobe dmxchannel="2">
      <step type="open" mindmx="0" maxdmx="9" />
      <range type="linear" mindmx="10" maxdmx="255" minval="0.1" maxval="18" />
    </strobe>


Channel for Speed

Control-DDF The fourth DMX channel corresponds to the third DMX channel of the 3-channel mode, with the only difference being that, according to the user manual, this DMX channel is exclusively used to adjust the speed of the programs. The adjustment of microphone sensitivity is omitted. Also, we ignore that we can control the red LEDs of the first fixture via this DMX channel. Therefore, you can completely copy the XML code for this DMX channel from the DDF for the 3-channel mode.

    <raw dmxchannel="3" name="Speed">
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="100" />
    </raw>


Channel for Fade Time

Control-DDF Like the fourth DMX channel, the fifth DMX channel is also created as a raw element. We name the DMX channel Fade time. We keep the attributes type, mindmx, and maxdmx the same as for the fourth DMX channel. However, for the minval and maxval attributes, we can now consider whether to simply specify a percentage from 0% to 100%. The alternative is to estimate the minimum and maximum fade times, i.e., the time it takes to switch between two colors. We enter these estimated times as values for minval and maxval.

    <raw dmxchannel="4" name="Fade time">
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="100" />
    </raw>


Since the fifth DMX channel is the last DMX channel in this DDF, we add the end tag </functions> to properly close the element.

Color Channels

Beam-DDF In the functional part of the Beam-DDF, we have only one element, as with this element we only need to control the LEDs with their five different colors. The required element for this is the rgb element. Please don't be confused by the fact that the element is called rgb even though we are adding more than three colors to this element. The name refers more to the type of color mixing. The rgb element consists of several subordinate elements for the individual colors – in the current example, there are five. In the subordinate elements, we first specify the corresponding DMX channels. Further details are usually not required here.

  <functions>
    <rgb>
      <red dmxchannel="0" />
      <green dmxchannel="1" />
      <blue dmxchannel="2" />
      <amber dmxchannel="3" />
      <white dmxchannel="4" />
    </rgb>


At this point, an important note: After adding the device to a project, the white LED is not controlled by default. In the properties of the device, accessible for example via the Stage View, under the entry White Automix Mode, the behavior for each device can be adjusted individually:

  • None: No control of the white LED (default setting)
  • Add white: All four LEDs at 100% for the white color
  • Only white: Only white LEDs at 100% for the white color

Again, it is necessary to close the functions element after defining all DMX channels with the end tag </functions>.

Procedures

Even in 23-channel mode, the 4-LED bar does not have any special functions, so we do not need any procedures in both DDFs. The element for procedures is completely omitted. As usual, we close the DDFs with the end tag </device>.

Result: the finished DDFs

3-Channel Mode

The DDF for the 3-channel mode of the Eurolite LED KLS-2500 looks like this:

<?xml version="1.0" encoding="utf-8"?>
<device image="Eurolite LED KLS-2500.png" type="DMXDevice" dmxaddresscount="3" dmxcversion="3.2.3" ddfversion="1.0.0">
  <information>
    <model>LED KLS-2500</model>
    <vendor>Eurolite</vendor>
    <author>Stefan Kistner</author>
    <mode>3 channel mode</mode>
  </information>
  <functions>
  <functions>
    <rawstep dmxchannel="0" name="Programs">
      <step caption="No function" mindmx="0" maxdmx="9" />
      <step caption="Program 1" mindmx="10" maxdmx="29" />
      <step caption="Program 2" mindmx="30" maxdmx="49" />
      <step caption="Program 3" mindmx="50" maxdmx="69" />
      <step caption="Program 4" mindmx="70" maxdmx="89" />
      <step caption="Program 5" mindmx="90" maxdmx="109" />
      <step caption="Program 6" mindmx="110" maxdmx="129" />
      <step caption="Program 7" mindmx="130" maxdmx="149" />
      <step caption="Program 8" mindmx="150" maxdmx="169" />
      <step caption="Program 9" mindmx="170" maxdmx="189" />
      <step caption="Program 10" mindmx="190" maxdmx="209" />
      <step caption="Program 11" mindmx="210" maxdmx="229" />
      <step caption="Program 0" mindmx="230" maxdmx="249" />
      <step caption="Sound-to-light" mindmx="250" maxdmx="255" />
    </rawstep>
    <dimmer dmxchannel="1" />
    <raw dmxchannel="2" name="Speed">
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="100" />
    </raw>
  </functions>
</device>


23-Channel Mode

Control-DDF

<?xml version="1.0" encoding="utf-8"?>
<device image="Eurolite LED KLS-2500.png" type="DMXDevice" dmxaddresscount="5" dmxcversion="3.2.3" ddfversion="1.0.0">
  <information>
    <model>LED KLS-2500</model>
    <vendor>Eurolite</vendor>
    <author>Stefan Kistner</author>
    <mode>23 channel mode (Control)</mode>
  </information>
  <functions>
    <rawstep dmxchannel="0" name="Programs">
      <step caption="No function" mindmx="0" maxdmx="9" />
      <step caption="Program 1" mindmx="10" maxdmx="29" />
      <step caption="Program 2" mindmx="30" maxdmx="49" />
      <step caption="Program 3" mindmx="50" maxdmx="69" />
      <step caption="Program 4" mindmx="70" maxdmx="89" />
      <step caption="Program 5" mindmx="90" maxdmx="109" />
      <step caption="Program 6" mindmx="110" maxdmx="129" />
      <step caption="Program 7" mindmx="130" maxdmx="149" />
      <step caption="Program 8" mindmx="150" maxdmx="169" />
      <step caption="Program 9" mindmx="170" maxdmx="189" />
      <step caption="Program 10" mindmx="190" maxdmx="209" />
      <step caption="Program 11" mindmx="210" maxdmx="229" />
      <step caption="Program 0" mindmx="230" maxdmx="249" />
      <step caption="Sound-to-light" mindmx="250" maxdmx="255" />
    </rawstep>
    <dimmer dmxchannel="1" />
    <strobe dmxchannel="2">
      <step type="open" mindmx="0" maxdmx="9" />
      <range type="linear" mindmx="10" maxdmx="255" minval="0.1" maxval="18" />
    </strobe>
    <raw dmxchannel="3" name="Speed">
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="100" />
    </raw>
  </functions>
</device>


Beam-DDF

<?xml version="1.0" encoding="utf-8"?>
<device image="Eurolite LED KLS-2500 (Beam).png" type="DMXDevice" dmxaddresscount="5" dmxcversion="3.2.3" ddfversion="1.0.0">
  <information>
    <model>LED KLS-2500</model>
    <vendor>Eurolite</vendor>
    <author>Stefan Kistner</author>
    <mode>23 channel mode (Beam)</mode>
  </information>
  <functions>
    <rgb>
      <red dmxchannel="0" />
      <green dmxchannel="1" />
      <blue dmxchannel="2" />
      <amber dmxchannel="3" />
      <white dmxchannel="4" />
    </rgb>
  </functions>
</device>