-
Notifications
You must be signed in to change notification settings - Fork 3
3. General Info
This document covers implementation details specific to Niagara.
The Jasper protocol uses a two-tier concept of Sources and Points, where points exist under a specific Source.
In the Niagara implementation, a source is any parent BComponent
of any control point. Sibling points are grouped together under their shared parent component. Sources are identified by the handleOrd
of the parent component, and points are referenced using their relative slot:
BComponent Tree Jaspser Source
--------------- -------------
Foo [BFolder] Foo (id=5e23)
PointA [BNumericWritable] av.PointA
PointB [BNumericWritable] av.PointB
PointC [BBooleanWritable] bv.PointC
This design allows components to be moved inside a Station without breaking external connectivity. Using relative points allows external systems to use reusable tooling similar to how Niagara works.
For proxy points that are ungrouped under a driver network, where the direct parent would be "Points"
, the indexer will walk up one level and use the BDevice
as the parent source. This generally works to model the available sources to match what sits underneath the Niagara instance.
Sources are automatically created when the JasperService
indexes the station.