/** ****************************************************************************** * @file usb_init.c * @author MCD Application Team * @version V4.0.0 * @date 28-August-2012 * @brief Initialization routines & global variables ****************************************************************************** * @attention * *

© COPYRIGHT 2012 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. * ****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "usb_lib.h" /* Private typedef -----------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ /* Private macro -------------------------------------------------------------*/ /* Private variables ---------------------------------------------------------*/ /* The number of current endpoint, it will be used to specify an endpoint */ uint8_t EPindex; /* The number of current device, it is an index to the Device_Table */ /* uint8_t Device_no; */ /* Points to the DEVICE_INFO structure of current device */ /* The purpose of this register is to speed up the execution */ DEVICE_INFO *pInformation; /* Points to the DEVICE_PROP structure of current device */ /* The purpose of this register is to speed up the execution */ DEVICE_PROP *pProperty; /* Temporary save the state of Rx & Tx status. */ /* Whenever the Rx or Tx state is changed, its value is saved */ /* in this variable first and will be set to the EPRB or EPRA */ /* at the end of interrupt process */ uint16_t SaveState ; uint16_t wInterrupt_Mask; DEVICE_INFO Device_Info; USER_STANDARD_REQUESTS *pUser_Standard_Requests; /* Extern variables ----------------------------------------------------------*/ /* Private function prototypes -----------------------------------------------*/ /* Private functions ---------------------------------------------------------*/ /******************************************************************************* * Function Name : USB_Init * Description : USB system initialization * Input : None. * Output : None. * Return : None. *******************************************************************************/ void USB_Init(void) { pInformation = &Device_Info; pInformation->ControlState = 2; pProperty = &Device_Property; pUser_Standard_Requests = &User_Standard_Requests; /* Initialize devices one by one */ pProperty->Init(); } /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/