greatscottgadgets / apollo

microcontroller-based FPGA / JTAG programmer
BSD 3-Clause "New" or "Revised" License
53 stars 28 forks source link

Only one VID/PID for all Apollo platforms #86

Open mossmann opened 2 weeks ago

mossmann commented 2 weeks ago

Currently we have only one VID/PID for all Apollo platforms. We use bcdDevice to indicate Cynthion hardware revision, but we also overload bcdDevice with board identification. There are some problems with this:

Proposal:

The use of 1209:0010 requires that we additionally qualify Apollo devices, for example by checking for the word "Apollo" in the product string or a vendor request, but we already want to do that anyway. See #61 and #47.

mossmann commented 2 weeks ago

@cyber-murmel I'm interested in your thoughts on this proposal.

cyber-murmel commented 6 days ago

I think this proposal is sound! Saturn-V shouldn't be as big of an issue, since the RP2040 (and QtPy iirc) for example use UF2 anyway.

Create a new vendor request for board identification in Apollo.

Would this also bump the USB API number?

Checking the product string might cause outdated software in the future to fail detect the debugger, if the name changes, but that's a very fringe case.

Seems all fine by me!

mossmann commented 6 days ago

Yes, the new vendor request would bump the USB API version.