Lawo / ember-plus

Ember+ control protocol - Slick and free for all!

Home Page:https://github.com/Lawo/ember-plus/wiki

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Matrix - confusion

astedler opened this issue · comments

The Matrix is, as far as i understand, a leaf, not a node.
So the matrix itself cannot handle children of any type.
That is why i always look at a ROID as a path of (template-)nodes, except the last number which is a an Emberlement of any kind.
So i can follow any ROID in my tree by assuming all but the last number are nodes.
The documentation (Ember+ 1.1: Matrix Extensions) reads:

ParametersLocation

  1. basePath RELATIVE-OID
    Contains an absolute path to a node under which parameters associated with signals or connections reside.
  2. inline Integer32
    Contains a single sub-identifier to be appended to the path of the matrix. The resulting path refers to the node under which parameters associated with signals or connections reside. This node is not reported in a response to a GetDirectory command, since huge matrices with hundreds or thousands of connections will not be able to publish all connection and signal parameters in the Glow tree. The provider must create the parameter objects on-the-fly when a GetDirectory command is issued to a sub-node containing the parameters for a specific signal or connection.

So the inline Integer then results in a Node under the Matrix even though the Matrix is a leaf....

It is even more interesting with:
Label

  1. basePath [0] RELATIVE-OID
    This property contains an absolute path to a node under which label parameters associated with signals reside.
  2. description [1] EmberString
    This property contains a free-text description of the label, which may be used by consumers to let the user choose the label to display.

I encountered ROIDs to a node as a child of a matrix. The EmberPlusViewer shows it under the matrix as a normal node.

This is confusing.
It the matrix a leaf or is it a node? or is it a leaf that may contain more leaves.

Matrix

  • number [0] Integer32
    The number of the matrix object. Has same semantics as Parameter.number and Node.number.
  • contents [1] MatrixContents OPTIONAL
    Contents set of the matrix object. Analogical to Parameter.contents and Node.contents.
  • children [2] ElementCollection OPTIONAL
    Contains child elements of the matrix object. Conceptually, matrix objects are considered leafs in the Glow tree. Though, a matrix may contain a Glow Command in the same way as a parameter.