Communications protocol

The protocol tries to be lightweight

It is desirable to minimize communication as the bus is shared between devices. This is achieved by building up from a reasoning that devices do not need to be in constant communication with the master.

It provides for both small and large packets

There are different ways of communicating different kinds of information such as simple value reads and larger packets containing specific device data or code updates for example.

The master does not have to know things in advance

Devices store information about themselves in a way that the master does not have to have previous knowledge of their connected devices in order to communicate and control them. All devices are required to store information like description about themselves and their functionalities and also about values and measurements they make, including support for standard measure units. The master is able to retrieve this information at will.