CHAI SDK  Version 1.3
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
The Device

A Device is a node on the CopperLan network. It may contain one or more Inputs and/or Outputs in order to exchange application messages, expose Parameters, or Controllers. A Device is usually related to an application feature/subset/section.

Device naming

A device is identified by its Brand Name and Model Name during its creation. By default, the display name of a device is the concatenation of Brand Name + Model Name.

In case of duplicate, the Duplicate Number is added at the end of the string.

However, it is possible to set a Custom Name to a device. If such name exists, it overrides the default naming. The default name can still be obtained on demand. A standard mechanism exists in CopperLan to remotely edit the Custom Name.

Device hierarchy

An application can declare several devices organized hierarchically. In this context, we can identify different types of devices:

  • Root device: a device having no parent. This kind of device appears at the root of a Device tree. A root device is created using CPNS::ICHAI's methods and its ModuleID is always null.
  • Module: it is simply a sub-device. Those devices must be located in the same CHAI as their parent, and are created from their parent device object specifying a unique ModuleID. A Module has the same Brand ID, Model ID and Duplicate Number as its parent, but a non-zero ModuleID. This ModuleID is allocated by the application and can be accessed by any other application to identify that sub-device. The module's Duplicate Number is automatically maintained in sync with its parent one. A Module parent can be a Root Device or another Module; this way a device tree is assembled.

A device tree is essentially built in accordance to the product's structure seen from a user point of view. Besides this application view, some modules may be added in a tree for functional reasons (e.g. hidden module, bridging function, etc).

Additional information