Members | Sign In
All Forums > Hardware and LBE construction

Multiple Bridge DMX lighting (v1.70)

posted Jan 13, 2013 22:00:44 by ddurrand
Hello all!

Me and a friend hosted an Artemis night yesterday for ourselves and eight other newbies, and it was great fun and a great success! We ran both the Artemis and Intrepid with a crew of five each (we doubled science and communications).

Part of our setup was DMX lighting for the Artemis. It is my understanding that v1.70 only supports DMX lighting for one ship; however, the lighting last night seemed to be taking cues from both bridges. (Ex: even when Artemis was docked safely at DS2, if Intrepid took a hit our lighting would strobe.)

Is this just a function of the way 1.70 handles DMX cues? Or is there a way to ignore one bridge or the other in the lighting cues? If nothing else, would love to see a way to specify certain DMX channels to one bridge or the other.

Thank you!

(If it helps, I have included a diagram of our setup last night.)
page   1
13 replies
AlexVanPatten said Jan 16, 2013 22:31:24
While I can't help with it, I notice you are using a second light with channels 4-6. Could you please post the DMXcommands.xml you modified to use those additional channels? I'm sitting on two lights here and I'd love to get the second to work.
ddurrand said Jan 17, 2013 10:00:51
First, not a problem! Here: Edited DMXcommands.xml (Google Docs)

Second, if you just set your two lights to “3 Ch.” and “D1,” then they will both work with the default file.

My file was written for two Venue “Thinpar64” 10mm LED PAR lights (here is one place to purchase them); however, any LED PAR lights will work so long as they have a DMX input and accept 3 channel RGB mixing. Simply set the first light to “3 Ch.” mode and use “D1” as the channel, and set the second light to “3 Ch.” mode and use “D4” as the channel.

My file also modifies some of the default behaviors. Red alert now pulses and alternates between the two lights. (Not only is this good looking in my opinion, but you can also see the shield status ‘underneath’ the red alert, so no more guessing if shields are up or down when in red alert!) The tractored for dock now also pulses. Finally, getting shot at is more epic.

And, since I do stage lighting and crew work for a living, I can also give a rundown on how DMX works (some concepts are simplified when such doesn’t change the outcome or understanding):

* * *

DMX (DMX512, specifically) is a stage lighting industry standard digital protocol for controlling various lights and effects. The power of DMX is that, before its adoption, each manufacturer had a different standard for controlling their lights. This meant that components were not likely to be interchangeable (a nightmare when a new company thought of something new and cool, but you couldn’t control it without buying a whole new setup!).

DMX runs in “universes,” where each universe can output a maximum of 512 channels. Each channel is a single piece of numeric information, taking any value between 0 and 255. For the rest of this explanation (and for everything relating to Artemis), we can assume that we are staying within a single universe (meaning that we are not using more than 512 channels).

The DMX controller outputs all 512 channels along a single cable, and every light only reads this data (doesn’t modify or remove it from the stream). To attach more lights, simply daisy chain the lights together. In the example of two lights, we would have a DMX cable going from the controller to the input of the first light, then a second cable going from the output of the first light to the input of the second.

Because the full 512 channels are carried by the single cable and because this information is not modified by any lights in the daisy chain, the order of the lights does not matter. Every light in the daisy chain will receive exactly the same information. You should wire the DMX cables in the shortest and most convenient way, even if this means that the first light in your program is not the first light in the daisy chain.

But, then how does each light know what to do if the order of the daisy chain makes no difference? This is where the “3 Ch.” and “D1/D4” that we set on the lights themselves comes into play! Just because all 512 channels are transmitted along the entire daisy chain doesn’t mean that every light ‘listens’ to all 512 of those channels. We need to tell each light which channels are important and which are not.

By choosing “3 Ch.” we are telling the light to only listen to 3 channels out of the full 512 that it is receiving. By choosing “D1” we are telling the light to start listening on channel 1. In this example, the light is listening to channels 1, 2, and 3 (which is 3 total channels, starting on channel 1).

