X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tools%2Ftinyos%2Fmisc%2Ftos-deluge;h=21d7727f96a61142d82f6678bfc70ce06d4b7274;hb=b7e372c3aa2f1da307407397da3b032df4ac4d49;hp=1277ba5df2be3172653c6264c5577421cb2dee4a;hpb=39b08cee9389feb748dcf353b459eec1565a573a;p=tinyos-2.x.git diff --git a/tools/tinyos/misc/tos-deluge b/tools/tinyos/misc/tos-deluge index 1277ba5d..21d7727f 100755 --- a/tools/tinyos/misc/tos-deluge +++ b/tools/tinyos/misc/tos-deluge @@ -186,12 +186,15 @@ def read(imgNum, offset, length): def erase(imgNum): # Note: the normal erase doesn't work properly on AT45DB. A - # workaroud is to overwrite the metadata of the Deluge image. - # - #sreqpkt = FMReqPacket((FM_CMD_ERASE, imgNum, 0, 0, [])) - #success = am.write(sreqpkt, FM_AMID) - #return handleResponse(success, "ERROR: Unable to erase the flash volume") + # workaround is to do the normal erase (to make happy STM25P) + # and then overwrite the metadata (to make happy AT45DB). + sreqpkt = FMReqPacket((FM_CMD_ERASE, imgNum, 0, 0, [])) + success = am.write(sreqpkt, FM_AMID) + result = handleResponse(success, "ERROR: Unable to erase the flash volume") + if result: return True; + + print 'Attempt the workaround for AT45DB...' sreqpkt = FMReqPacket((FM_CMD_WRITE, imgNum, 0, 0, [])) sreqpkt.data = [0xFF] * DELUGE_IDENT_SIZE sreqpkt.length = DELUGE_IDENT_SIZE @@ -413,7 +416,7 @@ if len(sys.argv) >= 3: try: print "Checking if node is a Deluge T2 base station ..." - ident(timeout=5) + ident(timeout=1) except tos.Timeout: print "ERROR: Timeout. Is the node a Deluge T2 base station?" sys.exit(-1)