Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. About DMX protocol

About DMX protocol

Scheduled Pinned Locked Moved C#
question
3 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    pocho2101
    wrote on last edited by
    #1

    Hello every body, I need to know how could I proceed to comunicate my PC by the rs232 port(serial port) with a ligthing table wich have DMX control. I mean, I need to know what is the format I have to use to comunicate my PC whit this table via rs232 and manipulate all ligths. I know that the insert port wich table have is a rs485 protocol, but if I can send my string from my PC to the table, what format I have to use?? What is the format of the RS485 protocol. Please, if some body knows what I have to do, I will very gratefull... Hola a todos, necesito saber como debo proceder para comunicar mi PC con una consola de luces, se que la consola tiene como protocolo el DMX y que el puerto de entrada es el rs485, pero si yo pongo un adaptador de señales desde mi puerto se serie (rs232) culal deberia ser el formato que deberia tener en cuenta para mover las luces que controla la consola? Es decir, cual es el protocolo que deberia usar para poder manipular dichas luces desde mi pc?? Por favor, si alguien psabe como hacerlo, les estare muy agadecido...

    V M 2 Replies Last reply
    0
    • P pocho2101

      Hello every body, I need to know how could I proceed to comunicate my PC by the rs232 port(serial port) with a ligthing table wich have DMX control. I mean, I need to know what is the format I have to use to comunicate my PC whit this table via rs232 and manipulate all ligths. I know that the insert port wich table have is a rs485 protocol, but if I can send my string from my PC to the table, what format I have to use?? What is the format of the RS485 protocol. Please, if some body knows what I have to do, I will very gratefull... Hola a todos, necesito saber como debo proceder para comunicar mi PC con una consola de luces, se que la consola tiene como protocolo el DMX y que el puerto de entrada es el rs485, pero si yo pongo un adaptador de señales desde mi puerto se serie (rs232) culal deberia ser el formato que deberia tener en cuenta para mover las luces que controla la consola? Es decir, cual es el protocolo que deberia usar para poder manipular dichas luces desde mi pc?? Por favor, si alguien psabe como hacerlo, les estare muy agadecido...

      V Offline
      V Offline
      Vasudevan Deepak Kumar
      wrote on last edited by
      #2

      This seems to be a good starting point: http://en.wikipedia.org/wiki/DMX512-A[^]

      Vasudevan Deepak Kumar Personal Homepage
      Tech Gossips
      A pessimist sees only the dark side of the clouds, and mopes; a philosopher sees both sides, and shrugs; an optimist doesn't see the clouds at all - he's walking on them. --Leonard Louis Levinson

      1 Reply Last reply
      0
      • P pocho2101

        Hello every body, I need to know how could I proceed to comunicate my PC by the rs232 port(serial port) with a ligthing table wich have DMX control. I mean, I need to know what is the format I have to use to comunicate my PC whit this table via rs232 and manipulate all ligths. I know that the insert port wich table have is a rs485 protocol, but if I can send my string from my PC to the table, what format I have to use?? What is the format of the RS485 protocol. Please, if some body knows what I have to do, I will very gratefull... Hola a todos, necesito saber como debo proceder para comunicar mi PC con una consola de luces, se que la consola tiene como protocolo el DMX y que el puerto de entrada es el rs485, pero si yo pongo un adaptador de señales desde mi puerto se serie (rs232) culal deberia ser el formato que deberia tener en cuenta para mover las luces que controla la consola? Es decir, cual es el protocolo que deberia usar para poder manipular dichas luces desde mi pc?? Por favor, si alguien psabe como hacerlo, les estare muy agadecido...

        M Offline
        M Offline
        muzes
        wrote on last edited by
        #3

        The DMX software protocol is described here: http://www.theater-technisch-lab.nl/dmxen.htm RS-485 is not actually a protocol but a hardware interface. It transmits data as the voltage difference between two data lines, rather than the absolute voltage on a single data line. Software wise, it is exactly like RS-232 but its maximum cable length is much further (roughly 1000M vs 12M). In other words, for DMX you cannot use your serial port, have to spend money on hardware. The cheapest I have found is the Enttec Open DMX controller. (USD) $60. If you are writing your own code this guy, Hippy, is a great start. http://members.westnet.com.au/rowanmac/opendmx.html He has an open source VB that shows how to write to the controller. One thing to watch out for is installing the driver for the controller. The included driver did not work for me on WinXP. But the following did: http://www.enttec.com/dmx\_usb/d2xx\_setup.exe Here is a quick and dirty C# class to run the Enttec OpenDmx usb controller: using System; using System.Runtime.InteropServices; using System.IO; using System.Threading; namespace Test { public class OpenDMX { public static byte[] buffer; public static uint handle; public static bool done = false; public static int bytesWritten = 0; public static FT_STATUS status; public const byte BITS_8 = 8; public const byte STOP_BITS_2 = 2; public const byte PARITY_NONE = 0; public const UInt16 FLOW_NONE = 0; public const byte PURGE_RX = 1; public const byte PURGE_TX = 2; [DllImport("FTD2XX.dll")] public static extern FT_STATUS FT_Open(UInt32 uiPort, ref uint ftHandle); [DllImport("FTD2XX.dll")] public static extern FT_STATUS FT_Close(uint ftHandle); [DllImport("FTD2XX.dll")] public static extern FT_STATUS FT_Read(uint ftHandle, IntPtr lpBuffer, UInt32 dwBytesToRead, ref UInt32 lpdwBytesReturned); [DllImport("FTD2XX.dll")] public static extern FT_STATUS FT_Write(uint ftHandle, IntPtr lpBuffer, UInt32 dwBytesToRead, ref UInt32 lpdwBytesWritten); [DllImport("FTD2XX.dll")] public static extern FT_STATUS FT_SetDataCharacteristics(uint ftHandle, byte uWordLength, byte uStopBits, byte uParity); [DllImport("FTD2XX.dll")] public static extern FT_STATUS FT_SetFlowControl(uint ftHandle, char usFlowControl, byte uXon, byte uXoff); [DllImport("

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • World
        • Users
        • Groups