# # Simple test program for ctb module: emulate a terminal. # To simplify matters use the python console window for output. # import ctb import Evt import Events import MacOS import sys def cb(err): print 'Done, err=', err def main(): if not ctb.available(): print 'Communications Toolbox not available' sys.exit(1) # Disable Python's event processing (we do that) MacOS.EnableAppswitch(0) print 'Minimal terminal emulator V1.0' print '(type command-Q to exit)' print l = ctb.CMNew('Serial Tool', None) l.Open(10) l.SetConfig(l.GetConfig() + ' baud 4800') while 1: l.Idle() # Give time to ctb ok, evt = Evt.WaitNextEvent(0xffff, 0) if ok: what, message, when, where, modifiers = evt if what == Events.keyDown: # It is ours. Check for command-. to terminate ch = chr(message & Events.charCodeMask) if ch == 'q' and (modifiers & Events.cmdKey): break l.Write(ch, ctb.cmData, -1, 0) d, dummy = l.Read(1000, ctb.cmData, 1) if d: for ch in d: if ch != '\r': sys.stdout.write(ch) sys.stdout.flush() l.Close(-1, 1) del l main()