aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTat-Chee Wan (USM)2011-07-06 10:20:20 +0800
committerTat-Chee Wan (USM)2011-07-06 10:20:20 +0800
commit654c39440b698559ff3c7e5f345ad3b4c98d071f (patch)
treee5c98fcb95c490ea874b5541a35c77897c19f3a7
parente04b88b669338243a7228a86eff3c0c62aff8f9c (diff)
send nak '-' immediately upon receipt
Implement GDB message retransmission from NXT to Host
-rwxr-xr-xHost/nxt-gdb-server.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/Host/nxt-gdb-server.py b/Host/nxt-gdb-server.py
index 7de81b7..7606d75 100755
--- a/Host/nxt-gdb-server.py
+++ b/Host/nxt-gdb-server.py
@@ -80,6 +80,13 @@ class NXTGDBServer:
assert len (msg) <= self.pack_size, "Ctrl-C Command Packet too long!"
segs.append (self.pack (msg, 0))
end = self.in_buf.find (CTRLC)
+
+ end = self.in_buf.find ('-')
+ if end >= 0:
+ msg, self.in_buf = self.in_buf[0:end+1], self.in_buf[end+1:]
+ assert len (msg) <= self.pack_size, "NAK Packet too long!"
+ segs.append (self.pack (msg, 0))
+ end = self.in_buf.find ('-')
end = self.in_buf.find ('#')
# Is # found and enough place for the checkum?
@@ -87,8 +94,8 @@ class NXTGDBServer:
msg, self.in_buf = self.in_buf[0:end + 3], self.in_buf[end + 3:]
i = 0
gdbprefix = msg[i]
- while gdbprefix in ['+', '-']:
- # Ignore any '+' or '-'
+ while gdbprefix in ['+']:
+ # Ignore any '+'
i += 1
gdbprefix = msg[i]
if DEBUG2: