PRODUCTS
 
 
 
 
 
 
OVERVIEW
PRODUCTS
ORDERING
STORE
DOWNLOADS
DOCUMENTATION
DATASHEETS
FAQ
 
 

Frequently Asked Questions

Technical Questions, Specifications, and Compatibility:

 

How sensitive are the analog inputs on the Intro Module, the Multi IO, and the Analog In Module? How small a signal can I read? What do I need to do in order to measure small signals with one of these modules?

Can the teleo network have two USB translators (i.e. Intro Modules) on it?

Can you help me select a Teleo system to control the brightness of 10 halogen lamps (10W) and to control the position of 10 servo motors at the same time?

What is the proper way to replace a PIC chip on a Teleo module?

How can I get printed versions or PDF files of your documentation?

Is Teleo compatible with Macromedia's Director?

How can I change the address of a Teleo module?

How can I use Teleo products with REALBasic or any other BASIC?

How can I communicate directly with the Teleo XML Server via Telnet?

Is Teleo compatible with Mac OS 9?

 
   

How sensitive are the analog inputs on the Intro Module, the Multi IO, and the Analog In Module? How small a signal can I read? What do I need to do in order to measure small signals with one of these modules?

All of the MakingThings Analog Input devices share the same hardware: a 10 bit analog-to-digital converter. The input signal must be between 0V DC and 5V DC.

This means that the 5 Volt range is divided into 1023 steps, or 4.88 millivolts, per step.

This means that a signal less than 4.88 mv will not be discernable at all, and that small signals in the tens or low hundreds of millivolts range will not have much of a range of values.

In order to most effectively measure small signals with one of our Analog Input devices, a small amplifier should be used. The amplification factor and offset should be such that the output of the amplifier should be 0V at the lowest input signal, and 5V at the highest signal. If you need such an amplifier designed and constructed, please contact MakingThings and ask about our custom design services.

back to top

Can the teleo network have two USB translators on it?

Architecturally, we do not allow two USB Translators on the same network at present. That's a feature we're hoping to add in Version 3. There are a couple of ways I can think of to solve your problem:

1. If you're thinking about two USB translators, then one possibility is to use a second MultiIO too, and hook the switch up to both of them. The downside is that you will need two Intro sets instead of one Intro Set and an additional USB translator.

2. You could connect the computers together using ethernet then use one of the freely available TCP/IP Max objects. One machine would be the master - it would have the Teleo Network connected to it, do the work that it should do and send the state of the switch via TCP/IP to the other computer. The other machine would have the receiving end of the TCP/IP connection and would do its job with the data it receives from that. Good thing about this solution is that you only need one Teleo Set (good for you, that is...)

back to top


Can you help me select a Teleo system to control the brightness of 10 halogen lamps (10 W) and to control the position of 10 servo motors at the same time?

Controlling the brightness of 10 x 10W Halogens is rather a challenge!

First there is the current issue: Assuming these are 12V lamps, 10W implies 0.83A each. Total 10 x 0.83 = 8.3A. Which is less than our stated maximum of 10A. So that's OK.

Next there is the issue that one of our Multi IO boards can supply only 2 PWM's each. So to run 10 PWM's you'd need 5 Multi IO boards.

Our Servo board will power and run 8 servos. So to do 10 you'll need 2 boards.

Also you'll need to watch the total power - i.e. all the lights on and all the servos pulling their hardest will exceed 10A.

back to top

What is the proper way to replace a PIC chip on a Teleo Module?


Tools required: small flat blade screwdriver

Precautions:

1. The PIC and other components can be damaged by static electricity.
In order to discharge any static electricity you may carry, touch
a grounded object such as the metal case of a grounded computer or
a cold water pipe

2. The pins on the PIC are delicate.


Procedure:

1. Identify the PIC (see image). Note the index mark and notch near the 5-pin connector.

2. Gently slip the tip of the scredriver between the PIC and the socket from the end nearest the LED.

3. Gently rotate the screwdriver to lift the near end of the PIC out of the socket.

