Facility Control

 View Only
  • 1.  Pull TSL Data From Carbonite Ultra/Ultrix

    Posted 12-15-2021 15:31
      |   view attached
    Hey All,

    Does anybody know how to pull TSL data from a Carbonite Ultra into a custom Dashboard control panel?

    In our facility we have two Carbonite Ultra switchers that I am trying to create a custom dashboard for. The two Ultras have the first 10 inputs hard wired to cameras but inputs 11-24 have inputs coming from an Ultrix. The Ultras receive TSL data from the Ultrix to populate the input names on the busmap for inputs 11-24. I'm trying to create a dashboard that shows (and allows and operator to select) the current source information taking the PST and PGM parameters for MiniME/MEs (using the appropraite OIDs from the bus screen found using the inspector tool). The issue I have though is that they only pull through the assigned input name on the switcher (e.g. S_in11, S_in12 etc) and not the TSL UMD name from the Ultrix (e.g. PC 1 Out).

    Is there an easy way to grab these TSL names for the appropriate sources or do I have to somehow poll the Ultrix for source names and match those to the switcher inputs somehow? At present I have overridden the constraints to get the appropriate naming but that won't work if the source input will change.

    Any ideas?

    Existing Code for one of the Projector snippets (the ultra context not included) :
    <table>
       <tr>
          <label bottom="0" left="0" name="Projector 1" right="0" style="txt-align:center;size:Big;" top="0"/>
       </tr>
       <tr>
          <simplegrid anchor="center" cols="1" style="bg#listbg;">
             <table>
                <tr>
                   <simplegrid hspace="20" vspace="20">
                      <param expand="true" fill="both" height="150" id="projector.1.current.source" oid="0xF97" rowspan="1" showlabel="false" style="txt-align:center;bdr#green;bdr:thick;" weightx="1.0" weighty="1.0" widget="label" width="250"/>
                      <param bottom="0" colspan="1" expand="true" fill="both" height="150" left="0" oid="0xF98" rowspan="1" showlabel="false" style="bdr#red;bdr:thick;txt-align:center;" top="0" weightx="1.0" weighty="1.0" widget="label" width="250"/>
                   </simplegrid>
                </tr>
             </table>
             <table>
                <tr>
                   <param constrainttype="INT_CHOICE" expand="true" height="60" id="bus-view" oid="0xF97" precision="0" showlabel="false" style="size:10;t:bg#red;f:bg#buttonbg;" width="80">
                      <constraint key="1010">PRESO 3</constraint>
                      <constraint key="1011">PRESO 4</constraint>
                      <constraint key="1012">PLAYOUT 3</constraint>
                      <constraint key="1013">PLAYOUT 4</constraint>
                      <constraint key="1014">LECTERN</constraint>
                      <constraint key="100">MEDIA 1</constraint>
                      <constraint key="101">MEDIA 2</constraint>
                      <task tasktype="ogscript"/>
                   </param>
                </tr>
                <tr>
                   <param constrainttype="INT_CHOICE" expand="true" height="60" id="bus-view" oid="0xF98" precision="0" showlabel="false" style="size:10;t:bg#green;f:bg#buttonbg;" width="80">
                      <constraint key="1010">PRESO 3</constraint>
                      <constraint key="1011">PRESO 4</constraint>
                      <constraint key="1012">PLAYOUT 3</constraint>
                      <constraint key="1013">PLAYOUT 4</constraint>
                      <constraint key="1014">LECTERN</constraint>
                      <constraint key="100">MEDIA 1</constraint>
                      <constraint key="101">MEDIA 2</constraint>
                   </param>
                </tr>
             </table>
          </simplegrid>
       </tr>
    </table>
    ​


    ------------------------------
    Matthew Shield
    Broadcast Engineer
    ------------------------------


  • 2.  RE: Pull TSL Data From Carbonite Ultra/Ultrix

    Ross Staff
    Posted 01-31-2022 13:32
    I asked someone on the switcher team, since I don't know much about TSL data.   He responded with:

    Well you don't "Pull it"..
    
    The TSL Protocol can be setup to send it out ..
    
    And all of the TSL Mapping is in our manuals.
    
    http://help.rossvideo.com/carbonite-device-db/Topics/Devices/UMD/TSL.html#TSL-Protocol_Ultra
    
    
    and to set it up they do that here:
    
    http://help.rossvideo.com/carbonite-device-db/Topics/Devices/UMD/TSL.html#topic.tsl

    Hopefully that will help you.

    Ben

    ------------------------------
    Ben Gatien
    Ross Video
    ------------------------------



  • 3.  RE: Pull TSL Data From Carbonite Ultra/Ultrix

    Posted 02-01-2022 07:59
    I haven't specifically pulled names from the TSL data, but I have used it to recall camera presets based on tally. Here's a code snippet from my grid file, which might be a bit hacky, but hopefully points you the right way. This moves a Panasonic PTZ camera to a preset number if it is not tallied. This requires the Dashboard tally listener to be enabled, and the switcher to be sending tally to the pc running Dashboard. You can see the tally status in Dashboard by looking here to ensure you are receiving the data:

    Also, I believe the event you are look for is
    tallyEvent.getText();


    Code snip (recallCamPreset function):

    <api name="recallCamPreset">//recallCamPreset 
    function recallCamPreset(cam, preset)
    {
    var tallyEvent = 0; //define tally event
    var presetnumber = params.getValue('param.cam' + cam + '.preset' + preset + 'num' , 0) //lookup value stored in parameter
    var recall = (presetnumber - 1);
    if (recall &lt; 10){
    var camrecall = ("0" + recall.toString());
    }
    else
    {
    var camrecall = recall.toString();
    }
    var tallyEvent = tallyservice.getTallyState([cam]);
    if (tallyEvent != null){
    if (tallyEvent.isRedRight())
    {
    ogscript.debug('CAM on PGM, will not move');
    //nothing to program
    }
    else
    {
    var url = 'http://' + params.getValue('param.cam' + cam + '.ip', 0) + '/cgi-bin/aw_ptz?cmd=%23R' + camrecall + '&amp;res=1';
    ogscript.debug("Sending " + url + " preset: " + recall);
    ogscript.asyncPost(url, null, null);
    if (params.getValue('param.PresetPVWEnable', 0) == 1){ //put it on preview? ?
    var source = cam; //used to handle any input offset from camera to switcher IO
    rosstalk.sendMessage(params.getValue('Carbonite_IPAddress', 0), 7788, "XPT " + "ME:0:PST" + ":" + "IN:" + source);
    ogscript.debug('Source ' + source + ' put on PVW');
    }
    }
    }
    else
    {
    ogscript.debug('No tally data available, recall command ignored');
    }
    }</api>


    ------------------------------
    Dave Whitehead
    Enterprise Architect
    House of Commons
    Canada
    ------------------------------



  • 4.  RE: Pull TSL Data From Carbonite Ultra/Ultrix

    Posted 02-03-2022 17:50

    I appreciate the help - I had forgotten about Dashboard's tally listener.
    That being said, the workaround I have created thus far is to set the switcher input names to match the Ultrix destination database for switcher inputs 11-24. I then load the Ultrix sources and destinations into two parameters and then match the switcher input names to the sources feeding those inputs by utilizing the Ultrix "get crosspoint source" request. I can then replace the bus map text with a replace constraint function. If there is an easier/more efficient option than this, I'd love to know.

    I appreciate the tally code you have used for your cameras and a preset recall. It has given me one or two more ideas and that I might introduce similar functionality in a future version.



    ------------------------------
    Matthew Shield
    Broadcast Engineer
    ------------------------------