summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xHost/nxt-gdb-server.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/Host/nxt-gdb-server.py b/Host/nxt-gdb-server.py
index 8df8f3c..c1ca25a 100755
--- a/Host/nxt-gdb-server.py
+++ b/Host/nxt-gdb-server.py
@@ -53,6 +53,7 @@ class NXTGDBServer:
self.nowait = nowait
self.port = port
self.in_buf = ''
+ self.brick = None
def pack (self, data, segment_no):
"""Return packed data to send to NXT."""
@@ -164,8 +165,8 @@ class NXTGDBServer:
if not self.nowait:
dummy = raw_input('Waiting...Press <ENTER> when NXT GDB Stub is ready. ')
# Open connection to the NXT brick.
- server.brick = nxt.locator.find_one_brick ()
- server.brick.sock.debug = DEBUG
+ self.brick = nxt.locator.find_one_brick ()
+ self.brick.sock.debug = DEBUG
# Wait for a connection.
print "Waiting for GDB connection on port %s..." % self.port
client, addr = s.accept ()
@@ -194,7 +195,7 @@ class NXTGDBServer:
data = ''
for seg in segments:
try:
- server.brick.sock.send (seg)
+ self.brick.sock.send (seg)
except usb.USBError as e:
# Some pyusb are buggy, ignore some "errors".
if e.args != ('No error', ):
@@ -202,14 +203,14 @@ class NXTGDBServer:
if segments != [] and LIBUSB_RECEIVE_BLOCKING:
if DEBUG2:
print "Accessing Blocking sock.recv()"
- data = self.reassemble (server.brick.sock)
+ data = self.reassemble (self.brick.sock)
else:
client.close ()
client = None
if not LIBUSB_RECEIVE_BLOCKING:
if DEBUG2:
print "Accessing Non-Blocking sock.recv()"
- data = self.reassemble (server.brick.sock)
+ data = self.reassemble (self.brick.sock)
# Is there something from NXT brick?
if data:
@@ -218,7 +219,7 @@ class NXTGDBServer:
if client:
client.send (data)
data = ''
- server.brick.sock.close()
+ self.brick.sock.close()
print "Connection closed."
if __name__ == '__main__':
@@ -244,5 +245,6 @@ if __name__ == '__main__':
server.run ()
except KeyboardInterrupt:
print "\n\nException caught. Bye!"
- server.brick.sock.close()
+ if server.brick is not None:
+ server.brick.sock.close()
sys.exit()