diff options
author | Damien <damien.p.george@gmail.com> | 2013-10-14 00:03:29 +0100 |
---|---|---|
committer | Damien <damien.p.george@gmail.com> | 2013-10-14 00:03:29 +0100 |
commit | 5dd455d06dd3cdda7daf496822776b0c8319f02b (patch) | |
tree | bec853bd5ef6b58a2c11f9a79669a725c12e97e9 | |
parent | fee89d520fb02b6fb673050c9d2043e14641edf6 (diff) | |
download | micropython-5dd455d06dd3cdda7daf496822776b0c8319f02b.tar.gz micropython-5dd455d06dd3cdda7daf496822776b0c8319f02b.zip |
Change VID/PID info so USB works on Windows.
-rw-r--r-- | stm/lib/usbd_desc.c | 22 | ||||
-rw-r--r-- | stm/lib/usbd_pyb_core.c | 12 |
2 files changed, 25 insertions, 9 deletions
diff --git a/stm/lib/usbd_desc.c b/stm/lib/usbd_desc.c index d4ada2de26..1edbdbfac2 100644 --- a/stm/lib/usbd_desc.c +++ b/stm/lib/usbd_desc.c @@ -52,13 +52,10 @@ /** @defgroup USBD_DESC_Private_Defines * @{ */ +/* #define USBD_VID 0x0483 // TODO set VID - #define USBD_PID 0x5720 // TODO set PID -/** @defgroup USB_String_Descriptors - * @{ - */ #define USBD_LANGID_STRING 0x409 #define USBD_MANUFACTURER_STRING "STMicroelectronics" // TODO set #define USBD_PRODUCT_HS_STRING "VCP/MSC in HS Mode" // TODO set @@ -69,10 +66,27 @@ #define USBD_INTERFACE_HS_STRING "VCP/MSC Interface" // TODO set #define USBD_CONFIGURATION_FS_STRING "VCP/MSC Config" // TODO set #define USBD_INTERFACE_FS_STRING "VCP/MSC Interface" // TODO set +*/ /** * @} */ +// seems we need to use this VID/PID to get it to work on windows + +#define USBD_VID 0x0483 +#define USBD_PID 0x5740 + +#define USBD_LANGID_STRING 0x409 +#define USBD_MANUFACTURER_STRING "STMicroelectronics" +#define USBD_PRODUCT_HS_STRING "STM32 Virtual ComPort in HS mode" +#define USBD_SERIALNUMBER_HS_STRING "00000000050B" +#define USBD_PRODUCT_FS_STRING "STM32 Virtual ComPort in FS Mode" +#define USBD_SERIALNUMBER_FS_STRING "00000000050C" +#define USBD_CONFIGURATION_HS_STRING "VCP Config" +#define USBD_INTERFACE_HS_STRING "VCP Interface" +#define USBD_CONFIGURATION_FS_STRING "VCP Config" +#define USBD_INTERFACE_FS_STRING "VCP Interface" + /** @defgroup USBD_DESC_Private_Macros * @{ diff --git a/stm/lib/usbd_pyb_core.c b/stm/lib/usbd_pyb_core.c index e2e8c65ca0..9c0f1caa01 100644 --- a/stm/lib/usbd_pyb_core.c +++ b/stm/lib/usbd_pyb_core.c @@ -71,7 +71,7 @@ #include "usbd_msc_bot.h"
#include "usbd_msc_mem.h"
-#define USB_PYB_CONFIG_DESC_SIZ 98
+#define USB_PYB_CONFIG_DESC_SIZ (98)
#define MSC_EPIN_SIZE MSC_MAX_PACKET
#define MSC_EPOUT_SIZE MSC_MAX_PACKET
@@ -150,7 +150,7 @@ __ALIGN_BEGIN static uint8_t usbd_pyb_CfgDesc[USB_PYB_CONFIG_DESC_SIZ] __ALIGN_E HIBYTE(USB_PYB_CONFIG_DESC_SIZ),
0x03, // bNumInterfaces: 3 interfaces
0x01, // bConfigurationValue: Configuration value
- 0x00, // iConfiguration: Index of string descriptor describing the configuration
+ 0x04, // iConfiguration: Index of string descriptor describing the configuration
0x80, // bmAttributes: bus powered; 0xc0 for self powered
0xfa, // bMaxPower: in units of 2mA
@@ -163,7 +163,7 @@ __ALIGN_BEGIN static uint8_t usbd_pyb_CfgDesc[USB_PYB_CONFIG_DESC_SIZ] __ALIGN_E 0x00, // bFunctionClass: ?
0x00, // bFunctionSubClass: ?
0x00, // bFunctionProtocol: ?
- 0x00, // iFunction: index of string for this function
+ 0x04, // iFunction: index of string for this function
//--------------------------------------------------------------------------
// Interface Descriptor
@@ -252,9 +252,9 @@ __ALIGN_BEGIN static uint8_t usbd_pyb_CfgDesc[USB_PYB_CONFIG_DESC_SIZ] __ALIGN_E USB_INTERFACE_DESCRIPTOR_TYPE, // bDescriptorType: interface descriptor
0x02, // bInterfaceNumber: Number of Interface
0x00, // bAlternateSetting: Alternate setting
- 0x02, // bNumEndpoints*/
+ 0x02, // bNumEndpoints
0x08, // bInterfaceClass: MSC Class
- 0x06, // bInterfaceSubClass : SCSI transparent*/
+ 0x06, // bInterfaceSubClass : SCSI transparent
0x50, // nInterfaceProtocol
0x00, // iInterface:
@@ -397,6 +397,7 @@ static uint8_t usbd_pyb_Setup(void *pdev, USB_SETUP_REQ *req) { // Standard Device Request ---------------------------------------------
case (USB_REQ_TYPE_STANDARD | USB_REQ_RECIPIENT_DEVICE):
+ /*
switch (req->bRequest) {
case USB_REQ_GET_DESCRIPTOR:
{
@@ -409,6 +410,7 @@ static uint8_t usbd_pyb_Setup(void *pdev, USB_SETUP_REQ *req) { return USBD_CtlSendData(pdev, pbuf, len);
}
}
+ */
break;
// Standard Interface Request ------------------------------------------
|