@@ -162,8 +162,12 @@ __ALIGN_BEGIN static uint8_t USBD_AUDIO_CfgDesc[USB_AUDIO_CONFIG_DESC_SIZ] __ALI
162
162
0x02 , /* bNumInterfaces */
163
163
0x01 , /* bConfigurationValue */
164
164
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 */
167
171
/* 09 byte*/
168
172
169
173
/* USB Speaker Standard interface descriptor */
@@ -229,7 +233,7 @@ __ALIGN_BEGIN static uint8_t USBD_AUDIO_CfgDesc[USB_AUDIO_CONFIG_DESC_SIZ] __ALI
229
233
0x00 , /* iTerminal */
230
234
/* 09 byte*/
231
235
232
- /* USB Speaker Standard AS Interface Descriptor - Audio Streaming Zero Bandwith */
236
+ /* USB Speaker Standard AS Interface Descriptor - Audio Streaming Zero Bandwidth */
233
237
/* Interface 1, Alternate Setting 0 */
234
238
AUDIO_INTERFACE_DESC_SIZE , /* bLength */
235
239
USB_DESC_TYPE_INTERFACE , /* bDescriptorType */
@@ -334,7 +338,7 @@ static uint8_t USBD_AUDIO_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
334
338
UNUSED (cfgidx );
335
339
USBD_AUDIO_HandleTypeDef * haudio ;
336
340
337
- /* Allocate Audio structure */
341
+ /* Allocate Audio structure */
338
342
haudio = USBD_malloc (sizeof (USBD_AUDIO_HandleTypeDef ));
339
343
340
344
if (haudio == NULL )
@@ -426,95 +430,95 @@ static uint8_t USBD_AUDIO_Setup(USBD_HandleTypeDef *pdev,
426
430
427
431
switch (req -> bmRequest & USB_REQ_TYPE_MASK )
428
432
{
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 )
464
435
{
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 ;
467
439
468
- ( void ) USBD_CtlSendData ( pdev , pbuf , len );
469
- }
470
- break ;
440
+ case AUDIO_REQ_SET_CUR :
441
+ AUDIO_REQ_SetCurrent ( pdev , req );
442
+ break ;
471
443
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 ;
481
448
}
482
449
break ;
483
450
484
- case USB_REQ_SET_INTERFACE :
485
- if ( pdev -> dev_state == USBD_STATE_CONFIGURED )
451
+ case USB_REQ_TYPE_STANDARD :
452
+ switch ( req -> bRequest )
486
453
{
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 :
494
513
USBD_CtlError (pdev , req );
495
514
ret = USBD_FAIL ;
496
- }
497
- }
498
- else
499
- {
500
- USBD_CtlError (pdev , req );
501
- ret = USBD_FAIL ;
515
+ break ;
502
516
}
503
517
break ;
504
-
505
- case USB_REQ_CLEAR_FEATURE :
506
- break ;
507
-
508
518
default :
509
519
USBD_CtlError (pdev , req );
510
520
ret = USBD_FAIL ;
511
521
break ;
512
- }
513
- break ;
514
- default :
515
- USBD_CtlError (pdev , req );
516
- ret = USBD_FAIL ;
517
- break ;
518
522
}
519
523
520
524
return (uint8_t )ret ;
@@ -651,13 +655,13 @@ void USBD_AUDIO_Sync(USBD_HandleTypeDef *pdev, AUDIO_OffsetTypeDef offset)
651
655
{
652
656
if ((haudio -> wr_ptr - haudio -> rd_ptr ) < AUDIO_OUT_PACKET )
653
657
{
654
- BufferSize -= 4U ;
658
+ BufferSize -= 4U ;
655
659
}
656
660
else
657
661
{
658
662
if ((haudio -> wr_ptr - haudio -> rd_ptr ) > (AUDIO_TOTAL_BUF_SIZE - AUDIO_OUT_PACKET ))
659
663
{
660
- BufferSize += 4U ;
664
+ BufferSize += 4U ;
661
665
}
662
666
}
663
667
}
@@ -798,11 +802,11 @@ static void AUDIO_REQ_SetCurrent(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef
798
802
799
803
800
804
/**
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
+ */
806
810
static uint8_t * USBD_AUDIO_GetDeviceQualifierDesc (uint16_t * length )
807
811
{
808
812
* length = (uint16_t )sizeof (USBD_AUDIO_DeviceQualifierDesc );
@@ -811,10 +815,10 @@ static uint8_t *USBD_AUDIO_GetDeviceQualifierDesc(uint16_t *length)
811
815
}
812
816
813
817
/**
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
+ */
818
822
uint8_t USBD_AUDIO_RegisterInterface (USBD_HandleTypeDef * pdev ,
819
823
USBD_AUDIO_ItfTypeDef * fops )
820
824
{
0 commit comments