From 654c39440b698559ff3c7e5f345ad3b4c98d071f Mon Sep 17 00:00:00 2001 From: Tat-Chee Wan (USM) Date: Wed, 6 Jul 2011 10:20:20 +0800 Subject: send nak '-' immediately upon receipt Implement GDB message retransmission from NXT to Host --- Host/nxt-gdb-server.py | 11 +++++++++-- 1 file 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: -- cgit v1.2.3