From cedbe2644feccca0f3e7120dc8fd8fa3c3821758 Mon Sep 17 00:00:00 2001 From: ondro Date: Sat, 30 Nov 2013 19:13:36 +0100 Subject: [PATCH] Fixed insert pattern script, fixed emulator putting CUP to 100% when listening to machine --- PDDemulate.py | 8 +++++--- app/tkapp/KnittingApp.py | 6 +++--- insertpattern.py | 6 +++--- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/PDDemulate.py b/PDDemulate.py index 181dfe9..ba1c412 100644 --- a/PDDemulate.py +++ b/PDDemulate.py @@ -391,9 +391,10 @@ class PDDemulator(): # never returns return - def handleRequest(self): - if self.ser.inWaiting() == 0: - return + def handleRequest(self, blocking = True): + if not blocking: + if self.ser.inWaiting() == 0: + return inc = self.readchar() if self.FDCmode: self.handleFDCmodeRequest(inc) @@ -618,6 +619,7 @@ class PDDemulator(): self.disk.writeSector(psn, lsn, indata) for l in self.listeners: l.dataReceived(self.disk.lastDatFilePath) + print 'Saved data in dat file: ', self.disk.lastDatFilePath except: print 'Failed to write data for sector %d, quitting' % psn self.writebytes('80000000') diff --git a/app/tkapp/KnittingApp.py b/app/tkapp/KnittingApp.py index 4c3a6c3..b63b801 100644 --- a/app/tkapp/KnittingApp.py +++ b/app/tkapp/KnittingApp.py @@ -82,9 +82,9 @@ class KnittingApp(Tkinter.Tk): def emulatorLoop(self): if self.emu.started: - self.emu.handleRequest() + self.emu.handleRequest(False) # repeated call to after_idle() caused all window dialogs to hang out application, using after() each 10 milliseconds - self.after(10,self.emulatorLoop) + self.after(100,self.emulatorLoop) def stopEmulator(self): if self.emu is not None: @@ -164,7 +164,7 @@ class KnittingApp(Tkinter.Tk): track0file.write(t0dat) track1file.write(t1dat) - self.msg.showInfo('Stored file to tracks ' + trackFile1 + ' and ' + trackFile2 + ' in config.imgdir') + self.msg.showInfo('Stored file to tracks ' + trackFile1 + ' and ' + trackFile2 + ' in ' + self.config.imgdir) except Exception as e: self.msg.showError(str(e)) finally: diff --git a/insertpattern.py b/insertpattern.py index 12f6b10..212ba6a 100644 --- a/insertpattern.py +++ b/insertpattern.py @@ -23,7 +23,7 @@ import Image import array # import convenience functions from brother module -from brother import roundeven, roundfour, roundeight, nibblesPerRow, bytesPerPattern, bytesForMemo +from brother import roundeven, roundfour, roundeight, nibblesPerRow, bytesPerPattern, bytesForMemo, methodWithPointers TheImage = None @@ -103,9 +103,9 @@ class PatternInserter: for r in range(height): row = [] # we'll chunk in bits and then put em into nibbles for s in range(width): - x = s if bf.machineFormat == 'FirstLady' else width-s-1 + x = s if methodWithPointers else width-s-1 value = TheImage.getpixel((x,height-r-1)) - isBlack = (value == 0) if bf.machineFormat == 'FirstLady' else (value != 0) + isBlack = (value == 0) if methodWithPointers else (value != 0) if (isBlack): row.append(1) else: