| Index: emcore/trunk/tools/emcore.py | 
| — | — | @@ -131,7 +131,7 @@ | 
| 132 | 132 | try: | 
| 133 | 133 | self.emcore = libemcore.Emcore(loglevel = 2) | 
| 134 | 134 | except libemcore.DeviceNotFoundError: | 
| 135 |  | -            self.logger.error("No emCORE device found!")
 | 
|  | 135 | +            self.logger.error("No emCORE device found!\n") | 
| 136 | 136 | exit(1) | 
| 137 | 137 | self.getinfo("version") | 
| 138 | 138 |  | 
| — | — | @@ -149,17 +149,17 @@ | 
| 150 | 150 | except ArgumentTypeError, e: | 
| 151 | 151 | usage(e, specific=func) | 
| 152 | 152 | except NotImplementedError: | 
| 153 |  | -                self.logger.error("This function is not implemented yet!")
 | 
|  | 153 | +                self.logger.error("This function is not implemented yet!\n") | 
| 154 | 154 | except libemcore.DeviceError, e: | 
| 155 |  | -                self.logger.error(str(e))
 | 
|  | 155 | +                self.logger.error(str(e) + "\n") | 
| 156 | 156 | except TypeError, e: | 
| 157 | 157 | # Only act on TypeErrors for the function we called, not on TypeErrors raised by another function. | 
| 158 | 158 | if str(e).split(" ", 1)[0] == func + "()": | 
| 159 |  | -                    self.logger.error(usage("Argument Error in '" + func + "': Wrong argument count", specific=func))
 | 
|  | 159 | +                    self.logger.error(usage("Argument Error in '" + func + "': Wrong argument count", specific=func) + "\n") | 
| 160 | 160 | else: | 
| 161 | 161 | raise | 
| 162 | 162 | except libemcore.usb.core.USBError: | 
| 163 |  | -                self.logger.error("There is a problem with the USB connection.")
 | 
|  | 163 | +                self.logger.error("There is a problem with the USB connection.\n") | 
| 164 | 164 | else: | 
| 165 | 165 | usage("No such command") | 
| 166 | 166 |  | 
| — | — | @@ -231,7 +231,7 @@ | 
| 232 | 232 | self.logger.info("Maximum packet sizes: \n command out: " + str(self.emcore.lib.dev.packetsizelimit.cout) + \ | 
| 233 | 233 | "\n command in: " + str(self.emcore.lib.dev.packetsizelimit.cin) + \ | 
| 234 | 234 | "\n data in: " + str(self.emcore.lib.dev.packetsizelimit.din) + \ | 
| 235 |  | -                             "\n data out: " + str(self.emcore.lib.dev.packetsizelimit.dout))
 | 
|  | 235 | +                             "\n data out: " + str(self.emcore.lib.dev.packetsizelimit.dout)+ "\n") | 
| 236 | 236 |  | 
| 237 | 237 | elif infotype == "usermemrange": | 
| 238 | 238 | resp = self.emcore.getusermemrange() | 
| — | — | @@ -238,7 +238,7 @@ | 
| 239 | 239 | self.logger.info("The user memory range is " + \ | 
| 240 | 240 | self._hex(self.emcore.lib.dev.usermem.lower) + \ | 
| 241 | 241 | " - " + \ | 
| 242 |  | -                             self._hex(self.emcore.lib.dev.usermem.upper - 1))
 | 
|  | 242 | +                             self._hex(self.emcore.lib.dev.usermem.upper - 1) + "\n") | 
| 243 | 243 |  | 
| 244 | 244 | else: | 
| 245 | 245 | raise ArgumentTypeError("one out of 'version', 'packetsize', 'usermemrange'", infotype) | 
| — | — | @@ -564,7 +564,7 @@ | 
| 565 | 565 | raise ArgumentError("File not readable. Does it exist?") | 
| 566 | 566 | with f: | 
| 567 | 567 | data = self.emcore.run(f.read()) | 
| 568 |  | -        self.logger.info("Executed emCORE application as thread " + self._hex(data.thread))
 | 
|  | 568 | +        self.logger.info("Executed emCORE application as thread " + self._hex(data.thread) + "\n") | 
| 569 | 569 |  | 
| 570 | 570 | @command | 
| 571 | 571 | def execimage(self, addr): | 
| — | — | @@ -686,7 +686,7 @@ | 
| 687 | 687 | self.logger.info("done\n") | 
| 688 | 688 | data = self.emcore.read(destination, sha1size) | 
| 689 | 689 | hash = ord(data) | 
| 690 |  | -        self.logger.info("The generated hash is "+self._hex(hash))
 | 