The second light is similar. We still want the light to listen to 3 channels, but we want a different 3 channels. So, we still choose “3 Ch.” but we give it a different starting number, in this case “D4.” The second light will now listen to channels 4, 5, and 6 (which is 3 total channels, starting on channel 4).

This can be done for any number of lights, so long as the total number of channels used by all the lights combined does not exceed our 512 maximum. Also, be sure that no channels overlap! If the first light is “3 Ch. / D1,” then the second light cannot be “3 Ch. / D3.” This would mean that DMX channel 3 is shared by both the first and second lights. (Nothing bad will happen. No lights will die, your house won’t burn down, and you won’t fry the motherboard. But, you will spend countless hours trying to figure out why your lighting looks wrong.)

If you move your Artemis setup from one place to another and you find that, in rewiring the lights, you have transposed the position of a few of the lights, don’t worry. There is no need to rewrite the DMX file. If the light on the left of the main screen used to be “D1” but you put the wrong light there and now it is “D4,” just change it to “D1.” You can achieve exactly the same lighting look with any light in any of the positions, so long as whichever light is where the old “D1”used to be is reprogrammed to be the new “D1,”etc.

Also, if you have more than one light that you want to be identical, meaning that under no circumstances do you ever want them to behave differently from each other, then you may assign them to ‘listen’ to the same channels. For example, if you always want the two lights on either side of the main screen to always be the same color, always flicker at the same time, etc., you may assign them both to “3 Ch. / D1” (or any D#).

* * *

Some of the above explanation has been simplified. A major simplification has been that I assume your lights can operate in a 3 channel mode, and that you have only two of them (or, specifically, you have only two different behaviors). If your lights cannot operate in 3 channel mode, then the concepts still remain the same; however, your starting channel numbers will change. A light that is in 7 channel mode will, obviously, need 7 channels. “7 Ch. / D14” would be a light listening to channels 14, 15, 16, 17, 18, 19, and 20.

Now, a bit of Artemis programming: Most lights use 3 channel mode for RGB mixing, meaning that the first channel controls the red value, the second controls the green value, and the third controls the blue value. So, if you would like to control light “3 Ch. / D7” and make it bright yellow, you would:

<setvalue index="6" value="255" change="0"/> <!-- red value of third light box -->
<setvalue index="7" value="255" change="0"/> <!-- green value of third light box -->
<setvalue index="8" value="000" change="0"/> <!-- blue value of third light box -->

Why are the index values 6, 7, and 8? Why not 7, 8, and 9? We told the light “D7,” right? So, why did we not start with an index of 7? There is no nice answer, just memorize the fact that the index value is always one lower than the channel. (Channel 1 has an index of 0, so therefore channel 2 has an index of 1, etc.)

Another common setting is 7 channel mode. I won’t go too much into this, but basically the channels are typically red, green, blue, macro, speed, mode, and dimmer. Macro is a color override of the RGB mixing, and serves little purpose here. Leave it at 0. Mode varies with each light, but 0 leaves the light in RGB mixing mode. You can experiment with different effect modes that your lights can do, if you desire. Assuming mode was set to 0, the speed channel will strobe the current color (set by either ‘red, green, and blue,’ or the ‘macro’). Finally, the dimmer channel will set the overall brightness of the entire light.

So, the same bright yellow we achieved above with “3 Ch. / D7” can be done with “7 Ch. / D7” by using the following:

<setvalue index="6" value="255" change="0"/> <!-- red value of third light box -->
<setvalue index="7" value="255" change="0"/> <!-- green value of third light box -->
<setvalue index="8" value="000" change="0"/> <!-- blue value of third light box -->
<setvalue index="9" value="000" change="0"/> <!-- macro value of third light box -->
<setvalue index="10" value="000" change="0"/> <!-- speed value of third light box -->
<setvalue index="11" value="000" change="0"/> <!-- mode value of third light box -->
<setvalue index="11" value="255" change="0"/> <!-- dim value of third light box -->

If we wanted to dim the bright yellow in 3 channel mode, we would need to edit the individual RGB values:

<setvalue index="6" value="120" change="0"/> <!-- red value of third light box -->
<setvalue index="7" value="120" change="0"/> <!-- green value of third light box -->
<setvalue index="8" value="000" change="0"/> <!-- blue value of third light box -->

But, in 7 channel mode, we can achieve the same result by either dimming the red and green equally as we did above, or:

<setvalue index="6" value="255" change="0"/> <!-- red value of third light box -->
<setvalue index="7" value="255" change="0"/> <!-- green value of third light box -->
<setvalue index="8" value="000" change="0"/> <!-- blue value of third light box -->
<setvalue index="9" value="000" change="0"/> <!-- macro value of third light box -->
<setvalue index="10" value="000" change="0"/> <!-- speed value of third light box -->
<setvalue index="11" value="000" change="0"/> <!-- mode value of third light box -->
<setvalue index="11" value="120" change="0"/> <!-- dim value of third light box -->

Those are some of the basics of 3 channel and 7 channel programming for Artemis. If you are still totally lost and want to do some of your own lighting programming, feel free to ask more specific questions. I assumed a basic knowledge of XML, and I know not everyone has that experience.

Also, if you can’t figure out how to set up your specific lights, post the names and I’ll pull up a PDF manual and walk you through it all.

* * *

TL;DR: DMX outputs 512 channels, and each light (regardless of the order in which they are wired together) only listens to a subset of those 512 channels. You need to tell each light how many channels to listen to, and on what channel to start. Typically, LED PAR lights will listen to either 3 or 7 channels. If, for example, a light is set to “3 Ch. / D4,” then that light will listen to channels 4, 5, and 6 (which are index numbers 3, 4, and 5 in the Artemis DMX XML file).
[Last edited Jan 17, 2013 10:04:32]
AlexVanPatten said Jan 17, 2013 10:40:00
Thank you so much! All makes perfect sense and in the end, the whole DMX address being 1 number less was all it took for me to get the stuff to work right. Coincidentally, I picked up the same light you have here earlier yesterday but I'm tempted to return it for two smaller lights so I can spread the effect around.
ddurrand said Jan 17, 2013 11:02:33
Totally! And, absolutely, grab whatever lights fit your venue and needs. Anything with DMX in/out will work with Artemis, including some strobe lights (which are *sometimes* cheaper then full LED PAR lights for damage effects, etc.), and some fog machines too! You could even pick up a DMX dimmer pack (though, they are not super cheap) to run regular lights (like household lamps, non-LED PAR lights, cheap Halloween lights, etc.). Here are a few examples: one, two, three.

My two light setup was a basic test setup. I actually have four of the ThinPAR64's, so once we can separate out the DMX signals from each bridge I hope to be able to run two ships, each with their own lighting. I'm really hoping v2.0 will include that feature. Or, at least, let us assign which bridge will be outputting the DMX signal. Until then, I just finished a new DMX XML file which runs the four lights in 7 channel mode on one bridge (still not useful for multiple bridge nights).

Now, here's to hoping someone can answer my original question... lol...
[Last edited Jan 17, 2013 11:04:26]
AlexVanPatten said Jan 17, 2013 11:04:13
Do you by chance have some links to very cheap DMX foggers? My group is hosting an Artemis tourney in PA next month and I'd love to have the bridge decked out. With it being a 250 person LAN Party, I'm sure it'll get some use.
AlexVanPatten said Jan 17, 2013 11:06:15
Add to that request, cheap DMX strobes? Sorry! I'll stop hijacking this thread. :)
ddurrand said Jan 17, 2013 11:13:54
I could try poking around for a cheap one. But, my only experience thus far with DMX foggers has been at work, which is basically only expensive theatrical grade stuff. :-/ I have more personal audio/visual equipment then most, but not a DMX fogger.

A quick search for DMX strobes looks like it'll be hard to spend less then you would on a LED PAR light. Found this: ADJ Flash Shot Restock. But, for that price might as well get a new SlimPAR 38. Or, for less: ADJ P36 (no idea on the quality of the ADJ P36, I've never seen them in real life).

