def do_connect(self, cmdLine): 'Connect to an XCP slave: connect' parser = ShellArgParser(prog='connect', description=__doc__) args = parser.parse_args(shlex.split(cmdLine)) slave = CANInterface.XCPSlaveCANAddr(args.commandId, args.responseId) self.interface.connect(slave) self.connection = XCPConnection.Connection(self.interface)
type=hexInt, default=1) args = parser.parse_args() if args.size == 1: uploadDelegate = UploadDelegate8() elif args.size == 2: uploadDelegate = UploadDelegate16() elif args.size == 4: uploadDelegate = UploadDelegate32() try: with CANInterface.MakeInterface(args.deviceURI) as interface: slave = CANInterface.XCPSlaveCANAddr(args.commandId, args.responseId) interface.connect(slave) connection = XCPConnection.Connection(interface, readTimeout, writeTimeout) for address in range(args.address, args.address + args.words): pointer = XCPConnection.Pointer(address, args.extension) print(uploadDelegate.upload(connection, pointer)) connection.close() except (OSError, CANInterface.ConnectFailed): try: interface.close() except NameError: pass raise except: interface.close() raise