diff python/stlink.py @ 130:654093a9a1e3

Added icons, improved device explorer
author Windel Bouwman
date Sat, 19 Jan 2013 18:16:04 +0100
parents 9e350a7dde98
children 205578c96a79
line wrap: on
line diff
--- a/python/stlink.py	Fri Jan 18 12:52:11 2013 +0100
+++ b/python/stlink.py	Sat Jan 19 18:16:04 2013 +0100
@@ -57,13 +57,18 @@
       assert isinstance(stlink2, UsbDevice) # Nifty type checking
       assert checkDevice(stlink2)
       self.stlink2 = stlink2
+   def __del__(self):
+      if self.IsOpen:
+         if self.CurrentMode == DEBUG_MODE:
+            self.exitDebugMode()
+         self.close()
    def __str__(self):
-      if self.devHandle:
+      if self.IsOpen:
          return 'STlink2 device version {0}'.format(self.Version)
       else:
          return 'STlink2 device'
    def open(self):
-      if self.devHandle:
+      if self.IsOpen:
          return
       self.devHandle = self.stlink2.open()
       if self.devHandle.Configuration != 1:
@@ -77,9 +82,12 @@
          self.enterSwdMode()
       self.reset()
    def close(self):
-      # TODO
-      pass
-
+      if self.IsOpen:
+         self.devHandle.close()
+         self.devHandle = None
+   @property
+   def IsOpen(self):
+      return self.devHandle != None
    # modes:
    def getCurrentMode(self):
       cmd = bytearray(16)
@@ -159,7 +167,6 @@
       cmd[0:2] = DEBUG_COMMAND, DEBUG_RUNCORE
       self.send_recv(cmd, 2)
 
-
    # Helper 1 functions:
    def write_debug32(self, address, value):
       cmd = bytearray(16)