Giter VIP home page Giter VIP logo

Comments (6)

Laikulo avatar Laikulo commented on August 26, 2024 1

Klipper supports this by sending the string \x1c Request Serial Bootloader!! ~ directly over serial. It actually needs to fail parsing as a command for this to work. It also needs to be it's own "block", so if the device is in use by other things, it may not be recognized. I may try to work up a PR for this later this week.

Klipper ref: https://github.com/Klipper3d/klipper/blob/5f990f93d533247d3a675e8c423280f4333ad8ce/src/generic/serial_irq.c#L83

from katapult.

Laikulo avatar Laikulo commented on August 26, 2024

While testing out a PR for this, it looks like Klipper only supported this on real serial ports. I've opened a PR to add it to USB-CDC virtual serial ports.
Klipper3d/klipper#6340

from katapult.

Arksine avatar Arksine commented on August 26, 2024

FWIW, Klipper already has method for requesting the bootloader over CDC-ACM connections, and it has a script, flash_usb.py, that requests the bootloader. Presumably it also has a script for requesting the bootloader over UART connections, however I'm unsure.

Application specific bootloader requests probably should not exist in flashtool.py, but rather in the application repository itself, since the application defines exactly how the bootloader should be requested. The CAN bootloader request is a bit unique considering there are relatively few CAN bootloaders available. In this case Katapult defines how the bootloader is requested and applications are expected to implement it.

from katapult.

Laikulo avatar Laikulo commented on August 26, 2024

Ah, I was not aware that klipper actually implemented that in CDC, I've only had success with that method on arduino/FTDI like systems.

from katapult.

miklschmidt avatar miklschmidt commented on August 26, 2024

I just realized my dumbass didn't really understand how this works. Am i correct in assuming that klipper will boot into katapult (configured for USB communication) when attempting to flash with make flash FLASH_DEVICE=whatever?

In that case this issue shouldn't have been opened in the first place, just needs a small clarification in the docs, so people like me won't think it doesn't work 😂

from katapult.

miklschmidt avatar miklschmidt commented on August 26, 2024

I just verified that it does in fact work! And it was almost too easy. You may have just made my week without doing anything @Arksine. Closing! 👍

from katapult.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.