1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

* introduced small python terminal script

This commit is contained in:
Oleg 2010-11-05 22:36:14 +01:00
parent ec467aea80
commit 8f512fd6d4

55
tools/pyterm/pyterm.py Executable file
View File

@ -0,0 +1,55 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
import cmd, serial, sys, threading, readline, time
from datetime import datetime
class MyCmd(cmd.Cmd):
def default(self, line):
self.stdout.write(line + "\n")
def do_help(self, line):
self.stdout.write(line + "\n")
def complete_date(self, text, line, begidx, endidx):
date = datetime.now().strftime("%Y-%M-%d %H:%m:%S")
return ["date %s\n" % date]
def do_exit(self, line):
sys.exit(0)
def sender(ser):
time.sleep(5)
ser.write("ps\n")
def reader(ser):
while (1):
c = ser.read(1)
sys.stdout.write(c)
sys.stdout.flush()
if __name__ == "__main__":
if (len(sys.argv) != 2):
print("Usage: %s <PORT>" % sys.argv[0])
sys.exit(-1)
p = sys.argv[1]
ser = serial.Serial(port=p, baudrate=115200, dsrdtr=0, rtscts=0)
ser.setDTR(0)
ser.setRTS(0)
# start serial->console thread
receiver_thread = threading.Thread(target=reader, args=(ser,))
receiver_thread.setDaemon(1)
receiver_thread.start()
sender_thread = threading.Thread(target=sender, args=(ser,))
sender_thread.start()
myshell = MyCmd(stdout=ser)
myshell.prompt = ""
myshell.cmdloop("Opening port: %s" % sys.argv[1])