/** ****************************************************************************** * @file usb_desc.h * @author MCD Application Team * @version V4.0.0 * @date 21-January-2013 * @brief Descriptor Header for Audio Speaker Demo ****************************************************************************** * @attention * *

© COPYRIGHT 2013 STMicroelectronics

* * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); * You may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.st.com/software_license_agreement_liberty_v2 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ****************************************************************************** */ // Define to prevent recursive inclusion ------------------------------------- #ifndef __USB_DESC_H #define __USB_DESC_H // Exported define ----------------------------------------------------------- #define SPEAKER_DEVICE_DESC_SIZE 18 #define SPEAKER_CONFIG_DESC_SIZE 109 #define SPEAKER_SIZ_INTERFACE_DESC_SIZE 9 #define AUDIO_STANDARD_ENDPOINT_DESC_SIZE 9 #define AUDIO_STREAMING_ENDPOINT_DESC_SIZE 7 #define AUDIO_INPUT_TERMINAL_DESC_SIZE 12 #define AUDIO_OUTPUT_TERMINAL_DESC_SIZE 9 #define AUDIO_STREAMING_INTERFACE_DESC_SIZE 7 #define SPEAKER_SIZ_STRING_LANGID 0x04 #define SPEAKER_SIZ_STRING_VENDOR 0x26 #define SPEAKER_SIZ_STRING_PRODUCT 0x22 #define SPEAKER_SIZ_STRING_SERIAL 0x1A // USB Descriptor Types #define USB_DEVICE_DESCRIPTOR_TYPE 0x01 #define USB_CONFIGURATION_DESCRIPTOR_TYPE 0x02 #define USB_STRING_DESCRIPTOR_TYPE 0x03 #define USB_INTERFACE_DESCRIPTOR_TYPE 0x04 #define USB_ENDPOINT_DESCRIPTOR_TYPE 0x05 #define USB_DEVICE_CLASS_AUDIO 0x01 #define AUDIO_SUBCLASS_AUDIOCONTROL 0x01 #define AUDIO_SUBCLASS_AUDIOSTREAMING 0x02 #define AUDIO_PROTOCOL_UNDEFINED 0x00 #define AUDIO_STREAMING_GENERAL 0x01 #define AUDIO_STREAMING_FORMAT_TYPE 0x02 // Audio Descriptor Types #define AUDIO_INTERFACE_DESCRIPTOR_TYPE 0x24 #define AUDIO_ENDPOINT_DESCRIPTOR_TYPE 0x25 // Audio Control Interface Descriptor Subtypes #define AUDIO_CONTROL_HEADER 0x01 #define AUDIO_CONTROL_INPUT_TERMINAL 0x02 #define AUDIO_CONTROL_OUTPUT_TERMINAL 0x03 #define AUDIO_CONTROL_FEATURE_UNIT 0x06 #define AUDIO_CONTROL_MUTE 0x0001 #define AUDIO_FORMAT_TYPE_I 0x01 #define USB_ENDPOINT_TYPE_ISOCHRONOUS 0x01 #define AUDIO_ENDPOINT_GENERAL 0x01 // Exported variables extern const uint8_t Speaker_DeviceDescriptor[SPEAKER_DEVICE_DESC_SIZE]; extern const uint8_t Speaker_ConfigDescriptor[SPEAKER_CONFIG_DESC_SIZE]; extern const uint8_t Speaker_StringLangID[SPEAKER_SIZ_STRING_LANGID]; extern const uint8_t Speaker_StringVendor[SPEAKER_SIZ_STRING_VENDOR]; extern const uint8_t Speaker_StringProduct[SPEAKER_SIZ_STRING_PRODUCT]; extern uint8_t Speaker_StringSerial[SPEAKER_SIZ_STRING_SERIAL]; #endif // __USB_DESC_H