Mercurial > avr_jtag
view py_avrjtag/cp_ping.py @ 12:68ecd42850d3
Start shifting when TAP transiting from CAP to SHIFT states.
- It assumes last bit is shifted when transiting from SHIFT states to
EXIT1.
author | Thinker K.F. Li <thinker@branda.to> |
---|---|
date | Tue, 24 Feb 2009 18:53:16 +0800 |
parents | cc106f278d7d |
children |
line wrap: on
line source
import cmd_proto def cp_ping(seq, data): cmd = cmd_proto.cmd(seq, cmd_proto.CPCMD_PING, data) frame = cmd.to_frame() return frame def get_reply(fo): import fcntl, os import time reply = '' fcntl.fcntl(fo.fileno(), fcntl.F_SETFL, os.O_NONBLOCK) while True: try: s = os.read(fo.fileno(), 256) except OSError: time.sleep(0.5) try: s = os.read(fo.fileno(), 256) except OSError: break pass reply = reply + s pass return reply if __name__ == '__main__': import sys if len(sys.argv) != 2: print >> sys.stderr, 'Usage: prog <port device>' sys.exit(1) pass port = sys.argv[1] fo = open(port, 'r+b') cmd_str = cp_ping(20, 'hello') fo.write(cmd_str) fo.flush() frame = get_reply(fo) cmd = cmd_proto.cmd() cmd.from_frame(frame) print repr(cmd)