[NOTE - a new package, sio-151.zip in the python respository, is a
version of this module for Python 1.5.1, while this version is for
Python 1.4.]

SioModule.zip - A serial comm extension for windows 95.

March 97 - Created
24 May 97 - Fixed bug in siomodule.cpp that prevented sending
           strings with embedded nulls.
03 June 97 - Fixed bug in Serial.readTerminated that failed to
            match the terminator if preceeded by a '\n' in the
            response string.
28 April 98 - Upgraded to Python 1.5.1 by Mark Hammond.  This
             consisted of rebuilding .pyd files, and renaming
             .py files so their case matches.  Also fixed some
             bugs in modem.py

Sio.pyd wraps a commercial package, the maker of which
graciously agreed to let their DLL be distributed with
the proviso that the following appear:

  Serial Communications DLLs by
  MarshallSoft Computing, Inc.
  POB 4543 Huntsville AL 35815. 205-881-4630.
  Email: [email protected]
  Web : www.marshallsoft.com

This does NOT provide I/O completion callbacks etc, but
is adequate for the type of control we do (send a
command, get a response before going on).

Sio.pyd wraps the following (from MarshallSoft) using
SWIG (what a cool package!):

SioBaud, SioBrkSig, SioCTS,  SioDCD,  SioDone, SioDSR,
SioDTR, SioFlow, SioGetc, SioGets, SioInfo, SioParms,
SioPutc, SioPuts, SioRese, SioRI, SioRTS, SioRxClear,
SioRxQue, SioStatus, SioTxClear, SioTxQue, SioUnGetc

and serial.py is my attempt at a python base class to
abstract the parts of this I needed:

class Port:
        open(cfg)
        flush()
        getLastFlush()
        getLastRsp()
        close()
        write(str, cnt=None)
        writeVerifyEcho(str, cnt=None)
        read(cnt=None, timed=FALSE)
        readTerminated()
        cmd(str='')

siomodule.zip contains:

crilib.py               - Define a constant or two
elapsedTimer.pyd        - An elapsed timer extension
modem.py                - Illustrate serial i/o with a modem
mstimer.py              - Class to wrap elapsedTimer.pyd
serial.py               - Wraps sio.pyd in a class
sio.pyd                 - Extension to access wsc32.dll
Wsc32.dll               - MarshallSoft DLL
ElapsedTimer\
  elapsedTimer.c       - SWIG output from elapsedTimer.i
  elapsedTimer.def     - DLL definition
  elapsedTimer.i       - SWIG input file
  elapsedTimer.mak     - MSDEV 4.0 make file
  elapsedTimer.mdp     - MSDEV 4.0 project file
Sio\
  SioDLL.mak           - MSDEV 4.0 make file
  SioDLL.mdp           - MSDEV 4.0 project file
  SioModule.cpp        - SWIG output, manually patched
  SioModule.def        - DLL definition
  Wsc.h                - MarshallSoft include file
  Wsc.i                - Massaged wsc.h for SWIG input
  Wsc32.lib            - MarshallSoft library

Cheers!

Roger Burnham

Cambridge Research & Instrumentation
21 Erie Street
Cambridge, MA 02139
Phone: (617) 491-2627
Fax:   (617) 864-3730
[email protected]