There *might* be better prices than the MF website, but I've had great luck with them in the past for both personal/enthusiast grade audio and visual stuff.

Also, keep in mind that, unless you are only running one ship per server, the DMX seems to be taking cues from *EVERY* bridge and not separating them out. It will be *fog-tastic!*... which is why I asked the original question.
[Last edited Jan 17, 2013 11:28:24]
ddurrand said Jan 17, 2013 11:19:01
A good place to start looking might be (Again, sorry, but 'very cheap' + descent and not going to break after a month is not really my area of knowledge. I usually have the benefit of a theatrical budget behind me. :-P )
[Last edited Jan 17, 2013 11:21:12]
ddurrand said Jan 17, 2013 11:31:45
(Though, generally, I would stay away from ADJ stuff if you can. Just personal experience.)
MarkBell said Jan 17, 2013 15:12:51
That's interesting - my experience so far was that if you have a second DMX controller and light chain plugged into the second bridge's Main Screen computer, the DMX cues follow the second ship's status, etc. If you want a less expensive controller, the DMX protocol can also be transmitted through these converter cables (made by FTDI, which also makes the chip at the heart of the Open DMX box). Then, solder to one of these types of connectors and you should be in business.

At least, that's what I experienced at a massive LAN party a few months ago.
MichaelMesich said Jan 18, 2013 04:37:21
I'll have to check out your XML file as I've done pretty much a similar thing with mine! Two lights is really the way to go. It makes for much more dramatic damage flashing and I also like to keep Red Alert and Shield Status at the same time so that Red Alert actually gets used. :)

