1

Topic: RATC2 RAW

RATC2 RAW is potentially very useful, but it is hard to find information about it. In RATC2 as in RATC1 devices are identified by their control groups as in MWare. in RATC2 RAW, devices are identified by their internal device id, which can be seen in the Nware Inspector fields. This is very useful, as using control groups in Nware to allow remote control access on a large scale is very very tedious. RATC2 RAW, removes this layer, presumably speeding up the reponses as a result.

here is part of the response to a controlList command, for 5 boolean controls:-

"//devices/31/controls/control_1"
"//devices/31/controls/control_2"
"//devices/31/controls/control_3"
"//devices/31/controls/control_4"
"//devices/31/controls/control_5"

..and here is a control being activated :-

cg //devices/31/controls/control_5
valueIs "//devices/31/controls/control_5" false 0.000
cs //devices/31/controls/control_5 true
valueIs "//devices/31/controls/control_5" true 1.000

HOWEVER the device that can make the best use of this in a large system is Conman.......unfortunately RATC2 RAW is NOT AVAILABLE on Conman in Nware 1.2.6, and is only available for Nions - exactly the devices we are told we should not be using for lots of non audio networked communications. DOH!!!!! Hopefully this is a trivial modification??????

I believe that it is possible to get fast external status updates for certain components such as meters using RATC2 RAW, however I can find no documentation or clues anywhere on how to enable this feature. I presume that it will only be available for certain types of NWare components?

Here is the only reference I have found to this while poking around inside some of the current 1.2.6 system firmware:-

Usage:
%s /dev/raw/rawN <major> <minor>
%s /dev/raw/rawN /dev/<blockdev>
%s -q /dev/raw/rawN
%s -qa

Cannot locate raw device '%s' (%s)
raw device '%s' is not a character dev
Device '%s' is not a raw dev
Cannot locate block device '%s' (%s)
Device '%s' is not a block dev
/dev/rawctlCannot open master raw device '/dev/rawctl' (%s)
Error querying raw device (%s)
/dev/raw/raw%d: bound to major %d, minor %d
Error setting raw device (%s)

2

Re: RATC2 RAW

Clever searching the code this way...  However, what you have found is only related to the Linux internals, not Nion code per se.  We're putting together documentation on this and looking into making it work for ConMan.

3

Re: RATC2 RAW

We are working on more complete documentation and an example, but here is a quick and dirty summery.

RATC2 raw gives you the ability to control devices without assigning aliases to every individual control.  For example, if you want to remotely control all the features in a 16 by 16 mixer, you would need to one by one give aliases to about 300 knobs and faders.  Tedious.  Instead, using the inspector, you can get the device_id for the mixer.  The individual controls are laid out in a regular pattern with unique control_id's.  Using the combination of the device_id and control_id you can access every control in your project without assigning a single alias, using RATC2 raw.

Why then do we support aliases at all?  Because the device_id's are assigned as each device is added to your design.  You don't know what they are until you've built your design and you can't change them.  By using aliases, you can establish the unique id's for your controls before you even start the project.  Thus, the AMX or Crestron programmer can write their code in parallel with the project being designed.

One last thing.  RATC2 raw is not any faster than RATC2.  There is no performance advantage of using RATC2 raw.

We are still looking into implementing RATC2 raw in ConMan, shouldn't be a problem.

4

Re: RATC2 RAW

Have there been any updated to RATC Raw since these postings?

I'm very interested in this protocol too, however I would like to see a way to NOT use the device ID, but rather use the block name or path in Nware.  For example, if a control is located on the 'Schematic' page in a block called 'Mixer 3', I'd like to see us access the control using...

cs //Schematic/Mixer 3/control_1 true

The reasoning behind this:  going through the file after it's been built to document all the device ID's is only slightly more time saving than putting the aliases in there in the first place (expecially with Expression Labeling).  Using the above technique, the Device ID wouldn't matter.  The only issue I forsee is how to deal with duplicate names.

Alternatively, I once came up with another quick alias idea (before this forum was invented) that could perhaps be useful if we worked out all the details... 

What about creating an 'alias generator' device?  This device would look like a 'gui block' with an empty child window.  Set a device property for 'alias prefix' and then any any control placed inside the child window of this device would have an alias with the prefix of the parent plus it's RUID or user definable Alias appended.  Then, assigning 300 aliases as Charles mentioned wouldn't be nearly as time consuming.

Thoughts?

Thanks,

Joe

5

Re: RATC2 RAW

Along Joe's thinking, how about simply a control device with some user definable number of peer control nodes. One of the device properties is an alias prefix and/or suffix. Wire whatever you want up to it and the resulting alias is <prefix>[node offset]<suffix>.

6

Re: RATC2 RAW

Ah, nice idea!!

Thanks,

Joe