tinySA ULTRA: own USB IDs 1781:0A44

The tinySA ULTRA enumerates as VID 0x1781 PID 0x0A44 instead of the ST
virtual COM port pair 0x0483 0x5740; the tinySA keeps 0x0483 0x5740.
The IDs now follow the model (TINYSA4) instead of the USB descriptor
variant (__USE_USB_MSC__). bcdDevice is unchanged.

Tested on a ZS405 (HW V0.4.5.1) under Windows 11: the composite device,
the serial port and the mass storage interface bind to the inbox drivers
(usbccgp, usbser, USBSTOR) without an INF, the console works on the new
COM port and "reset dfu" enters the bootloader (0483:DF11) as before.
tinySA-App with both IDs accepted connects to either firmware.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
copilot/add-multi-platform-rf-scan-exports
erikkaashoek 2 weeks ago
parent 6fbe46f51b
commit 350642e8f2

@ -30,6 +30,18 @@ SerialUSBDriver SDU1;
#define USBD1_DATA_AVAILABLE_EP 1
#define USBD1_INTERRUPT_REQUEST_EP 2
/*
* USB vendor and product ID: the tinySA ULTRA has its own, the tinySA keeps
* the ST virtual COM port pair.
*/
#ifdef TINYSA4
#define USB_VID 0x1781
#define USB_PID 0x0A44
#else
#define USB_VID 0x0483 /* ST */
#define USB_PID 0x5740
#endif
/*
* USB Device Descriptor.
*/
@ -41,8 +53,8 @@ static const uint8_t vcom_device_descriptor_data[18] = {
0x02, /* bDeviceSubClass (Common Class). */
0x01, /* bDeviceProtocol (IAD). */
0x40, /* bMaxPacketSize. */
0x0483, /* idVendor (ST). */
0x5740, /* idProduct. */
USB_VID, /* idVendor. */
USB_PID, /* idProduct. */
0x0201, /* bcdDevice, changed with the
composite layout so that Windows
selects the drivers again. */
@ -56,8 +68,8 @@ static const uint8_t vcom_device_descriptor_data[18] = {
0x00, /* bDeviceSubClass. */
0x00, /* bDeviceProtocol. */
0x40, /* bMaxPacketSize. */
0x0483, /* idVendor (ST). */
0x5740, /* idProduct. */
USB_VID, /* idVendor. */
USB_PID, /* idProduct. */
0x0200, /* bcdDevice. */
1, /* iManufacturer. */
2, /* iProduct. */

Loading…
Cancel
Save

Powered by TurnKey Linux.