lpcmanager

Fixed Debugger issue.

2017-07-31, dgaberscek
28eb9dbc5323
Parents 5cad6b61512d
Children 8a97b75de0e7
Fixed Debugger issue.
  • +15 -3
    LPCManager.py
  • --- a/LPCManager.py Mon Jul 31 07:42:17 2017 +0200
    +++ b/LPCManager.py Mon Jul 31 12:13:33 2017 +0200
    @@ -13,6 +13,7 @@
    import __builtin__
    from types import StringType, UnicodeType
    from blinker import signal
    +import time
    _lpcmanager_path = os.path.split(__file__)[0]
    @@ -2089,7 +2090,17 @@
    self.AbortTransferTimer = None
    event.Skip()
    - def _connect_debug(self):
    + old_DebugThreadProc = ProjectController.DebugThreadProc
    + def LPCManager_DebugThreadProc(self, checking=False):
    + if checking:
    + state, ls = self._connector.GetTraceVariables()
    + while state == "Stopped":
    + state, ls = self._connector.GetTraceVariables()
    + time.sleep(0.1)
    +
    + self.old_DebugThreadProc()
    +
    + def _connect_debug(self, checking = False):
    self.previous_plcstate = None
    if self.AppFrame:
    self.AppFrame.ResetGraphicViewers()
    @@ -2098,7 +2109,8 @@
    self.DispatchDebugValuesTimer.Start(
    int(REFRESH_PERIOD * 1000), oneShot=True)
    if self.DebugThread is None:
    - self.DebugThread = Thread(target=self.DebugThreadProc)
    + # self.DebugThread = Thread(target=self.DebugThreadProc)
    + self.DebugThread = Thread(target=self.LPCManager_DebugThreadProc, args=(checking, ))
    self.DebugThread.setDaemon(True)
    self.DebugThread.start()
    @@ -2111,7 +2123,7 @@
    run_thread.daemon = True
    run_thread.start()
    self.logger.write(_("Starting PLC\n"))
    - self._connect_debug()
    + self._connect_debug(True)
    else:
    self.logger.write_error(_("Couldn't start PLC !\n"))
    self.UpdateMethodsFromPLCStatus()