Terminal Emulation with IBM ES9672 mainframe via multiplexer.

Cameron Laird claird at lairds.com
Wed Jan 14 15:56:02 EST 2004


In article <mailman.330.1074022126.12720.python-list at python.org>,
 <vidiv at gmx.net> wrote:
>Hi All, 
>
>Sorry for repeating, in the earlier msg i forgot to add a Subject line !! 
>
>I am a student-newbie to Python-List (for that matter Python language)
>working on a project for Terminal Emulation. The dumb terminal interacts
>with an
>IBM ES9672 mainframe through a 'multiplexer-MUX'. 
>The s/w is currently running in 'C' on a Windows NT environment and the
>requirement is to introduce Object Oriented concepts and C++ was the obvious
>choice, but i came across  'Python' (and also Perl, Ruby, ..etc) after i
>installed RH8 on my PC last month. We are actively canvassing the advantages
>of GNU
>s/w and philosophy and would like to simultaneously port it to GNU/Linux
>platform.
>
>I have read some of the documentation in Python.
>Before using Python as our project language it would be useful to know
>whether Python has functions, libraries/headers (like C does) capable of
>handling
>the foll. :
>
>1] open and close serial ports,
>2] set baud rates,
>3] check parity bit/byte,
>4] stop bits,
>5] Hardware handshaking,
>6] selection of port,......
>
>Our existing 'C' code is to be ported to the GNU/Linux platform so we are
>actively looking at an OOP concept. The part for serial port communication
>in
>C++ has classes so its easier to write customized programs to do most of the
>above. 
>
>Most importantly compatibility issues with the existing Multiplexer and
>Cisco Routers have to be kept in mind as the company will *not* make any H/W
>changes. 
>
>We saw that python has some routines for using existing C code, so we dont
>have to rewrite everything and can make modules containing functions and use
>it to operate on files. 
>Does it provide any other serial port communication features ?
>It would be nice if anyone could throw some light on some of the above
>issues.
			.
			.
			.
Yes, Python can do all this.

Although perhaps not as well as other approaches.  I don't understand
your description.  You have something that "works", now, and you want
... well, I'm not sure what you want.  Is the software you're looking
to change the terminal emulator, or the MUX?  I think it's the former.
What's the relation of the new software and the software it's
replacing?  Are they supposed to have the same design?  Would it be
easier for you to do object-oriented analysis and design, then imple-
ment in C (while C isn't a particularly inviting language for OO, it
*is* possible to use it)?  Is the terminal emulator connecting to a
mainframe, or routers, or both?  Is it enough for you just to exhibit
one of the many free-software terminal emulators available?  When *I*
work in this area, I certainly start with as much re-use as possible.

Perhaps I'm not following the academic spirit of this assignment.  It
sounds as though you have settled on construction of certain low-level
serial-line capabilities in C++, and one of your requirements is to
interface with that (as yet uncoded?) specific library.  Do I have 
that right?

Boost is a nice way to use Python and C++ together.

Expect <URL: http://wiki.tcl.tk/expect > is *very* widely used by 
those working with terminal emulation, serial-line connections,
networking hardware, and so on.  Perhaps Expect is exactly what you
lack; I really can't tell.  There's a Python-based Expect, although
it's not as well documented as the original one.

Is the point of this to construct working software, or learn OO, or
port to Linux, or ...?  Or all of the above?
-- 

Cameron Laird <claird at phaseit.net>
Business:  http://www.Phaseit.net



More information about the Python-list mailing list