comparison py_avrjtag/jtagdev.py @ 11:520f45b72ba7

Add debug_frame flag to enable print-out frame when received
author Thinker K.F. Li <thinker@branda.to>
date Tue, 24 Feb 2009 14:33:23 +0800
parents cc106f278d7d
children 68ecd42850d3
comparison
equal deleted inserted replaced
10:cc106f278d7d 11:520f45b72ba7
1 import tms_ptns 1 import tms_ptns
2 import cmd_proto 2 import cmd_proto
3
4 debug_frame = 0
3 5
4 class jtagdev(object): 6 class jtagdev(object):
5 ST_RESET = 0 7 ST_RESET = 0
6 ST_IDLE = 1 8 ST_IDLE = 1
7 ST_SHIFT_DR = 2 9 ST_SHIFT_DR = 2
53 tmo = 0.05 55 tmo = 0.05
54 pass 56 pass
55 57
56 if not frame: 58 if not frame:
57 return None 59 return None
60 if debug_frame:
61 print repr(frame)
62 pass
58 63
59 cmd = cmd_proto.cmd() 64 cmd = cmd_proto.cmd()
60 r = cmd.from_frame(frame) 65 r = cmd.from_frame(frame)
61 if r: 66 if r:
62 return None 67 return None
111 116
112 if self.state != self.ST_SHIFT_IR: 117 if self.state != self.ST_SHIFT_IR:
113 raise RuntimeError, 'Invalid state' 118 raise RuntimeError, 'Invalid state'
114 119
115 self._send_nbits_data_cmd(cmd_proto.CPCMD_SHIFT_TDI, 120 self._send_nbits_data_cmd(cmd_proto.CPCMD_SHIFT_TDI,
121 nbits, data)
122 self.state = self.ST_EXIT1_IR
123 pass
124
125 def shift_IR_n_out(self, data, nbits):
126 self.seq = (self.seq + 1) % 256
127
128 if self.state != self.ST_SHIFT_IR:
129 raise RuntimeError, 'Invalid state'
130
131 self._send_nbits_data_cmd(cmd_proto.CPCMD_SHIFT_TDI_TDO,
116 nbits, data) 132 nbits, data)
117 self.state = self.ST_EXIT1_IR 133 self.state = self.ST_EXIT1_IR
118 pass 134 pass
119 135
120 def shift_DR(self, data, nbits): 136 def shift_DR(self, data, nbits):