From 3686db10fdf751911a93a90f6c2e8bfe7169dc6a Mon Sep 17 00:00:00 2001 From: Eric Callahan Date: Wed, 13 Apr 2022 18:23:44 -0400 Subject: [PATCH] flash_can: add interface argument Signed-off-by: Eric Callahan --- scripts/flash_can.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/scripts/flash_can.py b/scripts/flash_can.py index 1c4f988..17a4c86 100644 --- a/scripts/flash_can.py +++ b/scripts/flash_can.py @@ -346,11 +346,11 @@ class CanSocket: self.nodes[decoded_id + 1] = node return node - async def run(self, uuid: int, fw_path: pathlib.Path): + async def run(self, intf: str, uuid: int, fw_path: pathlib.Path) -> None: if not fw_path.is_file(): raise FlashCanError("Invalid firmware path '%s'" % (fw_path)) try: - self.cansock.bind(("can0",)) + self.cansock.bind((intf,)) except Exception: raise FlashCanError("Unable to bind socket to can0") self.closed = False @@ -386,17 +386,25 @@ class CanSocket: def main(): parser = argparse.ArgumentParser( description="Can Bootloader Flash Utility") + parser.add_argument( + "-i", "--interface", default="can0", metavar='', + help="Can Interface" + ) + parser.add_argument( + "-f", "--firmware", metavar="", + default="~/klipper/out/klipper.bin", + help="Path to Klipper firmware file") parser.add_argument('uuid', metavar="", help="Can device uuid") - parser.add_argument('fwpath', metavar="", - help="Path to firmware file") + args = parser.parse_args() + intf = args.interface uuid = int(args.uuid, 16) - fpath = pathlib.Path(args.fwpath).expanduser().resolve() + fpath = pathlib.Path(args.firmware).expanduser().resolve() loop = asyncio.get_event_loop() try: cansock = CanSocket(loop) - loop.run_until_complete(cansock.run(uuid, fpath)) + loop.run_until_complete(cansock.run(intf, uuid, fpath)) except Exception as e: logging.exception("Can Flash Error") sys.exit(-1)