Controlling Cr8stron DM Switch from AMX

Hey,

I have been asked to control the Cr8stron DM Switch from an AMX control system. According to Cr8stron you must use their controller. I did some poking around and found that you can control if from any control system.

You simply open a TCP/IP connection to port 41795 of their DM Switch and use the following commands. This turns out to be thier console port, and you can also get help on these commands by typing help.

SETAVROUTE
SETVIDEOROUTE
SETAUDIOROUTE
SETUSBROUTE

To get Status on the routes
DUMPDMROUTEI

Have Fun!

Comments

  • AV ControlGroupAV ControlGroup Junior Member Posts: 4
    Controlling Cr8stron DM Switch from AMX

    John,

    Thats very cool and handy information. And really that goes to heart of any ******** device that is IP based comms.

    Love your work.
  • patbpatb Junior Member Posts: 140
    For those of us without a $10k+ DM switcher sitting readily at their desk to play with, what is the actual protocol for making a switch? I've run across a case recently where this would be useful to know.
  • champchamp Junior Member Posts: 261
    Hi

    After struggling to do this I thought I'd share the secret bit that they don't mention.

    In a DM 8x8 and 16x16 frame the ouptut slots start at 17 and for a 32x32 the output slots start at 33 so to route audio and video from input 1 to output 1 on a 8x8 or 16x16 send the following command:

    SEND_STRING dvVIDEO_SWITCH, "'SETAVROUTE 1 17',$0d,$0a" // input 1 to output 1 on an 8x8 or 16x16
    SEND_STRING dvVIDEO_SWITCH, "'SETAVROUTE 1 18',$0d,$0a" // input 1 to output 2 on an 8x8 or 16x16

    ...and for a 32x32...

    SEND_STRING dvVIDEO_SWITCH, "'SETAVROUTE 1 33',$0d,$0a" // input 1 to output 1 on a 32x32
    SEND_STRING dvVIDEO_SWITCH, "'SETAVROUTE 1 34',$0d,$0a" // input 1 to output 2 on a 32x32

    If you want to control the endpoints (ie send a serial string out of the com port of a DM-RMC100) you will have to wireshark it and send the actual CIP command string which is a lot more work to figure out.


    champ
  • vincenvincen Junior Member Posts: 526
    Thanks for the info, very interesting to know ;)
  • John MyersJohn Myers Junior Member Posts: 2
    champ wrote: »
    "If you want to control the endpoints (ie send a serial string out of the com port of a DM-RMC100) you will have to wireshark it and send the actual CIP command string which is a lot more work to figure out."

    Actually you can send strings out the RMC100 Port very easily.

    Open a TCPIP connection to port 41795 and use the console command...
    SEND_STRING socket.dvSocket,"'SENDSERIAL A Hello\x0d\x0a',13,10";
    

    If you want to receive the response, it is a little different.

    Turn on FDEBUG 19
    SEND_STRING socket.dvSocket,"'FDEBUG 19 ON',13,10"
    

    You will get responses like... Ascii Encoded Hex!

    **RMC[48656c6c6f0d0a]RMC**
    DEFINE_FUNCTION CHAR[500] DecodeHex(Char cString[])
    {
      STACK_VAR CHAR TString[500];
      STACK_VAR INTEGER nTemp, nPos;
    
      IF ((LENGTH_STRING(cString) % 2) == 0)
      {
        TString = '';
    
    		WHILE (LENGTH_STRING(cString))
    		{
    			TString = "TString,HEXTOI(GET_BUFFER_STRING(cString,2))";
    		}
      }
    
      RETURN TString;
    }
    
    
  • sethollesetholle Junior Member Posts: 66
    DM Control with amx

    I have found way easier to use a QMRMC connected to the dm and just use a serial cable between the amx and the C$$$$$$ton.

    We do this all the time for all sizes of systems. Then just make a basic protocol between them, SWITCH1TO8, whatever really and you are good to go.

    same for displays etc, DISPLAY1ON.

    Works very well.
    We are hoping some day that amx has something similiar, but for now they do not.
  • papadoukpapadouk Junior Member Posts: 58
    i wonder if there is a Cr3stron forum out there that has a similar thread talking about the AMX ICSP protocol.....
    :)
  • Mika SundstromMika Sundstrom Junior Member Posts: 1
    DM-RMC-201-S

    Have anyone tried to control DM-RMC-201-S? Is there a way to change between RGBHV and HDMI input?
    My setup is 4x DM-RMC-201-S, 8x DM-RMC-100-S, all connected to DM-MD8x8.
    It seems that I can open socket to 201-S but that is all.

    Mika
  • thomas.judthomas.jud Junior Member Posts: 32
    awake 201-C Thread

    Have anyone tried to control DM-RMC-201-S? Is there a way to change between RGBHV and HDMI input?
    My setup is 4x DM-RMC-201-S, 8x DM-RMC-100-S, all connected to DM-MD8x8.

    I've a few Information over his own port i.e. 50003 like telnet but no input selection... :-(
  • chillchill Luddite Posts: 186
    thomas.jud wrote: »
    Have anyone tried to control DM-RMC-201-S? Is there a way to change between RGBHV and HDMI input?
    My setup is 4x DM-RMC-201-S, 8x DM-RMC-100-S, all connected to DM-MD8x8.

    I've a few Information over his own port i.e. 50003 like telnet but no input selection... :-(

    Obviously it *can* be done, because Crestr0n does it. Maybe I'll wireshark this next time we have a DM in the shop.
  • chillchill Luddite Posts: 186
    Yes, Virginia...
    thomas.jud wrote: »
    Have anyone tried to control DM-RMC-201-S? Is there a way to change between RGBHV and HDMI input?
    My setup is 4x DM-RMC-201-S, 8x DM-RMC-100-S, all connected to DM-MD8x8.

    I've a few Information over his own port i.e. 50003 like telnet but no input selection... :-(

    I had the opportunity to play with a DM-TX-201-C and a DM-TX-201-S yesterday. Not the same box, but worth a try. Here's how:

    Open a TCP/IP connection to the TX box (not the main DM frame) on port 41795. Once the model number prompt appears, issue one of the following commands to change inputs.
    To set to auto-detect mode: joinsetanalog direct 2 0
    To go to the HDMI input: joinsetanalog direct 2 1
    To go to the RGBHV input: joinsetanalog direct 2 2

    I was not able to figure out how to query the current input.

    Hope this helps.
    .
  • DM switches with serial controll ??

    I dont know a ton about Cre$tron hardware, but I will be integrating a DM switcher in the near future, the kicker being...

    I see that the IP commands above work without issue, however the system ill be using, the AMX master is approved for a certain gov network, but the DM switch is not approved and may never be approved, so I can program a Cre$tron controller and talk through serial to that controller. My question is, ...is there a serial port card available for the DM switchers? I will be using both the 32x32 and 8x8 as well as the DVPHD 's which I beleive are serial already, so I should be good with them.

    Thoughts on this? Assume I know nothing about Cre$tron hardware (because this will be my first project with their gear)

    Thanks!
  • chillchill Luddite Posts: 186
    I'm pretty sure there is no RS-232 interface available for the DM cardframes or DMPS; not sure about the DVPHD.

    I've dealt with a few agencies like this. I see two ways around the issue.

    1) cheaper but possibly more hassle: Make a second network just for the DM, and add a little router between it and the agency network; then forward port 41795 to the DM side. However, if the SSO is being a hardass about the DM stuff, (s)he may well also be a hardass regarding any router they don't provide and control. Then again, maybe the hardassery is simply due to the number of IP addresses the DM will gobble - although that implies a level of cluefulness which would surprise me :^)

    2) more money, but maybe less pushback from the agency - add a second control processor just to handle the DM, and connect it to your main Netlinx via RS232 (design your own protocol). If this second processor should happen to be a Crestr0n, it will handle the DM natively and you'll have access to ALL the DM's features and functions, not just those we've been able to puzzle out.

    Hope this helps.
    .
  • Andrew G WelkerAndrew G Welker Junior Member Posts: 124
    Something to keep in mind is the Private Network Mode. If you are running a DM switch in private network mode, you will have to jump through a lot more hoops to get to the endpoints in the DM network.

    For those that don't know, private network mode essentially turns the DM switch into a router, eliminating the need for all of the IP addresses that chill mentioned. The DM switch gets an IP address on the network but only one. All of the transmitters and receivers attached to said DM switch get a 169.254.x.x address, with each widget being on a different TCP/IP port. I believe they start at 50000 with those ports.

    I'm not sure how you would access them through the DM switch's IP, as I've never had a reason to try. You should still be able to get to the switch itself, but not the transmitters and recievers.
  • Thanks guys,

    Chill, your option 2 is what we spec'd and I am waiting to come in, however I was hoping to make life easier.


    A third option I thought about but have never really looked into is a serial to IP conversion. I have seen third party hardware which you setup internally to recieve the serial transmissions and then open the IP connection, and forward them along and vice versa; this may be clumbsy and more work to do but it was worth thinking about in my opinion. ...in the end, IP is still serial communication with a few extra layers involved.

    Thanks for the help!
  • AV ControlGroupAV ControlGroup Junior Member Posts: 4
    Wireshark does it all

    Hi Guys,

    I have done a few projects now where AMX is controlling the DM Mid points and Transmitters. I also was able to volume control of the Analog outputs the other days. Client was wrapped, saved them a heap of money on extra gear.

    In short, any that you can do on DM Tools using Toolbox you can wireshark. You just need to filter the packets that go between your laptop runnings DM Tools and the DM Midpoint (ie Matrix)

    Here is a code sample of volume control of an output card.

    Communication is TCP/IP Port 23

    Don't use Port 41790 as DM Tools software uses that Port.

    DEFINE_CONSTANT
    INTEGER DM_OUT_DIV = 65535/80

    DEFINE_CALL 'SPEAKER AUDIO LEVEL' (INTEGER ZONE_, INTEGER LVL_)
    {
    // joinsetanalog 0x17 588 58162 , this is code that WireSharked
    // RANGE IS 0-65535
    // OUTPUT 1 WOULD BE 0x11
    // OUTPUT 2 WOULD BE 0x12
    // OUTPUT 7 WOULD BE 0x17 ETC
    // -80dB WOULD BE 0
    // 0dB WOULD BE 65535

    VOL_LVL[ZONE_] = LVL_

    SEND_COMMAND vdvMATRIX,"'joinsetanalog 0x1',ITOA(MATRIX_AUDIO_OUT[ZONE_]),' 588 ',ITOA(DM_OUT_DIV * LVL_),$0D"

    SEND_LEVEL PANEL_,ZONE_,LVL_

    }

    Hope this helps any one.

    Feel free to email me if you get stuck
Sign In or Register to comment.