SECS Homepage

Hosted bySourceForge Home

SECS 0.2 (released dec 2, 2008)

This is the second version of a functional secs library written in Tcl. The second milestone has been reached now: multi-block transfer works. A lot of tests have been done in real-life, assuring that the libary behaves well when losing and re-establishing connections and in a lot of different real-life situations.

The release can be downloaded from:

Just unpack the .zip file, and put the file somewhere that Tcl can find it. For more information, see the README file from the distribution.

SECS 0.1 (released oct 9, 2008)

This is the first version of a functional secs library written in Tcl. The first milestone has been reached now: This library can connect to other tools through the HSMS or SECS-I protocol.

Features: SECS-I/SECS-II/HSMS functionality works, although only a small number of SECS messages are actually implemented. HSMS is complete, SECS-I is lacking multi-block transfer. Documentation and a test suite is being worked at.


This package provides support for the SECS/HSMS protocol to Tcl. The ideas behind this package were explained in the EuroTcl 2008 conference in Strassbourg, here more about it can be found.

Although the first version is written in Tcl, I welcome anyone to participate in other languages. Ideally, there would be a C-library with the most basic functionality, and wrappers for all kinds of other languages. But I could imagine there is a desire for a 100% java solution as well.

This SECS library is NOT SEMI SECS/GEM-compatible, simply because it doesn't implement all required messages. But in practice, it implements most of them, and if something is missing you can easily add it. In practice that should not be a problem (GNU/Linux is not UNIX either........)

This project started from the observation that a socket protocol is easy to be implemented in Tcl, leading to quick results which can easily be verified by simply communicating with real tools (or tool simulators). Sharing that experience with others could be the beginning of something nice.


Valid XHTML 1.0!

Written by: Updated: Dec 2, 2008
Jan Nijtmans