The dividing line is only conceptual, as several capabilities cannot be strictly bound to a single family of messages.
Performance messages is the part that provides the application-related capabilities that are specific to each product.
System messages are the supporting foundation for Performance messages. Very few system messages will be used by the applications; they are essentially hidden inside system procedures.
Instead of offering a bland set of protocol commands and leaving the implementers to figure out their own way of using them, we want to accelerate the integration of CopperLan into products by having the manufacturers concentrate on their applications. Procedures define how things should be done and what the supporting code does. Reference implementations are also offered both for software applications and embedded devices.
Procedures are rules and definitions for various processes.
Rules which the application will comply with; these will be implemented by the application developer.
Much code is provided by CopperLan in ready-to-use format.
In the context of application code, the middleware is defined as code that integrates into the application code in order to provide standardized supporting features. Within an application, CopperLan middleware is called CHAI (CopperLan Host Application Interface). Conceptually, the CHAI sits between the code written by the application developer and the network. It offers the entire functionality of network management and many application supporting functions (Procedures). Practically, the CHAI code will be compiled within the application.
The generic Driver name groups all software that is needed inside a computer to run CopperLan and is not part of the applications.
The Virtual Network Manager (VNM) that creates a virtual CopperLan network for applications running inside the computer.
Various network extensions to equipment attached via USB, Ethernet, Firewire or other links.
MIDI interfacing module that caters for MIDI applications and physical MIDI links.
The full set is freely available for downloading and offered on MAC-OS® and Windows® computer platforms (Linux for computers to be announced later).
1. Using an Ethernet-capable chip of own choice. This freedom implies the associated development effort and cost.
2. Using a generic turnkey solution. Manufacturers can buy the low-cost CopperLan specified microcontroller from a supplier of their choice and program it with the firmware we provide, or alternatively, buy it readily programmed for development and small production runs.
3. Use the embedded Linux implementation we offer. This allows having both the CopperLan service and the application code to run on the same chip.
In addition to network handling, an Ethernet/CopperLan capable microcontroller (1 & 2 above) contains the CHAI, and a CHAI-link server. The implementers only need to integrate a small CHAI-link client code in their application microcontroller to benefit from the entire set of CopperLan capabilities.