Mercurial > avr_jtag
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): |