Skip to content

Commit 5f788e8

Browse files
committed
USB: update STM32 USB Device library to v2.6.1
https://github.com/STMicroelectronics/stm32_mw_usb_device/releases/tag/v2.6.1 Signed-off-by: Frederic Pillon <[email protected]>
1 parent 1b869c5 commit 5f788e8

File tree

7 files changed

+218
-173
lines changed

7 files changed

+218
-173
lines changed

system/Middlewares/ST/STM32_USB_Device_Library/Class/BillBoard/Src/usbd_billboard.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -391,10 +391,10 @@ static uint8_t *USBD_BB_GetDeviceQualifierDesc(uint16_t *length)
391391
*/
392392
USBD_BB_DescHeader_t *USBD_BB_GetNextDesc(uint8_t *pbuf, uint16_t *ptr)
393393
{
394-
USBD_BB_DescHeader_t *pnext = (USBD_BB_DescHeader_t *)pbuf;
394+
USBD_BB_DescHeader_t *pnext = (USBD_BB_DescHeader_t *)(void *)pbuf;
395395

396396
*ptr += pnext->bLength;
397-
pnext = (USBD_BB_DescHeader_t *)(pbuf + pnext->bLength);
397+
pnext = (USBD_BB_DescHeader_t *)(void *)(pbuf + pnext->bLength);
398398

399399
return (pnext);
400400
}
@@ -411,8 +411,8 @@ void *USBD_BB_GetCapDesc(USBD_HandleTypeDef *pdev, uint8_t *pBosDesc)
411411
{
412412
UNUSED(pdev);
413413

414-
USBD_BB_DescHeader_t *pdesc = (USBD_BB_DescHeader_t *)pBosDesc;
415-
USBD_BosDescTypedef *desc = (USBD_BosDescTypedef *)pBosDesc;
414+
USBD_BB_DescHeader_t *pdesc = (USBD_BB_DescHeader_t *)(void *)pBosDesc;
415+
USBD_BosDescTypedef *desc = (USBD_BosDescTypedef *)(void *)pBosDesc;
416416
USBD_BosBBCapDescTypedef *pCapDesc = NULL;
417417
uint16_t ptr;
418418

@@ -426,7 +426,7 @@ void *USBD_BB_GetCapDesc(USBD_HandleTypeDef *pdev, uint8_t *pBosDesc)
426426

427427
if (pdesc->bDevCapabilityType == USBD_BILLBOARD_CAPABILITY)
428428
{
429-
pCapDesc = (USBD_BosBBCapDescTypedef *)pdesc;
429+
pCapDesc = (USBD_BosBBCapDescTypedef *)(void *)pdesc;
430430
break;
431431
}
432432
}
@@ -447,8 +447,8 @@ void *USBD_BB_GetAltModeDesc(USBD_HandleTypeDef *pdev, uint8_t *pBosDesc, uint8_
447447
{
448448
UNUSED(pdev);
449449

450-
USBD_BB_DescHeader_t *pdesc = (USBD_BB_DescHeader_t *)pBosDesc;
451-
USBD_BosDescTypedef *desc = (USBD_BosDescTypedef *)pBosDesc;
450+
USBD_BB_DescHeader_t *pdesc = (USBD_BB_DescHeader_t *)(void *)pBosDesc;
451+
USBD_BosDescTypedef *desc = (USBD_BosDescTypedef *)(void *)pBosDesc;
452452
USBD_BB_AltModeCapDescTypeDef *pAltModDesc = NULL;
453453
uint8_t cnt = 0U;
454454
uint16_t ptr;
@@ -465,7 +465,7 @@ void *USBD_BB_GetAltModeDesc(USBD_HandleTypeDef *pdev, uint8_t *pBosDesc, uint8_
465465
{
466466
if (cnt == idx)
467467
{
468-
pAltModDesc = (USBD_BB_AltModeCapDescTypeDef *)pdesc;
468+
pAltModDesc = (USBD_BB_AltModeCapDescTypeDef *)(void *)pdesc;
469469
break;
470470
}
471471
else

system/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c

Lines changed: 85 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -474,33 +474,33 @@ static uint8_t USBD_CDC_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
474474
(void)USBD_LL_OpenEP(pdev, CDC_IN_EP, USBD_EP_TYPE_BULK,
475475
CDC_DATA_HS_IN_PACKET_SIZE);
476476

477-
pdev->ep_in[CDC_IN_EP & 0xFU].is_used = 1U;
477+
pdev->ep_in[CDC_IN_EP & 0xFU].is_used = 1U;
478478

479-
/* Open EP OUT */
480-
(void)USBD_LL_OpenEP(pdev, CDC_OUT_EP, USBD_EP_TYPE_BULK,
481-
CDC_DATA_HS_OUT_PACKET_SIZE);
479+
/* Open EP OUT */
480+
(void)USBD_LL_OpenEP(pdev, CDC_OUT_EP, USBD_EP_TYPE_BULK,
481+
CDC_DATA_HS_OUT_PACKET_SIZE);
482482

483-
pdev->ep_out[CDC_OUT_EP & 0xFU].is_used = 1U;
483+
pdev->ep_out[CDC_OUT_EP & 0xFU].is_used = 1U;
484484

485-
/* Set bInterval for CDC CMD Endpoint */
486-
pdev->ep_in[CDC_CMD_EP & 0xFU].bInterval = CDC_HS_BINTERVAL;
485+
/* Set bInterval for CDC CMD Endpoint */
486+
pdev->ep_in[CDC_CMD_EP & 0xFU].bInterval = CDC_HS_BINTERVAL;
487487
}
488488
else
489489
{
490490
/* Open EP IN */
491491
(void)USBD_LL_OpenEP(pdev, CDC_IN_EP, USBD_EP_TYPE_BULK,
492492
CDC_DATA_FS_IN_PACKET_SIZE);
493493

494-
pdev->ep_in[CDC_IN_EP & 0xFU].is_used = 1U;
494+
pdev->ep_in[CDC_IN_EP & 0xFU].is_used = 1U;
495495

496-
/* Open EP OUT */
497-
(void)USBD_LL_OpenEP(pdev, CDC_OUT_EP, USBD_EP_TYPE_BULK,
498-
CDC_DATA_FS_OUT_PACKET_SIZE);
496+
/* Open EP OUT */
497+
(void)USBD_LL_OpenEP(pdev, CDC_OUT_EP, USBD_EP_TYPE_BULK,
498+
CDC_DATA_FS_OUT_PACKET_SIZE);
499499

500-
pdev->ep_out[CDC_OUT_EP & 0xFU].is_used = 1U;
500+
pdev->ep_out[CDC_OUT_EP & 0xFU].is_used = 1U;
501501

502-
/* Set bInterval for CMD Endpoint */
503-
pdev->ep_in[CDC_CMD_EP & 0xFU].bInterval = CDC_FS_BINTERVAL;
502+
/* Set bInterval for CMD Endpoint */
503+
pdev->ep_in[CDC_CMD_EP & 0xFU].bInterval = CDC_FS_BINTERVAL;
504504
}
505505

506506
/* Open Command IN EP */
@@ -540,7 +540,6 @@ static uint8_t USBD_CDC_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
540540
static uint8_t USBD_CDC_DeInit(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
541541
{
542542
UNUSED(cfgidx);
543-
uint8_t ret = 0U;
544543

545544
/* Close EP IN */
546545
(void)USBD_LL_CloseEP(pdev, CDC_IN_EP);
@@ -563,7 +562,7 @@ static uint8_t USBD_CDC_DeInit(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
563562
pdev->pClassData = NULL;
564563
}
565564

566-
return ret;
565+
return (uint8_t)USBD_OK;
567566
}
568567

569568
/**
@@ -583,81 +582,81 @@ static uint8_t USBD_CDC_Setup(USBD_HandleTypeDef *pdev,
583582

584583
switch (req->bmRequest & USB_REQ_TYPE_MASK)
585584
{
586-
case USB_REQ_TYPE_CLASS:
587-
if (req->wLength != 0U)
588-
{
589-
if ((req->bmRequest & 0x80U) != 0U)
585+
case USB_REQ_TYPE_CLASS:
586+
if (req->wLength != 0U)
590587
{
591-
((USBD_CDC_ItfTypeDef *)pdev->pUserData)->Control(req->bRequest,
592-
(uint8_t *)hcdc->data,
593-
req->wLength);
588+
if ((req->bmRequest & 0x80U) != 0U)
589+
{
590+
((USBD_CDC_ItfTypeDef *)pdev->pUserData)->Control(req->bRequest,
591+
(uint8_t *)hcdc->data,
592+
req->wLength);
594593

595594
(void)USBD_CtlSendData(pdev, (uint8_t *)hcdc->data, req->wLength);
595+
}
596+
else
597+
{
598+
hcdc->CmdOpCode = req->bRequest;
599+
hcdc->CmdLength = (uint8_t)req->wLength;
600+
601+
(void)USBD_CtlPrepareRx(pdev, (uint8_t *)hcdc->data, req->wLength);
602+
}
596603
}
597604
else
598605
{
599-
hcdc->CmdOpCode = req->bRequest;
600-
hcdc->CmdLength = (uint8_t)req->wLength;
601-
602-
(void)USBD_CtlPrepareRx(pdev, (uint8_t *)hcdc->data, req->wLength);
603-
}
604-
}
605-
else
606-
{
607-
((USBD_CDC_ItfTypeDef *)pdev->pUserData)->Control(req->bRequest,
608-
(uint8_t *)req, 0U);
609-
}
610-
break;
611-
612-
case USB_REQ_TYPE_STANDARD:
613-
switch (req->bRequest)
614-
{
615-
case USB_REQ_GET_STATUS:
616-
if (pdev->dev_state == USBD_STATE_CONFIGURED)
617-
{
618-
(void)USBD_CtlSendData(pdev, (uint8_t *)&status_info, 2U);
619-
}
620-
else
621-
{
622-
USBD_CtlError(pdev, req);
623-
ret = USBD_FAIL;
624-
}
625-
break;
626-
627-
case USB_REQ_GET_INTERFACE:
628-
if (pdev->dev_state == USBD_STATE_CONFIGURED)
629-
{
630-
(void)USBD_CtlSendData(pdev, &ifalt, 1U);
631-
}
632-
else
633-
{
634-
USBD_CtlError(pdev, req);
635-
ret = USBD_FAIL;
606+
((USBD_CDC_ItfTypeDef *)pdev->pUserData)->Control(req->bRequest,
607+
(uint8_t *)req, 0U);
636608
}
637609
break;
638610

639-
case USB_REQ_SET_INTERFACE:
640-
if (pdev->dev_state != USBD_STATE_CONFIGURED)
611+
case USB_REQ_TYPE_STANDARD:
612+
switch (req->bRequest)
641613
{
642-
USBD_CtlError(pdev, req);
643-
ret = USBD_FAIL;
614+
case USB_REQ_GET_STATUS:
615+
if (pdev->dev_state == USBD_STATE_CONFIGURED)
616+
{
617+
(void)USBD_CtlSendData(pdev, (uint8_t *)&status_info, 2U);
618+
}
619+
else
620+
{
621+
USBD_CtlError(pdev, req);
622+
ret = USBD_FAIL;
623+
}
624+
break;
625+
626+
case USB_REQ_GET_INTERFACE:
627+
if (pdev->dev_state == USBD_STATE_CONFIGURED)
628+
{
629+
(void)USBD_CtlSendData(pdev, &ifalt, 1U);
630+
}
631+
else
632+
{
633+
USBD_CtlError(pdev, req);
634+
ret = USBD_FAIL;
635+
}
636+
break;
637+
638+
case USB_REQ_SET_INTERFACE:
639+
if (pdev->dev_state != USBD_STATE_CONFIGURED)
640+
{
641+
USBD_CtlError(pdev, req);
642+
ret = USBD_FAIL;
643+
}
644+
break;
645+
646+
case USB_REQ_CLEAR_FEATURE:
647+
break;
648+
649+
default:
650+
USBD_CtlError(pdev, req);
651+
ret = USBD_FAIL;
652+
break;
644653
}
645654
break;
646655

647-
case USB_REQ_CLEAR_FEATURE:
648-
break;
649-
650656
default:
651657
USBD_CtlError(pdev, req);
652658
ret = USBD_FAIL;
653659
break;
654-
}
655-
break;
656-
657-
default:
658-
USBD_CtlError(pdev, req);
659-
ret = USBD_FAIL;
660-
break;
661660
}
662661

663662
return (uint8_t)ret;
@@ -694,7 +693,11 @@ static uint8_t USBD_CDC_DataIn(USBD_HandleTypeDef *pdev, uint8_t epnum)
694693
else
695694
{
696695
hcdc->TxState = 0U;
697-
((USBD_CDC_ItfTypeDef *)pdev->pUserData)->TransmitCplt(hcdc->TxBuffer, &hcdc->TxLength, epnum);
696+
697+
if (((USBD_CDC_ItfTypeDef *)pdev->pUserData)->TransmitCplt != NULL)
698+
{
699+
((USBD_CDC_ItfTypeDef *)pdev->pUserData)->TransmitCplt(hcdc->TxBuffer, &hcdc->TxLength, epnum);
700+
}
698701
}
699702

700703
return (uint8_t)USBD_OK;
@@ -743,7 +746,6 @@ static uint8_t USBD_CDC_EP0_RxReady(USBD_HandleTypeDef *pdev)
743746
(uint8_t *)hcdc->data,
744747
(uint16_t)hcdc->CmdLength);
745748
hcdc->CmdOpCode = 0xFFU;
746-
747749
}
748750

749751
return (uint8_t)USBD_OK;
@@ -778,7 +780,7 @@ static uint8_t *USBD_CDC_GetHSCfgDesc(uint16_t *length)
778780
}
779781

780782
/**
781-
* @brief USBD_CDC_GetCfgDesc
783+
* @brief USBD_CDC_GetOtherSpeedCfgDesc
782784
* Return configuration descriptor
783785
* @param speed : current device speed
784786
* @param length : pointer data length
@@ -792,11 +794,11 @@ static uint8_t *USBD_CDC_GetOtherSpeedCfgDesc(uint16_t *length)
792794
}
793795

794796
/**
795-
* @brief DeviceQualifierDescriptor
796-
* return Device Qualifier descriptor
797-
* @param length : pointer data length
798-
* @retval pointer to descriptor buffer
799-
*/
797+
* @brief USBD_CDC_GetDeviceQualifierDescriptor
798+
* return Device Qualifier descriptor
799+
* @param length : pointer data length
800+
* @retval pointer to descriptor buffer
801+
*/
800802
uint8_t *USBD_CDC_GetDeviceQualifierDescriptor(uint16_t *length)
801803
{
802804
*length = (uint16_t)sizeof(USBD_CDC_DeviceQualifierDesc);
@@ -805,7 +807,7 @@ uint8_t *USBD_CDC_GetDeviceQualifierDescriptor(uint16_t *length)
805807
}
806808

807809
/**
808-
* @brief USBD_CDC_RegisterInterface
810+
* @brief USBD_CDC_RegisterInterface
809811
* @param pdev: device instance
810812
* @param fops: CD Interface callback
811813
* @retval status
@@ -840,7 +842,6 @@ uint8_t USBD_CDC_SetTxBuffer(USBD_HandleTypeDef *pdev,
840842
return (uint8_t)USBD_OK;
841843
}
842844

843-
844845
/**
845846
* @brief USBD_CDC_SetRxBuffer
846847
* @param pdev: device instance
@@ -889,7 +890,6 @@ uint8_t USBD_CDC_TransmitPacket(USBD_HandleTypeDef *pdev)
889890
return (uint8_t)ret;
890891
}
891892

892-
893893
/**
894894
* @brief USBD_CDC_ReceivePacket
895895
* prepare OUT Endpoint for reception

system/Middlewares/ST/STM32_USB_Device_Library/Class/CDC_ECM/Src/usbd_cdc_ecm.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -716,7 +716,10 @@ static uint8_t USBD_CDC_ECM_DataIn(USBD_HandleTypeDef *pdev, uint8_t epnum)
716716
else
717717
{
718718
hcdc->TxState = 0U;
719-
((USBD_CDC_ECM_ItfTypeDef *)pdev->pUserData)->TransmitCplt(hcdc->TxBuffer, &hcdc->TxLength, epnum);
719+
if (((USBD_CDC_ECM_ItfTypeDef *)pdev->pUserData)->TransmitCplt != NULL)
720+
{
721+
((USBD_CDC_ECM_ItfTypeDef *)pdev->pUserData)->TransmitCplt(hcdc->TxBuffer, &hcdc->TxLength, epnum);
722+
}
720723
}
721724
}
722725
else if (epnum == (CDC_ECM_CMD_EP & 0x7FU))
@@ -1020,7 +1023,7 @@ uint8_t USBD_CDC_ECM_SendNotification(USBD_HandleTypeDef *pdev,
10201023
(hcdc->Req).bmRequest = CDC_ECM_BMREQUEST_TYPE_ECM;
10211024
(hcdc->Req).bRequest = (uint8_t)Notif;
10221025

1023-
switch (Notif)
1026+
switch ((hcdc->Req).bRequest)
10241027
{
10251028
case NETWORK_CONNECTION:
10261029
(hcdc->Req).wValue = bVal;

0 commit comments

Comments
 (0)