示例#1
0
 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)
示例#2
0
                    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