Skip to content

examples: run #9's test plan on hardware #11

Description

@bdbarnett

PR #9 (merged as edea99c, 2026-09-07) added nine examples and rewrote uvc_display.py to prefer MJPEG through jpegio. It was merged on a static review: every _usbif call checked against the C module's locals, argument tables and tuple layouts, the usbif.uac_audio / usbif.hid_keyboard / events surfaces checked, all twelve files compiled, and host_enum.py run on desktop CPython (where it reports no capabilities on WSL, as expected). Nothing was run on a board.

The PR's own test plan, still unchecked:

  • P4: soundcard.py — Speakers appear on a PC; audio audible
  • S3: usb_speaker.py hosting the P4 — tone on the P4 speaker
  • hid_keyboard.py / hid_mouse.py against a PC
  • hid_host.py with a keyboard (M1 events)
  • uvc_display.py with jpegio firmware (MJPEG) and without (YUY2) — this one was a working example before the rewrite, so it is the first to run
  • host_enum.py on a board
  • usb_serial.py, usb_mic.py, ram_drive.py
  • costume_selftest.py still 31/31

Two things a run may surface that the static pass could not: soundcard.py reads I2S pins and codec hooks from board_peripherals under several guessed names and falls back to _output_power / _codec_call; and usb_mic.py / usb_speaker.py read the negotiated format through getattr(..., "format") with a .stream fallback. Whichever branch a real board takes should be the one that stays.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions