CanBoot with USB to canbus bridge

It is technically possible, but requires a two step process. One can run flash_can.py -u <bridge_can_uuid> to put the bridge mcu into bootloader mode, and then flash it with flash_can.py -d /dev/serial/by-id/usb-CanBoot-xxx. There’s been discussions of better automating this, but no one has had the time as of yet.

Cheers,
-Kevin

1 Like

What would be involved in doing that? The ideal would be something that queried the UUID and USB numbers and presented the user with a choice of which one to load the most recent firmware build onto.

I haven’t looked at it enough to know the details of what’s involved. I’d guess a lot of Linux scripting. I suspect we’re getting a bit off-topic here though.

-Kevin

1 Like

@koconnor
This would be rare, but if you use deployer.bin to update CanBoot, the deployer will be loaded where Klipper was running, so the CAN bridge goes down. You cannot load Klipper back via CanBoot CAN bus or USB.

Could a selectable option be added to deployer.bin and include klipper.bin, then get both back into place so the CAN bridge will be back up and working?

  1. deployer.bin gets copied into the bootloader location.
  2. then wipes the rest of the flash memory above the CanBoot firmware to application offset.
  3. copies klipper firmware to the start of the application offset.
  4. then wipes from above Klipper formware to the end of flash memory.
  5. Resets processor.

Just an idea

I moved these posts to a new topic.

I don’t use the canboot deployer frequently enough for that to be a concern for me. So, unlikely it would be something I would spend development time on. I don’t know of anyone else working on it.

-Kevin

1 Like