class LPCBootProto(LPCProto):
def HandleTransaction(self, transaction):
self.TransactionLock.acquire()
transaction.SetPseudoFile(self.serialPort)
res = transaction.ExchangeData()
self.TransactionLock.release()
class LPCBootTransaction:
def __init__(self, optdata = ""):
def SetPseudoFile(self, pseudofile):
self.pseudofile = pseudofile
res = self.pseudofile.write(self.OptData)
class KEEPBOOTINGTransaction(LPCBootTransaction):
LPCBootTransaction.__init__(self, "md5\n")
ExchangeData = LPCBootTransaction.SendData
class LOADTransaction(LPCBootTransaction):
def __init__(self, data, PLCprint):
LPCBootTransaction.__init__(self, data)
#file("fw.bin","w").write(self.OptData)
loptdata = len(self.OptData)
self.PLCprint("%dkB:" % (loptdata/1024))
res = self.pseudofile.write(data[:loptdata/100])
self.PLCprint("%d%%" % count)
ExchangeData = sendDataHook
if __name__ == "__main__":
TestConnection = LPCBootProto(2,115200,1200)
mystr=file("fw.bin").read()
TestConnection.HandleTransaction(LOADTransaction(mystr, mylog))