4. Avoid lifting the PIC out at an angle. Slip the screwdriver in further and rotate again. Continue doing so until you reach the other end of the PIC (near the 5-pin connector).

5. Continue to pry up the PIC at each end until it is free from the socket

6. The replacement chip should be placed in the same direction as the original, with the index mark and notch near the orange connector.

7. Make sure the pins are lined up with the holes in the socket. In some cases you may have to bend the pins slightly to line up with the holes. It is useful to look at the board from the edge; you should see the two rows of pins lined up well with the holes.

8. Once the new chip is resting properly in the socket, push it down firmly in place. Avoid pushing it down at an angle. Push at both ends at the same time or alternate small pushes at each end.

back to top

 

How can I get printed versions or PDF files of your documentation?

We ship a free, printed manual for each Teleo Module and Teleo Set.

We will be providing PDF's for all of our documentation in the near future. In the meantime, we recommend that customers print the documentation straight from our website.

back to top

Is Teleo compatible with Macromedia's Director?

I'm afraid we do not currently have an Xtra that would allow for use of Teleo products with Director. While under consideration, it is not yet in development. Our priorities are mostly driven by most effective use of our limited engineering resources. Thus, if a large enough order required Director support, it would be developed.

Our USB Translator chip/driver pair presents the USB device as a serial port. This means that if you can open, read, and write to a serial port, you can access Teleo.

Teleo normally communicates via binary codes, but there is an ascii mode available. You can communicate with the Teleo USB Translator by invoking a serial terminal emulator such as Hyperterm, Zterm, or minicom. By pressing the space bar twice the USB Translator enters "ascii mode". Pressing '?' will list the possible commands. Each Teleo Module has an address, and each module contains one or more devices, and each device has multiple properties. For example, the default address of our dual 2Amp motor controller is 6; it contains two devices, namely the two independent motor controllers. Each motor controller has over a dozen properties, controlling and reporting things like speed, maximum current, inputs from limit switches, inputs from position sensors, motor current, motor direction, etc. To get (read) one of these properties, you would send over the serial port:

g 6.1.7

which would get, from the module at address 6, device number 1, the value of property number 7.

Similarly, to put a value to a property, you would use the put command:

p 6.0.1 73

which would put, to the module at address 6, device number 0, to property number 1, the value 73

Thus, any program that can generate these messages, respond to the results, and do so over the serial port can be used to communicate with
Teleo.

All of our documentation is available online at: www.makingthings.com/products/documentation/index.htm

Furthermore, our C Application SDK is also available for free download at our website at:

www.makingthings.com/products/downloads/application_sdk.htm which might offer you more details.

back to top

How can I change the address of a Teleo module?

1. A new address is chosen. Any unused address between 2 and 63 may be used. It would be wise to avoid the default addresses of any Teleo modules, but there is no conflict if that module is not used on this particular Teleo Network.

(Default addresses for all Teleo modules are available in the Teleo help patches by double-clicking on the "p argument.help" message.)

2. A Teleo Max object for any device on that module is created, with the additional parameter of the new address, e.g. if a second Digital Out module is to be added at address 10, you might create the object:

t.dout @address=10

3. Connect a Max message box with the message t.address.set to the leftmost inlet of the t.dout object.

4. Press and hold the push button on the module for around 3 seconds, until you see the LED flashing rapidly.

5. Once the rapid flashing starts the button can be released. The rapid flashing will continue until the next step is
successful.

6. Send the Max message by clicking on the message box. The LED should cease flashing rapidly and should return to its normal rate of about once a second. In addition, the Max window will say something like "setting address to 30".

If the LED continues to flash rapidly click on the message box a second time.

Although only one particular device is used to send the t.address.set message to the module, the address affects all devices on that module. There is only one, common, address for the entire module.

back to top

How can I use Teleo products with REALBasic or any other BASIC?

Although we don't have a plan for a REALBasic plug-in for Teleo, our USB Translator chip/driver pair present the USB device as a serial port. This means that if you can open, read, and write to a serial port, you can access Teleo.

