# HG changeset patch # User edouard # Date 1298028588 -3600 # Node ID 7fcdc0d3d8d922c8e006626585dc78b158d63225 # Parent 6765adf587115c16c6b2cf3b220014df193cbf08 Some typo fixes to make debug related methods in LPCAppOject stop throwing exceptions, less agressive error message when unplugging LPC diff -r 6765adf58711 -r 7fcdc0d3d8d9 LPCBeremiz.py --- a/LPCBeremiz.py Thu Feb 17 17:34:29 2011 +0100 +++ b/LPCBeremiz.py Fri Feb 18 12:29:48 2011 +0100 @@ -499,8 +499,7 @@ if self.previous_plcstate=="Started": if self.DebugAvailable() and self.GetIECProgramsAndVariables(): self.logger.write(_("Debug connect matching running PLC\n")) - #TODO re-enable - #self._connect_debug() + self._connect_debug() else: self.logger.write_warning(_("Debug do not match PLC - stop/transfert/start to re-enable\n")) @@ -834,8 +833,7 @@ if self.GetIECProgramsAndVariables(): self._connector.StartPLC() self.logger.write(_("Starting PLC\n")) - #TODO re-enable - #self._connect_debug() + self._connect_debug() else: self.logger.write_error(_("Couldn't start PLC !\n")) self.UpdateMethodsFromPLCStatus() diff -r 6765adf58711 -r 7fcdc0d3d8d9 connectors/LPC/LPCAppObject.py --- a/connectors/LPC/LPCAppObject.py Thu Feb 17 17:34:29 2011 +0100 +++ b/connectors/LPC/LPCAppObject.py Fri Feb 18 12:29:48 2011 +0100 @@ -94,10 +94,11 @@ for idx,iectype,force in idxs: idxstr = ctypes.string_at( ctypes.pointer( - ctypes.c_uint32(length)),4) + ctypes.c_uint32(idx)),4) if force !=None: c_type,unpack_func, pack_func = self.TypeTranslator.get(iectype, (None,None,None)) - forcedsizestr = chr(ctypes.sizeof(c_type)) + forced_type_size = ctypes.sizeof(c_type) + forcedsizestr = chr(forced_type_size) forcestr = ctypes.string_at( ctypes.pointer( pack_func(c_type,force)), @@ -117,8 +118,8 @@ offset = 0 strbuf = self.HandleSerialTransaction( GET_TRACE_VARIABLETransaction()) - size = len(strbuf) - 4 - if size > 0 and self.PLCStatus == "Started": + if strbuf is not None and len(strbuf) > 4 and self.PLCStatus == "Started": + size = len(strbuf) - 4 tick = ctypes.cast( ctypes.c_char_p(strbuf[:4]), ctypes.POINTER(ctypes.c_int)).contents diff -r 6765adf58711 -r 7fcdc0d3d8d9 connectors/LPC/LPCAppProto.py --- a/connectors/LPC/LPCAppProto.py Thu Feb 17 17:34:29 2011 +0100 +++ b/connectors/LPC/LPCAppProto.py Fri Feb 18 12:29:48 2011 +0100 @@ -17,7 +17,7 @@ else: raise LPCProtoError("controller did not answer as expected") except Exception, e: - raise LPCProtoError("LPC transaction error : "+str(e)) + raise LPCProtoError("application mode transaction error : "+str(e)) finally: self.TransactionLock.release() return LPC_STATUS.get(current_plc_status,"Broken"), res diff -r 6765adf58711 -r 7fcdc0d3d8d9 connectors/LPC/LPCObject.py --- a/connectors/LPC/LPCObject.py Thu Feb 17 17:34:29 2011 +0100 +++ b/connectors/LPC/LPCObject.py Fri Feb 18 12:29:48 2011 +0100 @@ -46,7 +46,7 @@ self.PLCStatus, res = self.SerialConnection.HandleTransaction(transaction) return res except Exception,e: - self.pluginsroot.logger.write_error(str(e)+"\n") + self.pluginsroot.logger.write_warning(str(e)+"\n") self.SerialConnection.close() self.SerialConnection = None self.PLCStatus = "Disconnected" diff -r 6765adf58711 -r 7fcdc0d3d8d9 connectors/LPC/LPCProto.py --- a/connectors/LPC/LPCProto.py Thu Feb 17 17:34:29 2011 +0100 +++ b/connectors/LPC/LPCProto.py Fri Feb 18 12:29:48 2011 +0100 @@ -9,7 +9,7 @@ self.msg = msg def __str__(self): - return "LPC communication error ! " + str(self.msg) + return "Exception in PLC protocol : " + str(self.msg) class LPCProto: def __init__(self, port, rate, timeout):