As to your original question, this isn't new behavior. This is how it worked in the previous version as well. Any ship damage gets registered on the server and flashes the lights.

Until the DMX cues get tied to the Main Screen instead of the Server we're kind of stuck.

Oh, and for foggers it turns out that if there's a DMX port on it, it automatically starts at $250. Sadly, a fogger doesn't work fast enough to use a DMX on/off interface for power into a fogger.

I think that's just what you have to invest to get a fogger on your daisy-chain.
ddurrand said Jan 18, 2013 05:20:58
Well, if you want my "true" DMX files, here they are: Two lights or four lights. (The file I posted originally was for 3 channel lights, because it's more universal.)

The first file above works with the two lights placed anywhere. The second file (four lights) works best if lights 2 (D17) and 3 (D33) are near the main screen, and lights 1 (D1) and 4 (D49) are in the back of the room facing forward (or somewhere they won't shine in anyone's eyes). Both of these files are for 7 channel PAR lights. All these parameters (and more) are at the top of the files in comments if you view them with an editor.

And, yeah, I've done a lot of testing today and it seems there is no external way to separate multiple bridge DMX outputs as is. Thanks for confirming. Here's hoping v2.0 changes that! :-)

($250 for a DMX fogger! Link? That is at least comparatively cheap... I've seen $1000+ units. And, I can confirm that any non-DMX fogger run off a DMX dimmer pack will never work how we want it to, because the DMX dimmer will trigger the fogger on at the moment of the effect, but the fogger needs a good 4+ minutes to warm up first.)
[Last edited Jan 18, 2013 05:25:47]
RussellAlbrightII said May 20, 2013 02:58:39

I have have Light o Rama controllers (CTB16PC) that apparently will function as DMX dimmer packs when put into a DMX environment. Have you ever worked with these controllers, will they work well with Artemis using a Enttec USB DMX adapter and then a 5 pin to CAT5 adapter (to adapt the cable to the Light o Rama's communication method)

Thank you
Login below to reply: