Serial Communications Library

Support This Project Copyright Brian E. Heilig, 2005-2006 under the Eiffel Forum License, version 2
See license.txt for license details


Thank you for your interest in the Serial Communications library secom. The aim
of secom is to provide you with a library of object-oriented components to
develop portable serial port applications. The two major goals to meet this
purpose are:
Encapsulate the serial port APIs of Windows and Posix into a collection of
Ensure these classes conform to an interface that is common to both Posix
and Windows operating systems.
The first goal simply states that a collection of classes is provided to make
developing serial port applications easier for you; it states nothing about
portability. The second goal states that applications that use the common
interface will be able to run on both Posix and Windows operating systems. This
is the strength of secom and what sets it above any other related API: serial
port applications you develop will require minimal or no changes to be compiled
and executed across Posix and Windows platforms.

Secom was tested with SmartEiffel 1.0, and ISE Eiffel version 5.6.
Visual Eiffel is not supported.
Secom was tested on Windows XP and Fedora Core 4.


secom is dependent on the GOBO Eiffel library version 3.4 in that secom classes
inherit from GOBO classes, and the build process depends on GOBO tools. You can
download the GOBO Eiffel library from:
Please see the installation instructions provided with the GOBO package.

After installation you must set the GOBO_OS environment variable:
GOBO_OS='windows' or 'unix'
You should also set the GOBO_EIFFEL environment variable (if you don't set it, it
will default to SmartEiffel).
GOBO_EIFFEL='se' or 'ise'
Option 've' for Visual Eiffel is not supported by secom

The documentation is generated by EDOC. EDOC is available for download from
If you have an official release of secom then you already have the documentation.
If you retrieved secom from the CVS repository then you will
need to install and set up EDOC to generate the documentation. The generated
documentation is specific to your platform as determined by the GOBO_OS
environment variable.

In the future this library may also depend on ePosix.


Unpack the zip/tar.gz file in the directory of your choice. Set the SECOM
environment variable to the path where the secom directory is located (the
directory containing the file .secom).

If you retrieved secom from the CVS repository then you will
also need to install it. Change to the SECOM directory and type the following
geant install


The library is now ready to use. Please refer to the included examples and the
following pages for details on how to use the library and information about
the classes: