The role and benefits of procedures are:
- Realize full plug & play self-configuration
- Create a de-facto interoperability
- Hide the complexity and the abstraction
- Automate the processes wherever possible
- Offer validated routines for typical tasks
- Call everything by names not numbers
- User feedback - Warning messaging system (missing peripherals, battery low, overheating, etc.)
- Display sharing
- Unified storage system
- Remote editing (establishing links, modifying named parameters and triggering actions)
- Data querying (local use/display of remote information)
Procedures as turnkey codeUsually, implementing procedures is part of the application coder job; this is not the case with CopperLan where these are available ready to use.
Procedures are implemented as code routines:
- The network handling resides in the VNM.
- In every application (software or embedded), the CopperLan procedure code resides in the CHAI.
The VNM (Virtual Network Manager)
In a CopperLan setup, procedures shared by all members take care of identifying added/removed equipment while the VNM is in charge of network service and interfacing with third-party drivers for extending its reach to physical networks and streaming management.
Because computers should be able to run CopperLan applications even without being fitted with CopperLan physical connectivity, the VNM emulates a physical network.
The VNM is a dynamic multiport virtual device to which multiple CopperLan applications can connect. It also handles several virtual MIDI ports for existing MIDI applications, in addition to serving as a bridge to various physical network links handling CopperLan.
The CHAI (CopperLan Host Application Interface)
This is the part of code that is offered to manufacturers as a foundation for embedded products or computer applications, on top of which they can build their application.
Functions offered range from the network connection to the setting of accepted clock messages or complex procedures such as full remote editing.
- For embedded products with Ethernet, the CHAI sits in the CopperLan-Ethernet chip and takes care of the communication with the host microcontroller. The host MCU only needs to integrate a small CHAI-Link client code.
- For USB peripherals, only a CHAI-link client sits in the product's microcontroller, talking through the USB link to its related CHAI-link server inside the computer. This approach allows designing a CopperLan compliant product using any USB-capable MCU.
- For software applications in a computer, the CHAI is part of every application code.
Helper functionsThe CHAI is not only about serving CopperLan's network needs; we have identified several SW procedures that may be needed in many products (e.g. Creating virtual or physical MIDI ports)
- Next >>