![]() |
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
TELEO SYSTEM |
The Teleo System is designed to provide an infrastructure for people building machines of different kinds. Teleo Modules are central to the idea of Teleo. They have particular functions and that communicate together over a Teleo Network.
Teleo System In the diagram above, each of the modules connected to the network sends or receives data to or from the outside world depending on its function. A computer can be connected to the network to give it more complex behavior, combine actions with media playback and connect it to the Internet.
Modules are the physical boards that attach to the Teleo Network. To function correctly, each has it's own unique address. The actual numerical addresses for regular modules can range from 3 - 63, and the address of a module can be changed with a simple procedure.
![]() |
| Modules |
One module on the network is the Controller. This Controller is either the interface to the main computer or it is the main computer in the system. All of the housekeeping and many of the data messages that modules generate are sent to the Controller. Future versions of the Teleo product will permit there to be 0 or more Controllers on a single network, but currently this number is limited to one. The Controller must be a Teleo Introductory Module.
Each module has one or more autonomous devices. These devices are indexed from 0 to n - 1, where n is the number of devices on the module. For example, the Teleo MultiIO Module has 14 devices: 4 Analog In, 4 Digital In, 4 Digital Out and 2 PWM devices - each of which functions completely autonomously.
![]() |
| Module Devices |
Each Device present on a module has Properties which control the behavior of the device in some cases and report information back in other cases.
![]() |
| Device Properties |
Properties have data types, but can accept assignment from any type and will convert into their prefered internal format automatically.
The Teleo Network is a peer-to-peer message passing network. A message on the network is simply an address and some data. (* The address alone has bit 9 set - this speeds identification of packets on the network)
Network Packet By declaring the first data byte a message type, we created a set of messages that are useful to the task of exchanging data on a network. These messages are summarized in the Teleo Network Message section.
Modules on a Teleo Network regularly send Identification Messages to the Controller stating their address, type, manufacturer and version number.
Identification messages are sent by all modules every few seconds Modules send this message once every few seconds, so it can be used to identify a new module that has been plugged into the network and the absence of these messages can indicate when a module has been removed.
Modules, devices on those modules and the properties of those devices can all be addressed directly. So sending data to them is very easy - a message is constructed addressed to the appropriate module which contains the destination device, property and the new data.
Setting property data on a device Soliciting Data from a module can occur in two ways. The first way is to just ask for it with a Data Request message. The addressed module replies with a Monitor Data message.
Requesting property data from a device The second way to get data from a module is to request that it be sent whenever a item changes. This process is called Monitoring which can be achieved on a per-property basis or for the whole network. To monitor an individual property on a device, the Monitor message is sent to the appropriate module. To monitor all properties on all devices on a particular module, the Monitor All message is used. To monitor all properties the Monitor All message is broadcast to the whole network.
Monitor All message causing Monitor Data messages to be sent When these values are no longer interesting, the Monitor Cancel and Monitor All Cancel messages are sent.
|
Teleo Network Messages |
Address Change
Button Press
Configuration Reset
Configuration Load
Configuration Save
Connection Cancel
Connection
Data Request
Data
Module Identification
Monitor Cancel
Monitor All
Monitor All Cancel
Reset
The table belows shows the data portion of the module messages. They are all addressed either by the controller outwards to the network or from modules inwards to the controller.
s
Requests a module change its address. Modules are placed into Address Change mode by holding their buttons down for more than 3s. Then when this message is sent, only the module in Address Change mode actually processes it.
MESSAGE_ADDRESS_CHANGE [new address] Indicates that a module button has been pressed
MESSAGE_BUTTON [module address] Request that all the settings be returned to their default state. Clears constants, connections, etc.
MESSAGE_CONFIG_RESET Permits the controller to request a module to restore its saved state.
MESSAGE_CONFIG_LOAD Command issued to devices to get them to save their connections and property data into permanent storage, so they can resume at a known place when they power-up.
MESSAGE_CONFIG_SAVE Requests the addressed module to disconnect one property from another.
MESSAGE_CONNECT_CANCEL [device] [property] [to module] [to device] [to property] Request to connect one property to another. Whenever the value stored in the property changes, it will be sent to the to property.
MESSAGE_CONNECT [device] [property] [to module] [to device] [to property] Data from a property is requested to be sent to the controller on a one-time basis.
Note the return message, MESSAGE_MONITOR_DATA, is not the same as the MESSAGE_DATA message above, since it has the senders device and property indicies.
MESSAGE_DATA_REQUEST [device] [property] Response (sent to the controller)
MESSAGE_MONITOR_DATA [module address] [device] [property] [data_type] [data] The most basic message. Data being sent anonymously to a module device property. This is the message used by the controller to change a property value. Note that the reverse is not true, since in the opposite case - when a module needs to send data to the controller - the controller needs to know the origin of the data to present it or process it correctly.
MESSAGE_DATA [device] [property] [data type] [data] Sent from each of the modules at regular intervals.
MESSAGE_IDENT [module address] [module type] [module manufacturer] [module version number] Device data is no longer required.
The device may be omitted and all monitoring traffic from all devices will be stopped.
MESSAGE_MONITOR_CANCEL [device] [property] Data from a module / device / property is requested to be sent to the controller until told otherwise.
MESSAGE_MONITOR [device] [property] Response
MESSAGE_MONITOR [module address] [device] [property] [data_type] [data] Data is requested from all properties of all devices. This is useful for certain UI modes and applications, although it can be very wasteful of network bandwidth.
MESSAGE_MONITOR_ALL Monitor All mode is stopped.
MESSAGE_MONITOR_ALL_CANCEL Sent by a module to the controller. Indicates that a module has been reset
MESSAGE_RESET [module address]
|
TELEO SYSTEM SPECIFICATIONS |
Teleo Network Maximum Voltage 30V Minimum Voltage 7.5V Maximum Network Current 10A Data Rate 250kb/s Reliable Packet Rate (optimal) 1000 packets/s Reliable Packet Rate (heavy load) 100 packets/s Teleo Default Module Addresses
Introductory Module 2 Multi IO Module 3
Stepper Motor Module 4 Servo Module 5 Motor Controller 2x2A 6 Motor Controller 10A 7
Digital Out 8 Video Module 9 Analog In Module 10
| copyright © 2002-2004 MakingThings LLC |