Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for programming over USB #208

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Commits on Feb 23, 2024

  1. Add new Pybricks device class

    Adds a new Pybricks device class and provides the correct
    descriptors so that Windows will use the WinUSB driver.
    
    Signed-off-by: Nate Karstens <[email protected]>
    Co-authored-by: David Lechner <[email protected]>
    nkarstens and dlech committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    a14c469 View commit details
    Browse the repository at this point in the history
  2. Add UUID little endian copy function

    Adds function to copy UUIDs in little endian format.
    USB is a little endian protocol, so this will be used
    to encode UUIDs properly on this medium.
    
    Signed-off-by: Nate Karstens <[email protected]>
    nkarstens committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    e1b397b View commit details
    Browse the repository at this point in the history
  3. Add additional info to BOS descriptor

    Adds additional information to the BOS Descriptor by
    appending dynamically-generated platform descriptors
    that use the same UUIDs that are used with BLE and
    contain the following values:
    
     * Device Name
     * Firmware version
     * Software (protocol) version
     * Hub capabilities
    
    Signed-off-by: Nate Karstens <[email protected]>
    nkarstens committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    2cd791c View commit details
    Browse the repository at this point in the history
  4. Configure USB device and process pybricks commands

    Configures the USB device and processes pybricks commands.
    
    Signed-off-by: Nate Karstens <[email protected]>
    nkarstens committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    b42f9b2 View commit details
    Browse the repository at this point in the history
  5. Transmit response message

    Transmit the response to a command. This is used to
    communicate any errors in handling the command back
    to the user.
    
    Signed-off-by: Nate Karstens <[email protected]>
    nkarstens committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    659ceeb View commit details
    Browse the repository at this point in the history
  6. Periodically send status

    Periodically sends status flags over the USB connection.
    
    Signed-off-by: Nate Karstens <[email protected]>
    nkarstens committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    d756c90 View commit details
    Browse the repository at this point in the history
  7. Add support for transmitting stdout over USB

    Adds support for transmitting stdout messages over USB.
    
    Signed-off-by: Nate Karstens <[email protected]>
    nkarstens committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    dbbf6a0 View commit details
    Browse the repository at this point in the history
  8. Add WebUSB platform descriptor

    Adds a WebUSB platform descriptor to the BOS descriptor
    and a landing page pointing to https://code.pybricks.com.
    
    Signed-off-by: Nate Karstens <[email protected]>
    nkarstens committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    de2b325 View commit details
    Browse the repository at this point in the history