예제 #1
0
 def GotCode(self, freqs, code):
     median_freq = sorted(freqs)[len(freqs) / 2]
     self.carrierFreqCtrl.SetLabel("%d.%03d kHz" %
                                   (median_freq / 1000, median_freq % 1000))
     self.code = ConvertIrCodeToProntoRaw(median_freq, code)
     self.exit = wx.ID_OK
     self.Close()
예제 #2
0
 def GotCode(self, freqs, code):
     median_freq = sorted(freqs)[len(freqs) / 2]
     #the following line causes EG to crash
     #self.carrierFreqCtrl.SetLabel(
     #    "%d.%03d kHz" % (median_freq / 1000, median_freq % 1000)
     #)
     self.code = ConvertIrCodeToProntoRaw(median_freq, code)
     self.exit = 1
     self.Close()
 def GotCode(self, freqs, code):
     median_freq = sorted(freqs)[len(freqs) / 2]
     self.carrierFreqCtrl.SetLabel("%d.%03d kHz" %
                                   (median_freq / 1000, median_freq % 1000))
     try:  #Duc
         self.code = ConvertIrCodeToProntoRaw(median_freq, code)
     except:  #Duc
         self.code = "ERROR"  #Duc: avoid ZeroDivisionError (carrier = 0)
     setCodeToEditCtrl(self.editCtrl, self.code)  #Duc
     self.exit = wx.ID_OK
 def GotCode(self, freqs, code):
     median_freq = sorted(freqs)[len(freqs) / 2]
     self.carrierFreqCtrl.SetLabel("%d.%03d kHz" %
                                   (median_freq / 1000, median_freq % 1000))
     self.code1.append(ConvertIrCodeToProntoRaw(median_freq, code))
     if self.tryes == 0:
         self.firstLength = len(self.code1[self.tryes])
         self.tryes += 1
         print "IR: " + str(self.tryes) + "/" + str(
             self.maxTryes) + " IR codes received successfully!"
     elif len(self.code1[self.tryes]) == self.firstLength:
         self.tryes += 1
         print "IR: " + str(self.tryes) + "/" + str(
             self.maxTryes) + " IR codes received successfully!"
     else:
         del self.code1[-1]
         print "IR ERROR: Length of the latest IR code is not equal to the length of the first IR code, please try again!"
     if self.tryes == self.maxTryes:
         self.tryes = 0
         print "IR: calculating..."
         time.sleep(1)
         for i in range(self.maxTryes):
             if i == 0:
                 finalList1 = self.code1[i].split(" ")
                 for j in range(len(finalList1)):
                     finalList1[j] = int(finalList1[j], 16)
             else:
                 dataList = self.code1[i].split(" ")
                 for j in range(len(finalList1)):
                     finalList1[j] += int(dataList[j], 16)
             #print finalList1
         finalList2 = []
         for i in range(len(finalList1)):
             finalList2.append(
                 format(int(finalList1[i] / self.maxTryes), '04X'))
         self.code = " ".join(finalList2)
         self.exit = 1
         self.Close()