Page 2 of 2 FirstFirst 12
Results 11 to 18 of 18

Thread: Noob E1.31 protocol question

  1. #11
    Join Date
    Nov 2009
    Location
    Brisbane - Australia
    Posts
    769

    Default Re: Noob E1.31 protocol question

    Traditionally, DMX512 was used to send up to 512 channels to dimmer packs in stage lighting applications. Each channel value (0..255) simply corresponded to the required intensity (0..100%) for the light(s) assigned to that channel. When other devices (such as moving heads) started using DMX512, the values were used for pan/tilt position and for gobo (pattern) selection, etc.

    The point is that DMX512 is just a group of 8 bit values in a frame. The values can vary each frame (for dimming / flashing, etc) but don't have any inherent meaning by themselves. It's up to the sender (lighting console or sequencing software) and the receiver (dimmer, pixel controller, moving head) to use that data in some predefined way.

    Feel free to ask more. That's how we all learn.
    David...

  2. #12

    Default Re: Noob E1.31 protocol question

    Thanks. I've had an understanding of the concept but not the concrete details. I was finally able to play with sequencing programs and figure out all the little details. One little issues is that the software, such as, Lightshow Pro, organizes R,G,B channels into a single RGB logical channel. But GE G-35 lights that I use also have a separate dimming value. Of course, I can just have 4 separate channels - R,G,B and level. But then I loose nice logical RGB organization. Either way, I have a very clear picture of DMX protocol (and E1.31 wrapper) in action.

  3. #13

    Default Re: Noob E1.31 protocol question

    Quote Originally Posted by firstone View Post
    Thanks. I've had an understanding of the concept but not the concrete details. I was finally able to play with sequencing programs and figure out all the little details. One little issues is that the software, such as, Lightshow Pro, organizes R,G,B channels into a single RGB logical channel. But GE G-35 lights that I use also have a separate dimming value. Of course, I can just have 4 separate channels - R,G,B and level. But then I loose nice logical RGB organization. Either way, I have a very clear picture of DMX protocol (and E1.31 wrapper) in action.
    I'm looking to do exactly the same with my Arduino. Are you planning to open-source your code, and if so, do you mind sharing it in its current form?

  4. #14

    Default Re: Noob E1.31 protocol question

    I have git projects set up. I just didn't include E1.31 code because it's so painfully slow, beyond unusable. But I should still have the code. I'll include it into the project and post the link.

  5. #15

    Default Re: Noob E1.31 protocol question

    Quote Originally Posted by firstone View Post
    I have git projects set up. I just didn't include E1.31 code because it's so painfully slow, beyond unusable. But I should still have the code. I'll include it into the project and post the link.
    Yeah, I saw some of your posts in a different thread. That's a shame. I'd still like to take a look at the code, so yes, if you can find it, please do post. Cheers!

  6. #16
    Join Date
    Nov 2008
    Location
    Kernersville, NC
    Posts
    1,995

    Default Re: Noob E1.31 protocol question

    Don't confuse the "pixel" protocol with the control protocol. For example, the E68x controller line uses E1.31, which is DMX over Ethernet. DMX just has values for each channel, and takes 3 channels to control pixels, using R, G and B values. Somewhere in the E68x controller, those RGB values get mapped to the GE protocol, that also indicates brightness on a 4th channel, I guess, from your description.

    The source code for the E680 is posted in a thread elsewhere in this section of the forum.
    Mark
    Kernersville, NC
    www.christmasinapplegate.com

  7. #17
    Join Date
    Dec 2010
    Location
    Avon Lake, OH
    Posts
    479

    Default Re: Noob E1.31 protocol question

    Quote Originally Posted by mschell View Post
    Don't confuse the "pixel" protocol with the control protocol. For example, the E68x controller line uses E1.31, which is DMX over Ethernet. DMX just has values for each channel, and takes 3 channels to control pixels, using R, G and B values. Somewhere in the E68x controller, those RGB values get mapped to the GE protocol, that also indicates brightness on a 4th channel, I guess, from your description.

    The source code for the E680 is posted in a thread elsewhere in this section of the forum.
    I think the 680 just sets the max brightness all of the time on the GE's. You use the color values to mix the color. I could be wrong here.

    Erik
    Give back to the site that has given so much, become a supporting member.

  8. #18

    Default Re: Noob E1.31 protocol question

    Ok, I've added E1.31 translation code to my project. The only thing that you might add is layers' length validation.

    The project is here: GECERemote

    This is how you would use it (just an example, won't necessarily compile):

    Code:
    #include "E131.h"
    
    E131 packet;
    
    void loop() {
    
      if (Udp.available()) {
    
        int len = Udp.readPacket(buf, BUF_SIZE);
    
        if (packet.validate(buf)) {
          for (int i = 0; i < packet.getLength(); i += 3) {
            uint8_t red = static_cast<uint8_t>(buf[E131::DATA_OFFSET + i]);
            uint8_t green = static_cast<uint8_t>(buf[E131::DATA_OFFSET + i + 1]);
            uint8_t blue = static_cast<uint8_t>(buf[E131::DATA_OFFSET + i + 2]);
          }
    
        }
    
      }
    
    }

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •