72 lines
1.3 KiB
C
72 lines
1.3 KiB
C
#include "ll_system.h"
|
|
#include "stm32f4xx.h"
|
|
#include "stm32f4_discovery.h"
|
|
#include <stdio.h>
|
|
|
|
#include "usb_hcd_int.h"
|
|
#include "usbh_usr.h"
|
|
#include "usbh_core.h"
|
|
#include "usbh_msc_core.h"
|
|
|
|
|
|
|
|
|
|
USB_OTG_CORE_HANDLE USB_OTG_Core;
|
|
USBH_HOST USB_Host;
|
|
RCC_ClocksTypeDef RCC_Clocks;
|
|
|
|
|
|
void SysTick_Handler(void)
|
|
{
|
|
USBH_LL_systick();
|
|
}
|
|
|
|
void TIM2_IRQHandler(void)
|
|
{
|
|
USB_OTG_BSP_TimerIRQ();
|
|
}
|
|
|
|
|
|
void OTG_FS_IRQHandler(void)
|
|
{
|
|
USBH_OTG_ISR_Handler(&USB_OTG_Core);
|
|
}
|
|
|
|
|
|
bool ll_system_init(void)
|
|
{
|
|
/* Initialize LEDS */
|
|
STM_EVAL_LEDInit(LED3);
|
|
STM_EVAL_LEDInit(LED4);
|
|
STM_EVAL_LEDInit(LED5);
|
|
STM_EVAL_LEDInit(LED6);
|
|
STM_EVAL_PBInit(BUTTON_USER, BUTTON_MODE_GPIO);
|
|
|
|
/* Blue Led On: start of application */
|
|
STM_EVAL_LEDOn(LED6);
|
|
|
|
/* SysTick end of count event each 1ms */
|
|
RCC_GetClocksFreq(&RCC_Clocks); //we run at 168mhz :)
|
|
SysTick_Config(RCC_Clocks.HCLK_Frequency / 1000);
|
|
|
|
/* Init Host Library */
|
|
USBH_Init(&USB_OTG_Core, USB_OTG_FS_CORE_ID, &USB_Host, &USBH_MSC_cb, &USR_Callbacks);
|
|
|
|
return true;
|
|
}
|
|
|
|
void ll_system_process() {
|
|
USBH_Process(&USB_OTG_Core, &USB_Host);
|
|
}
|
|
|
|
|
|
|
|
void ll_system_delay(uint32_t msec) {
|
|
USB_OTG_BSP_mDelay(msec);
|
|
}
|
|
|
|
|
|
void ll_system_toggle_led() {
|
|
STM_EVAL_LEDToggle(LED6);
|
|
}
|