Mercurial > lcfOS
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)