The first step will be to figure out which serial port represents the Teleo USB Translator. Perhaps the easiest way to do this is to disconnect the Teleo USB Translator, to invoke your serial terminal emulator (e.g. Hyperterm, Zterm, or minicom) and to note what serial ports are available. Exit the serial terminal emulator and connect the Teleo USB Translator and invoke the serial terminal emulator again. This time there should be a new serial port - this will be the Teleo USB Translator.

Next you can follow the suggestions in our FAQ "Is Teleo compatible with Macromedia's Director?" here.

And you can follow the suggestions in our FAQ for: "Can I use some low level form of communication to verify that my computer is connected correctly to the Teleo modules, and that the modules are working properly?" here.

Finally, write your Basic program to open the serial port and to first send two space characters to get into ASCII mode. Then you can issue the get command with the appropriate address/device/property numbers. For example, to read the first analog input on a Multi IO:

10 open "/dev/ttyUSB0" for input as # 1
20 open "/dev/ttyUSB0" for output as # 2
30 print # 2, " "

40 print # 2, "g 3.0.0"
50 input # 1, message$
60 print message$

(Note that this was on Linux; on Windows you would use the appropriate file for the COM port)

back to top

How can I communicate directly with the Teleo XML Server via Telnet?

1. Why would you want to do this?
2. Background
3. How to get started
4. Some specific examples
5. How to quit


1. Why would you want to do this?

1. Can be used to test without Flash
2. Build client of your choosing to talk to the server


2. Background

Each Teleo module is of a certain "Type":

Teleo USB Translator 2
Teleo Introductory Module 2
Teleo Multi IO Module 3
Teleo Stepper Module 4
Teleo Servo Module 5
Teleo Dual 2A Motor Controller 6
Teleo 10A Motor Controller 7
Teleo Digital Out Module 8
Teleo Video Module 9
Teleo Analog In Module 10

Each Teleo module contains one or more "devices", e.g. Analog in 0 through Analog in 4 on the Introductory Module.

In the case of the Introductory Module and the Multi IO, we number each screw terminal as if its group starts at 0, but in reality it does not. Normally, the software takes care of this offset for you, but at this low level you must use the explicit device number:

Teleo Multi IO Analog In 0 = device 0
Teleo Multi IO Analog in 1 = device 1
Teleo Multi IO Analog In 2 = device 2
Teleo Multi IO Analog In 3 = device 3
Teleo Multi IO Digital In 0 = device 4
Teleo Multi IO Digital In 1 = device 5
Teleo Multi IO Digital In 2 = device 6
Teleo Multi IO Digital In 3 = device 7
Teleo Multi IO Digital Out 0 = device 8
Teleo Multi IO Digital Out 1 = device 9
Teleo Multi IO Digital Out 2 = device 10
Teleo Multi IO Digital Out 3 = device 11
Teleo Multi IO PWM 0 = device 12
Teleo Multi IO PWM 1 = device 13

Each device has one or more "properties", e.g. in the case of the Introductory Module's Analog In there is the period at which the analog value is sampled, the resolution (number of bits) to which the analog to digital conversion takes place, and finally the converted value itself. Note that some properties are inputs, some are outputs, and some may be both.

For the Introductory module, the properties are:

Analog Input Value 0
Analog Input Sample Period 1
Analog Input Sample Resolution 2

Digital Input Value 0
Digital Input Invert 1
Digital Input Sample Period 2

Digital Output Value 0

PWM Duty Cycle 0
PWM On 1

In order to query and control a particular device, the client (in this case, you, the user, manually via Telnet) must first instruct the server to create a structure to represent the device of interest. The server returns a number ("cookie") that is used in subsequent commands to indicate to the server to which device this command applies.

Once the the device structure has been created, the user can request updates on value changes and the bound state of the device. The user can also explicitely get and set any property (for which this is meaningful).


3. How to get started

1. invoke server with additional flag to indicate Telnet mode (accepts <cr> terminated strings instead of NULL terminated):

./t_XML_server 9000 t

2. In another terminal window connect via telnet to this port. If the same computer:

telnet localhost 9000

If on a remote computer you'll need the IP address of the computer running the server, e.g.:

telnet 192.168.0.53 9000

3. The server should say something like:

client 192.168.0.52 connected
new xml connection 0x667a0 for socket 5

4. Confirm from your Telnet client that the connection is alive, and get some help:

<help/>

should respond with something like:

client to server messages:
<deviceCreate clientCookie="5" device="5" address="0" type="3"/>
clientCookie, address, and type are optional
<deviceDestroy serverCookie="0x8050880"/>
<propertyUpdateRequest serverCookie="0x8050880"/>
<boundUpdateRequest serverCookie="0x8050880"/>
<propertyGet serverCookie="0x08071a2b" property="4"/>
<propertySet serverCookie="0x08071a2b" property="4" value="7.450000"/>
<addressSet address="8"/>
<help/>
not implemented yet:
<propertyUpdateRequest serverCookie="0x8050880" property="4"/>

server to client messages:
<deviceCreated clientCookie="5" serverCookie="0x8050880" bound="1"/>
<propertyUpdated clientCookie="5" property="4" value="1.820000"/>
<boundUpdated clientCookie="5" bound="1"/>
<deviceDestroyed clientCookie="5"/>
<button address="usb/3" type="com.makingthings.multiio" version="2.1"/>
<error errorNumber="-201" errorMessage="stuff"/>


4. Some specific examples

It might be easiest to use specific examples:

1. Controlling Digital Out 1 on a Multi Module:

1. Create the device. The Multi IO is of type 3. Remember that Digital Out 1 is really device number 9. The server replies with the cookie and tells us that the module is bound:

<deviceCreate device="9" type="3"/>
<deviceCreated serverCookie="0x680d0" clientCookie="0" bound="1"/>

2. Turn the output on by setting the value property (property 0) to 1. Use the cookie that was provided by the server in the response above:

<propertySet serverCookie="0x680d0" property="0" value="1"/>

3. Similarly, to turn it off:

<propertySet serverCookie="0x680d0" property="0" value="0"/>


2. Getting the value of Digital In 0 on a Multi Module (A bug preventing this from working is getting attention right now):

1. Create the device. The Multi IO is of type 3. Remember that Digital in 0 is really device number 4. The server replies with the cookie and tells us that the module is bound:

<deviceCreate device="4" type="3"/>
<deviceCreated serverCookie="0x67dd0" clientCookie="0" bound="1"/>

2. Request updates for the value (property 0) of the input. Use the cookie that was provided by the server in the response above:

<propertyUpdateRequest serverCookie="0x67dd0"/>

3. Getting the value of Digital In 0 on an Introductory Module

1. Create the device. The Introductory Module is of type 2, and Digital In 0 is device number 4. The server replies with the cookie and tells us that the module is bound:

<deviceCreate device="4" type="2"/>
<deviceCreated serverCookie="0x6aff0" clientCookie="0" bound="1"/>

2. Request updates for the value (property 0) of the input. Use the cookie that was provided by the server in the response above:

<propertyUpdateRequest serverCookie="0x6aff0"/>


5. How to quit

You can exit the Telnet session and leave the server running, and later open a new Telnet session. In this case it's polite to destroy the devices you've created:

<deviceDestroy serverCookie="0x8050880"/>

If you're going to kill the server, this is not necessary.

To exit the Telnet session, type

<CTRL>]q<ENTER>

that's <CONTROL> right square bracket, then the letter 'q', then <RETURN>.

back to top

Is Teleo compatible with Mac OS 9?

MakingThings no longer officially supports Teleo and Max/MSP on MAC OS 9.

Unofficially, Teleo and Max/MSP should work with the exception of the inputs and outputs on the Teleo Introductory Module.

What this means is that the Introductory Module would only be providing an interface between the USB port of your computer and the Teleo system. You would have to purchase additional modules to provide any input and output capabilities. For instance, the Teleo Multi-IO Module provides all the input and output capabilities of the Teleo Introductory Module, plus a few extra.

A Teleo Network Cable will be required to connect the Teleo Introductory Module to the additional module.

back to top

 

 

copyright © 2002-2004 MakingThings LLC