USBDevice with support for STM32F3
Fork of F042K6_USBDevice by
Diff: USBDevice/USBHAL_STM32L1.cpp
- Revision:
- 75:a394ea726048
- Parent:
- 71:b17ecdbfb0ce
diff -r f9c09a6c750f -r a394ea726048 USBDevice/USBHAL_STM32L1.cpp --- a/USBDevice/USBHAL_STM32L1.cpp Wed Oct 03 21:41:29 2018 +0000 +++ b/USBDevice/USBHAL_STM32L1.cpp Thu Oct 11 11:12:35 2018 -0400 @@ -83,13 +83,13 @@ } void HAL_PCD_MspInit(PCD_HandleTypeDef* hpcd) { - __USB_CLK_ENABLE(); + __HAL_RCC_USB_CLK_ENABLE(); HAL_NVIC_SetPriority(USB_LP_IRQn, 0, 0); } void HAL_PCD_MspDeInit(PCD_HandleTypeDef* hpcd) { HAL_NVIC_DisableIRQ(USB_LP_IRQn); // Peripheral interrupt Deinit - __USB_CLK_DISABLE(); // Peripheral clock disable + __HAL_RCC_USB_CLK_DISABLE(); // Peripheral clock disable } USBHAL::~USBHAL(void) { @@ -367,11 +367,16 @@ } void USBHAL::ResetCallback() { + suspendStateChanged(0); PktBufArea.reset(); realiseEndpoint(EP0IN, MAX_PACKET_SIZE_EP0, 0); realiseEndpoint(EP0OUT, MAX_PACKET_SIZE_EP0, 0); } +void USBHAL::SuspendCallback() { + suspendStateChanged(1); +} + void USBHAL::SOFCallback() { SOF(hpcd_USB_FS.Instance->FNR & USB_FNR_FN); } @@ -397,6 +402,7 @@ } void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd) { + reinterpret_cast<USBHAL*>(hpcd->pData)->SuspendCallback(); if (hpcd->Init.low_power_enable) { SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); }