diff options
Diffstat (limited to 'stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core')
7 files changed, 524 insertions, 524 deletions
diff --git a/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h b/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h index 013a5c1..fcfffa1 100644 --- a/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h +++ b/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h @@ -16,14 +16,14 @@ * * 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, + * 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 __USBD_CORE_H @@ -42,59 +42,59 @@ /** @addtogroup STM32_USB_DEVICE_LIBRARY * @{ */ - + /** @defgroup USBD_CORE * @brief This file is the Header file for usbd_core.c file * @{ - */ + */ /** @defgroup USBD_CORE_Exported_Defines * @{ - */ + */ /** * @} - */ + */ /** @defgroup USBD_CORE_Exported_TypesDefinitions * @{ */ - + /** * @} - */ + */ /** @defgroup USBD_CORE_Exported_Macros * @{ - */ + */ /** * @} - */ + */ /** @defgroup USBD_CORE_Exported_Variables * @{ - */ + */ #define USBD_SOF USBD_LL_SOF /** * @} - */ + */ /** @defgroup USBD_CORE_Exported_FunctionsPrototype * @{ - */ + */ USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev, USBD_DescriptorsTypeDef *pdesc, uint8_t id); USBD_StatusTypeDef USBD_DeInit(USBD_HandleTypeDef *pdev); USBD_StatusTypeDef USBD_Start (USBD_HandleTypeDef *pdev); USBD_StatusTypeDef USBD_Stop (USBD_HandleTypeDef *pdev); USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass); -USBD_StatusTypeDef USBD_RunTestMode (USBD_HandleTypeDef *pdev); +USBD_StatusTypeDef USBD_RunTestMode (USBD_HandleTypeDef *pdev); USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx); USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx); @@ -119,33 +119,33 @@ USBD_StatusTypeDef USBD_LL_Init (USBD_HandleTypeDef *pdev); USBD_StatusTypeDef USBD_LL_DeInit (USBD_HandleTypeDef *pdev); USBD_StatusTypeDef USBD_LL_Start(USBD_HandleTypeDef *pdev); USBD_StatusTypeDef USBD_LL_Stop (USBD_HandleTypeDef *pdev); -USBD_StatusTypeDef USBD_LL_OpenEP (USBD_HandleTypeDef *pdev, - uint8_t ep_addr, +USBD_StatusTypeDef USBD_LL_OpenEP (USBD_HandleTypeDef *pdev, + uint8_t ep_addr, uint8_t ep_type, uint16_t ep_mps); -USBD_StatusTypeDef USBD_LL_CloseEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); -USBD_StatusTypeDef USBD_LL_FlushEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); -USBD_StatusTypeDef USBD_LL_StallEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); -USBD_StatusTypeDef USBD_LL_ClearStallEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); -uint8_t USBD_LL_IsStallEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); -USBD_StatusTypeDef USBD_LL_SetUSBAddress (USBD_HandleTypeDef *pdev, uint8_t dev_addr); -USBD_StatusTypeDef USBD_LL_Transmit (USBD_HandleTypeDef *pdev, - uint8_t ep_addr, +USBD_StatusTypeDef USBD_LL_CloseEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); +USBD_StatusTypeDef USBD_LL_FlushEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); +USBD_StatusTypeDef USBD_LL_StallEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); +USBD_StatusTypeDef USBD_LL_ClearStallEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); +uint8_t USBD_LL_IsStallEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); +USBD_StatusTypeDef USBD_LL_SetUSBAddress (USBD_HandleTypeDef *pdev, uint8_t dev_addr); +USBD_StatusTypeDef USBD_LL_Transmit (USBD_HandleTypeDef *pdev, + uint8_t ep_addr, uint8_t *pbuf, uint16_t size); -USBD_StatusTypeDef USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev, - uint8_t ep_addr, +USBD_StatusTypeDef USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev, + uint8_t ep_addr, uint8_t *pbuf, uint16_t size); -uint32_t USBD_LL_GetRxDataSize (USBD_HandleTypeDef *pdev, uint8_t ep_addr); +uint32_t USBD_LL_GetRxDataSize (USBD_HandleTypeDef *pdev, uint8_t ep_addr); void USBD_LL_Delay (uint32_t Delay); /** * @} - */ + */ #ifdef __cplusplus } @@ -155,11 +155,11 @@ void USBD_LL_Delay (uint32_t Delay); /** * @} - */ + */ /** * @} -*/ +*/ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h b/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h index bf88252..f4ddfb2 100644 --- a/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h +++ b/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h @@ -16,14 +16,14 @@ * * 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, + * 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_REQUEST_H @@ -40,18 +40,18 @@ /** @addtogroup STM32_USB_DEVICE_LIBRARY * @{ */ - + /** @defgroup USBD_REQ * @brief header file for the usbd_req.c file * @{ - */ + */ /** @defgroup USBD_REQ_Exported_Defines * @{ - */ + */ /** * @} - */ + */ /** @defgroup USBD_REQ_Exported_Types @@ -59,27 +59,27 @@ */ /** * @} - */ + */ /** @defgroup USBD_REQ_Exported_Macros * @{ - */ + */ /** * @} - */ + */ /** @defgroup USBD_REQ_Exported_Variables * @{ - */ + */ /** * @} - */ + */ /** @defgroup USBD_REQ_Exported_FunctionsPrototype * @{ - */ + */ USBD_StatusTypeDef USBD_StdDevReq (USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req); USBD_StatusTypeDef USBD_StdItfReq (USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req); @@ -93,7 +93,7 @@ void USBD_ParseSetupRequest (USBD_SetupReqTypedef *req, uint8_t *pdata); void USBD_GetString (uint8_t *desc, uint8_t *unicode, uint16_t *len); /** * @} - */ + */ #ifdef __cplusplus } @@ -103,11 +103,11 @@ void USBD_GetString (uint8_t *desc, uint8_t *unicode, uint16_t *len); /** * @} - */ + */ /** * @} -*/ +*/ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h b/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h index 8fbe81e..34a4220 100644 --- a/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h +++ b/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h @@ -4,7 +4,7 @@ * @author MCD Application Team * @version V2.4.2 * @date 11-December-2015 - * @brief General defines for the usb device library + * @brief General defines for the usb device library ****************************************************************************** * @attention * @@ -16,14 +16,14 @@ * * 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, + * 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 __USBD_DEF_H @@ -39,15 +39,15 @@ /** @addtogroup STM32_USBD_DEVICE_LIBRARY * @{ */ - + /** @defgroup USB_DEF * @brief general defines for the usb device library file * @{ - */ + */ /** @defgroup USB_DEF_Exported_Defines * @{ - */ + */ #ifndef NULL #define NULL 0 @@ -63,12 +63,12 @@ #define USB_LEN_LANGID_STR_DESC 0x04 #define USB_LEN_OTHER_SPEED_DESC_SIZ 0x09 -#define USBD_IDX_LANGID_STR 0x00 -#define USBD_IDX_MFC_STR 0x01 +#define USBD_IDX_LANGID_STR 0x00 +#define USBD_IDX_MFC_STR 0x01 #define USBD_IDX_PRODUCT_STR 0x02 -#define USBD_IDX_SERIAL_STR 0x03 -#define USBD_IDX_CONFIG_STR 0x04 -#define USBD_IDX_INTERFACE_STR 0x05 +#define USBD_IDX_SERIAL_STR 0x03 +#define USBD_IDX_CONFIG_STR 0x04 +#define USBD_IDX_INTERFACE_STR 0x05 #define USB_REQ_TYPE_STANDARD 0x00 #define USB_REQ_TYPE_CLASS 0x20 @@ -121,14 +121,14 @@ #define USBD_STATE_SUSPENDED 4 -/* EP0 State */ +/* EP0 State */ #define USBD_EP0_IDLE 0 #define USBD_EP0_SETUP 1 #define USBD_EP0_DATA_IN 2 #define USBD_EP0_DATA_OUT 3 #define USBD_EP0_STATUS_IN 4 #define USBD_EP0_STATUS_OUT 5 -#define USBD_EP0_STALL 6 +#define USBD_EP0_STALL 6 #define USBD_EP_TYPE_CTRL 0 #define USBD_EP_TYPE_ISOC 1 @@ -138,56 +138,56 @@ /** * @} - */ + */ /** @defgroup USBD_DEF_Exported_TypesDefinitions * @{ */ -typedef struct usb_setup_req +typedef struct usb_setup_req { - - uint8_t bmRequest; - uint8_t bRequest; - uint16_t wValue; - uint16_t wIndex; - uint16_t wLength; + + uint8_t bmRequest; + uint8_t bRequest; + uint16_t wValue; + uint16_t wIndex; + uint16_t wLength; }USBD_SetupReqTypedef; struct _USBD_HandleTypeDef; - + typedef struct _Device_cb { uint8_t (*Init) (struct _USBD_HandleTypeDef *pdev , uint8_t cfgidx); uint8_t (*DeInit) (struct _USBD_HandleTypeDef *pdev , uint8_t cfgidx); /* Control Endpoints*/ - uint8_t (*Setup) (struct _USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req); - uint8_t (*EP0_TxSent) (struct _USBD_HandleTypeDef *pdev ); - uint8_t (*EP0_RxReady) (struct _USBD_HandleTypeDef *pdev ); + uint8_t (*Setup) (struct _USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req); + uint8_t (*EP0_TxSent) (struct _USBD_HandleTypeDef *pdev ); + uint8_t (*EP0_RxReady) (struct _USBD_HandleTypeDef *pdev ); /* Class Specific Endpoints*/ - uint8_t (*DataIn) (struct _USBD_HandleTypeDef *pdev , uint8_t epnum); - uint8_t (*DataOut) (struct _USBD_HandleTypeDef *pdev , uint8_t epnum); - uint8_t (*SOF) (struct _USBD_HandleTypeDef *pdev); - uint8_t (*IsoINIncomplete) (struct _USBD_HandleTypeDef *pdev , uint8_t epnum); - uint8_t (*IsoOUTIncomplete) (struct _USBD_HandleTypeDef *pdev , uint8_t epnum); - - uint8_t *(*GetHSConfigDescriptor)(uint16_t *length); - uint8_t *(*GetFSConfigDescriptor)(uint16_t *length); + uint8_t (*DataIn) (struct _USBD_HandleTypeDef *pdev , uint8_t epnum); + uint8_t (*DataOut) (struct _USBD_HandleTypeDef *pdev , uint8_t epnum); + uint8_t (*SOF) (struct _USBD_HandleTypeDef *pdev); + uint8_t (*IsoINIncomplete) (struct _USBD_HandleTypeDef *pdev , uint8_t epnum); + uint8_t (*IsoOUTIncomplete) (struct _USBD_HandleTypeDef *pdev , uint8_t epnum); + + uint8_t *(*GetHSConfigDescriptor)(uint16_t *length); + uint8_t *(*GetFSConfigDescriptor)(uint16_t *length); uint8_t *(*GetOtherSpeedConfigDescriptor)(uint16_t *length); uint8_t *(*GetDeviceQualifierDescriptor)(uint16_t *length); #if (USBD_SUPPORT_USER_STRING == 1) - uint8_t *(*GetUsrStrDescriptor)(struct _USBD_HandleTypeDef *pdev ,uint8_t index, uint16_t *length); -#endif - + uint8_t *(*GetUsrStrDescriptor)(struct _USBD_HandleTypeDef *pdev ,uint8_t index, uint16_t *length); +#endif + } USBD_ClassTypeDef; /* Following USB Device Speed */ -typedef enum +typedef enum { USBD_SPEED_HIGH = 0, USBD_SPEED_FULL = 1, - USBD_SPEED_LOW = 2, + USBD_SPEED_LOW = 2, }USBD_SpeedTypeDef; /* Following USB Device status */ @@ -200,25 +200,25 @@ typedef enum { /* USB Device descriptors structure */ typedef struct { - uint8_t *(*GetDeviceDescriptor)( USBD_SpeedTypeDef speed , uint16_t *length); - uint8_t *(*GetLangIDStrDescriptor)( USBD_SpeedTypeDef speed , uint16_t *length); - uint8_t *(*GetManufacturerStrDescriptor)( USBD_SpeedTypeDef speed , uint16_t *length); - uint8_t *(*GetProductStrDescriptor)( USBD_SpeedTypeDef speed , uint16_t *length); - uint8_t *(*GetSerialStrDescriptor)( USBD_SpeedTypeDef speed , uint16_t *length); - uint8_t *(*GetConfigurationStrDescriptor)( USBD_SpeedTypeDef speed , uint16_t *length); - uint8_t *(*GetInterfaceStrDescriptor)( USBD_SpeedTypeDef speed , uint16_t *length); + uint8_t *(*GetDeviceDescriptor)( USBD_SpeedTypeDef speed , uint16_t *length); + uint8_t *(*GetLangIDStrDescriptor)( USBD_SpeedTypeDef speed , uint16_t *length); + uint8_t *(*GetManufacturerStrDescriptor)( USBD_SpeedTypeDef speed , uint16_t *length); + uint8_t *(*GetProductStrDescriptor)( USBD_SpeedTypeDef speed , uint16_t *length); + uint8_t *(*GetSerialStrDescriptor)( USBD_SpeedTypeDef speed , uint16_t *length); + uint8_t *(*GetConfigurationStrDescriptor)( USBD_SpeedTypeDef speed , uint16_t *length); + uint8_t *(*GetInterfaceStrDescriptor)( USBD_SpeedTypeDef speed , uint16_t *length); #if (USBD_LPM_ENABLED == 1) - uint8_t *(*GetBOSDescriptor)( USBD_SpeedTypeDef speed , uint16_t *length); -#endif + uint8_t *(*GetBOSDescriptor)( USBD_SpeedTypeDef speed , uint16_t *length); +#endif } USBD_DescriptorsTypeDef; /* USB Device handle structure */ typedef struct -{ +{ uint32_t status; - uint32_t total_length; - uint32_t rem_length; - uint32_t maxpacket; + uint32_t total_length; + uint32_t rem_length; + uint32_t maxpacket; } USBD_EndpointTypeDef; /* USB Device handle structure */ @@ -227,36 +227,36 @@ typedef struct _USBD_HandleTypeDef uint8_t id; uint32_t dev_config; uint32_t dev_default_config; - uint32_t dev_config_status; - USBD_SpeedTypeDef dev_speed; + uint32_t dev_config_status; + USBD_SpeedTypeDef dev_speed; USBD_EndpointTypeDef ep_in[15]; - USBD_EndpointTypeDef ep_out[15]; - uint32_t ep0_state; - uint32_t ep0_data_len; + USBD_EndpointTypeDef ep_out[15]; + uint32_t ep0_state; + uint32_t ep0_data_len; uint8_t dev_state; uint8_t dev_old_state; uint8_t dev_address; - uint8_t dev_connection_status; + uint8_t dev_connection_status; uint8_t dev_test_mode; uint32_t dev_remote_wakeup; USBD_SetupReqTypedef request; USBD_DescriptorsTypeDef *pDesc; USBD_ClassTypeDef *pClass; - void *pClassData; - void *pUserData; - void *pData; + void *pClassData; + void *pUserData; + void *pData; } USBD_HandleTypeDef; /** * @} - */ + */ /** @defgroup USBD_DEF_Exported_Macros * @{ - */ + */ #define SWAPBYTE(addr) (((uint16_t)(*((uint8_t *)(addr)))) + \ (((uint16_t)(*(((uint8_t *)(addr)) + 1))) << 8)) @@ -277,42 +277,42 @@ typedef struct _USBD_HandleTypeDef /* In HS mode and when the DMA is used, all variables and data structures dealing - with the DMA during the transaction process should be 4-bytes aligned */ + with the DMA during the transaction process should be 4-bytes aligned */ #if defined (__GNUC__) /* GNU Compiler */ #define __ALIGN_END __attribute__ ((aligned (4))) - #define __ALIGN_BEGIN -#else + #define __ALIGN_BEGIN +#else #define __ALIGN_END #if defined (__CC_ARM) /* ARM Compiler */ - #define __ALIGN_BEGIN __align(4) + #define __ALIGN_BEGIN __align(4) #elif defined (__ICCARM__) /* IAR Compiler */ - #define __ALIGN_BEGIN + #define __ALIGN_BEGIN #elif defined (__TASKING__) /* TASKING Compiler */ - #define __ALIGN_BEGIN __align(4) - #endif /* __CC_ARM */ -#endif /* __GNUC__ */ - + #define __ALIGN_BEGIN __align(4) + #endif /* __CC_ARM */ +#endif /* __GNUC__ */ + /** * @} - */ + */ /** @defgroup USBD_DEF_Exported_Variables * @{ - */ + */ /** * @} - */ + */ /** @defgroup USBD_DEF_Exported_FunctionsPrototype * @{ - */ + */ /** * @} - */ + */ #ifdef __cplusplus } @@ -322,9 +322,9 @@ typedef struct _USBD_HandleTypeDef /** * @} - */ + */ /** * @} -*/ +*/ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h b/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h index b476307..bb5d85c 100644 --- a/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h +++ b/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h @@ -16,14 +16,14 @@ * * 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, + * 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 __USBD_IOREQ_H @@ -40,18 +40,18 @@ /** @addtogroup STM32_USB_DEVICE_LIBRARY * @{ */ - + /** @defgroup USBD_IOREQ * @brief header file for the usbd_ioreq.c file * @{ - */ + */ /** @defgroup USBD_IOREQ_Exported_Defines * @{ - */ + */ /** * @} - */ + */ /** @defgroup USBD_IOREQ_Exported_Types @@ -61,56 +61,56 @@ /** * @} - */ + */ /** @defgroup USBD_IOREQ_Exported_Macros * @{ - */ + */ /** * @} - */ + */ /** @defgroup USBD_IOREQ_Exported_Variables * @{ - */ + */ /** * @} - */ + */ /** @defgroup USBD_IOREQ_Exported_FunctionsPrototype * @{ - */ + */ -USBD_StatusTypeDef USBD_CtlSendData (USBD_HandleTypeDef *pdev, +USBD_StatusTypeDef USBD_CtlSendData (USBD_HandleTypeDef *pdev, uint8_t *buf, uint16_t len); -USBD_StatusTypeDef USBD_CtlContinueSendData (USBD_HandleTypeDef *pdev, +USBD_StatusTypeDef USBD_CtlContinueSendData (USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint16_t len); -USBD_StatusTypeDef USBD_CtlPrepareRx (USBD_HandleTypeDef *pdev, - uint8_t *pbuf, +USBD_StatusTypeDef USBD_CtlPrepareRx (USBD_HandleTypeDef *pdev, + uint8_t *pbuf, uint16_t len); -USBD_StatusTypeDef USBD_CtlContinueRx (USBD_HandleTypeDef *pdev, - uint8_t *pbuf, +USBD_StatusTypeDef USBD_CtlContinueRx (USBD_HandleTypeDef *pdev, + uint8_t *pbuf, uint16_t len); USBD_StatusTypeDef USBD_CtlSendStatus (USBD_HandleTypeDef *pdev); USBD_StatusTypeDef USBD_CtlReceiveStatus (USBD_HandleTypeDef *pdev); -uint16_t USBD_GetRxCount (USBD_HandleTypeDef *pdev , +uint16_t USBD_GetRxCount (USBD_HandleTypeDef *pdev , uint8_t epnum); /** * @} - */ + */ #ifdef __cplusplus } @@ -120,9 +120,9 @@ uint16_t USBD_GetRxCount (USBD_HandleTypeDef *pdev , /** * @} - */ + */ /** * @} -*/ +*/ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c b/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c index 0158829..ff3ed44 100644 --- a/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c +++ b/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c @@ -16,14 +16,14 @@ * * 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, + * 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. * ****************************************************************************** - */ + */ /* Includes ------------------------------------------------------------------*/ #include "usbd_core.h" @@ -33,57 +33,57 @@ */ -/** @defgroup USBD_CORE +/** @defgroup USBD_CORE * @brief usbd core module * @{ -*/ +*/ /** @defgroup USBD_CORE_Private_TypesDefinitions * @{ -*/ +*/ /** * @} -*/ +*/ /** @defgroup USBD_CORE_Private_Defines * @{ -*/ +*/ /** * @} -*/ +*/ /** @defgroup USBD_CORE_Private_Macros * @{ -*/ +*/ /** * @} -*/ +*/ /** @defgroup USBD_CORE_Private_FunctionPrototypes * @{ -*/ +*/ /** * @} -*/ +*/ /** @defgroup USBD_CORE_Private_Variables * @{ -*/ +*/ /** * @} -*/ +*/ /** @defgroup USBD_CORE_Private_Functions * @{ -*/ +*/ /** * @brief USBD_Init @@ -99,32 +99,32 @@ USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev, USBD_DescriptorsTypeDef * if(pdev == NULL) { USBD_ErrLog("Invalid Device handle"); - return USBD_FAIL; + return USBD_FAIL; } - + /* Unlink previous class*/ if(pdev->pClass != NULL) { pdev->pClass = NULL; } - + /* Assign USBD Descriptors */ if(pdesc != NULL) { pdev->pDesc = pdesc; } - + /* Set Device initial State */ pdev->dev_state = USBD_STATE_DEFAULT; pdev->id = id; /* Initialize low level driver */ USBD_LL_Init(pdev); - - return USBD_OK; + + return USBD_OK; } /** -* @brief USBD_DeInit +* @brief USBD_DeInit * Re-Initialize th device library * @param pdev: device instance * @retval status: status @@ -133,22 +133,22 @@ USBD_StatusTypeDef USBD_DeInit(USBD_HandleTypeDef *pdev) { /* Set Default State */ pdev->dev_state = USBD_STATE_DEFAULT; - + /* Free Class Resources */ - pdev->pClass->DeInit(pdev, pdev->dev_config); - + pdev->pClass->DeInit(pdev, pdev->dev_config); + /* Stop the low level driver */ - USBD_LL_Stop(pdev); - + USBD_LL_Stop(pdev); + /* Initialize low level driver */ USBD_LL_DeInit(pdev); - + return USBD_OK; } /** - * @brief USBD_RegisterClass + * @brief USBD_RegisterClass * Link class driver to Device Core. * @param pDevice : Device Handle * @param pclass: Class handle @@ -166,29 +166,29 @@ USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeD else { USBD_ErrLog("Invalid Class handle"); - status = USBD_FAIL; + status = USBD_FAIL; } - + return status; } /** - * @brief USBD_Start + * @brief USBD_Start * Start the USB Device Core. * @param pdev: Device Handle * @retval USBD Status */ USBD_StatusTypeDef USBD_Start (USBD_HandleTypeDef *pdev) { - + /* Start the low level driver */ - USBD_LL_Start(pdev); - - return USBD_OK; + USBD_LL_Start(pdev); + + return USBD_OK; } /** - * @brief USBD_Stop + * @brief USBD_Stop * Stop the USB Device Core. * @param pdev: Device Handle * @retval USBD Status @@ -196,28 +196,28 @@ USBD_StatusTypeDef USBD_Start (USBD_HandleTypeDef *pdev) USBD_StatusTypeDef USBD_Stop (USBD_HandleTypeDef *pdev) { /* Free Class Resources */ - pdev->pClass->DeInit(pdev, pdev->dev_config); + pdev->pClass->DeInit(pdev, pdev->dev_config); /* Stop the low level driver */ - USBD_LL_Stop(pdev); - - return USBD_OK; + USBD_LL_Stop(pdev); + + return USBD_OK; } /** -* @brief USBD_RunTestMode +* @brief USBD_RunTestMode * Launch test mode process * @param pdev: device instance * @retval status */ -USBD_StatusTypeDef USBD_RunTestMode (USBD_HandleTypeDef *pdev) +USBD_StatusTypeDef USBD_RunTestMode (USBD_HandleTypeDef *pdev) { return USBD_OK; } /** -* @brief USBD_SetClassConfig +* @brief USBD_SetClassConfig * Configure device and start the interface * @param pdev: device instance * @param cfgidx: configuration index @@ -227,7 +227,7 @@ USBD_StatusTypeDef USBD_RunTestMode (USBD_HandleTypeDef *pdev) USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { USBD_StatusTypeDef ret = USBD_FAIL; - + if(pdev->pClass != NULL) { /* Set configuration and Start the Class*/ @@ -236,11 +236,11 @@ USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx ret = USBD_OK; } } - return ret; + return ret; } /** -* @brief USBD_ClrClassConfig +* @brief USBD_ClrClassConfig * Clear current configuration * @param pdev: device instance * @param cfgidx: configuration index @@ -249,13 +249,13 @@ USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { /* Clear configuration and De-initialize the Class process*/ - pdev->pClass->DeInit(pdev, cfgidx); + pdev->pClass->DeInit(pdev, cfgidx); return USBD_OK; } /** -* @brief USBD_SetupStage +* @brief USBD_SetupStage * Handle the setup stage * @param pdev: device instance * @retval status @@ -264,33 +264,33 @@ USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup) { USBD_ParseSetupRequest(&pdev->request, psetup); - + pdev->ep0_state = USBD_EP0_SETUP; pdev->ep0_data_len = pdev->request.wLength; - - switch (pdev->request.bmRequest & 0x1F) + + switch (pdev->request.bmRequest & 0x1F) { - case USB_REQ_RECIPIENT_DEVICE: + case USB_REQ_RECIPIENT_DEVICE: USBD_StdDevReq (pdev, &pdev->request); break; - - case USB_REQ_RECIPIENT_INTERFACE: + + case USB_REQ_RECIPIENT_INTERFACE: USBD_StdItfReq(pdev, &pdev->request); break; - - case USB_REQ_RECIPIENT_ENDPOINT: - USBD_StdEPReq(pdev, &pdev->request); + + case USB_REQ_RECIPIENT_ENDPOINT: + USBD_StdEPReq(pdev, &pdev->request); break; - - default: + + default: USBD_LL_StallEP(pdev , pdev->request.bmRequest & 0x80); break; - } - return USBD_OK; + } + return USBD_OK; } /** -* @brief USBD_DataOutStage +* @brief USBD_DataOutStage * Handle data OUT stage * @param pdev: device instance * @param epnum: endpoint index @@ -299,18 +299,18 @@ USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup) USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev , uint8_t epnum, uint8_t *pdata) { USBD_EndpointTypeDef *pep; - - if(epnum == 0) + + if(epnum == 0) { pep = &pdev->ep_out[0]; - + if ( pdev->ep0_state == USBD_EP0_DATA_OUT) { if(pep->rem_length > pep->maxpacket) { pep->rem_length -= pep->maxpacket; - - USBD_CtlContinueRx (pdev, + + USBD_CtlContinueRx (pdev, pdata, MIN(pep->rem_length ,pep->maxpacket)); } @@ -319,7 +319,7 @@ USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev , uint8_t epnum if((pdev->pClass->EP0_RxReady != NULL)&& (pdev->dev_state == USBD_STATE_CONFIGURED)) { - pdev->pClass->EP0_RxReady(pdev); + pdev->pClass->EP0_RxReady(pdev); } USBD_CtlSendStatus(pdev); } @@ -328,13 +328,13 @@ USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev , uint8_t epnum else if((pdev->pClass->DataOut != NULL)&& (pdev->dev_state == USBD_STATE_CONFIGURED)) { - pdev->pClass->DataOut(pdev, epnum); - } + pdev->pClass->DataOut(pdev, epnum); + } return USBD_OK; } /** -* @brief USBD_DataInStage +* @brief USBD_DataInStage * Handle data in stage * @param pdev: device instance * @param epnum: endpoint index @@ -343,26 +343,26 @@ USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev , uint8_t epnum USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev ,uint8_t epnum, uint8_t *pdata) { USBD_EndpointTypeDef *pep; - - if(epnum == 0) + + if(epnum == 0) { pep = &pdev->ep_in[0]; - + if ( pdev->ep0_state == USBD_EP0_DATA_IN) { if(pep->rem_length > pep->maxpacket) { pep->rem_length -= pep->maxpacket; - - USBD_CtlContinueSendData (pdev, - pdata, + + USBD_CtlContinueSendData (pdev, + pdata, pep->rem_length); - + /* Prepare endpoint for premature end of transfer */ USBD_LL_PrepareReceive (pdev, 0, NULL, - 0); + 0); } else { /* last packet is MPS multiple, so send ZLP packet */ @@ -370,10 +370,10 @@ USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev ,uint8_t epnum, (pep->total_length >= pep->maxpacket) && (pep->total_length < pdev->ep0_data_len )) { - + USBD_CtlContinueSendData(pdev , NULL, 0); pdev->ep0_data_len = 0; - + /* Prepare endpoint for premature end of transfer */ USBD_LL_PrepareReceive (pdev, 0, @@ -385,28 +385,28 @@ USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev ,uint8_t epnum, if((pdev->pClass->EP0_TxSent != NULL)&& (pdev->dev_state == USBD_STATE_CONFIGURED)) { - pdev->pClass->EP0_TxSent(pdev); - } + pdev->pClass->EP0_TxSent(pdev); + } USBD_CtlReceiveStatus(pdev); } } } if (pdev->dev_test_mode == 1) { - USBD_RunTestMode(pdev); + USBD_RunTestMode(pdev); pdev->dev_test_mode = 0; } } - else if((pdev->pClass->DataIn != NULL)&& + else if((pdev->pClass->DataIn != NULL)&& (pdev->dev_state == USBD_STATE_CONFIGURED)) { - pdev->pClass->DataIn(pdev, epnum); - } + pdev->pClass->DataIn(pdev, epnum); + } return USBD_OK; } /** -* @brief USBD_LL_Reset +* @brief USBD_LL_Reset * Handle Reset event * @param pdev: device instance * @retval status @@ -419,23 +419,23 @@ USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef *pdev) 0x00, USBD_EP_TYPE_CTRL, USB_MAX_EP0_SIZE); - + pdev->ep_out[0].maxpacket = USB_MAX_EP0_SIZE; - + /* Open EP0 IN */ USBD_LL_OpenEP(pdev, 0x80, USBD_EP_TYPE_CTRL, USB_MAX_EP0_SIZE); - + pdev->ep_in[0].maxpacket = USB_MAX_EP0_SIZE; /* Upon Reset call user call back */ pdev->dev_state = USBD_STATE_DEFAULT; - - if (pdev->pClassData) - pdev->pClass->DeInit(pdev, pdev->dev_config); - - + + if (pdev->pClassData) + pdev->pClass->DeInit(pdev, pdev->dev_config); + + return USBD_OK; } @@ -443,7 +443,7 @@ USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef *pdev) /** -* @brief USBD_LL_Reset +* @brief USBD_LL_Reset * Handle Reset event * @param pdev: device instance * @retval status @@ -455,7 +455,7 @@ USBD_StatusTypeDef USBD_LL_SetSpeed(USBD_HandleTypeDef *pdev, USBD_SpeedTypeDef } /** -* @brief USBD_Suspend +* @brief USBD_Suspend * Handle Suspend event * @param pdev: device instance * @retval status @@ -469,7 +469,7 @@ USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef *pdev) } /** -* @brief USBD_Resume +* @brief USBD_Resume * Handle Resume event * @param pdev: device instance * @retval status @@ -477,12 +477,12 @@ USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef *pdev) USBD_StatusTypeDef USBD_LL_Resume(USBD_HandleTypeDef *pdev) { - pdev->dev_state = pdev->dev_old_state; + pdev->dev_state = pdev->dev_old_state; return USBD_OK; } /** -* @brief USBD_SOF +* @brief USBD_SOF * Handle SOF event * @param pdev: device instance * @retval status @@ -501,7 +501,7 @@ USBD_StatusTypeDef USBD_LL_SOF(USBD_HandleTypeDef *pdev) } /** -* @brief USBD_IsoINIncomplete +* @brief USBD_IsoINIncomplete * Handle iso in incomplete event * @param pdev: device instance * @retval status @@ -512,7 +512,7 @@ USBD_StatusTypeDef USBD_LL_IsoINIncomplete(USBD_HandleTypeDef *pdev, uint8_t ep } /** -* @brief USBD_IsoOUTIncomplete +* @brief USBD_IsoOUTIncomplete * Handle iso out incomplete event * @param pdev: device instance * @retval status @@ -523,7 +523,7 @@ USBD_StatusTypeDef USBD_LL_IsoOUTIncomplete(USBD_HandleTypeDef *pdev, uint8_t e } /** -* @brief USBD_DevConnected +* @brief USBD_DevConnected * Handle device connection event * @param pdev: device instance * @retval status @@ -534,7 +534,7 @@ USBD_StatusTypeDef USBD_LL_DevConnected(USBD_HandleTypeDef *pdev) } /** -* @brief USBD_DevDisconnected +* @brief USBD_DevDisconnected * Handle device disconnection event * @param pdev: device instance * @retval status @@ -543,23 +543,23 @@ USBD_StatusTypeDef USBD_LL_DevDisconnected(USBD_HandleTypeDef *pdev) { /* Free Class Resources */ pdev->dev_state = USBD_STATE_DEFAULT; - pdev->pClass->DeInit(pdev, pdev->dev_config); - + pdev->pClass->DeInit(pdev, pdev->dev_config); + return USBD_OK; } /** * @} -*/ +*/ /** * @} -*/ +*/ /** * @} -*/ +*/ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c b/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c index 49330c6..fce6a5b 100644 --- a/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c +++ b/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c @@ -3,7 +3,7 @@ * @file usbd_req.c * @author MCD Application Team * @version V2.4.2 - * @date 11-December-2015 + * @date 11-December-2015 * @brief This file provides the standard USB requests following chapter 9. ****************************************************************************** * @attention @@ -16,14 +16,14 @@ * * 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, + * 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. * ****************************************************************************** - */ + */ /* Includes ------------------------------------------------------------------*/ #include "usbd_ctlreq.h" @@ -35,78 +35,78 @@ */ -/** @defgroup USBD_REQ +/** @defgroup USBD_REQ * @brief USB standard requests module * @{ - */ + */ /** @defgroup USBD_REQ_Private_TypesDefinitions * @{ - */ + */ /** * @} - */ + */ /** @defgroup USBD_REQ_Private_Defines * @{ - */ + */ /** * @} - */ + */ /** @defgroup USBD_REQ_Private_Macros * @{ - */ + */ /** * @} - */ + */ /** @defgroup USBD_REQ_Private_Variables * @{ - */ + */ /** * @} - */ + */ /** @defgroup USBD_REQ_Private_FunctionPrototypes * @{ - */ -static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev , + */ +static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req); -static void USBD_SetAddress(USBD_HandleTypeDef *pdev , +static void USBD_SetAddress(USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req); -static void USBD_SetConfig(USBD_HandleTypeDef *pdev , +static void USBD_SetConfig(USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req); -static void USBD_GetConfig(USBD_HandleTypeDef *pdev , +static void USBD_GetConfig(USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req); -static void USBD_GetStatus(USBD_HandleTypeDef *pdev , +static void USBD_GetStatus(USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req); -static void USBD_SetFeature(USBD_HandleTypeDef *pdev , +static void USBD_SetFeature(USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req); -static void USBD_ClrFeature(USBD_HandleTypeDef *pdev , +static void USBD_ClrFeature(USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req); static uint8_t USBD_GetLen(uint8_t *buf); /** * @} - */ + */ /** @defgroup USBD_REQ_Private_Functions * @{ - */ + */ /** @@ -118,45 +118,45 @@ static uint8_t USBD_GetLen(uint8_t *buf); */ USBD_StatusTypeDef USBD_StdDevReq (USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req) { - USBD_StatusTypeDef ret = USBD_OK; - - switch (req->bRequest) + USBD_StatusTypeDef ret = USBD_OK; + + switch (req->bRequest) { - case USB_REQ_GET_DESCRIPTOR: - + case USB_REQ_GET_DESCRIPTOR: + USBD_GetDescriptor (pdev, req) ; break; - - case USB_REQ_SET_ADDRESS: + + case USB_REQ_SET_ADDRESS: USBD_SetAddress(pdev, req); break; - - case USB_REQ_SET_CONFIGURATION: + + case USB_REQ_SET_CONFIGURATION: USBD_SetConfig (pdev , req); break; - - case USB_REQ_GET_CONFIGURATION: + + case USB_REQ_GET_CONFIGURATION: USBD_GetConfig (pdev , req); break; - - case USB_REQ_GET_STATUS: + + case USB_REQ_GET_STATUS: USBD_GetStatus (pdev , req); break; - - - case USB_REQ_SET_FEATURE: - USBD_SetFeature (pdev , req); + + + case USB_REQ_SET_FEATURE: + USBD_SetFeature (pdev , req); break; - - case USB_REQ_CLEAR_FEATURE: + + case USB_REQ_CLEAR_FEATURE: USBD_ClrFeature (pdev , req); break; - - default: + + default: USBD_CtlError(pdev , req); break; } - + return ret; } @@ -169,27 +169,27 @@ USBD_StatusTypeDef USBD_StdDevReq (USBD_HandleTypeDef *pdev , USBD_SetupReqType */ USBD_StatusTypeDef USBD_StdItfReq (USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req) { - USBD_StatusTypeDef ret = USBD_OK; - - switch (pdev->dev_state) + USBD_StatusTypeDef ret = USBD_OK; + + switch (pdev->dev_state) { case USBD_STATE_CONFIGURED: - - if (LOBYTE(req->wIndex) <= USBD_MAX_NUM_INTERFACES) + + if (LOBYTE(req->wIndex) <= USBD_MAX_NUM_INTERFACES) { - pdev->pClass->Setup (pdev, req); - + pdev->pClass->Setup (pdev, req); + if((req->wLength == 0)&& (ret == USBD_OK)) { USBD_CtlSendStatus(pdev); } - } - else - { + } + else + { USBD_CtlError(pdev , req); } break; - + default: USBD_CtlError(pdev , req); break; @@ -206,116 +206,116 @@ USBD_StatusTypeDef USBD_StdItfReq (USBD_HandleTypeDef *pdev , USBD_SetupReqType */ USBD_StatusTypeDef USBD_StdEPReq (USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req) { - + uint8_t ep_addr; - USBD_StatusTypeDef ret = USBD_OK; + USBD_StatusTypeDef ret = USBD_OK; USBD_EndpointTypeDef *pep; - ep_addr = LOBYTE(req->wIndex); - + ep_addr = LOBYTE(req->wIndex); + /* Check if it is a class request */ if ((req->bmRequest & 0x60) == 0x20) { pdev->pClass->Setup (pdev, req); - + return USBD_OK; } - - switch (req->bRequest) + + switch (req->bRequest) { - + case USB_REQ_SET_FEATURE : - - switch (pdev->dev_state) + + switch (pdev->dev_state) { - case USBD_STATE_ADDRESSED: - if ((ep_addr != 0x00) && (ep_addr != 0x80)) + case USBD_STATE_ADDRESSED: + if ((ep_addr != 0x00) && (ep_addr != 0x80)) { USBD_LL_StallEP(pdev , ep_addr); } break; - - case USBD_STATE_CONFIGURED: + + case USBD_STATE_CONFIGURED: if (req->wValue == USB_FEATURE_EP_HALT) { - if ((ep_addr != 0x00) && (ep_addr != 0x80)) - { + if ((ep_addr != 0x00) && (ep_addr != 0x80)) + { USBD_LL_StallEP(pdev , ep_addr); - + } } - pdev->pClass->Setup (pdev, req); + pdev->pClass->Setup (pdev, req); USBD_CtlSendStatus(pdev); - + break; - - default: + + default: USBD_CtlError(pdev , req); - break; + break; } break; - + case USB_REQ_CLEAR_FEATURE : - - switch (pdev->dev_state) + + switch (pdev->dev_state) { - case USBD_STATE_ADDRESSED: - if ((ep_addr != 0x00) && (ep_addr != 0x80)) + case USBD_STATE_ADDRESSED: + if ((ep_addr != 0x00) && (ep_addr != 0x80)) { USBD_LL_StallEP(pdev , ep_addr); } break; - - case USBD_STATE_CONFIGURED: + + case USBD_STATE_CONFIGURED: if (req->wValue == USB_FEATURE_EP_HALT) { - if ((ep_addr & 0x7F) != 0x00) - { + if ((ep_addr & 0x7F) != 0x00) + { USBD_LL_ClearStallEP(pdev , ep_addr); pdev->pClass->Setup (pdev, req); } USBD_CtlSendStatus(pdev); } break; - - default: + + default: USBD_CtlError(pdev , req); - break; + break; } break; - - case USB_REQ_GET_STATUS: - switch (pdev->dev_state) + + case USB_REQ_GET_STATUS: + switch (pdev->dev_state) { - case USBD_STATE_ADDRESSED: - if ((ep_addr & 0x7F) != 0x00) + case USBD_STATE_ADDRESSED: + if ((ep_addr & 0x7F) != 0x00) { USBD_LL_StallEP(pdev , ep_addr); } break; - + case USBD_STATE_CONFIGURED: pep = ((ep_addr & 0x80) == 0x80) ? &pdev->ep_in[ep_addr & 0x7F]:\ &pdev->ep_out[ep_addr & 0x7F]; if(USBD_LL_IsStallEP(pdev, ep_addr)) { - pep->status = 0x0001; + pep->status = 0x0001; } else { - pep->status = 0x0000; + pep->status = 0x0000; } - + USBD_CtlSendData (pdev, (uint8_t *)&pep->status, 2); break; - - default: + + default: USBD_CtlError(pdev , req); break; } break; - + default: break; } @@ -328,26 +328,26 @@ USBD_StatusTypeDef USBD_StdEPReq (USBD_HandleTypeDef *pdev , USBD_SetupReqTyped * @param req: usb request * @retval status */ -static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev , +static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req) { uint16_t len; uint8_t *pbuf; - - + + switch (req->wValue >> 8) - { + { #if (USBD_LPM_ENABLED == 1) case USB_DESC_TYPE_BOS: pbuf = pdev->pDesc->GetBOSDescriptor(pdev->dev_speed, &len); break; -#endif +#endif case USB_DESC_TYPE_DEVICE: pbuf = pdev->pDesc->GetDeviceDescriptor(pdev->dev_speed, &len); break; - - case USB_DESC_TYPE_CONFIGURATION: - if(pdev->dev_speed == USBD_SPEED_HIGH ) + + case USB_DESC_TYPE_CONFIGURATION: + if(pdev->dev_speed == USBD_SPEED_HIGH ) { pbuf = (uint8_t *)pdev->pClass->GetHSConfigDescriptor(&len); pbuf[1] = USB_DESC_TYPE_CONFIGURATION; @@ -358,47 +358,47 @@ static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev , pbuf[1] = USB_DESC_TYPE_CONFIGURATION; } break; - + case USB_DESC_TYPE_STRING: switch ((uint8_t)(req->wValue)) { case USBD_IDX_LANGID_STR: - pbuf = pdev->pDesc->GetLangIDStrDescriptor(pdev->dev_speed, &len); + pbuf = pdev->pDesc->GetLangIDStrDescriptor(pdev->dev_speed, &len); break; - + case USBD_IDX_MFC_STR: pbuf = pdev->pDesc->GetManufacturerStrDescriptor(pdev->dev_speed, &len); break; - + case USBD_IDX_PRODUCT_STR: pbuf = pdev->pDesc->GetProductStrDescriptor(pdev->dev_speed, &len); break; - + case USBD_IDX_SERIAL_STR: pbuf = pdev->pDesc->GetSerialStrDescriptor(pdev->dev_speed, &len); break; - + case USBD_IDX_CONFIG_STR: pbuf = pdev->pDesc->GetConfigurationStrDescriptor(pdev->dev_speed, &len); break; - + case USBD_IDX_INTERFACE_STR: pbuf = pdev->pDesc->GetInterfaceStrDescriptor(pdev->dev_speed, &len); break; - + default: #if (USBD_SUPPORT_USER_STRING == 1) pbuf = pdev->pClass->GetUsrStrDescriptor(pdev, (req->wValue) , &len); break; -#else +#else USBD_CtlError(pdev , req); return; -#endif +#endif } break; - case USB_DESC_TYPE_DEVICE_QUALIFIER: + case USB_DESC_TYPE_DEVICE_QUALIFIER: - if(pdev->dev_speed == USBD_SPEED_HIGH ) + if(pdev->dev_speed == USBD_SPEED_HIGH ) { pbuf = (uint8_t *)pdev->pClass->GetDeviceQualifierDescriptor(&len); break; @@ -407,14 +407,14 @@ static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev , { USBD_CtlError(pdev , req); return; - } + } case USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION: - if(pdev->dev_speed == USBD_SPEED_HIGH ) + if(pdev->dev_speed == USBD_SPEED_HIGH ) { pbuf = (uint8_t *)pdev->pClass->GetOtherSpeedConfigDescriptor(&len); pbuf[1] = USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION; - break; + break; } else { @@ -422,21 +422,21 @@ static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev , return; } - default: + default: USBD_CtlError(pdev , req); return; } - + if((len != 0)&& (req->wLength != 0)) { - + len = MIN(len , req->wLength); - - USBD_CtlSendData (pdev, + + USBD_CtlSendData (pdev, pbuf, len); } - + } /** @@ -446,39 +446,39 @@ static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev , * @param req: usb request * @retval status */ -static void USBD_SetAddress(USBD_HandleTypeDef *pdev , +static void USBD_SetAddress(USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req) { - uint8_t dev_addr; - - if ((req->wIndex == 0) && (req->wLength == 0)) + uint8_t dev_addr; + + if ((req->wIndex == 0) && (req->wLength == 0)) { - dev_addr = (uint8_t)(req->wValue) & 0x7F; - - if (pdev->dev_state == USBD_STATE_CONFIGURED) + dev_addr = (uint8_t)(req->wValue) & 0x7F; + + if (pdev->dev_state == USBD_STATE_CONFIGURED) { USBD_CtlError(pdev , req); - } - else + } + else { pdev->dev_address = dev_addr; - USBD_LL_SetUSBAddress(pdev, dev_addr); - USBD_CtlSendStatus(pdev); - - if (dev_addr != 0) + USBD_LL_SetUSBAddress(pdev, dev_addr); + USBD_CtlSendStatus(pdev); + + if (dev_addr != 0) { pdev->dev_state = USBD_STATE_ADDRESSED; - } - else + } + else { - pdev->dev_state = USBD_STATE_DEFAULT; + pdev->dev_state = USBD_STATE_DEFAULT; } } - } - else + } + else { - USBD_CtlError(pdev , req); - } + USBD_CtlError(pdev , req); + } } /** @@ -488,59 +488,59 @@ static void USBD_SetAddress(USBD_HandleTypeDef *pdev , * @param req: usb request * @retval status */ -static void USBD_SetConfig(USBD_HandleTypeDef *pdev , +static void USBD_SetConfig(USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req) { - + static uint8_t cfgidx; - - cfgidx = (uint8_t)(req->wValue); - - if (cfgidx > USBD_MAX_NUM_CONFIGURATION ) - { - USBD_CtlError(pdev , req); - } - else + + cfgidx = (uint8_t)(req->wValue); + + if (cfgidx > USBD_MAX_NUM_CONFIGURATION ) + { + USBD_CtlError(pdev , req); + } + else { - switch (pdev->dev_state) + switch (pdev->dev_state) { case USBD_STATE_ADDRESSED: - if (cfgidx) + if (cfgidx) { pdev->dev_config = cfgidx; pdev->dev_state = USBD_STATE_CONFIGURED; if(USBD_SetClassConfig(pdev , cfgidx) == USBD_FAIL) { - USBD_CtlError(pdev , req); + USBD_CtlError(pdev , req); return; } USBD_CtlSendStatus(pdev); } - else + else { USBD_CtlSendStatus(pdev); } break; - + case USBD_STATE_CONFIGURED: - if (cfgidx == 0) - { + if (cfgidx == 0) + { pdev->dev_state = USBD_STATE_ADDRESSED; - pdev->dev_config = cfgidx; + pdev->dev_config = cfgidx; USBD_ClrClassConfig(pdev , cfgidx); USBD_CtlSendStatus(pdev); - - } - else if (cfgidx != pdev->dev_config) + + } + else if (cfgidx != pdev->dev_config) { /* Clear old configuration */ USBD_ClrClassConfig(pdev , pdev->dev_config); - + /* set new configuration */ pdev->dev_config = cfgidx; if(USBD_SetClassConfig(pdev , cfgidx) == USBD_FAIL) { - USBD_CtlError(pdev , req); + USBD_CtlError(pdev , req); return; } USBD_CtlSendStatus(pdev); @@ -550,9 +550,9 @@ static void USBD_SetConfig(USBD_HandleTypeDef *pdev , USBD_CtlSendStatus(pdev); } break; - + default: - USBD_CtlError(pdev , req); + USBD_CtlError(pdev , req); break; } } @@ -565,32 +565,32 @@ static void USBD_SetConfig(USBD_HandleTypeDef *pdev , * @param req: usb request * @retval status */ -static void USBD_GetConfig(USBD_HandleTypeDef *pdev , +static void USBD_GetConfig(USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req) { - if (req->wLength != 1) - { + if (req->wLength != 1) + { USBD_CtlError(pdev , req); } - else + else { - switch (pdev->dev_state ) + switch (pdev->dev_state ) { - case USBD_STATE_ADDRESSED: + case USBD_STATE_ADDRESSED: pdev->dev_default_config = 0; - USBD_CtlSendData (pdev, + USBD_CtlSendData (pdev, (uint8_t *)&pdev->dev_default_config, 1); break; - - case USBD_STATE_CONFIGURED: - - USBD_CtlSendData (pdev, + + case USBD_STATE_CONFIGURED: + + USBD_CtlSendData (pdev, (uint8_t *)&pdev->dev_config, 1); break; - + default: USBD_CtlError(pdev , req); break; @@ -605,34 +605,34 @@ static void USBD_GetConfig(USBD_HandleTypeDef *pdev , * @param req: usb request * @retval status */ -static void USBD_GetStatus(USBD_HandleTypeDef *pdev , +static void USBD_GetStatus(USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req) { - - - switch (pdev->dev_state) + + + switch (pdev->dev_state) { case USBD_STATE_ADDRESSED: case USBD_STATE_CONFIGURED: - + #if ( USBD_SELF_POWERED == 1) - pdev->dev_config_status = USB_CONFIG_SELF_POWERED; + pdev->dev_config_status = USB_CONFIG_SELF_POWERED; #else - pdev->dev_config_status = 0; + pdev->dev_config_status = 0; #endif - - if (pdev->dev_remote_wakeup) + + if (pdev->dev_remote_wakeup) { - pdev->dev_config_status |= USB_CONFIG_REMOTE_WAKEUP; + pdev->dev_config_status |= USB_CONFIG_REMOTE_WAKEUP; } - - USBD_CtlSendData (pdev, + + USBD_CtlSendData (pdev, (uint8_t *)& pdev->dev_config_status, 2); break; - + default : - USBD_CtlError(pdev , req); + USBD_CtlError(pdev , req); break; } } @@ -645,14 +645,14 @@ static void USBD_GetStatus(USBD_HandleTypeDef *pdev , * @param req: usb request * @retval status */ -static void USBD_SetFeature(USBD_HandleTypeDef *pdev , +static void USBD_SetFeature(USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req) { if (req->wValue == USB_FEATURE_REMOTE_WAKEUP) { - pdev->dev_remote_wakeup = 1; - pdev->pClass->Setup (pdev, req); + pdev->dev_remote_wakeup = 1; + pdev->pClass->Setup (pdev, req); USBD_CtlSendStatus(pdev); } @@ -666,21 +666,21 @@ static void USBD_SetFeature(USBD_HandleTypeDef *pdev , * @param req: usb request * @retval status */ -static void USBD_ClrFeature(USBD_HandleTypeDef *pdev , +static void USBD_ClrFeature(USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req) { switch (pdev->dev_state) { case USBD_STATE_ADDRESSED: case USBD_STATE_CONFIGURED: - if (req->wValue == USB_FEATURE_REMOTE_WAKEUP) + if (req->wValue == USB_FEATURE_REMOTE_WAKEUP) { - pdev->dev_remote_wakeup = 0; - pdev->pClass->Setup (pdev, req); + pdev->dev_remote_wakeup = 0; + pdev->pClass->Setup (pdev, req); USBD_CtlSendStatus(pdev); } break; - + default : USBD_CtlError(pdev , req); break; @@ -688,7 +688,7 @@ static void USBD_ClrFeature(USBD_HandleTypeDef *pdev , } /** -* @brief USBD_ParseSetupRequest +* @brief USBD_ParseSetupRequest * Copy buffer into setup structure * @param pdev: device instance * @param req: usb request @@ -706,7 +706,7 @@ void USBD_ParseSetupRequest(USBD_SetupReqTypedef *req, uint8_t *pdata) } /** -* @brief USBD_CtlError +* @brief USBD_CtlError * Handle USB low level Error * @param pdev: device instance * @param req: usb request @@ -732,19 +732,19 @@ void USBD_CtlError( USBD_HandleTypeDef *pdev , void USBD_GetString(uint8_t *desc, uint8_t *unicode, uint16_t *len) { uint8_t idx = 0; - - if (desc != NULL) + + if (desc != NULL) { - *len = USBD_GetLen(desc) * 2 + 2; + *len = USBD_GetLen(desc) * 2 + 2; unicode[idx++] = *len; unicode[idx++] = USB_DESC_TYPE_STRING; - - while (*desc != '\0') + + while (*desc != '\0') { unicode[idx++] = *desc++; unicode[idx++] = 0x00; } - } + } } /** @@ -757,7 +757,7 @@ static uint8_t USBD_GetLen(uint8_t *buf) { uint8_t len = 0; - while (*buf != '\0') + while (*buf != '\0') { len++; buf++; @@ -767,16 +767,16 @@ static uint8_t USBD_GetLen(uint8_t *buf) } /** * @} - */ + */ /** * @} - */ + */ /** * @} - */ + */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c b/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c index 093afad..e1b9c75 100644 --- a/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c +++ b/stm32cubemx/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c @@ -16,14 +16,14 @@ * * 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, + * 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. * ****************************************************************************** - */ + */ /* Includes ------------------------------------------------------------------*/ #include "usbd_ioreq.h" @@ -33,56 +33,56 @@ */ -/** @defgroup USBD_IOREQ +/** @defgroup USBD_IOREQ * @brief control I/O requests module * @{ - */ + */ /** @defgroup USBD_IOREQ_Private_TypesDefinitions * @{ - */ + */ /** * @} - */ + */ /** @defgroup USBD_IOREQ_Private_Defines * @{ - */ + */ /** * @} - */ + */ /** @defgroup USBD_IOREQ_Private_Macros * @{ - */ + */ /** * @} - */ + */ /** @defgroup USBD_IOREQ_Private_Variables * @{ - */ + */ /** * @} - */ + */ /** @defgroup USBD_IOREQ_Private_FunctionPrototypes * @{ - */ + */ /** * @} - */ + */ /** @defgroup USBD_IOREQ_Private_Functions * @{ - */ + */ /** * @brief USBD_CtlSendData @@ -92,17 +92,17 @@ * @param len: length of data to be sent * @retval status */ -USBD_StatusTypeDef USBD_CtlSendData (USBD_HandleTypeDef *pdev, +USBD_StatusTypeDef USBD_CtlSendData (USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint16_t len) { /* Set EP0 State */ - pdev->ep0_state = USBD_EP0_DATA_IN; + pdev->ep0_state = USBD_EP0_DATA_IN; pdev->ep_in[0].total_length = len; pdev->ep_in[0].rem_length = len; /* Start the transfer */ - USBD_LL_Transmit (pdev, 0x00, pbuf, len); - + USBD_LL_Transmit (pdev, 0x00, pbuf, len); + return USBD_OK; } @@ -114,13 +114,13 @@ USBD_StatusTypeDef USBD_CtlSendData (USBD_HandleTypeDef *pdev, * @param len: length of data to be sent * @retval status */ -USBD_StatusTypeDef USBD_CtlContinueSendData (USBD_HandleTypeDef *pdev, +USBD_StatusTypeDef USBD_CtlContinueSendData (USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint16_t len) { /* Start the next transfer */ - USBD_LL_Transmit (pdev, 0x00, pbuf, len); - + USBD_LL_Transmit (pdev, 0x00, pbuf, len); + return USBD_OK; } @@ -133,11 +133,11 @@ USBD_StatusTypeDef USBD_CtlContinueSendData (USBD_HandleTypeDef *pdev, * @retval status */ USBD_StatusTypeDef USBD_CtlPrepareRx (USBD_HandleTypeDef *pdev, - uint8_t *pbuf, + uint8_t *pbuf, uint16_t len) { /* Set EP0 State */ - pdev->ep0_state = USBD_EP0_DATA_OUT; + pdev->ep0_state = USBD_EP0_DATA_OUT; pdev->ep_out[0].total_length = len; pdev->ep_out[0].rem_length = len; /* Start the transfer */ @@ -145,7 +145,7 @@ USBD_StatusTypeDef USBD_CtlPrepareRx (USBD_HandleTypeDef *pdev, 0, pbuf, len); - + return USBD_OK; } @@ -157,14 +157,14 @@ USBD_StatusTypeDef USBD_CtlPrepareRx (USBD_HandleTypeDef *pdev, * @param len: length of data to be received * @retval status */ -USBD_StatusTypeDef USBD_CtlContinueRx (USBD_HandleTypeDef *pdev, - uint8_t *pbuf, +USBD_StatusTypeDef USBD_CtlContinueRx (USBD_HandleTypeDef *pdev, + uint8_t *pbuf, uint16_t len) { USBD_LL_PrepareReceive (pdev, - 0, - pbuf, + 0, + pbuf, len); return USBD_OK; } @@ -179,10 +179,10 @@ USBD_StatusTypeDef USBD_CtlSendStatus (USBD_HandleTypeDef *pdev) /* Set EP0 State */ pdev->ep0_state = USBD_EP0_STATUS_IN; - + /* Start the transfer */ - USBD_LL_Transmit (pdev, 0x00, NULL, 0); - + USBD_LL_Transmit (pdev, 0x00, NULL, 0); + return USBD_OK; } @@ -195,13 +195,13 @@ USBD_StatusTypeDef USBD_CtlSendStatus (USBD_HandleTypeDef *pdev) USBD_StatusTypeDef USBD_CtlReceiveStatus (USBD_HandleTypeDef *pdev) { /* Set EP0 State */ - pdev->ep0_state = USBD_EP0_STATUS_OUT; - - /* Start the transfer */ + pdev->ep0_state = USBD_EP0_STATUS_OUT; + + /* Start the transfer */ USBD_LL_PrepareReceive ( pdev, 0, NULL, - 0); + 0); return USBD_OK; } @@ -221,16 +221,16 @@ uint16_t USBD_GetRxCount (USBD_HandleTypeDef *pdev , uint8_t ep_addr) /** * @} - */ + */ /** * @} - */ + */ /** * @} - */ + */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |