PRODUCTS
 


Main Page   Data Structures   File List   Data Fields   Globals  

Teleo Application SDK

V2.0

Introduction

The Teleo Application SDK was written to provide a way for application programmers to interact with Teleo hardware.

The SDK is layered to allow users to have access as close to the hardware as necessary, and also to provide useful high level abstractions.

Teleo Channel

At the lowest level, the Teleo Channel (abbreviated TC) deals with character streams to and from the hardware. It converts these streams into incoming and outgoing messages. See the API in TeleoChannel.h

Each application that uses the SDK has to create a Channel and provide it with incoming characters. This permits the application to determine exactly how that is done. See TeleoChannelTest.c for example code.

Teleo Module Manager

At the next level, the Teleo Module Manager (abbreviated TMM) sends and receives messages from the Teleo Channel. This layer knows about modules and all the messages they can send and receive like data messages, notifications of button presses, resets, etc. See the API in TeleoModuleManager.h.

An application that uses a Module Manager first needs to create and set up a Channel to handle the incoming and outgoing characters, then a Module Manager can be created and set up and passed in the Channel so it can hook into the Channel's message facilities. See TeleoModuleTest.c for example code.

Teleo Device Manager

At the next level is the Teleo Device Manager (abbreviated TDM). This subsystem provides the Teleo Device abstraction. It first permits the application to create Teleo Device objects each of which will correspond to a single device on a module, then it receives module-oriented messages from its Module Manager and passes these on to the application. See the API in TeleoDeviceManager.h.

An application that uses a Device Manager first needs to create and set up a Channel to handle the incoming and outgoing characters, then a Device Manager can be created and set up and passed in the Channel so it can hook into the Channel's message facilities. There is no need for the application to create a Module Manager, this is done internally in the Device Manager initialization code. See TeleoDeviceTest.c for example code.

To Do

It might be nice to have a better (more fine grained) thread locking scheme. The ideal scheme would hide locking and unlocking where it is needed in the various SDK function calls.

More effort needs to be expended working through any threading issues.

The Module Manager can currently only accomodate one Channel. The API is designed to accomodate many. This will involve implementation changes in TeleoModuleManager.c but hopefully no API changes.

 

copyright © 2002, 2003 MakingThings LLC