Puya PY32F07x support#3694
Open
rhgndf wants to merge 7 commits into
Open
Conversation
rhgndf
commented
Jun 11, 2026
| }; | ||
| uint16_t length; /* the number of bytes in the buffer */ | ||
| uint16_t remaining; /* the number of bytes remaining in the buffer */ | ||
| uint16_t mps; /* maximum packet size */ |
Contributor
Author
There was a problem hiding this comment.
adds 2 more bytes to the struct, is this ok? py32's maxp field is in increments of multiples of 8 for packet size, instead of per byte for others
| | +---------+-------------------+--------+------+-----------+------------------------+--------------------+ | ||
| | | RW61x | ✅ | ✅ | ✅ | ci_hs, ehci | | | ||
| +--------------+-----------------------------+--------+------+-----------+------------------------+--------------------+ | ||
| | Puya | PY32F071, PY32F072 | ✅ | ❌ | ❌ | musb | 1-dir ep | |
Contributor
Author
There was a problem hiding this comment.
A bit more specific than "1-dir ep"? Two dirs are possible with some scheduling, but probably very complex
| #if defined(TUP_USBIP_MUSB_PY32) | ||
| void dcd_connect(uint8_t rhport) | ||
| { | ||
| (void) rhport; |
Contributor
Author
There was a problem hiding this comment.
A connect/disconnect requires enabling or disabling the entire block through the APB, doesn't look like it can disconnect the resistor by itself.
|
| target | .text | .rodata | .data | .bss | total | % diff |
|---|---|---|---|---|---|---|
| ek_tm4c123gxl/audio_test | 12,164 → 12,180 (+16) | — | — | — | 12,216 → 12,232 (+16) | +0.1% |
| ek_tm4c123gxl/audio_test_multi_rate | 12,376 → 12,392 (+16) | — | — | — | 12,428 → 12,444 (+16) | +0.1% |
| msp_exp432e401y/dfu_runtime | 8,960 → 8,948 (-12) | — | — | — | 9,528 → 9,516 (-12) | -0.1% |
| ek_tm4c123gxl/video_capture | 13,352 → 13,368 (+16) | — | — | — | 13,412 → 13,428 (+16) | +0.1% |
| ek_tm4c123gxl/uac2_headset | 13,692 → 13,708 (+16) | — | — | — | 13,728 → 13,744 (+16) | +0.1% |
| msp_exp432e401y/hid_generic_inout | 10,012 → 10,000 (-12) | — | — | — | 10,580 → 10,568 (-12) | -0.1% |
| ek_tm4c123gxl/uac2_speaker_fb | 14,456 → 14,472 (+16) | — | — | — | 14,492 → 14,508 (+16) | +0.1% |
| msp_exp432e401y/hid_multiple_interface | 10,796 → 10,784 (-12) | — | — | — | 11,364 → 11,352 (-12) | -0.1% |
| msp_exp432e401y/hid_boot_interface | 10,808 → 10,796 (-12) | — | — | — | 11,376 → 11,364 (-12) | -0.1% |
| ek_tm4c123gxl/cdc_uac2 | 15,292 → 15,308 (+16) | — | — | — | 15,328 → 15,344 (+16) | +0.1% |
8c0c88e to
9e6e54e
Compare
Hardware-in-the-loop (HIL) Test Reporthfp.json✅ 52 passed · ❌ 0 failed · ⚪ 0 skipped · blank not run
tinyusb.json✅ 338 passed · ❌ 1 failed · ⚪ 11 skipped · blank not run
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds support for another musb variant, py32f07x. The USB block looks like musb with a modified register layout and a lot of functions stripped out.
I'm evaluating this MCU due to it having USB support (also have DFU and is low cost). I also have HC32F460 and HC32F4A0 if anyone is interested to see a port of those.
Dev board is a generic board, no special name
