done = False send_dl = False for o, a in opts: if o == "-p": port = a elif o == "-d": send_dl = True elif o == "-f": blfile = a else: assert False, "Unhandled option." ser = QCSerial(port, 115200, 1) if(ser.connect() != 0): msgerr("Connection to device failed.") sys.exit(-1) if send_dl: ser.send(DOWNLOAD_CMD) status = ser.recv(4) if status == DOWNLOAD_CMD: msginfo("Download mode command sent.") sys.exit(0) else: msgerr("Failed to send command mode.") sys.exit(-1) fd = open(blfile, 'rb')
assert False, "Unhandled option." try: filesize = os.stat(nv_file).st_size except os.OSError, err: msgerr(str(err)) sys.exit(1) if ((filesize % NVITEM_SIZE) != 0): msgerr( "NV Items file isn't multiple of {0} bytes.".format(NVITEM_SIZE)) sys.exit(1) ser = QCSerial(port, 115200, 1) if (ser.connect() != 0): msgerr("Connection to device failed.") sys.exit(-1) fd = open(nv_file, 'rb') for i in range(0, filesize / NVITEM_SIZE): nv_item = fd.read(NVITEM_SIZE) item_cmd, item_num, item_data = struct.unpack("<cH128s", nv_item) if (write_all or (item_num == item)): packet = nvram_write_command(item_num, item_data)