Terminal Emulation
Jp Calderone
exarkun at intarweb.us
Sun Apr 13 14:48:30 EDT 2003
On Sun, Apr 13, 2003 at 09:40:29AM +0200, Hans-Joachim Widmaier wrote:
> All of my embedded software offers a means of debugging via a serial
> interface. You just hook a terminal onto it and start introspection. These
> days, of course, the "terminal" is usually a computer running a terminal
> emulator, and the embedded software allows you to do more than just view
> memory contents, e. g., download a new software. Of course, I handle this
> download with a python program. Now you have 2 programs: the terminal
> emulator and the download utility. Not too much hassle under unix, as the
> downloader ignores that the serial port is already used by the terminal
> emulator, it just does its job and leaves the port in the same state it
> had found it, the emulator doesn't even notice.
>
> This doesn't work under Windows, though. So I thought about creating a
> terminal emulator with some added functionality. Some thinking revealed
> that I didn't know a widget that was handy for the job. Some more
> thinking gave me an idea for a unix solution: xterm in slave mode.
> Obviously, this only works where I don't really need it. A google search
> showed that some others also had a use for such a terminal emulation
> widget, but none seems to exist.
>
> Not knowing wxWindows, pyQt and what-have-you, the Tkinter Text widget is
> about the only thing left. I'd have to grab all keyboard events away from
> it (yuck) and do the escape sequence interpretation by myself (not too
> bad, as I only need a subset of the whole vt100/vt320 stuff). The Text
> widget just seems way too "heavy" for this.
> Handling serial input/output as well as GUI events gives me problems
> enough already. ;-)
>
> Has anyone found a nicer solution in the meantime? No problems if it meant
> using wxPython or pyGTK. (No pyQt, though, as it's not free under Windows.)
>
Paul Swartz has done some work in this area, based off the Tk Canvas
widget, for a "GUI" ssh client he wrote. The relevant bits are distributed
with Twisted, in the conch/ui package.
It is very slow, but I think it supports a lot of vt100. It might be
worth basing your work off of.
ViewCVS link for the package is
http://twistedmatrix.com/users/jh.twistd/viewcvs/cgi/viewcvs.cgi/twisted/conch/ui/?cvsroot=Twisted
HTH,
Jp
--
Somewhere, something incredible is waiting to be known.
-- Carl Sagan
--
up 24 days, 15:01, 1 user, load average: 0.99, 0.90, 0.85
More information about the Python-list
mailing list