diff -r ca5a2047e0ed -r 02cb9e5fb6f6 connectors/LPC/LPCObject.py --- a/connectors/LPC/LPCObject.py Tue Dec 15 16:04:28 2009 +0100 +++ b/connectors/LPC/LPCObject.py Tue Dec 15 18:24:50 2009 +0100 @@ -93,11 +93,31 @@ return self.PLCStatus def NewPLC(self, md5sum, data, extrafiles): - pass + if os.path.exists(self.StorageConnection): + firmwarepath = os.path.join( + self.StorageConnection, + "firmware.bin") + try: + if os.path.exists(firmwarepath ): + os.unlink(firmwarepath) + f = open(firmwarepath, "wb") + f.write(data) + f.close() + return True + except LPCError,e: + self.StorageConnection = None + self.PLCStatus = "Disconnected" + self.pluginsroot.logger.write_error( + "LPC transfer error : "+ + str(e)+"\n") def MatchMD5(self, MD5): - data = self.HandleSerialTransaction(PLCIDTransaction()) - return data == MD5 + data = self.HandleSerialTransaction(GET_PLCIDTransaction()) + return data[:32] == MD5 + + def GetPLCInfo(self, MD5): + data = self.HandleSerialTransaction(GET_PLCIDTransaction()) + return data[32:] class IEC_STRING(ctypes.Structure): """