greatscottgadgets / facedancer

Implement your own USB device in Python, supported by a hardware peripheral such as Cynthion or GreatFET
BSD 3-Clause "New" or "Revised" License
785 stars 118 forks source link

Add support for alternate interface settings #122

Closed martinling closed 5 days ago

martinling commented 1 month ago

This PR adds support for alternate interface settings and implements the SET_INTERFACE and GET_INTERFACE requests correctly, as per USB 2.0 sections 9.2.4, 9.4.4, 9.4.10, 9.6.5.

martinling commented 3 weeks ago

@antoinevg

This is good to go now and has working tests, but it's currently stacked on your draft version of #124, so I'm leaving it marked as draft.

Once you have a final version of #124 I'll need to rebase it, but otherwise it's ready for review.

martinling commented 5 days ago

This is rebased and ready to go now.