Home AMX User Forum AMX Technical Discussion

DGX Programming

Does anyone have any experience with the DGX-16 yet? I'd like to know if switching ins & outs is as easy as send_string 5001:1:0,'CI1O1T'.

Could someone post an example as to how to control this thing? We have four devices (I'm assuming blu-rays) that we need to output to 16 displays via HDMI. We (as of right now) only need to control each of the displays and none of the sources. So . . .

Why are there four outputs on a DXLink output board? Let's say I drop that into slot 1, and an HDMI input board in slot 2. Would a CI2O1T switch the input on the HDMI board to all the DXLinks on slot 1? Why are there four HDMI inputs on the input board? Is one slot one input / output?

To be honest - this new hardware doesn't make sense to my programming brain . . . help? Someone please explain this to me like you'd explain it to a six year old. :D

Comments

  • TurnipTruckTurnipTruck Posts: 1,485
    One board=4 inputs

    It uses the standard BCS protocol minus the T for take.

    Audio is on the same switching level since it's embedded in the same stream.

    Sent from my MB865 using Tapatalk
  • jjamesjjames Posts: 2,908
    Ok - so the 16 is NOT in relation to inputs and outputs, but how many cards it can take. Gotcha!

    So for this instance, of four HDMI inputs and sixteen HDMI outputs, I would only need 1 x HDMI input board and 4 x DXLink Output boards.

    Does each board come up as its own device? Are they like card frames in a 4x00, and you address them somehow? Still a little confused on how to actually integrate and switch stuff. I get that it's the BCS protocol, which is great, but if I have 16 x DXLink boxes throughout the store, how do I know which is Output 1, 2, 3, etc. I'd assume the DXLink boxes show up in the online tree to control the display?

    I'd really like to have most of this programmed before we go and install it, hence all the questions.
  • DHawthorneDHawthorne Posts: 4,584
    I've got one on order and will have it on my desk next week, so I've been studying up. According to the docs, you can do your switching by wrapping up the BCS command in a SEND_COMMAND to the device. Each box not only has it's own device, it has it's own master. SO if you have 16 of them, you just send the command to a different D:P:S. You could also send BCS directly to it's serial port, so you could connect a PC to it for testing control, setup, etc., or even a third-party controller (though I can't imagine doing that myself).

    I see no mention of feedback, but it's just a switch, no volume control or anything fancy, so I don't see that being too big of a deal. I imagine it reports it's state via BCS too, and you you would have to parse it, but I won't know that for sure until I get mine.
  • TurnipTruckTurnipTruck Posts: 1,485
    The DXLink cards are not being released for a while and information is at a minimum.

    If they work like the UTPro, each DXLink box would be a device with a port for serial and another for IR.

    My educated guess is:

    5002:1:0 is the master in the Enova
    5501:2:0 serial port of the first DXlink
    5501:3:0 IR port of the first DXLink
    5502:2:0 serial port of the second DXLink
    5502:3:0 IR port of the second DXLink
    and so on....
  • the8thstthe8thst Posts: 470
    One board=4 inputs
    It uses the standard BCS protocol minus the T for take.
    I feel dumb. I can attest to the fact that it works with T at the end of every command because I must have skimmed over that part of the manual.

    The other thing to note is that it is a native netlinx device, so you use send_command instead of send_string to control it.
    jjames wrote: »
    Ok - so the 16 is NOT in relation to inputs and outputs, but how many cards it can take. Gotcha!
    So for this instance, of four HDMI inputs and sixteen HDMI outputs, I would only need 1 x HDMI input board and 4 x DXLink Output boards.
    Does each board come up as its own device? Are they like card frames in a 4x00, and you address them somehow? Still a little confused on how to actually integrate and switch stuff. I get that it's the BCS protocol, which is great, but if I have 16 x DXLink boxes throughout the store, how do I know which is Output 1, 2, 3, etc. I'd assume the DXLink boxes show up in the online tree to control the display?
    I'd really like to have most of this programmed before we go and install it, hence all the questions.
    The 16 chassis supports 4 input boards and 4 output boards i.e. 16x16. You control it as a standard AP 16x16 matrix with the two exceptions mentioned above. I have also attached an online tree picture of a UTPro 8x8 matrix and I am pretty sure the DGX will appear the same way.
    The DXLink cards are not being released for a while and information is at a minimum.
    Where did you hear about the delays for the DXLink cards? I was talking to my rep last Friday and he said our DXLink DGX system would ship next week.
    I would love to hear any info that you have acquired.
  • DHawthorneDHawthorne Posts: 4,584
    I was told the DXLink would ship next week also, but since I need to actually install my system next week, I called to confirm, and was told they have been further delayed until April. AMX is willing to supply Gefen HD-baseT boxes to compensate as well as some EXB's with IR and RS-232, but I'm kinda bummed about it anyway ... the DXLink was so elegant, and now I have all these boxes to deal with.
  • the8thstthe8thst Posts: 470
    DHawthorne wrote: »
    I was told the DXLink would ship next week also, but since I need to actually install my system next week, I called to confirm, and was told they have been further delayed until April. AMX is willing to supply Gefen HD-baseT boxes to compensate as well as some EXB's with IR and RS-232, but I'm kinda bummed about it anyway ... the DXLink was so elegant, and now I have all these boxes to deal with.

    ****. That will be all.
  • AuserAuser Posts: 506
    DGX Audio Hell

    Argh! Now that I've had a chance to work with a DGX frame it seems obvious that AMX has rushed the product to market to counter the opposition's wildly successful product and hasn't ticked all the boxes.

    A couple of, ahem, minor limitations of the AMX vs Cr3stron product:

    - No audio breakaway
    - No USB breakaway
    - Can only extract/insert analogue audio on the first 16 audio inputs/outputs of a 32x32 frame
    - Passing of analogue audio seems to depend on the order equipment plugged into the frame is powered up - sometimes the frame won't pass audio until you cycle power to it. I've seen the frame severely distort audio passing through it from boot until the frame was power cycled as well.
    - If you unplug a display from a DX Link receiver, the analogue audio on the receiver will cease until you plug the display back in. Analogue audio extracted from the output port associated with the DXLink output on the DGX frame will continue though...

    The manual actually states that if you want audio breakaway, you have to wire 16 stereo audio extract ports on the input side to an audio matrix switcher and the outputs of that to 16 stereo audio insert ports on the output side of the DGX. Add another 16 hours of install and commissioning + $2k for the extra switcher.

    So far due to the audio inflexibility of the product, it has taken me about 3 days of design time to get the 32x32 system I'm working on to a design I believe may be workable.

    Ugh.
  • DHawthorneDHawthorne Posts: 4,584
    jjames wrote: »
    Does anyone have any experience with the DGX-16 yet? I'd like to know if switching ins & outs is as easy as send_string 5001:1:0,'CI1O1T'.

    That's pretty much it, except it's SEND_COMMAND (not string) and you need to send it to 5001:2, not 5001:1. A working line of code in my current project:

    SEND_COMMAND dvSwitchVideo, "'cl1i', ITOA(srcSourceData[nSource].nInput[VIDEO_INPUT]), 'o', sTrim(sOutputs), 't'" ;

    ... where the srcSourceData is a structure I use to track all my source data, and the end result of all that is just the input number, and sOutputs is a string I build to turn on multiple rooms at one time.

    I found it did not work if I didn't put the 't' on the end of the command. There might have been something else going on (I have a bad habit of doing several things at once when troubleshooting, and it may be that something other than the 't'was involved in fixing it), but the 't' certainly doesn't hurt anything.
  • Autopatch and ideal Module

    I have a project with 4 Autopatch matrixes:
    1 DGX 32x32
    1 20x4 Digital Audio
    2 18x18 Precis DSP

    I noticed that the current AMX Duet module is a resource hog and takes forever to initialize. I will probably use it only on the House Audio matrix as it provides good feedback. I am thinking about of using only straight send_commands or send_strings to the other Autopach matrixes including the DGX. This way the processing will be minimal. Is there a disadvantage of not using a module? Is there a disadvantage for not using a virtual device instead of the real physical device? I've interfaced with other Autopatch matrixes using the ‘other control system’ by straight strings and they have being work fine over the years. Any suggestions on these? Thanks!
  • TurnipTruckTurnipTruck Posts: 1,485
    No disadvantage to not using a module in general. Using modules just streamlines your main program and makes things more repeatable next time.

    Once you have one Duet module in the system, you will notice the slow-down effects. Try not to use any.

    Sent from my MB865 using Tapatalk 2
  • Ok. I am getting ready to start programming my first DGX 32x32 that has been ordered and have I have a quick question. I have a main Master (NXF) and want to know how to define the DGX on it. What is the best way to control it via BCS? RS-232 or IP? Here is may current definition:

    DEFINE_DEVICE
    // NXF - Slot 9 CARD (SER)= (309)
    dvDGXSwitcher = 309:1:0 // 32 x 32 AMX HDMI Switcher (RS232 9600,N,8,1) Connected to DGX RS-232

    Any other way, which is better? I want to use the simple BCS commands like:

    SEND_COMMAND dvDGXSwitcher, "'CL1I1O7T'" //DGX Video Switch Input 1 to Output 7

    Is the above correct? or there is a better way? Thanks!
  • sling100sling100 Posts: 123
    I'm in the process of programming a job with 2 32x32 DGX units on it.

    Each of the units has a master built into it, so you just hook them up and use M2M to control them - the DGX chassis being 5002 - control is on port 2.

    SEND_COMMAND 5002:2:2,'CL1I1O1T'

    It's that easy.

    Simon
  • amdpoweramdpower Posts: 110
    Damnit!

    Yay! I just found out about the audio breakaway issue as well. Along with... Can't send audio to an output unless there is video live. Can't send audio from a wallplate unless there is video live. Audio is embedded with the video stream. End of story. I doubt this will be able to be "fixed" in firmware either. Really sucks... I've got three DGX systems that we are installing because I really wanted to use AMX over Cr3stron.

    I have a suggestion for AMX. If there is no correction in firmware possible, I would create a custom Audio switch and custom AIE boards with small single multipin connectors. Make it 1RU (or 2 if you have to) and have it link natively with the DGX over the ENC Link connector (appears to be Ethernet anyway). At least give us a WAY to make this competitive with CTron.

    You also need to fix it so I don't need video at a wallplate! I can't hand out blackburst generators to customers so they can plug their MP3 players in!

    Can anybody else confirm / share their experience with these issues and the DGX? I'm just reading up right now but my 1st chassis will be here tomorrow.

    Thanks!
  • DHawthorneDHawthorne Posts: 4,584
    Ok. I am getting ready to start programming my first DGX 32x32 that has been ordered and have I have a quick question. I have a main Master (NXF) and want to know how to define the DGX on it. What is the best way to control it via BCS? RS-232 or IP? Here is may current definition:

    DEFINE_DEVICE
    // NXF - Slot 9 CARD (SER)= (309)
    dvDGXSwitcher = 309:1:0 // 32 x 32 AMX HDMI Switcher (RS232 9600,N,8,1) Connected to DGX RS-232

    Any other way, which is better? I want to use the simple BCS commands like:

    SEND_COMMAND dvDGXSwitcher, "'CL1I1O7T'" //DGX Video Switch Input 1 to Output 7

    Is the above correct? or there is a better way? Thanks!

    The DGX *is* a NetLinx master. If you want code to reside elsewhere instead of using it to run your code, you have to set it up M2M, then send your commands to the remote device. So if you make your DGX system 2, your dvDGXSwitcher has to point to 5002:1:2 . I wouldn't bother with the RS-232 port at all.
  • ericmedleyericmedley Posts: 4,177
    DHawthorne wrote: »
    The DGX *is* a NetLinx master. If you want code to reside elsewhere instead of using it to run your code, you have to set it up M2M, then send your commands to the remote device. So if you make your DGX system 2, your dvDGXSwitcher has to point to 5002:1:2 . I wouldn't bother with the RS-232 port at all.

    I bleive the processor in the DGX is the newer version that runs faster. I've been working on a couple and they do seem to run a lo faster.
  • TurnipTruckTurnipTruck Posts: 1,485
    I've done several systems with DGX and separate masters. I felt better about the code running on the external master as I believe the DGX is still a work in progress.... Especially if other system components besides video switching are counting on the code.

    For example:

    NI master is system number one
    DGX system is master number two

    1. Put the IP address of the DGX in the URL list of the NI
    2. In code residing on the NI, the DGX switcher is 5002:2:2

    All that is necessary and has worked very well for me.
  • @sling100 said:
    I'm in the process of programming a job with 2 32x32 DGX units on it.

    Each of the units has a master built into it, so you just hook them up and use M2M to control them - the DGX chassis being 5002 - control is on port 2.

    SEND_COMMAND 5002:2:2,'CL1I1O1T'

    It's that easy.

    Simon

    It was your plan to work. Does that work ? Please confirm since i am not able to execute SEND_COMMAND through Telnet.

    Switching is happening when i execute SEND_COMMAND through its serial port directly using DGX_SHELL..

  • I have only one DGX-1600. I am not able to execute SEND_COMMAND 5002:2:1, "'CL0I3O5T'" in Telenet. There was no response.

    Where as if i connect directly to Serial Port at backside of the DGX-1600. I am able to execute SEND_COMMAND 5002:2:1, "'CL0I3O5T'". I am getting a proper response and switching is happening.?

    Where i am missing ?

  • Try directing the switching commands to port 1 of the device.

Sign In or Register to comment.