tests/wiimote/wxglade_hmi@wxglade_hmi/pyfile.xml
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Thu, 28 Apr 2016 12:58:58 +0300
changeset 1506 b9b8978dbc9d
parent 1157 72d14a74c643
permissions -rw-r--r--
Fix error about missing attribute 'timeout' that happens sometimes during compilation

The fix [1476:49f1763a5613] of the problem with following trace was wrong.
Traceback (most recent call last):
File "./Beremiz.py", line 1229, in run_with_except_hook
run_old(*args, **kw)
File
"/home/developer/WorkData/PLC/beremiz/beremiz/util/ProcessLogger.py",
line 68, in run
self.endcallback(self.Proc.pid, err)
File
"/home/developer/WorkData/PLC/beremiz/beremiz/util/ProcessLogger.py",
line 169, in finish
if self.timeout: self.timeout.cancel()
AttributeError: ProcessLogger instance has no attribute 'timeout'
The problem was that compilation process was finished before the timeout attribute is set.
Now timeout is set before launcing of compilation process.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<PyFile>
  <variables/>
  <globals>
<![CDATA[
from threading import Thread

def OnConnectButton(self, event):
  def OnWiiConnected(mac_addr):
    self.label_2.SetLabel(
      "Wiimote %s connected"%mac_addr 
      if mac_addr else 
      "Wiimote connection failed !")

  def WiiConnected(mac_addr):
    wx.CallAfter(OnWiiConnected,mac_addr)

  Thread(target = Connect_Wiimote, args = (WiiConnected,)).start()
  self.label_2.SetLabel("Press wiimote 1+2")
  event.Skip()

def OnDisconnectButton(self, event):
  Disconnect_Wiimote()
  self.label_2.SetLabel("Wiimote disconnected")
  event.Skip()

]]>
  </globals>
  <init>
<![CDATA[
]]>
  </init>
  <cleanup>
<![CDATA[
]]>
  </cleanup>
  <start>
<![CDATA[
]]>
  </start>
  <stop>
<![CDATA[
]]>
  </stop>
</PyFile>