29 #include "usbd_core.h" 30 #include "usbd_desc.h" 31 #include "usbd_conf.h" 35 #define USBD_VID 0x0483 36 #define USBD_PID 0x5730 37 #define USBD_LANGID_STRING 0x409 38 #define USBD_MANUFACTURER_STRING "STMicroelectronics" 39 #define USBD_PRODUCT_HS_STRING "STM32 AUDIO Streaming in HS Mode" 40 #define USBD_SERIALNUMBER_HS_STRING "00000000034E" 41 #define USBD_PRODUCT_FS_STRING "STM32 AUDIO Streaming in FS Mode" 42 #define USBD_SERIALNUMBER_FS_STRING "00000000034F" 43 #define USBD_CONFIGURATION_HS_STRING "AUDIO Config" 44 #define USBD_INTERFACE_HS_STRING "AUDIO Interface" 45 #define USBD_CONFIGURATION_FS_STRING "AUDIO Config" 46 #define USBD_INTERFACE_FS_STRING "AUDIO Interface" 50 uint8_t *USBD_AUDIO_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
51 uint8_t *USBD_AUDIO_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
52 uint8_t *USBD_AUDIO_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
53 uint8_t *USBD_AUDIO_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
54 uint8_t *USBD_AUDIO_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
55 uint8_t *USBD_AUDIO_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
56 uint8_t *USBD_AUDIO_InterfaceStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
57 #ifdef USB_SUPPORT_USER_STRING_DESC 58 uint8_t *USBD_AUDIO_USRStringDesc(USBD_SpeedTypeDef speed, uint8_t idx, uint16_t *length);
62 USBD_DescriptorsTypeDef AUDIO_Desc = {
63 USBD_AUDIO_DeviceDescriptor,
64 USBD_AUDIO_LangIDStrDescriptor,
65 USBD_AUDIO_ManufacturerStrDescriptor,
66 USBD_AUDIO_ProductStrDescriptor,
67 USBD_AUDIO_SerialStrDescriptor,
68 USBD_AUDIO_ConfigStrDescriptor,
69 USBD_AUDIO_InterfaceStrDescriptor,
73 #if defined ( __ICCARM__ ) 74 #pragma data_alignment=4 76 __ALIGN_BEGIN uint8_t hUSBDDeviceDesc[USB_LEN_DEV_DESC]
__ALIGN_END = {
94 USBD_MAX_NUM_CONFIGURATION
98 #if defined ( __ICCARM__ ) 99 #pragma data_alignment=4 101 __ALIGN_BEGIN uint8_t USBD_LangIDDesc[USB_LEN_LANGID_STR_DESC]
__ALIGN_END = {
102 USB_LEN_LANGID_STR_DESC,
103 USB_DESC_TYPE_STRING,
104 LOBYTE(USBD_LANGID_STRING),
105 HIBYTE(USBD_LANGID_STRING),
108 #if defined ( __ICCARM__ ) 109 #pragma data_alignment=4 111 __ALIGN_BEGIN uint8_t USBD_StrDesc[USBD_MAX_STR_DESC_SIZ]
__ALIGN_END;
121 uint8_t *USBD_AUDIO_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
123 *length =
sizeof(hUSBDDeviceDesc);
124 return hUSBDDeviceDesc;
133 uint8_t *USBD_AUDIO_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
135 *length =
sizeof(USBD_LangIDDesc);
136 return USBD_LangIDDesc;
145 uint8_t *USBD_AUDIO_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
149 USBD_GetString((uint8_t *)USBD_PRODUCT_HS_STRING, USBD_StrDesc, length);
153 USBD_GetString((uint8_t *)USBD_PRODUCT_FS_STRING, USBD_StrDesc, length);
164 uint8_t *USBD_AUDIO_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
166 USBD_GetString((uint8_t *)USBD_MANUFACTURER_STRING, USBD_StrDesc, length);
176 uint8_t *USBD_AUDIO_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
178 if(speed == USBD_SPEED_HIGH)
180 USBD_GetString((uint8_t *)USBD_SERIALNUMBER_HS_STRING, USBD_StrDesc, length);
184 USBD_GetString((uint8_t *)USBD_SERIALNUMBER_FS_STRING, USBD_StrDesc, length);
195 uint8_t *USBD_AUDIO_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
197 if(speed == USBD_SPEED_HIGH)
199 USBD_GetString((uint8_t *)USBD_CONFIGURATION_HS_STRING, USBD_StrDesc, length);
203 USBD_GetString((uint8_t *)USBD_CONFIGURATION_FS_STRING, USBD_StrDesc, length);
214 uint8_t *USBD_AUDIO_InterfaceStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
218 USBD_GetString((uint8_t *)USBD_INTERFACE_HS_STRING, USBD_StrDesc, length);
222 USBD_GetString((uint8_t *)USBD_INTERFACE_FS_STRING, USBD_StrDesc, length);
__ALIGN_BEGIN uint8_t USBD_DeviceDesc [USB_LEN_DEV_DESC] __ALIGN_END