Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: raspberrypi/debugprobe
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: raspberrypi/debugprobe
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: watchdog
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 4 commits
  • 3 files changed
  • 1 contributor

Commits on Nov 14, 2024

  1. cdc_uart: be more careful about when the thread gets parked or resumed

    tud_cdc_connected tests dtr, not rts - so we should do the same.
    
    Don't unconditionally wake the uart thread when set_line_coding happens
    - Windows frequently calls this after every linestate change, including
    device close.
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M committed Nov 14, 2024
    Configuration menu
    Copy the full SHA
    ba204d0 View commit details
    Browse the repository at this point in the history
  2. dap_edpt_driver: handle deinit properly

    Zap pending buffers if the interface went away.
    Also fix -Wformat warnings.
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M committed Nov 14, 2024
    Configuration menu
    Copy the full SHA
    451513d View commit details
    Browse the repository at this point in the history
  3. main: add callbacks for discrete USB states

    We can save more power by parking threads when suspended, and threads
    should be deleted when disconnected.
    
    Also fix an inefficiency in usb_thread wakeups when the device is yet to
    be configured, but is addressed - slowing down control transfers.
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M committed Nov 14, 2024
    Configuration menu
    Copy the full SHA
    89c9a77 View commit details
    Browse the repository at this point in the history
  4. main: handle RP2040's broken USB error handling

    RP2040-E15 can also be triggered if a Debug Probe is connected to a
    board with a floating ground. Typically this causes port ESD protection
    to temporarily activate, meaning the Dp/Dm state gets corrupted. If this
    happens in the middle of a handshake packet, the SIE can lock up.
    
    The only way to detect this case is if SOF_RD stops advancing without a
    corresponding suspend interrupt - so add a watchdog thread that forces a
    disconnect if the hardware stops reporting frame counts.
    
    This is disruptive, but immediate notification that the probe broke is
    preferable to silently failing until the next character is sent by the host.
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M committed Nov 14, 2024
    Configuration menu
    Copy the full SHA
    f030323 View commit details
    Browse the repository at this point in the history
Loading