|  | 690 | +        self.logger.info("The generated hash is "+self._hex(hash)+"\n") | 
| 691 | 691 |  | 
| 692 | 692 | @command | 
| 693 | 693 | def ipodnano2g_getnandinfo(self): | 
| — | — | @@ -699,7 +699,7 @@ | 
| 700 | 700 | self.logger.info("Number of banks: "        + str(data["banks"])+"\n") | 
| 701 | 701 | self.logger.info("Number of blocks: "       + str(data["blocks"])+"\n") | 
| 702 | 702 | self.logger.info("Number of user blocks: "  + str(data["userblocks"])+"\n") | 
| 703 |  | -        self.logger.info("Pages per block: "        + str(data["pagesperblock"]))
 | 
|  | 703 | +        self.logger.info("Pages per block: "        + str(data["pagesperblock"])+"\n") | 
| 704 | 704 |  | 
| 705 | 705 | @command | 
| 706 | 706 | def ipodnano2g_nandread(self, addr, start, count, doecc=True, checkempty=True): | 
| — | — | @@ -848,7 +848,7 @@ | 
| 849 | 849 | self.logger.info("Number of sectors: "+str(data["numsectors"])+"\n") | 
| 850 | 850 | self.logger.info("Vendor: "+data["vendor"]+"\n") | 
| 851 | 851 | self.logger.info("Product: "+data["product"]+"\n") | 
| 852 |  | -        self.logger.info("Revision: "+data["revision"])
 | 
|  | 852 | +        self.logger.info("Revision: "+data["revision"]+"\n") | 
| 853 | 853 |  | 
| 854 | 854 | @command | 
| 855 | 855 | def readrawstorage(self, volume, sector, count, addr): | 
| — | — | @@ -1094,7 +1094,7 @@ | 
| 1095 | 1095 | f = open(localname, 'rb') | 
| 1096 | 1096 | except IOError: | 
| 1097 | 1097 | raise ArgumentError("Could not open local file for reading.") | 
| 1098 |  | -            self.logger.info("Uploading file " + localname + " to " + remotename + "...")
 | 
|  | 1098 | +            self.logger.info("Uploading file " + localname + " to " + remotename + "...\n") | 
| 1099 | 1099 | fd = self.emcore.file_open(remotename, 0x15) | 
| 1100 | 1100 | while True: | 
| 1101 | 1101 | data = f.read(buffsize) | 
| — | — | @@ -1194,9 +1194,9 @@ | 
| 1195 | 1195 | """ Changes the owner of the memory allocation <ptr> to the thread struct at addr <owner> """ | 
| 1196 | 1196 | ptr = self._hexint(ptr) | 
| 1197 | 1197 | owner = self._hexint(owner) | 
| 1198 |  | -        self.logger.info("Changing owner of the memory region 0x%x to 0x%x" % (ptr, owner))
 | 
|  | 1198 | +        self.logger.info("Changing owner of the memory region 0x%x to 0x%x\n" % (ptr, owner)) | 
| 1199 | 1199 | self.emcore.reownalloc(ptr, owner) | 
| 1200 |  | -        self.logger.info("Successfully changed owner of 0x%x to 0x%x" % (ptr, owner))
 | 
|  | 1200 | +        self.logger.info("Successfully changed owner of 0x%x to 0x%x\n" % (ptr, owner)) | 
| 1201 | 1201 |  | 
| 1202 | 1202 | @command | 
| 1203 | 1203 | def free(self, ptr): | 
| Index: emcore/trunk/tools/libemcore.py | 
| — | — | @@ -876,7 +876,7 @@ | 
| 877 | 877 | @command() | 
| 878 | 878 | def reownalloc(self, ptr, owner): | 
| 879 | 879 | """ Changes the owner of the memory allocation 'ptr' to the thread struct at addr 'owner' """ | 
| 880 |  | -        self.logger.debug("Changing owner of the memory region 0x%x to 0x%x" % (ptr, owner))
 | 
|  | 880 | +        self.logger.debug("Changing owner of the memory region 0x%x to 0x%x\n" % (ptr, owner)) | 
| 881 | 881 | return self.lib.monitorcommand(struct.pack("IIII", 55, ptr, owner, 0), "III", (None, None, None)) | 
| 882 | 882 |  | 
| 883 | 883 | @command() |