@@ -162,8 +162,12 @@ __ALIGN_BEGIN static uint8_t USBD_AUDIO_CfgDesc[USB_AUDIO_CONFIG_DESC_SIZ] __ALI
162162 0x02 , /* bNumInterfaces */
163163 0x01 , /* bConfigurationValue */
164164 0x00 , /* iConfiguration */
165- 0xC0 , /* bmAttributes BUS Powred*/
166- 0x32 , /* bMaxPower = 100 mA*/
165+ #if (USBD_SELF_POWERED == 1U )
166+ 0xC0 , /* bmAttributes: Bus Powered according to user configuration */
167+ #else
168+ 0x80 , /* bmAttributes: Bus Powered according to user configuration */
169+ #endif
170+ USBD_MAX_POWER , /* bMaxPower = 100 mA */
167171 /* 09 byte*/
168172
169173 /* USB Speaker Standard interface descriptor */
@@ -229,7 +233,7 @@ __ALIGN_BEGIN static uint8_t USBD_AUDIO_CfgDesc[USB_AUDIO_CONFIG_DESC_SIZ] __ALI
229233 0x00 , /* iTerminal */
230234 /* 09 byte*/
231235
232- /* USB Speaker Standard AS Interface Descriptor - Audio Streaming Zero Bandwith */
236+ /* USB Speaker Standard AS Interface Descriptor - Audio Streaming Zero Bandwidth */
233237 /* Interface 1, Alternate Setting 0 */
234238 AUDIO_INTERFACE_DESC_SIZE , /* bLength */
235239 USB_DESC_TYPE_INTERFACE , /* bDescriptorType */
@@ -334,7 +338,7 @@ static uint8_t USBD_AUDIO_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
334338 UNUSED (cfgidx );
335339 USBD_AUDIO_HandleTypeDef * haudio ;
336340
337- /* Allocate Audio structure */
341+ /* Allocate Audio structure */
338342 haudio = USBD_malloc (sizeof (USBD_AUDIO_HandleTypeDef ));
339343
340344 if (haudio == NULL )
@@ -426,95 +430,95 @@ static uint8_t USBD_AUDIO_Setup(USBD_HandleTypeDef *pdev,
426430
427431 switch (req -> bmRequest & USB_REQ_TYPE_MASK )
428432 {
429- case USB_REQ_TYPE_CLASS :
430- switch (req -> bRequest )
431- {
432- case AUDIO_REQ_GET_CUR :
433- AUDIO_REQ_GetCurrent (pdev , req );
434- break ;
435-
436- case AUDIO_REQ_SET_CUR :
437- AUDIO_REQ_SetCurrent (pdev , req );
438- break ;
439-
440- default :
441- USBD_CtlError (pdev , req );
442- ret = USBD_FAIL ;
443- break ;
444- }
445- break ;
446-
447- case USB_REQ_TYPE_STANDARD :
448- switch (req -> bRequest )
449- {
450- case USB_REQ_GET_STATUS :
451- if (pdev -> dev_state == USBD_STATE_CONFIGURED )
452- {
453- (void )USBD_CtlSendData (pdev , (uint8_t * )& status_info , 2U );
454- }
455- else
456- {
457- USBD_CtlError (pdev , req );
458- ret = USBD_FAIL ;
459- }
460- break ;
461-
462- case USB_REQ_GET_DESCRIPTOR :
463- if ((req -> wValue >> 8 ) == AUDIO_DESCRIPTOR_TYPE )
433+ case USB_REQ_TYPE_CLASS :
434+ switch (req -> bRequest )
464435 {
465- pbuf = USBD_AUDIO_CfgDesc + 18 ;
466- len = MIN (USB_AUDIO_DESC_SIZ , req -> wLength );
436+ case AUDIO_REQ_GET_CUR :
437+ AUDIO_REQ_GetCurrent (pdev , req );
438+ break ;
467439
468- ( void ) USBD_CtlSendData ( pdev , pbuf , len );
469- }
470- break ;
440+ case AUDIO_REQ_SET_CUR :
441+ AUDIO_REQ_SetCurrent ( pdev , req );
442+ break ;
471443
472- case USB_REQ_GET_INTERFACE :
473- if (pdev -> dev_state == USBD_STATE_CONFIGURED )
474- {
475- (void )USBD_CtlSendData (pdev , (uint8_t * )& haudio -> alt_setting , 1U );
476- }
477- else
478- {
479- USBD_CtlError (pdev , req );
480- ret = USBD_FAIL ;
444+ default :
445+ USBD_CtlError (pdev , req );
446+ ret = USBD_FAIL ;
447+ break ;
481448 }
482449 break ;
483450
484- case USB_REQ_SET_INTERFACE :
485- if ( pdev -> dev_state == USBD_STATE_CONFIGURED )
451+ case USB_REQ_TYPE_STANDARD :
452+ switch ( req -> bRequest )
486453 {
487- if ((uint8_t )(req -> wValue ) <= USBD_MAX_NUM_INTERFACES )
488- {
489- haudio -> alt_setting = (uint8_t )(req -> wValue );
490- }
491- else
492- {
493- /* Call the error management function (command will be nacked */
454+ case USB_REQ_GET_STATUS :
455+ if (pdev -> dev_state == USBD_STATE_CONFIGURED )
456+ {
457+ (void )USBD_CtlSendData (pdev , (uint8_t * )& status_info , 2U );
458+ }
459+ else
460+ {
461+ USBD_CtlError (pdev , req );
462+ ret = USBD_FAIL ;
463+ }
464+ break ;
465+
466+ case USB_REQ_GET_DESCRIPTOR :
467+ if ((req -> wValue >> 8 ) == AUDIO_DESCRIPTOR_TYPE )
468+ {
469+ pbuf = USBD_AUDIO_CfgDesc + 18 ;
470+ len = MIN (USB_AUDIO_DESC_SIZ , req -> wLength );
471+
472+ (void )USBD_CtlSendData (pdev , pbuf , len );
473+ }
474+ break ;
475+
476+ case USB_REQ_GET_INTERFACE :
477+ if (pdev -> dev_state == USBD_STATE_CONFIGURED )
478+ {
479+ (void )USBD_CtlSendData (pdev , (uint8_t * )& haudio -> alt_setting , 1U );
480+ }
481+ else
482+ {
483+ USBD_CtlError (pdev , req );
484+ ret = USBD_FAIL ;
485+ }
486+ break ;
487+
488+ case USB_REQ_SET_INTERFACE :
489+ if (pdev -> dev_state == USBD_STATE_CONFIGURED )
490+ {
491+ if ((uint8_t )(req -> wValue ) <= USBD_MAX_NUM_INTERFACES )
492+ {
493+ haudio -> alt_setting = (uint8_t )(req -> wValue );
494+ }
495+ else
496+ {
497+ /* Call the error management function (command will be NAKed */
498+ USBD_CtlError (pdev , req );
499+ ret = USBD_FAIL ;
500+ }
501+ }
502+ else
503+ {
504+ USBD_CtlError (pdev , req );
505+ ret = USBD_FAIL ;
506+ }
507+ break ;
508+
509+ case USB_REQ_CLEAR_FEATURE :
510+ break ;
511+
512+ default :
494513 USBD_CtlError (pdev , req );
495514 ret = USBD_FAIL ;
496- }
497- }
498- else
499- {
500- USBD_CtlError (pdev , req );
501- ret = USBD_FAIL ;
515+ break ;
502516 }
503517 break ;
504-
505- case USB_REQ_CLEAR_FEATURE :
506- break ;
507-
508518 default :
509519 USBD_CtlError (pdev , req );
510520 ret = USBD_FAIL ;
511521 break ;
512- }
513- break ;
514- default :
515- USBD_CtlError (pdev , req );
516- ret = USBD_FAIL ;
517- break ;
518522 }
519523
520524 return (uint8_t )ret ;
@@ -651,13 +655,13 @@ void USBD_AUDIO_Sync(USBD_HandleTypeDef *pdev, AUDIO_OffsetTypeDef offset)
651655 {
652656 if ((haudio -> wr_ptr - haudio -> rd_ptr ) < AUDIO_OUT_PACKET )
653657 {
654- BufferSize -= 4U ;
658+ BufferSize -= 4U ;
655659 }
656660 else
657661 {
658662 if ((haudio -> wr_ptr - haudio -> rd_ptr ) > (AUDIO_TOTAL_BUF_SIZE - AUDIO_OUT_PACKET ))
659663 {
660- BufferSize += 4U ;
664+ BufferSize += 4U ;
661665 }
662666 }
663667 }
@@ -798,11 +802,11 @@ static void AUDIO_REQ_SetCurrent(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef
798802
799803
800804/**
801- * @brief DeviceQualifierDescriptor
802- * return Device Qualifier descriptor
803- * @param length : pointer data length
804- * @retval pointer to descriptor buffer
805- */
805+ * @brief DeviceQualifierDescriptor
806+ * return Device Qualifier descriptor
807+ * @param length : pointer data length
808+ * @retval pointer to descriptor buffer
809+ */
806810static uint8_t * USBD_AUDIO_GetDeviceQualifierDesc (uint16_t * length )
807811{
808812 * length = (uint16_t )sizeof (USBD_AUDIO_DeviceQualifierDesc );
@@ -811,10 +815,10 @@ static uint8_t *USBD_AUDIO_GetDeviceQualifierDesc(uint16_t *length)
811815}
812816
813817/**
814- * @brief USBD_AUDIO_RegisterInterface
815- * @param fops: Audio interface callback
816- * @retval status
817- */
818+ * @brief USBD_AUDIO_RegisterInterface
819+ * @param fops: Audio interface callback
820+ * @retval status
821+ */
818822uint8_t USBD_AUDIO_RegisterInterface (USBD_HandleTypeDef * pdev ,
819823 USBD_AUDIO_ItfTypeDef * fops )
820824{
0 commit comments