summaryrefslogtreecommitdiff
path: root/examples/device/usbtmc
AgeCommit message (Collapse)Author
2026-07-07Add SuperSpeed descriptors to all bulk/interrupt class drivers and exampleshathach
Class drivers: skip and account the SS endpoint companion descriptor in every descriptor walk (hid, midi, midi2, ecm_rndis, printer, mtp, usbtmc), via a shared usbd_skip_ss_ep_companion() helper in usbd_pvt.h (cdc/ncm already handled; vendor/dfu naturally tolerant). usbtmc buffer grows to 1024 at SS to satisfy its packet-multiple assert. bth/audio/video are left FS/HS-only (ISO-centric; ISO is unsupported on the CH569 dcd). usbd.h: new SS template macros TUD_HID_SS_DESCRIPTOR(+INOUT), TUD_MIDI_SS_DESCRIPTOR (+ DESC_EP_SS part), TUD_MIDI2_DESC_ALT1_EP_SS, TUD_PRINTER_SS_DESCRIPTOR, TUD_MTP_SS_DESCRIPTOR, TUD_USBTMC_BULK_SS_DESCRIPTORS/INT_SS_DESCRIPTOR, with _SS_DESC_LEN counterparts (bulk endpoints hardcode 1024, companion after every EP). Examples: 17 bulk/interrupt examples gain the full SS descriptor set (EP0 512/64 clamp, SS device descriptor bcdUSB 3.20 mps0=2^9, SS config with companions, BOS caps, speed-switched callbacks): cdc_dual_ports, cdc_msc_freertos, dfu, dfu_runtime, dynamic_configuration, hid_boot_interface, hid_composite(+freertos), hid_generic_inout, hid_multiple_interface, midi_test(+freertos), midi2_device, msc_dual_lun, mtp, printer_to_cdc, usbtmc, webusb_serial. msc_dual_lun is un-skipped for CH569 using read-only flash disks (16KB RAM can't hold two 8KB RAM disks, same as ch32v10x/v20x boards). Validation: full example sweep green for hydrausb3_v1 (SPEED=super, 19 device ELFs) and raspberry_pi_pico; wTotalLength == sizeof() verified for every SS configuration array in the built ELFs; ceedling 65/65; pre-commit clean; code-size delta +0.0% on rp2040 (SS code folds out on non-SS builds). Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_019MRGjBT2NBkCoWwyDT4LaE
2026-06-29docs: add build-doc tooling and a README for every examplehathach
Documentation tooling: - Add the `build-doc` skill and `tools/build_doc.py` wrapper for local Sphinx builds (clean / -W / open). - Enable Markdown (MyST) in conf.py and auto-collect examples/{device,host,dual}/*/README.md into a 3-level Examples nav (Examples > Device/Host/Dual > example), noting each page's source location and normalizing headings to a single H1. - Remove the stale `.claude/commands/build-doc.md`; point the AGENTS.md Documentation section at the skill. Example docs: - Add a README.md for every device/host/dual example: what it does, USB interface table, notable tusb_config.h settings, generic CMake + Make build steps, and how to try it. - Fold each *_freertos variant into its base README, noting the FreeRTOS source path and any RTOS-specific behavior. Generated docs/examples/ output is git-ignored. Builds clean with `sphinx-build -W`. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-14Fix one direction endpoint examplesJie Feng
2026-02-28replace board_millis() with tusb_time_millis_api()hathach
2025-12-19clean up cmake, remove family_get_project_name()hathach
2025-10-28fix Identifiers that start with '__' or '_[A-Z]' are reserved.hathach
fix compiling with nuc family
2025-10-28fix descriptor warning when shifting zerohathach
2025-10-24fix several warningshathach
2025-10-14more make refactorhathach
2025-10-14improve cmake warning flags, fix various warnings in exampleshathach
2025-10-14move make.mk to hw/bsp/family_support.mkhathach
2025-09-17Fix board_init_after_tusbHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-09-12fix warnings, update docshathach
2025-02-09Add CMake presets.HiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-01-21bump up cmake min to 3.20hathach
2024-10-14change the tusb_rhport_init_t struct, exclude the rhport to make API more ↵hathach
consistent
2024-10-11change tusb_init(), tusb_rhport_init() to use init struct for expandabilityhathach
2024-10-10add new tusb_int_handler(rhport, in_isr) as common irq handlerhathach
update tusb_init() to take rhport and role, defined as macro with optional argument for backward compatible
2024-09-17make all python files executable and standardize interpreterShawn Hoffman
2024-08-15couple of fixes for usbtmc exampleHinko Kocevar
2023-11-29update esp32 to also be supported by hil testhathach
test run locally well
2023-11-23move make.mk and rules.mk to build_system/makehathach
2023-08-09Merge pull request #2202 from Rocky04/patch-4Ha Thach
Invoke unmounted state on configuration reset
2023-08-07Update examplesRocky04
2023-08-04update all examples to use unique ID as serial if avaialblehathach
2023-08-04Merge branch 'master' into enhance-bsphathach
2023-08-03rename hw/bsp/board.h to board_api.hhathach
2023-07-31enable USBMC for uno r4, add board_init_after_tusb() APIhathach
add BOARD_UPPERCASE for board detection
2023-06-27rework cmake with rtos support add RTOS to ↵hathach
family_configure_device/host/dual_example()
2023-04-21update most examples cmake to build with imxrthathach
2023-03-18minor clean uphathach
2023-03-17Merge branch 'master' into portabilityhathach
2023-03-17fix trailing space and new linehathach
temporarily disable codespell
2023-03-06integrate top.mk into make.mkhathach
2023-01-18dont use non-std strncasecmphathach
2023-01-18get most examples build with iarhathach
2022-09-13Remove unused static dataBen Avison
This affects struct rspMsg in usbtmc_app.c (unconditionally) and uint8_t termChar in usbtmc_device.c (when NDEBUG is defined). IAR generates warning Pe550 'variable was set but never used'.
2022-09-13Remove unreachable codeBen Avison
IAR generates warning Pe111 'statement is unreachable'. In a couple of cases, replace return statements with TU_ATTR_FALLTHROUGH; because some compilers apparently can't figure out that the return statements are unreachable but do whinge about an imagined fall-through without them!
2022-09-12IAR declares strncasecmp in string.h not strings.hBen Avison
strings.h is not an ISO header file, so IAR generates fatal error Pe1696 'cannot open source file "strings.h"'. Even though strncasecmp isn't an ISO C library function, IAR's runtime library defines it, though it declares it in string.h instead.
2022-07-18Merge pull request #1531 from pigrew/usbtmc_highspeedHa Thach
USBTMC: Fixes and support for high-speed USB
2022-07-12RP@040: rework CMake for compiler warningsgraham sanderson
2022-06-27fix most warnings with rp2040 -wconversionhathach
2022-06-24USBTMC: Update test python code to use the new pyvisa namespace, and other ↵NConrad
misc fixes
2022-06-21Update USBTMC descriptors to support high speed, set USB version to 2.0.0 ↵NConrad
for all cases.
2022-06-06more example updatehathach
2022-06-01rename board specific macro for examplehathach
- BOARD_DEVICE/HOST_RHPORT_NUM to BOARD_TUD/H_RHPORT - BOARD_DEVICE/HOST_RHPORT_SPEED to BOARD_TUD/H_MAX_SPEED
2022-02-25auto detect max rhport speed based on mcuhathach
2022-01-05Skip dfu and usbtmc on pi zeroScott Shawcroft
2021-08-26TD 9.12 remote wakeup testhathach
remove TUSB_DESC_CONFIG_ATT_REMOTE_WAKEUP attribute from non-hid examples
2021-06-10Make examples standalone buildable via CMakegraham sanderson